
:root {
  --bg:          #f4f4f4;
  --cream:       #f4f4f4;
  --cream-warm:  #ececec;
  --sf:          #ffffff;
  --sf2:         #ebebeb;
  --sf3:         #f1f1f1;
  --cabcol-bg:   #e3e3e3;
  --cabcol-tx:   var(--tx);
  --cabcol-sep:  rgba(17, 17, 17, 0.30);
  --cabcol-br:   rgba(17, 17, 17, 0.22);
  --accent:      #ffbf10;
  --accent-dim:  color-mix(in srgb, var(--accent) 90%, #000);   
  --accent-deep: color-mix(in srgb, var(--accent) 78%, #000);   
  --accent-bg:   color-mix(in srgb, var(--accent) 10%, transparent);
  --gold-ink:    color-mix(in srgb, var(--accent) 38%, #000);   
  --accent-bg-2: color-mix(in srgb, var(--accent) 6%, transparent);
  --blue-accent:     #0071E3;
  --blue-accent-bg:  rgba(0, 113, 227, 0.08);
  --blue-accent-bg2: rgba(0, 113, 227, 0.05);
  --navy:        #111111;
  --ink:         #111111;
  --sidebar-bg:  #111111;
  --tx:          #111111;
  --tx-1:        var(--tx);   
  --tx-2:        rgba(17, 17, 17, 0.68);
  --tx-3:        rgba(17, 17, 17, 0.60);   
  --tx-inv:      rgba(249, 249, 249, 0.92);
  --tx-inv-2:    rgba(249, 249, 249, 0.48);
  --tx-inv-3:    rgba(249, 249, 249, 0.22);
  --br:          rgba(17, 17, 17, 0.16);
  --br-2:        rgba(17, 17, 17, 0.16);
  --br-inv:      rgba(245, 241, 232, 0.10);
  --green:       #16a34a;
  --red:         #E63946;
  --yellow:      #FFD23F;
  --blue:        #3B82F6;
  --blue-ink:    #2563EB;   
  --amber:       #b45309;   
  --orange:      #F97316;
  --sidebar-w:   272px;
  --sidebar-real: calc(var(--sidebar-w) * var(--ui-k, 1));
  --bx-centro-contenido: calc(var(--sidebar-real) + (100vw - var(--sidebar-real)) / 2);
  --topbar-h:    80px;   
  --font:        'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --mono:        'SF Mono', 'Fira Code', monospace;
  --sp-1:   4px;
  --sp-2:   8px;
  --sp-3:   12px;
  --sp-4:   16px;
  --sp-5:   20px;
  --sp-6:   24px;
  --sp-7:   28px;
  --sp-8:   32px;
  --air:       var(--sp-6);
  --air-gap:   var(--sp-5);
  --air-block: 44px;
  --red-solid: #E63946;      
  --sp-10:  40px;
  --sp-12:  48px;
  --ui-k: 1;
  --fs-2xs:     12px;   
  --fs-xs:      13px;   
  --fs-sm:      13px;   
  --fs-base:    14px;   
  --fs-md:      16px;   
  --fs-lg:      18px;   
  --fs-xl:      21px;   
  --fs-2xl:     25px;   
  --fs-3xl:     31px;   
  --fs-4xl:     35px;   
  --fs-display: 41px;   
  --kpi-val-size: var(--fs-display);   
  --hero-val-size: 60px;   
  --btn-fs:     16px;    
  --btn-fw:     700;     
  --btn-py:     8px;     
  --btn-px:     16px;    
  --btn-ls:     0px;     
  --btn-tt:     none;    
  --btn-radius: 100px;   
  --lh-base:  1.55;      
  --fw-body:  400;       
  --fw-fino:    300;     
  --fw-medium:  500;     
  --fw-detalle: 600;     
  --fw-dato:    700;     
  --fw-fuerte:  800;     
  --fw-black:   900;     
  --tt-base:  none;      
  --glow:        0;   
  --chart-scale: 1;
  --bar-h:       10px;
  --barra-fila:  18px;
  --grad-angle:  90;
  --grad-c1:     var(--accent-deep);
  --grad-c2:     var(--accent);
  --chart-grad:  linear-gradient(calc(var(--grad-angle, 90) * 1deg), var(--grad-c1, #c9960a), var(--grad-c2, var(--accent)));
  --radius:      16px;
  --radius-sm:   10px;
  --foto-fondo: #141414;
  --radius-xs:   6px;
  --radius-pill: 100px;
  --shadow:      0 1px 2px rgba(60,60,67,.07), 0 1px 1px rgba(60,60,67,.04);
  --shadow-sm:   0 1px 4px rgba(17,17,17,.07), 0 2px 8px rgba(17,17,17,.05);
  --bando-distribuidor: #3b82f6;
  --bando-cliente:      #0d9488;
  --bando-lead:         #a855f7;
  --bando-appnueva:     #c8f542;
  --bando-descartado:   #6b7280;
  --estado-bien:        #16a34a;
  --estado-ojo:         #f59e0b;
  --estado-urgente:     #ef4444;
  --estado-sindatos:    #6b7280;
  --etapa-amasado:      #5856d6;
  --etapa-horno:        #ff9500;
  --etapa-empaque:      #0d9488;
  --etapa-amasado-ink:  #4642c4;   
  --etapa-horno-ink:    #b45309;   
  --etapa-empaque-ink:  #0f766e;   
  --estado-bien-ink:    #15803d;   
  --estado-ojo-ink:     #b45309;   
  --estado-urgente-ink: #dc2626;   
  --estado-sindatos-ink:#57534e;   
  --canal-whatsapp:  #25D366;
  --canal-instagram: #E1306C;
  --canal-instagram-grad: linear-gradient(45deg,#F58529 0%,#DD2A7B 50%,#8134AF 75%,#515BD4 100%);
  --canal-facebook:  #0866FF;
  --canal-web:       var(--accent);
  --canal-app:       #8b5cf6;
  --azul-apple:         #0071e3;
  --ia:                 #6d28d9;
  --ia-tx:              #ffffff;
  --marca-seur:         #e30613;   
  --turno-noche:        color-mix(in srgb, var(--tx) 68%, var(--azul-apple));
  --fab-app:            #10b981;   
  --fab-app-ink:        #0a7a54;   
  --pref:               #1d4ed8;
  --oro-tinta:          #231a00;   
  --pref-ink:           #ffffff;
  --fila-bg:      transparent;
  --fila-borde:   0;
  --fila-radius:  0;
  --fila-py:      var(--sp-4);
  --fila-px:      var(--sp-5);
  --fila-gap:     0;                
  --fila-py-c:    var(--sp-3);
  --fila-px-c:    var(--sp-4);
  --fila-radius-c: var(--radius-sm);
  --mv-barra-h:  48px;  --mv-tab-h: 49px;  --mv-seg-h: 36px;  --mv-fila-h: 48px;  --mv-margen: 16px;  --mv-radio: 14px;
  --mv-fs-heroe: 34px;  --mv-lh-heroe: 40px;  --mv-fs-titulo: 17px;  --mv-fs-cuerpo: 15px;  --mv-fs-nota: 13px;
  --mv-fs-seg:   14px;  --mv-fs-tab: 12px;  --mv-fs-ico: 22px;
  --shadow-gold: 0 4px 20px color-mix(in srgb, var(--accent) calc(18% * var(--glow,1)), transparent);   
  --ease:        0.16s cubic-bezier(.23, 1, .32, 1);   
  --glass-bg:    rgba(255,255,255,0.82);
  --glass-border:rgba(255,255,255,0.9);
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
[hidden] { display: none !important; }
html { font-size: 16px; scroll-behavior: smooth; }
body {
  font-family: var(--font);
  background: var(--bg);
  color: var(--tx);
  min-height: 100vh;
  line-height: var(--lh-base, 1.55);
  font-weight: var(--fw-body, 400);
  text-transform: var(--tt-base, none);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
a { color: inherit; text-decoration: none; }
button { cursor: pointer; font-family: var(--font); border: none; background: none; }
input, select, textarea { font-family: var(--font); }
img, svg { display: block; }
::-webkit-scrollbar { width: 10px; height: 10px; background: transparent; }
::-webkit-scrollbar-track { background: transparent; border: 0; }
::-webkit-scrollbar-corner { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(76,76,84,.42); border-radius: 100px;
  border: 3px solid transparent; background-clip: padding-box; }
::-webkit-scrollbar-thumb:hover { background: rgba(60,60,68,.68); border: 2px solid transparent; background-clip: padding-box; }
* { scrollbar-width: thin; scrollbar-color: rgba(76,76,84,.42) transparent; }
.login-page {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: #111111;
}
.login-card {
  background: #111111;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--radius);
  padding: 40px 36px 36px;
  width: 100%;
  max-width: 420px;
  box-shadow: 0 24px 60px rgba(0,0,0,.5);
}
.login-page .form-input {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.12);
  color: #ffffff;
}
.login-page .form-input:focus {
  background: rgba(255,255,255,0.09);
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(255, 191, 16, calc(0.15 * var(--glow, 1)));
}
.login-page .form-input::placeholder { color: rgba(255,255,255,0.25); }
.login-page .form-label { color: rgba(255,255,255,0.5); }
.login-page .login-note { color: rgba(255,255,255,0.2); }
.login-page #toggle-pass { color: rgba(255,255,255,0.3); }
.login-page #toggle-pass:hover { color: rgba(255,255,255,0.6); }
.login-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 4px;
}
.login-brand-icon {
  width: 40px;
  height: 40px;
  background: var(--accent-bg);
  border: 1.5px solid rgba(12,180,156,.25);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  flex-shrink: 0;
}
.login-brand-name {
  font-size: var(--fs-lg);
  font-weight: var(--fw-fuerte);
  letter-spacing: -0.5px;
  color: var(--tx);
}
.login-brand-name em {
  font-style: normal;
  color: var(--accent);
}
.login-tagline {
  font-size: var(--fs-base);
  color: var(--tx-2);
  margin-bottom: 28px;
  padding-left: 50px;
}
.login-divider {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--tx-3);
  font-size: var(--fs-xs);
  font-weight: var(--fw-dato);
  text-transform: uppercase;
  letter-spacing: .09em;
  margin: 0 0 14px;
}
.login-divider::before, .login-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--br);
}
.demo-admin {
  display: flex;
  align-items: center;
  gap: 13px;
  width: 100%;
  padding: 13px 16px;
  background: var(--sf);
  border: 1px solid var(--br);
  border-radius: var(--radius-sm);
  margin-bottom: 12px;
  transition: border-color var(--ease), background var(--ease), box-shadow var(--ease);
  text-align: left;
}
.demo-admin:hover {
  border-color: var(--accent);
  background: var(--accent-bg-2);
  box-shadow: 0 0 0 3px rgba(12,180,156,.08);
}
.admin-avatar {
  width: 38px;
  height: 38px;
  background: var(--accent);
  color: var(--sf);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: var(--fw-fuerte);
  font-size:var(--fs-base);
  flex-shrink: 0;
  letter-spacing: -.5px;
}
.demo-admin .demo-role {
  font-size:var(--fs-2xs);
  font-weight: var(--fw-dato);
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--accent);
  margin-bottom: 2px;
}
.demo-admin .demo-name {
  font-size: var(--fs-md);
  font-weight: var(--fw-dato);
  color: var(--tx);
  line-height: 1.2;
}
.demo-admin .demo-sub {
  font-size: var(--fs-sm);
  color: var(--tx-2);
  margin-top: 1px;
}
.demo-label {
  font-size:var(--fs-xs);
  font-weight: var(--fw-dato);
  color: var(--tx-2);
  margin-bottom: 9px;
  text-transform: uppercase;
  letter-spacing: .07em;
}
.demo-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  margin-bottom: 24px;
}
.demo-dist {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 11px 13px 11px 15px;
  background: var(--sf);
  border: 1px solid var(--br);
  border-radius: var(--radius-sm);
  text-align: left;
  transition: border-color var(--ease), background var(--ease), box-shadow var(--ease);
  position: relative;
  overflow: hidden;
}
.demo-dist::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: var(--dist-color, var(--br-2));
}
.demo-dist:hover {
  border-color: var(--dist-color, var(--accent));
  background: var(--sf3);
  box-shadow: 0 2px 8px rgba(8,17,31,.06);
}
.demo-dist .dist-initials {
  font-size: var(--fs-2xs);
  font-weight: var(--fw-fuerte);
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--dist-color, var(--tx-2));
  margin-bottom: 4px;
}
.demo-dist .dist-name {
  font-size: var(--fs-base);
  font-weight: var(--fw-dato);
  color: var(--tx);
  line-height: 1.25;
}
.demo-dist .dist-zone {
  font-size:var(--fs-xs);
  color: var(--tx-2);
  margin-top: 2px;
}
.login-note {
  text-align: center;
  font-size: var(--fs-sm);
  color: var(--tx-3);
}
.dashboard {
  display: flex;
  min-height: 100vh;
}
.sidebar {
  width: var(--sidebar-w);
  zoom: var(--ui-k, 1);
  height: calc(100vh / var(--ui-k, 1));
  position: fixed;
  top: 0;
  left: 0;
  background: linear-gradient(180deg, #141416 0%, #0d0d0f 100%);
  display: flex;
  flex-direction: column;
  z-index: 200;
  border-right: none;
  box-shadow: 4px 0 24px rgba(0,0,0,.18);
}
.sidebar-header {
  padding: 22px 20px 18px;
  border-bottom: 1px solid var(--br-inv);
  flex-shrink: 0;
}
.sidebar-logo {
  display: flex;
  align-items: center;
  gap: 9px;
}
.sidebar-logo-icon {
  width: 32px;
  height: 32px;
  background: var(--accent-bg);
  border: 1px solid rgba(12,180,156,.2);
  border-radius: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  flex-shrink: 0;
}
.sidebar-logo-text {
  font-size:var(--fs-md);
  font-weight: var(--fw-fuerte);
  letter-spacing: -0.3px;
  color: var(--tx-inv);
  line-height: 1;
}
.sidebar-logo-text em { font-style: normal; color: var(--accent); }
.sidebar-logo-sub {
  font-size:var(--fs-2xs);
  color: var(--tx-inv-3);
  margin-top: 3px;
  letter-spacing: .02em;
}
.sidebar-user {
  padding: 10px 12px;
  border-bottom: 1px solid var(--br-inv);
  flex-shrink: 0;
}
.user-pill {
  display: flex;
  align-items: center;
  gap: 9px;
  background: rgba(245,241,232,.06);
  border: 1px solid var(--br-inv);
  border-radius: var(--radius-sm);
  padding: 8px 10px;
}
.user-avatar {
  width: 30px;
  height: 30px;
  border-radius: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: var(--fw-fuerte);
  font-size:var(--fs-xs);
  flex-shrink: 0;
  letter-spacing: -.3px;
}
.user-avatar.admin-av  { background: var(--accent); color: var(--sf); }
.user-avatar.dist-av   { background: rgba(12,180,156,.15); color: var(--accent); }
.user-pill-info { overflow: hidden; }
.user-pill-name {
  font-size:var(--fs-sm);
  font-weight: var(--fw-dato);
  color: var(--tx-inv);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.2;
}
.user-pill-role {
  font-size: var(--fs-sm);
  color: var(--tx-inv-2);
  margin-top: 1px;
}
.sidebar-nav {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain; 
  -webkit-overflow-scrolling: touch;
  padding: 8px 0 6px;
}
.nav-section { margin-bottom: 2px; }
.nav-section-label {
  padding: var(--sp-3) var(--sp-5) var(--sp-1);
  font-size: var(--fs-xs);
  font-weight: var(--fw-dato);
  color: var(--tx-inv-3);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.nav-item {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4) var(--sp-3) var(--sp-5);
  margin: 1px 10px;
  color: rgba(249,249,249,0.78);
  font-size: var(--fs-md);
  font-weight: var(--fw-detalle);
  cursor: pointer;
  transition: color var(--ease), background var(--ease);
  border-radius: var(--radius-sm);
  width: calc(100% - 16px);
  text-align: left;
  border: none;
  background: none;
}
.nav-item i {
  width: 15px;
  font-size: var(--fs-base);
  text-align: center;
  flex-shrink: 0;
}
.nav-item:hover {
  color: var(--tx-inv);
  background: rgba(245,241,232,.06);
}
.nav-item.active {
  color: var(--accent);
  background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 20%, transparent), color-mix(in srgb, var(--accent) 8%, transparent));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), inset 2px 0 0 var(--accent), 0 1px 3px rgba(0,0,0,.28);
  font-weight: var(--fw-dato);
}
.nav-item.active i { opacity: 1; }
.nav-badge {
  margin-left: auto;
  background: var(--accent);
  color: var(--ink);
  font-size:var(--fs-2xs);
  font-weight: var(--fw-dato);
  padding: 1px 7px;
  border-radius: var(--radius-pill);
  line-height: 1.6;
}
.nav-item.active .nav-badge {
  background: rgba(8,17,31,.15);
  color: var(--accent);
}
.nav-badge-demo {
  margin-left: auto;
  background: rgba(255,255,255,.12);
  color: rgba(255,255,255,.6);
  font-size: var(--fs-2xs);
  font-weight: var(--fw-dato);
  letter-spacing: .3px;
  text-transform: uppercase;
  padding: 1px 6px;
  border-radius: var(--radius-pill);
  line-height: 1.6;
}
.nav-item.active .nav-badge-demo { background: rgba(8,17,31,.15); color: rgba(8,17,31,.55); }
.demo-banner {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  background: var(--sf2);
  color: #92600c;
  padding: var(--sp-3) var(--sp-4);
  border-radius: var(--radius-sm);
  font-size: var(--fs-md);
  margin-bottom: var(--sp-4);
}
.demo-banner i { color: #d97706; font-size: var(--fs-lg); flex-shrink: 0; }
.demo-banner strong { font-weight: var(--fw-dato); }
[data-theme="dark"] .demo-banner { background: rgba(245,158,11,.12); color: #f0c068; }
.toast {
  width: max-content; max-width: min(560px, calc(100vw - var(--sidebar-real) - 32px));
  background: #111; color: #fff; padding: var(--sp-3) var(--sp-5);
  border-radius: var(--radius-pill); font-size: var(--fs-md); font-weight: var(--fw-detalle);
  z-index: 9999; display: flex; align-items: center; gap: var(--sp-2);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: var(--shadow-lg);
  animation: toastIn 250ms var(--ease-out);
}
.toast i { color: var(--accent); }
.toast-error { background: #b3261e; } .toast-error i { color: #fff; }
@keyframes toastIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
:root {
  --flot-suelo: 22px;   
  --flot-alto:  46px;   
  --flot-aire:  16px;   
  --flot-1: calc(var(--flot-suelo) + var(--flot-alto) + var(--flot-aire));
  --flot-2: calc(var(--flot-suelo) + 2 * (var(--flot-alto) + var(--flot-aire)));
}
#bx-flotantes {
  position: fixed; bottom: var(--flot-suelo); left: var(--sidebar-real); right: 0;
  z-index: 9999; display: flex; flex-direction: column; align-items: center;
  gap: var(--flot-aire); pointer-events: none;
}
body:has(#fabrica-switcher) #bx-flotantes, body:has(#view-switcher) #bx-flotantes { bottom: var(--flot-1); }
#bx-flotantes > * { pointer-events: auto; position: static !important; margin: 0 !important; }
.order-builder { overflow: hidden; }
.ob-select {
  width: 100%; margin-top: var(--sp-1); padding: var(--sp-2) var(--sp-3);
  border: 1px solid var(--br); border-radius: var(--radius-sm); background: var(--sf);
  color: var(--tx); font-size: var(--fs-md); font-family: inherit;
}
.ob-fam-label {
  font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: .5px; font-weight: var(--fw-fuerte);
  color: var(--tx-3); margin: var(--sp-4) 0 var(--sp-2);
}
.ob-fam-label:first-child { margin-top: var(--sp-1); }
.ob-row { display: flex; align-items: center; gap: var(--sp-3); padding: var(--sp-2) 0; border-bottom: 1px solid var(--br); }
.ob-name { font-weight: var(--fw-dato); font-size: var(--fs-base); }
.ob-meta { font-size: var(--fs-sm); color: var(--tx-2); margin-top: 1px; }
.ob-line-total { font-size: var(--fs-base); font-weight: var(--fw-dato); color: var(--accent); min-width: 64px; text-align: right; }
.ob-stepper { display: flex; align-items: center; gap: 0; flex-shrink: 0; }
.ob-step {
  width: 30px; height: 30px; border: 1px solid var(--br); background: var(--sf);
  color: var(--tx); font-size: var(--fs-lg); font-weight: var(--fw-detalle); cursor: pointer; line-height: 1;
  display: flex; align-items: center; justify-content: center;
}
.ob-step:first-child { border-radius: var(--radius-sm) 0 0 var(--radius-sm); }
.ob-step:last-child  { border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
.ob-step:hover { background: var(--bg); }
.ob-step:active { background: var(--accent); color: #111; }
.ob-qty {
  width: 46px; height: 30px; text-align: center; border: 1px solid var(--br); border-left: 0; border-right: 0;
  background: var(--sf); color: var(--tx); font-size: var(--fs-md); font-weight: var(--fw-dato); font-family: inherit;
  -moz-appearance: textfield; appearance: textfield;
}
.ob-qty::-webkit-outer-spin-button, .ob-qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.ob-footer {
  display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4);
  padding: var(--sp-3) var(--sp-5); border-top: 1px solid var(--br); background: var(--sf); flex-wrap: wrap;
}
.ob-summary { display: flex; gap: var(--sp-5); }
.ob-sum-num { font-size: var(--fs-xl); font-weight: var(--fw-fuerte); letter-spacing: -.5px; }
.ob-sum-lbl { font-size: var(--fs-sm); color: var(--tx-2); }
.client-form .form-row { margin-bottom: var(--sp-3); }
.cf-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-3); }
@media (max-width: 560px) { .cf-grid { grid-template-columns: 1fr; } }
.cf-v2 .cf-head { padding: var(--sp-4) var(--sp-5); border-bottom: 1px solid var(--br); }
.cf-head-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--sp-3); }
.cf-kick-h { font-size: var(--fs-xs); font-weight: var(--fw-fuerte); letter-spacing: .14em; text-transform: uppercase; color: var(--gold-ink); display: inline-flex; align-items: center; gap: 7px; }
[data-theme="dark"] .cf-kick-h, [data-theme="dark"] .cf-kick { color: var(--accent); }
.cf-close { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--sf3); border: 1px solid var(--br); color: var(--tx-2); cursor: pointer; transition: transform .14s var(--ease-out), color .2s; }
.cf-close:hover { color: var(--tx); }
.cf-close:active { transform: scale(.92); }
.cf-id { display: flex; align-items: center; gap: var(--sp-3); }
.cf-mono { width: 54px; height: 54px; flex-shrink: 0; border-radius: 50%; display: grid; place-items: center; font-size: var(--fs-xl); font-weight: var(--fw-fuerte); background: var(--accent); color: #1a1500; box-shadow: var(--shadow); }
.cf-id-name { font-size: var(--fs-2xl); font-weight: var(--fw-fuerte); color: var(--tx); line-height: 1.1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cf-id-meta { display: flex; align-items: center; gap: var(--sp-2); margin-top: 4px; flex-wrap: wrap; }
.cf-id-sub { font-size: var(--fs-sm); color: var(--tx-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 320px; }
.cf-id-type { font-size: var(--fs-xs); font-weight: var(--fw-dato); padding: 3px 10px; border-radius: var(--radius-pill); white-space: nowrap; }
.cf-id-type.active { background: color-mix(in srgb, var(--green) 16%, transparent); color: var(--green); }
.cf-id-type.lead { background: color-mix(in srgb, var(--amber) 20%, transparent); color: var(--amber); }
.cf-body { flex: 1; overflow-y: auto; padding: var(--sp-4) var(--sp-5); display: flex; flex-direction: column; gap: var(--sp-3); }
.cf-block { background: var(--sf2); border: 1px solid var(--br); border-radius: var(--radius-sm); padding: var(--sp-3) var(--sp-4) var(--sp-4); }
.cf-kick { font-size: var(--fs-xs); font-weight: var(--fw-fuerte); letter-spacing: .14em; text-transform: uppercase; color: var(--gold-ink); display: flex; align-items: center; gap: 7px; margin-bottom: var(--sp-3); }
.cf-kick-ico { opacity: .9; }
.cf-field { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.cf-flbl { font-size: var(--fs-xs); font-weight: var(--fw-dato); letter-spacing: .03em; text-transform: uppercase; color: var(--tx-3); }
.cf-flbl .req { color: var(--accent); }
.cf-inp { position: relative; display: flex; align-items: center; }
.cf-inp-ico { position: absolute; left: 12px; color: var(--tx-3); font-size: var(--fs-sm); pointer-events: none; }
.cf-eur { position: absolute; left: 12px; color: var(--accent); font-weight: var(--fw-fuerte); pointer-events: none; }
.cf-input { width: 100%; padding: 10px 12px; border: 1px solid var(--br-2); background: var(--sf); color: var(--tx); border-radius: var(--radius-sm); font-size: var(--fs-md); font-family: inherit; outline: none; transition: border-color .18s var(--ease-out), box-shadow .18s var(--ease-out); }
.cf-input.has-ico { padding-left: 34px; }
.cf-input::placeholder { color: var(--tx-3); }
.cf-input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-bg); }
textarea.cf-input { resize: vertical; min-height: 56px; }
.cf-wa { flex-shrink: 0; margin-left: 8px; width: 40px; height: 40px; border-radius: var(--radius-sm); display: grid; place-items: center; background: #25d366; color: #fff; text-decoration: none; transition: transform .14s var(--ease-out); }
.cf-wa:active { transform: scale(.92); }
.cf-seg { display: flex; gap: 4px; background: var(--sf3); border: 1px solid var(--br); border-radius: var(--radius-sm); padding: 4px; }
.cf-seg-b { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 0; background: transparent; color: var(--tx-2); font-size: var(--fs-sm); font-weight: var(--fw-dato); font-family: inherit; padding: 8px 10px; border-radius: 8px; cursor: pointer; transition: background .2s var(--ease-out), color .2s, transform .14s var(--ease-out); }
.cf-seg-b:active { transform: scale(.97); }
.cf-seg-b.on { background: var(--accent); color: #1a1500; box-shadow: var(--shadow); }
.cf-prodhead { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); margin-bottom: var(--sp-3); }
.cf-count-wrap { display: flex; align-items: baseline; gap: 6px; }
.cf-count { font-size: var(--fs-3xl); font-weight: var(--fw-fuerte); color: var(--accent); line-height: 1; }
.cf-count-word { font-size: var(--fs-sm); color: var(--tx-2); }
.cf-search { position: relative; flex: 1; max-width: 240px; }
.cf-search input { width: 100%; padding: 8px 12px 8px 32px; border: 1px solid var(--br-2); background: var(--sf); color: var(--tx); border-radius: var(--radius-pill); font-size: var(--fs-sm); font-family: inherit; outline: none; }
.cf-search input:focus { border-color: var(--accent); }
.cf-search i { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--tx-3); font-size: var(--fs-sm); }
.cf-pills { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: var(--sp-3); }
.cf-pill { display: inline-flex; align-items: center; gap: 6px; padding: 4px 4px 4px 11px; border-radius: var(--radius-pill); background: var(--accent-bg); color: var(--gold-ink); font-size: var(--fs-xs); font-weight: var(--fw-dato); }
[data-theme="dark"] .cf-pill { color: var(--accent); }
.cf-pill-x { width: 18px; height: 18px; border-radius: 50%; border: 0; display: grid; place-items: center; background: transparent; color: inherit; opacity: .55; cursor: pointer; font-size:var(--fs-sm); transition: opacity .15s; }
.cf-pill-x:hover { opacity: 1; }
.cf-pills-empty { font-size: var(--fs-sm); color: var(--tx-3); }
.cf-prods { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-2); }
@media (max-width: 560px) { .cf-prods { grid-template-columns: repeat(3, 1fr); } }
.cf-pcard { position: relative; display: flex; flex-direction: column; border: 1.5px solid var(--br); border-radius: var(--radius-sm); background: var(--sf); overflow: hidden; cursor: pointer; user-select: none; transition: transform .14s var(--ease-out), border-color .18s, box-shadow .2s; }
.cf-pcard:hover { transform: translateY(-2px); border-color: var(--br-2); }
.cf-pcard:active { transform: scale(.97); }
.cf-pcard.on { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent), var(--shadow); }
.cf-pcard-sw { position: relative; aspect-ratio: 1.4; display: grid; place-items: center; font-size: var(--fs-2xl); font-weight: var(--fw-fuerte); color: #fff; text-shadow: 0 2px 8px rgba(0,0,0,.35); }
.cf-pcard-check { position: absolute; top: 6px; right: 6px; width: 20px; height: 20px; border-radius: 6px; display: grid; place-items: center; background: rgba(0,0,0,.32); border: 1.5px solid rgba(255,255,255,.72); color: transparent; font-size:var(--fs-sm); transition: background .15s, color .15s, border-color .15s; }
.cf-pcard.on .cf-pcard-check { background: var(--accent); border-color: var(--accent); color: #1a1500; }
.cf-pcard-name { padding: 7px 8px; font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx); text-align: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cf-foot { display: flex; gap: var(--sp-2); justify-content: flex-end; padding: var(--sp-3) var(--sp-5); border-top: 1px solid var(--br); background: var(--sf); }
.cf-pcard-img { background-size: cover; background-position: center; background-repeat: no-repeat; }
.firma-card { padding: var(--sp-4) var(--sp-5); }
.firma-sec-title { display: flex; align-items: center; gap: 9px; font-weight: var(--fw-fuerte); font-size: var(--fs-md); color: var(--tx); margin-bottom: var(--sp-3); }
.firma-sec-title i { color: var(--accent); }
.firma-preview { border: 1px solid var(--br); border-radius: var(--radius-sm); padding: var(--sp-4); background: #f4f4f5; overflow-x: auto; }
.firma-preview table { width: auto; }
.firma-empty { display: flex; align-items: center; gap: var(--sp-3); padding: var(--sp-4); border: 1px dashed var(--br-2); border-radius: var(--radius-sm); color: var(--tx-2); font-size: var(--fs-sm); line-height: 1.5; }
.firma-empty i { font-size: 22px; color: var(--tx-3); flex-shrink: 0; }
.firma-lang { display: flex; gap: var(--sp-2); margin-bottom: var(--sp-3); flex-wrap: wrap; }
.firma-lang-b { border: 1px solid var(--br-2); background: var(--sf2); color: var(--tx-2); font-weight: var(--fw-dato); font-size: var(--fs-sm); font-family: inherit; padding: 8px 14px; border-radius: var(--radius-pill); cursor: pointer; transition: background .2s var(--ease-out), color .2s, border-color .2s; }
.firma-lang-b:active { transform: scale(.97); }
.firma-lang-b.on { background: var(--accent); color: #1a1500; border-color: var(--accent); }
.firma-disclaimer { font-size: var(--fs-sm); line-height: 1.6; color: var(--tx-2); padding: var(--sp-3) var(--sp-4); background: var(--sf2); border: 1px solid var(--br); border-radius: var(--radius-sm); }
.firma-actions { display: flex; justify-content: flex-end; gap: var(--sp-2); margin-top: var(--sp-4); flex-wrap: wrap; }
.firma-summary { display: flex; align-items: center; gap: 9px; font-size: var(--fs-sm); color: var(--tx-2); padding: var(--sp-3) var(--sp-4); margin-bottom: var(--sp-4); background: var(--sf2); border: 1px solid var(--br); border-radius: var(--radius-sm); }
.firma-summary i { color: var(--accent); }
.firma-summary b { color: var(--tx); font-weight: var(--fw-fuerte); }
.firma-head { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); flex-wrap: wrap; margin-bottom: var(--sp-3); }
.firma-email { font-weight: var(--fw-detalle); color: var(--tx-3); font-size: var(--fs-sm); }
.firma-status { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-xs); font-weight: var(--fw-dato); color: var(--tx-3); padding: 5px 11px; border-radius: var(--radius-pill); border: 1px solid var(--br-2); background: var(--sf2); white-space: nowrap; }
.firma-status.on { color: var(--green); border-color: color-mix(in srgb, var(--green) 38%, transparent); background: color-mix(in srgb, var(--green) 12%, transparent); }
.firma-status.draft { color: #b45309; border-color: color-mix(in srgb, #f59e0b 38%, transparent); background: color-mix(in srgb, #f59e0b 12%, transparent); }
[data-theme="dark"] .firma-status.draft { color: #fbbf24; }
.firma-lib-head { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); margin-bottom: var(--sp-3); flex-wrap: wrap; }
.firma-team { display: flex; align-items: center; flex-wrap: wrap; gap: var(--sp-2); margin-bottom: var(--sp-4); font-size: var(--fs-sm); color: var(--tx-2); }
.firma-team-lbl { font-weight: var(--fw-detalle); display: inline-flex; align-items: center; gap: 6px; }
.firma-tchip { padding: 4px 10px; border-radius: var(--radius-pill); border: 1px solid var(--br-2); background: var(--sf2); color: var(--tx-3); font-weight: var(--fw-detalle); font-size: var(--fs-xs); }
.firma-tchip.on { color: var(--green); border-color: color-mix(in srgb, var(--green) 38%, transparent); background: color-mix(in srgb, var(--green) 10%, transparent); }
.firma-sendwrap { position: relative; display: inline-flex; }
.firma-sendmenu { position: absolute; right: 0; bottom: calc(100% + 6px); min-width: 230px; background: var(--sf); border: 1px solid var(--br-2); border-radius: var(--radius-sm); box-shadow: var(--shadow-lg); padding: 6px; display: none; z-index: 40; }
.firma-sendmenu.open { display: block; }
.firma-sendmenu-it { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: var(--sp-3); padding: 8px 10px; border: 0; background: transparent; border-radius: var(--radius-xs); cursor: pointer; font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx); text-align: left; }
.firma-sendmenu-it:hover { background: var(--sf2); }
.firma-sendmenu-it small { color: var(--tx-3); font-weight: var(--fw-medium); white-space: nowrap; }
.firma-sendmenu-empty { padding: 8px 10px; font-size: var(--fs-sm); color: var(--tx-3); }
.firma-del { color: var(--tx-3); }
.firma-del:hover { color: var(--red); }
.firma-air-row { display: flex; align-items: center; gap: var(--sp-3); margin-top: var(--sp-2); }
.firma-air { width: 180px; accent-color: var(--accent); }
.firma-air-val { font-size: var(--fs-xs); color: var(--tx-2); font-weight: var(--fw-detalle); min-width: 40px; font-variant-numeric: tabular-nums; }
.firma-photo-row { display: flex; align-items: center; gap: var(--sp-4); margin-bottom: var(--sp-4); }
.firma-thumb { width: 64px; height: 64px; border-radius: 50%; overflow: hidden; flex-shrink: 0; background: var(--sf2); border: 2px solid var(--accent); display: flex; align-items: center; justify-content: center; color: var(--tx-3); font-size: 24px; }
.firma-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.firma-photo-cta { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.firma-up { cursor: pointer; }
.firma-photo-hint { font-size: var(--fs-xs); color: var(--tx-3); }
.firma-tpl-pick { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 14px 0 2px; }
.firma-tpl-lbl { font-size: var(--fs-xs); font-weight: var(--fw-dato); color: var(--tx-3); text-transform: uppercase; letter-spacing: 1px; }
.firma-tpl-b { border: 1px solid var(--br-2); background: var(--sf2); color: var(--tx-2); font-weight: var(--fw-dato); font-size: var(--fs-sm); font-family: inherit; padding: 7px 14px; border-radius: var(--radius-pill); cursor: pointer; transition: background .2s var(--ease-out), color .2s, border-color .2s; }
.firma-tpl-b:active { transform: scale(.97); }
.firma-tpl-b.on { background: var(--accent); color: #1a1500; border-color: var(--accent); }
.firma-crop-modal, .firma-guide-modal { position: fixed; inset: 0; z-index: 4000; background: var(--scrim); display: flex; align-items: center; justify-content: center; padding: 20px; animation: firmaFade .18s var(--ease-out); }
@keyframes firmaFade { from { opacity: 0; } to { opacity: 1; } }
.firma-crop-box, .firma-guide-box { background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius); box-shadow: var(--shadow-lg); padding: 22px; width: min(360px, 94vw); }
.firma-crop-title { font-weight: var(--fw-fuerte); font-size: var(--fs-md); color: var(--tx); display: flex; align-items: center; gap: 8px; }
.firma-crop-title i { color: var(--accent); }
.firma-crop-sub { font-size: var(--fs-sm); color: var(--tx-3); margin: 4px 0 14px; }
.firma-crop-stage { position: relative; width: 280px; height: 280px; max-width: 100%; margin: 0 auto; border-radius: var(--radius-sm); overflow: hidden; background: #0e0e0e; touch-action: none; cursor: grab; }
.firma-crop-stage:active { cursor: grabbing; }
.firma-crop-img { position: absolute; top: 0; left: 0; user-select: none; -webkit-user-drag: none; }
.firma-crop-ring { position: absolute; inset: 0; pointer-events: none; border-radius: 50%; box-shadow: 0 0 0 9999px rgba(0, 0, 0, .45); border: 2px solid rgba(255, 255, 255, .85); }
.firma-crop-zoom { display: flex; align-items: center; gap: 10px; margin: 16px 0; color: var(--tx-3); }
.firma-crop-zoom input { flex: 1; accent-color: var(--accent); }
.firma-crop-actions, .firma-guide-actions { display: flex; justify-content: flex-end; gap: var(--sp-2); margin-top: 6px; }
.firma-guide-box { width: min(460px, 94vw); position: relative; max-height: 88vh; overflow: auto; }
.firma-guide-x { position: absolute; top: 12px; right: 12px; background: none; border: none; color: var(--tx-3); font-size: 18px; cursor: pointer; line-height: 1; }
.firma-guide-title { font-weight: var(--fw-fuerte); font-size: var(--fs-lg); color: var(--tx); display: flex; align-items: center; gap: 9px; padding-right: 24px; }
.firma-guide-title i { color: var(--accent); }
.firma-guide-sub { font-size: var(--fs-sm); color: var(--tx-2); margin: 5px 0 14px; }
.firma-guide-tabs { display: flex; gap: 7px; flex-wrap: wrap; margin-bottom: 14px; }
.firma-guide-tab { border: 1px solid var(--br-2); background: var(--sf2); color: var(--tx-2); font-weight: var(--fw-dato); font-size: var(--fs-sm); font-family: inherit; padding: 8px 14px; border-radius: var(--radius-pill); cursor: pointer; }
.firma-guide-tab.on { background: var(--accent); color: #1a1500; border-color: var(--accent); }
.firma-guide-steps { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 9px; }
.firma-guide-steps li { font-size: var(--fs-sm); line-height: 1.5; color: var(--tx); }
.firma-guide-steps code { background: var(--sf2); border: 1px solid var(--br); border-radius: 5px; padding: 1px 5px; font-size: .92em; }
.firma-guide-note { margin-top: 14px; font-size: var(--fs-xs); color: var(--tx-3); display: flex; gap: 7px; align-items: flex-start; line-height: 1.5; }
.firma-guide-note i { color: var(--accent); margin-top: 2px; flex-shrink: 0; }
.dd-period-bar {
  display: flex; gap: 3px; background: var(--bg); border: 1px solid var(--br);
  border-radius: var(--radius-pill); padding: 3px; margin-bottom: 14px;
}
.dd-period {
  flex: 1; border: none; background: none; padding: 5px 8px; border-radius: var(--radius-pill);
  font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx-2); cursor: pointer; font-family: inherit;
}
.dd-period.active { background: var(--accent); color: #1c1c1c; }
.dd-metric {
  border-radius: 10px; padding: 12px; cursor: pointer; border: 1.5px solid transparent;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.dd-metric .ddm-label { font-size:var(--fs-2xs); font-weight: var(--fw-fuerte); text-transform: uppercase; letter-spacing: .04em; margin-bottom: 3px; }
.dd-metric .ddm-value { font-size:var(--fs-xl); font-weight: var(--fw-fuerte); color: var(--tx); }
.dd-metric .ddm-sub   { font-size: var(--fs-xs); color: var(--tx-3); margin-top: 1px; }
.dd-metric.gold { background: color-mix(in srgb, var(--accent) 8%, transparent); }
.dd-metric.gold .ddm-label { color: #b07d00; }
.dd-metric.teal { background: rgba(12,200,178,.07); }
.dd-metric.teal .ddm-label { color: #0a9e8e; }
.dd-metric.gold.active { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(255, 191, 16, calc(.12 * var(--glow, 1))); }
.dd-metric.teal.active { border-color: #0cc8b2; box-shadow: 0 0 0 3px rgba(12,200,178,.12); }
.dq-panel { border-radius: var(--radius-sm); margin-bottom: var(--sp-4); overflow: hidden; border: 1px solid var(--br); }
.dq-panel.ok {
  display: flex; align-items: center; gap: var(--sp-3); padding: var(--sp-3) var(--sp-4);
  background: var(--sf); color: var(--tx); font-size: var(--fs-md);
}
.dq-panel.ok i { color: #16a34a; font-size: var(--fs-lg); }
.dq-head {
  display: flex; align-items: center; gap: var(--sp-2); cursor: pointer;
  padding: var(--sp-3) var(--sp-4); font-size: var(--fs-md);
  background: var(--sf); color: var(--tx);
}
.dq-head i:first-child { font-size: var(--fs-lg); color: #dc2626; }
.dq-panel.has-warn .dq-head i:first-child { color: #d97706; }
.dq-count {
  background: #dc2626; color: #fff; font-size: var(--fs-xs); font-weight: var(--fw-fuerte);
  border-radius: var(--radius-pill); padding: 1px 8px; min-width: 20px; text-align: center;
}
.dq-panel.has-warn .dq-count { background: #d97706; }
.dq-panel.collapsed .dq-body { display: none; }
.dq-body { background: var(--sf); }
.dq-row { display: flex; align-items: center; gap: var(--sp-3); padding: var(--sp-3) var(--sp-4); border-top: 1px solid var(--br); }
.dq-tag {
  flex-shrink: 0; font-size: var(--fs-2xs); font-weight: var(--fw-fuerte); text-transform: uppercase; letter-spacing: .4px;
  padding: 3px 8px; border-radius: var(--radius-pill); white-space: nowrap;
}
.dq-tag { display: inline-flex; align-items: center; gap: 5px; color: var(--tx-2); padding: 0; }
.dq-tag::before { content: ''; width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.dq-tag.error::before { background: #dc2626; }
.dq-tag.warn::before  { background: #d97706; }
.dq-info { flex: 1; min-width: 0; }
.dq-name { font-weight: var(--fw-dato); font-size: var(--fs-base); }
.dq-desc { font-size: var(--fs-sm); color: var(--tx-2); margin-top: 1px; }
.sidebar-footer {
  padding: 8px 12px 12px;
  border-top: 1px solid var(--br-inv);
  flex-shrink: 0;
}
.logout-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 7px 10px;
  background: transparent;
  border: 1px solid var(--br-inv);
  border-radius: var(--radius-sm);
  color: var(--tx-inv-2);
  font-size:var(--fs-sm);
  font-weight: var(--fw-detalle);
  transition: background-color var(--ease), color var(--ease), border-color var(--ease), box-shadow var(--ease), transform var(--ease), opacity var(--ease);
}
.logout-btn:hover {
  color: #ff6b6b;
  border-color: rgba(230, 57, 70, .3);
  background: rgba(230, 57, 70, .06);
}
.logout-btn i { font-size:var(--fs-sm); }
.main {
  zoom: var(--ui-k, 1);
  margin-left: var(--sidebar-w);
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: calc(100vh / var(--ui-k, 1));
  min-width: 0;
  position: relative;   
}
.sidebar { transition: none; }
.main { transition: none; }
.topbar { transition: opacity .3s var(--ease-out); }
.bx-web-stage { position: relative; height: calc(100dvh - 132px); min-height: 400px; border-radius: var(--radius);
  overflow: hidden; box-shadow: var(--shadow); transition: height .44s var(--ease-out); }
.fab-or-volver { margin-left: var(--sp-4); flex: 0 0 auto; }
.bx-tapa { position: fixed; inset: 0; z-index: 99998; background: var(--sf); }
.bx-tapa > .bx-carga { position: absolute; inset: 0; }
.bx-tapa { transition: opacity .13s linear; }
.bx-tapa--fuera { opacity: 0; pointer-events: none; }
#bx-marcos { position: fixed; inset: 0; z-index: 40; }
#bx-marcos > iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: var(--sf); }
#bx-marcos[hidden], #bx-marcos > iframe[hidden] { display: none !important; }
#fab-tick { display: flex; align-items: center; gap: var(--sp-2); min-width: 0; overflow: hidden;
  flex: 0 1 auto; max-width: min(56%, 720px); }
.fab-tick-av { min-width: 0; }
.fab-tick-av {
  display: inline-flex; align-items: baseline; gap: 6px; white-space: nowrap;
  padding: 5px 11px; border-radius: var(--radius-pill); font-size: var(--fs-sm);
  border: 1px solid transparent; animation: fab-tick-in .22s var(--ease-out) both;
  transition: opacity .3s var(--ease-out), transform .3s var(--ease-out);
}
.fab-tick-av b { font-weight: var(--fw-black); font-variant-numeric: tabular-nums; }
.fab-tick-av span { font-weight: var(--fw-dato); }
.fab-tick-av small { font-size: var(--fs-sm); opacity: .85; }
.fab-tick-av--mas { background: color-mix(in srgb, #059445 14%, var(--sf)); color: #04632e; border-color: color-mix(in srgb, #059445 34%, transparent); }
.fab-tick-av--menos { background: color-mix(in srgb, var(--estado-urgente) 13%, var(--sf)); color: var(--estado-urgente-ink); border-color: color-mix(in srgb, var(--estado-urgente) 32%, transparent); }
.fab-tick-av--fuera { opacity: 0; transform: translateY(-6px); }
@keyframes fab-tick-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .fab-tick-av { animation: none; transition: none; } }
.bx-carga {
  position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 22px;
  background: var(--sf); opacity: 1; transition: opacity .26s var(--ease-out);   
}
.bx-carga--fuera { opacity: 0; pointer-events: none; }
.bx-carga--entra { animation: bx-carga-entra .16s var(--ease-out) backwards; }
@keyframes bx-carga-entra { from { opacity: 0; } to { opacity: 1; } }
.bx-carga--arranque { position: fixed; inset: 0; width: 100vw; z-index: 200000; }
.bx-carga-logo { width: 190px; height: auto; aspect-ratio: 2250 / 287; display: block; }   
[data-theme="dark"] .bx-carga { background: var(--sf); }
[data-theme="dark"] .bx-carga-logo { filter: invert(1); }   
.bx-carga-barra { width: 160px; height: 4px; border-radius: 999px; background: rgba(17,17,17,.13); overflow: hidden; }
.bx-carga-barra > i {
  display: block; height: 100%; width: 0; border-radius: inherit; background: var(--ink);
  animation: bx-carga-avanza 1.1s cubic-bezier(.16,.84,.3,1) forwards;   
}
@keyframes bx-carga-avanza { 0% { width: 0; } 30% { width: 55%; } 65% { width: 78%; } 100% { width: 90%; } }
.bx-carga--lista .bx-carga-barra > i { animation: none; width: 100%; transition: width .14s var(--ease-out); }
@media (prefers-reduced-motion: reduce) {
  .bx-carga-barra > i { animation: none; width: 55%; }
  .bx-carga { transition: none; }
  .bx-carga--entra { animation: none; }
}
.bx-frame-load { position: absolute; inset: 0; z-index: 1; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: var(--sp-3);
  background: var(--sf); color: var(--tx-2); font-size: var(--fs-sm); font-weight: var(--fw-medium); }
.bx-frame-load-dot { width: 26px; height: 26px; border-radius: 50%;
  border: 2px solid color-mix(in srgb, var(--accent) 25%, transparent); border-top-color: var(--accent);
  animation: bx-frame-spin .8s linear infinite; }
@keyframes bx-frame-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .bx-frame-load-dot { animation: none; } }
body.web-zen .sidebar { transform: translateX(-100%); }
body.web-zen .main { margin-left: 0; }
body.web-zen .topbar { height: 0; min-height: 0; padding-top: 0; padding-bottom: 0; opacity: 0; overflow: hidden; border: 0; }
body.web-zen { overflow: hidden; }
body.web-zen .content { padding: 0; overflow: hidden; }
body.web-zen .main { min-height: calc(100dvh / var(--ui-k, 1)); height: calc(100dvh / var(--ui-k, 1)); }
body.web-zen .bx-web-stage { height: calc(100dvh / var(--ui-k, 1)); min-height: 0;
  border-radius: 0; box-shadow: none; }
@media (max-width: 768px) {
  body.web-zen .content { padding: 0 !important; }
  body.web-zen .bx-web-stage { height: calc(100dvh - var(--mv-tab-h) - env(safe-area-inset-bottom)); border-radius: 0; box-shadow: none; border: 0; }
  body.web-zen .bx-web-stage > iframe { border-radius: 0; }
}
@media (prefers-reduced-motion: reduce) { .sidebar, .main, .topbar, .bx-web-stage { transition: none; } }
.topbar {
  height: var(--topbar-h);
  background: rgba(240,242,245,0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(17,17,17,.08);
  display: flex;
  align-items: center;
  padding: 0 var(--sp-6);
  gap: var(--sp-3);
  position: sticky;
  top: 0;
  z-index: 100;
  flex-shrink: 0;
}
.topbar-title {
  flex: 1;
  min-width: 0;
}
.topbar-title h1 {
  font-size: var(--fs-3xl);
  font-weight: var(--fw-black);
  letter-spacing: -0.02em;
  color: var(--tx);
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bx-titulo-fuera { display: none !important; }
.topbar-title-fila { display: flex; align-items: center; gap: var(--sp-3); min-width: 0; overflow: hidden; }
.topbar-title-fila > h1 { flex: 0 0 auto; max-width: 100%; }
.topbar-title-fila .bx-presencia { min-width: 0; flex: 0 1 auto; }   
.topbar-title-fila .bx-presencia-txt { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.bx-presencia { display: inline-flex; align-items: center; gap: var(--sp-2); flex-shrink: 0; }
.bx-presencia-puntos { display: inline-flex; }
.bx-presencia-p { width: 28px; height: 28px; border-radius: 999px; display: grid; place-items: center;
  background: var(--azul-apple); color: #fff; font-size: var(--fs-xs); font-weight: var(--fw-fuerte);
  letter-spacing: -.2px; box-shadow: 0 0 0 2px var(--sf); }
.bx-presencia-p + .bx-presencia-p { margin-left: -8px; }
.bx-presencia-p--mas { background: var(--sf2); color: var(--tx-2); }
.bx-presencia-txt { font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--azul-apple); white-space: nowrap; }
@media (max-width: 760px){ .bx-presencia-txt { display: none; } }
.bx-directo { position: relative; display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0; padding: 0 0 0 18px;
  color: var(--estado-bien-ink); font-size: var(--fs-sm); font-weight: var(--fw-fuerte); letter-spacing: .05em;
  text-transform: uppercase; white-space: nowrap; line-height: 1; }
.bx-directo::before, .bx-directo::after { content: ""; position: absolute; left: 0; top: 50%; width: 10px; height: 10px;
  margin-top: -5px; border-radius: 50%; }
.bx-directo::before { background: var(--estado-bien); }
.bx-directo::after { border: 2px solid var(--estado-bien); opacity: 0; transform: scale(1);
}
.bx-directo--late::after { animation: bx-directo-latido 1.8s var(--ease-out) 3; }
.bx-directo--recon { color: var(--estado-ojo-ink); }
.bx-directo--recon::before { background: var(--estado-ojo); }
.bx-directo--recon::after { border-color: var(--estado-ojo); animation-duration: 1s; }
@keyframes bx-directo-latido { 0% { opacity: .8; transform: scale(1); } 70%, 100% { opacity: 0; transform: scale(2.6); } }
@keyframes bx-fade-in { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .bx-directo::after { animation: none; opacity: 0; } }
.bx-fuente { display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; padding: 4px 10px 4px 8px; border-radius: 999px;
  background: var(--sf2); color: var(--tx-2); font-size: var(--fs-sm); font-weight: var(--fw-detalle); white-space: nowrap;
  line-height: 1; }
.bx-fuente svg { width: auto; height: 13px; flex: none; }
.bx-holded { display: inline-flex; align-items: center; gap: .3em; white-space: nowrap; vertical-align: baseline; }
.bx-holded svg { width: auto; height: .95em; flex: none; position: relative; top: .06em; }
.bx-holded--mono svg path { fill: currentColor; }
.bx-holded.bx-holded { color: inherit; font-weight: inherit; font-size: inherit; letter-spacing: inherit; }
.bx-fuente:empty { display: none; }   
.bx-fuente b { color: var(--tx); font-weight: var(--fw-dato); }
.bx-fuente small { font-size: inherit; color: var(--tx-3); }
.bx-incid { position: fixed; top: 76px; left: 50%; transform: translateX(-50%); z-index: 60; width: min(720px, calc(100% - 32px));
  display: flex; flex-direction: column; gap: var(--sp-2); animation: bx-fade-in 200ms var(--ease-out) both; }
.bx-incid-it { display: flex; align-items: center; gap: var(--sp-3); padding: var(--sp-3) var(--sp-4); background: var(--sf);
  border-radius: var(--radius); box-shadow: var(--shadow-lg); }
.bx-incid-it > i { font-size: var(--fs-2xl); color: var(--estado-urgente); flex: none; }
.bx-incid-tx { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1 1 auto; }
.bx-incid-tx b { font-size: var(--fs-md); font-weight: var(--fw-fuerte); color: var(--estado-urgente-ink); }
.bx-incid-tx span { font-size: var(--fs-sm); color: var(--tx); line-height: 1.35; }
.bx-incid-tx small { font-size: var(--fs-xs); color: var(--tx-3); }
.bx-incid-ok { flex: none; white-space: nowrap; }
@media (max-width: 640px) { .bx-incid { top: 64px; } .bx-incid-it { flex-wrap: wrap; } }
.topbar-title p {
  font-size: var(--fs-sm);
  color: var(--tx-2);
  margin-top: var(--sp-1);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.topbar-search {
  margin-left: auto;   
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--sf);
  border: 1px solid var(--br);
  border-radius: var(--radius-pill);
  padding: 0 14px;
  height: 32px;
  width: 200px;
  transition: border-color var(--ease), box-shadow var(--ease), width var(--ease);
}
.topbar-search:not(.open) { width: 36px; padding: 0; gap: 0; justify-content: center; cursor: pointer; }   
.topbar-search:not(.open) input { width: 0; opacity: 0; padding: 0; pointer-events: none; }
.topbar-search input { transition: opacity .18s var(--ease-out); }
@media (prefers-reduced-motion: reduce) { .topbar-search, .topbar-search input { transition: none; } }
.topbar-search:focus-within {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-bg);
  width: 240px;
}
.topbar-search i { color: var(--tx-3); font-size: var(--fs-sm); flex-shrink: 0; }
.topbar-search input {
  background: none;
  border: none;
  outline: none;
  color: var(--tx);
  font-size: var(--fs-base);
  width: 100%;
  font-family: var(--font);
}
.topbar-search input::placeholder { color: var(--tx-3); }
.gs-dropdown {
  display: none; position: absolute; top: calc(100% + 8px); left: 0;
  width: 340px; max-width: 80vw; max-height: 62vh; overflow-y: auto;
  background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius);
  box-shadow: var(--shadow); padding: 6px; z-index: 9999;
}
.gs-dropdown.show { display: block; }
.gs-item {
  display: flex; align-items: center; gap: 10px; width: 100%;
  background: none; border: none; cursor: pointer; text-align: left;
  padding: 8px 10px; border-radius: var(--radius-sm); font-family: var(--font);
}
.gs-item:hover { background: var(--sf3); }
.gs-ic {
  width: 30px; height: 30px; flex-shrink: 0; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size:var(--fs-sm); background: var(--sf3); color: var(--tx-2);
}
.gs-ic.gs-gold { background: var(--accent-bg); color: var(--accent); }
.gs-ic.gs-blue { background: rgba(0,122,255,.12); color: #007AFF; }
.gs-txt { display: flex; flex-direction: column; min-width: 0; }
.gs-name { font-size: var(--fs-md); font-weight: var(--fw-dato); color: var(--tx); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gs-sub { font-size: var(--fs-xs); color: var(--tx-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gs-empty { padding: 16px; text-align: center; color: var(--tx-3); font-size: var(--fs-sm); }
.topbar-actions {
  margin-left: auto;   
  display: flex;
  align-items: center;
  gap: 6px;
}
.topbar-actions .topbar-search { margin-left: 0; }
.sync-badge { font-size: var(--fs-xs); color: var(--tx-3); line-height: 1; }
.topbar-actions .sync-badge-slot { display: inline-flex; align-items: center; justify-content: flex-end; min-width: 92px; margin-right: var(--sp-1); }
.topbar-title { flex: 1 1 auto; min-width: 0; }
.topbar-actions { flex: 0 8 auto; min-width: 0; }
.topbar-actions > * { flex-shrink: 0; }
.topbar-actions > #fab-banco-chip { flex: 0 1 auto; min-width: 0; overflow: hidden; }
.topbar-actions > #fab-banco-chip > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 900px) { .topbar-actions .sync-badge-slot { min-width: 0; } }
@media (max-width: 720px) { .topbar-actions .sync-badge-slot { display: none; } }
.icon-btn {
  width: 32px;
  height: 32px;
  background: var(--sf);
  border: 1px solid var(--br);
  border-radius: var(--radius-pill);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--tx-2);
  font-size:var(--fs-base);
  transition: background-color var(--ease), color var(--ease), border-color var(--ease), box-shadow var(--ease), transform var(--ease), opacity var(--ease);
  position: relative;
  cursor: pointer;
}
.icon-btn:hover { color: var(--tx); border-color: var(--br-2); background: var(--sf); box-shadow: var(--shadow-sm); }
.notif-dot {
  position: absolute;
  top: 6px; right: 6px;
  width: 6px; height: 6px;
  background: var(--accent);
  border-radius: 50%;
  border: 1.5px solid var(--cream-warm);
}
.topbar-date {
  font-size:var(--fs-sm);
  font-weight: var(--fw-detalle);
  color: var(--tx-2);
  padding-left: 12px;
  border-left: 1px solid var(--br);
  white-space: nowrap;
}
.content {
  flex: 1;
  padding: var(--sp-8) var(--sp-10);
  overflow-y: auto;
}
.page-header {
  margin-bottom: 20px;
  position: relative;
  z-index: 60;
}
.page-title {
  font-size: var(--fs-4xl);
  font-weight: var(--fw-black);
  color: var(--tx);
  letter-spacing: -0.02em;   
  line-height: 1.15;
}
.page-subtitle {
  font-size: var(--fs-md);
  color: var(--tx-2);
  margin-top: var(--sp-1);
}
.dist-selector { position: relative; margin-bottom: var(--sp-5); max-width: 420px; }
.dist-selector-btn {
  display: flex; align-items: center; justify-content: space-between;
  width: 100%; gap: var(--sp-3);
  padding: var(--sp-4) var(--sp-5);
  background: var(--sf);
  border: 1.5px solid var(--br);
  border-radius: var(--radius-sm);
  font-family: var(--font); font-size: var(--fs-md); font-weight: var(--fw-dato); color: var(--tx);
  cursor: pointer; transition: border-color .15s, box-shadow .15s;
}
.dist-selector-btn:hover { border-color: var(--accent); box-shadow: var(--shadow-sm); }
.dist-selector-lead { display: flex; align-items: center; gap: var(--sp-3); min-width: 0; }
.dist-selector-lead > i { color: var(--accent); font-size: var(--fs-lg); flex-shrink: 0; }
.dist-selector-label { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dist-selector-chev { color: var(--tx-3); font-size: var(--fs-sm); transition: transform .2s; flex-shrink: 0; }
.stats-toolbar .dist-selector { margin-bottom: 0; max-width: none; }
.stats-toolbar .dist-selector-btn {
  width: 260px; max-width: 260px;
  padding: var(--sp-2) var(--sp-4);
  border-width: 1px;
  border-radius: var(--radius-pill);
  gap: var(--sp-2);
}
.stats-toolbar .dist-selector-lead { gap: var(--sp-2); min-width: 0; flex: 1; }
.stats-toolbar .dist-selector-lead > i { font-size: var(--fs-md); flex-shrink: 0; }
.stats-toolbar .dist-selector-label { min-width: 0; }
@media (max-width: 768px) {
  .stats-toolbar .dist-selector-btn { width: 100%; max-width: 100%; }
  .stats-toolbar .dist-selector { flex: 1 1 100%; }
}
.dist-selector-item-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lead-view-btn {
  border: none; background: transparent; cursor: pointer;
  padding: var(--sp-2) var(--sp-4); border-radius: var(--radius-pill);
  font-family: var(--font); font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx-2);
  transition: background .15s, color .15s;
}
.lead-view-btn:hover { color: var(--tx); }
.lead-view-btn.active { background: var(--sf); color: var(--tx); box-shadow: var(--shadow-sm); }
.lead-assign-select {
  font-family: var(--font); font-size: var(--fs-sm); font-weight: var(--fw-detalle);
  color: var(--tx); background: var(--sf); cursor: pointer;
  border: 1px solid var(--br); border-radius: var(--radius-pill);
  padding: 3px 10px; max-width: 100%;   
  overflow: hidden; text-overflow: ellipsis;
}
.lead-assign-select.unassigned { color: var(--red); border-color: rgba(230,57,70,.3); background: rgba(230,57,70,.05); }
.lead-assign-select:hover { border-color: var(--accent); }
.cli-stage { display: inline-flex; flex-wrap: wrap; gap: 6px; }
.cli-stage-b {
  display: inline-flex; align-items: center; gap: 6px; font-family: inherit; cursor: pointer;
  font-size: var(--fs-sm); font-weight: var(--fw-dato); padding: 6px 12px; border-radius: var(--radius-pill);
  color: var(--tx-2); background: var(--sf2); border: 1px solid var(--br-2);
  transition: background .16s var(--ease-out), color .16s, border-color .16s, transform .1s;
}
.cli-stage-b .cli-stage-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--st); flex-shrink: 0; }
.cli-stage-b:hover { border-color: var(--st); color: var(--tx); }
.cli-stage-b:active { transform: scale(.96); }
.cli-stage-b.on { color: #fff; background: var(--st); border-color: var(--st); }
.cli-stage-b.on .cli-stage-dot { background: #fff; }
.cli-stage--dots { gap: 8px; }
.cli-dot-b {
  width: 16px; height: 16px; border-radius: 50%; padding: 0; cursor: pointer; flex-shrink: 0;
  background: var(--st); border: 2px solid transparent; opacity: .32;
  transition: opacity .16s var(--ease-out), transform .1s, box-shadow .16s;
}
.cli-dot-b:hover { opacity: .7; transform: scale(1.12); }
.cli-dot-b:active { transform: scale(.9); }
.cli-dot-b.on { opacity: 1; border-color: var(--sf); box-shadow: 0 0 0 2px var(--st); }
.cli-stage-badge {
  display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-xs); font-weight: var(--fw-dato);
  padding: 3px 10px; border-radius: var(--radius-pill);
  color: var(--st); background: var(--sf2);
}
.cli-stage-badge .cli-stage-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--st); }
.intra-pending { padding: var(--sp-3) var(--sp-4); }
.intra-pend-head { display: flex; align-items: center; gap: 9px; margin-bottom: var(--sp-2); }
.intra-pend-title { font-weight: var(--fw-fuerte); font-size: var(--fs-md); color: var(--tx); }
.intra-pend-count { margin-left: auto; font-size: var(--fs-xs); font-weight: var(--fw-fuerte); padding: 2px 9px; border-radius: var(--radius-pill); background: var(--accent); color: #1a1500; }
.intra-pend-list { display: flex; flex-direction: column; }
.intra-pend-row { display: flex; align-items: center; gap: 10px; padding: 9px 2px; cursor: pointer; border-top: 1px solid var(--br); }
.intra-pend-row:first-child { border-top: none; }
.intra-pend-row:hover { background: var(--sf2); border-radius: 8px; }
.intra-pend-dot { width: 8px; height: 8px; border-radius: 50%; background: #3b82f6; flex-shrink: 0; }
.intra-pend-nm { font-weight: var(--fw-dato); font-size: var(--fs-md); color: var(--tx); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.intra-pend-sub { font-size: var(--fs-xs); color: var(--tx-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.intra-pend-empty { padding: 14px 2px; color: var(--tx-3); font-size: var(--fs-sm); }
.intra-pend-all { margin-top: 8px; background: none; border: none; color: var(--gold-ink, var(--accent)); font-family: inherit; font-weight: var(--fw-dato); font-size: var(--fs-sm); cursor: pointer; padding: 4px 0; }
.intra-notes { padding: var(--sp-3) var(--sp-4); }
.intra-notes-head { display: flex; align-items: center; gap: 9px; margin-bottom: var(--sp-2); }
.intra-notes-title { font-weight: var(--fw-fuerte); font-size: var(--fs-md); color: var(--tx); }
.intra-notes-status { margin-left: auto; font-size: var(--fs-xs); color: var(--green); font-weight: var(--fw-dato); }
.intra-notes-ta { width: 100%; min-height: 90px; resize: vertical; font-family: var(--font); font-size: var(--fs-md); line-height: 1.55; color: var(--tx); background: var(--sf2); border: 1px solid var(--br); border-radius: var(--radius-sm); padding: 10px 12px; outline: none; }
.intra-notes-ta:focus { border-color: var(--accent); }
.intra-pend-bell { color: var(--accent); font-size: var(--fs-xs); flex-shrink: 0; width: 8px; text-align: center; }
.intra-pend-row.due .intra-pend-nm { color: var(--gold-ink, var(--accent)); }
.pt-aviso { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; padding: var(--sp-3) var(--sp-4); border-radius: var(--radius-sm); background: color-mix(in srgb, var(--accent) 12%, transparent); border: none; color: var(--tx); font-size: var(--fs-md); font-weight: var(--fw-detalle); line-height: 1.4; }
.pt-aviso i { color: var(--accent); font-size: var(--fs-lg); flex-shrink: 0; }
.pt-aviso b { font-weight: var(--fw-fuerte); }
@keyframes navBadgePulse { 0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--accent) 60%, transparent); } 50% { box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 0%, transparent); } }
.nav-badge.nav-badge-pulse { animation: navBadgePulse 1.4s var(--ease-out) 3; }   
@media (prefers-reduced-motion: reduce) { .nav-badge.nav-badge-pulse { animation: none; } }
.dist-selector-menu {
  display: none; position: fixed; z-index: 100020;   
  flex-direction: column;
  background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius-sm);
  box-shadow: 0 12px 36px rgba(17,17,17,.18);
  max-height: 380px; overflow: hidden;
}
.dist-selector-search {
  display: flex; align-items: center; gap: var(--sp-2);
  padding: var(--sp-3) var(--sp-4);
  border-bottom: 1px solid var(--br);
  flex-shrink: 0;
}
.dist-selector-search i { color: var(--tx-3); font-size: var(--fs-sm); }
.dist-selector-search input {
  flex: 1; border: none; outline: none; background: none;
  font-family: var(--font); font-size: var(--fs-md); color: var(--tx);
}
.dist-selector-list { overflow-y: auto; padding: var(--sp-1); }
.dist-selector-item {
  display: flex; align-items: center; gap: var(--sp-3); width: 100%;
  padding: var(--sp-3); border: none; background: none; cursor: pointer;
  border-radius: var(--radius-xs); text-align: left; font-family: var(--font);
  transition: background .12s;
}
.dist-selector-item:hover { background: var(--sf3); }
.dist-selector-dot {
  width: 18px; height: 18px; border-radius: 50%; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
}
.dist-selector-dot i { font-size: 9px; color: #111; }
.dist-selector-item-txt { min-width: 0; }
.dist-selector-item-name { display: block; font-size: var(--fs-md); font-weight: var(--fw-dato); color: var(--tx); }
.dist-selector .dist-selector-item-name { font-weight: var(--fw-fuerte); }
.dist-selector .dist-selector-item-sub { font-weight: var(--fw-body); }
.dist-selector-item-sub  { display: block; font-size: var(--fs-sm); color: var(--tx-2); }
.dist-selector-empty { padding: var(--sp-5); text-align: center; color: var(--tx-3); font-size: var(--fs-sm); }
.filter-bar {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  margin-bottom: var(--sp-5);
  flex-wrap: wrap;
}
.card {
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E"),
    rgba(255,255,255,0.88);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid var(--br-2);
  border-radius: var(--radius);
  padding: var(--sp-7);
  box-shadow: none;
  transition: border-color .2s ease;
  position: relative;
}
.card::before, .kpi-card::before, .cm-kpi::before {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: calc(var(--radius) + 1px);
  background: radial-gradient(
    130px 130px at var(--glow-x, -9999px) var(--glow-y, -9999px),
    color-mix(in srgb, var(--accent) 30%, transparent) 0%,
    transparent 100%
  );
  background-attachment: fixed;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
          mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
  z-index: 0;
  opacity: 0;
  transition: opacity .35s;
}
.card.glow-ready::before, .kpi-card.glow-ready::before, .cm-kpi.glow-ready::before { opacity: 1; }
.card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: var(--sp-5);
  gap: var(--sp-3);
}
.card-title {
  font-size: var(--fs-lg);
  font-weight: var(--fw-dato);
  color: var(--tx);
  line-height: 1.25;
}
.card-subtitle {
  font-size: var(--fs-base);
  color: var(--tx-2);
  margin-top: var(--sp-1);
}
.kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: var(--sp-4);
  margin-bottom: var(--sp-4);   
}
.kpi-card {
  background: linear-gradient(145deg, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.82) 100%);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.95);
  border-top: 1px solid color-mix(in srgb, var(--accent) 28%, transparent);
  border-radius: var(--radius);
  padding: var(--sp-6);
  display: flex;
  flex-direction: column;
  box-shadow: none;
  position: relative;                
  transition: border-color .2s ease;
}
.kpi-card.map-mode-card { cursor: pointer; user-select: none; }
.kpi-card.map-mode-card.active {
  border-color: color-mix(in srgb, var(--accent) 55%, var(--br));
  border-top: 2px solid var(--accent);
  background: linear-gradient(145deg,
    color-mix(in srgb, var(--accent) 14%, #fff) 0%,
    color-mix(in srgb, var(--accent) 5%, #fff) 100%);
}
.kpi-icon {
  width: 48px;
  height: 48px;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--fs-xl);
  margin-bottom: var(--sp-4);
  flex-shrink: 0;
}
.kpi-icon.gold   { background: var(--accent-bg); color: var(--accent); }
.kpi-icon.green  { background: rgba(22,163,74,.10); color: #16a34a; }
.kpi-icon.blue   { background: rgba(59,130,246,.10); color: var(--blue); }
.kpi-icon.orange { background: rgba(249,115,22,.10); color: var(--orange); }
.kpi-icon.yellow { background: rgba(255,210,63,.15); color: #b07d00; }
.kpi-icon.red    { background: rgba(230,57,70,.10); color: var(--red); }
.kpi-label {
  font-size: var(--fs-sm);
  color: var(--tx-2);
  font-weight: var(--fw-dato);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: var(--sp-1);
}
.kpi-value {
  font-size: var(--kpi-val-size);   
  font-weight: var(--fw-fuerte);
  color: var(--tx);
  letter-spacing: -0.02em;   
  line-height: 1;
  margin-bottom: var(--sp-3);
  white-space: nowrap;   
  max-width: 100%;
}
.kpi-footer {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  margin-top: auto;
}
.kpi-change {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: var(--fs-sm);
  font-weight: var(--fw-dato);
}
.kpi-change.up   { color: var(--estado-bien-ink); }         
.kpi-change.down { color: var(--estado-urgente-ink); }      
.kpi-change.eq   { color: var(--tx-3); }
.kpi-change.up::before,
.kpi-change.down::before {
  font-family: "Font Awesome 6 Free";
  font-weight: var(--fw-black);
  font-size: .78em;
  line-height: 1;
}
.kpi-change.up::before   { content: "\f0d8"; }  
.kpi-change.down::before { content: "\f0d7"; }  
.kpi-change.eq::before   { content: "="; font-weight: var(--fw-fuerte); }
.kpi-period { font-size: var(--fs-sm); color: var(--tx-3); }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
.rank-table, .fit-table { table-layout: fixed; width: 100%; }
.rank-table th, .rank-table td,
.fit-table th, .fit-table td { padding: var(--sp-3) var(--sp-2); }
.rank-table th, .fit-table th { white-space: normal; }   
.rank-table .col-center, .fit-table .col-center { text-align: center; }
.rank-table .col-right,  .fit-table .col-right  { text-align: right; }
.rank-table td.ellip, .fit-table td.ellip { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fit-table td.col-center, .fit-table td.col-right { overflow: hidden; }
.fit-wrap, .table-wrap:has(> .fit-table), .table-wrap:has(> .rank-table) { overflow-x: hidden; }
.table-wrap.wrap-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.fit-table.tbl-wide, .rank-table.tbl-wide { min-width: var(--wmin, 620px); }
#briox-map, #overview-mini-map { background: #e8e6e1; }
[data-theme="dark"] #briox-map, [data-theme="dark"] #overview-mini-map { background: #0a0a0f; }
thead th {
  font-size: var(--fs-sm);
  font-weight: var(--fw-dato);
  color: var(--tx-3);
  text-transform: none;
  letter-spacing: 0;
  padding: var(--sp-3) var(--sp-5);
  text-align: left;
  border-bottom: 1px solid var(--br);
  white-space: nowrap;
  background: var(--sf3);
}
thead th:first-child { border-radius: var(--radius-sm) 0 0 0; }
thead th:last-child  { border-radius: 0 var(--radius-sm) 0 0; }
tbody tr {
  border-bottom: 1px solid var(--br);
  transition: background var(--ease);
}
tbody tr:last-child { border-bottom: none; }
tbody tr:hover { background: var(--sf3); }
tbody td {
  padding: var(--sp-4) var(--sp-5);
  font-size: var(--fs-md);
  color: var(--tx);
  white-space: nowrap;
}
tfoot td {
  padding: var(--sp-4) var(--sp-5);
  font-size: var(--fs-md);
  vertical-align: middle;
  white-space: nowrap;
}
.btn {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  min-height: 44px;
  padding: var(--btn-py) var(--btn-px);
  border-radius: var(--btn-radius);
  font-size: var(--btn-fs);
  font-weight: var(--btn-fw, 700);
  letter-spacing: var(--btn-ls, 0);
  text-transform: var(--btn-tt, none);
  transition: background-color var(--ease), color var(--ease), border-color var(--ease), box-shadow var(--ease), transform var(--ease), opacity var(--ease);
  cursor: pointer;
  background: var(--sf);
  color: var(--tx-2);
  border: 1px solid var(--br);
  font-family: var(--font);
}
.btn:hover:not(.btn-primary):not(.btn-navy) {
  color: var(--tx);
  border-color: var(--br-2);
  box-shadow: var(--shadow-sm);
}
.btn[disabled], .btn:disabled {
  opacity: .45; cursor: default; box-shadow: none; transform: none;
}
.btn[disabled]:hover, .btn:disabled:hover { transform: none; box-shadow: none; }
.btn[disabled]:active, .btn:disabled:active { transform: none; }
.btn-primary {
  background: var(--accent);
  color: var(--accent-ink, #111111);
  border-color: transparent;
  box-shadow: 0 2px 12px rgba(255,191,16, calc(.35 * var(--glow,1))), 0 1px 3px rgba(255,191,16, calc(.2 * var(--glow,1)));
}
.btn-primary:hover {
  box-shadow: 0 0 22px rgba(255,191,16, calc(.55 * var(--glow,1))), 0 0 48px rgba(255,191,16, calc(.18 * var(--glow,1))), 0 4px 16px rgba(255,191,16, calc(.4 * var(--glow,1)));
  transform: translateY(-1px);
}
.btn-primary.is-ok { background: var(--green); color: #fff; }
@media (hover:hover){ .bx-wa-fila:hover{ background:color-mix(in srgb, var(--cc) 12%, var(--sf2)) !important; } }
.btn-primary, .cm-play-do { position: relative; }
.new-sale-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  width: calc(100% - 20px);
  margin: var(--sp-3) 10px var(--sp-4);
  padding: var(--sp-3) var(--sp-4);
  border: none;
  border-radius: var(--radius-sm);
  cursor: pointer;
  font-family: inherit;
  font-size: var(--fs-md);
  font-weight: var(--fw-fuerte);
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #111111;
  background: var(--accent);   
  box-shadow: 0 2px 12px rgba(255,191,16, calc(.30 * var(--glow,1))), 0 1px 3px rgba(255,191,16, calc(.18 * var(--glow,1)));
  transition: box-shadow var(--ease), transform var(--ease);
}
.new-sale-btn i { font-size:var(--fs-base); }
.new-sale-btn:hover {
  box-shadow: 0 0 22px rgba(255,191,16, calc(.55 * var(--glow,1))), 0 4px 16px rgba(255,191,16, calc(.4 * var(--glow,1)));
  transform: translateY(-1px);
}
.btn-navy {
  background: var(--navy);
  color: var(--sf);
  border-color: var(--navy);
}
.btn-navy:hover { background: var(--ink); }
.btn-sm { padding: calc(var(--btn-py) * .5) calc(var(--btn-px) * .75);
  min-height: 36px;
  font-size: max(12px, calc(var(--btn-fs) * .86)); }
.btn-icono { width: 36px; height: 36px; padding: 0; justify-content: center; flex: none; }
.btn-icono.btn-sm { width: 28px; height: 28px; padding: 0; }
.dist-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 2px 8px;
  border-radius: var(--radius-pill);
  font-size:var(--fs-xs);
  font-weight: var(--fw-dato);
  background: rgba(8,17,31,.06);
  color: var(--tx-2);
}
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-5); }
.grid-2 > *, .grid-3 > *, .grid-4 > * { min-width: 0; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-5); }
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-5); }
.text-accent  { color: var(--blue-accent); }
.text-muted   { color: var(--tx-2); }
.text-green   { color: #16a34a; }
.text-red     { color: var(--red); }
.text-yellow  { color: #7a5a00; }
.font-mono    { font-family: var(--mono); }
.font-bold    { font-weight: var(--fw-dato); }
.font-xbold   { font-weight: var(--fw-fuerte); }
.flex          { display: flex; }
.flex-center   { display: flex; align-items: center; justify-content: center; }
.items-center  { align-items: center; }
.justify-between { justify-content: space-between; }
.gap-6  { gap: 6px; }
.gap-8  { gap: 8px; }
.gap-12 { gap: 12px; }
.gap-16 { gap: 16px; }
.mt-4  { margin-top: 4px; }
.mt-8  { margin-top: 8px; }
.mt-16 { margin-top: 16px; }
.mb-16 { margin-bottom: 16px; }
.empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--sp-12) var(--sp-6);   
  gap: var(--sp-2);
  color: var(--tx-3);
  text-align: center;
}
.empty-state i { font-size:var(--fs-4xl); margin-bottom: 10px; color: var(--br-2); }
.empty-state p { font-size:var(--fs-base); color: var(--tx-2); }
.divider {
  height: 1px;
  background: var(--br);
  margin: 16px 0;
}
.progress-wrap {
  width: 100%;
  height: var(--bar-h, 10px);
  background: var(--br);
  border-radius: 99px;
  overflow: hidden;
}
.progress-bar {
  height: 100%;
  border-radius: 99px;
  background: var(--accent);
  transition: width 0.4s ease;
}
.progress-bar.green { background: var(--green); }
.progress-bar.red   { background: var(--red); }
.inline-input {
  background: var(--sf3);
  border: 1px solid var(--br);
  border-radius: var(--radius-xs);
  padding: 5px 9px;
  font-size:var(--fs-sm);
  font-family: var(--font);
  color: var(--tx);
  width: 100%;
  transition: border-color var(--ease), box-shadow var(--ease);
  resize: none;
  overflow: hidden;                 
  line-height: 1.4;
  min-height: calc(1.4em + 10px);   
}
.inline-input:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-bg);
  background: var(--sf);
}
.inline-input::placeholder { color: var(--tx-3); }
.period-tabs {
  display: flex;
  gap: 2px;
  background: var(--sf3);
  border: 1px solid var(--br);
  border-radius: var(--radius-pill);
  padding: 3px;
}
.period-tab {
  padding: var(--sp-2) var(--sp-5);
  border-radius: var(--radius-pill);
  font-size: var(--fs-md);
  font-weight: var(--fw-dato);
  color: var(--tx-2);
  cursor: pointer;
  transition: background-color var(--ease), color var(--ease), border-color var(--ease), box-shadow var(--ease), transform var(--ease), opacity var(--ease);
  border: none;
  background: none;
  font-family: var(--font);
}
.period-tab.active {
  background: var(--sf);
  color: var(--tx);
  box-shadow: var(--shadow-sm);
}
.modal-overlay {
  position: fixed;
  inset: 0;
  background: var(--scrim);
  animation: bx-overlay-in var(--dur-fast) var(--ease-out);
  z-index: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.modal-box {
  background: var(--sf);
  border: 1px solid var(--br);
  border-radius: var(--radius);
  box-shadow: var(--shadow-lg);
  transform-origin: center;
  animation: bx-modal-in 270ms var(--ease-out);
  padding: 28px 28px 24px;
  width: 100%;
  max-width: 460px;
  box-shadow: 0 8px 40px rgba(8,17,31,.18);
  max-height: calc(100dvh - var(--sp-8));
  overflow-y: auto;
  overscroll-behavior: contain;   
}
@media (prefers-reduced-motion: reduce) { .modal-overlay, .modal-box { animation: none; } }
.modal-overlay.bx-cerrando {
  animation: none;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--dur-fast) var(--ease-out);
}
.modal-overlay.bx-cerrando .modal-box {
  animation: none;
  opacity: 0;
  transform: scale(.985) translateY(6px);
  transition: opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);
}
@media (prefers-reduced-motion: reduce) {
  .modal-overlay.bx-cerrando, .modal-overlay.bx-cerrando .modal-box { transition: none; }
}
.prod-modal-box {
  position: relative;
  max-height: calc(100vh - 48px);
  overflow-y: auto;
}
.modal-title {
  font-size: var(--fs-base);
  font-weight: var(--fw-fuerte);
  color: var(--tx);
  margin-bottom: 4px;
  letter-spacing: -.3px;
}
.modal-sub {
  font-size: var(--fs-base);
  color: var(--tx-2);
  margin: calc(var(--sp-2) * -1) 0 var(--sp-3);
  line-height: 1.5;
}
.form-row {
  margin-bottom: 14px;
}
.form-label {
  font-size:var(--fs-xs);
  font-weight: var(--fw-dato);
  color: var(--tx-2);
  text-transform: uppercase;
  letter-spacing: .07em;
  margin-bottom: 5px;
}
.form-input {
  width: 100%;
  background: var(--sf3);
  border: 1px solid var(--br);
  border-radius: var(--radius-sm);
  padding: 8px 12px;
  font-size:var(--fs-base);
  font-family: var(--font);
  color: var(--tx);
  transition: border-color var(--ease), box-shadow var(--ease);
}
.form-input:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-bg);
  background: var(--sf);
}
.form-input::placeholder { color: var(--tx-3); }
.ficha-ed { max-width: 900px; width: min(900px, 96vw); max-height: 92vh; display: flex; flex-direction: column; padding: 0; overflow: hidden; }
.ficha-ed-cab { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--sp-4); padding: var(--sp-5) var(--sp-5) var(--sp-3); border-bottom: 1px solid var(--br); }
.ficha-ed-tit { font-size: var(--fs-xl); font-weight: var(--fw-black); letter-spacing: -.02em; }
.ficha-ed-sub { color: var(--tx-2); font-size: var(--fs-base); font-weight: var(--fw-detalle); margin-top: 2px; }
.ficha-ed-cuerpo { overflow-y: auto; min-height: 0; flex: 1; padding: var(--sp-4) var(--sp-5); display: flex; flex-direction: column; gap: var(--sp-4); }
.ficha-ed-sec { background: var(--sf2); border-radius: var(--radius); padding: var(--sp-3) var(--sp-4); }
.ficha-ed-sec h4 { margin: 0 0 var(--sp-3); font-size: var(--fs-xs); font-weight: var(--fw-fuerte); text-transform: uppercase; letter-spacing: .08em; color: var(--tx-3); }
.ficha-ed-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: var(--sp-3); }
.ficha-ed-c { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ficha-ed-c--ancha { grid-column: 1 / -1; }
.ficha-ed-c .form-label { margin: 0; }
.ficha-ed-c textarea.form-input { min-height: 56px; resize: vertical; font: inherit; font-size: var(--fs-base); }
.ficha-ed-calc { padding: 9px 12px; background: var(--sf); border-radius: var(--radius-sm); font-weight: var(--fw-dato); font-variant-numeric: tabular-nums; }
.ficha-ed-pie { flex: none; display: flex; justify-content: flex-end; gap: var(--sp-3); padding: var(--sp-3) var(--sp-5); border-top: 1px solid var(--br); background: var(--sf); }
.price-edit { display: inline-flex; align-items: center; justify-content: flex-end; gap: var(--sp-1); }
.price-edit .pe-view { display: inline-flex; align-items: center; gap: var(--sp-1); }
.price-edit .pe-val { font-weight: var(--fw-dato); color: var(--tx); }
.price-edit .pe-form { display: inline-flex; align-items: center; gap: var(--sp-1); }
.price-edit .pe-input {
  width: 80px; text-align: right; padding: 5px 8px; margin: 0;
  background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius-xs);
  font-family: var(--font); font-size: var(--fs-md); font-weight: var(--fw-dato); color: var(--tx);
  transition: border-color var(--ease), box-shadow var(--ease);
}
.price-edit .pe-input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-bg); }
.price-edit .pe-icon {
  display: inline-flex; align-items: center; justify-content: center;
  background: none; border: none; cursor: pointer; color: var(--tx-3);
  font-size:var(--fs-sm); padding: 4px 5px; border-radius: var(--radius-xs);
  transition: background var(--ease), color var(--ease);
}
.price-edit .pe-icon:hover { background: var(--sf3); color: var(--tx); }
.price-edit .pe-ok { color: #16a34a; }
.price-edit .pe-ok:hover { background: rgba(22,163,74,.14); color: #16a34a; }
.price-edit .pe-cancel:hover { background: rgba(239,68,68,.12); color: var(--red); }
.fit-table.tarifa-table thead th { padding: var(--sp-3) var(--sp-2); }
.tarifa-table th, .tarifa-table td { white-space: nowrap; }
.tarifa-table .price-edit { width: 100%; }
.tarifa-table .price-edit .pe-view { flex-direction: row-reverse; }
.tarifa-table .price-edit .pe-input { width: 72px; }
.cli-name-link { display: inline-flex; align-items: center; gap: 5px; width: fit-content; font-weight: var(--fw-dato); color: var(--blue-accent); cursor: pointer; }
.cli-name-link:hover { text-decoration: underline; }
.cli-row.row-open { background: var(--sf2); }
.cli-caret { display: inline-block; transition: transform .18s ease; }
.origin-tag { display: inline-flex; align-items: center; gap: 4px; font-size:var(--fs-2xs); font-weight: var(--fw-dato); padding: 2px 7px; border-radius: var(--radius-pill); white-space: nowrap; }
.origin-com  { background: rgba(16,163,74,.12);  color: #16a34a; }
.origin-meta { background: rgba(8,102,255,.14);  color: #0866ff; }
.prod-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  background: var(--accent-bg);
  border: 1px solid rgba(245,166,35,.2);
  border-radius: var(--radius-pill);
  font-size: var(--fs-xs);
  font-weight: var(--fw-dato);
  color: var(--accent-deep);
  white-space: nowrap;
}
.rank-num {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--sf3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size:var(--fs-xs);
  font-weight: var(--fw-fuerte);
  color: var(--tx-2);
  flex-shrink: 0;
}
.rank-num.top { background: var(--accent-bg); color: var(--accent-deep); }
.stock-ok   { color: #16a34a; font-weight: var(--fw-dato); }
.stock-low  { color: var(--orange); font-weight: var(--fw-dato); }
.stock-crit { color: var(--red); font-weight: var(--fw-dato); }
.bx-fab {
  position: fixed;
  bottom: 28px;
  right: 28px;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #a855f7 0%, #7c3aed 58%, #6d28d9 100%);
  border: 1.5px solid rgba(196,160,255,0.38);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1200;
  transition: transform .25s ease, border-color .25s ease;
  color: #fff;
  font-size: 20px;
  box-shadow: 0 4px 16px rgba(0,0,0,.30), 0 2px 6px rgba(0,0,0,.22);   
}
.bx-fab:hover {
  transform: scale(1.07);
  border-color: rgba(180,220,255,0.6);
}
.bx-fab:active { transform: scale(.97); transition: transform var(--dur-press) var(--ease-out); }
.bx-fab .ai-badge {
  position: absolute;
  top: -2px; right: -2px;
  width: 16px; height: 16px;
  background: var(--red);
  border-radius: 50%;
  border: 2px solid #fff;
  font-size:var(--fs-sm);
  font-weight: var(--fw-fuerte);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  display: none;
}
.ai-overlay { display: none; } 
.ai-panel {
  position: fixed;
  bottom: 96px;
  left: 50%;
  transform: translateX(-50%) translateY(20px) scale(0.98);
  width: min(780px, calc(100vw - 40px));
  max-height: 62vh;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E"),
    rgba(252,252,254,0.94);
  backdrop-filter: blur(32px);
  -webkit-backdrop-filter: blur(32px);
  border: 1px solid rgba(255,255,255,0.85);
  border-radius: 22px;
  box-shadow:
    0 -2px 0 rgba(0,0,0,.04),
    0 8px 40px rgba(0,0,0,.14),
    0 24px 60px rgba(0,0,0,.10),
    inset 0 1px 0 rgba(255,255,255,.9);
  z-index: 1200;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  transition: transform .28s var(--ease-out), opacity .2s ease;
}
.ai-panel.open {
  transform: translateX(-50%) translateY(0) scale(1);
  opacity: 1;
  pointer-events: all;
}
[data-theme="dark"] .ai-panel {
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E"),
    rgba(16,16,22,0.94);
  border-color: rgba(255,255,255,0.07);
  box-shadow: 0 -2px 0 rgba(255,255,255,.04), 0 8px 40px rgba(0,0,0,.5), 0 24px 60px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.05);
}
.ai-panel-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 22px;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  border-bottom: 1px solid transparent;
  flex-shrink: 0;
  transition: max-height .32s var(--ease-out), opacity .25s ease, padding .32s ease, border-color .32s ease;
}
.ai-panel-header.show {
  max-height: 80px;
  opacity: 1;
  padding: 20px 22px 16px;
  border-bottom-color: var(--br);
}
.ai-avatar {
  width: 38px; height: 38px;
  border-radius: 12px;
  background: linear-gradient(135deg, #3b82f6, #007AFF);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size:var(--fs-lg);
  flex-shrink: 0;
  box-shadow: 0 2px 10px rgba(0,122,255,.3);
}
.ai-panel-title { font-size:var(--fs-lg); font-weight: var(--fw-fuerte); color: var(--tx); }
.ai-panel-sub   { font-size:var(--fs-sm); color: var(--tx-2); margin-top: 2px; }
.ai-close-btn {
  margin-left: auto;
  width: 28px; height: 28px;
  background: var(--sf3);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  color: var(--tx-2);
  font-size:var(--fs-base);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background var(--ease), color var(--ease);
}
.ai-close-btn:hover { background: var(--br-2); color: var(--tx); }
.ai-close-float { position: absolute; top: 14px; right: 14px; z-index: 6; margin-left: 0; }
.ai-messages {
  flex: 1;
  overflow-y: auto;
  padding: 22px 26px 8px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.ai-messages:empty { padding: 0; flex: 0 0 auto; }
.ai-msg {
  max-width: 82%;
  font-size:var(--fs-md);
  line-height: 1.55;
  padding: 11px 16px;
  border-radius: 16px;
  word-wrap: break-word;
}
.ai-msg.user {
  align-self: flex-end;
  background: var(--blue-accent);
  color: #fff;
  border-bottom-right-radius: 4px;
}
.ai-msg.assistant {
  align-self: flex-start;
  background: var(--sf3);
  color: var(--tx);
  border-bottom-left-radius: 4px;
  border: 1px solid var(--br);
}
.ai-msg.assistant strong { color: var(--blue-accent); }
.ai-msg.assistant p { margin: 0 0 4px; }
.ai-msg.assistant ul { margin: 6px 0; }
.ai-msg.thinking {
  align-self: flex-start;
  background: var(--sf3);
  color: var(--tx-3);
  border: 1px solid var(--br);
  border-bottom-left-radius: 4px;
  font-style: italic;
}
.ai-dots { display: inline-flex; }
.ai-dots span { opacity: .2; animation: aiDot 1.3s infinite ease-in-out; }
.ai-dots span:nth-child(2) { animation-delay: .22s; }
.ai-dots span:nth-child(3) { animation-delay: .44s; }
@keyframes aiDot { 0%, 70%, 100% { opacity: .2; } 35% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .ai-dots span { animation: none; opacity: .55; } }
.ai-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 16px 26px 18px;
  border-top: 1px solid var(--br);
  margin-top: 4px;
}
.ai-chip {
  padding: 7px 14px;
  background: var(--blue-accent-bg);
  border: 1px solid rgba(0,122,255,.2);
  border-radius: var(--radius-pill);
  font-size: var(--fs-base);
  font-weight: var(--fw-detalle);
  color: var(--blue-accent);
  cursor: pointer;
  transition: background-color var(--ease), color var(--ease), border-color var(--ease), box-shadow var(--ease), transform var(--ease), opacity var(--ease);
  font-family: var(--font);
}
.ai-chip:hover {
  background: var(--blue-accent);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 2px 10px rgba(0,122,255,.3);
}
.ai-input-row {
  display: flex;
  gap: 10px;
  padding: 14px 20px;
  border-top: 1px solid var(--br);
  flex-shrink: 0;
  background: transparent;
}
.ai-input {
  flex: 1;
  background: var(--sf3);
  border: 1.5px solid var(--br);
  border-radius: var(--radius-pill);
  padding: 11px 18px;
  font-size:var(--fs-md);
  font-family: var(--font);
  color: var(--tx);
  outline: none;
  transition: border-color .18s, box-shadow .18s;
  resize: none;
  max-height: 80px;
  overflow-y: auto;
  line-height: 1.4;
}
.ai-input:focus {
  border-color: var(--blue-accent);
  background: var(--sf);
  box-shadow: 0 0 0 3px rgba(0,122,255,.1);
}
.ai-input::placeholder { color: var(--tx-3); }
.ai-send-btn {
  width: 42px; height: 42px;
  border-radius: 50%;
  background: var(--blue-accent);
  border: none;
  color: #fff;
  font-size:var(--fs-lg);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  align-self: flex-end;
  transition: transform .15s, background .15s, box-shadow .15s;
  box-shadow: 0 2px 12px rgba(0,122,255,.35);
}
.ai-send-btn:hover {
  background: #0062cc;
  transform: scale(1.06);
  box-shadow: 0 4px 18px rgba(0,122,255,.45);
}
.ai-send-btn:disabled { background: var(--br-2); cursor: not-allowed; transform: none; box-shadow: none; }
.aip-wrap {
  margin: 16px;
  border-radius: 18px;
  border: 1.5px solid color-mix(in srgb, var(--accent) 18%, transparent);
  background: var(--sf3);
  padding: 12px 14px 10px;
  transition: border-color .2s, box-shadow .2s;
  flex-shrink: 0;
}
.aip-wrap:focus-within {
  border-color: color-mix(in srgb, var(--accent) 45%, transparent);
  box-shadow: 0 0 0 3px rgba(255, 191, 16, calc(0.07 * var(--glow, 1)));
}
[data-theme="dark"] .aip-wrap {
  background: rgba(255,255,255,0.04);
  border-color: color-mix(in srgb, var(--accent) 14%, transparent);
}
.aip-textarea {
  width: 100%; border: none; outline: none; resize: none;
  background: transparent; font-family: var(--font);
  font-size: var(--fs-md); color: var(--tx); line-height: 1.5;
  max-height: 100px; overflow-y: auto; display: block;
}
.aip-textarea::placeholder { color: var(--tx-3); }
.aip-actions {
  display: flex; align-items: center;
  justify-content: flex-end; margin-top: 8px;
}
.aip-hint {
  font-size:var(--fs-2xs); color: var(--tx-3);
  font-weight: var(--fw-medium); letter-spacing: .02em;
  display: none;
}
@media (min-width: 600px) { .aip-hint { display: block; } }
.aip-btn {
  width: 34px; height: 34px; border-radius: 50%;
  border: none; cursor: pointer; display: flex;
  align-items: center; justify-content: center;
  flex-shrink: 0; font-size:var(--fs-md);
  transition: background .2s, transform .15s, box-shadow .2s;
  background: var(--br); color: var(--tx-3);
}
.aip-btn.has-text, .aip-btn.recording {
  background: var(--accent); color: #1c1c1c;
  box-shadow: 0 2px 12px rgba(255,191,16, calc(.35 * var(--glow,1)));
}
[data-theme="dark"] .aip-btn.has-text, [data-theme="dark"] .aip-btn.recording { box-shadow: 0 2px 12px rgba(0,0,0,.45); }
.aip-btn.recording { background: #ef4444; color: #fff; }
.aip-btn:hover { transform: scale(1.07); }
.aip-voice { flex-direction: column; align-items: center; padding: 6px 0 2px; }
.aip-voice-top { display: flex; align-items: center; gap: 6px; margin-bottom: 8px; }
.aip-rec-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: #ef4444;
  animation: aip-pulse 1s ease-in-out infinite;
}
@keyframes aip-pulse { 0%,100%{opacity:1} 50%{opacity:.35} }
.aip-rec-time { font-size:var(--fs-sm); font-weight: var(--fw-dato); font-family: monospace; color: var(--tx-2); }
.aip-bars {
  display: flex; align-items: center;
  gap: 2px; height: 32px; width: 100%; justify-content: center;
}
.aip-bar {
  width: 3px; border-radius: 99px;
  background: var(--accent); opacity: .7;
  animation: aip-wave var(--d,.6s) ease-in-out infinite alternate;
  animation-delay: var(--dl,0s);
}
@keyframes aip-wave {
  from { transform: scaleY(.2); }
  to   { transform: scaleY(1); }
}
.ai-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 10px;
}
.ai-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  background: var(--blue-accent);
  color: #fff;
  border: none;
  border-radius: var(--radius-pill);
  font-size: var(--fs-base);
  font-weight: var(--fw-dato);
  cursor: pointer;
  font-family: var(--font);
  transition: background .15s, transform .15s, box-shadow .15s;
  box-shadow: 0 2px 8px rgba(0,122,255,.3);
}
.ai-action-btn:hover { background: #0062cc; transform: translateY(-1px); box-shadow: 0 4px 14px rgba(0,122,255,.4); }
.ai-action-btn.secondary { background: var(--sf3); color: var(--tx); border: 1px solid var(--br); box-shadow: none; }
.ai-action-btn.secondary:hover { background: var(--br); }
[data-theme="dark"] .ai-action-btn { box-shadow: 0 2px 8px rgba(0,0,0,.45); }
[data-theme="dark"] .ai-action-btn:hover { box-shadow: 0 4px 14px rgba(0,0,0,.55); }
@media (max-width: 768px) {
  .ai-panel { bottom: 84px; width: calc(100vw - 24px); max-height: 75vh; border-radius: 18px; }
}
@media (max-width: 900px) {
  .topbar-search { width: 160px; }
}
@media (max-width: 768px) {
  .sidebar {
    transform: translateX(-100%);
    transition: transform 0.26s cubic-bezier(.4,0,.2,1);
    box-shadow: none;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .sidebar.open {
    transform: translateX(0);
    box-shadow: 4px 0 24px rgba(8,17,31,.2);
  }
  .sidebar-nav { flex: 0 1 auto; overflow: visible; }
  .sidebar-footer { margin-top: var(--sp-2); padding-bottom: 88px; }
  .logout-btn { color: #ff6b6b; border-color: rgba(230,57,70,.4); background: rgba(230,57,70,.06); }
  body.sidebar-open #view-switcher, body.sidebar-open #demo-switcher, body.sidebar-open #fabrica-switcher { display: none !important; }
  .main { margin-left: 0; }
  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .kpi-grid { grid-template-columns: 1fr 1fr; }
  .topbar-search { display: none; }
  .content { padding: 16px 16px 96px; }
  thead th { padding: var(--sp-2) var(--sp-3); letter-spacing: .04em; }
  tbody td, tfoot td { padding: var(--sp-3) var(--sp-3); }
  .rank-table th, .rank-table td,
  .fit-table th, .fit-table td { padding: var(--sp-2); }
  .fit-table.tbl-wide td, .rank-table.tbl-wide td {
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  .topbar {
    padding: 0 16px;
    background: #111111;
    border-bottom: none;
  }
  .topbar-title h1 { color: #f9f9f9; }
  .topbar-title p  { color: rgba(249,249,249,0.45); }
  .topbar-date     { color: rgba(249,249,249,0.35); border-left-color: rgba(249,249,249,0.12); }
  .icon-btn {
    background: rgba(249,249,249,0.08);
    border-color: rgba(249,249,249,0.12);
    color: rgba(249,249,249,0.7);
  }
  .icon-btn:hover { background: rgba(249,249,249,0.14); color: #f9f9f9; }
  .mobile-logo {
    display: flex !important;
    align-items: center;
    gap: 0;
    padding: 18px 16px 6px;
    line-height: 1;
  }
}
@media (max-width: 480px) {
  .login-card { padding: 26px 20px; }
  .demo-grid { grid-template-columns: 1fr; }
}
.drawer-overlay {
  position: fixed;
  inset: 0;
  background: var(--scrim);   
  z-index: 400;
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s;
}
.drawer-overlay.open { opacity: 1; pointer-events: all; }
.drawer {
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: 480px;
  max-width: 100vw;
  background: var(--sf);
  border-left: 1px solid var(--br);
  z-index: 401;
  box-shadow: -8px 0 40px rgba(8,17,31,.12);
  transform: translateX(100%);
  transition: transform .25s cubic-bezier(.4,0,.2,1);
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}
.drawer.open { transform: translateX(0); }
.drawer-header {
  padding: 20px 24px 16px;
  border-bottom: 1px solid var(--br);
  display: flex;
  align-items: center;
  gap: 12px;
  position: sticky;
  top: 0;
  background: var(--sf);
  z-index: 1;
}
.drawer-close {
  margin-left: auto;
  width: 30px; height: 30px;
  border-radius: 50%;
  background: var(--sf3);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size:var(--fs-base);
  color: var(--tx-2);
  transition: background .12s;
  flex-shrink: 0;
}
.drawer-close:hover { background: var(--br-2); color: var(--tx); }
.drawer-body { padding: 20px 24px; flex: 1; }
.drawer-section { margin-bottom: 20px; }
.drawer-section-sub {
  font-size: var(--fs-xs);
  color: var(--tx-3);
  margin-top: 6px;
  line-height: 1.45;
}
.drawer-section-title {
  font-size:var(--fs-2xs);
  font-weight: var(--fw-dato);
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--tx-3);
  margin-bottom: 10px;
}
.drawer-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  border-bottom: 1px solid var(--br);
  font-size:var(--fs-base);
  color: var(--tx);
  font-variant-numeric: tabular-nums;
}
.drawer-row:last-child { border-bottom: none; }
.drawer-row-label {
  font-weight: var(--fw-detalle);
  color: var(--tx-2);
  min-width: 110px;
  font-size:var(--fs-sm);
}
.kanban-board {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  align-items: start;
}
.kanban-col {
  background: var(--sf3);
  border-radius: var(--radius);
  padding: 12px;
  min-height: 120px;
}
.kanban-col-header {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--br);
}
.kanban-col-title {
  font-size: var(--fs-xs);
  font-weight: var(--fw-dato);
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--tx-2);
  flex: 1;
}
.kanban-count {
  background: var(--sf);
  border: 1px solid var(--br);
  border-radius: var(--radius-pill);
  padding: 1px 7px;
  font-size:var(--fs-2xs);
  font-weight: var(--fw-dato);
  color: var(--tx-2);
}
.kanban-card {
  background: var(--sf);
  border: 1px solid var(--br);
  border-radius: var(--radius-sm);
  padding: 12px;
  margin-bottom: 8px;
  cursor: pointer;
  transition: box-shadow .15s, border-color .15s;
}
.kanban-card:hover { box-shadow: 0 2px 12px rgba(8,17,31,.08); border-color: var(--br-2); }
.kanban-card-name { font-weight: var(--fw-dato); font-size: var(--fs-base); color: var(--tx); margin-bottom: 3px; }
.kanban-card-meta { font-size:var(--fs-xs); color: var(--tx-2); margin-bottom: 8px; }
.kanban-card-actions { display: flex; gap: 4px; flex-wrap: wrap; }
.kanban-move-btn {
  padding: 2px 8px;
  font-size: var(--fs-xs);
  font-weight: var(--fw-detalle);
  border-radius: var(--radius-pill);
  border: 1px solid var(--br);
  background: var(--sf3);
  color: var(--tx-2);
  cursor: pointer;
  transition: background-color .12s, color .12s, border-color .12s, box-shadow .12s, transform .12s, opacity .12s;
}
.kanban-move-btn:hover { background: var(--accent); border-color: var(--accent); color: #111111; }
.notif-wrapper { position: relative; }
.notif-dropdown {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: 340px;
  background: var(--sf);
  border: 1px solid var(--br);
  border-radius: var(--radius);
  box-shadow: 0 8px 32px rgba(8,17,31,.14);
  z-index: 300;
  overflow: hidden;
  display: none;
}
.notif-dropdown.open { display: block; }
.notif-header {
  padding: 12px 16px;
  border-bottom: 1px solid var(--br);
  font-size:var(--fs-sm);
  font-weight: var(--fw-dato);
  color: var(--tx);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.notif-item {
  padding: 11px 16px;
  border-bottom: 1px solid var(--br);
  display: flex;
  gap: 10px;
  transition: background .12s;
}
.notif-item:last-child { border-bottom: none; }
.notif-item:hover { background: var(--sf3); }
.notif-icon {
  width: 30px; height: 30px;
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  font-size:var(--fs-sm);
  flex-shrink: 0;
}
.notif-icon.red    { background: rgba(230,57,70,.1);  color: var(--red); }
.notif-icon.gold   { background: var(--accent-bg);    color: var(--accent); }
.notif-icon.blue   { background: rgba(0,122,255,.1);  color: var(--blue-accent); }
.notif-text { flex: 1; }
.notif-title { font-size:var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx); line-height: 1.3; }
.notif-sub   { font-size:var(--fs-xs); color: var(--tx-2); margin-top: 1px; }
.notif-empty { padding: 24px 16px; text-align: center; font-size: var(--fs-base); color: var(--tx-2); }
.notif-dot { display: none; }
#notif-btn.bx-campana-roja { color: var(--estado-urgente-ink); }
#notif-btn.bx-campana-roja .notif-dot.active { background: var(--estado-urgente); }
@keyframes bxCampanaVibra { 0%, 100% { transform: rotate(0); } 20% { transform: rotate(-16deg); } 40% { transform: rotate(14deg); } 60% { transform: rotate(-10deg); } 80% { transform: rotate(8deg); } }
#notif-btn.bx-campana-vibra i { animation: bxCampanaVibra .45s ease-in-out 3; transform-origin: 50% 20%; }
@media (prefers-reduced-motion: reduce) { #notif-btn.bx-campana-vibra i { animation: none; } }
.notif-dot.active {
  display: block;
  position: absolute;
  top: 5px; right: 5px;
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--red);
  border: 1.5px solid var(--sf);
}
.target-bar-wrap {
  background: var(--sf3);
  border-radius: var(--radius-pill);
  height: var(--bar-h, 6px);
  overflow: hidden;
  margin-top: 4px;
}
.target-bar-fill {
  height: 100%;
  border-radius: var(--radius-pill);
  background: var(--accent);
  transition: width .4s ease;
}
.target-bar-fill.over { background: #16a34a; }
@property --pct { syntax: '<number>'; inherits: false; initial-value: 0; }
.goal-ring-wrap { position: relative; width: 172px; height: 172px; display: grid; place-items: center; }
.goal-ring {
  --pct: 0;
  --ring-color: var(--accent);
  position: absolute; inset: 0;
  border-radius: 50%;
  background: conic-gradient(var(--ring-color) calc(var(--pct) * 1%), var(--sf3) 0);
  -webkit-mask: radial-gradient(farthest-side, #0000 calc(100% - 16px), #000 0);
          mask: radial-gradient(farthest-side, #0000 calc(100% - 16px), #000 0);
}
.goal-ring.done { --ring-color: #16a34a; }
.goal-ring__inner { position: relative; z-index: 1; text-align: center; line-height: 1; }
.goal-ring__pct { font-size: calc(var(--hero-val-size) * 0.82); font-weight: var(--fw-fuerte); letter-spacing: -1.5px; color: var(--tx); }
.goal-ring__pct .goal-ring__sign { font-size:var(--fs-2xl); font-weight: var(--fw-dato); color: var(--tx-2); margin-left: 1px; }
.goal-ring__sub { font-size: var(--fs-2xs); text-transform: uppercase; letter-spacing: .1em; color: var(--tx-3); margin-top: 5px; }
.goal-kpi { align-items: center; text-align: center; gap: var(--sp-3); }
.goal-kpi-head { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: var(--sp-2); }
.goal-kpi-head .kpi-label { margin: 0; }
.goal-ring-wrap--kpi { width: 120px; height: 120px; }
.goal-ring--kpi {
  -webkit-mask: radial-gradient(farthest-side, #0000 calc(100% - 11px), #000 0);
          mask: radial-gradient(farthest-side, #0000 calc(100% - 11px), #000 0);
}
.goal-kpi .goal-ring__pct { font-size: calc(var(--hero-val-size) * 0.54); letter-spacing: -1px; }
.goal-kpi .goal-ring__pct .goal-ring__sign { font-size:var(--fs-md); }
.goal-kpi .goal-ring__sub { font-size:var(--fs-sm); margin-top: 3px; }
.goal-kpi-foot { font-size: var(--fs-sm); color: var(--tx-2); display: flex; flex-direction: column; align-items: center; gap: 1px; line-height: 1.35; }
.goal-kpi-foot .goal-kpi-sub { font-size: var(--fs-2xs); color: var(--tx-3); }
.goal-ring-wrap.celebrate::after {
  content: ''; position: absolute; inset: -4px; border-radius: 50%;
  border: 3px solid var(--cel-color, var(--accent));
  animation: goal-pulse .9s ease-out 1; pointer-events: none;
}
@keyframes goal-pulse {
  from { transform: scale(.9);  opacity: .85; }
  to   { transform: scale(1.16); opacity: 0; }
}
.goal-medal { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-sm); font-weight: var(--fw-dato);
  padding: 5px 13px; border-radius: var(--radius-pill); background: var(--accent-bg); color: var(--tx); }
.rank-top { text-align: center; padding: var(--sp-2) 0; }
.rank-top__big { font-size: var(--hero-val-size); font-weight: var(--fw-fuerte); letter-spacing: -2px; line-height: 1;
  color: var(--accent); }   
.rank-top__big small { font-size: calc(var(--hero-val-size) * 0.43); font-weight: var(--fw-fuerte); -webkit-text-fill-color: var(--accent); }
.rank-top__label { font-size: var(--fs-sm); color: var(--tx-2); margin-top: 6px; }
.rank-top__gap { margin-top: var(--sp-4); font-size: var(--fs-md); color: var(--tx);
  background: var(--accent-bg); padding: 9px 15px; border-radius: var(--radius-sm); display: inline-block; }
.rank-top__gap b { color: var(--accent-deep); }
.lb-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: var(--sp-3); flex-wrap: wrap; }
.lb-title { font-weight: var(--fw-fuerte); font-size: var(--fs-lg); color: var(--tx); display: inline-flex; align-items: center; gap: 8px; }
.lb-title i { color: var(--accent); }
.lb-live { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-xs); color: var(--tx-3); text-transform: uppercase; letter-spacing: .05em; font-weight: var(--fw-dato); }
.lb-dot { width: 8px; height: 8px; border-radius: 50%; background: #ef4444; animation: lb-pulse 1.8s ease-out infinite; flex-shrink: 0; }
@keyframes lb-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(239,68,68,1); }
  70%  { box-shadow: 0 0 0 7px rgba(239,68,68,0); }
  100% { box-shadow: 0 0 0 0 rgba(239,68,68,0); }
}
.lb-rows { display: flex; flex-direction: column; gap: 6px; }
.lb-row { display: flex; align-items: center; gap: 10px; }
.lb-row.me { border-color: var(--accent); background: var(--accent-bg); box-shadow: inset 0 0 0 1px var(--accent); }
.lb-rank { width: 26px; text-align: center; font-size: var(--fs-lg); flex-shrink: 0; line-height: 1; }
.lb-rank-n { font-size: var(--fs-base); font-weight: var(--fw-fuerte); color: var(--tx-2); }
.lb-row.me .lb-rank-n { color: var(--accent-deep); }
.lb-name { font-size:var(--fs-base); font-weight: var(--fw-fuerte); color: var(--accent-deep); letter-spacing: .02em; }
.lb-units { margin-left: auto; font-weight: var(--fw-fuerte); font-size: var(--fs-lg); color: var(--tx); line-height: 1; flex-shrink: 0; }
.lb-row.me .lb-units { color: var(--accent-deep); }
.lb-u { font-size:var(--fs-2xs); font-weight: var(--fw-dato); color: var(--tx-3); }
.lb-sep { text-align: center; color: var(--tx-3); font-size:var(--fs-xs); line-height: 1; padding: 0; }
#overview-kpis > .lb-card { padding: var(--sp-4) var(--sp-5); }
#overview-kpis > .lb-card .lb-head { margin-bottom: var(--sp-2); }
@media (max-width: 768px) {
  #overview-kpis > .lb-card { grid-column: 1 / -1; order: -1; }
}
.order-form-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid var(--br);
}
.order-form-row:last-child { border-bottom: none; }
.order-qty-input {
  width: 64px;
  text-align: center;
  padding: 5px 8px;
  border: 1px solid var(--br);
  border-radius: var(--radius-sm);
  font-size:var(--fs-base);
  font-family: var(--font);
  background: var(--sf3);
  color: var(--tx);
}
.order-qty-input:focus { border-color: var(--blue-accent); outline: none; background: var(--sf); }
@media (max-width: 900px) {
  .kanban-board { grid-template-columns: repeat(2, 1fr); }
  .drawer { width: 100vw; }
}
@media (max-width: 650px) {
  .kanban-board { grid-template-columns: 1fr; }
}
.kanban-card[draggable="true"] { cursor: grab; }
.kanban-card[draggable="true"]:active { cursor: grabbing; }
.kanban-drag-handle {
  float: right;
  margin: -2px -2px 4px 8px;
  opacity: 0.4;
  cursor: grab;
}
.kanban-drop-zone {
  min-height: 60px;
  border-radius: var(--radius-sm);
  transition: background .15s, outline .15s;
  padding: 2px;
}
.kanban-drop-zone.drag-over {
  background: rgba(0,122,255,.06);
  outline: 2px dashed var(--blue-accent);
  outline-offset: -2px;
}
.prod-apple-grid { display: contents; }
.catalog-view-toggle {
  display: flex;
  gap: var(--sp-2);
  flex-shrink: 0;
  flex-wrap: wrap;   
}
#content .catalog-view-toggle { flex-shrink: 1; min-width: 0; }
.prod-apple-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.prod-apple-card {
  background: var(--sf);
  padding: 30px 22px 24px;
  cursor: pointer;
  text-align: center;
  transition: background .15s;
  position: relative;
  border-right: 1px solid var(--br);
  border-bottom: 1px solid var(--br);
}
.prod-apple-card:hover { background: var(--sf3); }
.prod-apple-img-wrap {
  width: 100%;
  aspect-ratio: 1;
  max-width: 190px;
  margin: 0 auto 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.prod-apple-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 10px;
  transition: transform .2s ease;
}
.prod-apple-card:hover .prod-apple-img { transform: scale(1.04); }
.prod-apple-img-placeholder {
  width: 100%;
  height: 100%;
  background: var(--sf3);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--tx-3);
  font-size:var(--fs-3xl);
}
.prod-apple-sku {
  font-size:var(--fs-xs);
  color: var(--tx-3);
  font-family: var(--mono);
  margin-bottom: 6px;
  letter-spacing: .04em;
}
.prod-apple-name {
  font-size: var(--fs-md);
  font-weight: var(--fw-dato);
  color: var(--tx);
  line-height: 1.25;
  margin-bottom: 5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.prod-apple-price {
  font-size:var(--fs-md);
  font-weight: var(--fw-dato);
  color: var(--blue-accent);
  margin-bottom: 3px;
}
.prod-apple-meta {
  font-size: var(--fs-base);
  color: var(--tx-3);
  margin-bottom: 8px;
}
.prod-chevron {
  font-size:var(--fs-sm);
  color: var(--tx-3);
  transition: transform .2s ease;
  display: block;
}
[data-theme="dark"] .prod-apple-sku  { color: color-mix(in srgb, var(--accent) 72%, transparent); }
[data-theme="dark"] .prod-apple-meta { color: color-mix(in srgb, var(--accent) 66%, transparent); }
.prod-card-edit {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 3;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--sf3);
  border: 1px solid var(--br);
  color: var(--tx-2);
  cursor: pointer;
  font-size:var(--fs-xs);
  opacity: 0;
  transition: opacity .15s, background .15s, color .15s, border-color .15s;
}
.prod-apple-card:hover .prod-card-edit { opacity: 1; }
.prod-card-edit:hover { background: var(--accent); color: #1c1c1c; border-color: var(--accent); }
@media (hover: none) { .prod-card-edit { opacity: .85; } }
.prod-sheet-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size:var(--fs-2xs);
  font-weight: var(--fw-dato);
  color: #e74c3c;
  background: rgba(231, 76, 60, .10);
  border-radius: var(--radius-pill);
  padding: 2px 9px;
  margin: 0 auto 6px;
}
.prod-upload-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size:var(--fs-sm);
  font-weight: var(--fw-detalle);
  color: var(--tx);
  background: var(--sf3);
  border: 1px solid var(--br);
  border-radius: var(--radius-sm);
  padding: 9px 14px;
  cursor: pointer;
  transition: background .15s, border-color .15s;
}
.prod-upload-link:hover { background: var(--sf); border-color: var(--tx-3); }
.prod-upload-link.block { display: flex; justify-content: center; width: 100%; }
.prod-upload-link.danger { color: var(--red); }
.prod-upload-link.danger:hover { border-color: var(--red); }
.prod-tiers {
  margin-top: 12px;
  border-top: 1px solid var(--br);
  padding-top: 10px;
  text-align: left;
}
@media (max-width: 768px) {
  .prod-apple-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .prod-apple-grid { grid-template-columns: repeat(2, 1fr); }
  .prod-apple-name { font-size: var(--fs-base); }
  .prod-apple-card { padding: 20px 12px 16px; }
}
.stk-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(205px, 1fr)); gap: var(--sp-3); }
.stk-card { background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius-sm);
  padding: var(--sp-4); display: flex; flex-direction: column; gap: var(--sp-2); transition: border-color .15s; }
.stk-card.low { border-color: rgba(220,38,38,.42); background: rgba(220,38,38,.045); }
.stk-card-head { display: flex; flex-direction: column; gap: 2px; min-height: 36px; }
.stk-name { font-weight: var(--fw-dato); font-size: var(--fs-md); color: var(--tx); line-height: 1.2;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.stk-fam { font-size: var(--fs-2xs); color: var(--tx-3); text-transform: uppercase; letter-spacing: .04em; }
.stk-num { font-size: var(--fs-4xl); font-weight: var(--fw-black); line-height: 1; letter-spacing: -1.5px; }
.stk-unit { font-size:var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx-3); margin-left: 7px; letter-spacing: normal; vertical-align: baseline; }
.stk-init { display: flex; align-items: center; gap: 8px; min-height: 40px; }
.stk-init-hint { font-size:var(--fs-xs); color: var(--tx-3); }
.stk-bar { height: var(--bar-h, 7px); border-radius: 4px; background: var(--sf3); overflow: hidden; }
.stk-bar-fill { height: 100%; border-radius: 4px; transition: width .5s ease; }
.stk-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.stk-safety { font-size:var(--fs-xs); color: var(--tx-2); display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.stk-break { font-size:var(--fs-2xs); color: var(--tx-3); }
@media (max-width: 600px) {
  .stk-grid { grid-template-columns: repeat(2, 1fr); gap: var(--sp-2); }
  .stk-num { font-size: var(--fs-3xl); }
  .stk-card { padding: var(--sp-3); }
  .stk-card-foot { flex-direction: column; align-items: flex-start; gap: 6px; }
  .stk-safety { width: 100%; justify-content: space-between; }
  .stk-safety input, .stk-init input { width: 52px !important; }
}
.fit-table.mv-table { table-layout: auto; }
@media (max-width: 600px) {
  .mv-table .mv-hide { display: none; }
  .mv-table th, .mv-table td { padding-left: var(--sp-1); padding-right: var(--sp-1); font-size: var(--fs-sm); }
}
@keyframes alert-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(220,38,38,.35); }
  60%  { box-shadow: 0 0 0 7px rgba(220,38,38,0); }
  100% { box-shadow: 0 0 0 0 rgba(220,38,38,0); }
}
.alert-row-red {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  margin-bottom: 6px;
  border-radius: var(--radius-sm);
  background: #dc2626;
  cursor: pointer;
  animation: alert-pulse 2.4s ease-out infinite;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.alert-row-red:last-child { margin-bottom: 0; }
.alert-row-red:hover {
  box-shadow: 0 0 0 2px var(--bg), 0 0 0 4px var(--estado-urgente-ink);   
  filter: brightness(1.07);
  animation-play-state: paused;
}
.alert-row-red .alert-icon-red {
  width: 28px; height: 28px; border-radius: 50%;
  background: rgba(255,255,255,.18);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; font-size:var(--fs-sm); color: #fff;
}
.alert-row-red .alert-title { font-size: var(--fs-base); font-weight: var(--fw-dato); color: #fff; line-height: 1.3; }
.alert-row-red .alert-sub   { font-size:var(--fs-sm); color: #fff; margin-top: 1px; }  
.alert-row-red .alert-arrow { font-size:var(--fs-2xs); color: rgba(255,255,255,.6); margin-top: 2px; flex-shrink: 0; }
.alert-row-gold {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 9px 0;
  border-bottom: 1px solid var(--br);
  cursor: pointer;
  transition: background .15s;
}
.alert-row-gold:hover { background: var(--sf3); border-radius: var(--radius-sm); padding-left: 6px; }
.alerts-more-btn {
  display: flex;
  align-items: center;
  gap: 7px;
  width: 100%;
  margin-top: 8px;
  padding: 8px 12px;
  border-radius: var(--radius-sm);
  border: 1px dashed var(--br-2);
  background: none;
  color: var(--tx-2);
  font-size:var(--fs-sm);
  font-weight: var(--fw-detalle);
  cursor: pointer;
  font-family: var(--font);
  transition: background .15s, color .15s, border-color .15s;
}
.alerts-more-btn:hover { background: var(--sf3); color: var(--tx); border-color: var(--br-2); }
.alerts-more-btn i { font-size:var(--fs-2xs); }
.expand-scroll { max-height: min(360px, 48vh); overflow-y: auto; overscroll-behavior: contain; padding-right: 4px; }
.expand-scroll thead th {
  position: sticky; top: 0; z-index: 2;
  background: var(--sf2);
  box-shadow: inset 0 -1px 0 var(--br);
}
.palets-row-click,
.palets-row-click * { cursor: pointer; }
.palets-row-click { transition: background .12s ease; border-radius: var(--radius-xs); user-select: none; -webkit-user-select: none; }
.palets-row-name,
.palets-row-chev { transition: color .12s ease; }
.palets-row-click:hover { background: var(--sf3); }
.palets-row-click:hover .palets-row-name { color: var(--blue-accent) !important; }
.palets-row-click:hover .palets-row-chev { color: var(--blue-accent) !important; }
.palets-row-click:focus-visible { outline: 2px solid var(--blue-accent); outline-offset: -2px; }
.palets-row-key { background: linear-gradient(100deg, rgba(255, 191, 16, calc(.16 * var(--glow, 1))), rgba(255,191,16,0) 62%); box-shadow: inset 3px 0 0 var(--accent); }
.palets-row-key:hover { background: linear-gradient(100deg, color-mix(in srgb, var(--accent) 24%, transparent), color-mix(in srgb, var(--accent) 4%, transparent) 62%) !important; }
.palets-row-key:hover .palets-row-name { color: var(--tx) !important; }   
.alerts-flyout {
  position: fixed;
  z-index: 600;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E"),
    rgba(255,255,255,0.94);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.9);
  border-radius: var(--radius);
  box-shadow: 0 8px 40px rgba(17,17,17,.14), 0 2px 8px rgba(17,17,17,.08);
  overflow: hidden;
  opacity: 0;
  transform: translateY(-8px) scale(0.98);
  transform-origin: top center;
  transition: opacity .26s cubic-bezier(.4,0,.2,1), transform .26s cubic-bezier(.4,0,.2,1);
  pointer-events: none;
}
.alerts-flyout.open {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: all;
}
.alerts-flyout-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px 10px;
  border-bottom: 1px solid var(--br);
  position: sticky;
  top: 0;
  background: inherit;
  backdrop-filter: inherit;
}
.alerts-flyout-body {
  max-height: 360px;
  overflow-y: auto;
  padding: 8px 16px 12px;
}
[data-theme="dark"] .alerts-flyout {
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E"),
    rgba(16,16,22,0.95);
  border-color: rgba(255,255,255,0.08);
  box-shadow: 0 8px 40px rgba(0,0,0,.5), 0 2px 8px rgba(0,0,0,.3);
}
.theme-toggle-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 20px;
  border-bottom: 1px solid var(--br-inv);
  margin-bottom: 8px;
}
.theme-icon {
  font-size:var(--fs-base);
  color: rgba(255,255,255,0.5);
  transition: opacity .25s;
  flex-shrink: 0;
}
.theme-toggle {
  width: 44px;
  height: 24px;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 12px;
  position: relative;
  cursor: pointer;
  transition: background .25s;
  flex-shrink: 0;
}
.theme-toggle:hover { background: rgba(255,255,255,0.18); }
.theme-toggle-knob {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 16px;
  height: 16px;
  background: var(--accent);
  border-radius: 50%;
  transition: transform .25s cubic-bezier(.4,0,.2,1);
  box-shadow: 0 1px 4px rgba(0,0,0,.3);
  display: block;
}
[data-theme="dark"] .theme-toggle { background: color-mix(in srgb, var(--accent) 15%, transparent); border-color: color-mix(in srgb, var(--accent) 25%, transparent); }
[data-theme="dark"] {
  --bg:             #0a0a0a;
  --sf:             #121212;
  --sf2:            #1a1a1a;
  --sf3:            #202020;
  --ia:             #8b5cf6;
  --ia-tx:          #0d0d0d;
  --cabcol-bg:      #262626;
  --cabcol-tx:      #f4f4f4;
  --cabcol-sep:     rgba(255,255,255,0.30);
  --cabcol-br:      rgba(255,255,255,0.18);
  --br:             rgba(255,255,255,0.055);
  --br-2:           rgba(255,255,255,0.10);
  --tx:             #f4f4f4;
  --tx-2:           rgba(244,244,244,0.45);
  --tx-3:           rgba(244,244,244,0.38);   
  --accent-bg:      color-mix(in srgb, var(--accent) 10%, transparent);
  --gold-ink:       var(--accent);   
  --blue-accent-bg: rgba(0,122,255,0.1);
  --shadow:         0 4px 24px rgba(0,0,0,.6), 0 1px 4px rgba(0,0,0,.4);
  --shadow-sm:      0 2px 12px rgba(0,0,0,.5);
  --green:          #4ade80;   
  --red:            #f87171;
  --blue:           #60a5fa;
  --amber:          #fbbf24;   
}
[data-theme="dark"] body {
  background-color: var(--bg); 
  background-image:
    radial-gradient(ellipse 80% 50% at 90% -10%, color-mix(in srgb, var(--accent) 10%, transparent) 0%, transparent 55%),
    radial-gradient(ellipse 70% 50% at 10% 110%, rgba(232,120,40,.07) 0%, transparent 55%),  
    radial-gradient(ellipse 40% 30% at 50% 50%, color-mix(in srgb, var(--accent) 2%, transparent) 0%, transparent 60%);
  background-attachment: fixed;
}
[data-theme="dark"] .sidebar {
  background: linear-gradient(180deg, #0d0d11 0%, #070709 100%);
  box-shadow: 4px 0 32px rgba(0,0,0,.5);
}
[data-theme="dark"] .card {
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E"),
    linear-gradient(145deg, rgba(20,20,26,0.95) 0%, rgba(14,14,18,0.92) 100%);
  border: 1px solid rgba(255,255,255,0.065);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.07),
    0 4px 24px rgba(0,0,0,.55),
    0 16px 48px rgba(0,0,0,.35),
    0 1px 2px rgba(0,0,0,.5);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
}
[data-theme="dark"] .kpi-card {
  background: linear-gradient(145deg,
    rgba(22,22,28,0.97) 0%,
    rgba(13,13,17,0.95) 100%
  );
  border: 1px solid rgba(255,255,255,0.07);
  border-top: 1px solid color-mix(in srgb, var(--accent) 22%, transparent);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.06),
    inset 0 -1px 0 rgba(0,0,0,.3),
    0 4px 24px rgba(0,0,0,.55),
    0 0 60px color-mix(in srgb, var(--accent) 2.5%, transparent);
}
[data-theme="dark"] .kpi-card.map-mode-card.active {
  border-color: color-mix(in srgb, var(--accent) 50%, transparent);
  border-top: 2px solid var(--accent);
  background: linear-gradient(145deg, color-mix(in srgb, var(--accent) 16%, transparent) 0%, color-mix(in srgb, var(--accent) 5%, transparent) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.08),
    0 6px 32px rgba(0,0,0,.6);   
}
[data-theme="dark"] .topbar {
  background: rgba(8,8,10,0.82);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-bottom: 1px solid rgba(255,255,255,0.05);
  box-shadow: 0 1px 0 rgba(255,255,255,0.03);
}
[data-theme="dark"] .topbar-title h1 { color: #f4f4f6; font-weight: var(--fw-fuerte); }
[data-theme="dark"] .topbar-title p  { color: rgba(244,244,244,0.4); }
[data-theme="dark"] .topbar-date     { color: rgba(244,244,244,0.28); border-left-color: rgba(255,255,255,0.07); }
[data-theme="dark"] .icon-btn {
  background: rgba(255,255,255,0.05);
  border-color: rgba(255,255,255,0.08);
  color: rgba(244,244,244,0.65);
}
[data-theme="dark"] .icon-btn:hover {
  background: rgba(255,255,255,0.09);
  border-color: rgba(255,255,255,0.14);
  color: #f4f4f6;
}
[data-theme="dark"] .table-wrap { border-radius: var(--radius-sm); overflow-x: auto; overflow-y: hidden; }
[data-theme="dark"] .table-wrap table { background: transparent; }
[data-theme="dark"] thead tr { background: rgba(255,255,255,0.03); }
[data-theme="dark"] tbody tr:hover { background: rgba(255,255,255,0.03); }
[data-theme="dark"] th { color: var(--tx-2); border-bottom-color: rgba(255,255,255,0.05); }
[data-theme="dark"] td { border-bottom-color: rgba(255,255,255,0.04); color: var(--tx); }
[data-theme="dark"] .period-tab { color: var(--tx-2); background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.07); }
[data-theme="dark"] .period-tab.active { background: color-mix(in srgb, var(--accent) 15%, transparent); color: var(--accent); border-color: color-mix(in srgb, var(--accent) 25%, transparent); }
[data-theme="dark"] .form-input {
  background: rgba(255,255,255,0.05);
  border-color: rgba(255,255,255,0.09);
  color: var(--tx);
}
[data-theme="dark"] .form-input:focus {
  border-color: color-mix(in srgb, var(--accent) 50%, transparent);
  background: rgba(255,255,255,0.07);
  box-shadow: 0 0 0 3px rgba(255, 191, 16, calc(.08 * var(--glow, 1)));
}
[data-theme="dark"] .form-input::placeholder { color: var(--tx-3); }
[data-theme="dark"] .btn:not(.btn-primary):not(.btn-navy) {
  background: rgba(255,255,255,0.05);
  border-color: rgba(255,255,255,0.09);
  color: var(--tx-2);
}
[data-theme="dark"] .btn:not(.btn-primary):not(.btn-navy):hover { background: rgba(255,255,255,0.09); color: var(--tx); }
@keyframes row-alert-flash {
  0%   { background: rgba(220,38,38,.22); box-shadow: inset 0 0 0 2px rgba(220,38,38,.5); }
  35%  { background: rgba(220,38,38,.16); box-shadow: inset 0 0 0 2px rgba(220,38,38,.35); }
  70%  { background: rgba(220,38,38,.06); box-shadow: inset 0 0 0 1px rgba(220,38,38,.15); }
  100% { background: transparent;         box-shadow: none; }
}
.row-alert-highlight { animation: row-alert-flash 2.6s ease-out forwards; }
@keyframes btn-shimmer {
  0%   { background-position: 250% center; }
  100% { background-position: -250% center; }
}
@media (max-width: 768px) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), textarea, select { font-size: 16px !important; }
}
[data-theme="dark"] .btn-primary {
  box-shadow: 0 0 24px rgba(255,191,16, calc(.4 * var(--glow,1))), 0 2px 10px rgba(255,191,16, calc(.3 * var(--glow,1)));
}
[data-theme="dark"] .btn-primary:hover {
  box-shadow: 0 0 36px rgba(255,191,16, calc(.6 * var(--glow,1))), 0 0 70px rgba(255,191,16, calc(.2 * var(--glow,1))), 0 4px 16px rgba(255,191,16, calc(.4 * var(--glow,1)));
}
@media (prefers-reduced-motion: reduce) {
  .btn-primary, .new-sale-btn { animation: none; }
  .bx-fab, .bx-fab::before { animation: none; }
}
@property --bx-ring-a { syntax: '<angle>'; inherits: false; initial-value: 135deg; }
body:not(.gm-active) .nav-item.active {
  box-sizing: border-box;
  border: 1.5px solid transparent;
  background:
    linear-gradient(180deg, #2b2310 0%, #1b1507 100%) padding-box,
    conic-gradient(from var(--bx-ring-a), #ffe487, var(--accent), #6a4900, #ffcf3e, #ffe487) border-box;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 1px 4px rgba(0,0,0,.32);
  animation: none;
}
@keyframes bx-ring-spin { from { --bx-ring-a: 135deg; } to { --bx-ring-a: 495deg; } }
@media (prefers-reduced-motion: reduce) {
  body:not(.gm-active) .nav-item.active { animation: none; }
}
[data-theme="dark"] .nav-section-label { color: rgba(244,244,244,0.2); }
[data-theme="dark"] .dist-status-card {
  background: linear-gradient(145deg, rgba(20,20,26,0.95), rgba(14,14,18,0.92));
  border-color: rgba(255,255,255,0.06);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 2px 16px rgba(0,0,0,.4);
}
[data-theme="dark"] .alert-row-gold { border-bottom-color: rgba(255,255,255,0.05); }
[data-theme="dark"] .alert-row-gold:hover { background: rgba(255,255,255,0.03); }
[data-theme="dark"] .drawer {
  background: #0e0e12;
  border-left-color: rgba(255,255,255,0.07);
  box-shadow: -8px 0 48px rgba(0,0,0,.6);
}
[data-theme="dark"] .drawer-header { border-bottom-color: rgba(255,255,255,0.06); background: #0e0e12; }
[data-theme="dark"] .notif-dropdown {
  background: #0e0e12;
  border-color: rgba(255,255,255,0.07);
  box-shadow: 0 8px 40px rgba(0,0,0,.6);
}
[data-theme="dark"] .notif-item { border-bottom-color: rgba(255,255,255,0.05); }
[data-theme="dark"] .notif-item:hover { background: rgba(255,255,255,0.04); }
[data-theme="dark"] .kpi-value { color: #ffffff; }
[data-theme="dark"] .page-title { color: #ffffff; }
[data-theme="dark"] .target-bar-wrap { background: rgba(255,255,255,0.07); }
[data-theme="dark"] .rank-num.top { background: color-mix(in srgb, var(--accent) 18%, transparent); color: var(--accent); }
.dist-status-card {
  display: flex;
  align-items: center;
  gap: var(--sp-4);
  padding: var(--sp-5) var(--sp-5);
  border: 1px solid var(--br);
  border-radius: var(--radius-sm);
  cursor: pointer;
  background: var(--sf);
  transition: box-shadow .15s, background .25s, border-color .25s;
}
.dist-status-card.just-ordered { background: rgba(22,163,74,.07); border-color: rgba(22,163,74,.30); }
[data-theme="dark"] .dist-status-card.just-ordered {
  background: linear-gradient(145deg, rgba(22,163,74,.13), rgba(14,14,18,0.92));
  border-color: rgba(22,163,74,.32);
}
.dist-status-card.key-account {
  position: relative;
  background: linear-gradient(105deg, color-mix(in srgb, var(--accent) 16%, transparent), color-mix(in srgb, var(--accent) 3%, transparent) 58%);
  border-color: color-mix(in srgb, var(--accent) 55%, transparent);
}
[data-theme="dark"] .dist-status-card.key-account {
  background: linear-gradient(145deg, color-mix(in srgb, var(--accent) 16%, transparent), rgba(14,14,18,0.92));
  border-color: color-mix(in srgb, var(--accent) 50%, transparent);
}
.dist-status-card.key-account::after {
  content: ''; position: absolute; inset: -1px; border-radius: inherit; pointer-events: none;
  box-shadow: 0 0 0 1.5px rgba(255,191,16,.55), 0 0 22px rgba(255,191,16, calc(.30 * var(--glow,1)));
  animation: key-account-pulse 2.6s ease-in-out infinite;
}
@keyframes key-account-pulse { 0%, 100% { opacity: .5; } 50% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .dist-status-card.key-account::after { animation: none; opacity: .85; } }
.dist-status-card.key-account .dist-card-logo {
  align-self: flex-start; margin-top: -10px; margin-left: -4px; position: relative; z-index: 2;
  box-shadow: 0 5px 14px rgba(8,17,31,.16);
}
[data-theme="dark"] .dist-status-card.key-account .dist-card-logo { box-shadow: 0 6px 16px rgba(0,0,0,.5); }
.key-account-badge {
  display: inline-flex; align-items: center; gap: 7px; vertical-align: middle; margin-left: 12px;
  background: linear-gradient(135deg, #ffc524, #ffd96b); color: #5a4200;
  font-size: var(--fs-2xs); font-weight: var(--fw-fuerte); letter-spacing: .03em; line-height: 1.1;
  border-radius: var(--radius-pill); padding: 3px 11px; white-space: nowrap;
  box-shadow: 0 1px 6px rgba(230,160,0,.35), inset 0 1px 0 rgba(255,255,255,.55);
}
.key-account-badge i { font-size: 8.5px; opacity: .9; }
.dist-card-avatar {
  width: 36px; height: 36px; border-radius: 50%;
  border: 2px solid transparent;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.dist-card-avatar span { font-size:var(--fs-base); font-weight: var(--fw-fuerte); }
.dist-card-name  { flex: 0 0 220px; min-width: 0; }   
.dist-card-name > div:first-child { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dist-card-bar   { flex: 1; min-width: 100px; }
.dist-card-status { flex-shrink: 0; }
.dist-card-meta  { flex-shrink: 0; text-align: right; min-width: 60px; }
@media (max-width: 768px) {
  .content { padding: 12px; }
  .card    { padding: 14px; }
  .card-header { flex-wrap: wrap; gap: 8px; }
  .page-header > div { flex-direction: column; align-items: flex-start !important; gap: 10px !important; }
  .page-title  { font-size: min(var(--fs-4xl), 22px); }
  .filter-bar  { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 2px; }
  .filter-bar .bx-ck-chip { flex-shrink: 0; }
  .period-tabs { overflow-x: auto; flex-wrap: nowrap; }
  .period-tab  { white-space: nowrap; flex-shrink: 0; }
  .kpi-value   { font-size: min(var(--kpi-val-size), 22px); }
  .kpi-label   { font-size:var(--fs-2xs); }
  .table-wrap  { border-radius: var(--radius-sm); }
  th, td       { padding: var(--sp-2) var(--sp-3); font-size: var(--fs-sm); }
  .btn         { min-height: 44px; }
  .btn-sm      { min-height: 40px; }
  .icon-btn    { width: 44px; height: 44px; }
  .period-tab, .bx-ck-chip, .lead-view-btn { min-height: 44px; display: inline-flex; align-items: center; }
  .lead-assign-select { min-height: 40px; }
  button > i.fa-pen, button > i.fa-pen-to-square { padding: 6px; }
  .topbar-date { display: none; }
  .dist-status-card {
    flex-wrap: wrap;
    gap: 10px;
    padding: 12px;
  }
  .dist-card-name  { min-width: 0; flex: 1; }
  .dist-card-bar   { order: 3; width: 100%; min-width: 0; flex: none; }
  .dist-card-status { order: 2; }
  .dist-card-meta  { order: 2; min-width: 0; }
  .dist-status-card > .fa-chevron-right { order: 2; }
  .alert-row-red { padding: 10px; }
  .drawer { width: 100vw; }
  #analytics-heatmap { height: 240px !important; }
  .kanban-board { grid-template-columns: 1fr; }
  .card > div[style*="grid-template-columns:repeat(3"] {
    grid-template-columns: 1fr !important;
  }
  .main { padding-bottom: env(safe-area-inset-bottom); }
}
@media (max-width: 480px) {
  .content     { padding: 10px; }
  .page-title  { font-size: min(var(--fs-4xl), 19px); }
  .kpi-value   { font-size: min(var(--kpi-val-size), 20px); }
  .kpi-grid    { grid-template-columns: 1fr 1fr; gap: 8px; }
  .dist-chip   { display: none; }
  .topbar { padding: 0 12px; }
  .topbar-title h1 { font-size:var(--fs-md); }
  .topbar-title p  { display: none; }
}
@media (max-width: 768px) {
  .notif-dropdown {
    position: fixed !important;
    top: 56px !important;
    left: 8px !important;
    right: 8px !important;
    width: auto !important;
    max-height: 70vh;
    overflow-y: auto;
  }
  .bx-fab {
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    right: 16px;
    width: 48px;
    height: 48px;
    font-size:var(--fs-xl);
  }
  #datepicker-panel {
    min-width: unset !important;
    width: calc(100vw - 16px) !important;
    right: 8px !important;
    left: 8px !important;
    top: 56px !important;
  }
  #datepicker-panel > div {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
  }
  #datepicker-panel > div > div:first-child {
    border-right: none !important;
    border-bottom: 1px solid var(--br) !important;
  }
  #dp-calendar > div { padding: 9px 2px !important; font-size:var(--fs-md) !important; }
  #datepicker-panel button[onclick^="dpNavMonth"] { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
  #datepicker-panel button[onclick^="applyCustomRange"] { min-height: 44px; padding: 10px 18px; }
  #dp-quick-list .dp-quick { min-height: 44px; display: flex !important; align-items: center; }   
  .ai-panel {
    bottom: calc(84px + env(safe-area-inset-bottom, 0px)) !important;
  }
  .topbar { gap: 8px; }
  .topbar-right { gap: 6px; }
}
@media (max-width: 480px) {
  .icon-btn:not(#notif-btn):not(#sync-btn):not(#menu-toggle) { display: none; }
}
#briox-map { background: #080a10; height: 680px !important; }
@media (max-width: 768px) { #briox-map { height: 55vw !important; min-height: 260px; max-height: 400px; } }
#briox-map .leaflet-tile-pane { filter: brightness(1.75) contrast(1.04) saturate(0.82); }
.mapboxgl-popup.briox-popup .mapboxgl-popup-content {
  background: rgba(6,8,18,0.94);
  border: 1px solid color-mix(in srgb, var(--accent) 22%, transparent);
  box-shadow: 0 0 0 1px rgba(255, 191, 16, calc(0.08 * var(--glow, 1))), 0 12px 40px rgba(0,0,0,.7);
  border-radius: 10px;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  padding: 0;
  overflow: visible !important;
}
.mapboxgl-popup.briox-popup .mapboxgl-popup-tip { display: none; }
.briox-stem {
  position: absolute;
  bottom: -68px;
  left: 50%;
  transform: translateX(-50%);
  width: 1.5px;
  height: 68px;
  background: linear-gradient(to bottom, color-mix(in srgb, var(--accent) 45%, transparent), color-mix(in srgb, var(--accent) 0%, transparent));
  pointer-events: none;
}
.briox-stem::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--accent) 50%, transparent);
}
.mapboxgl-popup.briox-popup .mapboxgl-popup-close-button {
  color: rgba(255,255,255,0.35);
  font-size:var(--fs-xl);
  top: 6px; right: 8px;
  background: none;
}
.mapboxgl-popup.briox-popup .mapboxgl-popup-close-button:hover { color: var(--accent); }
.mapboxgl-ctrl-group { background: rgba(8,10,20,0.9) !important; border: 1px solid rgba(255,255,255,0.08) !important; }
.mapboxgl-ctrl-group button { background: transparent !important; }
.mapboxgl-ctrl-group button .mapboxgl-ctrl-icon { filter: invert(0.7); }
.mapboxgl-ctrl-group button:hover .mapboxgl-ctrl-icon { filter: invert(1) sepia(1) saturate(3) hue-rotate(15deg); }
.mapboxgl-ctrl-logo, .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-left, .mapboxgl-ctrl-bottom-right { display: none !important; }
.leaflet-popup-content-wrapper {
  background: rgba(6,8,18,0.94) !important;
  border: 1px solid color-mix(in srgb, var(--accent) 22%, transparent) !important;
  box-shadow: 0 0 0 1px rgba(255, 191, 16, calc(0.08 * var(--glow, 1))), 0 12px 40px rgba(0,0,0,.7), 0 0 24px rgba(255, 191, 16, calc(0.06 * var(--glow, 1))) !important;
  border-radius: 10px !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  padding: 0 !important;
}
.leaflet-popup-content { margin: 0 !important; }
.leaflet-popup-tip-container { display: none !important; }
.leaflet-popup-close-button {
  color: rgba(255,255,255,0.35) !important;
  font-size:var(--fs-xl) !important;
  top: 8px !important; right: 10px !important;
}
.leaflet-popup-close-button:hover { color: var(--accent) !important; }
.leaflet-control-zoom a {
  background: rgba(8,10,20,0.92) !important;
  color: rgba(255,255,255,0.7) !important;
  border-color: rgba(255,255,255,0.1) !important;
}
.leaflet-control-zoom a:hover { color: var(--accent) !important; }
.leaflet-control-attribution {
  background: rgba(6,8,18,0.7) !important;
  color: rgba(255,255,255,0.25) !important;
  font-size:var(--fs-sm) !important;
}
.leaflet-control-attribution a { color: rgba(255,255,255,0.3) !important; }
@keyframes map-pulse {
  0%, 100% { transform: scale(1);   opacity: 0.6; }
  50%       { transform: scale(1.6); opacity: 0; }
}
@keyframes map-pulse-ring {
  0%   { transform: scale(0.8); opacity: 0.8; }
  100% { transform: scale(2.2); opacity: 0; }
}
.demo-mode .nav-badge-demo { display: none !important; }
#content.bx-boot-in > * { animation: none;   }
@keyframes bx-boot-content-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { #content.bx-boot-in > * { animation: none; } }
html { background: var(--bg); }
body { transition: opacity .18s var(--ease-out, ease-out); }
html.bx-theme-dip body { opacity: .5; transition-duration: .12s; }
@media (prefers-reduced-motion: reduce) { body { transition: none; } }
#demo-switcher {
  position: fixed; bottom: 22px; left: 50%; transform: translateX(-50%);
  z-index: 100000; display: flex; align-items: center; gap: var(--sp-1);
  background: #1c1c1c; border: 1.5px solid color-mix(in srgb, var(--accent) 55%, transparent);
  border-radius: var(--radius-pill); padding: var(--sp-1) var(--sp-1) var(--sp-1) var(--sp-3);
  box-shadow: 0 10px 34px rgba(0,0,0,.45), 0 0 0 1px rgba(255, 191, 16, calc(.45 * var(--glow, 1)));   
  font-family: var(--font); animation: none;  
}
@keyframes demo-sw-in { from { opacity: 0; transform: translate(-50%, 16px); } to { opacity: 1; transform: translate(-50%, 0); } }
@keyframes demo-sw-glow {
  0%, 100% { box-shadow: 0 10px 34px rgba(8,17,31,.4), 0 0 0 4px rgba(255, 191, 16, calc(.10 * var(--glow, 1))), 0 0 22px rgba(255, 191, 16, calc(.28 * var(--glow, 1))); }
  50%      { box-shadow: 0 10px 34px rgba(8,17,31,.4), 0 0 0 4px rgba(255, 191, 16, calc(.18 * var(--glow, 1))), 0 0 30px rgba(255, 191, 16, calc(.50 * var(--glow, 1))); }
}
#demo-switcher .ds-tag {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: var(--fs-2xs); font-weight: var(--fw-fuerte); letter-spacing: .1em;
  color: var(--accent); padding-right: var(--sp-2);
}
#demo-switcher .ds-btn {
  border: none; cursor: pointer; border-radius: var(--radius-pill);
  padding: 6px 14px; font-size: var(--fs-sm); font-weight: var(--fw-dato);
  background: transparent; color: rgba(255,255,255,.7);
  font-family: var(--font); transition: background .15s, color .15s;
}
#demo-switcher .ds-btn:hover { color: #fff; }
#demo-switcher .ds-btn.on { background: var(--accent); color: #1c1c1c; }
@media (max-width: 768px) {
  #demo-switcher { bottom: 12px; padding: 3px 4px 3px var(--sp-2); }
  #demo-switcher .ds-btn { padding: 8px 14px; min-height: 40px; }
}
#view-switcher, #fabrica-switcher {
  position: fixed; bottom: var(--flot-suelo); left: var(--sidebar-real); right: 0; margin-inline: auto; width: max-content;
  z-index: 100000; display: flex; align-items: center; gap: 2px;
  background: rgba(18, 18, 24, .52);   
  -webkit-backdrop-filter: blur(30px) saturate(1.6);
  backdrop-filter: blur(30px) saturate(1.6);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: var(--radius-pill); padding: 5px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .42), 0 2px 10px rgba(0, 0, 0, .28);
  font-family: var(--font); animation: none;  
}
#view-switcher, #fabrica-switcher, #demo-switcher {
  transition: opacity .2s var(--ease-out), transform .2s var(--ease-out); }
body:has(.modal-overlay) #view-switcher,
body:has(.modal-overlay) #fabrica-switcher,
body:has(.modal-overlay) #demo-switcher { opacity: 0; pointer-events: none; transform: translateY(10px); }
@media (prefers-reduced-motion: reduce) {
  #view-switcher, #fabrica-switcher, #demo-switcher { transition: none; }
}
body:has(#fabrica-switcher) #content,
body:has(#view-switcher) #content { padding-bottom: 96px; }
#view-switcher .ds-tag, #fabrica-switcher .ds-tag {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: var(--fs-2xs); font-weight: var(--fw-fuerte); letter-spacing: .1em;
  color: var(--accent); padding: 0 var(--sp-2);
}
#view-switcher .ds-btn, #fabrica-switcher .ds-btn {
  border: none; cursor: pointer; border-radius: var(--radius-pill);
  padding: 8px 16px; font-size: var(--fs-sm); font-weight: var(--fw-dato);
  background: transparent; color: rgba(255, 255, 255, .68);
  font-family: var(--font);
  transition: transform .12s var(--ease-out);
}
#view-switcher .ds-btn .ds-ico, #fabrica-switcher .ds-btn .ds-ico { display: none; }   
#view-switcher .ds-btn:hover, #fabrica-switcher .ds-btn:hover { color: #fff; background: rgba(255, 255, 255, .07); }
#view-switcher .ds-btn:active, #fabrica-switcher .ds-btn:active { transform: scale(.95); }
#view-switcher .ds-btn.on, #fabrica-switcher .ds-btn.on { background: var(--accent); color: #16161a; }
body:has(#bx-copilot) { --flot-suelo: 96px; }
body:has(#bx-copilot) #fabrica-switcher { bottom: var(--flot-suelo); }
.cm-horno-tbl td { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 0; }
@media (max-width: 820px) { .cm-horno-tbl td { max-width: none; white-space: normal; } }
@media (max-width: 768px) {
  :root { --flot-suelo: 12px; }   
  #view-switcher, #fabrica-switcher { bottom: var(--flot-suelo); padding: 4px; }
  #view-switcher .ds-btn, #fabrica-switcher .ds-btn { padding: 9px 14px; min-height: 40px; }
}
.deliveries-today-note {
  display: flex; align-items: center; gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4); margin-bottom: var(--sp-4);
  background: var(--sf); border: 1px solid var(--br);
  border-radius: var(--radius-sm);   
}
.deliveries-today-note > i { color: var(--accent); font-size: var(--fs-xl); flex-shrink: 0; }
.deliveries-today-note .dtn-title { font-size: var(--fs-md); font-weight: var(--fw-dato); color: var(--tx); }
.deliveries-today-note .dtn-sub {
  font-size: var(--fs-sm); color: var(--tx-3);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.deliveries-today-note .dtn-amount { font-size: var(--fs-lg); font-weight: var(--fw-fuerte); color: var(--tx); white-space: nowrap; }
@media (max-width: 768px) {
  .deliveries-today-note .dtn-sub { white-space: normal; }
}
.map-region-panel {
  --mrp-accent: var(--accent);
  margin-bottom: var(--sp-4);
  display: flex; align-items: center;
  min-height: 120px;
  padding: var(--sp-3) var(--sp-5);
  border-radius: var(--radius);
  border: 1px solid color-mix(in srgb, var(--mrp-accent) 30%, var(--br));   
  background:
    linear-gradient(90deg,
      color-mix(in srgb, var(--mrp-accent) 9%, transparent),
      color-mix(in srgb, var(--mrp-accent) 2%, transparent) 42%,
      transparent 72%),
    var(--sf);
  box-shadow: var(--shadow-sm);
  transition: border-color .3s ease, background .3s ease, box-shadow .3s ease;
  overflow: hidden;
}
.map-region-panel[data-state="active"] {
  box-shadow: 0 6px 22px color-mix(in srgb, var(--mrp-accent) 20%, transparent);
}
.map-region-panel .mrp-inner {
  width: 100%;
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--sp-5); flex-wrap: wrap;
  transition: opacity .22s ease;
}
.mrp-idle {
  display: flex; align-items: center; gap: var(--sp-3);
  width: 100%; color: var(--tx-3);
  font-size: var(--fs-md); font-weight: var(--fw-detalle);
}
.mrp-idle i { color: var(--mrp-accent); font-size: var(--fs-base); }
.mrp-id { display: flex; align-items: flex-start; gap: var(--sp-3); min-width: 0; flex: 1 1 280px; }
.mrp-dot { width: 14px; height: 14px; border-radius: 50%; flex-shrink: 0; margin-top: 3px; transition: background .3s ease; }
.mrp-dot-sm { width: 7px; height: 7px; border-radius: 50%; display: inline-block; margin-right: 5px; flex-shrink: 0; }
.mrp-id-txt { min-width: 0; }
.mrp-name { font-size: var(--fs-lg); font-weight: var(--fw-fuerte); color: var(--tx); line-height: 1.15; letter-spacing: -.2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mrp-sub { font-size: var(--fs-xs); font-weight: var(--fw-detalle); color: var(--tx-3); text-transform: uppercase; letter-spacing: .05em; margin-top: 2px; }
.mrp-chips { display: flex; flex-wrap: nowrap; gap: 6px; margin-top: var(--sp-2); overflow: hidden; }
.mrp-chip {
  display: inline-flex; align-items: center;
  font-size: var(--fs-xs); font-weight: var(--fw-dato); color: var(--tx-2);
  background: color-mix(in srgb, var(--mrp-accent) 12%, var(--sf));
  border: 1px solid color-mix(in srgb, var(--mrp-accent) 30%, transparent);
  padding: 3px 9px; border-radius: var(--radius-pill);
}
.mrp-chip-muted { color: var(--tx-3); background: transparent; border-color: var(--br); }
.mrp-stats { display: flex; align-items: center; gap: var(--sp-6); flex-shrink: 0; }
.mrp-stat { text-align: right; min-width: 60px; }
.mrp-stat-label { font-size: var(--fs-2xs); font-weight: var(--fw-dato); color: var(--tx-3); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 2px; white-space: nowrap; }
.mrp-stat-val { font-size: var(--fs-lg); font-weight: var(--fw-fuerte); color: var(--tx); white-space: nowrap; }
.mrp-muted { color: var(--tx-3); font-weight: var(--fw-dato); font-size: var(--fs-sm); }
@media (max-width: 720px) {
  .map-region-panel .mrp-inner { gap: var(--sp-3); }
  .mrp-stats { gap: var(--sp-4); width: 100%; justify-content: space-between; }
  .mrp-stat { text-align: left; min-width: 0; }
  .mrp-chips { flex-wrap: wrap; overflow: visible; row-gap: 6px; }
}
.nav-section-label {
  transition: color .35s ease;
}
.nav-section.section-active > .nav-section-label {
  color: var(--accent);   
}
@keyframes nav-section-glow {
  from { background-position: 100% center; opacity: .35; }
  to   { background-position: 0% center;   opacity: 1; }
}
.kpi-spark { margin-top: var(--sp-3); height: calc(40px * var(--chart-scale, 1)); position: relative; }
.kpi-spark canvas { width: 100% !important; height: 100% !important; display: block; }
.tk-wrap {
  display: flex; gap: var(--sp-4); align-items: stretch;
  min-height: min(760px, calc(100dvh - 200px));
}
.tk-side {
  width: 330px; flex-shrink: 0;
  display: flex; flex-direction: column; min-height: 0;
  background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius);
  padding: var(--sp-3); overflow: hidden;
}
#tk-dept-list { flex: 1 1 auto; overflow-y: auto; min-height: 0; margin: 0 calc(var(--sp-1) * -1); }
.tk-main { flex: 1; min-width: 0; display: flex; flex-direction: column; min-height: 0; }
.tk-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-4); }
@media (max-width: 980px) {
  .tk-wrap { flex-direction: column; }
  .tk-side { width: 100%; }
  .tk-grid { grid-template-columns: 1fr; }
}
.tk-dept {
  display: flex; align-items: center; gap: var(--sp-2); width: 100%; text-align: left;
  padding: var(--sp-3); border: 1px solid var(--br); border-radius: var(--radius-sm);
  background: var(--sf); cursor: pointer; margin-bottom: var(--sp-2); font-family: var(--font);
  color: var(--tx); transition: border-color .15s, background .15s, box-shadow .15s, opacity .15s;
}
.tk-dept:hover { border-color: var(--accent); }
.tk-dept:hover .tk-dept-grip { opacity: .85; }
.tk-dept.active { border-color: var(--accent); background: var(--accent-bg, color-mix(in srgb, var(--accent) 10%, transparent)); }
.tk-dept-grip { color: var(--tx-3); font-size: var(--fs-sm); cursor: grab; opacity: .35; flex-shrink: 0; transition: opacity .15s; touch-action: none; }
.tk-dept-grip:active { cursor: grabbing; }
.tk-dept.tk-dragging { opacity: .45; }
.tk-dept.tk-over { border-color: var(--accent); box-shadow: 0 -2px 0 0 var(--accent) inset; }
.tk-dept-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
.tk-dept-name { font-weight: var(--fw-dato); font-size: var(--fs-md); flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tk-unread { background: var(--red); color: #fff; font-size: var(--fs-2xs); font-weight: var(--fw-fuerte); border-radius: var(--radius-pill); padding: 1px 7px; min-width: 18px; text-align: center; }
.tk-dept-del { flex-shrink: 0; appearance: none; border: 0; background: transparent; color: var(--tx-3);
  width: 30px; height: 30px; min-width: 30px; border-radius: var(--radius-sm); cursor: pointer; padding: 0;
  display: inline-flex; align-items: center; justify-content: center; font-size: var(--fs-sm);
  transition: color .15s, background .15s, opacity .15s, transform .12s var(--ease-out); }
.tk-dept-del:hover { color: var(--red); background: rgba(239,68,68,.12); }
.tk-dept-del:active { transform: scale(.9); }
.tk-dept-del:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; opacity: 1; }
@media (hover: hover) { .tk-dept-del { opacity: 0; }
  .tk-dept:hover .tk-dept-del, .tk-dept.active .tk-dept-del { opacity: 1; } }
.tk-chat { display: flex; flex-direction: column; height: min(66vh, 640px); }
.tk-msgs { flex: 1; overflow-y: auto; display: flex; flex-direction: column; gap: 8px; padding: var(--sp-2) var(--sp-1); }
.tk-msg { max-width: 82%; padding: 9px 14px; border-radius: 14px; font-size: var(--fs-md); line-height: 1.5; word-wrap: break-word; }
.tk-msg.mine { align-self: flex-end; background: var(--blue-accent); color: #fff; border-bottom-right-radius: 4px; }
.tk-msg.theirs { align-self: flex-start; background: var(--sf3); color: var(--tx); border: 1px solid var(--br); border-bottom-left-radius: 4px; }
.tk-msg-time { display: block; font-size: var(--fs-2xs); opacity: .6; margin-top: 3px; }
.tk-msg-text { display: block; }
.tk-msg-img { display: block; max-width: min(300px, 68vw); max-height: 320px; border-radius: 11px;
  cursor: pointer; background: rgba(127,127,127,.12); }
.tk-msg--media { padding: 3px; overflow: hidden; }
.tk-msg--media .tk-msg-img, .tk-msg--media .tk-msg-vid { border-radius: 11px; }
.tk-msg--media.mine .tk-msg-img, .tk-msg--media.mine .tk-msg-vid { border-bottom-right-radius: 2px; }
.tk-msg--media.theirs .tk-msg-img, .tk-msg--media.theirs .tk-msg-vid { border-bottom-left-radius: 2px; }
.tk-msg--media .tk-msg-text { display: block; padding: 5px 9px 3px; }
.tk-msg--media .tk-msg-meta { padding: 0 9px 4px; }
.tk-msg-vid { display: block; max-width: min(300px, 68vw); max-height: 320px; border-radius: 11px;
  background: #000; }
.tk-msg-aud { display: block; width: min(240px, 62vw); height: 38px; }
.tk-msgs { background: var(--tkbg, transparent); background-size: var(--tkbg-size, auto);
  border-radius: 12px; padding-left: var(--sp-3); padding-right: var(--sp-3); }
.tk-fondo--oscuro { --tkbg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22340%22%20height%3D%22340%22%20viewBox%3D%220%200%20340%20340%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-opacity%3D%22.055%22%20stroke-width%3D%221.3%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cg%20transform%3D%22translate%28317%20227%29%20rotate%2827%29%20scale%280.97%29%20translate%28-12%20-12%29%22%3E%3Cpath%20d%3D%22M4%2016c0-5%204-9%208-9s8%204%208%209c0%202-2%203-4%203H8c-2%200-4-1-4-3z%20M8%2016l1-4M12%2016l1-4M16%2016l1-4%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28304%20107%29%20rotate%28331%29%20scale%280.81%29%20translate%28-12%20-12%29%22%3E%3Cpath%20d%3D%22M3%208h13v9H3z%20M16%2011h4l2%203v3h-6z%20M7%2020a2%202%200%20100-4%202%202%200%20000%204%20M18%2020a2%202%200%20100-4%202%202%200%20000%204%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28253%2092%29%20rotate%2863%29%20scale%280.88%29%20translate%28-12%20-12%29%22%3E%3Cpath%20d%3D%22M4%207l8-3%208%203v10l-8%203-8-3z%20M4%207l8%203%208-3%20M12%2010v10%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2879%20268%29%20rotate%28205%29%20scale%281.12%29%20translate%28-12%20-12%29%22%3E%3Cpath%20d%3D%22M12%203a9%209%200%20100%2018%209%209%200%20000-18%20M12%207v5l3%202%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2811%20253%29%20rotate%2845%29%20scale%281.2%29%20translate%28-12%20-12%29%22%3E%3Cpath%20d%3D%22M5%205h14v14H5z%20M9%209h6v6H9z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28130%2096%29%20rotate%2845%29%20scale%280.89%29%20translate%28-12%20-12%29%22%3E%3Cpath%20d%3D%22M12%204l2.5%205.5L20%2010l-4%204%201%206-5-3-5%203%201-6-4-4%205.5-.5z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%281%20183%29%20rotate%280%29%20scale%281.12%29%20translate%28-12%20-12%29%22%3E%3Cpath%20d%3D%22M6%2018c0-4%203-7%206-7s6%203%206%207%20M9%208a3%203%200%20116%200%203%203%200%2001-6%200%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%283%20280%29%20rotate%28331%29%20scale%281.02%29%20translate%28-12%20-12%29%22%3E%3Cpath%20d%3D%22M4%2012h10M14%2012l-4-4M14%2012l-4%204M17%205v14%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2826%2066%29%20rotate%280%29%20scale%280.92%29%20translate%28-12%20-12%29%22%3E%3Cpath%20d%3D%22M12%2021s-7-4.5-7-9a4%204%200%20017-2.6A4%204%200%200119%2012c0%204.5-7%209-7%209z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28150%20246%29%20rotate%28118%29%20scale%280.96%29%20translate%28-12%20-12%29%22%3E%3Cpath%20d%3D%22M5%209h10v7a3%203%200%2001-3%203H8a3%203%200%2001-3-3z%20M15%2011h2a2%202%200%20010%204h-2%20M7%205v2M11%205v2%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28242%20192%29%20rotate%28270%29%20scale%280.93%29%20translate%28-12%20-12%29%22%3E%3Cpath%20d%3D%22M4%2018l5-8%204%205%203-3%204%206z%20M8%207a1.5%201.5%200%20100%203%201.5%201.5%200%20000-3%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28166%2097%29%20rotate%28145%29%20scale%281.08%29%20translate%28-12%20-12%29%22%3E%3Cpath%20d%3D%22M12%203v18M5%208l7-5%207%205%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28242%2045%29%20rotate%28205%29%20scale%280.82%29%20translate%28-12%20-12%29%22%3E%3Cpath%20d%3D%22M6%206l12%2012M18%206L6%2018%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28198%2056%29%20rotate%2812%29%20scale%281.18%29%20translate%28-12%20-12%29%22%3E%3Cpath%20d%3D%22M4%2014l7-9%202%206h7l-7%209-2-6z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28285%20157%29%20rotate%2812%29%20scale%281.15%29%20translate%28-12%20-12%29%22%3E%3Cpath%20d%3D%22M9%2018V6l10%203-10%203%20M9%2018a2.5%202.5%200%2011-5%200%202.5%202.5%200%20015%200%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28179%20202%29%20rotate%2845%29%20scale%281.09%29%20translate%28-12%20-12%29%22%3E%3Cpath%20d%3D%22M3%206h12v9H3z%20M15%209l6-3v9l-6-3z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28105%20294%29%20rotate%28180%29%20scale%281.12%29%20translate%28-12%20-12%29%22%3E%3Cpath%20d%3D%22M12%205c4%200%207%203%207%207s-3%207-7%207-7-3-7-7%203-7%207-7%20M12%209v3l2%202%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28111%2041%29%20rotate%28270%29%20scale%280.91%29%20translate%28-12%20-12%29%22%3E%3Cpath%20d%3D%22M6%204h9l4%204v12H6z%20M15%204v4h4%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2855%2073%29%20rotate%28300%29%20scale%281.14%29%20translate%28-12%20-12%29%22%3E%3Cpath%20d%3D%22M4%2010l8-6%208%206v9H4z%20M10%2019v-5h4v5%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28278%2067%29%20rotate%28205%29%20scale%280.9%29%20translate%28-12%20-12%29%22%3E%3Cpath%20d%3D%22M12%204l7%204v8l-7%204-7-4V8z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28250%20230%29%20rotate%2812%29%20scale%280.78%29%20translate%28-12%20-12%29%22%3E%3Cpath%20d%3D%22M5%2012h14M9%208l-4%204%204%204%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2879%20184%29%20rotate%280%29%20scale%280.85%29%20translate%28-12%20-12%29%22%3E%3Cpath%20d%3D%22M7%204v16M17%204v16M7%209h10M7%2015h10%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E"), linear-gradient(#0b141a,#0b141a);
  --tkbg-size: 340px 340px, auto; }
.tk-fondo--oscuro .tk-msg.theirs { background: #202c33; color: #e9edef; border-color: rgba(255,255,255,.08); }
.tk-fondo--oscuro .tk-msg.mine { background: #005c4b; color: #e9edef; }
.tk-fondo--oscuro .tk-msg-author { color: rgba(233,237,239,.62); }
.tk-fondo--oscuro .tk-msg-time { color: rgba(233,237,239,.55); }
.tk-fondo--oscuro .tk-msg-link { color: #53bdeb; }
.tk-fondo--oscuro .tk-day { color: rgba(233,237,239,.62); background: rgba(255,255,255,.07); }
.tk-fondo--oscuro .tk-empty { color: rgba(233,237,239,.55); }
.tk-fondo--papel { --tkbg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.045'/%3E%3C/svg%3E"), linear-gradient(#faf8f4,#faf8f4);
  --tkbg-size: 140px 140px, auto; }
.tk-fondo--liso { --tkbg: transparent; }
.tk-bgsel { display: flex; gap: 6px; align-items: center; }
.tk-bgsel button { width: 26px; height: 26px; border-radius: 8px; border: 1.5px solid var(--br);
  padding: 0; cursor: pointer; }
.tk-bgsel button.on { border-color: var(--accent); border-width: 2.5px; }
.tk-bgsel .bg-liso { background: var(--sf); }
.tk-bgsel .bg-papel { background: #faf8f4; }
.tk-bgsel .bg-oscuro { background: #0b141a; }
.tk-compose-pie { display: flex; align-items: center; gap: 8px; padding: 6px 4px 0;
  font-size: var(--fs-xs); color: var(--tx-3); }
#tk-mic.grabando { background: var(--estado-urgente, #c0392b); color: #fff; border-color: transparent;
  animation: tkLate 1.1s ease-in-out infinite; }
@keyframes tkLate { 0%,100% { opacity: 1 } 50% { opacity: .62 } }
@media (prefers-reduced-motion: reduce) { #tk-mic.grabando { animation: none } }
.tk-msg-file { display: inline-flex; align-items: center; gap: 7px; font-weight: var(--fw-dato); font-size: var(--fs-sm); color: inherit; text-decoration: none; padding: 6px 2px; }
.tk-msg-file:hover { text-decoration: underline; }
.tk-compose { display: flex; gap: var(--sp-2); margin-top: var(--sp-2); align-items: flex-end; }
.tk-compose textarea { flex: 1; resize: none; }
.tk-list-scroll { max-height: min(66vh, 640px); overflow-y: auto; }
.prio-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-4); margin: var(--sp-8) 0 var(--sp-10); }   
@media (max-width: 820px) { .prio-row { grid-template-columns: 1fr; } }
.prio-card {
  position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: var(--sp-2); text-align: center; min-height: 118px; padding: var(--sp-5) var(--sp-4);
  border: 1px solid var(--br); border-radius: var(--radius); background: var(--sf); color: var(--tx);
  cursor: pointer; user-select: none; min-width: 0; overflow: hidden;   
  transition: transform .18s ease, box-shadow .25s ease, background .25s ease, border-color .2s ease;
}
.prio-card:hover { transform: translateY(-2px); }
.prio-card:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.prio-ico { font-size: 30px; line-height: 1; }
.prio-label { font-weight: var(--fw-fuerte); font-size: var(--fs-lg); }
.prio-state { font-size: var(--fs-xs); font-weight: var(--fw-dato); text-transform: uppercase; letter-spacing: .04em; color: var(--tx-3); }
.prio-state i { margin-right: 3px; }
.prio-ig   .prio-ico { color: #e1306c; }
.prio-dist .prio-ico { color: #10b981; }
.prio-meta .prio-ico { color: #0866ff; }
.prio-ig:hover   { border-color: rgba(214,41,118,.5); }
.prio-dist:hover { border-color: rgba(16,185,129,.5); }
.prio-meta:hover { border-color: rgba(8,102,255,.5); }
.prio-card.active { border-width: 0; box-shadow: 0 4px 14px -8px rgba(0,0,0,.45); }
.prio-card.active .prio-ico, .prio-card.active .prio-label, .prio-card.active .prio-state { color: #fff; }
.prio-card.active .prio-state { opacity: .95; }
.prio-card.prio-ig.active   { background: linear-gradient(120deg, #feda75, #fa7e1e 25%, #d62976 55%, #962fbf 82%, #4f5bd5 100%); }   
.prio-card.prio-dist.active { background: linear-gradient(120deg, #0ba360, #3cba92 100%); }
.prio-card.prio-meta.active { background: linear-gradient(120deg, #0866ff, #0081fb 60%, #0064e0 100%); }
.prio-card.active:hover { box-shadow: 0 10px 22px -10px rgba(0,0,0,.5); transform: translateY(-3px); }
@media (prefers-reduced-motion: reduce) { .prio-card, .prio-card:hover { transform: none; } }
.tk-task { border: 1px solid var(--br); border-radius: var(--radius-sm); padding: var(--sp-3); margin-bottom: var(--sp-2); background: var(--sf); }
.tk-task.done { opacity: .6; }
.tk-task.done .tk-task-title { text-decoration: line-through; }
.tk-task-head { display: flex; align-items: flex-start; gap: var(--sp-2); }
.tk-task-title { font-weight: var(--fw-dato); font-size: var(--fs-md); flex: 1; }
.tk-check { width: 17px; height: 17px; flex-shrink: 0; margin-top: 1px; cursor: pointer; accent-color: var(--accent); }
.tk-task-meta { display: flex; align-items: center; gap: var(--sp-3); margin-top: var(--sp-2); flex-wrap: wrap; font-size: var(--fs-sm); color: var(--tx-3); }
.tk-meta-item { display: inline-flex; align-items: center; gap: 4px; }
.tk-status-sel { font-family: var(--font); font-size: var(--fs-sm); font-weight: var(--fw-dato); border: 1px solid var(--br); border-radius: var(--radius-sm); padding: 4px 8px; background: var(--sf3); color: var(--tx); cursor: pointer; }
.tk-empty { color: var(--tx-3); font-size: var(--fs-md); text-align: center; padding: var(--sp-6) var(--sp-3); margin: auto; }
.tk-cal-head { display: flex; align-items: center; gap: var(--sp-2); margin-bottom: var(--sp-3); }
.tk-cal-title { font-weight: var(--fw-fuerte); font-size: var(--fs-lg); flex: 1; text-align: center; text-transform: capitalize; }
.tk-cal-nav { background: var(--sf3); border: 1px solid var(--br); border-radius: var(--radius-sm); width: 32px; height: 32px; cursor: pointer; font-size:var(--fs-xl); line-height: 1; color: var(--tx-2); flex-shrink: 0; }
.tk-cal-nav:hover { border-color: var(--accent); color: var(--tx); }
.tk-cal-dow { display: grid; grid-template-columns: repeat(7, 1fr); gap: var(--sp-1); margin-bottom: var(--sp-1); }
.tk-cal-dow > div { text-align: center; font-size: var(--fs-2xs); font-weight: var(--fw-dato); color: var(--tx-3); text-transform: uppercase; letter-spacing: .06em; padding-bottom: 2px; }
.tk-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: var(--sp-1); }
.tk-cal-cell { min-height: 120px; border: 1px solid var(--br); border-radius: var(--radius-sm); padding: 6px 7px; background: var(--sf); display: flex; flex-direction: column; gap: 5px; overflow: hidden; }
.tk-cal-cell.empty { background: transparent; border: none; }
.tk-cal-cell:not(.empty) { transition: border-color .15s; }
.tk-cal-cell:not(.empty)[onclick] { cursor: pointer; }
.tk-cal-cell:not(.empty):hover { border-color: var(--accent); }
.tk-cal-today { border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.tk-cal-daynum { font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx-2); }
.tk-cal-today .tk-cal-daynum { color: var(--accent); }
.tk-cal-pills { display: flex; flex-direction: column; gap: 4px; overflow: hidden; }
.tk-cal-pill { display: block; width: 100%; text-align: left; border: none; border-radius: 4px; padding: 4px 8px; line-height: 1.3; font-family: var(--font); font-size: var(--fs-xs); font-weight: var(--fw-dato); color: #fff; background: var(--pill, #888); cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tk-cal-pill::before { content: ''; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--pr, transparent); margin-right: 5px; vertical-align: middle; box-shadow: 0 0 0 1px rgba(255,255,255,.55); }
.tk-cal-pill[draggable="true"] { cursor: grab; touch-action: none; }   
.tk-cal-pill.tk-pill-dragging { opacity: .5; }
.tk-cal-pill.done { opacity: .5; text-decoration: line-through; }
.tk-cal-pill.overdue { box-shadow: 0 0 0 1.5px var(--red); }
.tk-cal-cell.tk-cal-drop { border-color: var(--accent); box-shadow: inset 0 0 0 2px var(--accent); }   
.tk-cal-foot { margin-top: var(--sp-3); font-size: var(--fs-sm); color: var(--tx-3); text-align: center; }
@media (max-width: 768px) {
  .tk-cal-cell { min-height: 84px; }
  .tk-cal-pill { font-size:var(--fs-xs); padding: 3px 6px; }
  .tk-cal-dow > div { font-size:var(--fs-sm); }
}
.tk-msg-meta { display: flex; align-items: center; gap: 4px; margin-top: 3px; }
.tk-msg.mine .tk-msg-meta { justify-content: flex-end; }
.tk-msg-meta .tk-msg-time { display: inline; margin-top: 0; }
.tk-rcpt { display: inline-flex; align-items: center; line-height: 1; opacity: .9; }   
.tk-rcpt.read { color: var(--accent); opacity: 1; }                                     
.tk-tick { display: block; width: 16px; height: 11px; }                                 
.tk-msg { position: relative; }
.tk-msg-del { position: absolute; top: -8px; width: 22px; height: 22px; border-radius: 50%; border: 1px solid var(--br); background: var(--sf); color: var(--red); cursor: pointer; font-size:var(--fs-2xs); display: inline-flex; align-items: center; justify-content: center; box-shadow: var(--shadow-sm); opacity: 0; transition: opacity .15s; z-index: 2; }
.tk-msg.theirs .tk-msg-del { right: -8px; }
.tk-msg.mine .tk-msg-del { left: -8px; }
.tk-msg:hover .tk-msg-del { opacity: .9; }
.tk-msg-del:hover { opacity: 1 !important; background: var(--red); color: #fff; border-color: var(--red); }
@media (hover: none) { .tk-msg-del { opacity: .5; } }   
.tk-paste-preview { display: flex; align-items: center; gap: var(--sp-3); padding: var(--sp-2) var(--sp-3); margin-top: var(--sp-2); border: 1px solid var(--br); border-radius: var(--radius-sm); background: var(--sf3); }
.tk-paste-thumb { width: 46px; height: 46px; object-fit: cover; border-radius: var(--radius-xs); border: 1px solid var(--br); flex-shrink: 0; }
.tk-paste-info { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.tk-paste-info strong { font-size: var(--fs-sm); font-weight: var(--fw-fuerte); }
.tk-paste-info span { font-size: var(--fs-xs); color: var(--tx-3); }
.tk-day-sep { align-self: center; margin: 6px 0 2px; }
.tk-day-sep span { display: inline-block; background: rgba(127,127,127,.16); color: var(--tx-2); font-size: var(--fs-2xs); font-weight: var(--fw-dato); padding: 3px 12px; border-radius: var(--radius-pill); }
.tk-draft { background: linear-gradient(0deg, var(--accent-bg-2, color-mix(in srgb, var(--accent) 5%, transparent)), transparent); }
.tk-msg-author { font-size: var(--fs-2xs); font-weight: var(--fw-dato); margin: 6px 2px -6px; max-width: 82%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tk-msg-author.mine   { align-self: flex-end;   color: var(--blue-accent); }
.tk-msg-author.theirs { align-self: flex-start; color: var(--tx-2); }
.tk-chat-tools { display: flex; justify-content: flex-end; margin-bottom: var(--sp-1); }
.tk-sel-enter { background: transparent; border: 1px solid var(--br); color: var(--tx-2); font-size: var(--fs-xs); font-weight: var(--fw-detalle); padding: 4px 10px; border-radius: var(--radius-pill); cursor: pointer; display: inline-flex; align-items: center; gap: 6px; transition: color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out); }
.tk-sel-enter:hover { color: var(--tx); border-color: var(--accent); }
.tk-selbar { display: flex; align-items: center; gap: var(--sp-3); margin-bottom: var(--sp-2); padding: 6px 8px; background: var(--sf2); border: 1px solid var(--br); border-radius: var(--radius-sm); }
.tk-selbar-x { background: transparent; border: none; color: var(--tx-2); cursor: pointer; font-size: var(--fs-lg); width: 28px; height: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }
.tk-selbar-x:hover { background: var(--sf3); color: var(--tx); }
.tk-selbar-count { flex: 1; font-weight: var(--fw-dato); font-size: var(--fs-sm); color: var(--tx); }
.tk-selbar-del { background: var(--red); color: #fff; border: none; padding: 6px 14px; border-radius: var(--radius-pill); font-weight: var(--fw-dato); font-size: var(--fs-sm); cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.tk-selbar-del[disabled] { opacity: .45; cursor: default; }
.tk-selecting .tk-msg { cursor: pointer; }
.tk-selecting .tk-msg > * { pointer-events: none; }   
.tk-selecting .tk-msg.sel { outline: 2px solid var(--accent); outline-offset: 1px; }
.tk-msg-check { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; border: 1.5px solid currentColor; margin-right: 8px; font-size:var(--fs-sm); opacity: .5; vertical-align: middle; }
.tk-msg-check.on { background: var(--accent); border-color: var(--accent); color: #1c1c1c; opacity: 1; }
.tk-due-field { display: flex; align-items: center; gap: 7px; text-align: left; cursor: pointer; }
.tk-due-field:hover { border-color: var(--accent); }
.tk-dp { position: fixed; z-index: 100001; background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius); box-shadow: var(--shadow); padding: var(--sp-3); width: 270px; }
.tk-dp-head { display: flex; align-items: center; gap: var(--sp-2); margin-bottom: var(--sp-2); }
.tk-dp-title { flex: 1; text-align: center; font-weight: var(--fw-fuerte); font-size: var(--fs-md); text-transform: capitalize; }
.tk-dp-dow { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; margin-bottom: 2px; }
.tk-dp-dow > div { text-align: center; font-size: var(--fs-2xs); font-weight: var(--fw-dato); color: var(--tx-3); }
.tk-dp-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.tk-dp-day { border: none; background: transparent; border-radius: var(--radius-sm); height: 32px; cursor: pointer; font-family: var(--font); font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx); }
.tk-dp-day:hover { background: var(--sf3); }
.tk-dp-day.today { color: var(--accent); font-weight: var(--fw-fuerte); }
.tk-dp-day.selected { background: var(--accent); color: #111; }
.tk-dp-foot { display: flex; justify-content: space-between; margin-top: var(--sp-2); padding-top: var(--sp-2); border-top: 1px solid var(--br); }
.tk-md-bar { display: flex; gap: 4px; margin-bottom: 6px; }
.tk-md-bar button { width: 30px; height: 28px; border: 1px solid var(--br); border-radius: var(--radius-sm); background: var(--sf3); color: var(--tx); cursor: pointer; font-family: var(--font); font-size: var(--fs-sm); }
.tk-md-bar button:hover { border-color: var(--accent); }
.tk-task strong { font-weight: var(--fw-fuerte); }
.tk-task ul { margin: 4px 0 0; padding-left: 18px; }
.tk-task li { margin: 1px 0; }
.cap-wrap { max-width: 560px; margin: 0 auto; }
.cap-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--sp-3); margin-bottom: var(--sp-5); }
.cap-hi { font-size: var(--fs-2xl); font-weight: var(--fw-fuerte); }
.cap-sub { font-size: var(--fs-md); color: var(--tx-2); margin-top: var(--sp-1); }
.cap-logout { background: var(--sf2); border: 1px solid var(--br); color: var(--tx-2); width: 40px; height: 40px; border-radius: var(--radius-sm); cursor: pointer; flex-shrink: 0; }
.cap-logout:hover { color: var(--red); }
.cap-drop { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--sp-2); text-align: center; padding: var(--sp-10) var(--sp-4); background: var(--sf); border: 2px dashed var(--accent); border-radius: var(--radius); cursor: pointer; transition: background .15s; }
.cap-drop:hover { background: var(--sf3); }
.cap-drop i { font-size: var(--fs-3xl); color: var(--accent); }
.cap-drop-title { font-size: var(--fs-lg); font-weight: var(--fw-dato); }
.cap-drop-sub { font-size: var(--fs-sm); color: var(--tx-2); }
.cap-analyzing { display: flex; align-items: center; gap: var(--sp-2); justify-content: center; padding: var(--sp-8) var(--sp-4); margin-top: var(--sp-4); font-size: var(--fs-md); font-weight: var(--fw-detalle); color: var(--tx-2); background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius); }
.cap-error { margin-top: var(--sp-4); padding: var(--sp-4); background: var(--sf); border: 1px solid var(--red); border-radius: var(--radius); color: var(--tx); font-size: var(--fs-md); }
.cap-error i { color: var(--red); margin-right: 6px; }
.cap-retry { margin-left: 8px; background: var(--accent); border: none; border-radius: var(--radius-pill); padding: 4px 12px; font-weight: var(--fw-dato); cursor: pointer; }
.cap-card { margin-top: var(--sp-4); background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius); padding: var(--sp-5); }
.cap-card-title { font-size: var(--fs-lg); font-weight: var(--fw-fuerte); margin-bottom: var(--sp-4); }
.cap-card-title i { color: var(--accent); margin-right: 6px; }
.cap-fields { display: flex; flex-direction: column; gap: var(--sp-3); }
.cap-f { display: flex; flex-direction: column; gap: 4px; flex: 1; }
.cap-f > span { font-size: var(--fs-xs); font-weight: var(--fw-dato); text-transform: uppercase; letter-spacing: .04em; color: var(--tx-2); }
.cap-f input, .cap-line-grid input, .cap-sku { width: 100%; padding: 9px 11px; background: var(--bg); border: 1px solid var(--br); border-radius: var(--radius-sm); color: var(--tx); font-size: var(--fs-md); font-family: var(--font); }
.cap-f-row { display: flex; gap: var(--sp-3); }
.cap-lines-head { font-size: var(--fs-xs); font-weight: var(--fw-dato); text-transform: uppercase; letter-spacing: .04em; color: var(--tx-2); margin: var(--sp-5) 0 var(--sp-2); }
.cap-line { background: var(--bg); border: 1px solid var(--br); border-radius: var(--radius-sm); padding: var(--sp-3); margin-bottom: var(--sp-3); }
.cap-line-top { display: flex; gap: var(--sp-2); align-items: center; }
.cap-line-top .cap-sku { flex: 1; }
.cap-del { background: var(--sf2); border: 1px solid var(--br); color: var(--tx-2); width: 34px; height: 34px; border-radius: var(--radius-sm); cursor: pointer; flex-shrink: 0; }
.cap-del:hover { color: var(--red); }
.cap-raw { font-size: var(--fs-xs); color: var(--tx-3); margin: 6px 0 0; font-style: italic; }
.cap-line-grid { display: grid; grid-template-columns: 1fr 1fr auto; gap: var(--sp-2); align-items: end; margin-top: var(--sp-2); }
.cap-line-grid label { display: flex; flex-direction: column; gap: 4px; }
.cap-line-grid span { font-size: var(--fs-2xs); font-weight: var(--fw-dato); text-transform: uppercase; color: var(--tx-3); }
.cap-linetot { text-align: right; min-width: 84px; }
.cap-linetot span { display: block; font-size: var(--fs-2xs); font-weight: var(--fw-dato); text-transform: uppercase; color: var(--tx-3); }
.cap-linetot strong { font-size: var(--fs-md); font-weight: var(--fw-fuerte); }
.cap-addline { width: 100%; background: var(--sf3); border: 1px dashed var(--br); color: var(--tx-2); padding: 9px; border-radius: var(--radius-sm); font-weight: var(--fw-dato); cursor: pointer; font-size: var(--fs-sm); }
.cap-addline:hover { color: var(--accent); border-color: var(--accent); }
.cap-total-row { display: flex; justify-content: space-between; align-items: center; margin-top: var(--sp-4); padding-top: var(--sp-3); border-top: 2px solid var(--br); font-weight: var(--fw-dato); }
.cap-total-row strong { font-size: var(--fs-xl); font-weight: var(--fw-fuerte); color: var(--accent); }
.cap-totals { margin-top: var(--sp-4); padding-top: var(--sp-3); border-top: 2px solid var(--br); }
.cap-totals .cap-total-row { margin-top: var(--sp-2); padding-top: 0; border-top: none; }
.cap-totals .cap-total-row:first-child { margin-top: 0; }
.cap-totals .cap-total-row:not(.cap-grand) { color: var(--tx-2); font-weight: var(--fw-detalle); }
.cap-totals .cap-total-row:not(.cap-grand) strong { font-size: var(--fs-md); font-weight: var(--fw-dato); color: var(--tx); }
.cap-totals .cap-grand { margin-top: var(--sp-3); padding-top: var(--sp-3); border-top: 1px solid var(--br); }
.cap-iva-row span { display: inline-flex; align-items: center; gap: 4px; }
.cap-iva-input { width: 46px; padding: 3px 6px; border: 1px solid var(--br); border-radius: var(--radius-xs); background: var(--sf3); color: var(--tx); font-family: var(--font); font-size: var(--fs-sm); font-weight: var(--fw-dato); text-align: right; }
.cap-actions { display: flex; gap: var(--sp-3); margin-top: var(--sp-5); }
.cap-cancel { flex: 0 0 auto; padding: 11px 18px; background: var(--sf2); border: 1px solid var(--br); border-radius: var(--radius-sm); color: var(--tx-2); font-weight: var(--fw-dato); cursor: pointer; }
.cap-validate { flex: 1; padding: 11px 18px; background: var(--accent); border: none; border-radius: var(--radius-sm); color: #1c1c1c; font-weight: var(--fw-fuerte); cursor: pointer; font-size: var(--fs-md); }
.cap-validate:disabled { opacity: .6; cursor: default; }
.cap-foot { text-align: center; margin-top: var(--sp-6); }
.cap-pw { background: none; border: none; color: var(--tx-3); font-size: var(--fs-sm); cursor: pointer; }
.cap-pw:hover { color: var(--accent); }
.cap-mine-title { font-size: var(--fs-xs); font-weight: var(--fw-dato); text-transform: uppercase; letter-spacing: .04em; color: var(--tx-2); margin: var(--sp-6) 0 var(--sp-2); }
.cap-mine-row { display: flex; justify-content: space-between; align-items: center; padding: var(--sp-3); background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius-sm); margin-bottom: var(--sp-2); }
.cap-mine-c { font-weight: var(--fw-dato); font-size: var(--fs-md); }
.cap-mine-t { font-size: var(--fs-xs); color: var(--tx-3); }
.cap-mine-row strong { font-weight: var(--fw-fuerte); }
.cap-foot { display: flex; gap: var(--sp-4); justify-content: center; flex-wrap: wrap; }
.caphist-sum { font-size: var(--fs-xs); font-weight: var(--fw-dato); text-transform: uppercase; letter-spacing: .04em; color: var(--tx-2); margin: 0 0 var(--sp-2); }
.caphist-row { display: flex; width: 100%; justify-content: space-between; align-items: center; gap: var(--sp-3); text-align: left; padding: var(--sp-3) var(--sp-4); background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius-sm); margin-bottom: var(--sp-2); cursor: pointer; }
.caphist-row:hover { border-color: var(--accent); }
.caphist-c { font-weight: var(--fw-dato); font-size: var(--fs-md); }
.caphist-meta { font-size: var(--fs-xs); color: var(--tx-3); margin-top: 2px; }
.caphist-row > strong { font-weight: var(--fw-fuerte); white-space: nowrap; }
.caphist-lines { display: flex; flex-direction: column; gap: var(--sp-2); margin: var(--sp-2) 0; }
.caphist-line { display: flex; justify-content: space-between; gap: var(--sp-3); font-size: var(--fs-sm); padding: var(--sp-2) 0; border-bottom: 1px solid var(--br); }
.caphist-line:last-child { border-bottom: none; }
.caphist-line span:first-child { font-weight: var(--fw-detalle); }
.caphist-line span:last-child { color: var(--tx-2); white-space: nowrap; }
.cap-empty { text-align: center; color: var(--tx-3); padding: var(--sp-8) var(--sp-4); font-size: var(--fs-md); }
.team-pct { width: 64px; padding: 5px 7px; background: var(--bg); border: 1px solid var(--br); border-radius: var(--radius-xs); color: var(--tx); font-weight: var(--fw-dato); text-align: right; font-family: var(--font); }
.team-mini { background: var(--sf2); border: 1px solid var(--br); color: var(--tx-2); width: 30px; height: 30px; border-radius: var(--radius-xs); cursor: pointer; margin-left: 4px; }
.team-mini:hover { color: var(--accent); }
.team-mini.danger:hover { color: var(--red); border-color: var(--red); }
.team-log { display: flex; justify-content: space-between; align-items: center; padding: var(--sp-3); border-bottom: 1px solid var(--br); }
.team-log:last-child { border-bottom: none; }
.team-log-c { font-weight: var(--fw-dato); font-size: var(--fs-md); }
.team-log-meta { font-size: var(--fs-xs); color: var(--tx-3); margin-top: 2px; }
.team-log strong { font-weight: var(--fw-fuerte); }
.cred-box { display: flex; flex-direction: column; gap: var(--sp-2); background: var(--bg); border: 1px solid var(--br); border-radius: var(--radius-sm); padding: var(--sp-3); }
.cred-box > div { display: flex; justify-content: space-between; align-items: center; gap: var(--sp-3); }
.cred-box span { font-size: var(--fs-xs); text-transform: uppercase; font-weight: var(--fw-dato); color: var(--tx-3); }
.cred-box strong { font-family: var(--mono); font-size: var(--fs-md); }
.team-close { width: 100%; margin-top: var(--sp-3); background: none; border: none; color: var(--tx-3); font-size: var(--fs-sm); cursor: pointer; padding: 6px; }
#rank-banner {
  background: var(--sf2);
  padding: var(--sp-3) var(--sp-6); display: flex; align-items: center;
  flex-shrink: 0; position: relative; --rnk-glow: 8px;
}
#rank-banner::after {
  content: ''; position: absolute; inset: 0; pointer-events: none; border-radius: 3px;
  border: 1.5px solid var(--gold-ink);
  box-shadow: inset 0 0 calc(var(--rnk-glow)*1.6) rgba(255, 191, 16, calc(.34 * var(--glow, 1))),
                    0 0 var(--rnk-glow) color-mix(in srgb, var(--accent) 42%, transparent);
}
@keyframes rnk-breathe { 0%,100% { opacity: .74; } 50% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { #rank-banner::after { animation: none; opacity: 1; } }
.rnk-body { display: flex; align-items: center; gap: var(--sp-4); width: 100%; }
.rnk-left { display: flex; align-items: center; gap: var(--sp-2); flex-shrink: 0; }
.rnk-icon  { color: var(--gold-ink); font-size: 17px; align-self: center; }
.rnk-label { font-size: var(--fs-sm); font-weight: var(--fw-fuerte); color: var(--tx); letter-spacing: .06em; text-transform: uppercase; }
.rnk-right { display: flex; align-items: center; gap: 12px; margin-left: auto; flex-shrink: 0; }
.rnk-num-wrap { display: flex; align-items: baseline; gap: 3px; }
.rnk-chip { font-size:var(--fs-base); font-weight: var(--fw-fuerte); padding: 4px 10px; border-radius: var(--radius-pill);
  display: inline-flex; align-items: center; gap: 4px; line-height: 1; white-space: nowrap; }
.rnk-fire   { background: rgba(239,68,68,.14); color: #f4736b; }
.rnk-flame { display: inline-block; font-size:var(--fs-md); line-height: 1; transform-origin: bottom center;
  animation: none;   }
.rnk-flame-n { font-weight: var(--fw-black); font-variant-numeric: tabular-nums; }
@keyframes rnk-flame-pop { from { opacity: 0; transform: scale(.5) translateY(3px); } 60% { transform: scale(1.18); } to { opacity: 1; transform: none; } }
.rnk-fire-l0 { background: rgba(239,68,68,.10); color: #f08a82; }
.rnk-fire-l0 .rnk-flame { font-size:var(--fs-base); filter: grayscale(.25); }
.rnk-fire-l1 { background: rgba(239,68,68,.15); color: #f4736b; }
.rnk-fire-l1 .rnk-flame { font-size: 15px; }
.rnk-fire-l2 { background: rgba(245,130,32,.18); color: #ff9d4d; }   
.rnk-fire-l2 .rnk-flame { font-size: 17px; }
.rnk-fire-l3 { background: rgba(245,166,35,.20); color: #ffb454; }   
.rnk-fire-l3 .rnk-flame { font-size: 19px; }
.rnk-fire-l4 { background: color-mix(in srgb, var(--accent) 24%, transparent); color: #ffc847; }   
.rnk-fire-l4 .rnk-flame { font-size: 21px; }
@media (prefers-reduced-motion: reduce) { .rnk-flame { animation: none; opacity: 1; transform: none; } }
.rnk-growth { background: var(--accent-bg); color: var(--gold-ink); }
.rnk-pre  { font-size: var(--fs-sm); font-weight: var(--fw-fuerte); color: var(--gold-ink); letter-spacing: .12em; text-transform: uppercase; margin-right: 4px; align-self: center; }
.rnk-num  { font-size: var(--fs-4xl); font-weight: var(--fw-black); color: var(--gold-ink); line-height: 1; }
.rnk-pct-sym { font-size: var(--fs-2xl); font-weight: var(--fw-fuerte); color: var(--gold-ink); }
.rnk-sublabel { font-size: var(--fs-sm); color: var(--tx-2); margin-top: 2px; transition: opacity .3s ease; }
.rnk-sublabel.fade { opacity: 0; }
.rnk-sublabel b { color: var(--tx); font-weight: var(--fw-fuerte); }
[data-theme="dark"] #rank-banner { background: rgba(255,255,255,.03); }
html:not([data-theme="dark"]) #rank-banner:not(.practice) {
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 13%, transparent) 0%, color-mix(in srgb, var(--accent) 4.5%, transparent) 100%);
}
html:not([data-theme="dark"]) #rank-banner:not(.practice)::after {
  border-color: rgba(212,160,23,.40);
  box-shadow: inset 0 0 calc(var(--rnk-glow)*1.3) rgba(255, 191, 16, calc(.16 * var(--glow, 1)));
}
#rank-banner.practice {
  background: linear-gradient(135deg, #20232e 0%, #2b2f3d 50%, #1f2330 100%);
}
#rank-banner.practice::after {
  border-color: #d9dde6;
  box-shadow: inset 0 0 calc(var(--rnk-glow)*1.8) rgba(228,232,240,.32),
                    0 0 calc(var(--rnk-glow)*1.2) rgba(228,232,240,.55);
}
#rank-banner.practice .rnk-label    { color: #eef1f6; }
#rank-banner.practice .rnk-sublabel { color: #c5cbd8; }
#rank-banner.practice .rnk-growth { color: #d8dde7; background: rgba(228,232,240,.12); }
#rank-banner.practice .rnk-sublabel b { color: #fff; }
#rank-banner.practice .rnk-icon,
#rank-banner.practice .rnk-pre,
#rank-banner.practice .rnk-pct-sym { color: #d3d8e2; }
#rank-banner.practice .rnk-num {
  color: #d3d8e2;
  background: linear-gradient(135deg, #ffffff 0%, #c2cad9 38%, #ffffff 52%, #aab3c4 100%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 8px rgba(232,236,244,.7));
}
@media (max-width: 600px) {
  #rank-banner { padding: var(--sp-4) var(--sp-4); }
  .rnk-body { gap: var(--sp-3); }
  .rnk-left { align-items: flex-start; flex: 1; min-width: 0; }
  .rnk-left > div { min-width: 0; flex: 1; }
  .rnk-icon { font-size: 15px; margin-top: 1px; }
  .rnk-label { line-height: 1.3; }
  .rnk-sublabel { margin-top: 4px; line-height: 1.4; min-height: calc(1.4em * 2);
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .rnk-num { font-size: var(--fs-3xl); }
  .rnk-pct-sym { font-size: var(--fs-xl); }
  .rnk-chip { display: none; }            
  .rnk-right { gap: 0; flex-shrink: 0; align-self: center; }
}
#practice-overlay {
  position: fixed; inset: 0; z-index: 2147483000; pointer-events: none;
  border: 2px solid #7c3aed;                 
  animation: practice-breathe 3s ease-in-out infinite;
}
@keyframes practice-breathe {
  0%,100% { border-color: #7c3aed; box-shadow: inset 0 0 16px rgba(124,58,237,.22); }
  50%      { border-color: #a78bfa; box-shadow: inset 0 0 48px rgba(124,58,237,.42); }
}
.btn-practice {
  border: none; background: transparent; cursor: pointer;
  padding: 5px 10px; border-radius: var(--radius-xs);
  font-family: var(--font); font-size: var(--fs-xs); font-weight: var(--fw-dato); letter-spacing: .05em;
  color: rgba(124,58,237,.75); display: flex; align-items: center; gap: 5px;
  transition: background .15s, color .15s; flex-shrink: 0;
}
.btn-practice:hover { background: rgba(124,58,237,.1); color: #7c3aed; }
.btn-practice.active { background: rgba(124,58,237,.15); color: #7c3aed; }
[data-theme="dark"] .btn-practice       { color: rgba(196,181,253,.65); }
[data-theme="dark"] .btn-practice:hover { background: rgba(124,58,237,.2); color: #c4b5fd; }
[data-theme="dark"] .btn-practice.active{ background: rgba(124,58,237,.25); color: #c4b5fd; }
.com-hero { margin-bottom: var(--sp-6); }
.com-kpis { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--sp-3); margin-bottom: var(--sp-4); }
.com-kpi  { background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius-sm); padding: var(--sp-4) var(--sp-4) var(--sp-3); text-align: center; }
.com-kpi__val   { font-size: var(--fs-2xl); font-weight: var(--fw-black); color: var(--gold-ink); line-height: 1; min-height: 28px; display: flex; align-items: center; justify-content: center; }   
.com-kpi__label { font-size: var(--fs-xs); color: var(--tx-2); margin-top: 5px; font-weight: var(--fw-dato); text-transform: uppercase; letter-spacing: .06em; }
.com-kpi__sub   { font-size: var(--fs-xs); color: var(--tx-3); margin-top: 2px; }
.com-rank {
  background: linear-gradient(135deg, #1c1c1c 0%, #2a2420 100%);
  border-radius: var(--radius); padding: var(--sp-5) var(--sp-6);
  text-align: center; color: #fff; position: relative; overflow: hidden;
}
.com-rank::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(circle at 50% 110%, color-mix(in srgb, var(--accent) 20%, transparent) 0%, transparent 65%);
}
.com-rank__top { font-size: var(--fs-xs); font-weight: var(--fw-fuerte); letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.45); }
.com-rank__big { font-size: var(--hero-val-size); font-weight: var(--fw-black); color: var(--accent); line-height: 1; letter-spacing: -2px; display: flex; align-items: flex-start; justify-content: center; gap: 4px; }
.com-rank__pct { font-size:var(--fs-3xl); font-weight: var(--fw-black); margin-top: 8px; }
.com-rank__sub { font-size: var(--fs-sm); color: rgba(255,255,255,.5); margin-top: 4px; }
.com-rank__gap {
  font-size: var(--fs-sm); color: rgba(255,255,255,.8); margin-top: var(--sp-3);
  background: rgba(255,255,255,.08); border-radius: var(--radius-pill);
  padding: 6px 18px; display: inline-block;
}
.com-rank__gap b { color: var(--accent); }
@media (max-width: 480px) { .com-kpis { grid-template-columns: repeat(2,1fr); } }
.team-close:hover { color: var(--tx); }
#nav-presentacion .nav-item {
  color: var(--accent);
  background: var(--sf2);
  border-radius: var(--radius-sm);
  font-weight: var(--fw-detalle);
}
#nav-presentacion .nav-item i { color: var(--accent); }
#nav-presentacion .nav-item.active {
  background: linear-gradient(90deg, color-mix(in srgb, var(--accent) 34%, transparent), color-mix(in srgb, var(--accent) 10%, transparent));
  color: #fff;
}
#nav-presentacion .nav-item.active i { color: #fff; }
@keyframes presentGlow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255,191,16,0); }
  50%      { box-shadow: 0 0 16px 1px rgba(255,191,16, calc(.50 * var(--glow,1))); }
}
@media (prefers-reduced-motion: reduce) { #nav-presentacion .nav-item { animation: none; } }
.lang-toggle {
  display: inline-flex; align-items: center; gap: 2px;
  background: var(--sf3, rgba(255,255,255,.06));
  border: 1px solid var(--br, rgba(255,255,255,.12));
  border-radius: var(--radius-pill); padding: 2px; cursor: pointer;
  font-family: inherit; line-height: 1;
}
.lang-toggle .lang-opt {
  font-size: var(--fs-xs); font-weight: var(--fw-fuerte); letter-spacing: .04em;
  padding: 4px 9px; border-radius: var(--radius-pill); color: var(--tx-3);
  transition: background .15s, color .15s;
}
.lang-toggle .lang-opt[data-l="es"] { background: var(--accent); color: #1c1c1c; }
.lang-toggle.fr .lang-opt[data-l="es"] { background: transparent; color: var(--tx-3); }
.lang-toggle.fr .lang-opt[data-l="fr"] { background: var(--accent); color: #1c1c1c; }
.lang-switch { position: relative; display: inline-flex; }
.bx-lang-anim { transition: opacity .17s var(--ease-out); will-change: opacity; }
.bx-lang-anim.bx-lang-out { opacity: .18; }
@media (prefers-reduced-motion: reduce) { .bx-lang-anim { transition: none; } .bx-lang-anim.bx-lang-out { opacity: 1; } }
.lang-switch-btn {
  display: inline-flex; align-items: center; gap: 5px;
  background: var(--sf3, rgba(255,255,255,.06));
  border: 1px solid var(--br, rgba(255,255,255,.12));
  border-radius: var(--radius-pill); padding: 6px 11px; cursor: pointer;
  font-family: inherit; line-height: 1; color: var(--tx-2);
  font-size: var(--fs-xs); font-weight: var(--fw-fuerte); letter-spacing: .04em;
  transition: background .15s, color .15s, border-color .15s, transform .1s;
}
.lang-switch-btn:hover { color: var(--tx); border-color: var(--accent); }
.lang-switch-btn:active { transform: scale(.97); }
.lang-switch-btn i { font-size:var(--fs-sm); color: var(--gold-ink, var(--accent)); }
.lang-menu {
  position: absolute; top: calc(100% + 6px); right: 0; z-index: 600;
  display: none; flex-direction: column; min-width: 152px;
  background: var(--sf, #fff); border: 1px solid var(--br);
  border-radius: var(--radius-md, 12px); box-shadow: var(--shadow-lg, 0 12px 34px rgba(0,0,0,.22));
  padding: 6px; gap: 2px;
}
.lang-menu.open { display: flex; animation: lang-menu-in .16s var(--ease-out, ease) both; }
@keyframes lang-menu-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.lang-menu button {
  text-align: left; background: none; border: none; cursor: pointer; font-family: inherit;
  font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx);
  padding: 9px 11px; border-radius: var(--radius-sm, 8px); transition: background .12s;
}
.lang-menu button:hover { background: var(--sf3); }
.lang-menu button.active { background: var(--accent); color: #1c1c1c; font-weight: var(--fw-fuerte); }
@media (max-width: 768px) { .lang-switch-btn { min-height: 44px; } .lang-menu button { padding: 11px; } }
:root {
  --ease-out:    cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
  --dur-press:   120ms;
  --dur-fast:    160ms;
  --tb-dur:      110ms;
  --mo-vel:     1;
  --mo-stagger: 40ms;
  --shadow-lg:   0 8px 24px rgba(60,60,67,.12), 0 2px 6px rgba(60,60,67,.06);
  --scrim:       rgba(10,12,18,.46);
}
[data-theme="dark"] {
  --estado-bien-ink:    #22c55e;   
  --estado-ojo-ink:     #f59e0b;   
  --estado-urgente-ink: #f87171;   
  --estado-sindatos-ink:#a1a1aa;   
  --etapa-amasado-ink:  #a5a3f5;   
  --etapa-horno-ink:    #ff9500;   
  --etapa-empaque-ink:  #2dd4bf;   
  --shadow-lg: 0 16px 48px rgba(0,0,0,.7), 0 4px 16px rgba(0,0,0,.5);
  --scrim:     rgba(0,0,0,.62);
  --tx-2:      rgba(244,244,244,0.62);   
}
.kpi-value { font-variant-numeric: tabular-nums; }
tbody td, tfoot td { font-variant-numeric: tabular-nums; }
.btn:active, .btn-navy:active,
.period-tab:active {
  transform: scale(0.97);
  transition: transform var(--dur-press) var(--ease-out);
}
.btn-primary:active, .new-sale-btn:active {
  transform: translateY(0) scale(0.98);
  transition: transform var(--dur-press) var(--ease-out);
}
.kpi-card:active, .cm-kpi:active, .cm-alert:active,
.dist-status-card:active, .alert-row-red:active,
.lb-row:active, .lb-card:active, .nav-item:active {
  transform: scale(0.98);
  transition: transform var(--dur-press) var(--ease-out);
}
.btn:focus-visible, .btn-navy:focus-visible,
.period-tab:focus-visible,
.ob-select:focus-visible, .ob-qty:focus-visible, .lead-assign-select:focus-visible,
.cap-f input:focus-visible, .cap-sku:focus-visible, .cap-line-grid input:focus-visible,
.kpi-card.map-mode-card:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
.nav-item:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
@keyframes bx-overlay-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes bx-modal-in { from { opacity: 0; transform: scale(0.985) translateY(8px); } to { opacity: 1; transform: none; } }
.card:hover { border-color: var(--br-2); }
[data-theme="dark"] th { color: var(--tx-2); border-bottom-color: var(--br-2); }
[data-theme="dark"] td { border-bottom-color: var(--br); }
tbody td, tfoot td, thead th { line-height: 1.35; }
.kpi-card:hover { border-top-color: var(--accent); }
[data-theme="dark"] .kpi-card { border-top: 1px solid color-mix(in srgb, var(--accent) 20%, transparent); }
thead th { font-weight: var(--fw-detalle); }
.empty-state i { font-size: var(--fs-3xl); margin-bottom: var(--sp-1); color: var(--br-2); opacity: .8; }
.empty-state p { font-size: var(--fs-base); color: var(--tx-2); max-width: 34ch; line-height: 1.5; }
.empty-state-art { padding: var(--sp-8) var(--sp-6); gap: 0; }
.empty-art { width: 124px; height: 124px; margin: 0 auto var(--sp-4); display: block; object-fit: contain;
  filter: drop-shadow(0 12px 22px rgba(0,0,0,.16)); animation: none;   }
[data-theme="dark"] .empty-art { filter: drop-shadow(0 14px 26px rgba(0,0,0,.55)); }
.empty-art-title { font-size: var(--fs-lg); font-weight: var(--fw-fuerte); color: var(--tx); margin: 0; max-width: none; }
.empty-art-sub { font-size: var(--fs-sm); color: var(--tx-2); margin: 6px auto 0; max-width: 380px; line-height: 1.5; }
@keyframes empty-art-in { from { opacity: 0; transform: scale(.84) rotate(-5deg); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .empty-art { animation: none; } }
@media (prefers-reduced-motion: reduce) {
  .btn:active, .btn-navy:active,
  .period-tab:active, .btn-primary:active, .new-sale-btn:active,
  .kpi-card:active, .cm-kpi:active, .cm-alert:active, .dist-status-card:active, .alert-row-red:active,
  .lb-row:active, .lb-card:active, .nav-item:active, .bx-fab:active { transform: none; }
  .modal-box { animation: none; }
  .card:hover { transform: none; }
}
.holded-loading {
  width: max-content; max-width: min(560px, calc(100vw - var(--sidebar-real) - 32px));
  border-radius: var(--radius-pill);
  display: flex; align-items: center; justify-content: center;
  gap: var(--sp-3); flex-wrap: wrap; text-align: center;
  padding: var(--sp-3) var(--sp-4);
  background: linear-gradient(90deg, var(--accent), #ffd451);
  color: #1c1c1c; font-size: var(--fs-md); font-weight: var(--fw-fuerte); letter-spacing: .2px;
  box-shadow: 0 6px 22px -8px rgba(0, 0, 0, .45);
  animation: holded-loading-in .35s var(--ease-out, ease) both;
}
.holded-loading i { color: #1c1c1c; }
.holded-loading b { font-weight: var(--fw-black); }
.holded-loading small { color: #1c1c1c; opacity: .72; font-weight: var(--fw-detalle); font-size: var(--fs-sm); }
.holded-loading small::before { content: '·'; margin-right: var(--sp-3); opacity: .5; }
.holded-loading.hide { opacity: 0; transform: translateX(-50%) translateY(10px); transition: opacity .4s ease, transform .4s ease; }
@keyframes holded-loading-in {
  from { opacity: 0; transform: translateY(-100%); }
  to   { opacity: 1; transform: translateY(0); }
}
@media (max-width: 600px) {
  .holded-loading { font-size: var(--fs-sm); padding: var(--sp-2) var(--sp-3); gap: var(--sp-2); }
  .holded-loading small { display: none; }
}
@media (prefers-reduced-motion: reduce) { .holded-loading { animation: none; } }
.rn-day { font-size: var(--fs-sm); font-weight: var(--fw-fuerte); text-transform: uppercase; letter-spacing: .5px;
  color: var(--accent); margin: var(--sp-3) 0 var(--sp-1); }
.rn-win { font-size: var(--fs-xs); font-weight: var(--fw-dato); color: var(--tx-3); text-transform: uppercase;
  letter-spacing: .5px; margin: var(--sp-2) 0 var(--sp-1); }
.rn-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: var(--sp-2); }
.rn-cell { border: 1px solid var(--br); border-radius: var(--radius-sm); padding: var(--sp-2);
  text-align: center; min-height: 54px; display: flex; flex-direction: column; justify-content: center; gap: 2px; }
.rn-cell .rn-t { font-size: var(--fs-sm); font-weight: var(--fw-fuerte); color: var(--tx); }
.rn-cell .rn-who { font-size: var(--fs-2xs); color: var(--tx-3); overflow: hidden; text-overflow: ellipsis;
  white-space: nowrap; }
.rn-cell.free { opacity: .55; }
.rn-cell.booked { background: var(--sf2); border-color: color-mix(in srgb, var(--accent) 50%, transparent); }
.rn-cell.booked .rn-who { color: var(--accent); font-weight: var(--fw-dato); }
.rn-cell.hold { background: color-mix(in srgb, var(--accent) 5%, transparent); border-style: dashed; border-color: color-mix(in srgb, var(--accent) 40%, transparent); }
.rn-cell.hold .rn-who { color: var(--accent); font-style: italic; }
.rn-cell.blocked { background: rgba(239,68,68,.12); border-color: rgba(239,68,68,.5); opacity: 1; }
.rn-cell.blocked .rn-t { color: #ef4444; }
.rn-cell.blocked .rn-who { color: #ef4444; font-weight: var(--fw-dato); }
.rn-cell.paintable { cursor: pointer; transition: transform .12s var(--ease-out, ease), box-shadow .12s ease; }
.rn-cell.paintable:hover { transform: translateY(-1px); box-shadow: var(--shadow-sm); }
.rn-cell.paintable:active { transform: translateY(0) scale(.98); }
.rn-cell.free.editing { opacity: 1; background: rgba(16,163,74,.12); border-color: rgba(16,163,74,.5); }
.rn-cell.free.editing .rn-t { color: #16a34a; }
.rn-cell.free.editing .rn-who { color: #16a34a; font-weight: var(--fw-dato); }
.rn-cell.editing.booked, .rn-cell.editing.hold { cursor: not-allowed; }
.rn-legend { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3);
  margin: 0 0 var(--sp-3); font-size: var(--fs-sm); color: var(--tx-2); }
.rn-legend-item { display: inline-flex; align-items: center; gap: var(--sp-2); }
.rn-sw { width: 14px; height: 14px; border-radius: var(--radius-xs); border: 1px solid var(--br); display: inline-block; flex-shrink: 0; }
.rn-sw-free { background: rgba(16,163,74,.28); border-color: rgba(16,163,74,.55); }
.rn-sw-blocked { background: rgba(239,68,68,.28); border-color: rgba(239,68,68,1); }
.rn-legend-hint { color: var(--tx-3); font-size: var(--fs-xs); }
.rn-att { margin-top: var(--sp-1); font-size: var(--fs-2xs); color: var(--tx-3); line-height: 1.6; }
.rn-att i { font-size: 9px; opacity: .7; margin-right: 2px; }
.rn-att-role { color: var(--tx-2); }
.rn-att-count { color: var(--accent); font-weight: var(--fw-dato); }
.rn-zone { margin-top: 2px; font-size: var(--fs-xs); color: var(--accent); font-weight: var(--fw-detalle); }
.rn-zone i { font-size: 9px; opacity: .8; margin-right: 3px; }
.rn-meet { display: inline-flex; align-items: center; gap: var(--sp-2); }
.rn-meet-link { display: inline-flex; align-items: center; gap: 6px; padding: 6px 13px; border-radius: var(--radius-pill);
  background: rgba(16,163,74,.14); color: #16a34a; font-size: var(--fs-sm); font-weight: var(--fw-dato); text-decoration: none;
  white-space: nowrap; border: none; cursor: pointer; font-family: inherit;
  transition: transform .14s var(--ease-out, ease), background .2s ease; }
.rn-meet-link:hover { background: rgba(16,163,74,.22); transform: translateY(-1px); }
.rn-meet-link:active { transform: scale(.97); }
.rn-meet-link i { font-size:var(--fs-xs); }
.rn-meet-copy { border: 1px solid var(--br); background: var(--surface-2, transparent); color: var(--tx-3);
  width: 30px; height: 30px; border-radius: var(--radius-xs); cursor: pointer; flex-shrink: 0; transition: .15s; }
.rn-meet-copy:hover { color: var(--accent); border-color: var(--accent); }
.rn-meet-copy:active { transform: scale(.92); }
.rn-quick-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--sp-3); }
.rn-quick-field { display: flex; flex-direction: column; gap: 5px; }
.rn-quick-field > span { font-size: var(--fs-2xs); font-weight: var(--fw-dato); text-transform: uppercase; letter-spacing: .05em; color: var(--tx-3); }
.rn-quick-field input, .rn-quick-field select { font-family: var(--font); font-size: var(--fs-md); color: var(--tx); background: var(--sf2); border: 1px solid var(--br); border-radius: var(--radius-sm); padding: 9px 12px; outline: none; transition: border-color .18s var(--ease-out), box-shadow .18s var(--ease-out); }
.rn-quick-field input:focus, .rn-quick-field select:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-bg); }
.rn-quick-grow { flex: 1; min-width: 200px; }
.rn-quick-grow input { width: 100%; }
.rn-quick-btn { white-space: nowrap; }
.rn-quick-result:empty { display: none; }
.rn-quick-ok { margin-top: var(--sp-4); padding: var(--sp-4); border: 1px solid var(--br); border-radius: var(--radius-sm); background: var(--sf2); }   
.rn-quick-ok-h { font-size: var(--fs-md); font-weight: var(--fw-dato); color: var(--tx); margin-bottom: var(--sp-3); }
.rn-quick-ok-h i { color: #16a34a; margin-right: 6px; }
.rn-quick-link { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; margin-bottom: var(--sp-2); }
.rn-quick-link-lbl { font-size: var(--fs-2xs); font-weight: var(--fw-dato); text-transform: uppercase; letter-spacing: .05em; color: var(--tx-3); width: 100%; }
.rn-quick-link code { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--fs-sm); color: var(--tx-2); background: var(--bg); border: 1px solid var(--br); border-radius: var(--radius-xs); padding: 7px 10px; }
.rn-quick-hint { font-size: var(--fs-xs); color: var(--tx-3); line-height: 1.5; margin-top: var(--sp-2); }
@media (max-width: 640px) { .rn-quick-field { flex: 1; min-width: 120px; } .rn-quick-grow { flex-basis: 100%; } .rn-quick-btn { width: 100%; } }
.rncal-head { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); flex-wrap: wrap; margin-bottom: var(--sp-3); }
.rncal-count { margin-left: var(--sp-3); font-size: var(--fs-sm); font-weight: var(--fw-medium); color: var(--tx-3); }
.rncal-nav { display: flex; align-items: center; gap: 6px; }
.rncal-navbtn { width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
  background: none; border: 1px solid var(--br); border-radius: var(--radius-sm); color: var(--tx-2); cursor: pointer;
  transition: background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.rncal-navbtn:hover { background: var(--sf2); color: var(--tx); }
.rncal-hoy { padding: 6px 12px; background: none; border: 1px solid var(--br); border-radius: var(--radius-pill);
  font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-2); cursor: pointer;
  transition: background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.rncal-hoy:hover { background: var(--sf2); color: var(--tx); }
.rncal-dow { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; margin-bottom: 6px; }
.rncal-dow span { text-align: center; font-size: var(--fs-2xs); font-weight: var(--fw-dato); text-transform: uppercase;
  letter-spacing: .06em; color: var(--tx-3); }
.rncal-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.rncal-cell { min-height: 92px; padding: 6px; border: 1px solid var(--br); border-radius: var(--radius-sm);
  background: var(--sf); display: flex; flex-direction: column; gap: 3px; overflow: hidden; }
.rncal-cell.is-out { border: 0; background: none; min-height: 0; }
.rncal-cell.has-ev { background: var(--sf2); }
.rncal-cell.is-today { border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.rncal-num { font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx-2); }
.rncal-cell.is-today .rncal-num { color: var(--accent); }
.rncal-pill { display: flex; align-items: baseline; gap: 5px; width: 100%; padding: 3px 6px; border: 0;
  border-radius: var(--radius-xs); background: var(--bg); cursor: pointer;
  text-align: left; overflow: hidden; transition: transform var(--dur-press) var(--ease-out), background var(--dur-fast) var(--ease-out); }
.rncal-pill:hover { background: var(--sf); }
.rncal-pill:active { transform: scale(.97); }
.rncal-pill::before { content: ''; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--pr, var(--tx-3)); margin-right: 4px; flex: none; align-self: center; }
.rncal-pill.is-booked  { --pr: var(--green); }
.rncal-pill.is-hold    { --pr: var(--amber); }
.rncal-pill.is-instant { --pr: var(--accent); }
.rncal-h { font-size: var(--fs-2xs); font-weight: var(--fw-dato); color: var(--tx-2); font-variant-numeric: tabular-nums; flex: none; }
.rncal-n { font-size: var(--fs-2xs); color: var(--tx-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rncal-mas { font-size: var(--fs-2xs); color: var(--tx-3); padding-left: 6px; }
.rncal-cell { position: relative; }
.rncal-add { flex: 1; min-height: 20px; margin: 0 -2px -2px; display: flex; align-items: center; justify-content: center;
  background: none; border: 0; border-radius: var(--radius-xs); color: var(--tx-3); cursor: pointer;
  opacity: 0; transition: opacity var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.rncal-cell:hover .rncal-add, .rncal-add:focus-visible { opacity: 1; }
.rncal-add:hover { background: var(--accent-bg); color: var(--accent); }
.rncal-add:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.rncal-cell.is-past { opacity: .62; }
.rncal-pop { position: fixed; margin: 0; inset: auto; width: 300px; padding: var(--sp-4); display: flex; flex-direction: column; gap: var(--sp-3);
  background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius);
  box-shadow: 0 18px 44px rgba(0,0,0,.16), 0 4px 12px rgba(0,0,0,.08); color: var(--tx); }
.rncal-pop:not(:popover-open):not(.is-open) { display: none; }
.rncal-pop.is-open { display: flex; }
.rncal-pop-h { font-size: var(--fs-md); font-weight: var(--fw-fuerte); color: var(--tx); }
.rncal-pop-row { display: flex; gap: var(--sp-3); }
.rncal-pop-row .rn-quick-field { flex: 1; min-width: 0; }
.rncal-pop-row input, .rncal-pop-row select, .rncal-pop .rn-quick-field input { width: 100%; }
.rncal-pop-btn { width: 100%; justify-content: center; }
.rncal-pop-msg:empty { display: none; }
.rncal-pop-msg { font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--red); }
tr.rncal-hit > td { animation: rncal-hit .9s var(--ease-out) 1; }
@keyframes rncal-hit { 0% { background: color-mix(in srgb, var(--accent) 26%, transparent); } 100% { background: transparent; } }
@media (max-width: 720px) { .rncal-cell { min-height: 62px; } .rncal-n { display: none; } }
@media (prefers-reduced-motion: reduce) { tr.rncal-hit > td { animation: none; } }
.rn-quick-row { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4); flex-wrap: wrap; }
.rn-quick-lead { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.rn-quick-sub { font-size: var(--fs-sm); color: var(--tx-3); }
@media (max-width: 640px) { .rn-quick-row { align-items: stretch; } .rn-quick-row .rn-quick-btn { width: 100%; } }
.rne-days { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-top: var(--sp-3); }
.rne-days-lbl { font-size: var(--fs-2xs); font-weight: var(--fw-dato); text-transform: uppercase; letter-spacing: .05em; color: var(--tx-3); margin-right: var(--sp-2); }
.rne-day { position: relative; cursor: pointer; }
.rne-day input { position: absolute; opacity: 0; width: 0; height: 0; }
.rne-day span { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: var(--radius-sm); border: 1px solid var(--br); background: var(--sf2); color: var(--tx-3); font-weight: var(--fw-dato); font-size: var(--fs-sm); transition: background .15s var(--ease-out), color .15s var(--ease-out), border-color .15s var(--ease-out); }
.rne-day input:checked + span { background: var(--accent); border-color: var(--accent); color: #161616; }
.rne-day input:focus-visible + span { box-shadow: 0 0 0 3px var(--accent-bg); }
.rne-list { display: flex; flex-direction: column; gap: var(--sp-2); margin-top: var(--sp-4); }
.rne-item { display: flex; align-items: center; gap: var(--sp-3); padding: var(--sp-3); border: 1px solid var(--br); border-radius: var(--radius-sm); background: var(--sf2); }
.rne-item.rne-off { opacity: .6; }
.rne-item-main { flex: 1; min-width: 0; }
.rne-item-title { font-weight: var(--fw-dato); color: var(--tx); font-size: var(--fs-md); }
.rne-badge-off { font-size: var(--fs-2xs); font-weight: var(--fw-dato); text-transform: uppercase; letter-spacing: .04em; color: var(--tx-3); background: var(--bg); border: 1px solid var(--br); border-radius: var(--radius-pill); padding: 1px 8px; margin-left: 6px; }
.rne-item-sub { font-size: var(--fs-xs); color: var(--tx-3); margin-top: 2px; }
.rne-item-link { margin-top: 5px; }
.rne-item-link code { display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; font-size: var(--fs-xs); color: var(--tx-2); background: var(--bg); border: 1px solid var(--br); border-radius: var(--radius-xs); padding: 4px 8px; }
.rne-item-acts { display: flex; gap: 4px; flex-shrink: 0; }
@media (max-width: 640px) { .rne-item { flex-direction: column; align-items: stretch; } .rne-item-acts { justify-content: flex-end; } }
.meet-room-overlay { position: fixed; inset: 0; z-index: 2147483600; display: flex; flex-direction: column; background: #000;
  animation: mr-in .25s var(--ease-out, ease) both; }
@keyframes mr-in { from { opacity: 0; } to { opacity: 1; } }
.mr-bar { display: flex; align-items: center; gap: var(--sp-3); padding: 10px 16px; background: #1c1c1c; border-bottom: 1px solid #2a2a33; flex-shrink: 0; }
.mr-logo { font-weight: var(--fw-black); font-size:var(--fs-lg); color: #fff; letter-spacing: .4px; }
.mr-logo b { color: var(--accent); }
.mr-logo-img { height: 24px; width: auto; flex-shrink: 0; }
.mr-meta { font-size: var(--fs-sm); color: var(--tx-2); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mr-meta b { color: #fff; }
.mr-leave { margin-left: auto; background: rgba(255,255,255,.07); color: #ff6b6b; border: none;
  border-radius: var(--radius-pill); font-size: var(--fs-sm); font-weight: var(--fw-dato); padding: 8px 16px; cursor: pointer; flex-shrink: 0; }
.mr-leave:hover { background: rgba(255,255,255,.12); }
.mr-jitsi { flex: 1; min-height: 0; background: #0a0a0c; }
.mr-jitsi iframe { display: block; width: 100%; height: 100%; border: 0; }
.bx-tr { display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0; }
.bx-tr-langs { display: none; align-items: center; gap: 6px; font-size: var(--fs-sm); color: rgba(245,241,232,.7); }
.bx-tr.on .bx-tr-langs { display: inline-flex; }
.bx-tr-mini { opacity: .6; }
.bx-tr select { background: #15151a; color: #fff; border: 1px solid #2a2a33; border-radius: 8px; padding: 4px 6px; font-size: var(--fs-sm); cursor: pointer; }
#mr-tr-btn.on { background: color-mix(in srgb, var(--accent) 30%, transparent); color: #fff; border-color: var(--accent); }
.bx-sub { position: absolute; left: 50%; bottom: 104px; transform: translateX(-50%); max-width: 82%; z-index: 5;
  background: rgba(8,8,10,.82); backdrop-filter: blur(8px); border: 1px solid rgba(255,255,255,.1); border-radius: 14px;
  padding: 11px 18px; text-align: center; transition: opacity .35s var(--ease-out); pointer-events: none; }
.bx-sub-badge { display: inline-block; font-size: var(--fs-2xs); font-weight: var(--fw-fuerte); letter-spacing: .5px; text-transform: uppercase;
  color: var(--accent); background: color-mix(in srgb, var(--accent) 16%, transparent); border-radius: var(--radius-pill); padding: 2px 8px; margin-bottom: 6px; }
.bx-sub-text { display: block; color: #fff; font-size: var(--fs-xl); font-weight: var(--fw-detalle); line-height: 1.4; }
@media (max-width: 760px) { .bx-sub-text { font-size: var(--fs-md); } .bx-sub { bottom: 54px; } }
.mr-loading { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; height: 100%;
  color: rgba(245,241,232,.86); font-size: var(--fs-md); font-weight: var(--fw-medium); text-align: center; padding: var(--sp-6); }
.mr-loading b { color: #fff; }
@media (max-width: 600px) { .mr-meta { display: none; } }
:root { --tut-scrim: rgba(20, 20, 24, .45); }
[data-theme="dark"] { --tut-scrim: rgba(10, 10, 12, .62); }
.guide-btn {
  display: flex;
  align-items: center;
  justify-content: flex-start;                 
  text-align: left;
  gap: var(--sp-3);                            
  width: auto;                                 
  margin: var(--sp-3) -10px var(--sp-2);       
  min-height: 44px;                            
  padding: var(--sp-3) var(--sp-5);
  border: none;
  border-radius: var(--radius-sm);
  cursor: pointer;
  font-family: inherit;
  font-size: var(--fs-md);
  font-weight: var(--fw-fuerte);
  letter-spacing: .02em;
  color: #1c1c1c;
  background: var(--accent);   
  box-shadow: 0 2px 10px rgba(0, 0, 0, .35);   
  transition: box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);
}
.guide-btn i { font-size: var(--fs-base); color: #1c1c1c; }
.guide-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, .45);
  animation-duration: 4s;
}
.guide-btn:active {
  transform: scale(.97);
  transition: transform var(--dur-press) var(--ease-out);
}
.guide-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.bx-spot {
  position: fixed;
  z-index: 2147483200;
  pointer-events: none;
  border: 2px solid var(--accent);
  border-radius: 14px;
  background: color-mix(in srgb, var(--accent) 8%, transparent);
  box-shadow: 0 0 0 4px rgba(255, 191, 16, calc(.12 * var(--glow, 1)));  
  opacity: 0;
  transform: scale(1.03);
  transition: opacity .55s var(--ease-out), transform .55s var(--ease-out);
}
.bx-spot.on { opacity: 1; transform: scale(1); }
.tut-scrim {
  --bx-spring: var(--ease-out);   
  transition: top .26s var(--ease-out), left .26s var(--ease-out),
              width .26s var(--ease-out), height .26s var(--ease-out),
              border-radius .26s var(--ease-out);
  will-change: top, left, width, height;
  position: fixed;
  z-index: 2147482900;
  pointer-events: none;
  border: 1.5px solid var(--accent);
  border-radius: 14px;                            
  box-shadow: 0 0 0 9999px var(--tut-scrim);      
  transition: all .5s var(--ease-out);
}
.tut-scrim.full {
  top: 50%; left: 50%;
  width: 0; height: 0;
  border-color: transparent;
}
.tut-card {
  position: fixed;
  z-index: 2147483000;
  max-width: 360px;
  background: var(--sf);
  border: 1px solid var(--br);
  border-radius: var(--radius);
  box-shadow: var(--shadow-lg);                   
  padding: var(--sp-5) var(--sp-6);
  animation: bx-tut-in .3s var(--ease-out) both;  
}
[data-theme="dark"] .tut-card { border-color: var(--br-2); }  
@keyframes bx-tut-in {
  from { opacity: 0; transform: translateY(var(--sp-2)); }
  to   { opacity: 1; transform: none; }
}
.tut-kicker {
  font-size: var(--fs-xs);
  font-weight: var(--fw-fuerte);
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--gold-ink);                         
  margin-bottom: var(--sp-1);
}
.tut-title {
  font-size: var(--fs-lg);
  font-weight: var(--fw-dato);
  color: var(--tx);
  letter-spacing: -.01em;
  margin-bottom: var(--sp-1);
}
.tut-body {
  font-size: var(--fs-md);
  color: var(--tx-2);
  line-height: 1.5;
}
.tut-count {
  font-size: var(--fs-2xs);
  font-weight: var(--fw-detalle);
  color: var(--tx-3);
  letter-spacing: .04em;
  font-variant-numeric: tabular-nums;
  margin-top: var(--sp-2);
}
.tut-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-1);
  margin-top: var(--sp-3);
}
.tut-dot {
  width: 6px; height: 6px;                        
  border-radius: var(--radius-pill);
  background: var(--br-2);
  border: none; padding: 0;
  transition: width var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);
}
.tut-dot.on { background: var(--accent); width: 16px; }  
.tut-foot {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--sp-2);
  margin-top: var(--sp-4);
}
.tut-skip {
  margin-right: auto;                             
  background: none; border: none; padding: 0;
  font-family: inherit;
  font-size: var(--fs-sm);
  color: var(--tx-3);
  cursor: pointer;
  transition: color var(--dur-fast) var(--ease-out);
}
.tut-skip:hover { color: var(--tx); }
.tut-btn,
.tut-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-1);
  padding: var(--sp-2) var(--sp-4);
  border-radius: var(--radius-pill);
  font-family: inherit;
  font-size: var(--fs-sm);
  font-weight: var(--fw-dato);
  cursor: pointer;
  transition: color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out),
              background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);
}
.tut-btn {
  background: transparent;
  border: 1px solid var(--br-2);
  color: var(--tx-2);
}
.tut-btn:hover { color: var(--tx); border-color: var(--tx-3); }
.tut-btn-primary {
  background: var(--accent);                      
  border: 1px solid transparent;
  color: #1c1c1c;
  font-weight: var(--fw-fuerte);
}
.tut-btn-primary:hover { background: var(--accent-dim); transform: translateY(-1px); }
.tut-btn:active, .tut-btn-primary:active { transform: scale(.97); transition: transform var(--dur-press) var(--ease-out); }
.tut-btn:focus-visible, .tut-btn-primary:focus-visible, .tut-skip:focus-visible,
.tut-dot:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
@media (max-width: 768px) {
  .tut-card {
    top: auto !important;
    left: var(--sp-3) !important;
    right: var(--sp-3) !important;
    bottom: var(--sp-3) !important;
    max-width: none;
  }
}
.cf-deck {
  position: relative;
  max-width: 880px;
  margin: 0 auto;
  animation: none;  
}
@keyframes bx-cf-fade { from { opacity: 0; } to { opacity: 1; } }
.cf-stage {
  position: relative;
  min-height: 480px;                              
  overflow: hidden;
  background: var(--sf);
  border: 1px solid var(--br);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
}
.cf-slide {
  --bx-spring: var(--ease-out);
  transition: opacity .26s var(--ease-out), transform .3s var(--ease-out);
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: var(--sp-4);
  padding: var(--sp-8) var(--sp-10);
  overflow-y: auto;                               
  opacity: 0;
  transform: translateX(var(--sp-7));             
  pointer-events: none;
  transition: opacity .45s var(--ease-out), transform .45s var(--ease-out);
}
.cf-slide.on   { opacity: 1; transform: translateX(0); pointer-events: auto; }
.cf-slide.prev { transform: translateX(calc(-1 * var(--sp-7))); }  
.cf-kicker {
  font-size: var(--fs-xs);
  font-weight: var(--fw-fuerte);
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--gold-ink);
}
.cf-title {
  font-size: var(--fs-3xl);
  font-weight: var(--fw-fuerte);
  line-height: 1.15;
  letter-spacing: -.02em;
  color: var(--tx);
}
.cf-copy {
  font-size: var(--fs-lg);
  color: var(--tx-2);
  line-height: 1.6;
  max-width: 52ch;
  margin: 0 auto;
}
.cf-mock { margin-top: var(--sp-4); width: 100%; }
.cf-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--sp-3);
}
.cf-kpi {
  background: var(--sf2);
  border: 1px solid var(--br);
  border-radius: var(--radius-sm);
  padding: var(--sp-3) var(--sp-4);
  min-width: 110px;
  text-align: center;
}
.cf-kpi b, .cf-kpi .cf-kpi-num {
  display: block;
  font-size: var(--fs-xl);
  font-weight: var(--fw-dato);
  color: var(--tx);
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
}
.cf-kpi small, .cf-kpi .cf-kpi-label {
  display: block;
  font-size: var(--fs-2xs);
  font-weight: var(--fw-dato);
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--tx-3);
  margin-top: var(--sp-1);
}
.cf-arrows {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 var(--sp-3);
  pointer-events: none;                           
  z-index: 5;
}
.cf-arrow {
  pointer-events: auto;
  width: var(--sp-10); height: var(--sp-10);      
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid var(--br);
  background: var(--sf);
  color: var(--tx-2);
  font-size: var(--fs-md);
  cursor: pointer;
  box-shadow: var(--shadow-sm);
  transition: color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out),
              background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);
}
.cf-arrow:hover {
  border-color: var(--accent);
  color: var(--gold-ink);                         
  background: var(--accent-bg-2);
}
.cf-arrow:active { transform: scale(.95); transition: transform var(--dur-press) var(--ease-out); }
.cf-arrow:disabled { opacity: .35; cursor: default; pointer-events: none; }
.cf-arrow:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.gu-foot {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-3);
  margin-top: var(--sp-5);
}
.cf-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  margin-top: var(--sp-5);
}
.cf-foot .cf-dots { margin-top: 0; }              
.cf-dot {
  width: 8px; height: 8px;
  border-radius: var(--radius-pill);
  background: var(--br-2);
  border: none; padding: 0;
  cursor: pointer;
  transition: width var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);
}
.cf-dot.on { background: var(--accent); width: 20px; }
.cf-dot:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.gu-count {
  font-size: var(--fs-2xs);
  font-weight: var(--fw-detalle);
  color: var(--tx-3);
  font-variant-numeric: tabular-nums;
  letter-spacing: .04em;
}
.cf-cta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--sp-3);
  margin-top: var(--sp-5);
}
.cf-cta .btn { padding: var(--sp-3) var(--sp-6); font-size: var(--fs-md); }
.cf-cta .btn:not(.btn-primary) {
  background: transparent;
  color: var(--tx);
  border: 1px solid var(--br-2);
}
.cf-cta .btn:not(.btn-primary):hover { background: var(--sf2); border-color: var(--accent); }
.cf-cta .btn:not(.btn-primary) i { color: var(--accent); }
@media (max-width: 768px) {
  .cf-arrows {
    position: static;
    height: auto;
    padding: 0;
    margin-top: var(--sp-4);
    justify-content: center;
    gap: var(--sp-4);
  }
  .cf-stage { min-height: 440px; }
}
@media (max-width: 600px) {
  .cf-slide { padding: var(--sp-5); }
  .cf-title { font-size: var(--fs-2xl); }
  .cf-copy  { font-size: var(--fs-md); }
  .cf-kpi   { min-width: 96px; padding: var(--sp-2) var(--sp-3); }
}
@media (prefers-reduced-motion: reduce) {
  .guide-btn { animation: none; }
  .guide-btn:hover, .guide-btn:active { transform: none; }
  .bx-spot { transform: none; transition: opacity .2s ease; }
  .bx-spot.on { transform: none; }
  .tut-scrim { transition: none; }                
  .tut-card { animation: none; }
  .cf-deck { animation: none; }
  .cf-slide { transition: opacity .2s ease; transform: none; }
  .cf-slide.prev { transform: none; }
  .cf-arrow:active, .tut-btn:active, .tut-btn-primary:active { transform: none; }
}
.nav-section.collapsible .nav-section-label {
  cursor: default;                             
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  user-select: none;
  font-size: var(--fs-base);
  font-weight: var(--fw-fuerte);
  text-transform: none;
  letter-spacing: -0.01em;
  padding-top: var(--sp-4);
  padding-bottom: var(--sp-2);
}
.nav-section.collapsible:not(.section-active) > .nav-section-label { color: var(--accent); }
.nav-section.collapsible:not(.section-active) > .nav-section-label:hover { color: #ffe566; }
.sidebar .nav-sec-chev { display: none !important; }
.nav-sec-chev {
  margin-left: auto;                            
  font-size: var(--fs-2xs);
  color: rgba(249, 249, 249, .55);              
  transition: transform .25s var(--ease-out), color var(--dur-fast) var(--ease-out);
}
.nav-section.collapsible .nav-section-label:hover .nav-sec-chev { color: rgba(249, 249, 249, .6); }
.nav-sec-items {
  overflow: hidden;
  transition: max-height .3s var(--ease-out);
}
.nav-sec-items-in { min-height: 0; }
.nav-sec-items.plegada { max-height: 0; }
#nav-gestion .nav-section.collapsible > .nav-section-label,
.nav-acordeon .nav-section.collapsible > .nav-section-label { cursor: pointer; }                    
#nav-gestion .nav-sec-chev,
.nav-acordeon .nav-sec-chev {
  display: inline-flex !important; align-items: center; justify-content: center;
  width: 18px; height: 18px; border-radius: 6px;
  font-size:var(--fs-2xs); margin-left: auto;
  -webkit-text-fill-color: rgba(249, 249, 249, .42);     
          color: rgba(249, 249, 249, .42);
  transition: transform .34s var(--ease-out), color .18s var(--ease-out),
              -webkit-text-fill-color .18s var(--ease-out), background .18s var(--ease-out);
}
#nav-gestion .nav-section-label:hover .nav-sec-chev,
.nav-acordeon .nav-section-label:hover .nav-sec-chev {
  -webkit-text-fill-color: var(--accent); color: var(--accent);
  background: color-mix(in srgb, var(--tx) 6%, transparent);
}
#nav-gestion .nav-section.collapsed > .nav-section-label .nav-sec-chev,
.nav-acordeon .nav-section.collapsed > .nav-section-label .nav-sec-chev { transform: rotate(-90deg); }  
.nav-subgroup-label { font-size: var(--fs-2xs); font-weight: var(--fw-dato); letter-spacing: .05em; text-transform: uppercase; color: rgba(249, 249, 249, .34); padding: var(--sp-3) var(--sp-2) var(--sp-1) var(--sp-3); margin-top: 2px; }
.nav-section.collapsed .nav-sec-chev { transform: rotate(-90deg); }
@media (prefers-reduced-motion: reduce) {
  .nav-sec-items { transition: none; }
  .nav-sec-chev  { transition: transform 0s, color 0s; }
}
.btn-primary, .new-sale-btn, .guide-btn, .bx-fab, .lb-dot, .alert-row-red,
.dist-status-card.key-account::after, #demo-switcher, #rank-banner::after,
#practice-overlay, #nav-presentacion .nav-item {
  animation-iteration-count: 1 !important;
}
@media (prefers-reduced-motion: reduce) {
  .new-sale-btn, .guide-btn, .lb-dot, .alert-row-red,
  #demo-switcher, #rank-banner::after, #practice-overlay { animation: none !important; }
}
@media (max-width: 768px) {
  table.tbl-cards, table.tbl-cards > tbody { display: block; width: 100%; }
  table.tbl-cards > thead, table.tbl-cards > colgroup { display: none; }
  table.tbl-cards > tbody > tr,
  table.tbl-cards > tfoot > tr {
    display: block; background: var(--sf); border: 1px solid var(--br);
    border-radius: var(--radius-sm); box-shadow: var(--shadow-sm);
    padding: var(--sp-2) var(--sp-4); margin: 0 0 var(--sp-3);
  }
  table.tbl-cards > tfoot { display: block; }
  table.tbl-cards > tfoot > tr.tc-foot { border-color: var(--accent); background: var(--sf2); }
  table.tbl-cards > tbody > tr > td,
  table.tbl-cards > tfoot > tr > td {
    display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4);
    padding: var(--sp-2) 0; border: none; text-align: right;
    overflow: visible; white-space: normal; font-size: var(--fs-md);
  }
  table.tbl-cards > tbody > tr > td::before,
  table.tbl-cards > tfoot > tr > td::before {
    content: attr(data-label); flex: 0 0 auto; text-align: left;
    font-size: var(--fs-2xs); font-weight: var(--fw-dato); text-transform: uppercase;
    letter-spacing: .05em; color: var(--tx-3); white-space: nowrap;
  }
  table.tbl-cards > tbody > tr > td:empty,
  table.tbl-cards > tfoot > tr > td:empty { display: none; }
  table.mv-table.tbl-cards > tbody > tr > td.mv-hide:not(:empty),
  table.mv-table.tbl-cards > tfoot > tr > td.mv-hide:not(:empty) { display: flex; }
  table.tbl-cards td.tc-title {
    display: block; text-align: left; padding: var(--sp-1) 0 var(--sp-3);
    border-bottom: 1px solid var(--br); margin-bottom: var(--sp-1);
  }
  table.tbl-cards td.ellip { white-space: normal; overflow: visible; text-overflow: clip; }
  table.tbl-cards td.tc-title::before { content: none; }
  table.tbl-cards td.tc-block { display: block; text-align: left; }
  table.tbl-cards td.tc-block::before { display: block; padding-bottom: var(--sp-1); }
  table.tbl-cards td.tc-block .inline-input { width: 100%; box-sizing: border-box; }
  table.tbl-cards .cli-caret { display: none; }
  table.tbl-cards > tbody > tr.cli-detail {
    background: var(--sf2); border: 1px solid var(--br); border-radius: var(--radius-sm);
    margin: calc(-1 * var(--sp-2)) 0 var(--sp-3); padding: var(--sp-2) var(--sp-3) var(--sp-3);
  }
  table.tbl-cards > tbody > tr.cli-detail > td { display: block; text-align: left; padding: 0; border: none; }
  table.tbl-cards > tbody > tr.cli-detail > td::before { content: none; }
}
.cm-cardable { container-type: inline-size; }
@container (max-width: 760px) {
  .cm-cardable table.tbl-cards, .cm-cardable table.tbl-cards > tbody { display: block; width: 100%; }
  .cm-cardable table.tbl-cards > thead, .cm-cardable table.tbl-cards > colgroup { display: none; }
  .cm-cardable table.tbl-cards > tbody > tr {
    display: block; background: var(--sf); border: 1px solid var(--br);
    border-radius: var(--radius-sm);
    padding: var(--sp-2) var(--sp-4); margin: 0 0 var(--sp-3);
  }
  .cm-cardable table.tbl-cards > tbody > tr > td {
    display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4);
    padding: var(--sp-2) 0; border: none; text-align: right;
    overflow: visible; white-space: normal; font-size: var(--fs-md);
  }
  .cm-cardable table.tbl-cards > tbody > tr > td::before {
    content: attr(data-label); flex: 0 0 auto; text-align: left;
    font-size: var(--fs-2xs); font-weight: var(--fw-dato); text-transform: uppercase;
    letter-spacing: .05em; color: var(--tx-3); white-space: nowrap;
  }
  .cm-cardable table.tbl-cards > tbody > tr > td:empty { display: none; }
  .cm-cardable table.tbl-cards td.tc-title {
    display: block; text-align: left; padding: var(--sp-1) 0 var(--sp-3);
    border-bottom: 1px solid var(--br); margin-bottom: var(--sp-1);
  }
  .cm-cardable table.tbl-cards td.tc-title::before { content: none; }
}
.iva-toggle { display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; min-width: 84px; }   
.iva-toggle:not(.active) { color: var(--tx-3); opacity: .8; }
.iva-toggle:not(.active):hover { opacity: 1; color: var(--tx-2); }
@font-face {
  font-family: 'Mont';
  src: url('fonts/Mont-Heavy.woff2?v=e7d6f1b536') format('woff2');
  font-weight: var(--fw-dato) 900;
  font-style: normal;
  font-display: swap;
}
.gm-stage {
  --bg:          #080808;
  --sf:          #121212;
  --sf2:         #1a1a1a;
  --sf3:         #1e1e24;
  --br:          rgba(255, 255, 255, 0.07);
  --br-2:        rgba(255, 255, 255, 0.13);
  --tx:          #f4f4f6;
  --tx-2:        rgba(244, 244, 246, 0.62);
  --tx-3:        rgba(244, 244, 246, 0.40);
  --accent-bg:   color-mix(in srgb, var(--accent) 10%, transparent);
  --gold-ink:    var(--accent);
  --shadow:      0 4px 24px rgba(0, 0, 0, .6), 0 1px 4px rgba(0, 0, 0, .4);
  --shadow-sm:   0 2px 12px rgba(0, 0, 0, .5);
  --shadow-lg:   0 16px 48px rgba(0, 0, 0, .7), 0 4px 16px rgba(0, 0, 0, .5);
  --scrim:       rgba(0, 0, 0, .62);
  color: var(--tx);
  background:
    radial-gradient(1100px 540px at 72% -8%, color-mix(in srgb, var(--accent) 5.5%, transparent), transparent 62%),
    radial-gradient(900px 600px at 8% 108%, color-mix(in srgb, var(--accent) 3%, transparent), transparent 55%),
    repeating-linear-gradient(0deg,  rgba(255, 255, 255, .016) 0 1px, transparent 1px 44px),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, .016) 0 1px, transparent 1px 44px),
    #070708;
  margin: calc(-1 * var(--sp-8)) calc(-1 * var(--sp-10));
  padding: var(--sp-6) var(--sp-8) 240px;
  min-height: calc(100vh - var(--topbar-h));
}
.gm-stage .grid-stack { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--sp-3); }
.gm-stage .grid-stack > .grid-stack-item { grid-column: span 6; min-height: 240px; }
.gm-stage .grid-stack-item { background: transparent; border-radius: var(--radius); }
.gm-stage .grid-stack-item-content { overflow: hidden; }
.gm-stage .grid-stack:not(.gm-grid-fallback) > .grid-stack-item > .gm-widget { height: auto; }
.gm-stage .grid-stack.gm-grid-fallback .grid-stack-item-content { width: 100%; height: 100%; }
.gm-topbar {
  display: flex; align-items: center; gap: var(--sp-3); flex-wrap: wrap;
  margin-bottom: var(--sp-6);
}
.gm-title {
  font-family: 'Mont', var(--font);
  font-size: clamp(24px, 3vw, 34px);
  font-weight: var(--fw-fuerte);
  letter-spacing: .08em;
  color: #fff;
  line-height: 1;
}
.gm-title b { color: var(--accent); font-weight: var(--fw-fuerte); }
.gm-chip-secure {
  display: inline-flex; align-items: center; gap: var(--sp-1);
  font-size: var(--fs-2xs); font-weight: var(--fw-fuerte); letter-spacing: .12em; text-transform: uppercase;
  color: #f87171;
  background: var(--sf2);
  border-radius: var(--radius-pill);
  padding: var(--sp-1) var(--sp-3);
}
.gm-countdown {
  font-family: var(--mono);
  font-variant-numeric: tabular-nums;
  font-size: var(--fs-md); font-weight: var(--fw-dato);
  color: var(--tx-2);
  border: 1px solid var(--br-2);
  border-radius: var(--radius-pill);
  padding: var(--sp-1) var(--sp-3);
  min-width: 72px; text-align: center;
}
.gm-countdown.warn { color: #f87171; border-color: rgba(239, 68, 68, .5); }
.gm-topbar-actions { margin-left: auto; display: flex; gap: var(--sp-2); }
.gm-btn {
  display: inline-flex; align-items: center; gap: var(--sp-2);
  font-family: inherit; font-size: var(--fs-sm); font-weight: var(--fw-dato);
  color: var(--tx-2);
  background: rgba(255, 255, 255, .05);
  border: 1px solid var(--br-2);
  border-radius: var(--radius-pill);
  padding: var(--sp-2) var(--sp-4);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out),
              background-color var(--dur-fast) var(--ease-out), transform var(--dur-press) var(--ease-out);
}
.gm-btn:hover { color: var(--tx); border-color: color-mix(in srgb, var(--accent) 45%, transparent); }
.gm-btn:active { transform: scale(.97); }
.gm-btn:disabled { opacity: .5; pointer-events: none; }
.gm-btn.active { color: var(--accent); border-color: color-mix(in srgb, var(--accent) 55%, transparent); background: color-mix(in srgb, var(--accent) 8%, transparent); }
.gm-btn-gold {
  color: #1c1c1c;
  background: linear-gradient(90deg, #e8a800 0%, var(--accent) 45%, #ffd451 100%);
  border-color: transparent;
}
.gm-btn-gold:hover { color: #111; filter: brightness(1.05); }
.gm-btn-icon { padding: var(--sp-2) var(--sp-3); }
.gm-btn-lock:hover { color: #f87171; border-color: rgba(239, 68, 68, .5); }
.gm-btn-ia { font-size: var(--fs-xs); padding: var(--sp-1) var(--sp-3); color: var(--gold-ink); border-color: color-mix(in srgb, var(--accent) 30%, transparent); margin-top: var(--sp-2); }
.gm-btn-insight { font-size: var(--fs-2xs); padding: 2px var(--sp-2); margin-top: var(--sp-2); opacity: .75; }
.gm-btn-insight:hover { opacity: 1; }
.gm-btn-recharge { font-size: var(--fs-2xs); padding: 3px var(--sp-2); color: var(--gold-ink); border-color: color-mix(in srgb, var(--accent) 35%, transparent); text-decoration: none; }
.gm-stage .gm-widget {
  --gm-hue: var(--accent);
  position: relative;
  display: flex; flex-direction: column;
  height: 100%;
  border: 1px solid transparent;
  border-radius: var(--radius);
  background:
    linear-gradient(165deg, rgba(22, 22, 28, .86), rgba(12, 12, 16, .92)) padding-box,
    linear-gradient(168deg,
      color-mix(in srgb, var(--gm-hue) 38%, transparent),
      color-mix(in srgb, var(--gm-hue) 7%, transparent) 34%,
      rgba(255, 255, 255, .07) 82%) border-box;
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  box-shadow: 0 10px 32px rgba(0, 0, 0, .45);   
  padding: var(--sp-5);
  overflow: hidden;
  cursor: default;
  user-select: text;
}
.gm-widget.gm-money   { --gm-hue: var(--accent); }
.gm-widget.gm-pos     { --gm-hue: #3b82f6; }
.gm-widget.gm-risk    { --gm-hue: #ef4444; }
.gm-widget.gm-clients { --gm-hue: #10b981; }
.gm-w-head { display: flex; align-items: center; gap: var(--sp-3); margin-bottom: var(--sp-4); flex-shrink: 0; }
.gm-w-ico {
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; flex-shrink: 0;
  border-radius: var(--radius-xs);
  color: var(--gm-hue);
  background: color-mix(in srgb, var(--gm-hue) 13%, transparent);
  font-size: var(--fs-base);
}
.gm-w-title {
  font-size: var(--fs-xs); font-weight: var(--fw-fuerte); letter-spacing: .1em; text-transform: uppercase;
  color: var(--tx-2);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.gm-w-dot {
  width: 7px; height: 7px; flex-shrink: 0; margin-left: auto;
  border-radius: 50%;
  background: color-mix(in srgb, var(--gm-hue) 40%, transparent);
}
.gm-w-dot.ping { animation: gm-ping .8s var(--ease-out) 1; }   
@keyframes gm-ping {
  0%   { transform: scale(1);   background: var(--gm-hue); }
  50%  { transform: scale(1.9); background: var(--gm-hue); }
  100% { transform: scale(1);   background: color-mix(in srgb, var(--gm-hue) 40%, transparent); }
}
.gm-w-body { flex: 1; min-height: 0; overflow-y: auto; overflow-x: hidden; padding-right: 2px; }
.gm-w-body::-webkit-scrollbar { width: 6px; }
.gm-w-body::-webkit-scrollbar-thumb { background: rgba(140, 140, 148, .35); border-radius: var(--radius-pill); }
.gm-w-body code { font-family: var(--mono); font-size: var(--fs-2xs); background: rgba(255, 255, 255, .07); padding: 1px 5px; border-radius: var(--radius-xs); }
.gm-num {
  font-family: 'Mont', var(--font);
  font-size: clamp(22px, 2.4vw, 40px);
  font-weight: var(--fw-fuerte); line-height: 1.1;
  color: var(--tx);
  font-variant-numeric: tabular-nums;
}
.gm-num-sm { font-size: clamp(18px, 1.8vw, 28px); }
.gm-label { font-size: var(--fs-2xs); font-weight: var(--fw-dato); letter-spacing: .1em; text-transform: uppercase; color: var(--tx-3); }
.gm-sub { font-size: var(--fs-xs); color: var(--tx-3); }
.gm-error { font-size: var(--fs-sm); color: #f87171; padding: var(--sp-2) 0; }
.gm-stage .grid-stack-item { animation: none;   }
@keyframes gm-in {
  from { opacity: 0; transform: translateY(10px) scale(.985); }
  to   { opacity: 1; transform: none; }
}
#gm-grid.gm-editing .grid-stack-item { cursor: grab; }
#gm-grid.gm-editing .grid-stack-item:active { cursor: grabbing; }
#gm-grid.gm-editing .gm-widget {
  outline: 1.5px dashed color-mix(in srgb, var(--accent) 40%, transparent);
  outline-offset: 3px;
  user-select: none;
  animation: bx-jiggle-once .5s var(--ease-out) 1;
}
#gm-grid.gm-editing .grid-stack-item:nth-child(2n)   .gm-widget { animation-delay: 40ms; }
#gm-grid.gm-editing .grid-stack-item:nth-child(3n)   .gm-widget { animation-delay: 80ms; }
#gm-grid.gm-editing .grid-stack-item:nth-child(3n+1) .gm-widget { animation-delay: 120ms; }
@keyframes bx-jiggle-once {
  0%   { transform: rotate(0); }
  25%  { transform: rotate(-.5deg); }
  50%  { transform: rotate(.4deg); }
  75%  { transform: rotate(-.25deg); }
  100% { transform: rotate(0); }
}
@media (prefers-reduced-motion: reduce) {
  #gm-grid.gm-editing .gm-widget,
  body.bx-cust-on #content .bx-cust-item { animation: none !important; }
}
body.bx-cust-on #content .bx-cust-item {
  position: relative;
  animation: bx-jiggle-once .5s var(--ease-out) 1;   
  outline: 1.5px dashed color-mix(in srgb, var(--accent) 45%, transparent);
  outline-offset: 3px;
  user-select: none;
  -webkit-user-select: none;
  cursor: grab;
  touch-action: none;            
}
body.bx-cust-on #content .bx-cust-item > * { pointer-events: none; }   
body.bx-cust-on #content .bx-cust-item > .bx-cust-x { pointer-events: auto; }
body.bx-cust-on #content .bx-cust-item:nth-child(2n) { animation-delay: 40ms; }
body.bx-cust-on #content .bx-cust-item:nth-child(3n) { animation-delay: 80ms; }
body.bx-cust-on #content .bx-cust-item:nth-child(5n) { animation-delay: 120ms; }
body.bx-cust-on #content .bx-cust-item.bx-cust-hidden { opacity: .35; }
body:not(.bx-cust-on) #content .bx-cust-hidden { display: none !important; }
.bx-cust-item.bx-dragging {
  animation: none !important;
  z-index: 60;
  opacity: .92;
  box-shadow: var(--shadow-lg);   
  cursor: grabbing;
  transition: none !important;
}
.bx-cust-x {
  position: absolute; top: -9px; left: -9px; z-index: 5;
  width: 24px; height: 24px; border-radius: 50%;
  background: var(--sf3); color: var(--tx-2);
  border: 1px solid var(--br); box-shadow: var(--shadow);
  display: flex; align-items: center; justify-content: center;
  font-size:var(--fs-xs); cursor: pointer;
}
.bx-cust-x:active { transform: scale(.9); }
#bx-cust-bar {
  position: fixed; left: 50%; bottom: 18px; transform: translateX(-50%);
  z-index: 1200;
  display: flex; align-items: center; gap: var(--sp-2);
  padding: 8px 10px; border-radius: 999px;
  background: rgba(18, 18, 24, .62);
  -webkit-backdrop-filter: blur(30px) saturate(1.4);
  backdrop-filter: blur(30px) saturate(1.4);
  border: 1px solid rgba(255, 255, 255, .12);
  box-shadow: var(--shadow-lg);   
}
#bx-cust-bar .bxc-hint { font-size:var(--fs-sm); color: rgba(255, 255, 255, .78); padding: 0 6px; white-space: nowrap; }
body.bx-cust-on #view-switcher,
body.bx-cust-on .demo-switcher,
body.bx-cust-on #fabrica-switcher,
body.bx-cust-on #demo-switcher { display: none !important; }
#bx-cust-bar button {
  border: none; cursor: pointer; font-family: inherit;
  font-size: var(--fs-base); font-weight: var(--fw-dato);
  padding: 7px 14px; border-radius: 999px;
  background: rgba(255, 255, 255, .1); color: #fff;
  transition: background var(--dur-fast) var(--ease-out);
}
#bx-cust-bar button:active { transform: scale(.97); }
#bx-cust-bar button.bxc-done { background: var(--accent); color: #111; }
@media (max-width: 600px) { #bx-cust-bar .bxc-hint { display: none; } }
.gm-stage .grid-stack-placeholder > .placeholder-content {
  border: 2px dashed color-mix(in srgb, var(--accent) 45%, transparent) !important;
  background: color-mix(in srgb, var(--accent) 5%, transparent) !important;
  border-radius: var(--radius) !important;
}
.gm-stage .grid-stack-item.ui-draggable-dragging > .gm-widget,
.gm-stage .grid-stack-item.ui-resizable-resizing > .gm-widget {
  box-shadow: var(--shadow-lg);   
  transform: scale(1.015);
  outline-color: color-mix(in srgb, var(--accent) 70%, transparent);
}
.gm-stage .grid-stack > .grid-stack-item > .ui-resizable-handle.ui-resizable-se {
  width: 14px !important; height: 14px !important;
  right: 8px !important; bottom: 8px !important;
  border-right: 2px solid var(--accent);
  border-bottom: 2px solid var(--accent);
  border-radius: 0 0 4px 0;
  background: none !important;
  background-image: none !important;
  transform: none !important;
  opacity: 0;
  transition: opacity var(--dur-fast) var(--ease-out);
}
#gm-grid.gm-editing > .grid-stack-item > .ui-resizable-handle.ui-resizable-se { opacity: .85; }
.gm-skel-wrap { display: flex; flex-direction: column; gap: var(--sp-3); padding: var(--sp-2) 0; }
.gm-skel {
  height: 14px; border-radius: var(--radius-xs);
  background: linear-gradient(90deg, rgba(255, 255, 255, .05) 25%, rgba(255, 255, 255, .11) 50%, rgba(255, 255, 255, .05) 75%);
  background-size: 200% 100%;
  animation: gm-shimmer 1.4s linear infinite;   
}
@keyframes gm-shimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }
.gm-empty { text-align: center; padding: var(--sp-6) var(--sp-4); color: var(--tx-2); }
.gm-empty i { font-size: var(--fs-3xl); color: var(--tx-3); margin-bottom: var(--sp-3); display: block; }
.gm-empty p { font-size: var(--fs-sm); line-height: 1.5; margin: 0 0 var(--sp-3); }
.gm-tabs {
  display: inline-flex; flex-wrap: wrap; gap: 3px;
  background: rgba(255, 255, 255, .05);
  border-radius: var(--radius-pill);
  padding: 3px;
  margin-bottom: var(--sp-3);
}
.gm-tab {
  border: none; cursor: pointer; font-family: inherit;
  font-size: var(--fs-xs); font-weight: var(--fw-dato);
  color: var(--tx-2);
  background: transparent;
  border-radius: var(--radius-pill);
  padding: var(--sp-1) var(--sp-3);
  transition: color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), transform var(--dur-press) var(--ease-out);
}
.gm-tab:hover { color: var(--tx); }
.gm-tab:active { transform: scale(.97); }
.gm-tab.active { background: var(--accent); color: #1c1c1c; }
.gm-vitals-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-2) var(--sp-3); align-content: start; }
.gm-vital .gm-num { font-size: clamp(20px, 1.9vw, 30px); }
.gm-vital .gm-sub { margin-top: 2px; }
.gm-risk-list { display: flex; flex-direction: column; gap: var(--sp-3); }
.gm-risk-row {
  --risk: #eab308;
  padding: var(--sp-3);
  border-radius: var(--radius-sm);   
  background: color-mix(in srgb, var(--risk) 7%, transparent);
}
.gm-risk-top { display: flex; align-items: baseline; gap: var(--sp-3); }
.gm-risk-name { font-size: var(--fs-md); font-weight: var(--fw-dato); color: var(--tx); flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gm-risk-score { font-family: 'Mont', var(--font); font-size: var(--fs-xl); font-weight: var(--fw-fuerte); color: var(--risk); font-variant-numeric: tabular-nums; }
.gm-risk-bar { height: var(--bar-h, 5px); border-radius: var(--radius-pill); background: rgba(255, 255, 255, .08); margin: var(--sp-2) 0; overflow: hidden; }
.gm-risk-bar > span { display: block; height: 100%; border-radius: var(--radius-pill); background: var(--risk); }
.gm-risk-metrics { display: flex; flex-wrap: wrap; gap: var(--sp-2) var(--sp-4); font-size: var(--fs-2xs); color: var(--tx-2); }
.gm-risk-metrics i { color: var(--risk); margin-right: 2px; }
.gm-verdict { margin-top: var(--sp-2); padding: var(--sp-2) var(--sp-3); border-left: 2px solid var(--accent); background: color-mix(in srgb, var(--accent) 5%, transparent); border-radius: var(--radius-xs); }
.gm-verdict-meta { font-size: var(--fs-2xs); font-weight: var(--fw-fuerte); letter-spacing: .06em; text-transform: uppercase; color: var(--gold-ink); margin-bottom: var(--sp-1); }
.gm-verdict-body { font-size: var(--fs-base); line-height: 1.5; color: var(--tx); }
.gm-diario-nav { display: flex; align-items: center; gap: var(--sp-3); margin-bottom: var(--sp-3); }
.gm-diario-day { font-family: 'Mont', var(--font); font-size: var(--fs-lg); font-weight: var(--fw-fuerte); color: var(--tx); min-width: 64px; text-align: center; }
.gm-diario { display: flex; flex-direction: column; gap: var(--sp-4); }
.gm-diario-group { display: flex; flex-direction: column; gap: var(--sp-2); align-items: flex-start; }
.gm-area-chip {
  --area: #94a3b8;
  display: inline-block;
  font-size: var(--fs-2xs); font-weight: var(--fw-fuerte); letter-spacing: .1em; text-transform: uppercase;
  color: var(--area);
  background: color-mix(in srgb, var(--area) 13%, transparent);
  border-radius: var(--radius-pill);
  padding: 2px var(--sp-2);
}
.gm-diario-list { margin: 0; padding: 0; list-style: none; width: 100%; }
.gm-diario-list > li {
  position: relative;
  font-size: var(--fs-sm); line-height: 1.5; color: var(--tx);
  padding: var(--sp-1) 0 var(--sp-1) var(--sp-4);
}
.gm-diario-list > li::before { content: '›'; position: absolute; left: 2px; color: var(--accent); font-weight: var(--fw-black); }
.gm-chip-soon {
  display: inline-block; vertical-align: middle;
  font-size: var(--fs-2xs); font-weight: var(--fw-fuerte); letter-spacing: .08em; text-transform: uppercase;
  color: #fbbf24; background: rgba(245, 158, 11, .14);
  border-radius: var(--radius-pill); padding: 1px var(--sp-2);
}
.gm-ads-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--sp-3); margin-bottom: var(--sp-2); }
.gm-ads-chart { height: 110px; margin: var(--sp-2) 0; }
.gm-badge-new {
  display: inline-block; vertical-align: middle;
  font-size: var(--fs-2xs); font-weight: var(--fw-fuerte); letter-spacing: .08em; text-transform: uppercase;
  color: #1c1c1c; background: var(--accent);
  border-radius: var(--radius-pill); padding: 1px var(--sp-2); margin-left: var(--sp-1);
}
.gm-ads-creatives { display: flex; flex-direction: column; gap: var(--sp-2); margin: var(--sp-2) 0; }
.gm-ads-creative {
  font-size: var(--fs-xs); line-height: 1.45; color: var(--tx-2);
  background: rgba(255, 255, 255, .04);
  border-left: 2px solid rgba(59, 130, 246, .6);
  border-radius: var(--radius-xs);
  padding: var(--sp-2) var(--sp-3);
}
.gm-cw-head { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-2); margin-bottom: var(--sp-2); }
.gm-cw-digest { padding: var(--sp-2) 0; border-bottom: 1px solid var(--br); }
.gm-cw-name { font-size: var(--fs-md); font-weight: var(--fw-dato); color: var(--tx); margin-bottom: 2px; }
.gm-cw-body { font-size: var(--fs-sm); line-height: 1.5; color: var(--tx-2); }
.gm-cw-timeline { margin-top: var(--sp-3); }
.gm-cw-item { display: flex; gap: var(--sp-3); padding: var(--sp-1) 0; align-items: baseline; }
.gm-cw-date { font-size: var(--fs-2xs); color: var(--tx-3); font-variant-numeric: tabular-nums; flex-shrink: 0; min-width: 56px; }
.gm-cw-text { font-size: var(--fs-xs); color: var(--tx-2); line-height: 1.4; }
.gm-news-list > li { border-bottom: 1px solid var(--br); padding-bottom: var(--sp-2); margin-bottom: var(--sp-1); }
.gm-news-src { padding: var(--sp-2) 0; border-bottom: 1px solid var(--br); }
.gm-news-subject { font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx); margin-bottom: var(--sp-1); }
.gm-news-links { display: flex; flex-direction: column; gap: 3px; }
.gm-news-link {
  font-size: var(--fs-xs); font-weight: var(--fw-detalle); color: var(--gold-ink);
  text-decoration: none;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.gm-news-link:hover { text-decoration: underline; }
.gm-news-link i { font-size: var(--fs-2xs); margin-right: 2px; }
.gm-cal-dow { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; margin: var(--sp-2) 0 3px; }
.gm-cal-dow span { font-size: var(--fs-2xs); color: var(--tx-3); text-align: center; font-weight: var(--fw-dato); }
.gm-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; }
.gm-cal-cell {
  aspect-ratio: 1; min-height: 20px;
  display: flex; align-items: center; justify-content: center;
  font-size: var(--fs-2xs); font-variant-numeric: tabular-nums;
  color: var(--tx-2);
  border-radius: var(--radius-xs);
  background: rgba(255, 255, 255, .03);
}
.gm-cal-cell.empty { background: transparent; }
.gm-cal-cell.today { outline: 1.5px solid var(--accent); outline-offset: -1.5px; color: var(--tx); font-weight: var(--fw-fuerte); }
.gm-cal-cobros { margin-top: var(--sp-4); border-top: 1px solid var(--br); padding-top: var(--sp-3); }
.gm-cal-cobro { display: flex; justify-content: space-between; gap: var(--sp-3); padding: var(--sp-1) 0; font-size: var(--fs-xs); }
.gm-cal-eur { color: var(--gold-ink); font-weight: var(--fw-dato); font-variant-numeric: tabular-nums; white-space: nowrap; }
.gm-forecast-head { display: flex; align-items: center; gap: var(--sp-3); flex-wrap: wrap; margin-bottom: var(--sp-3); }
.gm-forecast-body { font-size: var(--fs-sm); line-height: 1.6; color: var(--tx); }
.gmc-top { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4); margin-bottom: var(--sp-4); }
.gmc-total { font-size: clamp(28px, 3vw, 56px); color: var(--gold-ink); }
.gmc-donut { width: 116px; height: 116px; flex-shrink: 0; }
.gmc-rows { display: flex; flex-direction: column; }
.gmc-row {
  display: flex; align-items: center; flex-wrap: wrap;
  gap: var(--sp-2) var(--sp-3);
  padding: var(--sp-2) 0;
  border-bottom: 1px solid var(--br);
  font-size: var(--fs-sm);
}
.gmc-row:last-child { border-bottom: none; }
.gmc-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.gmc-name { font-weight: var(--fw-dato); color: var(--tx); min-width: 76px; }
.gmc-cell { font-variant-numeric: tabular-nums; color: var(--tx-2); }
.gmc-proj { color: var(--tx-3); }
.gmc-balance {
  font-variant-numeric: tabular-nums; font-weight: var(--fw-dato); color: var(--tx);
  cursor: pointer; border-bottom: 1px dashed var(--br-2);
  transition: border-color var(--dur-fast) var(--ease-out);
}
.gmc-balance:hover { border-bottom-color: var(--accent); }
.gmc-pen { font-size: var(--fs-2xs); color: var(--tx-3); margin-left: 2px; }
.gmc-balance-input {
  width: 84px;
  font-family: inherit; font-size: var(--fs-sm); font-weight: var(--fw-dato);
  font-variant-numeric: tabular-nums;
  color: var(--tx);
  background: var(--sf2);
  border: 1px solid color-mix(in srgb, var(--accent) 50%, transparent);
  border-radius: var(--radius-xs);
  padding: 2px var(--sp-2);
  outline: none;
}
.gmc-health { display: inline-flex; align-items: center; gap: var(--sp-2); margin-left: auto; }
.gmc-health-bar { width: 56px; height: var(--bar-h, 5px); border-radius: var(--radius-pill); background: rgba(255, 255, 255, .08); overflow: hidden; }
.gmc-health-bar > span { display: block; height: 100%; border-radius: var(--radius-pill); background: var(--tx-3); }
.gmc-health.ok   .gmc-health-bar > span { background: #10b981; }
.gmc-health.warn .gmc-health-bar > span { background: #f59e0b; }
.gmc-health.crit .gmc-health-bar > span { background: #ef4444; }
.gmc-health-days { font-size: var(--fs-2xs); color: var(--tx-2); font-variant-numeric: tabular-nums; min-width: 38px; }
.gmc-health.crit .gmc-health-days { color: #f87171; font-weight: var(--fw-fuerte); }
.gmc-free { margin-left: var(--sp-1); }
.gm-chat { display: flex; flex-direction: column; height: 100%; min-height: 280px; }
.gm-chat-history {
  flex: 1; min-height: 0; overflow-y: auto;
  background: rgba(0, 0, 0, .28);
  border: 1px solid var(--br);
  border-radius: var(--radius-sm);
  padding: var(--sp-3);
  margin-bottom: var(--sp-3);
}
.gm-chat-history::-webkit-scrollbar { width: 6px; }
.gm-chat-history::-webkit-scrollbar-thumb { background: rgba(140, 140, 148, .35); border-radius: var(--radius-pill); }
.gm-chat-hello { text-align: center; color: var(--tx-2); font-size: var(--fs-sm); line-height: 1.7; padding: var(--sp-5) var(--sp-3); }
.gm-chat-hello i { color: var(--gold-ink); font-size: var(--fs-xl); }
.gm-msg { margin: var(--sp-2) 0; padding: var(--sp-2) var(--sp-3); border-radius: var(--radius-xs); }
.gm-msg-user { background: rgba(59, 130, 246, .09); border-left: 2px solid #3b82f6; }
.gm-msg-ai   { background: color-mix(in srgb, var(--accent) 6%, transparent); border-left: 2px solid var(--accent); }
.gm-msg-who { font-size: var(--fs-2xs); font-weight: var(--fw-fuerte); letter-spacing: .08em; color: var(--tx-3); margin-bottom: 2px; }
.gm-msg-body { font-size: var(--fs-md); line-height: 1.55; color: var(--tx); overflow-wrap: anywhere; }
.gm-chat-composer { display: flex; gap: var(--sp-2); flex-shrink: 0; }
.gm-chat-composer input {
  flex: 1; min-width: 0;
  font-family: inherit; font-size: var(--fs-md);
  color: var(--tx);
  background: var(--sf2);
  border: 1px solid var(--br-2);
  border-radius: var(--radius-pill);
  padding: var(--sp-2) var(--sp-4);
  outline: none;
  transition: border-color var(--dur-fast) var(--ease-out);
}
.gm-chat-composer input:focus { border-color: color-mix(in srgb, var(--accent) 55%, transparent); }
.gm-chat-composer input::placeholder { color: var(--tx-3); }
#godmode-overlay {
  position: fixed; top: 0; left: var(--sidebar-real); right: 0; bottom: 0; z-index: 999999;
  display: none;
  align-items: center; justify-content: center;
  background:
    radial-gradient(900px 480px at 50% -8%, color-mix(in srgb, var(--accent) 7%, transparent), transparent 62%),
    rgba(4, 4, 6, .97);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  font-family: var(--font);
  padding: var(--sp-6);
  padding-bottom: calc(var(--sp-6) + env(safe-area-inset-bottom, 0px));
}
#godmode-overlay.unlocking { animation: gm-unlock .6s var(--ease-out) 1 forwards; pointer-events: none; }
@keyframes gm-unlock {
  0%   { opacity: 1; transform: scale(1);     filter: brightness(1); }
  16%  { opacity: 1; transform: scale(1.015); filter: brightness(1.75) saturate(1.25); }
  100% { opacity: 0; transform: scale(1.16);  filter: brightness(1); }
}
@media (max-width: 768px) { #godmode-overlay { left: 0; } }
.gm-lock-inner { text-align: center; max-width: 360px; width: 100%; animation: none;   }
.gm-lock-logo { height: 34px; width: auto; object-fit: contain; opacity: .94; margin: 0 auto var(--sp-5); display: block; }
.gm-lock-title {
  font-family: 'Mont', var(--font);
  font-size: var(--fs-3xl); font-weight: var(--fw-fuerte); letter-spacing: .14em;
  color: #fff; line-height: 1;
}
.gm-lock-title b { color: var(--accent); font-weight: var(--fw-fuerte); }
.gm-lock-sub { font-size: var(--fs-sm); color: rgba(244, 244, 246, .45); margin-top: var(--sp-2); }
.gm-lock-close {
  position: absolute; top: var(--sp-5); right: var(--sp-5);
  width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 50%;
  background: rgba(255, 255, 255, .05);
  color: rgba(244, 244, 246, .6);
  font-size: var(--fs-md);
  cursor: pointer;
  transition: color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-press) var(--ease-out);
}
.gm-lock-close:hover { color: #f4f4f6; border-color: rgba(255, 255, 255, .3); }
.gm-lock-close:active { transform: scale(.94); }
.gm-sr-only { position: absolute; width: 1px; height: 1px; opacity: 0; border: 0; padding: 0; margin: -1px; pointer-events: none; }
.gm-pin-dots { display: flex; gap: var(--sp-4); justify-content: center; margin: var(--sp-6) 0 var(--sp-6); cursor: pointer; }
.gm-pin-dot {
  width: 14px; height: 14px; border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, .3);
  background: transparent;
  transition: background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);
}
.gm-pin-dot.on { background: var(--accent); border-color: var(--accent); transform: scale(1.12); }
.gm-pin-dots.shake { animation: gm-shake .45s var(--ease-out) 1; }   
@keyframes gm-shake {
  10%, 90% { transform: translateX(-2px); }
  20%, 80% { transform: translateX(4px); }
  30%, 50%, 70% { transform: translateX(-7px); }
  40%, 60% { transform: translateX(7px); }
}
.gm-pad {
  display: grid;
  grid-template-columns: repeat(3, auto);
  gap: var(--sp-3) var(--sp-5);
  justify-content: center;
  transition: opacity var(--dur-fast) var(--ease-out);
}
.gm-pad .gm-key {
  width: clamp(64px, 18vw, 76px);
  height: clamp(64px, 18vw, 76px);
  padding: 0;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .13);
  background: rgba(255, 255, 255, .05);
  color: #f4f4f6;
  font-family: var(--font);
  font-size: var(--fs-2xl); font-weight: var(--fw-dato);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background-color var(--dur-press) var(--ease-out), border-color var(--dur-press) var(--ease-out),
              color var(--dur-press) var(--ease-out), transform var(--dur-press) var(--ease-out);
}
.gm-pad .gm-key:hover { background: rgba(255, 255, 255, .09); }
.gm-pad .gm-key:active {
  transform: scale(.94);
  background: color-mix(in srgb, var(--accent) 24%, transparent);
  border-color: color-mix(in srgb, var(--accent) 60%, transparent);
  color: var(--accent);
}
.gm-pad .gm-key-aux { background: transparent; border-color: transparent; color: rgba(244, 244, 246, .55); font-size: var(--fs-xl); }
.gm-pad .gm-key-ok { color: var(--accent); border-color: color-mix(in srgb, var(--accent) 45%, transparent); font-size: var(--fs-xl); }
.gm-pad.disabled { opacity: .35; pointer-events: none; filter: saturate(.4); }
.gm-lock-msg { margin-top: var(--sp-5); min-height: 18px; font-size: var(--fs-sm); color: var(--accent); }
@media (max-width: 768px) {
  .gm-stage {
    margin: -16px -16px -96px;
    padding: var(--sp-4) var(--sp-4) calc(96px + env(safe-area-inset-bottom, 0px));
    min-height: 100vh;
  }
  .gm-stage .grid-stack > .grid-stack-item { grid-column: span 12; }   
  #gm-edit-btn { display: none; }   
  .gm-title { font-size: var(--fs-2xl); }
  .gm-countdown { margin-left: auto; }
  .gm-topbar-actions { margin-left: 0; }
  .gm-num { font-size: clamp(20px, 6vw, 30px); }
  .gmc-total { font-size: clamp(24px, 7vw, 34px); }
  .gmc-donut { width: 92px; height: 92px; }
  .gmc-health { margin-left: 0; }
  .gm-pad .gm-key { width: clamp(56px, 17vw, 72px); height: clamp(56px, 17vw, 72px); }   
}
@media (max-width: 480px) {
  .gm-stage {
    margin: -12px -12px -96px;
    padding: var(--sp-3) var(--sp-3) calc(96px + env(safe-area-inset-bottom, 0px));
  }
  .gm-vitals-grid { grid-template-columns: 1fr 1fr; gap: var(--sp-3); }
  .gm-risk-name { white-space: normal; overflow: visible; text-overflow: clip; word-break: break-word; }
  .gmc-top { flex-direction: column; align-items: flex-start; }
  .gm-pin-dots { gap: var(--sp-3); }
  .gm-pad { gap: var(--sp-2) var(--sp-4); }
}
@media (prefers-reduced-motion: reduce) {
  .gm-stage .grid-stack-item,
  #gm-grid.gm-editing .gm-widget,
  .gm-w-dot.ping,
  .gm-pin-dots.shake,
  .gm-lock-inner,
  #godmode-overlay.unlocking { animation: none !important; }
  .gm-skel { animation: none !important; background: rgba(255, 255, 255, .07); }
}
.kpix-grid-sm {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--sp-3);
  margin: var(--sp-5) 0;
}
@media (max-width: 900px) { .kpix-grid-sm { grid-template-columns: repeat(2, 1fr); } }
.kpix-card-sm {
  display: flex; align-items: center; gap: var(--sp-3);
  background: var(--sf); border: 1px solid var(--br);
  border-radius: var(--radius-sm); padding: var(--sp-4);
}
.kpix-card-sm > i { font-size: var(--fs-xl); width: 28px; text-align: center; flex: 0 0 auto; }
.kpix-label-sm { font-size: var(--fs-xs); color: var(--tx-2); text-transform: uppercase; letter-spacing: .04em; }
.kpix-value-sm { font-size: var(--fs-lg); font-weight: var(--fw-fuerte); color: var(--tx); font-variant-numeric: tabular-nums; }
.change-badge {
  display: inline-block; padding: 2px 8px; border-radius: var(--radius-pill);
  font-size: var(--fs-xs); font-weight: var(--fw-dato);
  background: color-mix(in srgb, var(--tx-3) 14%, transparent); color: var(--tx-2);
}
.change-badge.pos { background: none; color: var(--estado-bien-ink); }
.change-badge.neg { background: none; color: var(--estado-urgente-ink); }
.kpix-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--sp-3); flex-wrap: wrap; }
.kpix-toolbar { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; }
.kpix-edit-hint {
  font-size: var(--fs-sm); color: var(--tx-2); background: var(--sf3);
  border: 1px dashed var(--br-2); border-radius: var(--radius-sm);
  padding: var(--sp-2) var(--sp-3); margin-bottom: var(--sp-4);
}
.kpix-blocks { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--sp-5); align-items: start; }
.kpix-block { grid-column: 1 / -1; min-width: 0; }
.kpix-block--half { grid-column: span 1; }
.kpix-block.kpix-off { opacity: .45; }
.kpix-tools {
  display: flex; align-items: center; gap: var(--sp-1);
  background: var(--sf3); border: 1px dashed var(--br-2); border-radius: var(--radius-sm);
  padding: var(--sp-1) var(--sp-2); margin-bottom: var(--sp-2);
}
.kpix-tools-name { flex: 1; font-size: var(--fs-xs); font-weight: var(--fw-dato); text-transform: uppercase; letter-spacing: .06em; color: var(--tx-2); }
.kpix-tool-btn {
  background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius-xs);
  width: 26px; height: 26px; cursor: pointer; color: var(--tx-2); font-size: var(--fs-xs);
  transition: border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}
.kpix-tool-btn:hover { border-color: var(--accent); color: var(--tx); }
.kpix-tool-btn:disabled { opacity: .35; cursor: default; }
.kpix-tool-btn:active { transform: scale(.97); }
.kpix-hero-card { position: relative; }
.kpix-pend-line { font-size: var(--fs-sm); color: var(--tx-2); margin-top: var(--sp-1); }
.kpix-pend-line strong { color: var(--estado-ojo-ink); }   
.kpix-cmp-tag { font-size: var(--fs-xs); color: var(--tx-3); }
.kpix-mixbar { display: flex; height: var(--bar-h, 8px); border-radius: var(--radius-pill); overflow: hidden; margin: var(--sp-2) 0 var(--sp-1); background: var(--sf3); }
.kpix-mixbar i { display: block; height: 100%; }
.kpix-mixleg { display: flex; gap: var(--sp-3); flex-wrap: wrap; font-size: var(--fs-xs); color: var(--tx-2); }
.kpix-mixleg i { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: var(--sp-1); vertical-align: baseline; }
.kpix-sub-sm { font-size: var(--fs-2xs); color: var(--tx-3); margin-top: 2px; }
.kpix-cal-grid2 { display: grid; grid-template-columns: minmax(280px, 440px) 1fr; gap: var(--sp-6); align-items: start; }
.kpix-cal-head { display: flex; align-items: center; gap: var(--sp-2); margin-bottom: var(--sp-3); }
.kpix-cal-title { flex: 1; text-align: center; font-weight: var(--fw-fuerte); font-size: var(--fs-md); text-transform: capitalize; color: var(--tx); }
.kpix-cal-nav {
  background: var(--sf3); border: 1px solid var(--br); border-radius: var(--radius-sm);
  width: 30px; height: 30px; cursor: pointer; font-size: var(--fs-lg); line-height: 1; color: var(--tx-2); flex-shrink: 0;
  transition: border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}
.kpix-cal-nav:hover { border-color: var(--accent); color: var(--tx); }
.kpix-cal-hoy {
  background: var(--sf3); border: 1px solid var(--br); border-radius: var(--radius-pill);
  padding: var(--sp-1) var(--sp-3); cursor: pointer; font-family: var(--font);
  font-size: var(--fs-xs); font-weight: var(--fw-dato); color: var(--tx-2); flex-shrink: 0;
  transition: border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}
.kpix-cal-hoy:hover { border-color: var(--accent); color: var(--tx); }
.kpix-heat-dow { display: grid; grid-template-columns: repeat(7, 1fr); gap: var(--sp-1); margin-bottom: var(--sp-1); }
.kpix-heat-dow > div { text-align: center; font-size: var(--fs-2xs); font-weight: var(--fw-dato); color: var(--tx-3); text-transform: uppercase; letter-spacing: .06em; }
.kpix-heat { display: grid; grid-template-columns: repeat(7, 1fr); gap: var(--sp-1); }
.kpix-heat-cell {
  aspect-ratio: 1; border-radius: var(--radius-xs); display: flex; align-items: center; justify-content: center;
  font-size: var(--fs-sm); font-weight: var(--fw-dato); cursor: pointer; user-select: none;
  font-variant-numeric: tabular-nums;
  transition: transform var(--dur-press) var(--ease-out);
}
.kpix-heat-cell:not(.empty):hover { transform: scale(1.06); }
.kpix-heat-cell:not(.empty):active { transform: scale(.97); }
.kpix-heat-cell.empty { cursor: default; background: transparent; }
.kpix-heat-cell.future { opacity: .35; }
.kpix-heat-cell.d0 { background: rgba(28, 28, 28, .04); color: var(--tx-3); }
.kpix-heat-cell.d1 { background: rgba(230, 171, 14, .18); color: var(--tx-2); }
.kpix-heat-cell.d2 { background: rgba(230, 171, 14, .38); color: var(--tx); }
.kpix-heat-cell.d3 { background: #e6ab0e; color: #1c1c1c; }
.kpix-heat-cell.d4 { background: #c9960a; color: #fff; }
[data-theme="dark"] .kpix-heat-cell.d0 { background: rgba(255, 255, 255, .04); color: var(--tx-3); }
[data-theme="dark"] .kpix-heat-cell.d1 { background: color-mix(in srgb, var(--accent) 15%, transparent); color: var(--tx-2); }
[data-theme="dark"] .kpix-heat-cell.d2 { background: color-mix(in srgb, var(--accent) 32%, transparent); color: var(--tx); }
[data-theme="dark"] .kpix-heat-cell.d3 { background: color-mix(in srgb, var(--accent) 55%, transparent); color: #1c1c1c; }
[data-theme="dark"] .kpix-heat-cell.d4 { background: var(--accent); color: #1c1c1c; }
.kpix-heat-cell.kpix-cal-today { outline: 2px solid var(--accent); outline-offset: -2px; }
[data-theme="light"] .kpix-heat-cell.kpix-cal-today, html:not([data-theme="dark"]) .kpix-heat-cell.kpix-cal-today { outline-color: var(--gold-ink, var(--accent)); }
.kpix-heat-legend { display: flex; align-items: center; gap: var(--sp-1); margin-top: var(--sp-2); font-size: var(--fs-2xs); color: var(--tx-3); }
.kpix-heat-legend i { width: 12px; height: 12px; border-radius: 3px; display: inline-block; }
.kpix-heat-legend i.d0 { background: rgba(28, 28, 28, .06); }
.kpix-heat-legend i.d1 { background: rgba(230, 171, 14, .18); }
.kpix-heat-legend i.d2 { background: rgba(230, 171, 14, .38); }
.kpix-heat-legend i.d3 { background: #e6ab0e; }
.kpix-heat-legend i.d4 { background: #c9960a; }
[data-theme="dark"] .kpix-heat-legend i.d0 { background: rgba(255, 255, 255, .06); }
[data-theme="dark"] .kpix-heat-legend i.d1 { background: color-mix(in srgb, var(--accent) 15%, transparent); }
[data-theme="dark"] .kpix-heat-legend i.d2 { background: color-mix(in srgb, var(--accent) 32%, transparent); }
[data-theme="dark"] .kpix-heat-legend i.d3 { background: color-mix(in srgb, var(--accent) 55%, transparent); }
[data-theme="dark"] .kpix-heat-legend i.d4 { background: var(--accent); }
.kpix-cal-detail { margin-top: var(--sp-3); font-size: var(--fs-sm); color: var(--tx-2); min-height: 18px; }
.kpix-cal-detail strong { color: var(--tx); }
.kpix-cal-tip {
  position: fixed; z-index: 10000; pointer-events: none; max-width: 240px;
  background: var(--sf); border: 1px solid var(--br-2); border-radius: var(--radius-sm);
  box-shadow: var(--shadow-lg); padding: var(--sp-2) var(--sp-3);
  font-family: var(--font); font-size: var(--fs-sm); color: var(--tx-2); line-height: 1.45;
}
.kpix-cal-tip strong { color: var(--tx); }
.kpix-side-title { font-size: var(--fs-xs); font-weight: var(--fw-fuerte); text-transform: uppercase; letter-spacing: .07em; color: var(--tx-3); margin-bottom: var(--sp-2); }
.kpix-side-title.up i { color: #10b981; }
.kpix-side-title.down i { color: #ef4444; }
.kpix-week { display: grid; grid-template-columns: repeat(7, 1fr); gap: var(--sp-2); height: calc(120px * var(--chart-scale, 1)); align-items: end; margin-bottom: var(--sp-2); }
.kpix-week-bar { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; gap: var(--sp-1); min-width: 0; }
.kpix-week-bar i { display: block; width: 100%; max-width: 34px; border-radius: var(--radius-xs) var(--radius-xs) 0 0; background: var(--sf3); border: 1px solid var(--br); border-bottom: none; }
.kpix-week-bar.peak i { background: var(--accent); border-color: var(--accent); }
.kpix-week-bar b { font-size: var(--fs-2xs); font-weight: var(--fw-dato); color: var(--tx-3); }
.kpix-week-bar.peak b { color: var(--gold-ink, var(--accent)); }
.kpix-week-val { font-size: var(--fs-2xs); color: var(--tx-3); white-space: nowrap; font-variant-numeric: tabular-nums; }
.kpix-insight { font-size: var(--fs-sm); color: var(--tx-2); margin-bottom: var(--sp-5); }
.kpix-insight strong { color: var(--tx); }
.kpix-season { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--sp-1); height: calc(64px * var(--chart-scale, 1)); align-items: end; }
.kpix-season-bar { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; gap: 2px; }
.kpix-season-bar i { display: block; width: 100%; max-width: 18px; border-radius: 2px 2px 0 0; background: var(--sf3); border: 1px solid var(--br); border-bottom: none; }
.kpix-season-bar.hi i { background: rgba(230, 171, 14, .55); border-color: transparent; }
[data-theme="dark"] .kpix-season-bar.hi i { background: color-mix(in srgb, var(--accent) 55%, transparent); }
.kpix-season-bar b { font-size: var(--fs-2xs); font-weight: var(--fw-dato); color: var(--tx-3); text-transform: uppercase; }
.kpix-note { font-size: var(--fs-xs); color: var(--tx-3); margin-top: var(--sp-1); }
.kpix-cal-foot { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-6); margin-top: var(--sp-6); padding-top: var(--sp-5); border-top: 1px solid var(--br); }
.kpix-bw-row { display: flex; align-items: baseline; gap: var(--sp-2); padding: var(--sp-1) 0; font-size: var(--fs-sm); color: var(--tx-2); flex-wrap: wrap; }
.kpix-bw-row strong { color: var(--tx); font-variant-numeric: tabular-nums; }
.kpix-bw-row em { font-style: normal; font-size: var(--fs-xs); color: #ef4444; }
.kpix-bw-row.good strong { color: #10b981; }
.kpix-event { display: flex; align-items: baseline; gap: var(--sp-2); padding: var(--sp-1) 0; font-size: var(--fs-sm); color: var(--tx-2); }
.kpix-event strong { color: var(--tx); }
.kpix-event-ico { flex: 0 0 auto; font-size: var(--fs-xs); }
.kpix-event.pico .kpix-event-ico { color: #10b981; }
.kpix-event.valle .kpix-event-ico { color: #ef4444; }
.kpix-movers-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-6); }
.kpix-mover { display: flex; align-items: center; gap: var(--sp-2); padding: var(--sp-2) 0; border-bottom: 1px solid var(--br); font-size: var(--fs-sm); }
.kpix-mover:last-child { border-bottom: none; }
.kpix-mover-name { flex: 1; min-width: 0; font-weight: var(--fw-dato); color: var(--tx); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kpix-mover-eur { color: var(--tx-2); font-variant-numeric: tabular-nums; white-space: nowrap; }
.kpix-mover-delta { font-size: var(--fs-xs); font-weight: var(--fw-dato); font-variant-numeric: tabular-nums; white-space: nowrap; }
.kpix-mover-delta.pos { color: #10b981; }
.kpix-mover-delta.neg { color: #ef4444; }
.kpix-vol { font-size: var(--fs-2xs); font-weight: var(--fw-dato); text-transform: uppercase; letter-spacing: .05em; padding: 2px var(--sp-2); border-radius: var(--radius-pill); white-space: nowrap; }
.kpix-vol.stable { background: rgba(16, 185, 129, .12); color: #10b981; }
.kpix-vol.variable { background: rgba(245, 158, 11, .12); color: #f59e0b; }
.kpix-vol.volatile { background: rgba(239, 68, 68, .12); color: #ef4444; }
.kpix-freq { display: flex; align-items: baseline; gap: var(--sp-2); padding: var(--sp-2) var(--sp-3); border-radius: var(--radius-sm); margin-bottom: var(--sp-2); font-size: var(--fs-sm); color: var(--tx-2); }
.kpix-freq strong { color: var(--tx); }
.kpix-freq.amber { background: rgba(245, 158, 11, .10); }
.kpix-freq.amber i { color: #f59e0b; }
.kpix-freq.red { background: rgba(239, 68, 68, .10); }
.kpix-freq.red i { color: #ef4444; }
.kpix-reco-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--sp-3); }
.kpix-reco-card {
  display: flex; align-items: flex-start; gap: var(--sp-3);
  background: hsl(var(--reco-hue, 210) 85% 55% / .07);   
  border-radius: var(--radius-sm); padding: var(--sp-3) var(--sp-4);
}
.kpix-reco-card > i { color: hsl(var(--reco-hue, 210) 85% 55%); font-size: var(--fs-md); margin-top: 2px; flex: 0 0 auto; }
.kpix-reco-title { font-size: var(--fs-sm); font-weight: var(--fw-fuerte); color: var(--tx); margin-bottom: 2px; }
.kpix-reco-body { font-size: var(--fs-sm); color: var(--tx-2); line-height: 1.45; }
.kpix-ia-box {
  margin-top: var(--sp-4); padding: var(--sp-4); border: 1px solid var(--br); border-radius: var(--radius-sm);
  background: var(--sf3); font-size: var(--fs-md); color: var(--tx); line-height: 1.6;
}
.kpix-chart { height: calc(240px * var(--chart-scale, 1)); position: relative; }
.kpix-chart-tall { height: calc(260px * var(--chart-scale, 1)); }
.kpix-skel-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-4); }
.kpix-skel {
  height: 120px; border-radius: var(--radius); background: var(--sf3);
  position: relative; overflow: hidden;
}
.kpix-skel-tall { height: 320px; }
.kpix-skel::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(100deg, transparent 30%, rgba(140, 140, 148, .12) 50%, transparent 70%);
  background-size: 250% 100%;
  animation: kpix-skel-sweep 1.3s var(--ease-in-out) infinite;
}
@keyframes kpix-skel-sweep { from { background-position: 200% 0; } to { background-position: -50% 0; } }
@media (prefers-reduced-motion: reduce) { .kpix-skel::after { animation: none; } }
.kpix-loading-note { text-align: center; color: var(--tx-2); font-size: var(--fs-md); padding: var(--sp-5); }
@media (max-width: 768px) {
  .kpix-blocks { grid-template-columns: 1fr; }
  .kpix-block--half { grid-column: 1 / -1; }
  .kpix-cal-grid2 { grid-template-columns: 1fr; }
  .kpix-cal-foot { grid-template-columns: 1fr; gap: var(--sp-5); }
  .kpix-movers-grid { grid-template-columns: 1fr; gap: var(--sp-4); }
  .kpix-toolbar { width: 100%; }
  .kpix-cal-tip { display: none !important; }   
  .kpix-skel-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .kpix-grid-sm { grid-template-columns: 1fr; }
  .kpix-week-val { display: none; }             
  .kpix-heat { gap: 2px; }
  .kpix-heat-cell { font-size: var(--fs-xs); border-radius: 4px; }
  .kpix-skel-grid { grid-template-columns: 1fr; }
  .kpix-reco-list { grid-template-columns: 1fr; }
}
.kpix-hero .kpi-change { flex-wrap: wrap; row-gap: var(--sp-1); }
.kpix-hero .change-badge { white-space: nowrap; }
.kpix-card-sm { position: relative; transition: border-color var(--dur-fast) var(--ease-out); }
.kpix-card-sm:hover { border-color: var(--br-2); }
.kpix-card-sm > i {
  width: 40px; height: 40px; font-size: var(--fs-lg);
  display: flex; align-items: center; justify-content: center;
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, currentColor 14%, transparent);
}
.kpix-hero .kpi-spark {
  margin: var(--sp-3) calc(-1 * var(--sp-6)) calc(-1 * var(--sp-6));
  height: 52px;
  overflow: hidden;
  border-radius: 0 0 var(--radius) var(--radius);
}
.kpix-hero .kpi-card:hover {
  transform: none;
  border-top-color: color-mix(in srgb, var(--accent) 30%, transparent);
}
.kpix-blocks.kpix-enter > .kpix-block { animation: none;   }
@keyframes kpix-rise {
  from { transform: translateY(10px); }
  to   { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .kpix-blocks.kpix-enter > .kpix-block { animation: none; }
}
.kpix-tool-btn:focus-visible,
.kpix-cal-nav:focus-visible,
.kpix-cal-hoy:focus-visible {
  outline: 2px solid var(--accent); outline-offset: 2px;
}
.kpix-hero .kpi-card::before,
.kpix-card-sm::before {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: calc(var(--radius) + 1px);
  background: radial-gradient(
    200px 200px at var(--glow-x, -9999px) var(--glow-y, -9999px),
    color-mix(in srgb, var(--accent) 55%, transparent) 0%, transparent 100%);
  background-attachment: fixed;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
          mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
  z-index: 0;
  opacity: 0;
  transition: opacity .35s;
}
.kpix-card-sm::before { border-radius: calc(var(--radius-sm) + 1px); }
.kpix-hero .kpi-card.glow-ready::before,
.kpix-card-sm.glow-ready::before { opacity: 1; }
.kpix-head { flex-direction: column; align-items: stretch; gap: var(--sp-4); }
.kpix-toolbar {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;  
  gap: var(--sp-5);
  flex-wrap: wrap;
}
.kpix-tabs,
.kpix-compare,
.kpix-toolbar-right { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; }
.kpix-compare {
  border-left: 1px solid var(--br);
  border-right: 1px solid var(--br);
  padding: 0 var(--sp-4);
}
.kpix-compare .bx-ck-chip.on,
[data-theme="dark"] .kpix-compare .bx-ck-chip.on {
  background: var(--blue-ink);   
  border-color: transparent;
  color: #fff;
  box-shadow: none;
}
@media (max-width: 1440px) {
  .kpix-toolbar { justify-content: center; gap: var(--sp-5); }
  .kpix-compare { border-left: none; border-right: none; padding: 0; }
}
@media (max-width: 768px) {
  .kpix-toolbar { gap: var(--sp-3); }
}
.kpix-block .kpi-grid { margin: 0; }
.kpix-block .kpix-grid-sm { margin: 0; }
.kpix-block .kpix-chart,
.kpix-block .kpix-chart-tall { height: calc(260px * var(--chart-scale, 1)); }
.kpix-ai-btn {
  display: inline-flex; align-items: center; gap: var(--sp-2);
  padding: var(--sp-2) var(--sp-4);
  border: 1px solid transparent;
  border-radius: var(--radius-pill);
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 72%, #fff), var(--accent));
  color: #1c1c1c;
  font-family: var(--font); font-size: var(--fs-sm); font-weight: var(--fw-dato);
  white-space: nowrap; cursor: pointer;
  transition: filter var(--dur-fast) var(--ease-out), transform var(--dur-press) var(--ease-out);
}
.kpix-ai-btn i { font-size:var(--fs-xs); }
.kpix-ai-btn:hover { filter: brightness(1.04); }
.kpix-ai-btn:active { transform: scale(.97); }
.kpix-ai-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.kpix-cf, .kpix-funnel { display: flex; flex-direction: column; gap: var(--sp-3); margin-top: var(--sp-2); }
.kpix-cf-row, .kpix-funnel-row {
  display: grid; grid-template-columns: minmax(110px, 1.1fr) 2fr auto;
  align-items: center; gap: var(--sp-3); font-size: var(--fs-sm);
}
.kpix-cf-lbl, .kpix-funnel-lbl { color: var(--tx); font-weight: var(--fw-dato); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kpix-cf-lbl em, .kpix-funnel-lbl em { font-style: normal; font-weight: var(--fw-medium); color: var(--tx-3); font-size: var(--fs-xs); }
.kpix-funnel-lbl i { width: 15px; text-align: center; margin-right: 2px; }
.kpix-fi-lead { color: #8b5cf6; }
.kpix-fi-act { color: #10b981; }
.kpix-fi-inact { color: #f59e0b; }
.kpix-cf-track, .kpix-funnel-track { height: var(--bar-h, 10px); background: var(--sf3); border-radius: var(--radius-pill); overflow: hidden; }
.kpix-cf-bar, .kpix-funnel-bar { display: block; height: 100%; border-radius: var(--radius-pill); min-width: 2px; }
.kpix-cf-val, .kpix-funnel-n { font-weight: var(--fw-fuerte); color: var(--tx); font-variant-numeric: tabular-nums; white-space: nowrap; text-align: right; }
.kpix-cf-bar.over  { background: #ef4444; }
.kpix-cf-bar.d30   { background: #f59e0b; }
.kpix-cf-bar.d60   { background: #e6ab0e; }
.kpix-cf-bar.d90   { background: #10b981; }
.kpix-cf-bar.d90p  { background: #3b82f6; }
.kpix-funnel-bar.lead  { background: #8b5cf6; }
.kpix-funnel-bar.act   { background: #10b981; }
.kpix-funnel-bar.inact { background: #f59e0b; }
.kpix-cf-foot, .kpix-funnel-foot {
  margin-top: var(--sp-4); padding-top: var(--sp-3); border-top: 1px solid var(--br);
  font-size: var(--fs-sm); color: var(--tx-2); display: flex; justify-content: space-between;
  gap: var(--sp-3); flex-wrap: wrap;
}
.kpix-cf-foot strong, .kpix-funnel-foot strong { color: var(--tx); }
.kpix-cf-over { color: #ef4444; font-weight: var(--fw-dato); }
.kpix-funnel-warn { color: #f59e0b; font-weight: var(--fw-dato); }
.kpix-margin-pending {
  display: flex; gap: var(--sp-3); align-items: flex-start; margin-top: var(--sp-2);
  background: var(--sf3); border: 1px dashed var(--br-2); border-radius: var(--radius-sm); padding: var(--sp-4);
}
.kpix-margin-pending > i { color: var(--tx-3); font-size: var(--fs-lg); margin-top: 2px; flex: 0 0 auto; }
.kpix-margin-pend-title { font-weight: var(--fw-fuerte); color: var(--tx); margin-bottom: 2px; }
.kpix-margin-pend-body { font-size: var(--fs-sm); color: var(--tx-2); line-height: 1.5; }
.kpix-margin-ctx {
  display: flex; justify-content: space-between; align-items: baseline;
  margin-top: var(--sp-4); padding-top: var(--sp-3); border-top: 1px solid var(--br);
  font-size: var(--fs-sm); color: var(--tx-2);
}
.kpix-margin-ctx strong { font-size: var(--fs-xl); color: var(--tx); font-variant-numeric: tabular-nums; }
.kpix-margin-kpis { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--sp-3); margin-top: var(--sp-2); }
.kpix-margin-num { font-size: var(--fs-2xl); font-weight: var(--fw-fuerte); color: var(--tx); font-variant-numeric: tabular-nums; line-height: 1.05; }
.kpix-margin-lbl { font-size: var(--fs-xs); color: var(--tx-3); text-transform: uppercase; letter-spacing: .04em; margin-top: 2px; }
.kpix-margin-pct { font-size: var(--fs-xl); font-weight: var(--fw-fuerte); font-variant-numeric: tabular-nums; color: var(--tx-2); padding: 2px 10px; border-radius: 999px; background: var(--sf3); }
.kpix-margin-pct.pos { color: #10b981; background: rgba(16,185,129,.12); }
.kpix-margin-pct.neg { color: #ef4444; background: rgba(239,68,68,.12); }
.kpix-margin-cover { font-size: var(--fs-xs); color: var(--tx-2); margin-top: var(--sp-3); display: flex; gap: 6px; align-items: baseline; }
.kpix-margin-cover i { color: var(--tx-3); }
.kpix-margin-skus { margin-top: var(--sp-3); border-top: 1px solid var(--br); padding-top: var(--sp-3); }
.kpix-margin-skus-h { font-size: var(--fs-xs); color: var(--tx-3); text-transform: uppercase; letter-spacing: .04em; margin-bottom: var(--sp-2); }
.kpix-margin-srow { display: flex; align-items: baseline; gap: var(--sp-2); padding: 3px 0; font-size: var(--fs-sm); }
.kpix-margin-sname { flex: 1 1 auto; color: var(--tx); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kpix-margin-sper { color: var(--tx-3); font-size: var(--fs-xs); font-variant-numeric: tabular-nums; flex: 0 0 auto; }
.kpix-margin-stot { color: var(--tx); font-variant-numeric: tabular-nums; flex: 0 0 auto; min-width: 56px; text-align: right; }
.kpix-cost-editor { margin-top: var(--sp-3); border-top: 1px solid var(--br); padding-top: var(--sp-3); }
.kpix-cost-editor > summary { cursor: pointer; font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--gold-ink); list-style: none; display: flex; align-items: center; gap: 8px; user-select: none; }
.kpix-cost-editor > summary::-webkit-details-marker { display: none; }
.kpix-cost-editor[open] > summary { margin-bottom: var(--sp-3); }
.kpix-cost-list { max-height: 320px; overflow-y: auto; display: flex; flex-direction: column; gap: 4px; padding-right: 4px; }
.kpix-cost-row { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-2); }
.kpix-cost-name { font-size: var(--fs-sm); color: var(--tx); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kpix-cost-name em { color: var(--tx-3); font-style: normal; font-size: var(--fs-xs); margin-left: 4px; }
.kpix-cost-inp { display: flex; align-items: center; gap: 4px; flex: 0 0 auto; }
.kpix-cost-inp input { width: 72px; text-align: right; padding: 5px 8px; border: 1px solid var(--br-2); border-radius: var(--radius-sm); background: var(--sf); color: var(--tx); font-variant-numeric: tabular-nums; font-size: var(--fs-sm); }
.kpix-cost-inp input:focus { outline: none; border-color: var(--accent); }
.kpix-cost-inp > span { font-size: var(--fs-xs); color: var(--tx-3); }
.kpix-cost-foot { font-size: var(--fs-xs); color: var(--tx-3); margin-top: var(--sp-2); line-height: 1.5; }
.kpix-ent-link { cursor: pointer; }
.kpix-ent-link:hover .kpix-mover-name,
.kpix-ent-link:hover strong { color: var(--gold-ink, var(--accent)); }
[data-theme="dark"] .kpix-ent-link:hover .kpix-mover-name,
[data-theme="dark"] .kpix-ent-link:hover strong { color: var(--accent); }
.kpix-debtors { display: flex; flex-direction: column; gap: var(--sp-2); }
.kpix-debtor {
  display: grid; grid-template-columns: minmax(90px, 1fr) 1.6fr auto auto;
  align-items: center; gap: var(--sp-3); padding: var(--sp-1) 0;
  font-size: var(--fs-sm); cursor: pointer; border-radius: var(--radius-xs);
}
.kpix-debtor:hover .kpix-debtor-name { color: var(--gold-ink, var(--accent)); }
[data-theme="dark"] .kpix-debtor:hover .kpix-debtor-name { color: var(--accent); }
.kpix-debtor-name { font-weight: var(--fw-dato); color: var(--tx); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kpix-debtor-track { display: flex; height: var(--bar-h, 8px); background: var(--sf3); border-radius: var(--radius-pill); overflow: hidden; }
.kpix-debtor-track i { display: block; height: 100%; }
.kpix-debtor-eur { font-weight: var(--fw-fuerte); color: var(--tx); font-variant-numeric: tabular-nums; white-space: nowrap; text-align: right; }
.kpix-debtor-sub { font-size: var(--fs-2xs); color: var(--tx-3); white-space: nowrap; }
.kpix-debtor-track .a30,  .kpix-aging-leg .a30  { background: #f59e0b; }
.kpix-debtor-track .a90,  .kpix-aging-leg .a90  { background: #f97316; }
.kpix-debtor-track .a365, .kpix-aging-leg .a365 { background: #ef4444; }
.kpix-debtor-track .amas, .kpix-aging-leg .amas { background: #991b1b; }
.kpix-aging-leg { display: flex; gap: var(--sp-3); margin-top: var(--sp-2); font-size: var(--fs-2xs); color: var(--tx-3); flex-wrap: wrap; }
.kpix-aging-leg i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 3px; vertical-align: -1px; }
.kpix-entmod { max-width: 560px; max-height: calc(100vh - 64px); overflow-y: auto; }
.kpix-entmod-row {
  display: grid; grid-template-columns: auto 1fr auto auto;
  gap: var(--sp-3); align-items: baseline; padding: var(--sp-2) 0;
  border-bottom: 1px solid var(--br); font-size: var(--fs-sm); color: var(--tx-2);
}
.kpix-entmod-row:last-child { border-bottom: none; }
.kpix-entmod-row.due .kpix-entmod-st { color: #ef4444; font-weight: var(--fw-dato); }
.kpix-entmod-num { color: var(--tx-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kpix-entmod-eur { font-weight: var(--fw-fuerte); color: var(--tx); font-variant-numeric: tabular-nums; }
.kpix-entmod-st { font-size: var(--fs-xs); white-space: nowrap; }
.kpix-comp-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-4); }
@media (max-width: 900px) { .kpix-comp-grid { grid-template-columns: 1fr; } }
.kpix-comp-card {
  background: var(--sf3); border: 1px solid var(--br); border-radius: var(--radius-sm);
  padding: var(--sp-4); min-width: 0;
}
.kpix-comp-name { font-weight: var(--fw-fuerte); color: var(--tx); margin-bottom: var(--sp-1); }
.kpix-comp-fin { font-size: var(--fs-sm); color: var(--tx-2); margin-bottom: var(--sp-2); }
.kpix-comp-fin strong { color: var(--tx); font-variant-numeric: tabular-nums; }
.kpix-comp-pend { color: var(--tx-3); font-size: var(--fs-xs); }
.kpix-comp-pend i { margin-right: 3px; }
.kpix-comp-ads { font-size: var(--fs-xs); color: var(--tx-3); margin-bottom: var(--sp-2); }
.kpix-comp-digest { font-size: var(--fs-sm); color: var(--tx-2); line-height: 1.5; }
.kpix-comp-digest strong { color: var(--tx); }
.kpix-comp-side {
  display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-6);
  margin-top: var(--sp-5); padding-top: var(--sp-4); border-top: 1px solid var(--br);
}
@media (max-width: 768px) { .kpix-comp-side { grid-template-columns: 1fr; } }
.kpix-comp-item { font-size: var(--fs-sm); color: var(--tx-2); line-height: 1.5; padding: var(--sp-2) 0; border-bottom: 1px solid var(--br); }
.kpix-comp-item:last-child { border-bottom: none; }
.kpix-comp-item strong { color: var(--tx); }
#godmode-overlay { overflow: hidden; }
#godmode-overlay .gm-lock-inner, #godmode-overlay .gm-lock-close { position: relative; z-index: 3; }
.gm-rain {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background-image:
    radial-gradient(4px 100px at 0px 235px, rgba(239,68,68,1), transparent),
    radial-gradient(4px 100px at 300px 235px, rgba(239,68,68,1), transparent),
    radial-gradient(1.5px 1.5px at 150px 117.5px, #f87171 100%, transparent 150%),
    radial-gradient(4px 100px at 0px 252px, rgba(239,68,68,1), transparent),
    radial-gradient(4px 100px at 300px 252px, rgba(239,68,68,1), transparent),
    radial-gradient(1.5px 1.5px at 150px 126px, #f87171 100%, transparent 150%),
    radial-gradient(4px 100px at 0px 150px, rgba(239,68,68,1), transparent),
    radial-gradient(4px 100px at 300px 150px, rgba(239,68,68,1), transparent),
    radial-gradient(1.5px 1.5px at 150px 75px, #f87171 100%, transparent 150%),
    radial-gradient(4px 100px at 0px 253px, rgba(239,68,68,1), transparent),
    radial-gradient(4px 100px at 300px 253px, rgba(239,68,68,1), transparent),
    radial-gradient(1.5px 1.5px at 150px 126.5px, #f87171 100%, transparent 150%),
    radial-gradient(4px 100px at 0px 204px, rgba(239,68,68,1), transparent),
    radial-gradient(4px 100px at 300px 204px, rgba(239,68,68,1), transparent),
    radial-gradient(1.5px 1.5px at 150px 102px, #f87171 100%, transparent 150%),
    radial-gradient(4px 100px at 0px 134px, rgba(239,68,68,1), transparent),
    radial-gradient(4px 100px at 300px 134px, rgba(239,68,68,1), transparent),
    radial-gradient(1.5px 1.5px at 150px 67px, #f87171 100%, transparent 150%),
    radial-gradient(4px 100px at 0px 179px, rgba(239,68,68,1), transparent),
    radial-gradient(4px 100px at 300px 179px, rgba(239,68,68,1), transparent),
    radial-gradient(1.5px 1.5px at 150px 89.5px, #f87171 100%, transparent 150%),
    radial-gradient(4px 100px at 0px 299px, rgba(239,68,68,1), transparent),
    radial-gradient(4px 100px at 300px 299px, rgba(239,68,68,1), transparent),
    radial-gradient(1.5px 1.5px at 150px 149.5px, #f87171 100%, transparent 150%),
    radial-gradient(4px 100px at 0px 215px, rgba(239,68,68,1), transparent),
    radial-gradient(4px 100px at 300px 215px, rgba(239,68,68,1), transparent),
    radial-gradient(1.5px 1.5px at 150px 107.5px, #f87171 100%, transparent 150%),
    radial-gradient(4px 100px at 0px 281px, rgba(239,68,68,1), transparent),
    radial-gradient(4px 100px at 300px 281px, rgba(239,68,68,1), transparent),
    radial-gradient(1.5px 1.5px at 150px 140.5px, #f87171 100%, transparent 150%),
    radial-gradient(4px 100px at 0px 158px, rgba(239,68,68,1), transparent),
    radial-gradient(4px 100px at 300px 158px, rgba(239,68,68,1), transparent),
    radial-gradient(1.5px 1.5px at 150px 79px, #f87171 100%, transparent 150%),
    radial-gradient(4px 100px at 0px 210px, rgba(239,68,68,1), transparent),
    radial-gradient(4px 100px at 300px 210px, rgba(239,68,68,1), transparent),
    radial-gradient(1.5px 1.5px at 150px 105px, #f87171 100%, transparent 150%);
  background-size:
    300px 235px, 300px 235px, 300px 235px, 300px 252px, 300px 252px, 300px 252px,
    300px 150px, 300px 150px, 300px 150px, 300px 253px, 300px 253px, 300px 253px,
    300px 204px, 300px 204px, 300px 204px, 300px 134px, 300px 134px, 300px 134px,
    300px 179px, 300px 179px, 300px 179px, 300px 299px, 300px 299px, 300px 299px,
    300px 215px, 300px 215px, 300px 215px, 300px 281px, 300px 281px, 300px 281px,
    300px 158px, 300px 158px, 300px 158px, 300px 210px, 300px 210px, 300px 210px;
  animation: gm-rain-fall 150s linear infinite;
  -webkit-mask-image: radial-gradient(ellipse at center, transparent 7%, #000 50%);
          mask-image: radial-gradient(ellipse at center, transparent 7%, #000 50%);
}
@keyframes gm-rain-fall {
  from { background-position: 0px 220px, 3px 220px, 151.5px 337.5px, 25px 24px, 28px 24px, 176.5px 150px, 50px 16px, 53px 16px, 201.5px 91px, 75px 224px, 78px 224px, 226.5px 230.5px, 100px 19px, 103px 19px, 251.5px 121px, 125px 120px, 128px 120px, 276.5px 187px, 150px 31px, 153px 31px, 301.5px 120.5px, 175px 235px, 178px 235px, 326.5px 384.5px, 200px 121px, 203px 121px, 351.5px 228.5px, 225px 224px, 228px 224px, 376.5px 364.5px, 250px 26px, 253px 26px, 401.5px 105px, 275px 75px, 278px 75px, 426.5px 180px; }
  to   { background-position: 0px 6800px, 3px 6800px, 151.5px 6917.5px, 25px 13632px, 28px 13632px, 176.5px 13758px, 50px 5416px, 53px 5416px, 201.5px 5491px, 75px 17175px, 78px 17175px, 226.5px 17301.5px, 100px 5119px, 103px 5119px, 251.5px 5221px, 125px 8428px, 128px 8428px, 276.5px 8495px, 150px 9876px, 153px 9876px, 301.5px 9965.5px, 175px 13391px, 178px 13391px, 326.5px 13540.5px, 200px 14741px, 203px 14741px, 351.5px 14848.5px, 225px 18770px, 228px 18770px, 376.5px 18910.5px, 250px 5082px, 253px 5082px, 401.5px 5161px, 275px 6375px, 278px 6375px, 426.5px 6480px; }
}
.gm-rain-veil { display: none; }
.gm-rain { display: none; }   
.gm-pixels {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  opacity: 1; transition: opacity .6s ease-out;   
  -webkit-mask-image: radial-gradient(ellipse 58% 52% at center, transparent 5%, #000 44%);
          mask-image: radial-gradient(ellipse 58% 52% at center, transparent 5%, #000 44%);   
}
.gm-godword {
  position: relative; left: 50%; transform: translateX(-50%);
  width: max-content; max-width: 94vw;
  margin: 0 0 var(--sp-3); white-space: nowrap; text-align: center;
  pointer-events: none; user-select: none;
  font-family: 'Mont', var(--font); font-weight: var(--fw-black); letter-spacing: -.005em; line-height: 1;
  font-size: clamp(1.6rem, 6.6vw, 3.7rem);
  color: transparent;
  -webkit-text-stroke: .85px rgba(228,232,240,.5);
  background-image:
    repeating-linear-gradient(0deg,  rgba(228,232,240,.55) 0 1px, transparent 1px 7px),
    repeating-linear-gradient(90deg, rgba(228,232,240,.55) 0 1px, transparent 1px 7px);
  background-size: 7px 7px;
  -webkit-background-clip: text; background-clip: text;
  filter: drop-shadow(0 8px 22px rgba(0,0,0,.55));
}
.gm-godword::before {
  content: attr(data-word);
  position: absolute; inset: 0; white-space: nowrap;
  color: transparent;
  background: linear-gradient(100deg, #c5c9d2 0%, #ffffff 18%, #d0d3db 38%, #ffffff 50%, #c5c9d2 62%, #ffffff 82%, #ccd0d8 100%);
  background-size: 220% auto;
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-stroke: .5px rgba(255,255,255,.10);
  -webkit-mask-image: linear-gradient(100deg, #000 0 32%, rgba(0,0,0,.5) 42%, rgba(0,0,0,.28) 50%, rgba(0,0,0,.5) 58%, #000 68% 100%);
          mask-image: linear-gradient(100deg, #000 0 32%, rgba(0,0,0,.5) 42%, rgba(0,0,0,.28) 50%, rgba(0,0,0,.5) 58%, #000 68% 100%);
  -webkit-mask-size: 300% 100%; mask-size: 300% 100%;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
}
@keyframes gm-godshimmer { 0% { background-position: 220% center; } 100% { background-position: 0% center; } }
@keyframes gm-godsweep {
  0%, 16%   { -webkit-mask-position: 0% 0;   mask-position: 0% 0; }
  66%, 100% { -webkit-mask-position: 100% 0; mask-position: 100% 0; }
}
.gm-godword::before { animation: gm-godshimmer 8s linear infinite, gm-godsweep 7.5s ease-in-out infinite; }
@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
  .gm-godword { color: #e8eaf0; -webkit-text-fill-color: #e8eaf0; background: none; -webkit-text-stroke: 0; }
  .gm-godword::before { display: none; }
}
@media (prefers-reduced-motion: reduce) { .gm-godword::before { animation: none; -webkit-mask-image: none; mask-image: none; opacity: .9; } }
.gm-godword.gm-glitch  { animation: gm-glitch .5s steps(2, end) 1; }
.gm-godword.gm-glitch-err { animation: gm-glitch-err .46s steps(2, end) 1; }
@keyframes gm-glitch {
  0%   { transform: translateX(-50%) translate(0, 0);   filter: drop-shadow(0 8px 22px rgba(0,0,0,.55)); }
  12%  { transform: translateX(-50%) translate(-3px, 1px); filter: drop-shadow(2px 0 #ff2a6d) drop-shadow(-2px 0 #05d9e8); }
  24%  { transform: translateX(-50%) translate(3px, -1px); filter: drop-shadow(-2px 0 #ff2a6d) drop-shadow(2px 0 #05d9e8); }
  38%  { transform: translateX(-50%) translate(-2px, 0);  filter: drop-shadow(3px 0 #ff2a6d) drop-shadow(-3px 0 #05d9e8); }
  55%  { transform: translateX(-50%) translate(2px, 1px); filter: drop-shadow(-1px 0 #ff2a6d) drop-shadow(1px 0 #05d9e8); }
  72%  { transform: translateX(-50%) translate(-1px, 0);  filter: drop-shadow(1px 0 #ff2a6d) drop-shadow(-1px 0 #05d9e8); }
  100% { transform: translateX(-50%) translate(0, 0);   filter: drop-shadow(0 8px 22px rgba(0,0,0,.55)); }
}
@keyframes gm-glitch-err {
  0%, 100% { transform: translateX(-50%) translate(0, 0) skewX(0); filter: drop-shadow(0 8px 22px rgba(0,0,0,.55)); }
  14% { transform: translateX(-50%) translate(-6px, 2px) skewX(-4deg); filter: drop-shadow(4px 0 #ff0033) drop-shadow(-4px 0 #ff0033) brightness(1.3); }
  30% { transform: translateX(-50%) translate(6px, -2px) skewX(3deg);  filter: drop-shadow(-4px 0 #ff0033) drop-shadow(4px 0 #ff0033) brightness(1.3); }
  48% { transform: translateX(-50%) translate(-5px, 1px) skewX(-2deg); filter: drop-shadow(5px 0 #ff0033) drop-shadow(-3px 0 #ff3355) brightness(1.2); }
  66% { transform: translateX(-50%) translate(4px, -1px) skewX(2deg);  filter: drop-shadow(-3px 0 #ff0033) drop-shadow(3px 0 #ff3355); }
}
#godmode-overlay.gm-deny { animation: gm-deny .44s ease-out 1; }
@keyframes gm-deny { 0%, 100% { box-shadow: inset 0 0 0 0 transparent; } 22% { box-shadow: inset 0 0 160px 24px rgba(255,28,28,.5); } }
.gm-fade-out { animation: gm-fade-out .26s var(--ease-out) forwards; }
@keyframes gm-fade-out { to { opacity: 0; transform: scale(.96); } }
.gm-boot { position: absolute; inset: 0; z-index: 4; pointer-events: none; padding: var(--sp-6);
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; }
.gm-boot-line {
  font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  font-size: clamp(.8rem, 2.1vw, 1.05rem); letter-spacing: .04em; white-space: nowrap;
  color: #ff6b6b; text-shadow: 0 0 12px rgba(255,42,42,.45);
  opacity: 0; transform: translateY(5px); animation: gm-boot-in .26s var(--ease-out) forwards;
}
.gm-boot-line.ok   { color: #5eead4; text-shadow: 0 0 12px rgba(94,234,212,.4); }
.gm-boot-line.gold { color: #ffd24a; text-shadow: 0 0 18px color-mix(in srgb, var(--accent) 60%, transparent); font-weight: var(--fw-dato); letter-spacing: .12em; }
@keyframes gm-boot-in { to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .gm-boot-line { animation: none; opacity: 1; transform: none; } .gm-fade-out { animation: none; } }
@media (max-width: 768px), (prefers-reduced-motion: reduce) {
  .gm-rain { animation: none; }
  .btn-primary, .new-sale-btn { animation: none; }   
}
@media (max-width: 768px) {
  .gm-rain {
    background-image:
      radial-gradient(75% 55% at 0% 0%, rgba(239, 68, 68, .22), transparent 72%),
      radial-gradient(75% 55% at 100% 100%, rgba(239, 68, 68, .17), transparent 72%);
    background-size: auto;
    -webkit-mask-image: none;
            mask-image: none;
  }
}
#gm-grid.gm-editing {
  background-image:
    linear-gradient(to right, color-mix(in srgb, var(--accent) 7%, transparent) 1px, transparent 1px),
    linear-gradient(to bottom, color-mix(in srgb, var(--accent) 7%, transparent) 1px, transparent 1px);
  background-size: calc(100% / 12) 102px;
  border-radius: var(--radius-sm);
}
.gm-maintabs { display: flex; gap: var(--sp-1); margin: 0 var(--sp-3); }
.gm-maintab {
  border: 1px solid rgba(255, 255, 255, .1); background: rgba(255, 255, 255, .04);
  color: rgba(244, 244, 246, .6); border-radius: var(--radius-pill);
  padding: 6px 14px; font-family: var(--font); font-size: var(--fs-sm); font-weight: var(--fw-dato);
  cursor: pointer; white-space: nowrap;
  transition: background .15s var(--ease-out), color .15s var(--ease-out), transform .12s var(--ease-out);
}
.gm-maintab:hover { color: #fff; }
.gm-maintab:active { transform: scale(.96); }
.gm-maintab.on { background: var(--accent); border-color: transparent; color: #16161a; }
.gm-stage-kpis #gm-kpix-host { padding-top: var(--sp-4); }
.nav-godmode { color: #f87171 !important; }
.nav-godmode i { color: #ef4444 !important; }
.nav-godmode.active { background: rgba(239, 68, 68, .16) !important; color: #fca5a5 !important; }
.nav-godmode { position: relative; }
.gm-nav-badge { margin-left: auto; background: #ef4444; color: #fff; font-size:var(--fs-xs); font-weight: var(--fw-fuerte); line-height: 1; padding: 3px 6px; border-radius: 999px; min-width: 18px; text-align: center; box-shadow: 0 0 0 2px rgba(0,0,0,.25); }
.gm-alert-list { display: flex; flex-direction: column; gap: 8px; }
.gm-alert .gm-alert-dot { width: 8px; height: 8px; border-radius: 50%; flex: 0 0 auto; background: #60a5fa; }
.gm-alert-warn .gm-alert-dot { background: #f59e0b; }
.gm-alert-crit .gm-alert-dot { background: #ef4444; }   
.gm-alert-ic { color: rgba(244,244,244,.55); font-size:var(--fs-md); flex: 0 0 auto; }
.gm-alert-crit .gm-alert-ic { color: #f87171; }
.gm-alert-badge { flex: 0 0 auto; font-size:var(--fs-xs); font-weight: var(--fw-fuerte); letter-spacing: .04em; text-transform: uppercase; padding: 2px 8px; border-radius: 999px; background: rgba(96,165,250,.15); color: #93c5fd; }
.gm-alert-info .gm-alert-badge { background: rgba(16,185,129,.16); color: #34d399; }   
.gm-alert-warn .gm-alert-badge { background: rgba(245,158,11,.16); color: #fbbf24; }   
.gm-alert-crit .gm-alert-badge { background: rgba(239,68,68,.18); color: #f87171; }    
.gm-alert-body { font-size: var(--fs-base); color: rgba(244,244,244,.92); line-height: 1.55; margin-bottom: 10px; }
.gm-alert-read { background: rgba(255,255,255,.08); color: rgba(244,244,244,.9); border: 1px solid rgba(255,255,255,.12); padding: 6px 12px; font-size: var(--fs-xs); border-radius: 8px; cursor: pointer; }
.gm-alert-read:hover { background: rgba(255,255,255,.14); }
@keyframes gm-nav-in { from { opacity: 0; transform: translateX(-8px); } to { opacity: 1; transform: none; } }
body.gm-active .sidebar {
  box-shadow: inset -1px 0 0 rgba(239, 68, 68, .45), 6px 0 42px -10px rgba(239, 68, 68, .38);
}
body.gm-active .sidebar .nav-item.active {
  background: linear-gradient(180deg, rgba(239, 68, 68, .24) 0%, rgba(239, 68, 68, .13) 100%);
  color: #fecaca;
  box-shadow: inset 3px 0 0 #ef4444;             
}
body.gm-active .sidebar .nav-item.active i { color: #ef4444; }
body.gm-active .sidebar-logo { filter: drop-shadow(0 0 14px rgba(239, 68, 68, .45)); }
body.gm-active .topbar { display: none; }
.gm-diario-cards { display: flex; flex-direction: column; gap: var(--sp-2); }
.gm-dcard {
  background: rgba(255, 255, 255, .03); border: 1px solid rgba(255, 255, 255, .07);
  border-radius: var(--radius-sm); padding: var(--sp-2) var(--sp-3);
  cursor: pointer; transition: border-color .15s var(--ease-out), background .15s var(--ease-out);
}
.gm-dcard + .gm-dcard { margin-top: var(--sp-2); }
.gm-dcard:hover { border-color: rgba(255, 255, 255, .16); background: rgba(255, 255, 255, .05); }
.gm-dcard-row { display: flex; align-items: center; gap: var(--sp-2); min-width: 0; }
.gm-dcard-hook { flex: 1; min-width: 0; font-size: var(--fs-base); font-weight: var(--fw-detalle); color: rgba(244, 244, 246, .95); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gm-dcard-chev { flex: 0 0 auto; font-size:var(--fs-2xs); color: rgba(244, 244, 246, .4); transition: transform .2s var(--ease-out); }
.gm-dcard.open .gm-dcard-chev { transform: rotate(180deg); }
.gm-dcard-full { display: none; margin-top: var(--sp-2); font-size: var(--fs-sm); color: rgba(244, 244, 246, .72); line-height: 1.55; }
.gm-dcard.open .gm-dcard-full { display: block; animation: gm-dcard-open .2s var(--ease-out) 1; }
.gm-dcard.open .gm-dcard-hook { white-space: normal; }
@keyframes gm-dcard-open { from { opacity: 0; transform: translateY(-3px); } to { opacity: 1; transform: none; } }
.gm-acc-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-2); margin-bottom: var(--sp-3); }
.gm-acc-stat {
  background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .07);
  border-radius: var(--radius-sm); padding: var(--sp-2); text-align: center; min-width: 0;
}
.gm-acc-stat.gm-acc-warn { border-color: rgba(239, 68, 68, .4); background: rgba(239, 68, 68, .08); }
.gm-acc-n { display: block; font-size: var(--fs-md); font-weight: var(--fw-fuerte); color: #f4f4f6; line-height: 1.1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gm-acc-l { display: block; font-size: var(--fs-2xs); color: rgba(244, 244, 246, .55); letter-spacing: .03em; margin-top: 2px; }
.gm-acc-row { gap: var(--sp-3); }
.gm-acc-flag { flex: 0 0 auto; font-size:var(--fs-xl); line-height: 1; }
.gm-acc-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.gm-acc-loc { font-size: var(--fs-sm); font-weight: var(--fw-dato); color: rgba(244, 244, 246, .9); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gm-acc-sub { font-size: var(--fs-2xs); color: rgba(244, 244, 246, .55); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gm-acc-meta { flex: 0 0 auto; font-size: var(--fs-2xs); color: rgba(244, 244, 246, .5); }
.gm-acc-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: var(--sp-2); }
.gm-acc-badge {
  display: inline-block; padding: 2px 9px; border-radius: var(--radius-pill);
  font-size: var(--fs-2xs); font-weight: var(--fw-fuerte); letter-spacing: .03em;
  background: rgba(255, 255, 255, .08); color: rgba(244, 244, 246, .8);
}
.gm-acc-badge.danger { background: rgba(239, 68, 68, .18); color: #fca5a5; }
.gm-acc-badge.ok { background: rgba(34, 197, 94, .15); color: #86efac; }
.gm-acc-badge.gm-acc-copy { cursor: pointer; border: 0; font-family: inherit; background: rgba(255,255,255,.1); color: rgba(244,244,244,.85); transition: background .15s var(--ease-out); }
.gm-acc-badge.gm-acc-copy:hover { background: rgba(255,255,255,.18); }
.gm-acc-badge.gm-acc-copy:active { transform: scale(.97); }
.gm-acc-newlink { display: flex; align-items: center; gap: var(--sp-3); flex-wrap: wrap; margin-bottom: var(--sp-3); }
.gm-acc-hint { font-size: var(--fs-2xs); color: rgba(244,244,244,.5); flex: 1; min-width: 140px; }
.gm-acc-groups { display: flex; flex-direction: column; gap: var(--sp-2); }
.gm-acc-grp.resh { border-color: rgba(239, 68, 68, .45); background: rgba(239, 68, 68, .07); }
.gm-acc-grp.resh:hover { border-color: rgba(239, 68, 68, .6); }
.gm-stage-accesos .gm-accesos-wrap { max-width: 960px; margin: 0 auto; padding: var(--sp-4) var(--sp-6) var(--sp-10); }
.gm-stage-accesos .gm-widget { height: auto; }
.gm-stage-accesos .gm-w-body { flex: none; min-height: 0; overflow: visible; }
.gm-stage-cuentas #gm-cuentas-host { padding: var(--sp-4) var(--sp-2) var(--sp-10); }
.acc-wrap { max-width: 1080px; margin: 0 auto; color: var(--tx); }
.acc-head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--sp-4); flex-wrap: wrap; margin-bottom: var(--sp-5); }
.acc-title { font-size: var(--fs-xl); font-weight: var(--fw-fuerte); letter-spacing: -.02em; color: var(--tx); }
.acc-sub { font-size: var(--fs-sm); color: var(--tx-3); margin-top: 2px; }
.acc-search { position: relative; display: flex; align-items: center; }
.acc-search i { position: absolute; left: 12px; color: var(--tx-3); font-size:var(--fs-sm); pointer-events: none; }
.acc-search input { background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius-pill);
  color: var(--tx); font-family: var(--font); font-size: var(--fs-sm); padding: 8px 14px 8px 32px; width: 240px; max-width: 52vw; transition: border-color .18s var(--ease-out); }
.acc-search input:focus { outline: none; border-color: color-mix(in srgb, var(--accent) 50%, transparent); }
.acc-group { margin-bottom: var(--sp-5); }
.acc-group-h { display: flex; align-items: center; gap: 8px; font-size: var(--fs-sm); font-weight: var(--fw-dato); text-transform: uppercase; letter-spacing: .06em; color: color-mix(in srgb, var(--gc, var(--accent)) 55%, var(--tx)); margin: 0 0 var(--sp-2) 4px; }
.acc-group-h i { color: var(--gc, var(--accent)); }
.acc-sub-ok { color: var(--estado-bien-ink); }
.acc-sub-off { color: var(--estado-urgente-ink); }
.acc-group-h i { font-size:var(--fs-sm); }
.acc-group-n { font-weight: var(--fw-dato); color: var(--tx-3); background: var(--sf2); border-radius: var(--radius-pill); padding: 0 8px; font-size: var(--fs-2xs); }
.acc-rows { display: flex; flex-direction: column; gap: 6px; }
.acc-row { display: grid; grid-template-columns: 26px 48px minmax(0, 1fr) 196px 150px 200px;
  align-items: center; gap: var(--sp-3) var(--sp-5); transition: background .18s var(--ease-out); }
.acc-group .acc-row { background: var(--sf); border: 1px solid var(--br);
  border-radius: var(--radius); padding: 14px 16px; }
.acc-group .acc-row:hover { border-color: var(--accent); background: var(--sf); }
.acc-group .acc-rows { gap: 10px; }
.acc-desp.abierta .acc-row { border-radius: var(--radius) var(--radius) 0 0; }
.acc-ava { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center;
  background: linear-gradient(135deg, #3b82f6, #1d4ed8); color: #fff;
  font-weight: var(--fw-fuerte); font-size: var(--fs-md); letter-spacing: .02em; flex: none; }
.acc-ava--god { background: linear-gradient(135deg, var(--accent), #d99a00); color: #231a00; }
.acc-chk-cell { display: flex; align-items: center; justify-content: center; }
.acc-chk, .acc-chk-all { -webkit-appearance: none; appearance: none; width: 18px; height: 18px; flex: none; margin: 0;
  border: 1.5px solid var(--br-2); border-radius: 5px; background: var(--sf); cursor: pointer;
  display: inline-grid; place-content: center; box-sizing: border-box;
  transition: background .15s var(--ease-out), border-color .15s var(--ease-out), transform var(--dur-press) var(--ease-out); }
.acc-chk::before, .acc-chk-all::before { content: ''; width: 5px; height: 9px; margin-top: -1px;
  border: solid #1c1c1c; border-width: 0 2px 2px 0; transform: rotate(45deg) scale(.4); opacity: 0;
  transition: transform .16s var(--ease-out), opacity .16s var(--ease-out); }   
.acc-chk:hover, .acc-chk-all:hover { border-color: color-mix(in srgb, var(--accent) 60%, transparent); background: color-mix(in srgb, var(--accent) 10%, transparent); }
.acc-chk:active, .acc-chk-all:active { transform: scale(.88); }
.acc-chk:checked, .acc-chk-all:checked { background: var(--accent); border-color: var(--accent); }
.acc-chk:checked::before, .acc-chk-all:checked::before { transform: rotate(45deg) scale(1); opacity: 1; }
.acc-chk:focus-visible, .acc-chk-all:focus-visible { outline: 2px solid color-mix(in srgb, var(--accent) 55%, transparent); outline-offset: 2px; }
.acc-chk-spacer { display: inline-block; width: 18px; height: 18px; flex: none; }
.acc-all-lbl { display: inline-flex; align-items: center; cursor: pointer; margin-right: 2px; }
@media (prefers-reduced-motion: reduce) { .acc-chk, .acc-chk-all, .acc-chk::before, .acc-chk-all::before { transition: none; } }
.acc-row:hover { background: var(--sf2); }
.acc-row-off { opacity: .62; }
.acc-email { font-size: var(--fs-md); font-weight: var(--fw-detalle); color: var(--tx);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.acc-crown { color: var(--accent); font-size: .82em; margin-left: 4px; }
.acc-meta { font-size: var(--fs-xs); color: var(--tx-3); margin-top: 2px; }
.acc-role-sel { width: 100%; }
.acc-role-fixed { font-size: var(--fs-sm); color: var(--tx-2); font-weight: var(--fw-detalle); }
.acc-actions { display: flex; align-items: center; gap: 6px; justify-content: flex-end; }
.acc-act { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font);
  font-size: var(--fs-sm); font-weight: var(--fw-detalle); border: 0; border-radius: var(--radius-pill);
  padding: 7px 14px; min-height: 36px; cursor: pointer; white-space: nowrap; color: var(--tx-1); background: var(--sf2);
  transition: transform var(--dur-press) var(--ease-out), background .18s var(--ease-out), color .18s var(--ease-out); }
.acc-act:hover { background: var(--sf3); }
.acc-act:active { transform: scale(.96); }
.acc-act-off { color: var(--estado-urgente-ink); }
.acc-act-off:hover { color: #fff; background: var(--estado-urgente); }
.acc-act-on { color: var(--estado-bien-ink); }
.acc-act-on:hover { color: #fff; background: var(--estado-bien); }
.acc-act-key { padding: 7px 10px; color: var(--tx-2); }
.acc-act-key:hover { color: var(--gold-ink); }
[data-theme="dark"] .acc-act-key:hover { color: var(--accent); }
.acc-act-del { padding: 7px 10px; color: var(--estado-urgente-ink); }
.acc-act-del:hover { color: #fff; background: var(--estado-urgente); }
.acc-act-imp { color: #16161a; background: var(--accent); font-weight: var(--fw-dato); }
.acc-act-imp:hover { background: var(--accent); filter: brightness(1.07); }
.acc-act-demo { padding: 7px 10px; color: var(--tx-2); }
.acc-act-demo:hover { color: var(--estado-ojo-ink); }
.acc-act-demo.on { color: #16161a; background: var(--estado-ojo); }
.acc-group-h { cursor: pointer; user-select: none; }
.acc-group-chev { margin-left: auto; opacity: .5; transition: transform .2s var(--ease-out); }
.acc-group.acc-collapsed .acc-group-chev { transform: rotate(-90deg); }
.acc-group.acc-collapsed .acc-rows, .acc-group.acc-collapsed .acc-demo-note { display: none; }
.acc-head-tools { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.acc-btn-ghost { font-family: var(--font); font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-1);
  background: var(--sf2); border: 0; border-radius: var(--radius-pill); padding: 9px 16px; cursor: pointer;
  transition: transform var(--dur-press) var(--ease-out), background .18s var(--ease-out); }
.acc-btn-ghost:hover { background: var(--sf3); }
.acc-btn-ghost:active { transform: scale(.97); }
select {
  appearance: none; -webkit-appearance: none; font-family: var(--font); font-size: var(--fs-sm);
  font-weight: var(--fw-detalle); color: var(--tx-1); background-color: var(--sf2);
  border: 0; border-radius: var(--radius-sm); padding: 8px 30px 8px 12px; cursor: pointer;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%238a8f98' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 10px center; background-size: 12px 8px;
  transition: background-color .15s var(--ease-out);
}
select:hover { background-color: var(--sf3); }
select:focus-visible { outline: 2px solid color-mix(in srgb, var(--accent) 55%, transparent); outline-offset: 1px; }
#nav-esqueleto { display: grid; gap: 16px; padding: 20px 18px; }
#nav-esqueleto span { height: 13px; border-radius: 7px; background: rgba(255,255,255,.07); }
#nav-esqueleto span:nth-child(2n) { width: 68%; }
#nav-esqueleto span:nth-child(3n) { width: 82%; }
#nav-esqueleto span:nth-child(5) { width: 46%; }
.cm-island--load { pointer-events: none; }
.cm-island--load .cm-island-dot { color: var(--tx-3); }
.cm-island--load .cm-island-txt { color: var(--tx-2); }
input[type="number"] { appearance: none; -webkit-appearance: none; -moz-appearance: textfield; }
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
input[type="checkbox"], input[type="radio"] {
  appearance: none; -webkit-appearance: none; width: 18px; height: 18px; margin: 0; flex: none;
  border: 1.5px solid var(--br-2); border-radius: 6px; background: var(--sf); cursor: pointer;
  display: inline-grid; place-items: center; vertical-align: middle;
  transition: background .15s var(--ease-out), border-color .15s var(--ease-out), transform .12s var(--ease-out);
}
input[type="radio"] { border-radius: 50%; }
input[type="checkbox"]:active, input[type="radio"]:active { transform: scale(.9); }
input[type="checkbox"]::after {
  content: ''; width: 10px; height: 10px; transform: scale(.4); opacity: 0; background: #16161a;
  clip-path: polygon(14% 44%, 0 60%, 40% 100%, 100% 16%, 84% 4%, 38% 71%);
  transition: transform .16s var(--ease-out), opacity .12s var(--ease-out);
}
input[type="radio"]::after {
  content: ''; width: 8px; height: 8px; border-radius: 50%; background: #16161a;
  transform: scale(.4); opacity: 0; transition: transform .16s var(--ease-out), opacity .12s var(--ease-out);
}
input[type="checkbox"]:checked, input[type="radio"]:checked { background: var(--accent); border-color: var(--accent); }
input[type="checkbox"]:checked::after, input[type="radio"]:checked::after { transform: scale(1); opacity: 1; }
input[type="checkbox"]:indeterminate { border-color: var(--accent); }
input[type="checkbox"]:indeterminate::after { clip-path: none; width: 9px; height: 2.5px; border-radius: 2px;
  background: var(--accent); transform: none; opacity: 1; }
input[type="checkbox"]:focus-visible, input[type="radio"]:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--accent) 55%, transparent); outline-offset: 2px; }
input[type="date"], input[type="time"], input[type="datetime-local"], input[type="month"] {
  font-family: var(--font); font-size: var(--fs-sm); color: var(--tx-1); background: var(--sf2);
  border: 0; border-radius: var(--radius-sm); padding: 7px 10px;
}
input[type="date"]::-webkit-calendar-picker-indicator { opacity: .55; cursor: pointer; }
@media (prefers-reduced-motion: reduce) {
  input[type="checkbox"], input[type="radio"], input[type="checkbox"]::after, input[type="radio"]::after { transition: none; }
}
.bx-est { display: inline-flex; align-items: center; gap: 7px; font-size: var(--fs-sm);
  font-weight: var(--fw-detalle); white-space: nowrap; color: var(--tx-2); }
.bx-est::before { content: ''; width: 8px; height: 8px; border-radius: 50%; flex: none;
  background: var(--est, var(--estado-sindatos)); }
.bx-est--bien { --est: var(--estado-bien); color: var(--estado-bien-ink); }
.bx-est--ojo  { --est: var(--estado-ojo);  color: var(--estado-ojo-ink); }
.bx-est--mal  { --est: var(--estado-urgente); color: var(--estado-urgente-ink); }
.bx-pill { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 12px;
  border-radius: var(--radius-pill); background: var(--sf2); color: var(--tx-2);
  font-size: var(--fs-sm); font-weight: var(--fw-detalle); font-variant-numeric: tabular-nums;
  white-space: nowrap; }
.bx-pill--lat.lat { animation: cm-lat 2.4s ease-in-out infinite; }
.bx-est--sin  { --est: var(--estado-sindatos); color: var(--tx-3); }
.bx-est--flot { background: color-mix(in srgb, var(--sf) 90%, transparent); backdrop-filter: blur(4px);
  padding: 3px 10px; border-radius: var(--radius-pill); }
.bx-ck-chip { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-2);
  background: var(--sf); padding: 7px 13px; border-radius: var(--radius-pill);
  cursor: pointer; user-select: none;
  transition: background .16s var(--ease-out), color .16s var(--ease-out), transform .12s var(--ease-out); }
.acc-fino .bx-ck-chip, .acc-area2 .bx-ck-chip { background: var(--sf); }
.bx-ck-chip:hover { background: var(--sf3); color: var(--tx); }
.bx-ck-chip:active { transform: scale(.95); }
.bx-ck-chip::before { content: ''; width: 8px; height: 8px; border-radius: 50%; flex: none;
  border: 1.5px solid var(--br-2); transition: background .16s var(--ease-out), border-color .16s var(--ease-out); }
.bx-ck-chip input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer;
  appearance: none; -webkit-appearance: none; width: auto; height: auto; border: 0; }
.bx-ck-chip:has(input:checked), .bx-ck-chip.on { background: var(--accent); color: #16161a; }
.bx-ck-chip:has(input:checked)::before, .bx-ck-chip.on::before { background: #16161a; border-color: #16161a; }
.bx-ck-chip:has(input:focus-visible) { outline: 2px solid color-mix(in srgb, var(--accent) 55%, transparent); outline-offset: 2px; }
.bx-ck-chip--riesgo:not(.on) > .fa-solid { color: var(--estado-ojo-ink); }
.bx-ck-chip i { font-size: 13px; color: var(--chip-c, currentColor); opacity: .75; }
.bx-ck-chip:has(i)::before { display: none; }
.bx-ck-chip.on i, .bx-ck-chip:has(input:checked) i { color: #16161a; opacity: 1; }
.bx-ck-n { font-size: var(--fs-2xs); font-weight: var(--fw-fuerte); font-variant-numeric: tabular-nums;
  min-width: 1.4em; text-align: center; padding: 1px 5px; border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--tx-2) 14%, transparent); }
.bx-ck-chip.on .bx-ck-n, .bx-ck-chip:has(input:checked) .bx-ck-n { background: none; padding: 0; min-width: 0; }
.bx-ck-chips { display: flex; gap: var(--sp-2); flex-wrap: wrap; }
.bx-ck-chip { white-space: nowrap; }
.bx-ck-chip:focus-visible { outline: 2px solid color-mix(in srgb, var(--accent) 55%, transparent); outline-offset: 2px; }
.bx-ck-chip[disabled] { opacity: .4; cursor: default; }
@media (prefers-reduced-motion: reduce) { .bx-ck-chip { transition: none; } .bx-ck-chip:active { transform: none; } }
.bx-sw { position: relative; width: 38px; height: 22px; flex: none; display: inline-block; }
.bx-sw input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; z-index: 1;
  appearance: none; -webkit-appearance: none; width: 100%; height: 100%; border: 0; }
.bx-sw em { position: absolute; inset: 0; border-radius: var(--radius-pill); background: var(--sf3);
  transition: background .18s var(--ease-out); }
.bx-sw em::after { content: ''; position: absolute; top: 2px; left: 2px; width: 18px; height: 18px;
  border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .28);
  transition: transform .18s var(--ease-out); }
.bx-sw:has(input:checked) em { background: var(--accent); }
.bx-sw:has(input:checked) em::after { transform: translateX(16px); }
.bx-sw:has(input:indeterminate) em { background: color-mix(in srgb, var(--accent) 45%, var(--sf3)); }
.bx-sw:has(input:indeterminate) em::after { transform: translateX(8px); }
.bx-sw:has(input:focus-visible) em { outline: 2px solid color-mix(in srgb, var(--accent) 55%, transparent); outline-offset: 2px; }
.bx-select { display: inline-flex; align-items: center; justify-content: space-between; gap: 10px;
  font-family: var(--font); font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-1);
  background: var(--sf2); border: 0; border-radius: var(--radius-sm); padding: 8px 12px; cursor: pointer;
  transition: background .15s var(--ease-out), transform .12s var(--ease-out); }
.bx-select:hover { background: var(--sf3); }
.bx-select:active { transform: scale(.97); }
.bx-select i { font-size: 11px; color: var(--tx-3); transition: transform .18s var(--ease-out); }
.acc-rol-btn { width: 100%; white-space: nowrap; }
.acc-rol-btn span { overflow: hidden; text-overflow: ellipsis; }
.bx-menu { position: fixed; z-index: 100001; display: flex; flex-direction: column; gap: 2px;
  background: var(--sf); border-radius: var(--radius-sm); padding: 5px;
  box-shadow: 0 14px 40px rgba(0, 0, 0, .18), 0 2px 8px rgba(0, 0, 0, .1);
  opacity: 0; transform: scale(.96); transform-origin: top left;
  transition: opacity .16s var(--ease-out), transform .16s var(--ease-out); }
.bx-menu.abierto { opacity: 1; transform: none; }
.bx-menu-i { display: flex; align-items: center; justify-content: space-between; gap: 14px;
  font-family: var(--font); font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-1);
  background: transparent; border: 0; border-radius: calc(var(--radius-sm) - 3px);
  padding: 8px 12px; cursor: pointer; text-align: left; white-space: nowrap;
  transition: background .13s var(--ease-out); }
.bx-menu-i:hover { background: var(--sf2); }
.bx-menu-i:active { transform: scale(.98); }
.bx-menu-i.on { color: var(--gold-ink); font-weight: var(--fw-dato); }
.bx-menu-i.on i { color: var(--gold-ink); font-size: 12px; }
.bx-menu-tx { display: block; }
.bx-menu-tx > i { font-size: 11px; color: var(--tx-2); width: 16px; text-align: center; margin-right: 2px; }
.bx-menu-sub { display: block; color: var(--tx-3); font-size: var(--fs-xs); font-weight: var(--fw-body);
  margin: 1px 0 0 18px; white-space: normal; max-width: 230px; }
[data-theme="dark"] .bx-menu-i.on, [data-theme="dark"] .bx-menu-i.on i { color: var(--accent); }
@media (prefers-reduced-motion: reduce) { .bx-menu { transition: none; } }
.bx-colorpick { padding: 12px; gap: 10px; min-width: 240px; }
.bxcp-sw { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; }
.bxcp-s { width: 30px; height: 30px; border-radius: 8px; border: 0; cursor: pointer;
  transition: transform .12s var(--ease-out); box-shadow: inset 0 0 0 1px rgba(17,17,17,.08); }
.bxcp-s:hover { transform: scale(1.12); }
.bxcp-s:active { transform: scale(.94); }
.bxcp-r { display: grid; grid-template-columns: 52px 1fr; align-items: center; gap: 8px;
  font-size: var(--fs-xs); color: var(--tx-2); }
.bxcp-r input[type="range"] { appearance: none; -webkit-appearance: none; height: 12px;
  border-radius: var(--radius-pill); background: var(--pista, var(--sf3)); cursor: pointer; }
.bxcp-r input[type="range"]::-webkit-slider-thumb { appearance: none; -webkit-appearance: none;
  width: 18px; height: 18px; border-radius: 50%; background: #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,.35), inset 0 0 0 2px var(--accent); cursor: grab; }
.bxcp-pie { display: flex; align-items: center; gap: 10px; }
.bxcp-prev { width: 34px; height: 34px; border-radius: 10px; flex: none;
  box-shadow: inset 0 0 0 1px rgba(17,17,17,.1); }
.bxcp-pie input { flex: 1; font-family: ui-monospace, "SF Mono", monospace; font-size: var(--fs-sm);
  color: var(--tx-1); background: var(--sf2); border: 0; border-radius: var(--radius-sm); padding: 8px 10px; }
.bxcp-pie input:focus-visible { outline: 2px solid color-mix(in srgb, var(--accent) 55%, transparent); }
.canon-casa { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 12px; }
.canon-casa-b { background: var(--sf); border-radius: var(--radius-sm); padding: 14px; }
.canon-casa-b h3 { margin: 0 0 10px; font-size: var(--fs-xs); font-weight: var(--fw-dato);
  text-transform: uppercase; letter-spacing: .05em; color: var(--tx-3); }
.canon-casa-f { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.canon-casa .bx-est { margin-right: 8px; }
.canon-cebra-mini { font-size: var(--fs-sm); }
.canon-cebra-mini > div { display: flex; justify-content: space-between; padding: 7px 12px; }
.canon-tok-g { font-size: var(--fs-xs); font-weight: var(--fw-dato); text-transform: uppercase;
  letter-spacing: .05em; color: var(--tx-3); margin: var(--sp-4) 0 6px; }
.canon-tok-lista { border-radius: var(--radius-sm); overflow: hidden; background: var(--sf); }
.canon-tok { display: grid; grid-template-columns: 26px minmax(0, 220px) 1fr 26px; align-items: center;
  gap: 10px; padding: 4px 12px; font-size: var(--fs-sm); }
.canon-tok code { color: var(--tx-1); font-family: ui-monospace, "SF Mono", monospace; font-size: var(--fs-xs);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.canon-tok-in { min-width: 0; border: 0; background: transparent; color: var(--tx-2);
  font-family: ui-monospace, "SF Mono", monospace; font-size: var(--fs-xs); padding: 5px 8px;
  border-radius: 7px; outline: none; transition: background .15s var(--ease-out), color .15s var(--ease-out); }
.canon-tok-in:hover { background: var(--sf2); }
.canon-tok-in:focus { background: var(--sf2); color: var(--tx-1);
  box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--accent) 55%, transparent); }
.canon-tok-sw { width: 18px; height: 18px; border-radius: 6px; box-shadow: inset 0 0 0 1px rgba(17,17,17,.1); }
button.canon-tok-sw { border: 0; cursor: pointer; padding: 0; transition: transform .12s var(--ease-out); }
button.canon-tok-sw:active { transform: scale(.9); }
.canon-tok-sw--no { background: transparent; box-shadow: none; }
.canon-tok-undo { border: 0; background: transparent; color: var(--tx-3); cursor: pointer;
  width: 26px; height: 26px; border-radius: 7px; display: none; place-items: center;
  font-size: var(--fs-xs); transition: background .15s var(--ease-out), color .15s var(--ease-out); }
.canon-tok-undo:hover { background: var(--sf2); color: var(--tx-1); }
.canon-tok.tocado .canon-tok-undo { display: grid; }
.canon-tok.tocado code::before { content: ''; display: inline-block; width: 6px; height: 6px;
  border-radius: 50%; background: var(--gold-ink); margin-right: 6px; vertical-align: 1px; }
.cajon-g { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; }
.cajon-g-h { font-size: var(--fs-md); font-weight: var(--fw-dato); color: var(--tx-1); margin: var(--sp-5) 0 10px; }
.cajon-g-h b { color: var(--gold-ink); }
.cajon-g-it { background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius-sm); overflow: hidden; }
.cajon-g-it--ancha { grid-column: 1 / -1; }
.cajon-g-meta { display: flex; justify-content: space-between; align-items: baseline; gap: 8px;
  padding: 7px 12px; border-bottom: 1px solid var(--br); }
.cajon-g-meta code { font-size: var(--fs-xs); color: var(--tx-1); font-weight: var(--fw-detalle); }
.cajon-g-meta span { font-size: var(--fs-xs); color: var(--tx-3); text-align: right; }
.cajon-g-lienzo { pointer-events: none; contain: layout paint; max-height: 170px; overflow: hidden;
  padding: 12px; background: var(--bg); }
.cajon-g-fam { font-size: var(--fs-lg); font-weight: var(--fw-fuerte); color: var(--tx-1); margin: var(--sp-6) 0 4px; }
.cajon-g-fam b { color: var(--gold-ink); }
.cajon-g-h--ok  { color: var(--estado-bien-ink); }
.cajon-g-h--mig { color: var(--tx-1); }
.cajon-g-h--den { color: var(--tx-3); }
.cajon-g-h--dec { color: var(--estado-ojo-ink, #92600a); }
.cajon-g-ver { border-top: 1px solid var(--br); padding: 8px 12px; display: grid; gap: 2px; }
.cajon-g-ver b { font-size: var(--fs-sm); color: var(--tx-1); }
.cajon-g-ver span { font-size: var(--fs-xs); color: var(--tx-2); }
.cajon-g--queda .cajon-g-ver b { color: var(--estado-bien-ink); }
.cajon-g--decidir .cajon-g-ver b { color: var(--estado-ojo-ink, #92600a); }
.cajon-g--dentro { opacity: .75; }
.cajon-g--queda { border-color: var(--estado-bien-ink); }
.cajon-demol { display: grid; gap: var(--sp-2); margin: var(--sp-4) 0 var(--sp-2); max-width: 560px; }
.cajon-demol-f { display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; align-items: center; gap: var(--sp-3); }
.cajon-demol-f > span:first-child { font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-1); }
.cajon-demol-n { font-size: var(--fs-xs); color: var(--tx-2); font-variant-numeric: tabular-nums; }
.cajon-demol-n b { color: var(--gold-ink); }
.cajon-demol-f.lista .cajon-demol-n b { color: var(--estado-bien-ink); }
.cajon-demol-f.lista .progress-bar { background: var(--estado-bien); }
.canon-uso { border-radius: var(--radius-sm); overflow: hidden; background: var(--sf); }
.canon-uso-f { display: grid; grid-template-columns: 200px 44px 1fr; align-items: center;
  gap: 10px; padding: 8px 12px; font-size: var(--fs-sm); }
.canon-uso-n { color: var(--tx-1); font-weight: var(--fw-detalle); }
.canon-uso-f > b { font-size: var(--fs-lg); color: var(--gold-ink); text-align: center; }
.canon-uso-s { display: flex; flex-wrap: wrap; gap: 6px; }
.canon-uso-s code { background: var(--sf2); border-radius: 6px; padding: 2px 8px;
  font-size: var(--fs-xs); color: var(--tx-2); }
.canon-inv { background: var(--sf); border-radius: var(--radius-sm); padding: 12px 14px; margin-bottom: 10px; }
.canon-inv-t { font-size: var(--fs-md); color: var(--tx-1); margin-bottom: 8px; }
.canon-inv-t b { font-size: var(--fs-xl); font-weight: var(--fw-fuerte); color: var(--gold-ink); margin-right: 4px; }
[data-theme="dark"] .canon-inv-t b { color: var(--accent); }
.canon-inv-chips { display: flex; flex-wrap: wrap; gap: 5px; }
.canon-inv-chips code { font-size: var(--fs-2xs); color: var(--tx-2); background: var(--sf2);
  border-radius: var(--radius-pill); padding: 3px 9px; font-family: ui-monospace, "SF Mono", monospace; }
.canon-inv-mas { font-size: var(--fs-xs); color: var(--tx-3); align-self: center; }
.ig-mb:has(.acc-perm) { width: min(1080px, calc(100vw - var(--sp-6))); max-width: none;
  max-height: 90vh; overflow-y: auto; }
.acc-perm { margin-top: var(--sp-4); border-top: 1px solid var(--br); padding-top: var(--sp-4); }
.acc-perm-head { display: flex; align-items: baseline; gap: var(--sp-2); flex-wrap: wrap;
  margin-bottom: var(--sp-2); font-size: var(--fs-sm); color: var(--tx-2); }
.acc-perm-head b { color: var(--gold-ink); font-weight: var(--fw-dato); font-size: var(--fs-base); }
.acc-in-nombre { width: 100%; margin-top: var(--sp-2); }
.acc-zpill-wrap { display: flex; flex-direction: column; align-items: center; gap: 8px;
  margin: var(--sp-3) 0 var(--sp-4); }
.acc-zpill { display: flex; align-items: center; gap: 2px; width: max-content; max-width: 100%;
  background: rgba(18, 18, 24, .92); border: 1px solid rgba(255, 255, 255, .1);
  border-radius: var(--radius-pill); padding: 5px;
  box-shadow: 0 12px 34px rgba(0, 0, 0, .28), 0 2px 8px rgba(0, 0, 0, .18); }
.acc-zpill-tag { display: inline-flex; align-items: center; color: var(--accent);
  font-size: var(--fs-2xs); padding: 0 var(--sp-2); }
.acc-zpill-b { position: relative; border-radius: var(--radius-pill); padding: 9px 18px;
  font-size: var(--fs-sm); font-weight: var(--fw-dato); color: rgba(255, 255, 255, .68);
  cursor: pointer; user-select: none; font-family: var(--font);
  transition: background .18s var(--ease-out), color .18s var(--ease-out), transform .12s var(--ease-out); }
.acc-zpill-b:hover { color: #fff; background: rgba(255, 255, 255, .07); }
.acc-zpill-b:active { transform: scale(.95); }
.acc-zpill-b input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer;
  appearance: none; -webkit-appearance: none; }
.acc-zpill-b:has(input:checked) { background: var(--accent); color: #16161a; }
.acc-zpill-b:has(input:focus-visible) { outline: 2px solid color-mix(in srgb, var(--accent) 60%, transparent); outline-offset: 2px; }
.acc-chat { display: flex; align-items: center; gap: var(--sp-3); margin-top: var(--sp-4); padding: var(--sp-3) var(--sp-4);
  background: var(--sf2); border-radius: var(--radius-sm); cursor: pointer; min-height: 56px; }
.acc-chat-ic { width: 40px; height: 40px; display: grid; place-items: center; border-radius: var(--radius-sm); background: var(--sf);
  color: var(--tx-2); font-size: var(--fs-lg); flex: none; }
.acc-chat.on .acc-chat-ic { background: var(--accent); color: #231a00; }
.acc-chat-tx { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.acc-chat-tx b { font-size: var(--fs-md); }
.acc-chat-tx span { font-size: var(--fs-sm); color: var(--tx-2); }
.acc-zpill-fija { color: rgba(255, 255, 255, .38); cursor: default; }
.acc-zpill-fija:hover { color: rgba(255, 255, 255, .38); background: transparent; }
.acc-zpill-nota { font-size: var(--fs-sm); color: var(--tx-3); text-align: center; }
.acc-zpill-nota b { color: var(--tx-2); font-weight: var(--fw-detalle); }
.acc-fino { display: none; background: var(--sf2); border-radius: var(--radius-sm);
  padding: 12px 14px; margin-bottom: var(--sp-3); }
.acc-fino.on { display: block; }
.acc-fino-t { font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-1); margin-bottom: 8px; }
.acc-fino-t span { font-weight: var(--fw-body); color: var(--tx-3); }
.acc-fino-gs { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 6px var(--sp-4); }
.acc-fino-g { display: flex; flex-direction: column; gap: 1px; }
.acc-fino-g > b { font-size: var(--fs-2xs); font-weight: var(--fw-dato); text-transform: uppercase;
  letter-spacing: .05em; color: var(--tx-3); margin-bottom: 4px; }
.acc-areas2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(225px, 1fr)); gap: 10px; }
.acc-areas2:not(.on) { display: none; }   
.acc-area2 { background: var(--sf2); border-radius: var(--radius-sm); padding: 12px 13px; }
.acc-area2-h { display: flex; align-items: center; gap: 9px; cursor: pointer; }
.acc-area2-h--fija { cursor: default; }
.acc-area2-h i { color: var(--gold-ink); width: 17px; text-align: center; }
[data-theme="dark"] .acc-area2-h i { color: var(--accent); }
.acc-area2-h b { font-size: var(--fs-base); font-weight: var(--fw-detalle); color: var(--tx-1); }
.acc-area-n { margin-left: auto; font-size: var(--fs-xs); font-weight: var(--fw-dato);
  color: var(--gold-ink); white-space: nowrap; }
[data-theme="dark"] .acc-area-n { color: var(--accent); }
.acc-area2-d { font-size: var(--fs-xs); color: var(--tx-3); margin: 3px 0 10px; }
.acc-area2-p { display: flex; flex-wrap: wrap; gap: 6px; align-content: flex-start; }
.acc-perm-nota { margin: var(--sp-3) 0 0; font-size: var(--fs-sm); line-height: 1.5; color: var(--tx-2); }
.acc-perm-nota.es-aviso { color: var(--estado-ojo-ink); font-weight: var(--fw-detalle); }
.acc-hint { font-style: normal; font-weight: var(--fw-body); color: var(--tx-3); }
.acc-d-pest { margin: 0 0 var(--sp-3); font-size: var(--fs-sm); color: var(--tx-2); }
.acc-d-pest b { color: var(--gold-ink); font-weight: var(--fw-dato); }
@media (max-width: 620px) { .acc-zpill-b { padding: 8px 12px; } }
.modal-box.ig-mb.acc-k { width: min(760px, calc(100vw - var(--sp-6))); max-width: none;
  max-height: min(92vh, 900px); display: flex; flex-direction: column;
  padding: 0; overflow: hidden;
  transition: width .28s var(--ease-out); }
.modal-box.ig-mb.acc-k.afinando { width: min(1080px, calc(100vw - var(--sp-6))); }
@media (prefers-reduced-motion: reduce) { .modal-box.ig-mb.acc-k { transition: none; } }
.acc-k-cab { display: flex; align-items: center; gap: var(--sp-3);
  padding: var(--sp-4) var(--sp-5); border-bottom: 1px solid var(--br); flex: none; }
.acc-k-pasos { display: flex; align-items: center; gap: var(--sp-2); flex: 1; min-width: 0; flex-wrap: wrap; }
.acc-k-paso { display: inline-flex; align-items: center; gap: 8px; color: var(--tx-3);
  font-size: var(--fs-base); font-weight: var(--fw-detalle); white-space: nowrap; }
.acc-k-num { display: grid; place-items: center; width: 26px; height: 26px; flex: none;
  border-radius: 50%; background: var(--sf2); color: var(--tx-3);
  font-size: var(--fs-sm); font-weight: var(--fw-dato); font-variant-numeric: tabular-nums;
  transition: background .2s var(--ease-out), color .2s var(--ease-out); }
.acc-k-paso.on { color: var(--tx); }
.acc-k-paso.on .acc-k-num { background: var(--accent); color: #16161a; }
.acc-k-paso.hecho { color: var(--tx-2); }
.acc-k-paso.hecho .acc-k-num { background: var(--gold-ink); color: #fff; }
[data-theme="dark"] .acc-k-paso.hecho .acc-k-num { background: var(--accent); color: #16161a; }
.acc-k-sep { color: var(--tx-3); font-size: var(--fs-2xs); opacity: .55; }
.acc-k-cerrar { flex: none; width: 40px; height: 40px; border-radius: var(--radius-sm);
  border: 0; background: transparent; color: var(--tx-3); cursor: pointer; font-size: var(--fs-md);
  font-family: var(--font);
  transition: background .16s var(--ease-out), color .16s var(--ease-out), transform var(--dur-press) var(--ease-out); }
.acc-k-cerrar:hover { background: var(--sf2); color: var(--tx); }
.acc-k-cerrar:active { transform: scale(.94); }
.acc-k-cuerpo { flex: 1; min-height: 300px; overflow-y: auto; padding: var(--sp-5); }
.acc-k-p { display: flex; flex-direction: column; gap: var(--sp-4); }
.acc-k-p[hidden] { display: none; }
.acc-k-h { margin: 0; font-size: var(--fs-xl); font-weight: var(--fw-fuerte);
  letter-spacing: -.02em; color: var(--tx); }
.acc-k-ay { margin: calc(var(--sp-4) * -1 + 2px) 0 0; font-size: var(--fs-base); color: var(--tx-2); line-height: 1.5; }
.acc-k-campo { display: block; }
.acc-k-lbl { display: block; margin-bottom: 6px; font-size: var(--fs-base);
  font-weight: var(--fw-detalle); color: var(--tx-1); }
.acc-k-lbl em { font-style: normal; font-weight: var(--fw-body); color: var(--tx-3); }
.acc-k-in { width: 100%; box-sizing: border-box; min-height: 54px; padding: 0 var(--sp-4);
  font-family: var(--font); font-size: var(--fs-md); color: var(--tx);
  background: var(--sf); border: 1px solid var(--br-2); border-radius: var(--radius-sm);
  transition: border-color .16s var(--ease-out), box-shadow .16s var(--ease-out); }
.acc-k-in::placeholder { color: var(--tx-3); }
.acc-k-in:focus { outline: none; border-color: var(--accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent); }
.acc-k-err { margin: 0; font-size: var(--fs-base); font-weight: var(--fw-detalle);
  color: var(--estado-urgente-ink); }
.acc-k-err[hidden] { display: none; }
.acc-k-roles { display: grid; grid-template-columns: repeat(auto-fit, minmax(212px, 1fr)); gap: var(--sp-3); }
.acc-k-rol { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 4px;
  min-height: 116px; padding: var(--sp-4); text-align: left; cursor: pointer;
  font-family: var(--font); background: var(--sf);
  border: 2px solid var(--br); border-radius: var(--radius);
  transition: border-color .16s var(--ease-out), transform var(--dur-press) var(--ease-out); }
.acc-k-rol:hover { border-color: var(--br-2); }
.acc-k-rol:active { transform: scale(.97); }
.acc-k-rol:focus-visible { outline: 2px solid color-mix(in srgb, var(--accent) 60%, transparent); outline-offset: 2px; }
.acc-k-rol b { font-size: var(--fs-md); font-weight: var(--fw-dato); color: var(--tx); }
.acc-k-rol > span:last-child { font-size: var(--fs-base); color: var(--tx-3); line-height: 1.4; }
.acc-k-rol-ico { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 6px;
  border-radius: var(--radius-sm); background: var(--sf2); color: var(--tx-2); font-size: var(--fs-md);
  transition: background .16s var(--ease-out), color .16s var(--ease-out); }
.acc-k-rol.on { border-color: var(--accent); }
.acc-k-rol.on .acc-k-rol-ico { background: var(--accent); color: #16161a; }
.acc-k-rol.on::after { content: '\f00c'; font-family: 'Font Awesome 6 Free'; font-weight: 900;
  position: absolute; top: 12px; right: 14px; font-size: var(--fs-sm); color: var(--gold-ink); }
[data-theme="dark"] .acc-k-rol.on::after { color: var(--accent); }
.acc-k-extras { display: flex; flex-direction: column; gap: var(--sp-4); }
.acc-k-extras:empty { display: none; }
.acc-k-sub { font-size: var(--fs-base); font-weight: var(--fw-detalle); color: var(--tx-1); }
.acc-k-sw { display: flex; align-items: flex-start; gap: var(--sp-3); cursor: pointer;
  padding: var(--sp-3) var(--sp-4); background: var(--sf2); border-radius: var(--radius-sm); }
.acc-k-sw-t { font-size: var(--fs-base); color: var(--tx-2); line-height: 1.45; }
.acc-k-sw-t b { display: block; font-size: var(--fs-md); font-weight: var(--fw-detalle); color: var(--tx); }
.acc-k-mini { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: var(--sp-2); }
.acc-k-mini--4 { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
.acc-k-mini-b { display: flex; flex-direction: column; align-items: flex-start; gap: 3px;
  min-height: 62px; padding: var(--sp-3) var(--sp-4); text-align: left; cursor: pointer;
  font-family: var(--font); background: var(--sf); border: 2px solid var(--br);
  border-radius: var(--radius-sm);
  transition: border-color .16s var(--ease-out), transform var(--dur-press) var(--ease-out); }
.acc-k-mini-b:hover { border-color: var(--br-2); }
.acc-k-mini-b:active { transform: scale(.97); }
.acc-k-mini-b:focus-visible { outline: 2px solid color-mix(in srgb, var(--accent) 60%, transparent); outline-offset: 2px; }
.acc-k-mini-b > i { font-size: var(--fs-md); color: var(--tx-3); transition: color .16s var(--ease-out); }
.acc-k-mini-b b { font-size: var(--fs-base); font-weight: var(--fw-dato); color: var(--tx); }
.acc-k-mini-b span { font-size: var(--fs-sm); color: var(--tx-3); }
.acc-k-mini-b.on { border-color: var(--accent); }
.acc-k-mini-b.on > i { color: var(--gold-ink); }
[data-theme="dark"] .acc-k-mini-b.on > i { color: var(--accent); }
#acc-c-fabest-wrap[hidden] { display: none; }
.acc-k-res { display: flex; align-items: center; gap: var(--sp-4);
  padding: var(--sp-4); background: var(--sf2); border-radius: var(--radius); }
.acc-k-res-ava { display: grid; place-items: center; width: 56px; height: 56px; flex: none;
  border-radius: 18px; background: var(--azul-apple); color: #fff;
  font-size: var(--fs-xl); font-weight: var(--fw-fuerte); }
.acc-k-res-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.acc-k-res-txt > b { font-size: var(--fs-lg); font-weight: var(--fw-fuerte); color: var(--tx);
  overflow: hidden; text-overflow: ellipsis; }
.acc-k-res-mail { font-size: var(--fs-base); color: var(--tx-2); }
.acc-k-res-rol { font-size: var(--fs-base); font-weight: var(--fw-detalle); color: var(--gold-ink); }
[data-theme="dark"] .acc-k-res-rol { color: var(--accent); }
.acc-k-res-ve { font-size: var(--fs-base); color: var(--tx-3); }
.acc-k-res-ve b { color: var(--tx-2); font-weight: var(--fw-dato); }
.acc-k-pass { display: flex; align-items: center; gap: var(--sp-3); flex-wrap: wrap;
  padding: var(--sp-3) var(--sp-4); background: var(--sf2); border-radius: var(--radius-sm); }
.acc-k-pass-l { display: inline-flex; align-items: center; gap: 8px;
  font-size: var(--fs-base); font-weight: var(--fw-detalle); color: var(--tx-1); }
.acc-k-pass-l i { color: var(--gold-ink); }
[data-theme="dark"] .acc-k-pass-l i { color: var(--accent); }
.acc-k-pass code { font-family: var(--mono); font-size: var(--fs-md); font-weight: var(--fw-dato);
  color: var(--tx); letter-spacing: .01em; }
.acc-k-pass-n { margin-left: auto; font-size: var(--fs-sm); color: var(--tx-3); }
.acc-k-pie { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3);
  padding: var(--sp-4) var(--sp-5); border-top: 1px solid var(--br); flex: none; background: var(--sf); }
.acc-k-atras { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 var(--sp-4);
  font-family: var(--font); font-size: var(--fs-base); font-weight: var(--fw-detalle); color: var(--tx-2);
  background: var(--sf2); border: 0; border-radius: var(--radius-sm); cursor: pointer;
  transition: background .16s var(--ease-out), color .16s var(--ease-out), transform var(--dur-press) var(--ease-out); }
.acc-k-atras:hover { background: var(--sf3); color: var(--tx); }
.acc-k-atras:active { transform: scale(.97); }
.acc-k-atras[hidden] { display: none; }
.acc-k-pie .acc-k-next { margin-left: auto; min-height: 48px; padding: 0 var(--sp-5); font-size: var(--fs-md); }
.acc-k-pie .acc-k-next[disabled] { opacity: .6; cursor: default; }
.modal-box.ig-mb.acc-k--mini { width: min(520px, calc(100vw - var(--sp-6))); padding: var(--sp-5); }
.acc-k--mini .acc-k-pie { border-top: 0; padding: var(--sp-4) 0 0; background: transparent; }
.acc-k--mini .acc-k-h { margin-bottom: 4px; }
.acc-k--mini .acc-k-ay { margin: 0 0 var(--sp-4); }
.acc-k--mini .acc-k-extras { margin-bottom: var(--sp-2); }
@media (max-width: 620px) {
  .acc-k-cuerpo { padding: var(--sp-4); }
  .acc-k-pt { display: none; }
  .acc-k-roles, .acc-k-mini, .acc-k-mini--4 { grid-template-columns: 1fr; }
}
.acc-k .acc-afinar { border-radius: var(--radius-sm); background: var(--sf2); }
.acc-k .acc-afinar > summary { min-height: 52px; padding: 0 var(--sp-4); align-items: center;
  gap: 10px; border-radius: var(--radius-sm); font-size: var(--fs-md); color: var(--tx-1);
  transition: background .16s var(--ease-out); }
.acc-k .acc-afinar > summary:hover { background: var(--sf3); }
.acc-k .acc-afinar > summary::after { content: '\f078'; font-family: 'Font Awesome 6 Free'; font-weight: 900;
  margin-left: auto; font-size: var(--fs-sm); color: var(--tx-3);
  transition: transform .2s var(--ease-out); }
.acc-k .acc-afinar[open] > summary::after { transform: rotate(180deg); }
.acc-k .acc-afinar > summary .acc-afinar-d { flex: 0 1 auto; margin-left: 0; font-size: var(--fs-base); }
.acc-k .acc-perm { margin-top: 0; border-top: 0; padding: 0 var(--sp-4) var(--sp-4); }
@media (prefers-reduced-motion: reduce) { .acc-k .acc-afinar > summary::after { transition: none; } }
.acc-head { align-items: center; }
.acc-head > .acc-sub { margin-top: 0; font-size: var(--fs-md); }
.acc-act-mas { color: var(--tx-2); }
.acc-act-mas:hover { background: var(--sf3); color: var(--tx); }
.acc-mas-menu .bx-menu-i { justify-content: flex-start; gap: 11px; min-height: 42px;
  font-size: var(--fs-base); }
.acc-mas-menu .bx-menu-i > i { width: 16px; text-align: center; color: var(--tx-3); }
.acc-mas-menu .bx-menu-i.es-peligro { color: var(--estado-urgente-ink); }
.acc-mas-menu .bx-menu-i.es-peligro > i { color: var(--estado-urgente-ink); }
.acc-demo-tag { display: inline-flex; align-items: center; gap: 5px; margin-left: 6px;
  font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--estado-ojo-ink); white-space: nowrap; }
.acc-role-fixed > i, .acc-rol-btn > i:first-child { color: var(--tx-3); margin-right: 6px; }
.acc-bulk-bar { position: sticky; top: 0; z-index: 6; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
  background: var(--sf2);
  border-radius: var(--radius); padding: 10px 14px; margin-bottom: var(--sp-4); backdrop-filter: blur(8px); }
.acc-bulk-n { font-weight: var(--fw-fuerte); color: #ffd24a; font-size: var(--fs-sm); display: inline-flex; align-items: center; gap: 7px; }
.acc-bulk-acts { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.acc-bulk-btn { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font); font-size: var(--fs-xs); font-weight: var(--fw-dato);
  border: 1px solid transparent; border-radius: var(--radius-sm); padding: 7px 12px; cursor: pointer; white-space: nowrap;
  transition: transform var(--dur-press) var(--ease-out), filter .18s var(--ease-out), background .18s var(--ease-out); }
.acc-bulk-btn:active { transform: scale(.96); }
.acc-bulk-on { color: #052e16; background: #4ade80; }
.acc-bulk-on:hover { filter: brightness(1.06); }
.acc-bulk-off { color: #fff; background: rgba(248,113,113,.2); border-color: rgba(248,113,113,.4); }
.acc-bulk-off:hover { background: rgba(248,113,113,.32); }
.acc-bulk-del { color: #fff; background: #ef4444; }
.acc-bulk-del:hover { filter: brightness(1.08); }
.acc-bulk-clear { font-family: var(--font); font-size: var(--fs-xs); font-weight: var(--fw-detalle); color: var(--tx-2);
  background: transparent; border: 0; cursor: pointer; padding: 7px 8px; }
.acc-bulk-clear:hover { color: #fff; }
.acc-group-demo { margin-top: var(--sp-6); padding-top: var(--sp-5); border-top: 1px dashed var(--br-2); }
.acc-demo-note { display: block; color: var(--tx-3); font-size: var(--fs-xs); line-height: 1.5;
  margin: 0 4px var(--sp-3); padding: 9px 11px; background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius-sm); }
.acc-demo-note i { float: left; margin: 3px 8px 0 0; color: var(--tx-3); }
.acc-row-demo { grid-template-columns: 1fr auto auto; opacity: .94; }
.acc-demo-ico { color: #94a3b8; font-size: .8em; margin-left: 4px; }
.acc-demo-pass { display: inline-flex; align-items: center; gap: 8px; }
.acc-demo-k { font-size: var(--fs-2xs); color: var(--tx-3); text-transform: uppercase; letter-spacing: .05em; font-weight: var(--fw-dato); }
.acc-demo-code { font-family: ui-monospace, "SF Mono", monospace; font-size: var(--fs-sm); color: var(--gold-ink, var(--accent)); background: var(--sf2); border-radius: var(--radius-sm); padding: 3px 9px; letter-spacing: .02em; }
.acc-demo-copy { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; flex: none;
  color: var(--tx-2); background: var(--sf); border: 1px solid var(--br-2); border-radius: var(--radius-sm);
  cursor: pointer; transition: color .15s var(--ease-out), background .15s var(--ease-out), transform var(--dur-press) var(--ease-out); }
.acc-demo-copy:hover { color: var(--accent); background: color-mix(in srgb, var(--accent) 12%, transparent); }
.acc-demo-copy:active { transform: scale(.9); }
.acc-demo-copied { color: #4ade80 !important; background: rgba(74,222,128,.14) !important; }
@media (max-width: 768px) { .acc-row-demo { grid-template-columns: 1fr; } }
.acc-protect { display: inline-flex; align-items: center; gap: 5px; font-size: var(--fs-xs); font-weight: var(--fw-detalle); color: var(--tx-3); }
.acc-skel { display: flex; flex-direction: column; gap: 6px; }
.acc-skel-row { height: 56px; border-radius: var(--radius); background: linear-gradient(90deg, rgba(255,255,255,.04), rgba(255,255,255,.08), rgba(255,255,255,.04)); background-size: 200% 100%; animation: acc-shimmer 1.4s ease-in-out infinite; }
@keyframes acc-shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }
.acc-error, .acc-empty { padding: var(--sp-8); text-align: center; color: var(--tx-3); font-size: var(--fs-md); }
.acc-error i { color: #f87171; margin-right: 6px; }
@media (max-width: 768px) {
  .acc-row { grid-template-columns: 1fr; gap: 8px; }
  .acc-role-sel { width: auto; }
  .acc-actions { justify-content: flex-start; flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) { .acc-skel-row { animation: none; } .acc-act:active { transform: none; } }
.acc-id-click { cursor: pointer; border-radius: var(--radius-sm); transition: background var(--dur-fast) var(--ease-out); }
.acc-id-click:hover { background: rgba(255,191,16,.07); }
.acc-id-more { display: inline-flex; align-items: center; gap: 4px; font-size: var(--fs-2xs); font-weight: var(--fw-dato); color: var(--accent);
  opacity: 0; margin-left: 6px; transition: opacity var(--dur-fast) var(--ease-out); }
.acc-id-click:hover .acc-id-more { opacity: .9; }
@media (max-width: 768px) { .acc-id-more { opacity: .9; } }
.acc-desp .bx-desp-inner { padding: 0; }
.acc-f { padding: var(--sp-4) var(--sp-4) var(--sp-5); border-top: 1px solid var(--br); }
.acc-f-top { display: flex; align-items: center; gap: var(--sp-4); flex-wrap: wrap; margin-bottom: var(--sp-4); }
.acc-f-mundo { display: inline-flex; align-items: center; gap: 7px; font-size: var(--fs-sm);
  font-weight: var(--fw-dato); color: var(--tx-1); }
.acc-f-mundo i { color: var(--gc, var(--gold-ink)); }
.acc-f-creada { font-size: var(--fs-xs); color: var(--tx-3); }
.acc-f-acciones { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.acc-f-cols { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--sp-5); }
.acc-f-cols > div { display: flex; flex-direction: column; gap: var(--sp-4); }
.acc-f-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.acc-f-chip { font-size: var(--fs-xs); font-weight: var(--fw-detalle); color: var(--tx-1);
  background: var(--sf2); border-radius: var(--radius-pill); padding: 4px 10px; }
.acc-f-chip--esp { color: var(--gold-ink); }
.acc-f-chip--esp i { font-size: .85em; margin-right: 3px; }
[data-theme="dark"] .acc-f-chip--esp { color: var(--accent); }
.acc-d-fact-k { font-size: var(--fs-2xs); font-weight: var(--fw-dato); text-transform: uppercase; letter-spacing: .04em; color: var(--tx-3); }
.acc-d-fact-v { font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-1); }
.acc-d-muted { color: var(--tx-3); }
.acc-d-sec-h { display: flex; align-items: center; gap: 8px; font-size: var(--fs-sm); font-weight: var(--fw-fuerte); margin-bottom: 8px; color: var(--tx-1); }
.acc-d-sec-h i { color: var(--gold-ink); }
[data-theme="dark"] .acc-d-sec-h i { color: var(--accent); }
.acc-d-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.acc-d-list li { display: flex; align-items: flex-start; gap: 8px; font-size: var(--fs-sm); line-height: 1.4; color: var(--tx-2); }
.acc-d-list li i { margin-top: 2px; font-size: 12px; color: var(--tx-3); }
.acc-d-tbls { display: flex; flex-direction: column; gap: 8px; }
.acc-d-tbl { background: var(--sf2); border-radius: var(--radius-sm); padding: 9px 11px; }
.acc-d-tbl-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.acc-d-tbl-top code { font-size: var(--fs-xs); color: var(--tx-1); word-break: break-word; }
.acc-d-tbl-note { font-size: var(--fs-2xs); color: var(--tx-3); margin-top: 4px; }
.acc-d-empty { font-size: var(--fs-sm); color: var(--tx-3); }
.acc-lvl { flex: 0 0 auto; font-size: var(--fs-2xs); font-weight: var(--fw-fuerte); padding: 2px 8px; border-radius: var(--radius-pill); white-space: nowrap; }
.acc-lvl-rw { color: var(--estado-bien-ink); background: color-mix(in srgb, var(--estado-bien) 14%, transparent); }
.acc-lvl-r { color: var(--tx-2); background: var(--sf2); }
.acc-d-cando { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--sp-4); }
.acc-d-ok, .acc-d-ok i { color: var(--estado-bien-ink) !important; }
.acc-d-no, .acc-d-no i { color: var(--estado-urgente-ink) !important; }
.acc-d-list-ok li i { color: var(--estado-bien-ink); } .acc-d-list-no li i { color: var(--estado-urgente-ink); }
@media (max-width: 900px) { .acc-f-cols { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .acc-d-cando { grid-template-columns: 1fr; } }
.gm-stage-empresa #gm-empresa-host { padding: 0 var(--sp-4) var(--sp-6); }
.cb-wrap { max-width: 1080px; margin: 0 auto; padding-top: var(--sp-4); color: rgba(244,244,244,.92); }
.cb-loading, .cb-denied { padding: var(--sp-10); text-align: center; color: rgba(244,244,244,.6); font-size: var(--fs-md); }
.cb-sub { color: rgba(244,244,244,.45); font-weight: var(--fw-medium); font-size: .82em; }
.cb-header { background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08); border-radius: var(--radius); padding: var(--sp-4); margin-bottom: var(--sp-4); }
.cb-head-row { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--sp-3); flex-wrap: wrap; }
.cb-h1 { font-size: var(--fs-lg); font-weight: var(--fw-fuerte); color: #fff; }
.cb-h1 i { color: var(--accent); margin-right: 6px; }
.cb-tone { font-size: var(--fs-sm); color: rgba(244,244,244,.6); margin-top: 4px; max-width: 60ch; }
.cb-pct { display: flex; align-items: center; gap: var(--sp-3); margin-top: var(--sp-3); flex-wrap: wrap; }
.cb-pct-bar { flex: 1; min-width: 180px; height: var(--bar-h, 10px); border-radius: var(--radius-pill); background: rgba(255,255,255,.08); overflow: hidden; }
.cb-pct-fill { height: 100%; border-radius: var(--radius-pill); background: var(--chart-grad); transition: width .5s var(--ease-out); }
.cb-pct-num { font-size: var(--fs-sm); color: rgba(244,244,244,.7); white-space: nowrap; }
.cb-pct-num b { color: #fff; }
.cb-next { margin-top: var(--sp-3); font-size: var(--fs-sm); color: rgba(244,244,244,.6); }
.cb-next b { color: var(--accent); }
.cb-next-sec { color: rgba(244,244,244,.4); }
.cb-next-done { color: #86efac; }
.cb-btn { display: inline-flex; align-items: center; gap: 7px; padding: 9px 15px; border-radius: var(--radius-sm); border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.06); color: rgba(244,244,244,.9); font-family: inherit; font-weight: var(--fw-dato); font-size: var(--fs-sm); cursor: pointer; transition: background .15s var(--ease-out), transform .1s var(--ease-out); }
.cb-btn:hover { background: rgba(255,255,255,.12); }
.cb-btn:active { transform: scale(.97); }
.cb-btn-gold { background: linear-gradient(135deg, var(--accent), #f59e0b); border-color: transparent; color: #1a1205; }
.cb-btn-gold:hover { filter: brightness(1.05); background: linear-gradient(135deg, var(--accent), #f59e0b); }
.cb-int { border: 1px solid rgba(245,200,90,.28); border-radius: var(--radius); background: linear-gradient(180deg, rgba(245,200,90,.05), rgba(255,255,255,.02)); margin-bottom: var(--sp-4); overflow: hidden; box-shadow: 0 1px 0 rgba(255,255,255,.04) inset; }
.cb-int-head { display: flex; flex-direction: column; gap: 2px; padding: var(--sp-3) var(--sp-4); border-bottom: 1px solid rgba(255,255,255,.06); }
.cb-int-title { font-weight: var(--fw-fuerte); font-size: var(--fs-base); color: rgba(244,244,244,.95); }
.cb-int-title i { color: var(--accent); margin-right: 6px; }
.cb-int-sub { font-size: var(--fs-xs); color: rgba(244,244,244,.5); }
.cb-int-thread { max-height: 340px; overflow-y: auto; padding: var(--sp-4); display: flex; flex-direction: column; gap: var(--sp-2); scroll-behavior: smooth; }
.cb-int-empty { font-size: var(--fs-sm); color: rgba(244,244,244,.55); line-height: 1.55; padding: var(--sp-2) 0; }
.cb-int-empty i { color: var(--accent); margin-right: 6px; }
.cb-int-msg { max-width: 86%; padding: 9px 13px; border-radius: 14px; font-size: var(--fs-sm); line-height: 1.5; animation: cbIntIn .22s var(--ease-out) both; }
.cb-int-msg.ai { align-self: flex-start; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.07); border-bottom-left-radius: 5px; color: rgba(244,244,244,.92); }
.cb-int-msg.ai b, .cb-int-msg.ai strong { color: var(--accent); }
.cb-int-msg.me { align-self: flex-end; background: linear-gradient(135deg, var(--accent), #f59e0b); color: #1a1205; font-weight: var(--fw-detalle); border-bottom-right-radius: 5px; }
.cb-int-saved { align-self: flex-start; font-size: var(--fs-xs); color: #6ee7b7; display: inline-flex; align-items: center; gap: 6px; padding: 2px 4px; animation: cbIntIn .22s var(--ease-out) both; }
.cb-int-msg.typing { display: inline-flex; gap: 5px; align-items: center; padding: 12px 14px; }
.cb-int-msg.typing span { width: 6px; height: 6px; border-radius: 50%; background: rgba(244,244,244,.5); animation: cbIntDot 1s var(--ease-in-out) infinite; }
.cb-int-msg.typing span:nth-child(2) { animation-delay: .15s; }
.cb-int-msg.typing span:nth-child(3) { animation-delay: .3s; }
.cb-int-bar { display: flex; align-items: center; gap: var(--sp-2); padding: var(--sp-3); border-top: 1px solid rgba(255,255,255,.06); background: rgba(0,0,0,.18); }
.cb-int-input { flex: 1; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); border-radius: var(--radius-pill); padding: 10px 16px; color: rgba(244,244,244,.95); font-family: inherit; font-size: var(--fs-sm); outline: none; transition: border-color .15s var(--ease-out); }
.cb-int-input:focus { border-color: rgba(245,200,90,.5); }
.cb-int-input:disabled { opacity: .55; }
.cb-int-mic, .cb-int-send { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.06); color: rgba(244,244,244,.9); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; font-size: 15px; transition: background .15s var(--ease-out), transform .1s var(--ease-out); }
.cb-int-mic:hover, .cb-int-send:hover { background: rgba(255,255,255,.13); }
.cb-int-mic:active, .cb-int-send:active { transform: scale(.93); }
.cb-int-mic:disabled { opacity: .4; cursor: default; }
.cb-int-mic.rec { background: #dc2626; color: #fff; border-color: transparent; animation: cbIntPulse 1.1s var(--ease-in-out) infinite; }
.cb-int-mic.busy { opacity: .6; }
.cb-int-send { background: linear-gradient(135deg, var(--accent), #f59e0b); color: #1a1205; border-color: transparent; }
.cb-int-send:hover { filter: brightness(1.05); background: linear-gradient(135deg, var(--accent), #f59e0b); }
.cb-int-send:disabled { opacity: .5; cursor: default; }
.cb-int-go { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; padding: 10px 18px; border-radius: var(--radius-pill); border: none; background: linear-gradient(135deg, var(--accent), #f59e0b); color: #1a1205; font-family: inherit; font-weight: var(--fw-fuerte); font-size: var(--fs-sm); cursor: pointer; transition: transform .1s var(--ease-out), filter .15s var(--ease-out); }
.cb-int-go:hover { filter: brightness(1.06); }
.cb-int-go:active { transform: scale(.96); }
@keyframes cbIntIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes cbIntDot { 0%, 60%, 100% { opacity: .3; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-3px); } }
@keyframes cbIntPulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(220,38,38,.45); } 50% { box-shadow: 0 0 0 7px rgba(220,38,38,0); } }
@media (prefers-reduced-motion: reduce) { .cb-int-msg, .cb-int-saved { animation: none; } .cb-int-msg.typing span, .cb-int-mic.rec { animation: none; } }
.cb-sections { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: var(--sp-3); margin-bottom: var(--sp-5); }
.cb-card { background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08); border-radius: var(--radius); overflow: hidden; }
.cb-card-head { display: flex; align-items: center; gap: var(--sp-2); padding: var(--sp-3); border-bottom: 1px solid rgba(255,255,255,.06); }
.cb-card-ico { width: 28px; height: 28px; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; border-radius: 8px; background: color-mix(in srgb, var(--cb-c) 22%, transparent); color: var(--cb-c); font-size:var(--fs-base); }
.cb-card-title { flex: 1; font-weight: var(--fw-dato); font-size: var(--fs-base); color: #fff; }
.cb-card-count { font-size: var(--fs-2xs); font-weight: var(--fw-dato); color: rgba(244,244,244,.5); background: rgba(255,255,255,.06); padding: 2px 8px; border-radius: var(--radius-pill); }
.cb-fields { padding: var(--sp-3); display: flex; flex-direction: column; gap: var(--sp-3); }
.cb-field { display: block; position: relative; }
.cb-field-lbl { display: block; font-size: var(--fs-2xs); font-weight: var(--fw-dato); letter-spacing: .03em; text-transform: uppercase; color: rgba(244,244,244,.5); margin-bottom: 4px; }
.cb-field.cb-filled .cb-field-lbl { color: rgba(244,244,244,.78); }
.cb-key { color: var(--accent); font-size:var(--fs-sm); }
.cb-input { width: 100%; resize: vertical; min-height: 38px; padding: 8px 10px; border-radius: var(--radius-sm); border: 1px solid rgba(255,255,255,.1); background: rgba(0,0,0,.22); color: rgba(244,244,244,.92); font-family: inherit; font-size: var(--fs-sm); line-height: 1.4; outline: none; transition: border-color .15s var(--ease-out); }
.cb-input:focus { border-color: color-mix(in srgb, var(--accent) 50%, transparent); background: rgba(0,0,0,.32); }
.cb-input::placeholder { color: rgba(244,244,244,.32); }
.cb-saved { position: absolute; right: 8px; bottom: 8px; opacity: 0; color: #34d399; font-size:var(--fs-xs); transition: opacity .2s var(--ease-out); pointer-events: none; }
.cb-field.cb-ok .cb-saved { opacity: 1; }
.cb-pyr { background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08); border-radius: var(--radius); padding: var(--sp-4); }
.cb-pyr-title { font-size: var(--fs-md); font-weight: var(--fw-fuerte); color: #fff; margin-bottom: var(--sp-3); }
.cb-pyr-title i { color: var(--accent); margin-right: 6px; }
.cb-pyr-list { display: flex; flex-direction: column; gap: var(--sp-2); }
.cb-pyr-row { display: flex; gap: var(--sp-3); align-items: flex-start; padding: var(--sp-3); border-radius: var(--radius-sm); background: var(--sf2); }
.cb-pyr-tag { flex: 0 0 116px; font-size: var(--fs-2xs); font-weight: var(--fw-fuerte); letter-spacing: .04em; color: #fff; background: var(--lvl); padding: 4px 10px; border-radius: var(--radius-pill); text-align: center; align-self: flex-start; }
.cb-pyr-body { flex: 1; min-width: 0; }
.cb-pyr-q { font-weight: var(--fw-fuerte); color: #fff; font-size: var(--fs-base); }
.cb-pyr-desc { font-size: var(--fs-sm); color: rgba(244,244,244,.72); margin-top: 2px; }
.cb-pyr-ej { font-size: var(--fs-sm); color: rgba(244,244,244,.55); font-style: italic; margin-top: 6px; }
.cb-pyr-foot { margin-top: var(--sp-3); padding: var(--sp-3); border-radius: var(--radius-sm); background: rgba(255,255,255,.04); font-size: var(--fs-sm); color: rgba(244,244,244,.65); }
.cb-pyr-foot i { color: var(--accent); margin-right: 5px; }
@media (max-width: 640px) { .cb-pyr-row { flex-direction: column; gap: var(--sp-2); } .cb-pyr-tag { flex-basis: auto; align-self: flex-start; } .cb-sections { grid-template-columns: 1fr; } .cb-btn { padding: 11px 16px; min-height: 44px; } }
.gm-briefing:empty { display: none; }
.gm-brief-card { background: var(--sf2); border-radius: var(--radius-sm); padding: var(--sp-3); margin-bottom: var(--sp-3); animation: none;   }
@keyframes cb-brief-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.gm-brief-head { font-size: var(--fs-2xs); font-weight: var(--fw-fuerte); letter-spacing: .04em; text-transform: uppercase; color: var(--accent); margin-bottom: var(--sp-2); }
.gm-brief-body { font-size: var(--fs-base); color: rgba(244,244,244,.88); line-height: 1.55; }
.gm-brief-body p { margin: 0 0 6px; }
.gm-brief-iv { margin-top: var(--sp-3); padding-top: var(--sp-3); border-top: 1px solid rgba(255,255,255,.1); }
.gm-brief-iv.done, .gm-brief-iv.saved { font-size: var(--fs-sm); color: #86efac; }
.gm-brief-iv.saved { margin-top: var(--sp-2); padding-top: var(--sp-2); }
.gm-brief-iv-q { font-size: var(--fs-sm); color: rgba(244,244,244,.9); margin-bottom: var(--sp-2); }
.gm-brief-iv-tag { display: inline-block; font-size: var(--fs-2xs); font-weight: var(--fw-fuerte); color: var(--accent); margin-right: 6px; white-space: nowrap; }
.gm-brief-iv-row { display: flex; gap: var(--sp-2); align-items: center; flex-wrap: wrap; }
.gm-brief-iv-row input { flex: 1; min-width: 160px; padding: 9px 12px; border-radius: var(--radius-sm); border: 1px solid rgba(255,255,255,.14); background: rgba(0,0,0,.28); color: rgba(244,244,244,.92); font-family: inherit; font-size: var(--fs-sm); outline: none; }
.gm-brief-iv-row input:focus { border-color: color-mix(in srgb, var(--accent) 50%, transparent); }
.gm-brief-iv-row input::placeholder { color: rgba(244,244,244,.34); }
.gm-brief-skip { background: transparent; border-color: rgba(255,255,255,.12); color: rgba(244,244,244,.55); }
.gm-informe-head { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-2); margin-bottom: var(--sp-2); flex-wrap: wrap; }
.gm-informe-gen { padding: 6px 12px; font-size: var(--fs-2xs); }
.gm-informe-body { font-size: var(--fs-sm); color: rgba(244,244,244,.85); line-height: 1.55; }
.gm-informe-body strong { color: #fff; }
.gm-informe-body p { margin: 0 0 8px; }
.gm-acc-detail { width: 100%; border-collapse: collapse; }
.gm-acc-detail td { padding: 3px 0; vertical-align: top; font-size: var(--fs-2xs); }
.gm-acc-detail td:first-child { width: 38%; color: rgba(244, 244, 246, .5); padding-right: var(--sp-2); }
.gm-acc-detail td:last-child { color: rgba(244, 244, 246, .85); word-break: break-word; }
.gm-acc-ua {
  margin-top: var(--sp-2); padding: var(--sp-2); border-radius: var(--radius-sm);
  background: rgba(0, 0, 0, .25); font-family: var(--font-mono, monospace);
  font-size:var(--fs-2xs); color: rgba(244, 244, 246, .55); word-break: break-all; line-height: 1.4;
}
@media (max-width: 480px) { .gm-acc-summary { grid-template-columns: repeat(2, 1fr); } }
.gm-subv-dot { flex: 0 0 auto; width: 10px; height: 10px; border-radius: 50%; }
.gm-subv-dot.go   { background: #22c55e; }   
.gm-subv-dot.mid  { background: #f59e0b; }
.gm-subv-dot.stop { background: #ef4444; }
.gm-subv-badge {
  display: inline-block; padding: 2px 10px; border-radius: var(--radius-pill);
  font-size: var(--fs-2xs); font-weight: var(--fw-fuerte); letter-spacing: .04em; margin: 0 var(--sp-2) var(--sp-2) 0;
}
.gm-subv-badge.go   { background: rgba(34, 197, 94, .15); color: #4ade80; }
.gm-subv-badge.mid  { background: rgba(245, 158, 11, .15); color: #fbbf24; }
.gm-subv-badge.stop { background: rgba(239, 68, 68, .15); color: #f87171; }
.gm-fc-chart { height: calc(190px * var(--chart-scale, 1)); position: relative; margin-bottom: var(--sp-3); }
.gm-fc-cols { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-3); margin-bottom: var(--sp-3); }
@media (max-width: 768px) { .gm-fc-cols { grid-template-columns: 1fr; } }
.gm-fc-chip {
  display: flex; gap: var(--sp-2); align-items: flex-start;
  font-size: var(--fs-xs); line-height: 1.45; color: rgba(244, 244, 246, .78);
  padding: var(--sp-2) var(--sp-3); border-radius: var(--radius-sm); margin-bottom: var(--sp-2);
}
.gm-fc-chip i { margin-top: 2px; flex: 0 0 auto; }
.gm-fc-chip.risk { background: rgba(239, 68, 68, .08); }
.gm-fc-chip.risk i { color: #f87171; }
.gm-fc-chip.go { background: rgba(34, 197, 94, .08); }
.gm-fc-chip.go i { color: #4ade80; }
.gm-fc-more { margin-top: var(--sp-1); }
#kpix-dock {
  position: fixed; left: 50%; transform: translateX(-50%);
  bottom: 84px;                       
  z-index: 100001;
  width: min(580px, calc(100vw - 24px));
  font-family: var(--font);
  animation: none;  
}
@keyframes kpix-dock-in {
  from { opacity: 0; transform: translate(-50%, 16px) scale(.96); }
  to   { opacity: 1; transform: translate(-50%, 0) scale(1); }
}
.kpix-dock-bar {
  display: flex; align-items: center; gap: var(--sp-1);
  background: rgba(16, 16, 20, .74);
  -webkit-backdrop-filter: blur(28px) saturate(1.5);
  backdrop-filter: blur(28px) saturate(1.5);
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: var(--radius-pill);
  padding: 7px 7px 7px var(--sp-3);
  box-shadow: 0 18px 50px rgba(0, 0, 0, .42), 0 2px 10px rgba(0, 0, 0, .28);
}
.kpix-dock-ico {
  flex: 0 0 auto; width: 42px; height: 42px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: none; border: none; cursor: pointer;
  color: rgba(255, 255, 255, .9); font-size:var(--fs-xl);
  transition: background .15s var(--ease-out), transform .12s var(--ease-out);
}
.kpix-dock-ico:hover { background: rgba(255, 255, 255, .08); }
.kpix-dock-ico:active { transform: scale(.88); }
.kpix-dock-ico.sm { width: 32px; height: 32px; font-size:var(--fs-base); color: rgba(255, 255, 255, .65); }
.kpix-dock-bar input {
  flex: 1; min-width: 0; background: none; border: none; outline: none;
  color: #fff; font-family: var(--font); font-size: var(--fs-md); padding: var(--sp-2) var(--sp-1);
}
.kpix-dock-bar input::placeholder { color: rgba(255, 255, 255, .45); }
.kpix-dock-send {
  flex: 0 0 auto; width: 62px; height: 42px; border-radius: var(--radius-pill);
  display: flex; align-items: center; justify-content: center;
  background: rgba(255, 255, 255, .15); border: none; cursor: pointer;
  color: #fff; font-size:var(--fs-lg);
  transition: background .15s var(--ease-out), transform .12s var(--ease-out);
}
.kpix-dock-send:hover { background: rgba(255, 255, 255, .24); }
.kpix-dock-send:active { transform: scale(.93); }
.kpix-dock-panel {
  display: none;
  margin-bottom: var(--sp-3);
  background: rgba(16, 16, 20, .84);
  -webkit-backdrop-filter: blur(28px) saturate(1.5);
  backdrop-filter: blur(28px) saturate(1.5);
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 24px;
  padding: var(--sp-4);
  box-shadow: 0 18px 50px rgba(0, 0, 0, .42), 0 2px 10px rgba(0, 0, 0, .28);
  transform-origin: 50% 100%;
}
.kpix-dock-panel.open { display: block; animation: none;   }
@keyframes kpix-panel-in {
  from { opacity: 0; transform: translateY(10px) scale(.97); }
  to   { opacity: 1; transform: none; }
}
.kpix-dock-head { display: flex; align-items: center; gap: var(--sp-1); margin-bottom: var(--sp-2); }
.kpix-dock-title { flex: 1; font-size: var(--fs-sm); font-weight: var(--fw-fuerte); color: #fff; letter-spacing: .02em; }
.kpix-dock-title i { color: var(--accent); margin-right: 4px; }
.kpix-dock-panel .kpix-chat-msgs { max-height: min(46vh, 420px); }
.kpix-dock-panel .kpix-chat-msg.ai { background: rgba(255, 255, 255, .07); border-color: rgba(255, 255, 255, .08); color: rgba(255, 255, 255, .85); }
.kpix-dock-panel .kpix-chat-msg.ai strong { color: #fff; }
.kpix-dock-panel .kpix-chat-msg.user { background: color-mix(in srgb, var(--accent) 16%, transparent); border-color: color-mix(in srgb, var(--accent) 30%, transparent); color: #fff; }
.kpix-dock-panel .kpix-chat-empty { color: rgba(255, 255, 255, .5); }
.kpix-dock-panel .kpix-chat-chips { margin-bottom: 0; }
.kpix-dock-panel .kpix-chat-chips button { background: rgba(255, 255, 255, .07); border-color: rgba(255, 255, 255, .12); color: rgba(255, 255, 255, .8); }
.kpix-dock-panel .kpix-chat-chips button:hover { border-color: var(--accent); color: #fff; }
@media (max-width: 768px) {
  #kpix-dock { bottom: 70px; width: calc(100vw - 16px); }
}
@media (prefers-reduced-motion: reduce) {
  #kpix-dock, .kpix-dock-panel.open { animation: none; }
}
.kpix-chat-msgs {
  display: flex; flex-direction: column; gap: var(--sp-3);
  max-height: 380px; min-height: 120px; overflow-y: auto;
  padding: var(--sp-2) var(--sp-1); margin-bottom: var(--sp-3);
}
.kpix-chat-empty {
  text-align: center; color: var(--tx-3); font-size: var(--fs-sm);
  padding: var(--sp-6) var(--sp-4); line-height: 1.6;
}
.kpix-chat-empty i { display: block; font-size: var(--fs-xl); margin-bottom: var(--sp-2); opacity: .6; }
.kpix-chat-msg {
  max-width: 78%; padding: var(--sp-3) var(--sp-4); border-radius: var(--radius);
  font-size: var(--fs-md); line-height: 1.55; color: var(--tx);
  overflow-wrap: break-word;
}
.kpix-chat-msg.user {
  align-self: flex-end;
  background: color-mix(in srgb, var(--accent) 16%, var(--sf));
  border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent);
  border-bottom-right-radius: var(--radius-xs);
}
.kpix-chat-msg.ai {
  align-self: flex-start;
  background: var(--sf3); border: 1px solid var(--br);
  border-bottom-left-radius: var(--radius-xs);
  color: var(--tx-2);
}
.kpix-chat-msg.ai strong { color: var(--tx); }
.kpix-chat-typing { color: var(--tx-3); }
.kpix-chat-chips { display: flex; gap: var(--sp-2); flex-wrap: wrap; margin-bottom: var(--sp-3); }
.kpix-chat-chips button {
  background: var(--sf3); border: 1px solid var(--br); border-radius: var(--radius-pill);
  padding: var(--sp-1) var(--sp-3); font-family: var(--font); font-size: var(--fs-xs);
  font-weight: var(--fw-dato); color: var(--tx-2); cursor: pointer;
  transition: border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}
.kpix-chat-chips button:hover { border-color: var(--accent); color: var(--tx); }
.kpix-chat-chips button:active { transform: scale(.97); }
.kpix-chat-inputrow { display: flex; gap: var(--sp-2); }
.kpix-chat-inputrow input {
  flex: 1; background: var(--sf3); border: 1px solid var(--br); border-radius: var(--radius-pill);
  padding: var(--sp-2) var(--sp-4); font-family: var(--font); font-size: var(--fs-md); color: var(--tx);
  outline: none; transition: border-color var(--dur-fast) var(--ease-out);
}
.kpix-chat-inputrow input:focus { border-color: var(--accent); }
.kpix-chat-inputrow input::placeholder { color: var(--tx-3); }
#kpi-iva-slot { position: absolute; top: var(--sp-4); right: var(--sp-4); z-index: 2; }
.kpi-value.iva-flash { animation: iva-flash .45s var(--ease-out) 1; }
@keyframes iva-flash {
  0% { opacity: .25; filter: blur(4px); transform: translateY(3px); }
  100% { opacity: 1; filter: blur(0); transform: none; }
}
@media (prefers-reduced-motion: reduce) { .kpi-value.iva-flash { animation: none; } }
.iva-chip {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 2px var(--sp-2); border-radius: var(--radius-pill);
  background: var(--sf3); border: 1px solid var(--br);
  font-family: var(--font); font-size: var(--fs-2xs); font-weight: var(--fw-dato); color: var(--tx-3);
  cursor: pointer; white-space: nowrap; flex: 0 0 auto;
  transition: border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}
.iva-chip i { font-size: 9px; }
.iva-chip:hover { border-color: var(--accent); color: var(--tx); }
.iva-chip:active { transform: scale(.97); }
.iva-chip.on {
  background: color-mix(in srgb, var(--accent) 16%, var(--sf));
  border-color: color-mix(in srgb, var(--accent) 40%, transparent);
  color: var(--gold-ink, var(--accent));
}
[data-theme="dark"] .iva-chip.on { color: var(--accent); }
.kpi-origin-row {
  display: flex; align-items: baseline; gap: var(--sp-2);
  font-size: var(--fs-sm); color: var(--tx-2); padding: var(--sp-1) 0;
}
.kpi-origin-dot { width: 9px; height: 9px; border-radius: 50%; flex: 0 0 auto; align-self: center; }
.kpi-origin-name { flex: 1; font-weight: var(--fw-dato); }
.kpi-origin-row strong { color: var(--tx); font-size: var(--fs-lg); font-variant-numeric: tabular-nums; white-space: nowrap; }
.kpi-origin-pct { font-size: var(--fs-xs); color: var(--tx-3); min-width: 34px; text-align: right; font-variant-numeric: tabular-nums; }
.kpi-card { min-width: 0; }
.kpi-origin-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#ec-layer { position: absolute; top: 0; left: 0; width: 100%; height: 0; overflow: visible; z-index: 900; pointer-events: none; }
#ec-layer > * { pointer-events: auto; }
body.ec-placing, body.ec-placing * { cursor: crosshair !important; }
.ec-pin {
  position: absolute; transform: translate(-50%, -50%);
  width: 26px; height: 26px; border-radius: 50%;
  background: #e8ab0c; color: #1c1c1c; border: 2px solid #fff;
  font-family: var(--font); font-size: var(--fs-xs); font-weight: var(--fw-fuerte);
  cursor: pointer; box-shadow: 0 2px 8px rgba(0, 0, 0, .35);
  transition: transform var(--dur-fast) var(--ease-out);
}
.ec-pin:hover { transform: translate(-50%, -50%) scale(1.15); }
.ec-pin:active { transform: translate(-50%, -50%) scale(.95); }
.ec-pin-orphan { background: #94a3b8; }
[data-theme="dark"] .ec-pin { border-color: #1c1c1c; }
.ec-box {
  position: absolute; width: 300px; z-index: 901;
  background: var(--sf); border: 1px solid var(--br-2); border-radius: var(--radius);
  box-shadow: var(--shadow-lg); padding: var(--sp-4);
  font-family: var(--font); font-size: var(--fs-sm); color: var(--tx-2);
  animation: none;  
}
@keyframes ec-box-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .ec-box { animation: none; } }
.ec-box-head { font-weight: var(--fw-fuerte); color: var(--tx); margin-bottom: 2px; }
.ec-box-head i { color: var(--gold-ink, var(--accent)); margin-right: 4px; }
.ec-box-sub { font-size: var(--fs-2xs); color: var(--tx-3); margin-bottom: var(--sp-2); }
.ec-box-text { color: var(--tx); line-height: 1.5; margin-bottom: var(--sp-3); white-space: pre-wrap; }
.ec-box textarea {
  width: 100%; resize: vertical; background: var(--sf3); border: 1px solid var(--br);
  border-radius: var(--radius-sm); padding: var(--sp-2) var(--sp-3);
  font-family: var(--font); font-size: var(--fs-sm); color: var(--tx);
  outline: none; margin-bottom: var(--sp-3);
}
.ec-box textarea:focus { border-color: var(--accent); }
.ec-box-actions { display: flex; gap: var(--sp-2); justify-content: flex-end; }
.ec-btn {
  background: var(--sf3); border: 1px solid var(--br); border-radius: var(--radius-pill);
  padding: var(--sp-1) var(--sp-3); font-family: var(--font); font-size: var(--fs-xs);
  font-weight: var(--fw-dato); color: var(--tx-2); cursor: pointer;
  transition: border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}
.ec-btn:hover { border-color: var(--accent); color: var(--tx); }
.ec-btn:active { transform: scale(.97); }
.ec-btn-gold { background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 72%, #fff), var(--accent)); border-color: transparent; color: #1c1c1c; }
.ec-btn-gold:hover { color: #1c1c1c; filter: brightness(1.04); }
.ec-btn-danger { color: #ef4444; }
.ec-btn-danger:hover { border-color: #ef4444; color: #ef4444; }
.bx-fab.ec-fab { background: linear-gradient(135deg, #1a1a1f, #2a2440); border: 1px solid color-mix(in srgb, var(--accent) 45%, transparent); }
.bx-fab.ec-fab.ec-fab-placing { outline: 2px solid var(--accent); outline-offset: 2px; }
.ec-fab-badge {
  position: absolute; top: -4px; right: -4px;
  min-width: 18px; height: 18px; padding: 0 4px; border-radius: var(--radius-pill);
  background: #e8ab0c; color: #1c1c1c; font-size:var(--fs-xs); font-weight: var(--fw-fuerte);
  display: flex; align-items: center; justify-content: center;
  border: 2px solid var(--bg, #fff);
}
@media print {
  .sidebar, .topbar, .kpix-toolbar, .kpix-tools, .kpix-edit-hint,
  .kpix-ai-btn, #view-switcher, #fabrica-switcher, .bx-fab, #kpix-cal-metric,
  .kpix-chat-chips, .kpix-chat-inputrow, .kpix-comp .bx-ck-chip,
  .kpix-chatcard .btn, #kpix-dock,
  #bx-copilot, .bxc, #bx-content-fade, #cm-topscope, #gestion-offline-banner,
  #bx-cust-bar, .gm-lock, #ec-layer { display: none !important; }
  .main { margin: 0 !important; padding: 0 !important; }
  body, body.bxc-on .content { padding-bottom: 0 !important; }
  body { background: #fff !important; }
  .kpix-blocks { display: block !important; }
  .kpix-block { page-break-inside: avoid; margin-bottom: 16px; }
  .card, .kpi-card, .kpix-card-sm {
    box-shadow: none !important; backdrop-filter: none !important;
    border: 1px solid #ddd !important; background: #fff !important;
  }
}
#gestion-offline-banner {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1300;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 8px 14px;
  background: linear-gradient(90deg, #92400e, #b45309 40%, #92400e);
  color: #fff7ea; font-size: var(--fs-base); font-weight: var(--fw-detalle); letter-spacing: .02em;
  border-bottom: 1px solid rgba(0, 0, 0, .25);
  box-shadow: 0 2px 12px rgba(0, 0, 0, .25);   
}
#gestion-offline-banner b { font-weight: var(--fw-black); letter-spacing: .06em; }
body.gst-offline .dashboard { padding-top: 34px; }
body.gst-offline .sidebar { padding-top: 34px; }
body.gst-offline .topbar { top: 34px; }
@media (max-width: 768px) {
  #gestion-offline-banner { font-size:var(--fs-xs); padding: 7px 10px; }
}
@media (max-width: 900px) { .gst-grid-2 { grid-template-columns: 1fr !important; } }
.gst-kpi-grid { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1100px) { .gst-kpi-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px)  { .gst-kpi-grid { grid-template-columns: 1fr; } }
.gst-chart-card { display: flex; flex-direction: column; position: relative; overflow: hidden; }
.gst-chart-card::after { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 0;
  background: radial-gradient(62% 42% at 50% 122%, color-mix(in srgb, var(--accent) 10%, transparent) 0%, transparent 70%); }
.gst-chart-card > * { position: relative; z-index: 1; }
.gst-chart-box { flex: 1; min-height: calc(340px * var(--chart-scale, 1)); position: relative; margin-top: var(--sp-2); }
.res-rank { display: flex; flex-direction: column; }
.res-rank-row { display: flex; align-items: center; gap: var(--sp-3); width: 100%; background: none; border: none; border-bottom: 1px solid var(--br); padding: 11px var(--sp-2); cursor: pointer; text-align: left; color: var(--tx); border-radius: var(--radius-sm); transition: background .15s var(--ease-out), transform .08s var(--ease-out); }
.res-rank-row:last-child { border-bottom: none; }
.res-rank-row:hover { background: var(--sf2); }
.res-rank-row:active { transform: scale(.99); }
.res-rank-pos { width: 22px; flex: none; text-align: center; font-weight: var(--fw-fuerte); color: var(--tx-3); font-variant-numeric: tabular-nums; }
.res-rank-dot { width: 10px; height: 10px; border-radius: 50%; flex: none; }
.res-rank-name { flex: 0 1 200px; min-width: 0; font-weight: var(--fw-dato); font-size: var(--fs-sm); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.res-rank-bar { flex: 1; min-width: 60px; height: var(--bar-h, 8px); background: var(--sf2); border-radius: 999px; overflow: hidden; }
.res-rank-bar > i { display: block; height: 100%; border-radius: 999px; transition: width .6s var(--ease-out); }
.res-rank-val { flex: none; width: 96px; text-align: right; font-weight: var(--fw-fuerte); font-size: var(--fs-sm); font-variant-numeric: tabular-nums; }
.res-rank-val.pos { color: var(--green); }
.res-rank-val.neg { color: var(--red); }
.res-rank-chev { flex: none; color: var(--tx-3); font-size:var(--fs-xs); }
@media (max-width: 560px) { .res-rank-bar { display: none; } .res-rank-name { flex: 1; } }
.dist-net-grid { display: flex; flex-direction: column; gap: var(--fila-gap); align-content: start; }
.dist-net-grid > * { min-width: 0; }
.dist-net-grid .dist-net-head { grid-column: 1 / -1; }
.dist-net-grid .dist-status-card { flex-wrap: wrap; }
.dist-net-grid .dist-card-name { flex: 1 1 140px; min-width: 0; }
.dist-net-grid .dist-card-bar { order: 3; width: 100%; flex: none; min-width: 0; }
.dist-net-grid .dist-card-status { order: 2; }
.dist-net-grid .dist-card-meta { order: 2; min-width: 0; }
.dist-net-grid .dist-status-card > .fa-chevron-right { order: 2; }
.dist-status-card .dist-card-logo { width: 42px; height: 42px; border-radius: 11px; flex-shrink: 0; }
.dist-status-card .dist-card-logo .dist-logo-ph { font-size:var(--fs-md); }
@media (max-width: 900px) { .dist-net-grid { grid-template-columns: 1fr; } }
.wa-recover { display: inline-flex; align-items: center; gap: 5px; font-size:var(--fs-xs); font-weight: var(--fw-dato);
  color: #16a34a; background: rgba(22,163,74,.10); border-radius: var(--radius-pill); padding: 3px 9px;
  text-decoration: none; transition: background .15s var(--ease-out); }
.wa-recover:hover { background: rgba(22,163,74,.18); }
.wa-recover i { font-size:var(--fs-sm); }
[data-theme="dark"] .wa-recover { color: #4ade80; background: rgba(22,163,74,.18); }
.gst-lines { display: flex; flex-direction: column; gap: 6px; }
.gst-line {
  display: grid;
  grid-template-columns: minmax(180px, 2.2fr) .9fr 1fr .7fr .8fr 1fr 44px;
  gap: 8px; align-items: center;
  padding: 6px 0; border-bottom: 1px solid var(--br);
}
.gst-line .form-input { padding: 7px 10px; font-size: var(--fs-base); }
.gst-line-head {
  font-size: var(--fs-2xs); font-weight: var(--fw-dato); text-transform: uppercase; letter-spacing: .07em;
  color: var(--tx-3); border-bottom: 1px solid var(--br); padding-bottom: 4px;
}
.gst-line span[data-label]::before { content: none; }
@media (max-width: 820px) {
  .gst-line-head { display: none; }
  .gst-line {
    grid-template-columns: 1fr 1fr;
    background: var(--sf3); border: 1px solid var(--br); border-radius: var(--radius-sm);
    padding: 10px; border-bottom: none;
  }
  .gst-line > span:first-child { grid-column: 1 / -1; }
  .gst-line span[data-label]::before {
    content: attr(data-label);
    display: block; font-size:var(--fs-2xs); font-weight: var(--fw-dato); text-transform: uppercase;
    letter-spacing: .06em; color: var(--tx-3); margin-bottom: 3px;
  }
}
.gst-ped-main { max-width: 360px; }
.gst-ped-lines {
  font-size: var(--fs-sm); color: var(--tx-2); margin-top: 2px;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 340px;
}
.gst-ped-note {
  font-size:var(--fs-xs); color: var(--gold-ink); margin-top: 3px;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 340px;
}
[data-theme="dark"] .gst-ped-note { color: var(--accent); }
.gst-ped-reserva {
  display: inline-block; font-size:var(--fs-2xs); font-weight: var(--fw-fuerte); text-transform: uppercase;
  letter-spacing: .06em; color: #f59e0b; background: #f59e0b1a;
  padding: 2px 7px; border-radius: 20px; margin-top: 3px;
}
.gst-ped-prog { display: flex; align-items: center; gap: 8px; min-width: 110px; }
.gst-ped-bar {
  flex: 1; height: var(--bar-h, 10px); border-radius: var(--radius-pill); background: var(--sf3);
  overflow: hidden; min-width: 50px;
}
.gst-ped-bar > span { display: block; height: 100%; border-radius: var(--radius-pill); background: #f59e0b; }
.gst-ped-progtx { font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx-2); white-space: nowrap; }
@media (max-width: 820px) {
  .gst-ped-main, .gst-ped-lines, .gst-ped-note { max-width: none; }
  .gst-ped-lines, .gst-ped-note { white-space: normal; }
}
.gst-stock-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 14px; }
.gst-stock-card { background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius); overflow: hidden;
  transition: transform .2s var(--ease-out), box-shadow .2s var(--ease-out), border-color .2s var(--ease-out); }
.gst-stock-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); }
.gst-stock-img { position: relative; aspect-ratio: 4 / 3; background: var(--sf2); display: flex; align-items: center; justify-content: center;
  overflow: hidden; margin: 5px 5px 0; border-radius: calc(var(--radius) - 5px); }
.gst-stock-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s var(--ease-out); }
.gst-stock-card:hover .gst-stock-img img { transform: scale(1.04); }
.gst-stock-card.has-photo:hover .gst-stock-img img { transform: scale(1.16); }
.gst-stock-zoom { position: absolute; left: 0; right: 0; bottom: 0; padding: 24px 12px 10px; display: flex; flex-direction: column; gap: 2px;
  background: linear-gradient(to top, rgba(8,8,10,.92) 0%, rgba(8,8,10,.5) 56%, transparent 100%);
  opacity: 0; transform: translateY(6px); transition: opacity .2s var(--ease-out), transform .2s var(--ease-out); pointer-events: none; }
.gst-stock-card.has-photo:hover .gst-stock-zoom { opacity: 1; transform: none; }
.gst-stock-zoom .z-name { color: #fff; font-weight: var(--fw-fuerte); font-size:var(--fs-md); line-height: 1.12; text-shadow: 0 1px 3px rgba(0,0,0,.6); }
.gst-stock-zoom .z-lote { color: rgba(255,255,255,.82); font-size:var(--fs-sm); font-weight: var(--fw-detalle); }
.gst-stock-zoom .z-lote b { font-weight: var(--fw-fuerte); }
@media (hover: none) { .gst-stock-zoom { display: none; } }
.gst-stock-ph { color: var(--tx-3); font-size: 36px; opacity: .45; }
.gst-stock-badge { position: absolute; top: 8px; left: 8px; }
.gst-stock-edit { position: absolute; top: 8px; right: 8px; width: 30px; height: 30px; border-radius: 50%; background: rgba(0,0,0,.55); color: #fff; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; font-size:var(--fs-sm); opacity: 0; transition: opacity .18s var(--ease-out), background .18s; backdrop-filter: blur(4px); }
.gst-stock-card:hover .gst-stock-edit { opacity: 1; } .gst-stock-edit:hover { background: var(--accent); color: #1c1c1c; }
@media (hover: none) { .gst-stock-edit { opacity: .85; } }
.gst-stock-info { padding: 12px 14px 14px; }
.gst-stock-sku { font-size:var(--fs-sm); color: var(--tx-3); font-family: var(--mono); letter-spacing: .03em; }
.gst-stock-name { font-weight: var(--fw-fuerte); font-size:var(--fs-md); color: var(--tx); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gst-stock-qty { margin-top: 8px; display: flex; align-items: baseline; gap: 5px; }
.gst-stock-qty .q { font-size: var(--fs-2xl); font-weight: var(--fw-fuerte); color: var(--tx); line-height: 1; font-variant-numeric: tabular-nums; }
.gst-stock-qty .u { font-size:var(--fs-sm); color: var(--tx-3); }
.gst-stock-bar { margin-top: 9px; height: var(--bar-h, 6px); border-radius: 6px; background: var(--sf2); overflow: hidden; }
.gst-stock-bar > span { display: block; height: 100%; border-radius: 6px; transition: width .5s var(--ease-out); }
.gst-stock-card.stock-ok .gst-stock-bar > span { background: #16a34a; }
.gst-stock-card.stock-low .gst-stock-bar > span { background: #f59e0b; }
.gst-stock-card.stock-crit .gst-stock-bar > span { background: #ef4444; }
.gst-stock-meta { margin-top: 9px; font-size:var(--fs-xs); color: var(--tx-3); }
@media (max-width: 560px) { .gst-stock-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; } .gst-stock-qty .q { font-size:var(--fs-2xl); } }
@media (prefers-reduced-motion: reduce) { .gst-stock-card, .gst-stock-img img, .gst-stock-bar > span, .gst-stock-zoom { transition: none; } .gst-stock-card:hover { transform: none; } .gst-stock-card:hover .gst-stock-img img, .gst-stock-card.has-photo:hover .gst-stock-img img { transform: none; } .gst-stock-zoom { transform: none; } }
.dist-logo-frame { position: relative; width: 52px; height: 52px; border-radius: 13px; overflow: hidden;
  flex-shrink: 0; cursor: pointer;
  background: linear-gradient(143deg, color-mix(in srgb, var(--dc, var(--accent)) 92%, #fff), color-mix(in srgb, var(--dc, var(--accent)) 60%, #161616));
  border: 1px solid color-mix(in srgb, var(--dc, var(--accent)) 48%, transparent);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18);
  display: flex; align-items: center; justify-content: center; transition: transform .2s var(--ease-out); }
.dist-logo-frame:hover { transform: translateY(-1px); }
.dist-logo-frame img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dist-logo-ph { font-weight: var(--fw-fuerte); font-size: 19px; letter-spacing: .01em; color: #fff; text-shadow: 0 1px 2px rgba(0, 0, 0, .28); text-transform: uppercase; }
.dist-logo-edit { position: absolute; bottom: 0; left: 0; right: 0; height: 17px; background: rgba(0,0,0,.55);
  color: #fff; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; font-size:var(--fs-sm);
  opacity: 0; transition: opacity .18s var(--ease-out); backdrop-filter: blur(3px); }
.dist-logo-frame:hover .dist-logo-edit { opacity: 1; } .dist-logo-edit:hover { background: var(--accent); color: #1c1c1c; }
@media (hover: none) { .dist-logo-edit { opacity: .9; } }
@media (prefers-reduced-motion: reduce) { .dist-logo-frame, .dist-logo-edit { transition: none; } .dist-logo-frame:hover { transform: none; } }
.sales-grid { margin-top: 4px; }
.sales-summary { margin-bottom: 14px; }
.sales-card.is-empty { opacity: .5; }
.sales-card-badge { position: absolute; top: 8px; left: 8px; font-size:var(--fs-2xs); font-weight: var(--fw-fuerte); padding: 3px 8px;
  border-radius: 20px; letter-spacing: .02em; backdrop-filter: blur(4px); }
.sales-card-badge.pos { background: rgba(12,200,178,.16); color: #0cc8b2; }
.sales-card-badge.neg { background: rgba(239,68,68,.16); color: #ef4444; }
.sales-card-badge.none { background: rgba(255,255,255,.10); color: var(--tx-3); }
.sales-card-units { display: flex; align-items: baseline; gap: 5px; margin: 4px 0 7px; }
.sales-card-units .q { font-size:var(--fs-2xl); font-weight: var(--fw-fuerte); color: var(--tx); }
.sales-card-units .u { font-size:var(--fs-xs); color: var(--tx-3); }
.sales-card-prices { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size:var(--fs-sm); color: var(--tx-2); }
.sales-card-prices .sc-p i { font-size: 9px; opacity: .7; margin-right: 2px; }
.sales-card-prices .sc-p b { color: var(--tx); font-weight: var(--fw-dato); }
.sales-card-prices .sc-p.sell b { color: var(--blue-accent); }
.sales-card-foot { margin-top: 7px; padding-top: 7px; border-top: 1px solid var(--br); font-size:var(--fs-xs); color: var(--tx-2); }
.sales-card-foot b { font-weight: var(--fw-fuerte); }
.sales-card-foot.pos b { color: #0cc8b2; } .sales-card-foot.neg b { color: var(--red); }
.god-demo-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 7px; width: 100%;
  margin: 8px 0; padding: 8px 12px; border-radius: var(--radius-sm); cursor: pointer; font-size:var(--fs-sm); font-weight: var(--fw-dato);
  background: rgba(255,255,255,.05); border: 1px solid var(--br); color: var(--tx-2); transition: background .18s var(--ease-out), color .18s, border-color .18s; }
.god-demo-toggle:hover { background: rgba(255,255,255,.09); color: var(--tx); }
.god-demo-toggle.active { background: rgba(124,92,255,.16); border-color: rgba(124,92,255,.45); color: #b9a9ff; }
.god-demo-toggle:active { transform: scale(.97); }
@media (prefers-reduced-motion: reduce) { .god-demo-toggle { transition: none; } .god-demo-toggle:active { transform: none; } }
.cm-comp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--sp-3); }
.cm-comp-card { background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius);    padding: var(--sp-4);
  display: flex; flex-direction: column; gap: 8px; transition: transform .2s var(--ease-out), border-color .2s; }
.cm-comp-card:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--cc, var(--accent)) 40%, var(--br)); }
.cm-comp-card.is-quiet { opacity: .62; }
.cm-comp-logo { width: 52px; height: 52px; border-radius: 14px; display: grid; place-items: center; font-weight: var(--fw-fuerte); font-size: 17px;
  color: var(--cc, var(--accent)); background: color-mix(in srgb, var(--cc, var(--accent)) 15%, var(--sf2));
  border: 1.5px solid color-mix(in srgb, var(--cc, var(--accent)) 38%, transparent); }
.cm-comp-name { font-weight: var(--fw-fuerte); font-size: var(--fs-md); color: var(--tx); }
.cm-comp-essence { font-size: var(--fs-xs); line-height: 1.45; color: var(--tx-2); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.cm-comp-foot { margin-top: auto; padding-top: 8px; border-top: 1px solid var(--br); display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.cm-comp-count { font-size:var(--fs-xs); font-weight: var(--fw-dato); color: var(--tx-3); display: inline-flex; align-items: center; gap: 5px; }
.cm-comp-count i { font-size:var(--fs-2xs); }
.cm-comp-count.has { color: var(--cc, var(--accent)); }
.cm-comp-when { font-size:var(--fs-xs); color: var(--tx-3); }
@media (prefers-reduced-motion: reduce) { .cm-comp-card { transition: none; } .cm-comp-card:hover { transform: none; } }
.bxc { position: fixed; left: var(--sidebar-real); right: 0; bottom: 16px; z-index: 1400; display: flex; justify-content: center; padding: 0 16px; pointer-events: none; }
.bxc-card { width: min(720px, 100%); pointer-events: auto; display: flex; flex-direction: column; overflow: hidden;
  background: rgba(20,20,22,.92); border: 1px solid color-mix(in srgb, var(--accent) 20%, transparent); border-radius: 24px;
  backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  box-shadow: 0 12px 40px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.05);
  transition: border-color .22s var(--ease-out); }
.bxc-card:focus-within { border-color: color-mix(in srgb, var(--accent) 48%, transparent); }
.bxc-thread { max-height: 0; opacity: 0; overflow: hidden; display: flex; flex-direction: column; gap: 8px; padding: 0 16px;
  transition: max-height .5s var(--ease-in-out), opacity .34s var(--ease-in-out); }   
.bxc.open .bxc-thread { opacity: 1; overflow-y: auto; padding: 16px 16px 6px; }   
.bxc.open .bxc-bar { border-top: 1px solid rgba(255,255,255,.06); }   
.bxc-msg { max-width: 88%; padding: 9px 13px; border-radius: 13px; font-size: var(--fs-xs); line-height: 1.5; word-wrap: break-word; }
.bxc-msg.user { align-self: flex-end; background: color-mix(in srgb, var(--accent) 18%, transparent); color: #fff; border-bottom-right-radius: 4px; }
.bxc-msg.ai { align-self: flex-start; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.09); color: rgba(255,255,255,.9); border-bottom-left-radius: 4px; }
.bxc-msg.ai strong { color: #fff; }
.bxc-typing { color: rgba(255,255,255,.6); }
.bx-stream-live::after, .gm-stream-live::after {
  content: '▌'; display: inline-block; margin-left: 1px; color: var(--accent);
  font-weight: var(--fw-body); animation: bx-caret 1.05s steps(1) infinite; }
.gm-stream-live { color: rgba(255,255,255,.92); font-size: var(--fs-xs); line-height: 1.55; padding: 2px 0; }
.gm-stream-live strong { color: #fff; }
@keyframes bx-caret { 0%, 50% { opacity: 1; } 50.01%, 100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .bx-stream-live::after, .gm-stream-live::after { animation: none; opacity: .6; } }
.bxc-bar { display: flex; align-items: center; gap: 10px; padding: 9px 9px 9px 16px; }
.bxc-spark { color: var(--accent); font-size: var(--fs-base); flex-shrink: 0; opacity: .85; }
.bxc-input { flex: 1; min-width: 0; background: transparent; border: 0; outline: 0; color: #fff; font-family: var(--font); font-size:var(--fs-md); }
.bxc-input::placeholder { color: rgba(255,255,255,.45); }
.bxc-iconbtn { width: 32px; height: 32px; border-radius: 50%; background: transparent; border: 0; color: rgba(255,255,255,.55); cursor: pointer; flex-shrink: 0; display: none; align-items: center; justify-content: center; transition: color .15s, background .15s; }
.bxc-iconbtn:hover { color: #fff; background: rgba(255,255,255,.08); }
.bxc.open .bxc-collapse { display: inline-flex; }
.bxc-send { width: 36px; height: 36px; border-radius: 50%; background: var(--accent); border: 0; color: #1a1a1a; cursor: pointer; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; font-size:var(--fs-md); transition: transform .12s var(--ease-out), filter .15s; }
.bxc-send:hover { filter: brightness(1.08); }
.bxc-send:active { transform: scale(.92); }
.bxc-mic { width: 36px; height: 36px; border-radius: 50%; background: transparent; border: 0; color: rgba(255,255,255,.6); cursor: pointer; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; font-size:var(--fs-md); transition: color .15s, background .15s, transform .12s; }
.bxc-mic:hover { color: #fff; background: rgba(255,255,255,.08); }
.bxc-mic:active { transform: scale(.92); }
.bxc-mic.rec { color: #fff; background: #ef4444; animation: bxc-pulse 1.1s ease-in-out infinite; }
.bxc-mic.busy { color: var(--accent); }
@keyframes bxc-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(239,68,68,.5); } 50% { box-shadow: 0 0 0 7px rgba(239,68,68,0); } }
@media (prefers-reduced-motion: reduce) { .bxc-mic.rec { animation: none; } }
.bx-content-fade { position: fixed; left: var(--sidebar-real); right: 0; bottom: 0; height: 150px; z-index: 1390;
  background: linear-gradient(to top, var(--bg) 12%, transparent); pointer-events: none; }
body.bxc-on .content { padding-bottom: 140px; }
@media (max-width: 768px) {
  .bxc { left: 0; bottom: 10px; }
  .bx-content-fade { left: 0; height: 120px; }
  body.bxc-on .content { padding-bottom: 120px; }
}
@media (prefers-reduced-motion: reduce) { .bxc-thread { transition: none; } }
[data-theme="dark"] .dist-status-card.key-account::after {
  box-shadow: 0 0 0 1.5px rgba(255, 191, 16, calc(.40 * var(--glow, 1))), 0 0 16px rgba(0,0,0,.40);   
}
[data-theme="dark"] #rank-banner::after {
  box-shadow: inset 0 0 calc(var(--rnk-glow)*1.6) rgba(255, 191, 16, calc(.14 * var(--glow, 1))), 0 0 var(--rnk-glow) rgba(0,0,0,.5);
}
[data-theme="dark"] .kpi-card.map-mode-card.active {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 6px 32px rgba(0,0,0,.6);   
}
@media (prefers-reduced-motion: reduce) { .aip-bar, .aip-rec-dot { animation: none; opacity: .7; } }
.lj-cont { display: none; }
.ec-pin::before, .bx-cust-x::before, .tk-msg-del::before {
  content: ''; position: absolute; inset: -10px; border-radius: 50%;
}
@media (max-width: 768px) {
  table.tbl-cards .lj-cont { display: inline; }
  .aip-btn, .drawer-close, .ai-close-btn, .cap-del, .rn-meet-copy { width: 44px; height: 44px; }
  .btn-icono { min-width: 44px; min-height: 44px; }
  .rn-meet-link { min-height: 44px; padding: 10px 16px; }
  .tk-cal-nav { width: 44px; height: 44px; }
  .tk-dp-day { height: 40px; }
  .tk-msg-del { width: 28px; height: 28px; }     
  .kpix-dock-ico { width: 44px; height: 44px; }
  .kpix-dock-ico.sm { width: 36px; height: 36px; }
  .ec-btn { min-height: 44px; }
  #view-switcher .ds-btn, #demo-switcher .ds-btn { min-height: 44px; }
  .gst-line .btn-sm { min-height: 44px; min-width: 44px; }
  .dd-period { min-height: 44px; }                       
  .tk-cal-pill { min-height: 36px; display: inline-flex; align-items: center; }   
  .ai-action-btn { min-height: 44px; padding: 10px 16px; }   
  .gm-maintabs { overflow-x: auto; -webkit-overflow-scrolling: touch; flex-wrap: nowrap; width: 100%; scrollbar-width: none; }   
  .gm-maintabs::-webkit-scrollbar { display: none; }
  .gm-maintab { padding: 10px 14px; min-height: 44px; display: inline-flex; align-items: center; }
  .kpix-cal-nav, .kpix-cal-hoy { min-width: 44px; min-height: 44px; }   
  .cb-input { min-height: 44px; font-size: 16px; }                      
  .gm-brief-iv-row input { font-size: 16px; min-height: 44px; }         
  .gm-com-see, .gm-com-vbtn, .gm-com-rbtn { min-height: 40px; }         
  .mapboxgl-popup.briox-popup .mapboxgl-popup-close-button { width: 40px; height: 40px; font-size:var(--fs-2xl); }
  .tk-check { width: 20px; height: 20px; position: relative; }          
  .tk-check::after { content: ''; position: absolute; inset: -12px; }   
  .lead-assign-select { min-height: 44px; }
  .gm-btn { min-height: 44px; }
  .gm-brief-iv-row .gm-btn-gold { min-width: 44px; justify-content: center; }
  .pot-btn { min-height: 44px; }
  .tut-btn, .tut-btn-primary { min-height: 44px; }
  .tut-skip { min-height: 44px; display: inline-flex; align-items: center; }
  .cf-arrow { width: 44px; height: 44px; }
  .cf-dot { position: relative; }
  .cf-dot::after { content: ''; position: absolute; top: -18px; bottom: -18px; left: -7px; right: -7px; }
  .dd-obj-btn { min-height: 44px; }                                     
  .tk-md-bar button { width: 44px; height: 40px; font-size: var(--fs-md); }   
  .tk-sel-enter { min-height: 44px; padding: 8px 12px; }                
  .mr-leave { min-height: 44px; padding: 11px 16px; }                   
  .pot-dr-x { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0; }   
}
@media (max-width: 390px) {
  #view-switcher { max-width: calc(100vw - 16px); overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  #view-switcher::-webkit-scrollbar { display: none; }
  #view-switcher .ds-btn { flex-shrink: 0; }
  .drawer-row { flex-wrap: wrap; gap: 2px 8px; overflow-wrap: anywhere; }
  .drawer-row-label { min-width: auto; flex-basis: 100%; }
}
@media (max-width: 480px) {
  .kpix-debtor { grid-template-columns: 1fr auto; }
  .kpix-debtor-track { grid-column: 1 / -1; }
  .kpix-debtor-sub { grid-column: 1 / -1; text-align: left; white-space: normal; }
  .gmc-row { flex-direction: column; align-items: stretch; gap: var(--sp-1); }
  .gmc-row .gmc-dot { display: none; }
}
.pot-toolbar { display: flex; flex-direction: column; gap: var(--sp-2); margin-bottom: var(--sp-3); }
.pot-tb-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); }
.pot-tb-cats { gap: var(--sp-1); }
.pot-chip {
  display: inline-flex; align-items: center; gap: 6px; cursor: pointer;
  padding: 6px 12px; border-radius: var(--radius-pill); font-size: var(--fs-xs); font-weight: var(--fw-detalle);
  background: var(--surface-2, rgba(140,140,148,.10)); color: var(--tx-2);
  border: 1px solid transparent; transition: background var(--dur-1, .18s) var(--ease-out), color var(--dur-1, .18s) var(--ease-out);
}
.pot-chip:active { transform: scale(.97); }
.pot-chip.on { background: var(--gold-ink, #d4a017); color: #1c1c1c; }   
.pot-chip-st.on { background: var(--tx-1); color: var(--bg); }
.pot-chip-n { opacity: .65; font-weight: var(--fw-dato); font-size: .9em; }
.pot-tb-status { display: inline-flex; gap: var(--sp-1); flex-wrap: wrap; }
.pot-tb-toggle { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-xs); color: var(--tx-2); cursor: pointer; }
.pot-tb-search {
  margin-left: auto; min-width: 200px; flex: 1 1 200px; max-width: 320px;
  padding: 8px 12px; border-radius: var(--radius); border: 1px solid var(--br, rgba(140,140,148,.2));
  background: var(--sf3, var(--bg)); color: var(--tx-1); font-size: var(--fs-sm);
}
.pot-skel { height: 30px; border-radius: var(--radius-pill); background: var(--surface-2, rgba(140,140,148,.12)); width: 60%; animation: pot-pulse 1.2s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .pot-skel { animation: none; } }
@keyframes pot-pulse { 0%,100% { opacity: .5; } 50% { opacity: 1; } }
.pot-split { display: grid; grid-template-columns: 1.25fr 1fr; gap: var(--sp-4); align-items: stretch; }
.pot-mapwrap { position: relative; border-radius: var(--radius-lg, 16px); overflow: hidden; box-shadow: var(--shadow); min-height: 62vh; }
#pot-map { position: absolute; inset: 0; }
.pot-search-here {
  position: absolute; bottom: 14px; left: 14px; z-index: 3; cursor: pointer;
  display: inline-flex; align-items: center; gap: 7px;
  padding: 9px 14px; border-radius: var(--radius-pill); border: none;
  background: var(--gold-ink, #d4a017); color: #1c1c1c; font-size: var(--fs-xs); font-weight: var(--fw-dato);
  box-shadow: 0 6px 18px rgba(0,0,0,.28);
}
.pot-search-here:active { transform: scale(.97); }
.pot-listwrap { max-height: 62vh; overflow-y: auto; padding-right: 2px; }
.pot-list-head { font-size: var(--fs-xs); font-weight: var(--fw-dato); text-transform: uppercase; letter-spacing: .08em; color: var(--tx-3, var(--tx-2)); margin: 0 0 var(--sp-2) 4px; }
.pot-row {
  display: flex; align-items: center; gap: var(--sp-3); cursor: pointer;
  padding: 10px 12px; border-radius: var(--radius); margin-bottom: 6px;
  background: var(--sf3, rgba(140,140,148,.06)); border: 1px solid transparent;
  transition: background var(--dur-1, .18s) var(--ease-out), border-color var(--dur-1, .18s) var(--ease-out);
}
.pot-row:hover { background: var(--surface-2, rgba(140,140,148,.12)); border-color: var(--br, rgba(140,140,148,.2)); }
.pot-row:active { transform: scale(.995); }
.pot-row-matched { opacity: .5; }
.pot-row-ico { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; flex-shrink: 0; border-radius: var(--radius); color: var(--c); background: color-mix(in srgb, var(--c) 14%, transparent); font-size: var(--fs-base); }
.pot-row-main { display: flex; flex-direction: column; gap: 1px; min-width: 0; flex: 1; }
.pot-row-name { font-weight: var(--fw-dato); font-size: var(--fs-sm); color: var(--tx-1); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pot-row-sub { font-size: var(--fs-2xs); color: var(--tx-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pot-tag-cli { font-size: var(--fs-2xs); font-weight: var(--fw-dato); color: var(--tx-3, var(--tx-2)); background: rgba(140,140,148,.18); padding: 1px 6px; border-radius: var(--radius-pill); }
.pot-row-vol { display: flex; flex-direction: column; align-items: flex-end; flex-shrink: 0; line-height: 1.1; }
.pot-row-vol b { font-size: var(--fs-sm); color: var(--tx-1); }
.pot-row-vol small { font-size: var(--fs-2xs); color: var(--tx-3, var(--tx-2)); }
.pot-row-st { display: inline-flex; align-items: center; gap: 5px; flex-shrink: 0; font-size: var(--fs-2xs); font-weight: var(--fw-dato); color: var(--c); }
.pot-empty { padding: var(--sp-8) var(--sp-4); text-align: center; color: var(--tx-2); font-size: var(--fs-sm); }
.pot-drawer { max-width: 480px; width: 100%; }
.pot-dr-head { display: flex; align-items: flex-start; gap: var(--sp-3); margin-bottom: var(--sp-3); }
.pot-dr-ico { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex-shrink: 0; border-radius: var(--radius); color: var(--c); background: color-mix(in srgb, var(--c) 16%, transparent); font-size: var(--fs-lg); }
.pot-dr-tt { flex: 1; min-width: 0; }
.pot-dr-name { font-size: var(--fs-lg); font-weight: var(--fw-fuerte); color: var(--tx-1); }
.pot-dr-sub { font-size: var(--fs-xs); color: var(--tx-2); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.pot-dr-badge { display: inline-flex; align-items: center; gap: 5px; font-weight: var(--fw-dato); color: var(--c); }
.pot-dr-x { margin-left: auto; background: none; border: none; cursor: pointer; color: var(--tx-2); font-size: var(--fs-base); padding: 4px; }
.pot-dr-warn { font-size: var(--fs-2xs); color: #b45309; background: rgba(245,158,11,.12); border-radius: var(--radius); padding: 8px 10px; margin-bottom: var(--sp-2); }
.pot-dr-vol { text-align: center; padding: var(--sp-3); border-radius: var(--radius); background: color-mix(in srgb, var(--gold-ink, #d4a017) 8%, transparent); margin-bottom: var(--sp-2); }
.pot-dr-vol-n { font-size: var(--fs-2xl, 2rem); font-weight: var(--fw-fuerte); color: var(--gold-ink, #d4a017); line-height: 1; }
.pot-dr-vol-l { font-size: var(--fs-2xs); color: var(--tx-2); margin-top: 4px; }
.pot-live { font-size: var(--fs-xs); color: var(--tx-1); background: rgba(59,130,246,.10); border-radius: var(--radius); padding: 8px 10px; margin-bottom: var(--sp-2); }
.pot-live small { color: var(--tx-2); }
.pot-dr-links { display: flex; flex-wrap: wrap; gap: var(--sp-1); margin-bottom: var(--sp-3); }
.pot-dl { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-2xs); font-weight: var(--fw-detalle); color: var(--tx-1); background: var(--surface-2, rgba(140,140,148,.12)); padding: 6px 10px; border-radius: var(--radius-pill); text-decoration: none; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pot-dl:hover { background: var(--surface-3, rgba(140,140,148,.2)); }
.pot-dr-notes-l { font-size: var(--fs-2xs); font-weight: var(--fw-dato); text-transform: uppercase; letter-spacing: .06em; color: var(--tx-2); }
.pot-dr-notes { width: 100%; min-height: 64px; margin: 4px 0 var(--sp-3); padding: 10px; border-radius: var(--radius); border: 1px solid var(--br, rgba(140,140,148,.2)); background: var(--sf3, var(--bg)); color: var(--tx-1); font: inherit; font-size: var(--fs-sm); resize: vertical; }
.pot-dr-actions { display: flex; flex-wrap: wrap; gap: var(--sp-1); }
.pot-btn { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; padding: 9px 13px; border-radius: var(--radius); border: 1px solid var(--br, rgba(140,140,148,.2)); background: var(--sf3, rgba(140,140,148,.06)); color: var(--tx-1); font-size: var(--fs-xs); font-weight: var(--fw-dato); }
.pot-btn:active { transform: scale(.97); }
.pot-btn-q.on { background: var(--accent); border-color: var(--accent); color: #161616; }
.pot-btn-x.on { background: #6b7280; border-color: #6b7280; color: #fff; }
.pot-btn-go { margin-left: auto; background: #10b981; border-color: #10b981; color: #fff; }
.pot-btn-go[disabled] { opacity: .55; cursor: default; }
.pot-dr-foot { margin-top: var(--sp-3); font-size: var(--fs-2xs); color: var(--tx-3, var(--tx-2)); display: flex; align-items: center; gap: 6px; }
@media (max-width: 860px) {
  .pot-split { grid-template-columns: 1fr; }
  .pot-mapwrap { min-height: 44vh; }
  .pot-listwrap { max-height: none; }
  .pot-tb-search { margin-left: 0; max-width: none; }
}
.conv-funnel { display: flex; gap: var(--sp-2); flex-wrap: wrap; margin-bottom: var(--sp-3); }
.conv-fcell { flex: 1; min-width: 92px; background: var(--sf3, rgba(140,140,148,.06)); border-radius: var(--radius); padding: 10px 12px; text-align: center; }
.conv-fn { display: block; font-size: var(--fs-xl, 1.4rem); font-weight: var(--fw-fuerte); line-height: 1; }
.conv-fl { font-size: var(--fs-2xs); color: var(--tx-2); }
.conv-split { display: grid; grid-template-columns: 320px 1fr; gap: var(--sp-3); align-items: stretch; min-height: 60vh; }
.conv-listwrap { display: flex; flex-direction: column; gap: var(--sp-2); max-height: 66vh; overflow-y: auto; }
.conv-new { display: inline-flex; align-items: center; justify-content: center; gap: 7px; cursor: pointer; padding: 10px; border-radius: var(--radius); border: 1px dashed var(--br, rgba(140,140,148,.3)); background: transparent; color: var(--tx-1); font-size: var(--fs-xs); font-weight: var(--fw-dato); }
.conv-new:hover { background: var(--surface-2, rgba(140,140,148,.1)); }
.conv-trow { display: flex; align-items: center; gap: var(--sp-2); cursor: pointer; padding: 10px; border-radius: var(--radius); border: 1px solid transparent; }
.conv-trow:hover { background: var(--surface-2, rgba(140,140,148,.1)); }
.conv-trow.on { background: color-mix(in srgb, var(--gold-ink, #d4a017) 12%, transparent); border-color: color-mix(in srgb, var(--gold-ink, #d4a017) 30%, transparent); }
.conv-tav { width: 32px; height: 32px; flex-shrink: 0; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--surface-2, rgba(140,140,148,.14)); color: var(--tx-2); }
.conv-tmain { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.conv-tname { font-weight: var(--fw-dato); font-size: var(--fs-sm); color: var(--tx-1); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.conv-tsub { font-size: var(--fs-2xs); color: var(--tx-2); }
.conv-tdot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.conv-chatwrap { display: flex; flex-direction: column; background: var(--sf3, rgba(140,140,148,.05)); border-radius: var(--radius-lg, 16px); border: 1px solid var(--br, rgba(140,140,148,.16)); overflow: hidden; min-height: 60vh; max-height: 72vh; }
.conv-chat-head { display: flex; align-items: center; gap: var(--sp-2); padding: var(--sp-3) var(--sp-4); border-bottom: 1px solid var(--br, rgba(140,140,148,.16)); }
.conv-ch-tt { flex: 1; min-width: 0; }
.conv-ch-name { font-weight: var(--fw-fuerte); font-size: var(--fs-md); color: var(--tx-1); }
.conv-ch-sub { font-size: var(--fs-2xs); color: var(--tx-2); display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.conv-ch-badge { display: inline-flex; align-items: center; gap: 5px; font-weight: var(--fw-dato); color: var(--c); }
.conv-takeover { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; padding: 7px 12px; border-radius: var(--radius-pill); border: 1px solid var(--br, rgba(140,140,148,.25)); background: transparent; color: var(--tx-1); font-size: var(--fs-2xs); font-weight: var(--fw-dato); }
.conv-takeover.on { background: rgba(168,85,247,.16); border-color: rgba(168,85,247,.4); color: #a855f7; }
.conv-msgs { flex: 1; overflow-y: auto; padding: var(--sp-4); display: flex; flex-direction: column; gap: var(--sp-3); }
.conv-msg { display: flex; flex-direction: column; max-width: 78%; }
.conv-m-user { align-self: flex-start; }
.conv-m-ai { align-self: flex-end; align-items: flex-end; }
.conv-m-human { align-self: flex-end; align-items: flex-end; }
.conv-msg-who { font-size: var(--fs-2xs); font-weight: var(--fw-dato); color: var(--tx-3, var(--tx-2)); margin-bottom: 3px; text-transform: uppercase; letter-spacing: .04em; }
.conv-ai-tag { text-transform: none; letter-spacing: 0; color: #10b981; font-weight: var(--fw-detalle); }
.conv-msg-bubble { padding: 10px 13px; border-radius: 14px; font-size: var(--fs-sm); line-height: 1.45;
  overflow-wrap: anywhere; white-space: pre-wrap; min-width: 0; }
.conv-m-user .conv-msg-bubble { background: var(--surface-2, rgba(140,140,148,.16)); color: var(--tx-1); border-bottom-left-radius: 4px; }
.conv-m-ai .conv-msg-bubble { background: var(--accent); color: #1c1c1c; border-bottom-right-radius: 4px; }
.conv-m-human .conv-msg-bubble { background: #a855f7; color: #fff; border-bottom-right-radius: 4px; }
.conv-typing { display: inline-flex; gap: 4px; align-items: center; }
.conv-typing span { width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,.8); animation: conv-blink 1.2s infinite ease-in-out; }
.conv-typing span:nth-child(2) { animation-delay: .2s; }
.conv-typing span:nth-child(3) { animation-delay: .4s; }
@keyframes conv-blink { 0%,80%,100% { opacity: .3; } 40% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .conv-typing span { animation: none; opacity: .6; } }
.conv-inputbar { border-top: 1px solid var(--br, rgba(140,140,148,.16)); padding: var(--sp-2) var(--sp-3) var(--sp-3); }
.conv-mode { font-size: var(--fs-2xs); color: var(--tx-2); margin-bottom: 6px; }
.conv-mode.human { color: #a855f7; }
.conv-inputrow { display: flex; gap: var(--sp-2); align-items: flex-end; }
.conv-input { flex: 1; resize: none; min-height: 44px; max-height: 120px; padding: 11px 12px; border-radius: var(--radius); border: 1px solid var(--br, rgba(140,140,148,.25)); background: var(--bg); color: var(--tx-1); font: inherit; font-size: var(--fs-sm); }
.conv-send { flex-shrink: 0; width: 44px; height: 44px; border-radius: 50%; border: none; cursor: pointer; background: var(--gold-ink, #d4a017); color: #1c1c1c; font-size: var(--fs-base); }
.conv-send:active { transform: scale(.94); }
.conv-empty { padding: var(--sp-8) var(--sp-4); text-align: center; color: var(--tx-2); font-size: var(--fs-sm); }
.conv-chat-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--sp-2); height: 100%; }
.conv-chat-empty i { font-size: 2rem; opacity: .4; }
.conv-ch-av { position: relative; width: 40px; height: 40px; flex-shrink: 0; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-weight: var(--fw-fuerte); font-size: var(--fs-sm); background: var(--surface-2, rgba(140,140,148,.18)); color: var(--tx-1); }
.conv-ch-av-badge { position: absolute; right: -2px; bottom: -2px; width: 17px; height: 17px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size:var(--fs-sm); color: #fff; background: var(--tx-2); border: 2px solid var(--bg, #fff); }
.conv-tag { font-size:var(--fs-xs); border: 1px solid currentColor; opacity: .5; border-radius: 6px; padding: 0 5px; }
.conv-consent { display:inline-flex; align-items:center; gap:4px; font-size:var(--fs-2xs); font-weight: var(--fw-dato); border-radius:var(--radius-pill); padding:1px 8px; }
.conv-consent.ok   { color:#16a34a; background:color-mix(in srgb, #16a34a 14%, transparent); }
.conv-consent.none { color:#f59e0b; background:color-mix(in srgb, #f59e0b 14%, transparent); }
.conv-consent.off  { color:#ef4444; background:color-mix(in srgb, #ef4444 14%, transparent); }
.conv-consent-x { font-size:var(--fs-2xs); font-weight: var(--fw-dato); border:1px solid var(--br-2); background:transparent; color:var(--tx-2); border-radius:var(--radius-pill); padding:1px 8px; cursor:pointer; }
.conv-consent-x:hover { color:var(--tx); background:var(--sf2); }
.conv-skin-whatsapp .conv-consent-x { color:rgba(255,255,255,.85); border-color:rgba(255,255,255,.3); }
.conv-skin-whatsapp .conv-chat-head { background: #075e54; }
.conv-skin-whatsapp .conv-ch-name, .conv-skin-whatsapp .conv-ch-sub { color: #fff; }
.conv-skin-whatsapp .conv-ch-sub { opacity: .92; }
.conv-skin-whatsapp .conv-ch-av { background: #128c7e; color: #fff; }
.conv-skin-whatsapp .conv-ch-av-badge { background: #25d366; border-color: #075e54; }
.conv-skin-whatsapp .conv-takeover { background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.32); color: #fff; }
.conv-skin-whatsapp .conv-msgs { background: #efeae2; background-image: radial-gradient(rgba(0,0,0,.028) 1px, transparent 1px); background-size: 22px 22px; }
.conv-skin-whatsapp .conv-msg-who { color: #667781; }
.conv-skin-whatsapp .conv-msg-bubble { border-radius: 8px; }
.conv-skin-whatsapp .conv-m-user .conv-msg-bubble { background: #fff; color: #111b21; box-shadow: 0 1px .5px rgba(11,20,26,.13); border-bottom-left-radius: 2px; }
.conv-skin-whatsapp .conv-m-ai .conv-msg-bubble, .conv-skin-whatsapp .conv-m-human .conv-msg-bubble { background: #d9fdd3; color: #111b21; box-shadow: 0 1px .5px rgba(11,20,26,.13); border-bottom-right-radius: 2px; }
.conv-skin-whatsapp .conv-send { background: #00a884; color: #fff; }
[data-theme="dark"] .conv-skin-whatsapp .conv-msgs { background: #0b141a; background-image: radial-gradient(rgba(255,255,255,.03) 1px, transparent 1px); }
[data-theme="dark"] .conv-skin-whatsapp .conv-m-user .conv-msg-bubble { background: #202c33; color: #e9edef; }
[data-theme="dark"] .conv-skin-whatsapp .conv-m-ai .conv-msg-bubble, [data-theme="dark"] .conv-skin-whatsapp .conv-m-human .conv-msg-bubble { background: #005c4b; color: #e9edef; }
[data-theme="dark"] .conv-skin-whatsapp .conv-msg-who { color: #8696a0; }
.conv-skin-instagram .conv-ch-av { background: #efefef; color: #262626; box-shadow: 0 0 0 2px var(--bg,#fff), 0 0 0 4px #e1306c; }
.conv-skin-instagram .conv-ch-av-badge { background: linear-gradient(135deg,#feda75,#d62976 50%,#962fbf); border-color: var(--bg,#fff); }
.conv-skin-instagram .conv-msg-bubble { border-radius: 20px; }
.conv-skin-instagram .conv-m-user .conv-msg-bubble { background: #efefef; color: #262626; border-bottom-left-radius: 6px; }
.conv-skin-instagram .conv-m-ai .conv-msg-bubble, .conv-skin-instagram .conv-m-human .conv-msg-bubble { background: linear-gradient(95deg,#5b51d8,#962fbf 45%,#d62976 80%,#fa7e1e); color: #fff; border-bottom-right-radius: 6px; box-shadow: none; }
.conv-skin-instagram .conv-send { background: linear-gradient(95deg,#5b51d8,#d62976 70%,#fa7e1e); color: #fff; }
.conv-skin-instagram .conv-msg-who { color: #8e8e8e; }
[data-theme="dark"] .conv-skin-instagram .conv-chatwrap, [data-theme="dark"] .conv-skin-instagram .conv-msgs, [data-theme="dark"] .conv-skin-instagram .conv-chat-head { background: #000; }
[data-theme="dark"] .conv-skin-instagram .conv-ch-av { background: #262626; color: #fafafa; box-shadow: 0 0 0 2px #000, 0 0 0 4px #e1306c; }
[data-theme="dark"] .conv-skin-instagram .conv-m-user .conv-msg-bubble { background: #262626; color: #fafafa; }
.conv-skin-email .conv-ch-av { background: #ea4335; color: #fff; }
.conv-skin-email .conv-ch-av-badge { background: #ea4335; }
.conv-skin-email .conv-msgs { background: var(--sf3, rgba(140,140,148,.05)); gap: var(--sp-2); }
.conv-skin-email .conv-msg { max-width: 100%; align-self: stretch; align-items: stretch; }
.conv-skin-email .conv-msg-bubble { background: var(--bg,#fff); color: var(--tx-1); border: 1px solid var(--br, rgba(140,140,148,.18)); border-radius: 10px; padding: 12px 14px; box-shadow: 0 1px 2px rgba(0,0,0,.04); }
.conv-skin-email .conv-send { background: #1a73e8; color: #fff; }
.conv-header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--sp-3); flex-wrap: wrap; }
.conv-head-actions { display: inline-flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; }
.lucia-switch { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; padding: 7px 13px 7px 9px; border-radius: var(--radius-pill); border: 1px solid var(--br-2); background: var(--sf2); font-size: var(--fs-xs); font-weight: var(--fw-fuerte); flex-shrink: 0; transition: background var(--ease), border-color var(--ease); }
.lucia-switch:active { transform: scale(.97); }
.lucia-switch-track { position: relative; width: 38px; height: 22px; border-radius: 999px; background: #ef4444; transition: background var(--ease); flex: none; }
.lucia-switch-knob { position: absolute; top: 2px; left: 2px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.3); transition: left var(--ease); }
.lucia-switch-lbl { color: #ef4444; display: inline-block; min-width: 7.6em; text-align: left; }
#conv-canales { --conv-chips-h: 36px; min-height: var(--conv-chips-h); margin-bottom: var(--sp-2); }
#conv-canales .bx-ck-chips { margin-bottom: 0; }
.conv-skel-chips { height: var(--conv-chips-h); min-height: 0; max-width: 520px; margin-bottom: 0; }
#conv-canales .conv-skel-chips { height: var(--conv-chips-h); min-height: 0; }
.conv-skel-funnel { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--sp-3); margin-bottom: var(--sp-4); }
.conv-skel-funnel > .cm-skel { height: 66px; }
.conv-skel-list { display: flex; flex-direction: column; gap: var(--sp-2); }
.conv-skel-list > .cm-skel { height: 52px; }
.lucia-switch.on  .lucia-switch-track { background: #16a34a; }
.lucia-switch.on  .lucia-switch-knob  { left: 18px; }
.lucia-switch.on  .lucia-switch-lbl   { color: #16a34a; }
.lucia-switch.on  { border-color: color-mix(in srgb, #16a34a 40%, transparent); background: color-mix(in srgb, #16a34a 10%, transparent); }
.lucia-switch.off { border-color: color-mix(in srgb, #ef4444 40%, transparent); background: color-mix(in srgb, #ef4444 10%, transparent); }
.lucia-ov { display: none; position: fixed; inset: 0; z-index: 1200; background: var(--scrim, rgba(0,0,0,.5)); backdrop-filter: blur(4px); align-items: center; justify-content: center; padding: var(--sp-4); }
.lucia-card { width: min(760px, 96vw); max-height: 88vh; overflow-y: auto; background: var(--bg, #fff); border: 1px solid var(--br, rgba(140,140,148,.18)); border-radius: var(--radius-lg, 16px); box-shadow: 0 24px 60px rgba(0,0,0,.28); padding: var(--sp-5); animation: none;   }
@keyframes luciaIn { from { opacity: 0; transform: scale(.96) translateY(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .lucia-card { animation: none; } }
.lucia-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--sp-3); margin-bottom: var(--sp-4); }
.lucia-title { font-size: var(--fs-lg, 1.2rem); font-weight: var(--fw-fuerte); color: var(--tx-1); display: flex; align-items: center; gap: 8px; }
.lucia-title i { color: var(--gold-ink, #d4a017); }
.lucia-sub { font-size: var(--fs-2xs); color: var(--tx-2); margin-top: 4px; line-height: 1.5; max-width: 60ch; }
.lucia-x { flex-shrink: 0; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--br, rgba(140,140,148,.25)); background: transparent; color: var(--tx-2); cursor: pointer; }
.lucia-x:hover { background: var(--surface-2, rgba(140,140,148,.12)); }
.chan-modal { width: min(680px, 96vw); max-height: 88vh; overflow-y: auto; background: var(--bg, #fff); border: 1px solid var(--br); border-radius: var(--radius); box-shadow: 0 24px 60px rgba(0,0,0,.28); padding: var(--sp-5); animation: none;   }
.chan-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--sp-3); margin-bottom: var(--sp-4); }
.chan-title { font-size: var(--fs-xl); font-weight: var(--fw-fuerte); display: flex; align-items: center; gap: 8px; color: var(--tx); }
.chan-sub { font-size: var(--fs-sm); color: var(--tx-2); margin-top: 2px; }
.chan-list { display: flex; flex-direction: column; gap: var(--sp-3); }
.chan-card { border: 1px solid var(--br); border-radius: var(--radius-sm); padding: var(--sp-4); background: var(--sf2); }
.chan-card-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: var(--sp-2); }
.chan-ico { width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; background: color-mix(in srgb, var(--cc) 16%, transparent); color: var(--cc); flex: none; }
.chan-name { font-size: var(--fs-lg); font-weight: var(--fw-fuerte); color: var(--tx); }
.chan-dot { width: 11px; height: 11px; border-radius: 50%; background: var(--d); box-shadow: 0 0 0 3px color-mix(in srgb, var(--d) 22%, transparent); flex: none; }
.chan-status { font-size: var(--fs-xs); color: var(--tx-2); flex: 1 1 100%; }
.chan-steps { list-style: none; margin: var(--sp-2) 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.chan-steps li { display: flex; align-items: flex-start; gap: 8px; font-size: var(--fs-sm); color: var(--tx-2); line-height: 1.4; }
.chan-steps b { color: var(--tx); }
.chan-step-n { flex: none; width: 18px; height: 18px; border-radius: 50%; background: var(--sf3); color: var(--tx-2); font-size: var(--fs-2xs); font-weight: var(--fw-fuerte); display: grid; place-items: center; margin-top: 1px; }
.chan-form { display: flex; flex-direction: column; gap: 7px; margin-top: var(--sp-3); }
.chan-input { width: 100%; padding: 9px 12px; border: 1px solid var(--br-2); border-radius: var(--radius-sm); background: var(--bg); color: var(--tx); font-size: var(--fs-sm); font-family: var(--font); }
.chan-input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-bg); }
.chan-connect { align-self: flex-start; display: inline-flex; align-items: center; gap: 7px; padding: 9px 16px; border: 0; border-radius: var(--radius-pill); background: var(--accent); color: #1c1c1c; font-weight: var(--fw-fuerte); font-size: var(--fs-sm); cursor: pointer; }
.chan-connect:active { transform: scale(.97); }
.chan-wh { display: flex; align-items: center; gap: 8px; margin-top: var(--sp-3); flex-wrap: wrap; }
.chan-wh-lbl { font-size: var(--fs-2xs); font-weight: var(--fw-dato); text-transform: uppercase; letter-spacing: .05em; color: var(--tx-3); }
.chan-wh-url { flex: 1; min-width: 0; font-size: var(--fs-2xs); color: var(--tx-2); background: var(--sf3); border-radius: 6px; padding: 5px 8px; overflow-x: auto; white-space: nowrap; }
.chan-wh-copy { flex: none; border: 1px solid var(--br-2); background: transparent; color: var(--tx-2); border-radius: 8px; padding: 5px 9px; cursor: pointer; }
.chan-wh-copy:hover { background: var(--sf3); color: var(--tx); }
.lucia-cols { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-3); }
.lucia-col { border-radius: var(--radius); padding: var(--sp-3); background: var(--sf2); display: flex; flex-direction: column; }
.lucia-colh { font-weight: var(--fw-fuerte); font-size: var(--fs-sm); color: var(--lc); display: flex; align-items: center; gap: 7px; margin-bottom: var(--sp-2); }
.lucia-count { margin-left: auto; font-size: var(--fs-2xs); font-weight: var(--fw-dato); background: color-mix(in srgb, var(--lc) 16%, transparent); color: var(--lc); border-radius: var(--radius-pill); padding: 1px 8px; }
.lucia-list { display: flex; flex-direction: column; gap: 6px; min-height: 40px; margin-bottom: var(--sp-2); }
.lucia-row { display: flex; align-items: flex-start; gap: 8px; background: var(--bg, #fff); border: 1px solid var(--br, rgba(140,140,148,.16)); border-radius: 10px; padding: 9px 11px; font-size: var(--fs-2xs); color: var(--tx-1); line-height: 1.4; }
.lucia-row span { flex: 1; }
.lucia-del { flex-shrink: 0; width: 22px; height: 22px; border-radius: 50%; border: none; background: transparent; color: var(--tx-3, var(--tx-2)); cursor: pointer; font-size:var(--fs-sm); }
.lucia-del:hover { background: color-mix(in srgb, #ef4444 14%, transparent); color: #ef4444; }
.lucia-empty { font-size: var(--fs-2xs); color: var(--tx-2); font-style: italic; line-height: 1.5; padding: 6px 2px; }
.lucia-add { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; cursor: pointer; padding: 7px 12px; border-radius: var(--radius-pill); border: 1px dashed color-mix(in srgb, var(--lc) 45%, transparent); background: transparent; color: var(--lc); font-size: var(--fs-2xs); font-weight: var(--fw-dato); }
.lucia-add:hover { background: color-mix(in srgb, var(--lc) 10%, transparent); }
.lucia-add:active { transform: scale(.97); }
@media (max-width: 620px) { .lucia-cols { grid-template-columns: 1fr; } }
@media (max-width: 860px) {
  .conv-split { grid-template-columns: 1fr; }
  .conv-listwrap { max-height: 40vh; overflow-y: auto; }
  .conv-chatwrap { min-height: 56vh; }
}
.gm-com-sum { display: flex; gap: var(--sp-2); flex-wrap: wrap; margin-bottom: var(--sp-3); }
.gm-com-stat { flex: 1; min-width: 80px; text-align: center; padding: 8px; border-radius: var(--radius); background: rgba(255,255,255,.04); }
.gm-com-n { display: block; font-size: var(--fs-xl, 1.4rem); font-weight: var(--fw-fuerte); line-height: 1; }
.gm-com-l { font-size: var(--fs-2xs); color: rgba(244,244,244,.55); text-transform: uppercase; letter-spacing: .04em; }
.gm-com-list { display: flex; flex-direction: column; gap: 8px; }
.gm-com-row { display: flex; align-items: flex-start; gap: var(--sp-3); padding: 10px 12px; border-radius: var(--radius); background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.06); }
.gm-com-row.ver { opacity: .6; }
.gm-com-badge { display: inline-flex; align-items: center; gap: 5px; flex-shrink: 0; font-size: var(--fs-2xs); font-weight: var(--fw-fuerte); color: var(--c); background: color-mix(in srgb, var(--c) 14%, transparent); padding: 4px 9px; border-radius: var(--radius-pill); white-space: nowrap; }
.gm-com-main { flex: 1; min-width: 0; }
.gm-com-txt { font-size: var(--fs-sm); color: rgba(244,244,244,.92); line-height: 1.4; }
.gm-com-meta { font-size: var(--fs-2xs); color: rgba(244,244,244,.45); margin-top: 3px; text-transform: uppercase; letter-spacing: .03em; }
.gm-com-res { font-size: var(--fs-2xs); color: #10b981; margin-top: 5px; display: flex; align-items: flex-start; gap: 5px; }
.gm-com-actions { display: flex; flex-direction: column; gap: 5px; flex-shrink: 0; }
.gm-com-vbtn { display: inline-flex; align-items: center; gap: 5px; cursor: pointer; padding: 6px 11px; border-radius: var(--radius-pill); border: 1px solid rgba(16,185,129,.4); background: transparent; color: #10b981; font-size: var(--fs-2xs); font-weight: var(--fw-dato); white-space: nowrap; }
.gm-com-vbtn.on { background: #10b981; color: #fff; border-color: #10b981; }
.gm-com-vbtn:active, .gm-com-rbtn:active { transform: scale(.95); }
.gm-com-rbtn { cursor: pointer; padding: 6px 9px; border-radius: var(--radius-pill); border: 1px solid rgba(255,255,255,.14); background: transparent; color: rgba(244,244,244,.6); font-size: var(--fs-2xs); }
@media (max-width: 640px) {
  .gm-com-row { flex-wrap: wrap; }
  .gm-com-actions { flex-direction: row; }
}
html.bx-privacy #content,
html.bx-privacy #rank-banner {
  filter: blur(9px);
  -webkit-filter: blur(9px);
  user-select: none;
  transition: filter .18s var(--ease-out, ease);
}
html.bx-privacy body::after {
  content: "\f070";
  font-family: "Font Awesome 6 Free"; font-weight: var(--fw-black);
  position: fixed; top: 46%; left: 50%; transform: translate(-50%, -50%);
  font-size: 44px; color: rgba(140, 140, 150, .55); z-index: 55; pointer-events: none;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .3);
}
#privacy-btn.on { color: var(--accent); }
@media (prefers-reduced-motion: reduce) {
  html.bx-privacy .kpi-value, html.bx-privacy .kpi-change, html.bx-privacy .kpi-footer,
  html.bx-privacy .bx-priv, html.bx-privacy [data-priv] { transition: none; }
}
.gm-com-tags { display: flex; flex-direction: column; gap: 5px; flex-shrink: 0; align-items: flex-start; }
.gm-com-src { font-size: var(--fs-2xs); font-weight: var(--fw-fuerte); text-transform: uppercase; letter-spacing: .04em; color: #fff; background: var(--c); padding: 2px 8px; border-radius: var(--radius-pill); white-space: nowrap; }
.gm-com-see { display: inline-flex; align-items: center; gap: 5px; cursor: pointer; padding: 6px 11px; border-radius: var(--radius-pill); border: 1px solid rgba(255,255,255,.16); background: transparent; color: rgba(244,244,244,.82); font-size: var(--fs-2xs); font-weight: var(--fw-dato); white-space: nowrap; }
.gm-com-see:active { transform: scale(.95); }
.bx-flash { animation: bxFlash 1.25s var(--ease-out, ease-out) 1; border-radius: var(--radius); }
@keyframes bxFlash {
  0%   { outline: 3px solid var(--accent); outline-offset: 4px; background-color: color-mix(in srgb, var(--accent) 20%, transparent); }
  70%  { outline: 3px solid var(--accent); outline-offset: 4px; }
  100% { outline: 3px solid transparent; outline-offset: 4px; background-color: transparent; }
}
@media (prefers-reduced-motion: reduce) { .bx-flash { animation: none; outline: 3px solid var(--accent); outline-offset: 4px; } }
.cbw-lock{position:fixed;inset:0;z-index:2147483000;cursor:not-allowed;background:transparent;}
.cbw-badge{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:2147483001;display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--radius-pill);background:rgba(18,18,24,.82);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255, 191, 16, calc(.35 * var(--glow, 1)));color:#fff;font-family:var(--font);font-size: var(--fs-xs);font-weight: var(--fw-detalle);box-shadow:0 8px 30px rgba(0,0,0,.4);pointer-events:none;}
.cbw-badge b{color:var(--accent);}
.cbw-dot{width:8px;height:8px;border-radius:50%;background:#ff4d4d;animation:cbw-pulse 1.6s ease-out infinite;}
@keyframes cbw-pulse{0%{box-shadow:0 0 0 0 rgba(255,77,77,.5)}100%{box-shadow:0 0 0 9px rgba(255,77,77,0)}}
@media (prefers-reduced-motion: reduce){.cbw-dot{animation:none;}}
.cbw-frame{position:absolute;inset:0;width:100%;height:100%;border:0;background:#0a0a0c;z-index:5;}
.cbw-audio{position:absolute !important;right:16px;bottom:16px;width:240px;height:150px;z-index:6;border-radius:14px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.55);}
.cbw-ctrls{position:absolute;top:12px;right:16px;z-index:7;display:flex;gap:8px;}
.cbw-ctrls button{min-height:44px;padding:9px 15px;border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.18);background:rgba(18,18,24,.85);color:#fff;font-family:var(--font);font-weight: var(--fw-dato);font-size:var(--fs-base);cursor:pointer;}
.cbw-ctrls button:hover{border-color:var(--accent);}
.cbw-go-btn{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:8px 14px;border-radius:var(--radius-pill);border:none;background:var(--sf2);color:var(--accent);font-family:var(--font);font-weight: var(--fw-dato);font-size:var(--fs-base);cursor:pointer;}
.cbw-go-btn:hover{background:color-mix(in srgb, var(--accent) 20%, transparent);}
.cbw-grant{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:2147483002;display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:var(--radius-pill);background:rgba(18,18,24,.9);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.14);box-shadow:0 10px 36px rgba(0,0,0,.5);font-family:var(--font);color:#fff;font-size:var(--fs-base);font-weight: var(--fw-dato);}
.cbw-grant-lbl{display:flex;align-items:center;gap:7px;}
.cbw-grant-lbl i{color:var(--accent);}
.cbw-grant-sw{position:relative;width:50px;height:30px;border-radius:999px;border:none;background:#5a5a66;cursor:pointer;transition:background .2s;flex-shrink:0;padding:0;}
.cbw-grant-knob{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.4);}
.cbw-grant-sw.on{background:var(--accent);}
.cbw-grant-sw.on .cbw-grant-knob{transform:translateX(20px);}
.cbw-badge-free{border-color:rgba(22,163,74,.45)!important;}
@media (max-width:600px){.cbw-grant{bottom:10px;font-size:var(--fs-sm);padding:9px 12px;gap:8px;}}
.cbw-test-ov{position:fixed;inset:0;z-index:2147483400;background:var(--scrim,rgba(0,0,0,.55));display:flex;align-items:center;justify-content:center;padding:16px;}
.cbw-test-box{background:var(--sf);border:1px solid var(--br);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;max-width:880px;max-height:92vh;overflow:auto;padding:18px 20px;}
.cbw-test-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.cbw-test-head b{font-size:var(--fs-lg);color:var(--tx);}
.cbw-test-x{width:40px;height:40px;border:none;background:var(--sf3);border-radius:50%;color:var(--tx-2);font-size:20px;cursor:pointer;flex-shrink:0;}
.cbw-test-checks{display:flex;flex-direction:column;gap:9px;margin-bottom:14px;}
.cbw-test-row{display:flex;align-items:center;gap:10px;font-size:var(--fs-md);color:var(--tx);font-weight: var(--fw-detalle);}
.cbw-test-ico{width:20px;display:inline-flex;justify-content:center;color:var(--tx-3);}
.cbw-test-frames{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.cbw-test-col{display:flex;flex-direction:column;gap:6px;min-width:0;}
.cbw-test-lbl{font-size:var(--fs-2xs);font-weight: var(--fw-dato);text-transform:uppercase;letter-spacing:.05em;color:var(--tx-3);}
.cbw-test-frame{width:100%;height:300px;border:1px solid var(--br);border-radius:var(--radius-sm);background:#0a0a0c;}
.cbw-test-note{margin-top:12px;font-size:var(--fs-sm);color:var(--tx-2);}
@media (max-width:760px){.cbw-test-frames{grid-template-columns:1fr;}.cbw-test-frame{height:220px;}}
.cbw-msim-btn{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#fff;border-radius:var(--radius-pill);font-size:var(--fs-sm);font-weight: var(--fw-dato);padding:7px 12px;cursor:pointer;font-family:var(--font);}
.cbw-msim-btn.on{background:color-mix(in srgb, var(--accent) 22%, transparent);border-color:color-mix(in srgb, var(--accent) 50%, transparent);color:var(--accent);}
.cbw-msim{position:fixed;inset:0;z-index:2147482000;display:flex;align-items:center;justify-content:center;background:rgba(8,8,12,.62);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);}
.cbw-msim-phone{width:390px;max-width:92vw;height:80vh;max-height:760px;background:var(--bg);border:8px solid #15151b;border-radius:34px;box-shadow:0 30px 90px rgba(0,0,0,.6);overflow:hidden;display:flex;flex-direction:column;}
.cbw-msim-bar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--gold-ink,var(--accent));font-weight: var(--fw-dato);font-size: var(--fs-xs);font-family:var(--font);}
.cbw-msim-x{background:none;border:0;color:var(--tx);font-size:var(--fs-2xl);line-height:1;cursor:pointer;padding:0 4px;}
.cbw-msim-screen{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:none;padding:8px;}
.ai-messages, .ai-input, .aip-textarea,
.gm-w-body, .gm-chat-history,
.drawer, .drawer-body,
.kpix-cost-list, .kpix-chat-msgs, .kpix-entmod,
.tk-msgs, .tk-list-scroll,
.dist-selector-list, .gs-dropdown,
.prod-modal-box, .cf-prods, .cf-slide,
.pot-listwrap, .conv-listwrap, .conv-msgs {
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
#content, .content { touch-action: pan-y; }
#bx-ai-layer { position: fixed; inset: 0; z-index: 9500; pointer-events: none; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.bx-ai-box {
  position: fixed;
  border: 1.5px solid var(--ai-c, #9aa0a6);
  border-radius: 6px;
  background: color-mix(in srgb, var(--ai-c, #9aa0a6) 7%, transparent);
  box-shadow: 0 0 0 1px rgba(0,0,0,.35);
}
.bx-ai-tag {
  position: absolute; top: 0; left: -1.5px; transform: translateY(-100%);
  background: var(--ai-c, #9aa0a6); color: #0b0b0d;
  font-size:var(--fs-sm); font-weight: var(--fw-fuerte); letter-spacing: .05em; line-height: 1.55;
  padding: 1px 6px; border-radius: 5px 5px 5px 0; white-space: nowrap;
}
.bx-ai-legend {
  position: fixed; bottom: 16px; left: 50%; transform: translateX(-50%);
  display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; max-width: 92vw;
  background: rgba(14,14,18,.93); border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px; padding: 8px 14px; box-shadow: 0 8px 30px rgba(0,0,0,.5);
}
.bx-ai-leg-item { display: inline-flex; align-items: center; gap: 6px; color: #e6e6ea; font-size:var(--fs-xs); font-weight: var(--fw-dato); }
.bx-ai-leg-item i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
.bx-ai-leg-empty { color: #9aa0a6; font-size:var(--fs-xs); }
#anim-inspector-btn.active { background: var(--accent); color: #111; }
.bx-ai-tag .bx-ai-dot {
  width: 7px; height: 7px; border-radius: 50%; display: inline-block;
  margin-right: 5px; vertical-align: middle; box-shadow: 0 0 5px currentColor;
}
.bx-ai-fps {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 2px 10px 2px 8px; margin-right: 4px;
  border-radius: 8px; background: rgba(0,0,0,.4);
  border: 1px solid color-mix(in srgb, var(--h, #26d07c) 55%, transparent);
}
.bx-ai-fps > i {
  width: 9px; height: 9px; border-radius: 50%; display: inline-block;
  background: var(--h, #26d07c); box-shadow: 0 0 8px var(--h, #26d07c);
}
.bx-ai-fps-val { color: var(--h, #26d07c); font-size:var(--fs-sm); font-weight: var(--fw-fuerte); font-variant-numeric: tabular-nums; }
.bx-ai-fps-worst { color: #c8ccd2; font-size:var(--fs-2xs); font-weight: var(--fw-detalle); }
.bx-cosecha { position: fixed; inset: 0; z-index: 9600; display: grid; place-items: center; pointer-events: auto; background: rgba(0, 0, 0, .16); animation: none;   }
.bx-cosecha.out { animation: bx-cos-out .3s ease-in forwards; }
@keyframes bx-cos-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes bx-cos-out { to { opacity: 0; } }
.bx-cosecha-cv { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.bx-cosecha-card { position: relative; text-align: center; background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius); padding: var(--sp-6) var(--sp-8); box-shadow: var(--shadow-lg); min-width: 220px; }
.bx-cosecha-emoji { font-size: 46px; line-height: 1; }
.bx-cosecha-title { font-size: var(--fs-lg); font-weight: var(--fw-fuerte); color: var(--tx); margin-top: var(--sp-2); }
.bx-cosecha-amt { font-size: var(--fs-3xl); font-weight: var(--fw-fuerte); color: #e0a90c; margin-top: var(--sp-1); font-variant-numeric: tabular-nums; }
.bx-cosecha-sub { font-size: var(--fs-sm); color: var(--tx-2); margin-top: 2px; }
.res-empty-play { display: block; max-width: 560px; margin: 18px auto 0; }
.bx-bg-wrap {
  width: 100%;
  border-radius: var(--radius-sm);
  overflow: hidden;
  border: 1px solid var(--br);
  background: transparent;
  line-height: 0;                       
}
.bx-bg-canvas {
  display: block;
  width: 100%;
  cursor: pointer;
  outline: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;           
}
.bx-bg-canvas:focus-visible { box-shadow: inset 0 0 0 2px var(--accent); }
.cm-header .cm-head-row { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--sp-4); flex-wrap: wrap; }
.cm-toolbar { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; }
.cm-mode-toggle { display: inline-flex; background: var(--sf2); border: 1px solid var(--br); border-radius: var(--radius-pill); padding: 3px; gap: 2px; }
.cm-mode-btn { border: none; background: transparent; color: var(--tx-2); font-family: var(--font); font-size: var(--fs-sm); font-weight: var(--fw-detalle); padding: 6px 12px; border-radius: var(--radius-pill); cursor: pointer; display: inline-flex; align-items: center; gap: 6px; transition: color .18s var(--ease-out), background .18s var(--ease-out); white-space: nowrap; }
.cm-mode-btn i { font-size:var(--fs-xs); }
.cm-mode-btn:active { transform: scale(.97); }
.cm-mode-btn.active { background: var(--accent); color: #1c1c1c; }
.cm-topscope { flex: 0 0 auto; margin: 0 var(--sp-3) 0 var(--sp-1); align-self: center; }
[data-theme="dark"] .bx-vistas { --bxv-lam: var(--accent); --bxv-lam-tx: #16161a; }
[data-theme="dark"] .bx-vista.on i { color: inherit; }
.cm-scope-cycle { min-width: 128px; justify-content: center; }
.cm-scope-cycle:active { transform: scale(.96); }
.cm-scope-cycle[data-scope="dist"], [data-theme="dark"] .cm-scope-cycle[data-scope="dist"]       { background: var(--red-solid);   border-color: var(--red-solid);   color: #fff; box-shadow: none; }   
.cm-scope-cycle[data-scope="clients"], [data-theme="dark"] .cm-scope-cycle[data-scope="clients"] { background: var(--blue-accent); border-color: var(--blue-accent); color: #fff; box-shadow: none; }
.cm-scope-cycle[data-scope="dist"] i, .cm-scope-cycle[data-scope="clients"] i { opacity: 1; }
.cm-scope-swap i, .cm-scope-swap span { animation: none; }   
.cm-scope-swap span { animation-delay: .03s; }
@keyframes cm-scope-in { from { transform: translateY(7px); } to { transform: none; } }
@media (prefers-reduced-motion: reduce) { .cm-scope-swap i, .cm-scope-swap span { animation: none; } }
@property --cm-tint { syntax: '<color>'; inherits: true; initial-value: transparent; }
@media (prefers-reduced-motion: no-preference) {
  html.bx-tint-ready[data-cm-scope] { transition: --cm-tint .5s var(--ease-out); }   
}
html[data-cm-scope="total"]   { --cm-tint: color-mix(in srgb, var(--accent) 4%, transparent); }
html[data-cm-scope="dist"]    { --cm-tint: color-mix(in srgb, var(--red) 4%, transparent); }
html[data-cm-scope="clients"] { --cm-tint: color-mix(in srgb, var(--blue-accent) 4%, transparent); }
[data-theme="dark"] html[data-cm-scope="total"], html[data-theme="dark"][data-cm-scope="total"]   { --cm-tint: color-mix(in srgb, var(--accent) 3%, transparent); }
html[data-theme="dark"][data-cm-scope="dist"]    { --cm-tint: color-mix(in srgb, var(--red) 3%, transparent); }
html[data-theme="dark"][data-cm-scope="clients"] { --cm-tint: color-mix(in srgb, var(--blue-accent) 3%, transparent); }
html[data-cm-scope] .content { background-image: linear-gradient(180deg, var(--cm-tint) 0%, transparent 36%); }
html[data-cm-scope] #customize-btn, html[data-cm-scope] #privacy-btn, html[data-cm-scope] #anim-inspector-btn { display: none !important; }
.cm-comova-row { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--sp-4); align-items: start; }
.cm-comova-row .cm-health { margin: 0; display: flex; flex-direction: column; justify-content: center; }
@media (max-width: 980px) { .cm-comova-row { grid-template-columns: 1fr; } }
@media (max-width: 980px) { .cm-scope-cycle { min-width: 0; }  }
:root               { --cm-grid-line: rgba(15,23,42,.022); }   
[data-theme="dark"] { --cm-grid-line: rgba(255,255,255,.015); }
.content { position: relative; }
.content::before {
  display: none;   
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image:
    linear-gradient(to right,  var(--cm-grid-line) 1px, transparent 1px),
    linear-gradient(to bottom, var(--cm-grid-line) 1px, transparent 1px);
  background-size: 40px 40px;
  -webkit-mask-image: linear-gradient(to bottom, #000 88%, transparent 100%);
          mask-image: linear-gradient(to bottom, #000 88%, transparent 100%);
}
#cm-root { position: relative; }
:root {
  --cm-aurora-gold: rgba(255,176,40,.22); --cm-aurora-amber: rgba(255,138,48,.13); --cm-aurora-ember: rgba(255,108,56,.08);
  --cm-glass-bg: rgba(255,255,255,.66); --cm-glass-edge: rgba(20,24,40,.10); --cm-glass-blur: 16px;
  --cm-gold-grad: linear-gradient(135deg, #d68f12 0%, var(--gold-ink) 52%, #b67708 100%);  
  --radius-sq: 22px; --radius-sq-lg: 28px;
}
[data-theme="dark"] {
  --cm-aurora-gold: color-mix(in srgb, var(--accent) 34%, transparent); --cm-aurora-amber: rgba(235,150,42,.22); --cm-aurora-ember: rgba(224,83,31,.13);
  --cm-glass-bg: rgba(22,22,28,.55); --cm-glass-edge: rgba(255,255,255,.12);
  --cm-gold-grad: linear-gradient(135deg, #ffe08a 0%, var(--accent) 46%, #f5a623 100%);
}
#cm-root::after {
  content: ""; position: absolute; top: -170px; left: -6%; right: -6%; height: 960px; z-index: -1; pointer-events: none;
  background: none;   
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 18%, #000 50%, transparent 90%);
          mask-image: linear-gradient(to bottom, transparent 0%, #000 18%, #000 50%, transparent 90%);
}
@media (prefers-reduced-motion: no-preference) {
  #cm-root.cm-anim-in::after { animation: none;   }
}
@keyframes cm-aurora-in { 0% { opacity: 0; transform: scale(1.06) translateY(8px); } 60%,100% { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { #cm-root::after { opacity: 1; transform: none; animation: none; } }
#cm-root::after { transition: background .8s var(--ease-out); }
[data-theme="dark"] #cm-root[data-aurora="good"] { --cm-aurora-gold: rgba(255,196,24,.36); --cm-aurora-amber: rgba(255,168,40,.18); --cm-aurora-ember: rgba(255,150,40,.10); }
[data-theme="dark"] #cm-root[data-aurora="warn"] { --cm-aurora-gold: rgba(255,176,30,.30); --cm-aurora-amber: rgba(240,150,42,.22); --cm-aurora-ember: rgba(225,110,40,.15); }
[data-theme="dark"] #cm-root[data-aurora="bad"]  { --cm-aurora-gold: rgba(240,120,40,.22); --cm-aurora-amber: rgba(230,80,45,.24);  --cm-aurora-ember: rgba(214,45,45,.22); }
html:not([data-theme="dark"]) #cm-root[data-aurora="good"] { --cm-aurora-gold: rgba(255,184,40,.22); --cm-aurora-amber: rgba(255,160,50,.12); --cm-aurora-ember: rgba(255,150,50,.07); }
html:not([data-theme="dark"]) #cm-root[data-aurora="warn"] { --cm-aurora-gold: rgba(255,176,40,.20); --cm-aurora-amber: rgba(255,150,55,.12); --cm-aurora-ember: rgba(255,120,60,.08); }
html:not([data-theme="dark"]) #cm-root[data-aurora="bad"]  { --cm-aurora-gold: rgba(240,120,50,.16); --cm-aurora-amber: rgba(232,90,55,.15);  --cm-aurora-ember: rgba(220,55,50,.12); }
.cm-brain.cm-aurora-hero {
  border-radius: var(--radius-sq-lg); background: var(--cm-glass-bg);
  -webkit-backdrop-filter: blur(var(--cm-glass-blur)) saturate(1.1); backdrop-filter: blur(var(--cm-glass-blur)) saturate(1.1);
  border: 1px solid var(--cm-glass-edge); box-shadow: inset 0 1px 0 rgba(255,255,255,.06), var(--shadow-lg);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .cm-brain.cm-aurora-hero { background: var(--sf); }
}
#cm-root .cm-pulso .cm-kpi {
  background: var(--cm-glass-bg); border: 1px solid var(--cm-glass-edge); border-radius: var(--radius-sq);
  -webkit-backdrop-filter: blur(14px) saturate(1.12); backdrop-filter: blur(14px) saturate(1.12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), var(--shadow-lg);
  transition: border-color .2s var(--ease-out), transform .18s var(--ease-out);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  #cm-root .cm-pulso .cm-kpi { background: var(--sf); }
}
#cm-root .cm-pulso .cm-kpi:hover { border-color: color-mix(in srgb, var(--accent) 34%, var(--cm-glass-edge)); }
#cm-root .cm-card--gold .cm-kpi-val:not(.cm-kpi-na) {
  display: inline-block; max-width: 100%; white-space: nowrap;
  color: var(--gold-ink);
}
[data-theme="dark"] #cm-root .cm-card--gold .cm-kpi-val:not(.cm-kpi-na) { color: var(--accent); }
#cm-root.cm-mode-esencial .cm-pulso .cm-kpi-lbl,
#cm-root.cm-mode-esencial .cm-pulso-kpis .cm-kpi-lbl {
  text-transform: uppercase; letter-spacing: .07em; font-size: var(--fs-2xs); font-weight: var(--fw-dato); color: var(--tx-3);
}
.cm-brain-title .cm-w { display: inline-block; }
.cm-anim-in .cm-brain-title .cm-w { opacity: 1; animation: none; }
@keyframes cm-word-in { from { opacity: 0; transform: translateY(.42em); filter: blur(5px); } to { opacity: 1; transform: none; filter: blur(0); } }
@media (prefers-reduced-motion: reduce) { .cm-anim-in .cm-brain-title .cm-w { animation: none; opacity: 1; } }
.cm-blocks { display: flex; flex-direction: column; gap: var(--air-block); }
.cm-block { animation: none;   }
@keyframes cm-rise { from { transform: translateY(8px); } to { transform: none; } }
.cm-section-h { display: flex; align-items: center; gap: 8px; font-size: var(--fs-sm); font-weight: var(--fw-dato); text-transform: uppercase; letter-spacing: .08em; color: var(--tx-3); margin: 0 0 var(--sp-4) 2px; }
.cm-section-h i { color: var(--gold-ink); font-size:var(--fs-sm); }
.cm-section-sub { margin-left: auto; text-transform: none; letter-spacing: 0; font-weight: var(--fw-detalle); color: var(--tx-2); font-size: var(--fs-base); }
.cm-arch-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--sp-4); }
.cm-arch-card { display: flex; align-items: flex-start; gap: var(--sp-3); padding: var(--sp-4); border: 1px solid var(--br); border-radius: var(--radius); background: var(--sf); opacity: .62; transition: opacity .22s var(--ease-out), border-color .22s var(--ease-out), transform .22s var(--ease-out); }
.cm-arch-card:hover { opacity: 1; border-color: color-mix(in srgb, var(--tint, var(--accent)) 55%, var(--br)); }
.cm-arch-card.is-restored { opacity: 1; border-color: color-mix(in srgb, var(--tint, var(--accent)) 42%, var(--br)); }
.cm-arch-card.is-leaving { opacity: 0; transform: translateY(-8px) scale(.97); }
.cm-arch-ico { flex: none; width: 42px; height: 42px; border-radius: var(--radius-sm); display: grid; place-items: center; font-size: 17px; color: var(--tint, var(--accent)); background: color-mix(in srgb, var(--tint, var(--accent)) 14%, transparent); }
.cm-arch-body { flex: 1; min-width: 0; }
.cm-arch-title { font-size: var(--fs-md); font-weight: var(--fw-fuerte); color: var(--tx); line-height: 1.2; }
.cm-arch-hub { display: inline-block; margin-top: 3px; font-size: var(--fs-2xs); font-weight: var(--fw-dato); text-transform: uppercase; letter-spacing: .04em; color: var(--tint, var(--accent)); }
.cm-arch-why { font-size: var(--fs-sm); color: var(--tx-3); margin-top: 5px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cli-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 var(--sp-5); }
.cli-tab { display: inline-flex; align-items: center; gap: 7px; padding: 8px 14px; border-radius: var(--radius-pill); border: 1px solid var(--br); background: var(--sf); color: var(--tx-2); font-family: var(--font); font-size: var(--fs-sm); font-weight: var(--fw-detalle); cursor: pointer; transition: color .15s var(--ease-out), border-color .15s var(--ease-out), background .15s var(--ease-out), transform .15s var(--ease-out); }
.cli-tab i { font-size:var(--fs-sm); opacity: .8; }
.cli-tab:hover { color: var(--tx); border-color: var(--accent); }
.cli-tab:active { transform: scale(.97); }
.cli-tab.active { background: var(--accent); color: #1c1c1c; border-color: var(--accent); box-shadow: var(--shadow-sm); }
.cli-tab.active i { opacity: 1; }
.lp-barra { display: flex; align-items: center; gap: var(--sp-4); margin-top: var(--sp-5);
  flex-wrap: wrap; margin-bottom: var(--sp-5); }
.lp-filtros { margin-bottom: 0; flex-wrap: wrap; }
.lp-buscar { display: flex; align-items: center; gap: var(--sp-2); flex: 1 1 220px; min-width: 0;
  height: 34px; padding: 0 var(--sp-4); background: var(--sf); border: 1px solid var(--br);
  border-radius: var(--radius-pill); cursor: text;
  transition: border-color .18s var(--ease-out); }
.lp-buscar:focus-within { border-color: var(--accent); }
.lp-buscar i { color: var(--tx-3); font-size: var(--fs-sm); flex: none; }
.lp-buscar input { flex: 1; min-width: 0; border: none; outline: none; background: none;
  font-family: var(--font); font-size: var(--fs-sm); color: var(--tx); }
.lp-buscar input::placeholder { color: var(--tx-3); }
.lp-sec { margin-bottom: var(--sp-6); }
.lp-sec-t { display: flex; align-items: center; gap: var(--sp-3); margin-bottom: var(--sp-4);
  font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx-2);
  text-transform: uppercase; letter-spacing: .06em; }
.lp-sum { cursor: pointer; list-style: none; }
.lp-sum::-webkit-details-marker { display: none; }
.lp-sum::before { content: '▸'; margin-right: var(--sp-2); color: var(--tx-3); }
details[open] .lp-sum::before { content: '▾'; }
.lp-fuego { color: var(--accent); }
.lp-sec-n { padding: 1px 8px; border-radius: var(--radius-pill); background: var(--sf2, var(--sf));
  border: 1px solid var(--br); font-size: var(--fs-xs); color: var(--tx-2); font-variant-numeric: tabular-nums; }
.lp-fichas { display: flex; flex-direction: column; gap: var(--sp-2); }
.bx-fila, .lp-ficha, .camp-u, .camp-riv-x, .ig-fila {
  background: var(--fila-bg); border: var(--fila-borde); border-radius: var(--fila-radius);
  padding: var(--fila-py) var(--fila-px);
  transition: border-color .18s var(--ease-out), box-shadow .18s var(--ease-out); }
.bx-fila:hover, .lp-ficha:hover, .camp-u:hover, .camp-riv-x:hover, .ig-fila:hover {
  background: var(--sf3); }
.bx-fila--compacta, .acc-row, .lb-row {
  background: var(--fila-bg); border: var(--fila-borde); border-radius: var(--fila-radius-c);
  padding: var(--fila-py-c) var(--fila-px-c);
  transition: border-color .18s var(--ease-out), box-shadow .18s var(--ease-out); }
.bx-fila--compacta:hover, .acc-row:hover, .lb-row:hover { border-color: var(--accent); }
.bx-filas, .lp-fichas, .camp-ult-lista, .camp-riv-lista, .ig-radar .camp-ult-lista,
.ct-lista, .ev-lista, .eq-lista {
  display: flex; flex-direction: column; gap: var(--fila-gap);
  background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius);
  overflow: hidden; }
.bx-filas > * + *, .lp-fichas > * + *, .camp-ult-lista > * + *, .camp-riv-lista > * + *,
.ig-radar .camp-ult-lista > * + *, .ct-lista > * + *, .ev-lista > * + *, .eq-lista > * + * {
  border-top: 1px solid var(--br); }
.bx-filas.bx-cebra > * + * { border-top: 1px solid var(--br); }
.bx-filas:not(.bx-cebra) > :nth-child(odd), .lp-fichas > :nth-child(odd), .camp-ult-lista > :nth-child(odd),
.camp-riv-lista > :nth-child(odd), .ig-radar .camp-ult-lista > :nth-child(odd),
.ct-lista > :nth-child(odd), .ev-lista > :nth-child(odd), .eq-lista > :nth-child(odd) {
  background: color-mix(in srgb, var(--tx) 2.5%, transparent); }
[data-theme="dark"] .bx-filas:not(.bx-cebra) > :nth-child(odd), [data-theme="dark"] .lp-fichas > :nth-child(odd),
[data-theme="dark"] .camp-ult-lista > :nth-child(odd), [data-theme="dark"] .camp-riv-lista > :nth-child(odd),
[data-theme="dark"] .ct-lista > :nth-child(odd), [data-theme="dark"] .ev-lista > :nth-child(odd),
[data-theme="dark"] .eq-lista > :nth-child(odd) {
  background: color-mix(in srgb, #fff 4%, transparent); }
.bx-desp.abierta { background: var(--sf); }
.lp-lista { display: flex; flex-direction: column; gap: 6px; padding-left: 10px; }
.lp-contexto { margin-top: var(--sp-6); padding-top: var(--sp-4); border-top: 1px solid var(--br); }
.lp-contexto-t { font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx-3);
  text-transform: uppercase; letter-spacing: .05em; margin-bottom: var(--sp-3); }
.ldp-fd { min-width: 0; }
.ldp-fd a, .ldp-fd b { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ldp-msg { margin: 0; font-size: var(--fs-lg); line-height: 1.55; color: var(--tx);
  padding: var(--sp-3) var(--sp-4); background: var(--sf2); border: 1.5px solid var(--br-2); border-radius: var(--radius-sm); }   
.ldp-sindecir { font-size: var(--fs-md); font-style: italic; color: var(--tx-3); font-weight: var(--fw-body); }
.ldp-datos { display: flex; flex-direction: column; gap: 2px; }
.ldp-fd { display: flex; align-items: center; gap: var(--sp-3); padding: 9px 12px;
  border-radius: 8px; background: var(--sf2); font-size: var(--fs-base); }
.ldp-fd small { width: 104px; flex: none; font-size: var(--fs-sm); color: var(--tx-3); }
.ldp-fd b { font-weight: var(--fw-detalle); }
.ldp-fd a { color: var(--azul-apple); text-decoration: none; font-weight: var(--fw-detalle); }
.ldp-fd a:hover { text-decoration: underline; }
.ldp-vacio { color: var(--tx-3); font-style: italic; font-weight: var(--fw-body); }
.ldp-llamado { display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: var(--sp-3); font-size: var(--fs-base); color: var(--estado-bien-ink, #15803d);
  font-weight: var(--fw-detalle); }
.ldp-llamado button { border: 0; background: none; color: var(--tx-3); cursor: pointer;
  font-family: var(--font); font-size: var(--fs-sm); text-decoration: underline; }
.ldp-wa { width: 100%; min-height: 44px; margin-top: 8px; justify-content: center; gap: 8px; color: #0f7a37; }
.ldp-wa i { font-size: var(--fs-lg); }
[data-theme="dark"] .ldp-wa { color: #4ade80; }
.ldp-mandos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 8px; }
.ldp-mandos:has(> :only-child) { grid-template-columns: minmax(0, 1fr); }
.ldp-mandos .lp-novale, .ldp-mandos .lp-yacli { min-height: 44px; justify-content: center;
  font-size: var(--fs-md); }
.fab-k-cta, .btn.ldp-wa, .ldp-mandos .lp-novale, .ldp-mandos .lp-yacli { border-radius: var(--radius); }
.ldp-velo { position: fixed; inset: 0; z-index: 100001;    display: grid; place-items: center;
  background: var(--scrim, rgba(17,17,17,.45)); opacity: 0;
  transition: opacity .2s var(--ease-out); padding: var(--sp-4); }
.ldp-velo.abierto { opacity: 1; }
.ldp-pop { position: relative; width: min(480px, 94vw); background: var(--sf);
  border-radius: var(--radius); padding: var(--sp-6); box-shadow: 0 18px 60px rgba(0,0,0,.25);
  transform: scale(.95); transition: transform .22s var(--ease-out); }
.ldp-velo.abierto .ldp-pop { transform: scale(1); }
.ldp-pop-ic { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center;
  background: color-mix(in srgb, var(--azul-apple) 14%, transparent); color: var(--azul-apple);
  font-size: var(--fs-lg); margin-bottom: var(--sp-3); }
.ldp-pop h3 { margin: 0 0 6px; font-size: var(--fs-xl); font-weight: var(--fw-fuerte);
  letter-spacing: -.01em; }
.ldp-pop p { margin: 0 0 var(--sp-4); font-size: var(--fs-base); color: var(--tx-2); line-height: 1.55; }
.ldp-pop-btns { display: flex; gap: 8px; flex-wrap: wrap; }
.ldp-pop-si { border: 0; border-radius: var(--radius-pill); padding: 10px 18px; cursor: pointer;
  background: var(--azul-apple); color: #fff; font-family: var(--font);
  font-size: var(--fs-base); font-weight: var(--fw-dato); }
.ldp-pop-no { border: 1px solid var(--br); border-radius: var(--radius-pill); padding: 10px 18px;
  cursor: pointer; background: var(--sf2); color: var(--tx-2); font-family: var(--font);
  font-size: var(--fs-base); font-weight: var(--fw-detalle); }
.ldp-pop-x { position: absolute; top: 12px; right: 12px; width: 30px; height: 30px;
  border: 0; border-radius: 50%; background: color-mix(in srgb, var(--tx) 6%, transparent);
  color: var(--tx-3); cursor: pointer; display: grid; place-items: center; }
@media (max-width: 1000px) { .ldp-pg { grid-template-columns: 1fr; } }
.lp-cab, .lp-f2 {
  display: grid;
  grid-template-columns:
    minmax(152px, .5fr)   
    minmax(72px, .3fr)    
    minmax(150px, .8fr)   
    minmax(84px, .38fr)   
    minmax(140px, 1.25fr) 
    minmax(92px, .42fr)   
    minmax(84px, .38fr)   
    minmax(148px, .62fr)  
    60px                  
    14px;                 
  gap: var(--sp-3); align-items: center;
}
#content:has(.lp-cab) { overflow: visible; }
.lp-cab {
  position: sticky; top: var(--topbar-h); z-index: 6;
  padding: var(--sp-2) var(--sp-4) var(--sp-2) calc(var(--sp-4) + 10px);
  margin-bottom: var(--sp-2);
  background: var(--cabcol-bg);
  border-bottom: 1px solid var(--cabcol-br);
  border-radius: var(--radius-sm);
  box-shadow: 0 0 0 4px var(--bg);
  font-size: var(--fs-sm); font-weight: var(--fw-fuerte); color: var(--cabcol-tx);
  text-transform: uppercase; letter-spacing: .07em;
}
.lp-cab .n { text-align: right; }
.lp-fila { position: relative; border-radius: var(--radius-sm); border: 1.5px solid var(--br-2); }
.lp-fila::before {
  content: ''; position: absolute; left: -10px; top: 6px; bottom: 6px; width: 10px;
  border-radius: 5px 0 0 5px; background: var(--lp-color, transparent);
  transition: top .2s var(--ease-out), bottom .2s var(--ease-out);
}
.lp-fila:hover::before { top: 0; bottom: 0; }
.lp-est-txt { display: flex; flex-direction: column; min-width: 0; }
.lp-lista--recorte { position: relative; }
.lp-lista--recorte > .lp-fila:nth-child(n+6) { display: none; }
.lp-lista--recorte::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 110px;
  background: linear-gradient(to bottom, transparent, var(--bg)); pointer-events: none; }
.lp-vermas-wrap { display: flex; justify-content: center; margin-top: var(--sp-2); }
.lp-vermas .lp-sec-n { margin-left: var(--sp-1); }
.lp-fila--rojo    { background: color-mix(in srgb, #b42318 13%, var(--sf)); --lp-color: #b42318; }
.lp-fila--naranja { background: color-mix(in srgb, #9a4a05 15%, var(--sf)); --lp-color: #9a4a05; }
.lp-fila--verde   { background: color-mix(in srgb, #14682f 12%, var(--sf)); --lp-color: #14682f; }
.lp-fila--morado  { background: color-mix(in srgb, #6b21a8 12%, var(--sf)); --lp-color: #6b21a8; }
.lp-fila--azul    { background: color-mix(in srgb, #1d4ed8 12%, var(--sf)); --lp-color: #1d4ed8; }
.lp-fila--gris    { background: var(--sf2); --lp-color: #5b5b66; opacity: .8; }
.lp-fila .bx-desp-cab { cursor: pointer; background: none; border: 1px solid var(--br);
  border-radius: var(--radius-sm); padding: var(--sp-3) var(--sp-4); }
.lp-fila.abierta { box-shadow: none; }
.lp-est-col { display: flex; flex-direction: row; align-items: center; gap: var(--sp-2); min-width: 0; }
.lp-est { display: inline-flex; align-items: center; gap: 6px;
  font-size: var(--fs-base); font-weight: var(--fw-dato); white-space: nowrap; }
.lp-est::before { content: ''; flex: none; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.lp-est--rojo { color: #b42318; } .lp-est--naranja { color: #9a4a05; }
.lp-est--verde { color: #14682f; } .lp-est--gris { color: #5b5b66; } .lp-est--morado { color: #6b21a8; }
[data-theme="dark"] .lp-est--rojo { color: #fca5a5; } [data-theme="dark"] .lp-est--naranja { color: #fcd34d; }
[data-theme="dark"] .lp-est--verde { color: #86efac; } [data-theme="dark"] .lp-est--gris { color: #a1a1ab; }
.lp-est--azul { color: #1d4ed8; }
[data-theme="dark"] .lp-est--morado { color: #d8b4fe; }
[data-theme="dark"] .lp-est--azul { color: #93c5fd; }
.lp-pega { display: block; font-size: var(--fs-sm); font-weight: var(--fw-detalle);
  color: inherit; opacity: .85; padding-left: 14px; white-space: nowrap; }
.lp-est-col .lp-pega { color: var(--lp-color, var(--tx-2)); }
.lp-cuando { font-size: var(--fs-base); color: var(--tx-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lp-negocio { min-width: 0; display: flex; align-items: center; gap: 8px; }
.lp-negocio b { font-weight: var(--fw-dato); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lp-bdg { flex: none; display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 8px;
  font-size: var(--fs-xs); font-weight: var(--fw-dato); white-space: nowrap;   
  background: color-mix(in srgb, var(--tx) 8%, transparent); color: var(--tx-2); }
.lp-bdg--web { background: color-mix(in srgb, var(--accent) 30%, transparent); color: var(--gold-ink); }
.lp-bdg--meta { background: color-mix(in srgb, var(--azul-apple) 15%, transparent); color: var(--azul-apple); }
.lp-bdg--luc { background: color-mix(in srgb, #6b21a8 16%, transparent); color: #6b21a8; }
.lp-persona, .lp-dijo { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  font-size: var(--fs-base); }
.lp-persona { color: var(--tx-2); }
.lp-persona i, .lp-sin { color: var(--tx-3); font-style: italic; font-size: var(--fs-sm); }
.lp-donde { min-width: 0; display: flex; align-items: center; gap: 7px; font-size: var(--fs-base);
  overflow: hidden; white-space: nowrap; }
.lp-donde i { color: var(--tx-3); font-size: var(--fs-sm); flex: none; }
.lp-panes { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lp-panes b { font-size: var(--fs-lg); font-weight: var(--fw-fuerte); color: var(--azul-apple);
  letter-spacing: -.02em; }
.lp-panes--oro b { display: inline-block; background: var(--accent); color: #1a1500;
  padding: 2px 11px; border-radius: var(--radius-pill); font-size: var(--fs-md); }
.lp-tel { min-width: 0; overflow: hidden; white-space: nowrap; font-variant-numeric: tabular-nums; }
.lp-tel { font-size: var(--fs-sm); }
.lp-tel a { color: var(--azul-apple); text-decoration: none; font-weight: var(--fw-medium);
  display: inline-flex; align-items: center; gap: 7px; }
.lp-tel a i { font-size: var(--fs-sm); opacity: .75; }
.lp-tel a:hover { text-decoration: underline; }
.lp-va { color: var(--tx-3); display: grid; place-items: center; font-size: var(--fs-sm); }
.lp-f-acc { display: grid; grid-template-columns: 26px 26px; gap: 6px; align-items: center; justify-content: end; }   
.lp-f-hueco { width: 26px; height: 26px; }
.lp-f-ig, .lp-f-wa, .lp-f-chk { width: 26px; height: 26px; flex: none; border-radius: 8px;
  display: inline-flex; align-items: center; justify-content: center; padding: 0;
  background: rgba(255,255,255,.7); border: 1px solid var(--br); text-decoration: none;
  font-size: var(--fs-base); cursor: pointer;
  transition: transform var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out); }
[data-theme="dark"] .lp-f-ig, [data-theme="dark"] .lp-f-wa, [data-theme="dark"] .lp-f-chk {
  background: rgba(255,255,255,.08); }
.lp-f-ig { color: #c1275f; }
.lp-f-wa { color: #0f7a37; }
[data-theme="dark"] .lp-f-wa { color: #4ade80; }
.lp-f-ig:active, .lp-f-wa:active, .lp-f-chk:active { transform: scale(.92); }
.lp-f-chk { color: transparent; }
.lp-f-chk svg { width: 13px; height: 13px; }
.lp-f-chk:hover { border-color: #14682f; color: #14682f; }
.lp-f-chk.on { background: #14682f; border-color: #14682f; color: #fff; }
.lp-sec-t2 { justify-content: flex-start; padding-left: 10px;
  font-size: var(--fs-lg); font-weight: var(--fw-fuerte); color: var(--tx);
  text-transform: none; letter-spacing: -.01em; margin-bottom: var(--sp-2); }
.lp-g-pt { width: 9px; height: 9px; border-radius: 50%; flex: none; }
.lp-g-meta { margin-left: auto; font-size: var(--fs-sm); color: var(--tx-3);
  font-variant-numeric: tabular-nums; font-weight: var(--fw-body); text-transform: none; letter-spacing: 0; }
.lp-hoja { --alto-mando: 38px; display: flex; align-items: center; gap: var(--sp-3);
  background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius);
  padding: var(--sp-3) var(--sp-4); margin: var(--sp-5) 0 var(--sp-4); }
.lp-chips { display: flex; align-items: center; gap: 6px; min-width: 0; flex: 1; flex-wrap: wrap; }
.lp-add { flex: none; height: var(--alto-mando); border-radius: var(--radius-pill); }
.lp-hoja .lp-chip { height: var(--alto-mando);
  transition: transform .42s var(--ease-out) calc(var(--i, 0) * 45ms),
              opacity .3s var(--ease-out) calc(var(--i, 0) * 45ms),
              border-color .16s var(--ease-out), color .16s var(--ease-out),
              background .16s var(--ease-out); }
.lp-hoja.buscando .lp-chip { transform: translateX(26px); opacity: 0; pointer-events: none; }
.lp-hoja:not(.buscando) .lp-chip { transition-delay: calc((4 - var(--i, 0)) * 45ms), calc((4 - var(--i, 0)) * 45ms), 0s, 0s, 0s; }
.lp-chip::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: currentColor; flex: none; }
.lp-chip--rojo { color: #b42318; } .lp-chip--naranja { color: #9a4a05; }
.lp-chip--verde { color: #14682f; } .lp-chip--gris { color: #5b5b66; }
.lp-chip--azul { color: #1d4ed8; }
[data-theme="dark"] .lp-chip--azul { color: #93c5fd; }
.lp-chip.on { color: var(--ck-on-tx, #1a1500); }
.lp-buscar2 { display: flex; align-items: center; gap: 0; flex: none;
  width: var(--alto-mando); height: var(--alto-mando); padding: 0;
  border: 1px solid var(--br); border-radius: var(--radius-pill); background: var(--sf2);
  color: var(--tx-3); cursor: text; overflow: hidden;
  transition: width .42s var(--ease-out), padding .42s var(--ease-out), border-color .2s var(--ease-out); }
.lp-b-lupa { width: var(--alto-mando); height: var(--alto-mando); flex: none;
  display: grid; place-items: center; cursor: pointer; }
.lp-buscar2 input { flex: 1; min-width: 0; border: none; outline: none; background: none;
  font-family: var(--font); font-size: var(--fs-base); color: var(--tx); opacity: 0;
  transition: opacity .2s var(--ease-out) .18s; }
.lp-buscar2 input::placeholder { color: var(--tx-3); }
.lp-hoja.buscando .lp-buscar2 { width: min(420px, 60vw); flex: 1;
  border-color: color-mix(in srgb, var(--azul-apple) 45%, transparent); background: var(--sf); }
.lp-hoja.buscando .lp-buscar2 input { opacity: 1; }
.lp-hoja.buscando .lp-b-lupa { color: var(--azul-apple); }
.lp-b-x { width: 26px; height: 26px; margin-right: 6px; flex: none; display: none;
  place-items: center; border-radius: 50%; cursor: pointer; color: var(--tx-3);
  background: color-mix(in srgb, var(--tx) 7%, transparent); }
.lp-hoja.buscando .lp-b-x { display: grid; }
@media (prefers-reduced-motion: reduce) {
  .lp-hoja .lp-chip, .lp-buscar2, .lp-buscar2 input { transition: none; }
}
@media (max-width: 1500px) {
  .lp-oc1 { display: none; }
  .lp-cab, .lp-f2 { grid-template-columns:
    minmax(152px, .5fr) minmax(52px, .24fr) minmax(160px, .85fr)
    minmax(150px, 1.4fr) minmax(96px, .45fr) minmax(84px, .38fr) minmax(140px, .6fr) 60px 14px; }
}
@media (max-width: 1240px) {
  .lp-oc2 { display: none; }
  .lp-cab, .lp-f2 { grid-template-columns:
    minmax(146px, .5fr) minmax(56px, .24fr) minmax(150px, .9fr)
    minmax(140px, 1.5fr) minmax(78px, .38fr) minmax(132px, .62fr) 60px 14px; }
}
#lp-listas { container-type: inline-size; }
@container (max-width: 1010px) {
  .lp-oc1, .lp-oc2 { display: none; }
  .lp-cab, .lp-f2 { grid-template-columns:
    minmax(146px, .5fr) minmax(56px, .24fr) minmax(150px, .9fr)
    minmax(140px, 1.5fr) minmax(78px, .38fr) minmax(132px, .62fr) 60px 14px; }
}
@container (max-width: 900px) {
  .lp-dijo, .lp-h-dijo { display: none; }
  .lp-cab, .lp-f2 { grid-template-columns:
    minmax(146px, .5fr) minmax(56px, .24fr) minmax(150px, 1fr)
    minmax(78px, .38fr) minmax(124px, .62fr) 60px 14px; }
}
.lp-f-acc .lead-assign-btn { max-width: 160px; }
.lp-det { display: flex; flex-direction: column; gap: var(--sp-3); padding-top: var(--sp-1); }
.lp-det-msg { font-size: var(--fs-md); line-height: 1.55; color: var(--tx-2); max-width: 70ch; }
.lp-det-pie { display: flex; justify-content: flex-end; }
.lead-motivo { flex: none; max-width: 170px; height: 28px; padding: 0 var(--sp-3);
  border: 1px solid var(--br); border-radius: var(--radius-pill); background: var(--bg);
  font-family: var(--font); font-size: var(--fs-sm); color: var(--tx-3); cursor: pointer;
  transition: color .18s var(--ease-out), border-color .18s var(--ease-out); }
.lead-motivo.puesto { color: var(--tx-2); border-color: var(--br); background: var(--sf3); }
.lead-motivo:hover { border-color: var(--accent); }
.lead-motivo:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.lp-d-del { margin-left: auto; width: 32px; height: 32px; flex: none; display: inline-flex;
  align-items: center; justify-content: center; border-radius: var(--radius-pill);
  border: 1px solid var(--br); background: none; color: var(--tx-3); cursor: pointer;
  font-size: var(--fs-sm); transition: color .18s var(--ease-out), border-color .18s var(--ease-out); }
.lp-d-del:hover { color: var(--red); border-color: var(--red); }
.lp-d-del:active { transform: scale(.94); }
.lp-f-ver i { font-size: 10px; transition: transform .2s var(--ease-out); }
.lp-f-ver.abierto i { transform: rotate(180deg); }
.lp-f-ver.abierto { border-color: var(--accent); color: var(--tx); }
@property --luc-a { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
.luc-viva { position: relative; padding: 2px; border-radius: calc(var(--radius) + 2px);
  cursor: pointer;
  background: conic-gradient(from var(--luc-a), #a855f7, #d8b4fe, #7c3aed, #c084fc, #a855f7);
  animation: luc-girar 3.2s linear infinite; }
@keyframes luc-girar { to { --luc-a: 360deg; } }
.luc-in { display: grid; grid-template-columns: minmax(0, 1.6fr) 130px minmax(0, 1.3fr) auto;
  gap: var(--sp-4); align-items: center;
  padding: var(--sp-4) var(--sp-5); border-radius: var(--radius); background: var(--sf); }
.luc-estado { display: inline-flex; align-items: center; gap: 7px; font-size: var(--fs-sm);
  font-weight: var(--fw-detalle); color: #a855f7; white-space: nowrap; }
.luc-punto { width: 8px; height: 8px; border-radius: 50%; background: #a855f7; flex: none;
  animation: luc-latir 1.6s ease-in-out infinite; }
@keyframes luc-latir { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: .45; transform: scale(.8); } }
.luc-tit { color: #a855f7; }
@media (max-width: 900px) {
  .luc-in { grid-template-columns: minmax(0, 1fr) auto; }
  .luc-estado, .lp-f-acc { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
  .luc-viva { animation: none; }
  .luc-punto { animation: none; }
}
.lead-assign-btn { display: inline-flex; align-items: center; gap: var(--sp-2); max-width: 100%;
  height: 30px; padding: 0 11px; border: 1px solid var(--br); border-radius: var(--radius-pill);
  background: var(--sf); color: var(--tx); font-family: var(--font); font-size: var(--fs-sm);
  cursor: pointer; transition: border-color .15s var(--ease-out); }
.lead-assign-btn span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lead-assign-btn i { font-size: 10px; color: var(--tx-3); flex: none; }
.lead-assign-btn:hover { border-color: var(--accent); }
.lead-assign-btn.unassigned { color: var(--estado-urgente-ink); border-color: color-mix(in srgb, var(--estado-urgente) 45%, transparent); }
#bx-asigna { position: fixed; z-index: 9000; width: 260px; max-height: 300px;
  display: flex; flex-direction: column; overflow: hidden;
  background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius);
  box-shadow: var(--shadow-lg); }
#bx-asigna-q { border: none; border-bottom: 1px solid var(--br); background: transparent;
  padding: var(--sp-3) var(--sp-4); font-family: var(--font); font-size: var(--fs-sm); color: var(--tx); }
#bx-asigna-q:focus { outline: none; }
#bx-asigna-lista { overflow-y: auto; padding: var(--sp-1); }
.bx-asigna-op { display: block; width: 100%; text-align: left; padding: 9px var(--sp-3);
  border: none; background: none; border-radius: var(--radius-sm); cursor: pointer;
  font-family: var(--font); font-size: var(--fs-sm); color: var(--tx); }
.bx-asigna-op:hover { background: var(--bg); }
.bx-asigna-op.act { color: var(--accent); font-weight: var(--fw-detalle); }
.bx-asigna-nada { padding: var(--sp-4); text-align: center; font-size: var(--fs-sm); color: var(--tx-3); }
.lp-f-ver:hover { border-color: var(--accent); color: var(--tx); }
@media (max-width: 900px) {
  .lp-ficha { grid-template-columns: minmax(0, 1fr); gap: var(--sp-2); }
  .lp-f-id, .lp-f-ciudad, .lp-f-cont, .lp-f-msg, .lp-f-acc { grid-column: 1 / -1; }
  .lp-f-ciudad, .lp-f-cont { font-size: var(--fs-sm); }
  .lp-f-acc { justify-content: flex-start; flex-wrap: wrap; row-gap: var(--sp-2); margin-top: 2px; }
  .lp-f-acc .lead-assign-btn { max-width: none; flex: 1 1 auto; }
}
.lp-tabla { border: 1px solid var(--br); border-radius: var(--radius); overflow: hidden; background: var(--sf); }
.lp-row { display: grid; grid-template-columns: 24px minmax(0, 2.2fr) minmax(0, 1.2fr) minmax(0, 1fr) 60px;
  gap: var(--sp-3); align-items: center; padding: 11px var(--sp-4); cursor: pointer;
  border-bottom: 1px solid var(--br); font-size: var(--fs-sm); }
.lp-row:last-child { border-bottom: none; }
.lp-row:hover { background: var(--bg); }
.lp-r-nombre { font-weight: var(--fw-detalle); color: var(--tx); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lp-r-ciudad, .lp-r-dias { color: var(--tx-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lp-r-panes { color: var(--tx-2); font-variant-numeric: tabular-nums; text-align: right; }
.lp-r-panes i, .lp-r-dias { font-style: normal; font-size: var(--fs-xs); }
.lp-r-dias { text-align: right; }
@media (max-width: 700px) {
  .lp-row { grid-template-columns: 24px minmax(0, 1fr) auto; }
  .lp-r-ciudad, .lp-r-dias { display: none; }
}
.lap-cargando { padding: var(--sp-8); text-align: center; color: var(--tx-3); font-size: var(--fs-sm); }
.lap-marcador { display: flex; gap: var(--sp-4); margin-bottom: var(--sp-5); flex-wrap: wrap; }
.lap-marca { display: flex; align-items: baseline; gap: var(--sp-2); padding: var(--sp-3) var(--sp-4);
  background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius); }
.lap-marca-n { font-size: var(--fs-2xl); font-weight: var(--fw-fuerte); color: var(--accent); font-variant-numeric: tabular-nums; }
.lap-marca-l { font-size: var(--fs-sm); color: var(--tx-2); font-weight: var(--fw-detalle); }
.lap-card { max-width: 720px; padding: var(--sp-6); background: var(--sf); border: 1px solid var(--br);
  border-radius: var(--radius); box-shadow: var(--shadow); }
.lap-veces { font-size: var(--fs-xs); font-weight: var(--fw-detalle); color: var(--accent);
  text-transform: uppercase; letter-spacing: .06em; margin-bottom: var(--sp-3); }
.lap-preg { font-size: var(--fs-xl); font-weight: var(--fw-dato); line-height: 1.35; color: var(--tx); text-wrap: balance; }
.lap-real { display: inline-block; margin-right: var(--sp-2); padding: 2px 8px; border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--ok, #16a34a) 16%, transparent); color: var(--ok, #16a34a);
  font-size: var(--fs-xs); font-weight: var(--fw-dato); letter-spacing: 0; text-transform: none; }
.lap-sep { height: 1px; background: var(--br); margin: var(--sp-5) 0; }
.lap-lbl { font-size: var(--fs-xs); font-weight: var(--fw-detalle); color: var(--tx-3);
  text-transform: uppercase; letter-spacing: .06em; margin-bottom: var(--sp-2); }
.lap-hecho { width: 100%; padding: var(--sp-3); border: 1px solid var(--br); border-radius: var(--radius-sm);
  background: var(--bg); color: var(--tx); font-family: var(--font); font-size: var(--fs-base);
  line-height: 1.55; resize: vertical; }
.lap-hecho:focus { outline: none; border-color: var(--accent); }
.lap-acciones { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-3); margin-top: var(--sp-4); }
.lap-acciones .btn { justify-content: center; }
.lap-tip { margin-top: var(--sp-3); font-size: var(--fs-xs); color: var(--tx-3); }
@media (max-width: 620px) { .lap-acciones { grid-template-columns: minmax(0, 1fr); } }
.lap-fin { max-width: 720px; padding: var(--sp-8) var(--sp-6); text-align: center; background: var(--sf);
  border: 1px solid var(--br); border-radius: var(--radius); }
.lap-fin-ico { width: 52px; height: 52px; margin: 0 auto var(--sp-4); border-radius: 50%; display: grid;
  place-items: center; font-size: var(--fs-xl); color: #1c1c1c; background: var(--accent); }
.lap-fin-t { font-size: var(--fs-lg); font-weight: var(--fw-dato); margin-bottom: var(--sp-2); }
.lap-fin-s { font-size: var(--fs-sm); color: var(--tx-2); margin-bottom: var(--sp-5); }
.lap-sabe { max-width: 720px; margin-top: var(--sp-6); }
.lap-sabe-t { font-size: var(--fs-xs); font-weight: var(--fw-detalle); color: var(--tx-3);
  text-transform: uppercase; letter-spacing: .06em; margin-bottom: var(--sp-3); }
.lap-sabe-row { display: flex; align-items: flex-start; gap: var(--sp-3); padding: var(--sp-3) 0;
  border-bottom: 1px solid var(--br); }
.lap-sabe-tx { flex: 1; min-width: 0; font-size: var(--fs-sm); line-height: 1.55; color: var(--tx-2); }
.lap-olvidar { flex: none; background: none; border: none; cursor: pointer; color: var(--tx-3);
  font-size: var(--fs-sm); padding: 2px 6px; border-radius: var(--radius-sm);
  transition: color .15s var(--ease-out); }
.lap-olvidar:hover { color: var(--estado-urgente-ink); }
#cm-grupo-bar { margin-bottom: var(--sp-5); position: relative; z-index: 60; }
.gst-selbar {
  display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap;
  background: var(--tx); color: var(--tx-inv, #fff);
  border-radius: var(--radius); padding: 10px 12px; margin-bottom: var(--sp-3);
}
.gst-selbar[hidden] { display: none; }
.gst-selbar-n { font-weight: var(--fw-dato); font-size: var(--fs-base); margin-right: auto; padding-left: 4px; white-space: nowrap; }
.gst-selbar-b {
  appearance: none; border: 0; font: inherit; font-size: var(--fs-sm); font-weight: var(--fw-dato);
  background: rgba(255,255,255,.16); color: #fff; border-radius: var(--radius-sm);
  padding: 9px 14px; min-height: 40px; cursor: pointer; white-space: nowrap;
  display: inline-flex; align-items: center; gap: 8px;
  transition: background .15s var(--ease-out, ease);
}
.gst-selbar-b:hover { background: rgba(255,255,255,.26); }
.gst-selbar-b:active { transform: scale(.97); }
.gst-selbar-b--ok { background: var(--accent); color: #1c1c1c; }
.gst-selbar-b--ok:hover { background: var(--accent); filter: brightness(1.06); }
.gst-selbar-x {
  appearance: none; border: 0; background: transparent; color: rgba(255,255,255,.7);
  font: inherit; font-size: var(--fs-lg); line-height: 1; cursor: pointer;
  width: 34px; height: 34px; border-radius: var(--radius-sm);
}
.gst-selbar-x:hover { background: rgba(255,255,255,.14); color: #fff; }
.bx-vistas-mas-wrap { background: var(--bxv-carril); border-bottom: 1px solid var(--br); }
.bx-vistas-der { flex: 0 0 auto; margin-left: auto; display: flex; align-items: flex-end; gap: var(--sp-2); padding: 0 0 0 var(--sp-2); }
.bx-vistas-der > .filter-bar { margin: 0; }
.bx-vistas-der .bx-ck-chip, .bx-vistas-der .gst-mespill { min-height: 39px; }
#cm-grupo-bar:empty { display: none; }
#cm-grupo-bar .cm-grupo-tabs { margin: 0; padding-bottom: var(--sp-3); border-bottom: 1px solid var(--br); }
#cm-grupo-bar ~ * .cli-tabs:not(.cm-grupo-tabs) .cli-tab { padding: 6px 12px; font-size: var(--fs-xs); }
#cm-grupo-bar ~ * .cli-tabs:not(.cm-grupo-tabs) .cli-tab:not(.active) { background: transparent; border-color: transparent; }
#cm-grupo-bar ~ * .cli-tabs:not(.cm-grupo-tabs) .cli-tab:not(.active):hover { border-color: var(--br); }
.cm-maq-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--sp-4); }
.cm-maq-card { display: flex; align-items: center; gap: var(--sp-3); padding: var(--sp-4); border: 1px solid var(--br); border-radius: var(--radius); background: var(--sf); cursor: pointer; text-align: left; font-family: var(--font); transition: border-color .18s var(--ease-out), transform .18s var(--ease-out), box-shadow .18s var(--ease-out); }
.cm-maq-card:hover { border-color: var(--accent); }
.cm-maq-card:active { transform: scale(.98); }
.cm-maq-ico { flex: none; width: 44px; height: 44px; border-radius: var(--radius-sm); display: grid; place-items: center; font-size:var(--fs-xl); color: var(--accent); background: color-mix(in srgb, var(--accent) 14%, transparent); }
.cm-maq-body { flex: 1; min-width: 0; }
.cm-maq-title { font-size: var(--fs-md); font-weight: var(--fw-fuerte); color: var(--tx); }
.cm-maq-sub { font-size: var(--fs-sm); color: var(--tx-3); margin-top: 2px; }
.cm-maq-arrow { flex: none; color: var(--tx-3); font-size:var(--fs-base); transition: transform .18s var(--ease-out), color .18s var(--ease-out); }
.cm-maq-card:hover .cm-maq-arrow { color: var(--accent); transform: translateX(3px); }
.cm-secret-row { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 14px; }
.cm-secret-copy { margin-top: 14px; display: inline-flex; align-items: center; gap: 7px; padding: 8px 14px; border-radius: var(--radius-pill); border: 1px solid var(--accent); background: transparent; color: var(--tx); font-family: var(--font); font-size: var(--fs-sm); font-weight: var(--fw-dato); cursor: pointer; transition: transform .15s var(--ease-out), background .15s var(--ease-out); }
.cm-secret-row .cm-secret-copy { margin-top: 0; }
.cm-secret-copy code { font-family: var(--mono, ui-monospace, monospace); font-size: var(--fs-xs); }
.cm-secret-copy i { color: var(--accent); }
.cm-secret-copy:hover { background: color-mix(in srgb, var(--accent) 14%, transparent); }
.cm-secret-copy:active { transform: scale(.96); }
.cm-secret-where { font-size: var(--fs-xs); color: var(--tx-3); margin-top: 6px; text-align: center; }
.cm-recon-drill { cursor: pointer; border-radius: var(--radius-sm); transition: background .15s var(--ease-out); }
.cm-recon-drill:hover { background: var(--sf2); }
.cm-recon-chev { font-size:var(--fs-2xs); margin-left: 6px; opacity: .55; }
.cm-recon-modal { position: fixed; inset: 0; z-index: 1200; background: var(--scrim); display: grid; place-items: center; padding: var(--sp-4); animation: cm-pop-in .2s var(--ease-out); }
.cm-recon-modal-card { width: min(560px, 96vw); max-height: 84vh; display: flex; flex-direction: column; background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius); box-shadow: var(--shadow-lg); overflow: hidden; }
.cm-recon-modal-head { display: flex; align-items: flex-start; gap: var(--sp-3); padding: var(--sp-5) var(--sp-5) var(--sp-3); }
.cm-recon-modal-title { font-size: var(--fs-lg); font-weight: var(--fw-fuerte); color: var(--tx); }
.cm-recon-modal-sub { font-size: var(--fs-sm); color: var(--tx-2); margin-top: 3px; }
.cm-recon-modal-x { margin-left: auto; flex: none; width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--br); background: var(--sf2); color: var(--tx-2); cursor: pointer; display: grid; place-items: center; transition: color .15s var(--ease-out); }
.cm-recon-modal-x:hover { color: var(--tx); }
.cm-recon-modal-note { font-size: var(--fs-sm); color: var(--tx-3); padding: 0 var(--sp-5) var(--sp-3); line-height: 1.45; }
.cm-recon-modal-list { overflow-y: auto; padding: 0 var(--sp-5) var(--sp-5); }
.cm-recon-drow { display: grid; grid-template-columns: 44px 1fr auto; gap: var(--sp-3); align-items: center; padding: 9px 0; border-top: 1px solid var(--br); }
.cm-recon-drow-d { font-size: var(--fs-xs); color: var(--tx-3); font-variant-numeric: tabular-nums; }
.cm-recon-drow-who { font-size: var(--fs-sm); color: var(--tx); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cm-recon-drow-who em { color: var(--tx-3); font-style: normal; font-size: var(--fs-2xs); }
.cm-recon-drow-eur { font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx); font-variant-numeric: tabular-nums; }
.cm-brain { background: linear-gradient(135deg, var(--accent-bg), transparent 70%), var(--sf); border: 1px solid var(--br); border-radius: var(--radius); padding: var(--sp-5) var(--sp-6); }
.cm-brain-head { display: flex; align-items: center; gap: var(--sp-3); margin-bottom: var(--sp-4); }
.cm-brain-orb { width: 38px; height: 38px; flex: none; border-radius: 50%; display: grid; place-items: center; background: radial-gradient(120% 120% at 32% 26%, color-mix(in srgb, var(--accent) 78%, #fff), var(--accent) 62%); color: #1c1c1c; font-size:var(--fs-lg); box-shadow: inset 0 1px 1px rgba(255,255,255,.55), inset 0 -2px 5px rgba(0,0,0,.14); }
.cm-brain-title { font-size: var(--fs-lg); font-weight: var(--fw-dato); color: var(--tx); line-height: 1.2; }
.cm-brain-sub { font-size: var(--fs-base); color: var(--tx-3); margin-top: 1px; }
.cm-brain-body { display: flex; flex-direction: column; gap: 10px; }
.cm-brain-line { display: flex; align-items: flex-start; gap: 10px; font-size: var(--fs-lg); color: var(--tx); line-height: 1.45; }
.cm-brain-line i { margin-top: 3px; font-size:var(--fs-base); color: var(--tx-3); flex: none; width: 16px; text-align: center; }
.cm-brain-line.pos i { color: #10b981; }
.cm-brain-line.warn i { color: #f59e0b; }
.cm-brain-line.neg i { color: #ef4444; }
.cm-brain-line b { font-weight: var(--fw-dato); }
.cm-brain-headtxt { flex: 1; min-width: 0; }
.cm-brain-refresh { flex: none; width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--br); background: var(--sf2); color: var(--tx-2); cursor: pointer; display: grid; place-items: center; font-size:var(--fs-sm); transition: transform .5s var(--ease-out), color .18s var(--ease-out), background .18s var(--ease-out); }
.cm-brain-refresh:hover { color: var(--gold-ink); background: var(--accent-bg); transform: rotate(180deg); }
.cm-brain-refresh:active { transform: rotate(180deg) scale(.92); }
.cm-brain-body.cm-fade-out { opacity: 0; transition: opacity .2s var(--ease-out); }
.cm-brain-body { transition: opacity .25s var(--ease-out); }
.cm-brain-thinking::after { content: 'La IA está afinando tu briefing…'; display: block; margin-top: 8px; font-size: var(--fs-sm); color: var(--tx-3); background: linear-gradient(90deg, var(--tx-3) 0, var(--tx) 50%, var(--tx-3) 100%); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: cm-shine 1.6s linear infinite; }
@keyframes cm-shine { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }
.cm-brief-tag { display: inline-block; font-size:var(--fs-sm); font-weight: var(--fw-dato); text-transform: uppercase; letter-spacing: .04em; padding: 1px 7px; border-radius: var(--radius-pill); margin-right: 6px; vertical-align: middle; }
.cm-brief-tag.desc  { background: rgba(100,116,139,.14); color: #475569; }
.cm-brief-tag.diag  { background: rgba(245,158,11,.14);  color: #b45309; }
.cm-brief-tag.pred  { background: rgba(59,130,246,.14);  color: #1e40af; }
.cm-brief-tag.presc { background: rgba(16,185,129,.14);  color: #065f46; }
[data-theme="dark"] .cm-brief-tag.desc  { background: rgba(148,163,184,.18); color: #cbd5e1; }
[data-theme="dark"] .cm-brief-tag.diag  { background: rgba(245,158,11,.16);  color: #f0c068; }
[data-theme="dark"] .cm-brief-tag.pred  { background: rgba(59,130,246,.16);  color: #60a5fa; }
[data-theme="dark"] .cm-brief-tag.presc { background: rgba(16,185,129,.16);  color: #4ade80; }
.cm-brain-body.is-ai { font-size: var(--fs-lg); color: var(--tx); line-height: 1.6; }
.cm-brain-body.is-ai p { margin: 0 0 7px; }
.cm-brain-body.is-ai ul { margin: 4px 0; padding-left: 18px; }
.cm-brain-body.is-ai b { font-weight: var(--fw-dato); }
.cm-brain-body.is-ai > div:not(:last-child) p:last-child { margin-bottom: 0; }
.cm-brief-grp { margin-bottom: var(--sp-4); }
.cm-brief-grp:last-child { margin-bottom: 0; }
.cm-brief-grp-pts { margin-top: 7px; padding-left: var(--sp-3); border-left: 2px solid var(--br); display: flex; flex-direction: column; gap: 8px; }
.cm-brief-grp.plain { padding-left: 0; }
.cm-brief-pt { font-size: var(--fs-lg); color: var(--tx); line-height: 1.6; }
.cm-brief-pt b { font-weight: var(--fw-dato); }
.cm-brief-grp .cm-brief-tag { font-size:var(--fs-2xs); padding: 2px 9px; }
.cm-brain.cm-play .cm-brain-head { margin-bottom: var(--sp-3); }
.cm-play-hero { position: relative; border-radius: var(--radius-sm); padding: var(--sp-4) var(--sp-5) var(--sp-4) calc(var(--sp-5) + 4px); margin-bottom: var(--sp-3); background: var(--sf2); border: 1px solid var(--br); --cm-acc: var(--accent); }
.cm-play-hero::before { content: ''; position: absolute; left: 0; top: 12px; bottom: 12px; width: 3px; border-radius: 3px; background: var(--cm-acc); }
.cm-play-hero.neg  { --cm-acc: #ef4444; }
.cm-play-hero.warn { --cm-acc: #f59e0b; }
.cm-play-hero.pos  { --cm-acc: #10b981; }
.cm-play-kicker { display: flex; align-items: center; gap: 5px; font-size:var(--fs-2xs); font-weight: var(--fw-dato); text-transform: uppercase; letter-spacing: .06em; color: var(--tx-3); margin-bottom: 7px; }
.cm-play-kicker i { color: var(--cm-acc); font-size:var(--fs-2xs); }
.cm-play-title { display: flex; align-items: flex-start; gap: 9px; font-size: var(--fs-xl); font-weight: var(--fw-dato); color: var(--tx); line-height: 1.22; }
.cm-play-title i { margin-top: 4px; font-size:var(--fs-lg); color: var(--cm-acc); flex: none; width: 18px; text-align: center; }
.cm-play-title b { font-weight: var(--fw-fuerte); }
.cm-play-sub { font-size: var(--fs-base); color: var(--tx-2); margin-top: 6px; line-height: 1.5; }
.cm-play-sub b { font-weight: var(--fw-dato); color: var(--tx); }
.cm-play-cost { display: flex; align-items: baseline; flex-wrap: wrap; gap: 7px; margin-top: 11px; font-size: var(--fs-sm); color: var(--tx-3); }
.cm-play-cost b { font-size: var(--fs-lg); font-weight: var(--fw-fuerte); color: var(--cm-acc); }
.cm-play-cost em { font-style: normal; color: var(--tx-3); }
.cm-play-cta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: var(--sp-4); }
.cm-play-do { display: inline-flex; align-items: center; gap: 6px; border: none; border-radius: var(--radius-pill); padding: 8px 17px; font-size: var(--fs-sm); font-weight: var(--fw-dato); cursor: pointer; background: var(--accent); color: #1c1c1c; transition: transform .15s var(--ease-out), filter .15s var(--ease-out); }
.cm-play-do:hover { filter: brightness(1.05); }
.cm-play-do:active { transform: scale(.97); }
.cm-play-2nd { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--br); border-radius: var(--radius-pill); padding: 8px 15px; font-size: var(--fs-sm); font-weight: var(--fw-detalle); cursor: pointer; background: var(--sf); color: var(--tx-2); transition: transform .15s var(--ease-out), color .15s var(--ease-out), border-color .15s var(--ease-out); }
.cm-play-2nd:hover { color: var(--tx); border-color: var(--tx-3); }
.cm-play-2nd:active { transform: scale(.97); }
.cm-play-foot { display: flex; flex-wrap: wrap; gap: var(--sp-4); margin-bottom: var(--sp-2); }
.cm-play-link { display: inline-flex; align-items: center; gap: 6px; background: none; border: none; padding: 2px 0; font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-3); cursor: pointer; transition: color .15s var(--ease-out); }
.cm-play-link i { font-size:var(--fs-xs); }
.cm-play-link:hover, .cm-play-link.is-open { color: var(--gold-ink); }
.cm-play-rest, .cm-play-detailbox { display: grid; grid-template-rows: 0fr; margin-bottom: 0; transition: grid-template-rows .44s var(--ease-out), margin-bottom .3s var(--ease-out); }
.cm-play-rest.is-open, .cm-play-detailbox.is-open { grid-template-rows: 1fr; margin-bottom: var(--sp-3); }
.cm-play-rest > *, .cm-play-detailbox > * { overflow: hidden; min-height: 0; opacity: 0; transform: translateY(7px); filter: blur(6px); transition: opacity .34s var(--ease-out) .05s, transform .42s var(--ease-out) .05s, filter .34s var(--ease-out) .05s; }
.cm-play-rest.is-open > *, .cm-play-detailbox.is-open > * { opacity: 1; transform: none; filter: blur(0); }
.cm-exp-inner { display: flex; flex-direction: column; gap: 8px; }
.cm-play-row { display: flex; align-items: center; gap: 10px; padding: 9px 11px; border-radius: var(--radius-sm); background: var(--sf2); border: 1px solid var(--br); }
.cm-play-row > i { font-size:var(--fs-base); flex: none; width: 16px; text-align: center; margin-top: 1px; }
.cm-play-row.neg > i  { color: #ef4444; }
.cm-play-row.warn > i { color: #f59e0b; }
.cm-play-row.pos > i  { color: #10b981; }
.cm-play-row-tx { flex: 1; min-width: 0; }
.cm-play-row-t { font-size: var(--fs-base); color: var(--tx); line-height: 1.3; }
.cm-play-row-t b { font-weight: var(--fw-dato); }
.cm-play-row-s { font-size: var(--fs-sm); color: var(--tx-3); margin-top: 1px; line-height: 1.35; }
.cm-play-row-s b { font-weight: var(--fw-dato); color: var(--tx-2); }
.cm-play-row-eur { font-size: var(--fs-sm); font-weight: var(--fw-fuerte); color: var(--tx-2); flex: none; }
.cm-play-row-do { flex: none; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--br); background: var(--sf); color: var(--tx-3); cursor: pointer; display: grid; place-items: center; font-size:var(--fs-xs); transition: color .15s var(--ease-out), border-color .15s var(--ease-out), transform .15s var(--ease-out); }
.cm-play-row-do:hover { color: #10b981; border-color: #10b981; }
.cm-play-row-do:active { transform: scale(.9); }
@media (prefers-reduced-motion: reduce) {
  .cm-play-rest, .cm-play-detailbox { transition: none; }
  .cm-play-rest > *, .cm-play-detailbox > * { transition: none; opacity: 1; transform: none; filter: none; }
}
.cm-voice { display: inline-flex; flex: none; gap: 2px; padding: 2px; border-radius: var(--radius-pill); background: var(--sf2); border: 1px solid var(--br); margin-right: 6px; }
.cm-voice-btn { border: none; background: none; border-radius: var(--radius-pill); padding: 4px 11px; font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-3); cursor: pointer; transition: color .15s var(--ease-out), background .2s var(--ease-out); white-space: nowrap; }
.cm-voice-btn:hover { color: var(--tx); }
.cm-voice-btn:active { transform: scale(.96); }
.cm-voice-btn.on { color: #1c1c1c; background: var(--accent); }
.cm-play-sub.blunt { color: var(--tx); font-weight: var(--fw-detalle); }
@keyframes cm-blur-rise { from { opacity: 0; transform: translateY(10px) scale(.99); filter: blur(7px); } to { opacity: 1; transform: none; filter: blur(0); } }
.cm-anim-in .cm-play-hero { animation: none; }
.cm-anim-in .cm-play-row  { animation: none; }
@media (prefers-reduced-motion: reduce) { .cm-anim-in .cm-play-hero, .cm-anim-in .cm-play-row { animation: none; } }
.cm-mode-esencial .cm-brain-line, .cm-mode-esencial .cm-brief-pt, .cm-mode-esencial .cm-brain-body.is-ai { font-size: var(--fs-xl); line-height: 1.62; }
.cm-mode-esencial .cm-brain-title { font-size: var(--fs-xl); }
.cm-mode-esencial .cm-kpi-lbl { font-size: var(--fs-md); }
.cm-chat { margin-top: var(--sp-5); padding-top: var(--sp-4); border-top: 1px solid var(--br); }
.cm-chat-thread { display: none; flex-direction: column; gap: 10px; max-height: 340px; overflow-y: auto; margin-bottom: var(--sp-4); padding-right: 2px; }
.cm-chat-thread.has { display: flex; }
.cm-chat-msg { max-width: 86%; padding: 11px 15px; border-radius: 16px; font-size: var(--fs-md); line-height: 1.5; animation: cm-msg-in .28s var(--ease-out) both; }
.cm-chat-msg.user { align-self: flex-end; background: var(--accent); color: #1c1c1c; border-bottom-right-radius: 5px; font-weight: var(--fw-medium); }
.cm-chat-msg.ai { align-self: flex-start; background: var(--sf2); color: var(--tx); border: 1px solid var(--br); border-bottom-left-radius: 5px; }
.cm-chat-msg.ai b { font-weight: var(--fw-dato); }
.cm-chat-msg.ai p { margin: 0 0 6px; } .cm-chat-msg.ai p:last-child { margin: 0; }
.cm-chat-msg.ai ul { margin: 4px 0; padding-left: 18px; }
.cm-chat-typing { color: var(--tx-3); font-style: italic; }
@keyframes cm-msg-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.cm-chat-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.cm-chat-chips button { font-family: var(--font); font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-2); background: var(--sf2); border: 1px solid var(--br); border-radius: var(--radius-pill); padding: 5px 12px; cursor: pointer; transition: color .18s var(--ease-out), background .18s var(--ease-out), border-color .18s var(--ease-out); }
.cm-chat-chips button:hover { color: var(--gold-ink); background: var(--accent-bg); border-color: transparent; }
.cm-chat-chips button:active { transform: scale(.96); }
.cm-chat-bar { display: flex; align-items: center; gap: 8px; background: var(--sf2); border: 1px solid var(--br); border-radius: var(--radius-pill); padding: 5px 6px 5px 14px; transition: border-color .18s var(--ease-out), box-shadow .18s var(--ease-out); }
.cm-chat-bar:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-bg); }
.cm-chat-bar-ico { color: var(--gold-ink); font-size:var(--fs-base); flex: none; }
.cm-chat-bar input { flex: 1; border: none; background: transparent; outline: none; font-family: var(--font); font-size: var(--fs-md); color: var(--tx); min-width: 0; }
.cm-chat-bar input::placeholder { color: var(--tx-3); }
.cm-chat-send { flex: none; width: 32px; height: 32px; border-radius: 50%; border: none; background: var(--accent); color: #1c1c1c; cursor: pointer; display: grid; place-items: center; font-size:var(--fs-base); transition: transform .15s var(--ease-out), filter .18s var(--ease-out); }
.cm-chat-send:hover { filter: brightness(1.06); }
.cm-chat-send:active { transform: scale(.9); }
.cm-pulso { display: grid; grid-template-columns: 1fr; align-items: stretch; }
.cm-pulso:has(> :nth-child(2)) { grid-template-columns: 1fr auto; gap: var(--air-gap); }
.cm-pulso-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--air-gap); }
.cm-kpi { position: relative; background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius); padding: var(--air); display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.cm-kpi-accent { background: linear-gradient(160deg, var(--accent-bg), transparent 60%), var(--sf); }
.cm-kpi-ico { width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; background: var(--sf2); color: var(--gold-ink); font-size:var(--fs-base); margin-bottom: 2px; }
.cm-kpi-val { font-size: var(--fs-3xl); font-weight: var(--fw-fuerte); color: var(--tx); line-height: 1.05; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.cm-kpi-na { color: var(--tx-3); }
.cm-kpi-lbl { font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-2); }
.cm-kpi-sub { font-size: var(--fs-xs); color: var(--tx-3); }
.cm-kpi-empty .cm-kpi-val { font-size: var(--fs-2xl); }
.cm-card { overflow: hidden; }
.cm-card::after {                       
  content: ''; position: absolute; inset: 0; border-radius: inherit; z-index: 0; pointer-events: none;
  background: radial-gradient(70% 46% at 50% 116%, var(--cm-aura, transparent) 0%, transparent 70%);
}
.cm-card > * { position: relative; z-index: 2; }   
.cm-card--gold, .cm-card--ok, .cm-card--info, .cm-card--warn, .cm-card--alert { --cm-aura: transparent; }
.cm-card--gold  .cm-kpi-ico { background: color-mix(in srgb, var(--accent) 16%, transparent); color: var(--gold-ink); }
.cm-card--ok    .cm-kpi-ico { background: rgba(16,185,129,.16); color: var(--green); }
.cm-card--info  .cm-kpi-ico { background: rgba(96,165,250,.16); color: var(--blue); }
.cm-card--warn  .cm-kpi-ico { background: rgba(245,158,11,.18); color: var(--amber); }
.cm-card--alert .cm-kpi-ico { background: rgba(239,68,68,.16); color: var(--red); }
.cm-kpi-head { display: flex; align-items: center; gap: 9px; margin-bottom: 2px; }
.cm-kpi-head .cm-kpi-ico { margin-bottom: 0; flex: none; }
.cm-kpi-head .cm-kpi-lbl { font-weight: var(--fw-dato); color: var(--tx-2); }
.cm-kpi-spark { padding-top: 10px; height: calc(40px * var(--chart-scale, 1)); }
.cm-spark { display: block; width: 100%; height: 100%; }
.cm-kpi-seg { display: flex; height: 7px; border-radius: 999px; overflow: hidden; background: var(--sf2); margin-top: 9px; }
.cm-kpi-seg > span { display: block; height: 100%; transition: width .6s var(--ease-out); }
.cm-kpi-seg > span + span { box-shadow: inset 1.5px 0 0 var(--sf); }
.cm-kpi-seg > span.is-alert { background-image: repeating-linear-gradient(45deg, rgba(0,0,0,.30) 0 2px, transparent 2px 5px); }   
.cm-pulso-pro .cm-kpi-spark { height: 26px; padding-top: 5px; }
.cm-kpi-spark-lbl { display: block; margin-top: 5px; font-size: var(--fs-2xs); color: var(--tx-3); letter-spacing: .02em; }
.cm-spark.cm-draw { animation: none;   }
@keyframes cm-spark-fade { from { opacity: 0; } to { opacity: 1; } }
.cm-kpi-donut { display: flex; align-items: center; gap: 9px; margin-top: 8px; }
.cm-kpi-donut .cm-ring { width: 44px; height: 44px; }
.cm-kpi-donut-lbl { font-size: var(--fs-2xs); color: var(--tx-3); text-transform: uppercase; letter-spacing: .05em; font-weight: var(--fw-dato); }
.kpi-card.cm-card { background: var(--sf); backdrop-filter: none; -webkit-backdrop-filter: none;
  border: 1px solid var(--br-2); border-top: 1px solid var(--br-2); box-shadow: none; }
.kpi-card.cm-card:hover { box-shadow: none; border-color: var(--br-3, var(--br-2)); }
[data-theme="dark"] .kpi-card.cm-card { background: var(--sf); border: 1px solid var(--br-2);
  border-top: 1px solid var(--br-2); box-shadow: none; }
.kpi-card.cm-card .kpi-spark { margin-top: auto; }   
.kpi-card.cm-card .kpi-icon { display: none; }        
.cm-bank-accts { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: var(--sp-4); margin-bottom: var(--sp-5); }
.cm-bank-acct { padding: var(--sp-4) var(--sp-5); display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.cm-bank-acct-top { display: flex; align-items: center; gap: 10px; min-width: 0; }
.cm-bank-acct-name { font-weight: var(--fw-dato); color: var(--tx); font-size: var(--fs-md); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cm-bank-acct-iban { font-size: var(--fs-xs); color: var(--tx-3); font-variant-numeric: tabular-nums; }
.cm-bank-acct-bal { font-size: var(--fs-2xl); font-weight: var(--fw-fuerte); color: var(--tx); font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.cm-bank-txns { display: flex; flex-direction: column; gap: 1px; margin-bottom: var(--sp-5); }
.cm-bank-txn { display: flex; align-items: center; gap: 12px; padding: 11px var(--sp-4); border-radius: var(--radius-sm); transition: background .15s var(--ease-out); }
.cm-bank-txn:hover { background: var(--sf2); }
.cm-bank-txn-ico { width: 32px; height: 32px; border-radius: 9px; display: grid; place-items: center; font-size:var(--fs-sm); flex: none; }
.cm-bank-txn-ico.pos { background: rgba(16,185,129,.16); color: var(--green); }
.cm-bank-txn-ico.neg { background: rgba(239,68,68,.16); color: var(--red); }
.cm-bank-txn-main { flex: 1; min-width: 0; }
.cm-bank-txn-who { font-weight: var(--fw-detalle); color: var(--tx); font-size: var(--fs-sm); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cm-bank-txn-concept { font-size: var(--fs-xs); color: var(--tx-3); }
.cm-bank-txn-amt { font-weight: var(--fw-fuerte); font-variant-numeric: tabular-nums; font-size: var(--fs-md); flex: none; }
.cm-bank-txn-amt.pos { color: var(--green); }
.cm-bank-txn-amt.neg { color: var(--tx); }
.cm-bank-recon { background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius); padding: var(--sp-4) var(--sp-5); font-size: var(--fs-sm); color: var(--tx-2); line-height: 1.55; }
.cm-bank-recon i { color: var(--gold-ink); margin-right: 8px; }
.cm-bank-demochip { margin-left: auto; font-size: var(--fs-2xs); font-weight: var(--fw-dato); color: var(--gold-ink); background: color-mix(in srgb, var(--accent) 14%, transparent); padding: 3px 9px; border-radius: var(--radius-pill); display: inline-flex; align-items: center; gap: 5px; }
.cm-bank-empty { text-align: center; padding: var(--sp-7) var(--sp-5); max-width: 580px; margin: 0 auto; }
.cm-bank-empty-orb { width: 64px; height: 64px; border-radius: 18px; display: grid; place-items: center; margin: 0 auto var(--sp-4); font-size: 26px; color: var(--gold-ink); background: color-mix(in srgb, var(--accent) 12%, transparent); }
.cm-bank-empty-hint { margin-top: var(--sp-4); font-size: var(--fs-sm); color: var(--tx-2); }
.cm-bank-empty-hint i { color: var(--gold-ink); }
.cm-tend { font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx-3); white-space: nowrap; }
.cm-tend.pos { color: var(--estado-bien-ink); }
.cm-tend.neg { color: var(--estado-urgente-ink); }
.cm-tend em { font-style: normal; font-weight: var(--fw-detalle); color: var(--tx-3); }
.cm-health { display: flex; align-items: center; gap: var(--sp-4); background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius); padding: var(--sp-5); min-width: 260px; }
.cm-health-ring { position: relative; width: 96px; height: 96px; flex: none; }
.cm-health-meta { flex: 1 1 auto; min-width: 0; }
.cm-bi-diag .cm-health { width: 100%; gap: var(--sp-6); padding: var(--sp-6) var(--sp-7); align-items: center; }
.cm-bi-diag .cm-health-ring, .cm-bi-diag .cm-ring { width: 128px; height: 128px; }
.cm-health-verdict { font-size: var(--fs-lg); line-height: 1.45; color: var(--tx); margin-top: 12px; font-weight: var(--fw-detalle); }
.cm-health-verdict b { font-weight: var(--fw-fuerte); }
.cm-ring { width: 96px; height: 96px; transform: rotate(-90deg); }
.cm-ring-bg { fill: none; stroke: var(--br); stroke-width: 9; }
.cm-ring-fg { fill: none; stroke-width: 9; stroke-linecap: round; transition: stroke-dashoffset 1s var(--ease-out); }
.cm-health-center { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.cm-health-score { font-size: var(--fs-2xl); font-weight: var(--fw-fuerte); line-height: 1; font-variant-numeric: tabular-nums; }
.cm-health-word { font-size: var(--fs-2xs); font-weight: var(--fw-dato); text-transform: uppercase; letter-spacing: .06em; color: var(--tx-3); margin-top: 2px; }
.cm-health-title { font-size: var(--fs-md); font-weight: var(--fw-dato); color: var(--tx); margin-bottom: 8px; }
.cm-health-bits { display: flex; flex-direction: column; gap: 5px; }
.cm-health-bits span { font-size: var(--fs-sm); color: var(--tx-2); display: flex; align-items: center; gap: 7px; }
.cm-health-bits i { width: 14px; text-align: center; color: var(--tx-3); font-size:var(--fs-xs); }
.cm-alerts { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--sp-4); }
.cm-alert { display: flex; align-items: flex-start; gap: var(--sp-3); background: var(--sf); border: 1px solid var(--br);  border-radius: var(--radius-sm); padding: var(--sp-4) var(--sp-5); }
.cm-alert.neg .cm-alert-ico { color: #ef4444; }
.cm-alert.warn .cm-alert-ico { color: #f59e0b; }
.cm-alert.pos .cm-alert-ico { color: #10b981; }
.cm-alert.info .cm-alert-ico { color: #3b82f6; }
.cm-alert-ico { width: 30px; height: 30px; flex: none; border-radius: 9px; display: grid; place-items: center; font-size:var(--fs-base); background: var(--sf2); }
.cm-alert.neg .cm-alert-ico { color: #ef4444; }
.cm-alert.warn .cm-alert-ico { color: #f59e0b; }
.cm-alert.pos .cm-alert-ico { color: #10b981; }
.cm-alert.info .cm-alert-ico { color: #3b82f6; }
.cm-alert-h { font-size: var(--fs-md); font-weight: var(--fw-dato); color: var(--tx); }
.cm-alert-t { font-size: var(--fs-base); color: var(--tx-2); line-height: 1.4; margin-top: 2px; }
.cm-comova { background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius); padding: var(--sp-5); }
.cm-comova-pro { display: grid; grid-template-columns: 1fr 280px; gap: var(--sp-4); align-items: start; }
.cm-chart-wrap { position: relative; height: calc(210px * var(--chart-scale, 1)); }
.cm-movers { border-left: 1px solid var(--br); padding-left: var(--sp-4); }
.cm-movers-h { font-size: var(--fs-xs); font-weight: var(--fw-dato); text-transform: uppercase; letter-spacing: .06em; color: var(--tx-3); margin-bottom: 10px; }
.cm-mover { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); padding: 7px 0; border-bottom: 1px solid var(--br); font-size: var(--fs-sm); }
.cm-mover:last-child { border-bottom: none; }
.cm-mover-name { color: var(--tx); font-weight: var(--fw-detalle); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cm-mover-delta { font-weight: var(--fw-dato); font-variant-numeric: tabular-nums; flex: none; }
.cm-mover-delta.pos { color: var(--estado-bien-ink); }      
.cm-mover-delta.neg { color: var(--estado-urgente-ink); }   
.cm-cap { background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius); padding: var(--sp-5); }
.cm-cap-explain { font-size: var(--fs-base); color: var(--tx-2); line-height: 1.5; margin: 6px 0 var(--sp-4); }
.cm-cap-explain b { color: var(--tx); font-weight: var(--fw-dato); }
.cm-cap-row { display: grid; grid-template-columns: 84px 1fr 52px; grid-template-areas: "mes track util" "cap cap cap"; align-items: center; gap: 3px var(--sp-3); padding: 9px 10px; }
.cm-cap-mes { grid-area: mes; font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx); text-transform: capitalize; }
.cm-cap-cap { grid-area: cap; font-size: var(--fs-xs); color: var(--tx-3); line-height: 1.35; }
.cm-cap-track { grid-area: track; height: var(--bar-h, 10px); background: var(--sf2); border-radius: var(--radius-pill); overflow: hidden; }
.cm-cap-bar { display: block; height: 100%; border-radius: var(--radius-pill); transition: width .8s var(--ease-out); }
.cm-cap-util { grid-area: util; font-size: var(--fs-sm); font-weight: var(--fw-dato); text-align: right; font-variant-numeric: tabular-nums; }
.cm-cap-note { font-size: var(--fs-xs); color: var(--tx-3); margin-top: 10px; line-height: 1.4; }
.cm-cap-empty { background: var(--sf); border: 1px dashed var(--br-2); border-radius: var(--radius); padding: var(--sp-5); text-align: center; font-size: var(--fs-md); color: var(--tx-2); line-height: 1.5; }
.cm-cap-empty i { display: block; font-size: 26px; color: var(--tx-3); margin-bottom: 10px; }
.cm-recon { background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius); padding: var(--sp-5); }
.cm-recon-load, .cm-recon-off { display: flex; align-items: center; gap: var(--sp-3); font-size: var(--fs-sm); color: var(--tx-2); line-height: 1.4; }
.cm-recon-off i { color: var(--tx-3); }
.cm-recon-verdict { display: flex; align-items: center; gap: var(--sp-4); }
.cm-recon-dot { width: 14px; height: 14px; border-radius: 50%; flex: none; }
.cm-recon-vtxt { display: flex; flex-direction: column; gap: 1px; }
.cm-recon-vtxt b { font-size: var(--fs-lg); font-weight: var(--fw-dato); }
.cm-recon-vtxt span { font-size: var(--fs-sm); color: var(--tx-2); line-height: 1.4; }
.cm-recon-fresh { display: flex; flex-wrap: wrap; gap: var(--sp-3) var(--sp-5); margin-top: var(--sp-4); font-size: var(--fs-xs); color: var(--tx-3); }
.cm-recon-fresh-i { display: inline-flex; align-items: center; gap: 6px; }
.cm-recon-src { display: inline-flex; align-items: center; gap: 5px; font-weight: var(--fw-dato); padding: 1px 0; }
.cm-recon-src::before { content: ''; width: 7px; height: 7px; border-radius: 50%; }
.cm-recon-src-our { color: var(--tx); }        
.cm-recon-src-our::before { background: #3b82f6; }
.cm-recon-src-fab { color: var(--tx); }
.cm-recon-src-fab::before { background: var(--gold-ink); }
.cm-recon-note { font-size: var(--fs-xs); color: var(--tx-3); margin-top: 10px; display: flex; gap: 6px; align-items: flex-start; line-height: 1.4; }
.cm-recon-allok { margin-top: var(--sp-4); font-size: var(--fs-sm); color: var(--tx-2); display: flex; align-items: center; gap: 8px; }
.cm-recon-allok i { color: #10b981; }
.cm-recon-table { margin-top: var(--sp-4); font-variant-numeric: tabular-nums; }
.cm-recon-table thead .cm-recon-src-our, .cm-recon-table thead .cm-recon-src-fab { background: none; padding: 0; }
.cm-recon-table thead .cm-recon-src-our::before, .cm-recon-table thead .cm-recon-src-fab::before { display: none; }
.cm-recon-ym { font-weight: var(--fw-dato); color: var(--tx); }
.cm-recon-ym em { font-style: normal; font-weight: var(--fw-detalle); color: var(--tx-2); font-size: var(--fs-sm); }
.cm-recon-our, .cm-recon-fab { color: var(--tx-2); text-align: right; }
.cm-recon-diff { font-weight: var(--fw-dato); text-align: right; }
.cm-recon-cur .cm-recon-ym em { color: var(--tx-2); }
@media (max-width: 560px) { .cm-recon-table { font-size: var(--fs-xs); } }
.cm-team { background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius); padding: var(--sp-5); }
.cm-team-soon { font-size: var(--fs-sm); color: var(--tx-2); line-height: 1.5; margin-bottom: var(--sp-3); }
.cm-team-soon i { color: var(--gold-ink); margin-right: 6px; }
.cm-team-row { display: flex; gap: var(--sp-3); flex-wrap: wrap; }
.cm-team-card { width: 130px; border: 1px solid var(--br); border-radius: var(--radius-sm); padding: var(--sp-3); text-align: center; }
.cm-team-ghost { opacity: .5; }
.cm-team-av { width: 44px; height: 44px; border-radius: 50%; background: var(--sf2); display: grid; place-items: center; margin: 0 auto 8px; color: var(--tx-3); font-size:var(--fs-xl); }
.cm-team-name { font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx); }
.cm-team-stat { font-size: var(--fs-xs); color: var(--tx-3); }
.cm-mode-pro .cm-kpi-val { font-size: var(--fs-2xl); }
.cm-mode-pro .cm-block { gap: var(--sp-3); }
.cm-pulso-pro .cm-pulso-kpis { grid-template-columns: repeat(3, 1fr); }
.cm-pulso-pro .cm-kpi { padding: var(--sp-3); }
.cm-skel, .cm-skel-grid > div { background: linear-gradient(90deg, var(--sf2) 25%, var(--sf3) 37%, var(--sf2) 63%); background-size: 400% 100%; animation: cm-shimmer 1.4s ease infinite; border-radius: var(--radius-sm); height: 90px; }
.cm-skel-tall { height: 140px; }
.cm-skel-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-3); }
.cm-skel-note { color: var(--tx-2); font-size: var(--fs-sm); padding: var(--sp-4); text-align: center; }
@keyframes cm-shimmer { 0% { background-position: 100% 50%; } 100% { background-position: 0 50%; } }
.cm-soon { max-width: 520px; margin: 8vh auto 0; text-align: center; padding: var(--sp-5); }
.cm-soon-orb { width: 72px; height: 72px; border-radius: 50%; display: grid; place-items: center; margin: 0 auto var(--sp-4); background: var(--accent-bg); color: var(--gold-ink); font-size:var(--fs-3xl); }
.cm-soon-title { font-size: var(--fs-2xl); font-weight: var(--fw-fuerte); color: var(--tx); margin-bottom: var(--sp-3); }
.cm-soon-text { font-size: var(--fs-lg); color: var(--tx-2); line-height: 1.6; margin-bottom: var(--sp-4); }
.cm-soon-btn { display: inline-flex; align-items: center; gap: 8px; }
.nav-item.nav-soon { opacity: .62; }
.nav-item.nav-soon:hover { opacity: .85; }
.nav-soon-chip { margin-left: auto; font-size:var(--fs-sm); font-weight: var(--fw-dato); text-transform: uppercase; letter-spacing: .05em; color: var(--gold-ink); background: var(--accent-bg); border-radius: var(--radius-pill); padding: 2px 7px; }
.nav-soon-chip--demo { color: rgba(255,255,255,.55); background: rgba(255,255,255,.09); }
.nav-obras-n { margin-left: auto; font-size: var(--fs-sm); font-weight: var(--fw-dato); color: rgba(255,255,255,.55);
  background: rgba(255,255,255,.09); border-radius: var(--radius-pill); padding: 2px 8px; font-variant-numeric: tabular-nums; }
.nav-obras-chev { font-size: var(--fs-2xs); color: rgba(255,255,255,.45); transition: transform var(--dur-fast) var(--ease-out); }
.nav-obras-cab.abierta .nav-obras-chev { transform: rotate(180deg); }
.nav-obras .nav-item { padding-left: calc(var(--sp-5) + 18px); font-size: var(--fs-sm); }
.nav-obras { margin: 2px 10px 4px 26px; border-left: 1px solid rgba(255,255,255,.12); padding-left: 4px; }
.nav-item.active .nav-soon-chip--demo { color: rgba(255,255,255,.7); background: rgba(255,255,255,.14); }
@media (max-width: 820px) {
  .cm-pulso { grid-template-columns: 1fr; }
  .cm-pulso-kpis { grid-template-columns: 1fr; }
  .cm-health { min-width: 0; }
  .cm-comova-pro { grid-template-columns: 1fr; }
  .cm-movers { border-left: none; border-top: 1px solid var(--br); padding-left: 0; padding-top: var(--sp-3); margin-top: var(--sp-3); }
  .cm-skel-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .cm-block, .cm-cap-bar, .cm-ring-fg, .cm-kpi, .cm-skel, .cm-skel-grid > div,
  .cm-chat-msg, .cm-brain-thinking::after, .cm-brain-refresh, .cm-brain-body { animation: none !important; transition: none !important; }
  .cm-brain-thinking::after { content: 'La IA está afinando…'; -webkit-text-fill-color: var(--tx-3); }
}
.cm-alert-act { position: relative; }
.cm-alert-menu-btn {
  position: absolute; top: 6px; right: 6px;
  width: 26px; height: 26px; flex: none; border: none; cursor: pointer;
  border-radius: var(--radius-sm); background: transparent; color: var(--tx-3);
  display: grid; place-items: center; font-size:var(--fs-base);
  opacity: .6; transition: opacity .16s var(--ease-out), background .16s var(--ease-out), color .16s var(--ease-out), transform .12s var(--ease-out);
}
.cm-alert-act:hover .cm-alert-menu-btn,
.cm-alert-menu-btn:focus-visible { opacity: 1; }
.cm-alert-menu-btn:hover { background: var(--sf2); color: var(--tx); }
.cm-alert-menu-btn:active { transform: scale(.92); }
@media (hover: none) { .cm-alert-menu-btn { opacity: .6; } }
.cm-alert-menu {
  position: fixed; z-index: 4000; width: 250px; max-width: calc(100vw - 16px);
  background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius-sm);
  box-shadow: var(--shadow); padding: var(--sp-3); color: var(--tx);
  transform-origin: top right;
}
.cm-alert-menu-title { font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx-2); display: flex; align-items: center; gap: 6px; padding: 2px 2px var(--sp-2); }
.cm-alert-menu-title i { color: var(--gold-ink); font-size:var(--fs-sm); }
.cm-alert-menu-acts { display: flex; flex-direction: column; gap: 4px; }
.cm-alert-menu-act {
  display: flex; align-items: center; gap: 8px; width: 100%; text-align: left;
  border: 1px solid transparent; background: var(--sf2); color: var(--tx);
  border-radius: var(--radius-sm); padding: var(--sp-2) var(--sp-3); cursor: pointer;
  font-size: var(--fs-sm); font-weight: var(--fw-detalle);
  transition: background .14s var(--ease-out), border-color .14s var(--ease-out), transform .1s var(--ease-out);
}
.cm-alert-menu-act small { margin-left: auto; font-weight: var(--fw-medium); color: var(--tx-3); font-size:var(--fs-xs); }
.cm-alert-menu-act i { width: 16px; text-align: center; font-size:var(--fs-sm); }
.cm-alert-menu-act:hover { background: var(--accent-bg); }
.cm-alert-menu-act:active { transform: scale(.98); }
.cm-alert-menu-act.park i { color: #f59e0b; }
.cm-alert-menu-act.watch i { color: #10b981; }
.cm-alert-menu-act.sel { border-color: var(--gold-ink); background: var(--accent-bg); }
.cm-alert-menu-reason { margin-top: var(--sp-3); display: flex; flex-direction: column; gap: 6px; }
.cm-alert-menu-rlbl { font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-2); }
.cm-alert-menu-rlbl span { font-weight: var(--fw-medium); color: var(--tx-3); }
.cm-alert-menu-rtxt {
  width: 100%; resize: none; font: inherit; font-size: var(--fs-sm); color: var(--tx);
  background: var(--sf2); border: 1px solid var(--br); border-radius: var(--radius-sm);
  padding: var(--sp-2) var(--sp-3); line-height: 1.4;
  transition: border-color .14s var(--ease-out);
}
.cm-alert-menu-rtxt:focus { outline: none; border-color: var(--gold-ink); }
.cm-alert-menu-foot { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.cm-alert-menu-cancel {
  border: none; background: none; cursor: pointer; color: var(--tx-3);
  font-size: var(--fs-sm); font-weight: var(--fw-detalle); padding: var(--sp-2) var(--sp-2); border-radius: var(--radius-sm);
  transition: color .14s var(--ease-out);
}
.cm-alert-menu-cancel:hover { color: var(--tx); }
.cm-alert-menu-save {
  display: inline-flex; align-items: center; gap: 6px; border: none; cursor: pointer;
  background: var(--gold-ink); color: #1c1c1c; font-weight: var(--fw-dato); font-size: var(--fs-sm);
  padding: var(--sp-2) var(--sp-4); border-radius: var(--radius-pill);
  transition: transform .1s var(--ease-out), filter .14s var(--ease-out);
}
.cm-alert-menu-save:hover { filter: brightness(1.05); }
.cm-alert-menu-save:active { transform: scale(.97); }
.cm-alert-menu-save:disabled { opacity: .6; cursor: default; }
.cm-alert-menu.cm-pop-in { animation: cm-pop-in .18s var(--ease-out) both; }
@keyframes cm-pop-in { from { opacity: 0; transform: scale(.96) translateY(-4px); } to { opacity: 1; transform: none; } }
.cm-park {
  border: 1px dashed var(--br); border-radius: var(--radius); background: var(--sf);
  overflow: hidden; margin-top: var(--sp-2);
}
.cm-park-head {
  display: flex; align-items: center; gap: var(--sp-3); width: 100%; text-align: left;
  border: none; background: none; cursor: pointer; color: var(--tx);
  padding: var(--sp-4) var(--sp-5); font: inherit;
  transition: background .14s var(--ease-out);
}
.cm-park-head:hover { background: var(--sf2); }
.cm-park-head-ico { color: var(--tx-3); font-size:var(--fs-md); flex: none; }
.cm-park-head-txt { font-size: var(--fs-md); font-weight: var(--fw-dato); display: inline-flex; align-items: center; gap: 8px; }
.cm-park-count {
  font-size:var(--fs-xs); font-weight: var(--fw-dato); background: var(--sf2); color: var(--tx-2);
  border: 1px solid var(--br); border-radius: var(--radius-pill); padding: 0 8px; min-width: 20px; text-align: center;
}
.cm-park-head-sub { font-size: var(--fs-sm); color: var(--tx-3); margin-left: 2px; }
.cm-park-chev { margin-left: auto; color: var(--tx-3); font-size:var(--fs-sm); transition: transform .2s var(--ease-out); flex: none; }
.cm-park.is-open .cm-park-chev { transform: rotate(180deg); }
.cm-park-list {
  display: grid; grid-template-rows: 0fr; gap: 0;
  padding: 0 var(--sp-5); opacity: 0;
  transition: grid-template-rows .26s var(--ease-out), opacity .2s var(--ease-out), padding .26s var(--ease-out);
}
.cm-park-list > * { overflow: hidden; }
.cm-park.is-open .cm-park-list {
  grid-template-rows: 1fr; opacity: 1;
  padding: 0 var(--sp-5) var(--sp-5);
  display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--sp-3);
}
.cm-park:not(.is-open) .cm-park-list { display: none; }
.cm-park-card {
  position: relative; display: flex; align-items: flex-start; gap: var(--sp-3);
  background: var(--sf2); border: 1px solid var(--br);   
  border-radius: var(--radius-sm); padding: var(--sp-3) var(--sp-4); opacity: .92;
}
.cm-park-card.neg .cm-park-ico { color: #ef4444; }
.cm-park-card.warn .cm-park-ico { color: #f59e0b; }
.cm-park-card.pos .cm-park-ico { color: #10b981; }
.cm-park-ico { width: 28px; height: 28px; flex: none; border-radius: 9px; display: grid; place-items: center; font-size:var(--fs-sm); background: var(--sf); color: var(--tx-3); }
.cm-park-card.neg .cm-park-ico { color: #ef4444; }
.cm-park-card.warn .cm-park-ico { color: #f59e0b; }
.cm-park-card.pos .cm-park-ico { color: #10b981; }
.cm-park-body { flex: 1; min-width: 0; }
.cm-park-h { font-size: var(--fs-md); font-weight: var(--fw-dato); color: var(--tx); }
.cm-park-t { font-size: var(--fs-sm); color: var(--tx-2); line-height: 1.4; margin-top: 2px; }
.cm-park-reason { font-size: var(--fs-sm); color: var(--tx-3); font-style: italic; margin-top: 6px; line-height: 1.4; }
.cm-park-reason i { font-size:var(--fs-2xs); margin-right: 4px; opacity: .7; }
.cm-park-up {
  flex: none; align-self: flex-start; display: inline-flex; align-items: center; gap: 5px;
  border: 1px solid var(--br); background: var(--sf); color: var(--tx-2); cursor: pointer;
  font-size:var(--fs-xs); font-weight: var(--fw-dato); padding: 4px 9px; border-radius: var(--radius-pill);
  transition: color .14s var(--ease-out), border-color .14s var(--ease-out), background .14s var(--ease-out), transform .1s var(--ease-out);
}
.cm-park-up:hover { color: var(--gold-ink); border-color: var(--gold-ink); background: var(--accent-bg); }
.cm-park-up:active { transform: scale(.96); }
[data-theme="dark"] .cm-alert-menu { background: var(--sf); border-color: var(--br); box-shadow: 0 8px 28px rgba(0,0,0,.55), 0 2px 6px rgba(0,0,0,.4); }
[data-theme="dark"] .cm-alert-menu-act.park i { color: #f0b54a; }
[data-theme="dark"] .cm-alert-menu-act.watch i { color: #4ade80; }
[data-theme="dark"] .cm-alert-menu-act.sel { border-color: var(--accent); }
[data-theme="dark"] .cm-alert-menu-rtxt:focus { border-color: var(--accent); }
[data-theme="dark"] .cm-alert-menu-save { background: var(--accent); }
[data-theme="dark"] .cm-park-card.neg .cm-park-ico { color: #f87171; }
[data-theme="dark"] .cm-park-card.warn .cm-park-ico { color: #f0b54a; }
[data-theme="dark"] .cm-park-card.pos .cm-park-ico { color: #4ade80; }
[data-theme="dark"] .cm-park-card.neg .cm-park-ico { color: #f87171; }
[data-theme="dark"] .cm-park-card.warn .cm-park-ico { color: #f0b54a; }
[data-theme="dark"] .cm-park-card.pos .cm-park-ico { color: #4ade80; }
[data-theme="dark"] .cm-park-up:hover { color: var(--accent); border-color: var(--accent); }
.cm-alert-menu-btn, .cm-park-head, .cm-park-up, .cm-alert-menu-act, .cm-alert-menu-save { -webkit-tap-highlight-color: transparent; }
@media (prefers-reduced-motion: reduce) {
  .cm-alert-menu.cm-pop-in { animation: none; }
  .cm-park-list, .cm-park-chev, .cm-alert-menu-btn, .cm-park-up, .cm-alert-menu-act, .cm-alert-menu-save { transition: none; }
}
.cm-brainbar { margin-bottom: var(--sp-3); border: 1px solid var(--br); border-radius: var(--radius); background: var(--sf); overflow: hidden; }
.cm-brainbar-row { display: flex; align-items: flex-start; gap: var(--sp-3); padding: var(--sp-4) var(--sp-5); }
.cm-brainbar-row[role="button"] { cursor: pointer; transition: background .18s var(--ease-out); }
.cm-brainbar-row[role="button"]:hover { background: var(--accent-bg); }
.cm-brainbar-row[role="button"]:active { transform: scale(.99); }
.cm-brainbar-ico { flex: none; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; font-size:var(--fs-md); background: var(--accent-bg); color: var(--gold-ink); margin-top: 1px; }
.cm-brainbar-main { flex: 1; min-width: 0; }
.cm-brainbar-head { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); margin-bottom: 8px; }
.cm-brainbar-title { font-size: var(--fs-md); font-weight: var(--fw-detalle); color: var(--tx); }
.cm-brainbar-pct { font-weight: var(--fw-fuerte); }
.cm-brainbar-cta { flex: none; display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--gold-ink); background: var(--accent-bg); border: 1px solid var(--br); border-radius: var(--radius-pill); padding: 5px 12px; cursor: pointer; transition: background .18s var(--ease-out), transform .18s var(--ease-out); }
.cm-brainbar-cta:hover { background: var(--accent); color: #1c1c1c; }
.cm-brainbar-cta:active { transform: scale(.97); }
.cm-brainbar-track { height: var(--bar-h, 8px); border-radius: var(--radius-pill); background: var(--br); overflow: hidden; }
.cm-brainbar-fill { height: 100%; border-radius: var(--radius-pill); transition: width .5s var(--ease-out); }
.cm-brainbar-sub { margin-top: 8px; font-size: var(--fs-base); color: var(--tx-2); line-height: 1.45; }
.cm-brainbar-sub b { font-weight: var(--fw-dato); color: var(--tx); }
.cm-brainbar.cb-bar-low .cm-brainbar-fill { background: linear-gradient(90deg, #ef4444, #f87171); }
.cm-brainbar.cb-bar-mid .cm-brainbar-fill { background: linear-gradient(90deg, #f59e0b, var(--accent)); }
.cm-brainbar.cb-bar-ok  .cm-brainbar-fill { background: linear-gradient(90deg, #10b981, #34d399); }
.cm-brainbar.cb-bar-low .cm-brainbar-ico { background: rgba(239,68,68,.10); color: #b91c1c; }
.cm-brainbar.cb-bar-ok  .cm-brainbar-ico { background: rgba(16,185,129,.10); color: #047857; }
.cm-brainbar-edit { padding: 0 var(--sp-5) var(--sp-4) calc(var(--sp-5) + 34px + var(--sp-3)); }
.cm-brainbar-edit[hidden] { display: none; }
.cm-brainbar-q { font-size: var(--fs-sm); color: var(--tx); line-height: 1.5; margin-bottom: 8px; display: flex; gap: 7px; align-items: flex-start; }
.cm-brainbar-q i { color: var(--tx-3); margin-top: 2px; flex: none; }
.cm-brainbar-form { display: flex; flex-direction: column; gap: 8px; }
.cm-brainbar-input { width: 100%; resize: vertical; font: inherit; font-size: var(--fs-sm); color: var(--tx); background: var(--sf2, var(--sf)); border: 1px solid var(--br); border-radius: var(--radius-sm, 10px); padding: 8px 10px; line-height: 1.45; transition: border-color .18s var(--ease-out); }
.cm-brainbar-input:focus { outline: none; border-color: var(--accent); }
.cm-brainbar-actions { display: flex; gap: 8px; align-items: center; }
.cm-brainbar-save { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: #1c1c1c; background: var(--accent); border: none; border-radius: var(--radius-pill); padding: 7px 16px; cursor: pointer; transition: transform .18s var(--ease-out), filter .18s var(--ease-out); }
.cm-brainbar-save:hover { filter: brightness(1.04); }
.cm-brainbar-save:active { transform: scale(.97); }
.cm-brainbar-save:disabled { opacity: .55; cursor: default; }
.cm-brainbar-skip { font-size: var(--fs-sm); color: var(--tx-3); background: none; border: none; cursor: pointer; padding: 7px 6px; transition: color .18s var(--ease-out); }
.cm-brainbar-skip:hover { color: var(--tx-2); }
.cm-brainbar.is-open .cm-brainbar-edit:not([hidden]) { animation: cm-brainbar-in .26s var(--ease-out) both; }
@keyframes cm-brainbar-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
[data-theme="dark"] .cm-brainbar { background: var(--sf); }
[data-theme="dark"] .cm-brainbar-track { background: rgba(255,255,255,.10); }
[data-theme="dark"] .cm-brainbar-ico { color: var(--accent); }
[data-theme="dark"] .cm-brainbar-cta { color: var(--accent); }
[data-theme="dark"] .cm-brainbar-cta:hover { color: #1c1c1c; }
[data-theme="dark"] .cm-brainbar.cb-bar-low .cm-brainbar-fill { background: linear-gradient(90deg, #f87171, #fca5a5); }
[data-theme="dark"] .cm-brainbar.cb-bar-mid .cm-brainbar-fill { background: linear-gradient(90deg, #fbbf24, var(--accent)); }
[data-theme="dark"] .cm-brainbar.cb-bar-ok  .cm-brainbar-fill { background: linear-gradient(90deg, #34d399, #6ee7b7); }
[data-theme="dark"] .cm-brainbar.cb-bar-low .cm-brainbar-ico { background: rgba(248,113,113,.14); color: #fca5a5; }
[data-theme="dark"] .cm-brainbar.cb-bar-ok  .cm-brainbar-ico { background: rgba(52,211,153,.14); color: #6ee7b7; }
[data-theme="dark"] .cm-brainbar-input { background: rgba(255,255,255,.04); }
@media (prefers-reduced-motion: reduce) {
  .cm-brainbar-fill { transition: none; }
  .cm-brainbar.is-open .cm-brainbar-edit:not([hidden]) { animation: none; }
}
.goal-streak {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--gold-ink);
  padding: 4px 12px; border-radius: var(--radius-pill);
  background: var(--accent-bg); border: 1px solid transparent;
  line-height: 1; white-space: nowrap;
}
.goal-streak-fire { font-size:var(--fs-md); line-height: 1; display: inline-block; }
[data-theme="dark"] .goal-streak { color: var(--accent); }
.cm-pulso .cm-kpi-val, .cm-pulso-kpis .cm-kpi-val { font-size: var(--kpi-val-size); }
.cm-mode-esencial .cm-brain { padding: var(--sp-6) var(--sp-7); }
.cm-mode-esencial .cm-brain-head { gap: var(--sp-4); margin-bottom: var(--sp-4); }
.cm-mode-esencial .cm-brain-orb { width: 50px; height: 50px; font-size: 21px; }
.cm-mode-esencial .cm-brain-title { font-size: clamp(1.7rem, 3.2vw, 2.5rem); line-height: 1.08; letter-spacing: -.02em; }
.cm-mode-esencial .cm-brain-sub { font-size: var(--fs-lg); margin-top: 4px; }
.cm-mode-esencial .cm-chat { margin-top: var(--sp-6); padding-top: var(--sp-5); }
.cm-mode-esencial .cm-chat-bar { padding: 10px 10px 10px 20px; border-radius: 18px; }
.cm-mode-esencial #cm-chat-input { font-size: var(--fs-md); }
.cm-mode-esencial .cm-chat-bar-ico { font-size:var(--fs-lg); }
.cm-mode-esencial .cm-chat-send { width: 40px; height: 40px; flex: none; }
.cm-mode-esencial .cm-pulso .cm-kpi, .cm-mode-esencial .cm-pulso-kpis .cm-kpi { padding: var(--sp-5) var(--sp-6); container-type: inline-size; }
.cm-mode-esencial .cm-pulso .cm-kpi-val, .cm-mode-esencial .cm-pulso-kpis .cm-kpi-val { font-size: clamp(1.7rem, 19cqi, 2.7rem); line-height: 1; }
.cm-mode-esencial .cm-pulso .cm-kpi, .cm-mode-esencial .cm-pulso-kpis .cm-kpi { transition: transform .18s var(--ease-out), box-shadow .18s var(--ease-out); }
.cm-mode-esencial .cm-pulso .cm-kpi:active, .cm-mode-esencial .cm-pulso-kpis .cm-kpi:active { transform: translateY(-1px) scale(.99); }
@media (prefers-reduced-motion: reduce) { .cm-mode-esencial .cm-pulso .cm-kpi:hover, .cm-mode-esencial .cm-pulso-kpis .cm-kpi:hover, .cm-mode-esencial .cm-pulso .cm-kpi:active, .cm-mode-esencial .cm-pulso-kpis .cm-kpi:active { transform: none; } }
.cm-pulso-pro .cm-kpi-val { font-size: var(--fs-2xl); }   
@media (min-width: 481px) and (max-width: 820px) {
  .cm-pulso-kpis,
  .cm-pulso-pro .cm-pulso-kpis { grid-template-columns: repeat(2, 1fr); }
}
.kpix-cf-bar.kpix-bar-grow,
.kpix-debtor-track i.kpix-bar-grow {
  width: var(--bar-w, 0%);
  animation: kpix-bar-grow var(--dur-3, .6s) var(--ease-out, cubic-bezier(.23,1,.32,1)) both;
  animation-delay: calc(var(--bar-i, 0) * 60ms);
}
@keyframes kpix-bar-grow {
  from { width: 0%; }
  to   { width: var(--bar-w, 0%); }
}
@media (prefers-reduced-motion: reduce) {
  .kpix-cf-bar.kpix-bar-grow,
  .kpix-debtor-track i.kpix-bar-grow { animation: none; width: var(--bar-w, 0%); }
}
#gm-grid.gm-stagger-js .grid-stack-item {
  animation: none !important;   
  opacity: 0;                   
}
@media (prefers-reduced-motion: reduce) {
  #gm-grid.gm-stagger-js .grid-stack-item { opacity: 1; animation: none !important; }
}
.tk-task.tk-celebrate { animation: tkCelebratePop var(--dur-3, 360ms) var(--ease-out, cubic-bezier(.23,1,.32,1)) both; position: relative; }
.tk-task.tk-celebrate::after {
  content: "\f00c";                                  
  font-family: "Font Awesome 6 Free"; font-weight: var(--fw-black);
  position: absolute; top: 50%; right: var(--sp-3); transform: translateY(-50%);
  font-size: var(--fs-lg, 18px); color: #16a34a;
  pointer-events: none;
  animation: tkCelebrateCheck var(--dur-3, 360ms) var(--ease-out, cubic-bezier(.23,1,.32,1)) both;
}
@keyframes tkCelebratePop {
  0%   { transform: scale(1.012) translateY(-2px); opacity: 1; box-shadow: 0 0 0 2px rgba(22,163,74,.22); }
  55%  { transform: scale(1) translateY(0);        opacity: .9; box-shadow: 0 0 0 4px rgba(22,163,74,.08); }
  100% { transform: scale(1) translateY(0);        opacity: .6; box-shadow: 0 0 0 0 rgba(22,163,74,0); }
}
@keyframes tkCelebrateCheck {
  0%   { opacity: 0; transform: translateY(-50%) scale(.6); }
  45%  { opacity: 1; transform: translateY(-50%) scale(1.15); }
  100% { opacity: 0; transform: translateY(-50%) scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  .tk-task.tk-celebrate { animation: none; }
  .tk-task.tk-celebrate::after { content: none; animation: none; }
}
.cf-slide.on { transition: opacity .3s var(--ease-out), transform .42s var(--bx-spring); will-change: transform, opacity; }
@media (prefers-reduced-motion: reduce) {
  .tut-scrim { transition: none; will-change: auto; }
  .cf-slide, .cf-slide.on { transition: opacity .2s ease; transform: none; will-change: auto; }
  .cf-slide.prev { transform: none; }
}
.cm-horno-wrap { display: grid; place-items: center; gap: var(--sp-4); padding: var(--sp-6) var(--sp-4); text-align: center; }
.cm-horno { width: 120px; height: 120px; display: block; overflow: visible; }
.cm-horno-body { fill: var(--sf); stroke: var(--br); stroke-width: 2; }
.cm-horno-inset { fill: none; stroke: rgba(255,255,255,0.06); stroke-width: 1; }
.cm-horno-mouth { fill: none; stroke: var(--br); stroke-width: 2; stroke-linecap: round; }
.cm-horno-pan { fill: var(--accent); transform-box: fill-box; transform-origin: 50% 100%; }
.cm-horno-arc {
  fill: none; stroke: var(--accent); stroke-width: 3; stroke-linecap: round;
  stroke-dasharray: 70 230; transform-box: fill-box; transform-origin: 50% 50%; opacity: .9;
}
.cm-horno-loaf  { transform-box: fill-box; transform-origin: 50% 100%; }
.cm-horno-patty { fill: #8a5a2b; transform-box: fill-box; transform-origin: 50% 0%; opacity: 0; }
.cm-horno-bunb  { fill: #e6a800; transform-box: fill-box; transform-origin: 50% 0%; opacity: 0; }
.cm-horno-seeds { fill: #fff7e0; opacity: 0; }
[data-theme="dark"] .cm-horno-patty { fill: #74471f; }
[data-theme="dark"] .cm-horno-bunb  { fill: #d99a00; }
.cm-horno.is-loading .cm-horno-arc { animation: cm-horno-spin 1.25s linear infinite; }
.cm-horno.is-static  .cm-horno-arc { stroke-dasharray: none; opacity: .16; animation: none; }
.cm-horno.is-loading .cm-horno-loaf { animation: cm-horno-bake 3.6s ease-in-out infinite; }
.cm-horno.is-static  .cm-horno-loaf { animation: none; transform: translateY(-10px); }
.cm-horno.is-loading .cm-horno-patty,
.cm-horno.is-loading .cm-horno-bunb  { animation: cm-horno-stack 3.6s cubic-bezier(.34,1.56,.64,1) infinite; }
.cm-horno.is-loading .cm-horno-seeds { animation: cm-horno-seeds 3.6s ease-in-out infinite; }
.cm-horno.is-done .cm-horno-arc { animation: cm-horno-seal .55s var(--ease-out, cubic-bezier(.23,1,.32,1)) forwards; }
.cm-horno.is-done .cm-horno-pan { animation: cm-horno-rise .6s cubic-bezier(.34,1.56,.64,1) forwards; }
.cm-horno-beat-wrap.is-live .cm-horno-loaf  { animation: none; transform: none; }
.cm-horno-beat-wrap.is-live .cm-horno-patty,
.cm-horno-beat-wrap.is-live .cm-horno-bunb,
.cm-horno-beat-wrap.is-live .cm-horno-seeds { animation: none; opacity: 0; }
.cm-horno-beat-wrap:not(.is-live) { animation: none; }   
.cm-horno-cap { color: var(--tx-2); font-size: var(--fs-sm); max-width: 280px; line-height: 1.5; }
@keyframes cm-horno-spin   { to { transform: rotate(360deg); } }
@keyframes cm-horno-seal { 0% { stroke-dasharray: 70 230; opacity: .9; transform: rotate(0); } 100% { stroke-dasharray: 300 0; opacity: 1; transform: rotate(180deg); } }
@keyframes cm-horno-rise { 0% { transform: translateY(0) scale(1); } 60% { transform: translateY(-4px) scale(1.015); } 100% { transform: translateY(-4px) scale(1); } }
@keyframes cm-horno-bake {
  0%   { transform: translateY(3px) scale(.45); }
  15%  { transform: translateY(0)    scale(1.06); }
  23%  { transform: translateY(0)    scale(1); }
  38%  { transform: translateY(-10px) scale(1); }
  70%  { transform: translateY(-10px) scale(1); }
  84%  { transform: translateY(0)    scale(1); }
  100% { transform: translateY(3px)  scale(.45); }
}
@keyframes cm-horno-stack {
  0%, 33%   { transform: scaleY(0); opacity: 0; }
  47%       { transform: scaleY(1); opacity: 1; }
  68%       { transform: scaleY(1); opacity: 1; }
  79%, 100% { transform: scaleY(0); opacity: 0; }
}
@keyframes cm-horno-seeds { 0%, 42% { opacity: 0; } 54%, 64% { opacity: .92; } 76%, 100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  .cm-horno .cm-horno-arc, .cm-horno .cm-horno-loaf,
  .cm-horno .cm-horno-patty, .cm-horno .cm-horno-bunb, .cm-horno .cm-horno-seeds { animation: none !important; }
  .cm-horno .cm-horno-patty, .cm-horno .cm-horno-bunb, .cm-horno .cm-horno-seeds { opacity: 0; }
  .cm-horno.is-loading .cm-horno-arc { stroke-dasharray: 70 230; opacity: .7; }
}
.cm-horno-state { max-width: 580px; margin: 5vh auto 0; text-align: center; padding: var(--sp-5); }
.cm-horno-state .cm-horno { width: 180px; height: 180px; }
@media (max-width: 560px){ .cm-horno-state .cm-horno { width: 140px; height: 140px; } }
.cm-horno-state .cm-soon-title { margin-top: var(--sp-3); }
.cm-horno-beat-wrap { display: inline-block; animation: cm-beat 2.6s var(--ease-in-out, cubic-bezier(.77,0,.175,1)) infinite; will-change: transform; }
.cm-horno-beat-wrap.is-live { animation-duration: 1.7s; }
.cm-horno-beat-wrap.is-live .cm-horno-pan { animation: cm-horno-heat 1.7s var(--ease-in-out, cubic-bezier(.77,0,.175,1)) infinite; }
.cm-horno-live { display: flex; align-items: center; gap: var(--sp-4); }
.cm-horno-live .cm-horno-beat-wrap { flex-shrink: 0; }
.cm-horno-live .cm-horno { width: 76px; height: 76px; }
.cm-horno-livenum { font-size: var(--fs-3xl); font-weight: var(--fw-fuerte); color: var(--tx); line-height: 1.05; }
.cm-horno-livelbl { font-size: var(--fs-sm); color: var(--tx-2); margin-top: 2px; }
@keyframes cm-beat { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.045); } }
@keyframes cm-horno-heat { 0%, 100% { fill: var(--accent); } 50% { fill: #ff8c1a; } }
@media (prefers-reduced-motion: reduce) {
  .cm-horno-beat-wrap, .cm-horno-beat-wrap.is-live .cm-horno-pan { animation: none !important; }
}
.cm-brainbar-track { position: relative; }
.cm-brainbar-goal { position: absolute; top: 0; bottom: 0; width: 2px; transform: translateX(-1px); background: var(--tx-3); opacity: .5; border-radius: 2px; z-index: 2; pointer-events: none; }
[data-theme="dark"] .cm-brainbar-goal { background: rgba(255,255,255,.45); }
.cm-brainbar-mission { display: flex; align-items: flex-start; gap: 7px; margin-top: 8px; font-size: var(--fs-base); color: var(--tx-2); line-height: 1.45; }
.cm-brainbar-mission i { color: var(--gold-ink); margin-top: 2px; flex: none; }
.cm-brainbar-mission b { color: var(--tx); font-weight: var(--fw-dato); }
.cm-brainbar-mission-left { color: var(--tx-3); }
.cm-brainbar-mission.is-done i { color: #f59e0b; }
[data-theme="dark"] .cm-brainbar-mission i { color: var(--accent); }
#cm-return-host { position: fixed; top: calc(var(--sp-5) + env(safe-area-inset-top, 0px)); right: var(--sp-5); z-index: 1200; display: flex; flex-direction: column; gap: 10px; pointer-events: none; max-width: min(360px, calc(100vw - var(--sp-6))); }
.cm-return-toast { pointer-events: auto; display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; border-radius: var(--radius); background: var(--sf); border: 1px solid var(--br); box-shadow: var(--shadow-lg); animation: cm-return-in .28s var(--ease-out) both; }
.cm-return-toast.out { animation: cm-return-out .34s var(--ease-out, ease) both; }
.cm-return-ico { flex: none; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; font-size: 15px; color: #047857; background: rgba(16,185,129,.12); }
.cm-return-body { flex: 1; min-width: 0; }
.cm-return-h { font-size: var(--fs-md); font-weight: var(--fw-dato); color: var(--tx); }
.cm-return-t { margin-top: 2px; font-size: var(--fs-sm); color: var(--tx-2); line-height: 1.45; }
.cm-return-x { flex: none; background: none; border: none; color: var(--tx-3); cursor: pointer; font-size:var(--fs-md); padding: 2px 4px; border-radius: 8px; transition: color .18s var(--ease-out); }
.cm-return-x:hover { color: var(--tx); }
[data-theme="dark"] .cm-return-toast { box-shadow: 0 8px 30px rgba(0,0,0,.5), 0 2px 8px rgba(0,0,0,.4); }
[data-theme="dark"] .cm-return-ico { color: #6ee7b7; background: rgba(52,211,153,.14); }
@keyframes cm-return-in { from { opacity: 0; transform: translateX(24px) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes cm-return-out { to { opacity: 0; transform: translateX(24px) scale(.98); } }
@media (prefers-reduced-motion: reduce) { .cm-return-toast, .cm-return-toast.out { animation: none; } }
.lb-name { display: inline-flex; align-items: center; gap: var(--sp-2); }
.lb-delta { display: inline-flex; align-items: center; gap: 2px; font-size: var(--fs-2xs); font-weight: var(--fw-fuerte); line-height: 1; padding: 2px var(--sp-2); border-radius: var(--radius-pill); letter-spacing: 0; flex-shrink: 0; }
.lb-delta-n { font-size: var(--fs-2xs); font-weight: var(--fw-fuerte); }
.lb-delta--up   { color: var(--green); background: rgba(22, 163, 74, .12); }
.lb-delta--down { color: var(--red);   background: rgba(230, 57, 70, .12); }
.lb-delta--eq   { color: var(--tx-3);  background: transparent; font-weight: var(--fw-dato); }
[data-theme="dark"] .lb-delta--up   { background: rgba(74, 222, 128, .14); }
[data-theme="dark"] .lb-delta--down { background: rgba(248, 113, 113, .14); }
.kpix-heat-cell.kpix-cal-today { outline: 2px solid var(--accent); outline-offset: 1px; border-radius: var(--radius-xs); position: relative; z-index: 1; }
[data-theme="dark"] .kpix-heat-cell.kpix-cal-today { outline-color: var(--accent); }
[data-theme="light"] .kpix-heat-cell.kpix-cal-today,
html:not([data-theme="dark"]) .kpix-heat-cell.kpix-cal-today { outline-color: var(--gold-ink, var(--accent)); }
.kpix-cal-titlewrap { display: flex; align-items: flex-end; gap: var(--sp-4); flex-wrap: wrap; }
.kpix-spark { display: inline-flex; align-items: center; gap: var(--sp-2); color: var(--gold-ink, var(--accent)); }
[data-theme="dark"] .kpix-spark { color: var(--accent); }
.kpix-spark svg { display: block; width: 96px; height: 28px; overflow: visible; }
.kpix-spark-lbl { font-size: var(--fs-2xs); font-weight: var(--fw-dato); color: var(--tx-3); font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (max-width: 520px) { .kpix-spark svg { width: 80px; } }
.bx-empty { display: grid; place-items: center; gap: var(--sp-2); padding: var(--sp-10) var(--sp-5); text-align: center; max-width: 420px; margin-inline: auto; animation: none;   }
.bx-empty-ill { width: 64px; height: 64px; display: grid; place-items: center; border-radius: 50%; background: var(--sf3, rgba(127,127,127,.08)); border: 1px solid var(--br); margin-bottom: var(--sp-2); }
.bx-empty-ill i, .bx-empty-ill svg { font-size: 26px; color: var(--tx-3); line-height: 1; }
.bx-empty.is-done .bx-empty-ill { background: rgba(22,163,74,.10); border-color: rgba(22,163,74,.22); }
.bx-empty.is-done .bx-empty-ill i { color: #16a34a; }
.bx-empty.is-gold .bx-empty-ill i { color: var(--gold-ink); }
.bx-empty-title { font-size: var(--fs-lg); font-weight: var(--fw-dato); color: var(--tx); line-height: 1.25; }
.bx-empty-sub { font-size: var(--fs-sm); color: var(--tx-2); line-height: 1.5; max-width: 36ch; }
.bx-empty-cta { margin-top: var(--sp-3); display: inline-flex; align-items: center; gap: var(--sp-2); padding: var(--sp-2) var(--sp-4); border-radius: var(--radius-sm, 10px); border: 1px solid var(--br-2); background: var(--sf); color: var(--tx); font-family: inherit; font-size: var(--fs-sm); font-weight: var(--fw-dato); cursor: pointer; transition: border-color var(--dur-1, 140ms) var(--ease-out, cubic-bezier(.23,1,.32,1)), transform var(--dur-1, 140ms) var(--ease-out, cubic-bezier(.23,1,.32,1)); }
.bx-empty-cta:hover { border-color: var(--accent); }
.bx-empty-cta:active { transform: scale(.97); }
.bx-empty--fill { min-height: 180px; align-content: center; padding-block: var(--sp-8); }
.bx-empty--dashed { border: 1px dashed var(--br); border-radius: var(--radius); }
@keyframes bx-empty-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .bx-empty { animation: none; } .bx-empty-cta { transition: none; } }
.cm-island { display: inline-flex; align-items: center; gap: 7px; margin-top: 10px; padding: 4px 12px 4px 5px; border-radius: var(--radius-pill); font-size: var(--fs-sm); font-weight: var(--fw-dato); border: 1px solid var(--br); background: var(--sf); color: var(--tx); width: fit-content; max-width: 100%; animation: none;   }
.cm-island[role="button"] { cursor: pointer; transition: transform .18s var(--ease-out), border-color .18s var(--ease-out); }
.cm-island[role="button"]:hover { border-color: var(--accent); }
.cm-island[role="button"]:active { transform: scale(.97); }
.cm-island-dot { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-size:var(--fs-xs); flex: none; }
.cm-island-txt { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cm-island--ok { color: #047857; }
.cm-island--ok  .cm-island-dot { background: rgba(16,185,129,.14); color: #047857; }
.cm-island--warn { color: #b45309; }
.cm-island--warn .cm-island-dot { background: rgba(245,158,11,.16); color: #b45309; }
.cm-island--neg { color: #b91c1c; }
.cm-island--neg .cm-island-dot { background: rgba(239,68,68,.14); color: #b91c1c; }
[data-theme="dark"] .cm-island { background: rgba(255,255,255,.04); }
[data-theme="dark"] .cm-island--ok { color: #6ee7b7; }
[data-theme="dark"] .cm-island--ok  .cm-island-dot { background: rgba(52,211,153,.16); color: #6ee7b7; }
[data-theme="dark"] .cm-island--warn { color: #fbbf24; }
[data-theme="dark"] .cm-island--warn .cm-island-dot { background: rgba(245,158,11,.20); color: #fbbf24; }
[data-theme="dark"] .cm-island--neg { color: #fca5a5; }
[data-theme="dark"] .cm-island--neg .cm-island-dot { background: rgba(248,113,113,.18); color: #fca5a5; }
@keyframes cm-island-in { from { opacity: 0; transform: translateY(-5px) scale(.9); } to { opacity: 1; transform: none; } }
.cm-pulse-once { animation: cm-pulse-once .7s var(--ease-out) 1; }
@keyframes cm-pulse-once { 0% { transform: scale(1); } 28% { transform: scale(1.012); } 100% { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .cm-island { animation: none; } .cm-pulse-once { animation: none; } }
.drawer.bx-dragging,
.drawer-overlay.bx-dragging { transition: none !important; }
@media (max-width: 650px) {
  .drawer::before {
    content: ""; position: absolute; top: 50%; left: var(--sp-1, 4px); transform: translateY(-50%);
    width: 4px; height: 44px; border-radius: 999px; background: var(--br-2, rgba(0,0,0,.12));
    opacity: .55; pointer-events: none; z-index: 1;
  }
}
.cm-echart { width: 100%; height: 100%; }
.cm-island-breathe { animation: cm-island-breathe .95s var(--ease-out) both; }
@keyframes cm-island-breathe {
  0%   { opacity: .5; transform: scale(.82); }
  35%  { opacity: 1;  transform: scale(1.09); }
  62%  { transform: scale(.98); }
  100% { transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) { .cm-island-breathe { animation: none; } }
.gm-echart { width: 100%; height: 100%; }
.cm-fc-wrap { position: relative; height: 220px; margin-bottom: var(--sp-3); }
.cm-cap-caphdr { font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-2); margin-bottom: 8px; display: flex; align-items: center; gap: 6px; }
.cm-cap-caphdr i { color: var(--gold-ink); }
[data-theme="dark"] .cm-cap-caphdr i { color: var(--accent); }
.cm-cap-hint { display: flex; align-items: flex-start; gap: 7px; }
.cm-cap-hint i { color: var(--tx-3); margin-top: 2px; flex: none; }
.cm-fc-prov { color: var(--tx-3); border-bottom: 1px dotted var(--tx-3); cursor: help; }
.cm-caja-bar { display: flex; height: var(--barra-fila); border-radius: var(--radius-pill); overflow: hidden; gap: 2px; }
.cm-caja-seg { min-width: 3px; transition: flex .5s var(--ease-out); }
.cm-caja-legend { display: flex; flex-wrap: wrap; gap: var(--sp-2) var(--sp-5); margin-top: var(--sp-3); }
.cm-caja-leg { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-sm); }
.cm-caja-dot { width: 10px; height: 10px; border-radius: 3px; flex: none; }
.cm-caja-lbl { color: var(--tx-2); }
.cm-caja-val { font-weight: var(--fw-dato); color: var(--tx); font-variant-numeric: tabular-nums; }
.cm-caja-sub { color: var(--tx-3); font-size: var(--fs-xs); }
.cm-hub-chip { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-xs); font-weight: var(--fw-dato);
  letter-spacing: .04em; text-transform: uppercase; color: var(--gold-ink); margin-bottom: 4px; }
[data-theme="dark"] .cm-hub-chip { color: var(--accent); }
.cm-diag-bars { display: flex; flex-direction: column; gap: 8px; margin-top: 6px; width: 100%; }
.cm-diag-row { display: flex; align-items: center; gap: 10px; }
.cm-diag-lbl { width: 78px; flex: none; color: var(--tx-2); font-size: var(--fs-sm); font-weight: var(--fw-detalle); }
.cm-diag-track { flex: 1; height: var(--barra-fila); border-radius: var(--radius-pill); background: color-mix(in srgb, var(--tx) 9%, transparent); overflow: hidden; }
.cm-diag-bar { display: block; height: 100%; border-radius: 999px; transition: width .6s var(--ease-out); }
.cm-diag-val { width: 54px; flex: none; text-align: right; font-weight: var(--fw-dato); font-variant-numeric: tabular-nums; font-size: var(--fs-sm); }
.cm-diag-cols { display: grid; grid-template-columns: 1fr 1fr; gap: var(--air-gap); margin-top: var(--air-gap); }
.cm-diag-col { background: color-mix(in srgb, var(--tx) 3%, transparent); border: 1px solid var(--br); border-radius: var(--radius); padding: var(--sp-4); }
.cm-diag-colh { display: flex; align-items: center; gap: 8px; font-weight: var(--fw-dato); color: var(--tx); font-size: var(--fs-sm); margin-bottom: 10px; }
.cm-diag-colh i { color: var(--tx-3); }
@media (max-width: 820px) { .cm-diag-cols { grid-template-columns: 1fr; } }
.cm-deud-row { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--br); }
.cm-deud-row:last-child { border-bottom: 0; }
.cm-deud-name { color: var(--tx); font-weight: var(--fw-detalle); font-size: var(--fs-sm); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cm-deud-aging { color: var(--tx-3); font-size: var(--fs-xs); white-space: nowrap; }
.cm-deud-eur { font-weight: var(--fw-dato); color: var(--tx); font-variant-numeric: tabular-nums; font-size: var(--fs-sm); white-space: nowrap; }
.cm-empty-inline { color: var(--tx-3); font-size: var(--fs-sm); padding: 10px 2px; }
.cm-rank { margin-top: var(--sp-3); }
.cm-rank-h { font-weight: var(--fw-dato); color: var(--tx); font-size: var(--fs-sm); margin-bottom: 8px; }
.cm-rank-row { display: grid; grid-template-columns: 22px minmax(90px, 160px) 1fr 9ch 5ch; align-items: center; gap: 10px; padding: 6px 10px; }
.cm-rank > :nth-child(odd of .cm-rank-row),
.cm-cap > :nth-child(odd of .cm-cap-row) {
  background: color-mix(in srgb, var(--tx) 4.5%, transparent);
  border-radius: 6px;
}
[data-theme="dark"] .cm-rank > :nth-child(odd of .cm-rank-row),
[data-theme="dark"] .cm-cap > :nth-child(odd of .cm-cap-row) {
  background: color-mix(in srgb, #fff 6%, transparent);
}
.cm-rank-row--simple { grid-template-columns: minmax(96px, 1.2fr) 2fr 14ch; }
.cm-rank-pos { color: var(--tx-3); font-weight: var(--fw-dato); font-size: var(--fs-xs); text-align: center; }
.cm-rank-name { color: var(--tx); font-weight: var(--fw-detalle); font-size: var(--fs-sm); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cm-rank-track { height: var(--barra-fila); border-radius: 4px; background: color-mix(in srgb, var(--tx) 9%, transparent); overflow: hidden; }
.cm-rank-bar { display: block; height: 100%; border-radius: 4px; background: var(--accent); transition: width .6s var(--ease-out); }
.cm-rank-eur { font-weight: var(--fw-dato); color: var(--tx); font-variant-numeric: tabular-nums;
  font-size: var(--fs-sm); white-space: nowrap; text-align: right; }
.cm-rank-share { color: var(--tx-3); font-size: var(--fs-xs); width: 36px; text-align: right; }
@media (max-width: 640px) {
  .cm-rank-row:not(.cm-rank-row--simple) { grid-template-columns: 18px 1fr 9ch; }
  .cm-rank-track, .cm-rank-share { display: none; }
}
.cm-soon-panel { padding: var(--sp-6) var(--sp-4); }
.cm-intel-list { display: flex; flex-direction: column; gap: var(--sp-3); }
.cm-intel-card { border: 1px solid var(--br); border-radius: var(--radius); padding: var(--sp-4); background: color-mix(in srgb, var(--tx) 2.5%, transparent); }
.cm-intel-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 6px; }
.cm-intel-chip { font-size: var(--fs-xs); font-weight: var(--fw-dato); letter-spacing: .03em; text-transform: uppercase; padding: 2px 9px; border: 1px solid currentColor; border-radius: 999px; }
.cm-intel-when { color: var(--tx-3); font-size: var(--fs-xs); white-space: nowrap; }
.cm-intel-txt { color: var(--tx-2); font-size: var(--fs-sm); line-height: 1.55; white-space: pre-wrap; }
.cm-intel-empty { display: flex; flex-direction: column; align-items: center; gap: var(--sp-3); padding: var(--sp-6) var(--sp-4); text-align: center; }
.cm-intel-empty-txt { color: var(--tx-3); font-size: var(--fs-sm); max-width: 460px; }
.cm-mkt-note { display: flex; align-items: flex-start; gap: 8px; color: var(--tx-3); font-size: var(--fs-xs); line-height: 1.5; margin: var(--sp-3) 0; padding: 8px 10px; border: 1px dashed var(--br); border-radius: var(--radius); }
.cm-mkt-note i { margin-top: 2px; }
.cm-godgate { position: relative; width: 100%; display: flex; align-items: center; gap: var(--sp-4);
  padding: var(--sp-4) var(--sp-5); border-radius: var(--radius-lg, 18px); overflow: hidden; cursor: pointer;
  text-align: left; color: #fff; border: 1px solid rgba(220, 64, 64, .38);
  background: linear-gradient(110deg, #190c0f, #2a0e13 58%, #380f16);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .38);
  transition: transform var(--dur-fast, .22s) var(--ease-out), box-shadow var(--dur-fast, .22s) var(--ease-out), border-color var(--dur-fast, .22s) var(--ease-out); }
.cm-godgate:hover { transform: translateY(-2px); border-color: rgba(255, 86, 86, .72); box-shadow: 0 16px 44px rgba(0, 0, 0, .5); }
.cm-godgate:active { transform: scale(.985); }
.cm-godgate-glow { position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(120% 90% at 0% 50%, rgba(255, 44, 44, .26), transparent 60%); opacity: .7; }
.cm-godgate::before { content: ''; position: absolute; top: 0; left: -60%; width: 48%; height: 100%; pointer-events: none;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .16), transparent); transform: skewX(-18deg); opacity: 0; }
.cm-godgate:hover::before { animation: cmGateSweep .9s var(--ease-out); }
@keyframes cmGateSweep { 0% { left: -60%; opacity: 0; } 22% { opacity: 1; } 100% { left: 122%; opacity: 0; } }
.cm-godgate-ico { position: relative; flex: 0 0 auto; width: 52px; height: 52px; display: grid; place-items: center;
  border-radius: 50%; font-size:var(--fs-2xl); color: #fff; background: radial-gradient(circle at 32% 30%, #ff5a5a, #c01a1a);
  box-shadow: 0 4px 14px rgba(0, 0, 0, .4); }
.cm-godgate:hover .cm-godgate-ico { animation: cmGateCrown .6s var(--ease-out); }
@keyframes cmGateCrown { 0%, 100% { transform: translateY(0) rotate(0); } 35% { transform: translateY(-4px) rotate(-7deg); } 65% { transform: translateY(-1px) rotate(5deg); } }
.cm-godgate-txt { position: relative; flex: 1 1 auto; min-width: 0; }
.cm-godgate-title { font-family: 'Mont', var(--font, sans-serif); font-weight: var(--fw-fuerte); font-size: var(--fs-lg); letter-spacing: .05em; text-transform: uppercase;
  background: linear-gradient(180deg, #fff, #ffd7d7); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.cm-godgate-sub { position: relative; margin-top: 2px; font-size: var(--fs-sm); color: rgba(255, 255, 255, .72); }
.cm-godgate-arrow { position: relative; flex: 0 0 auto; font-size:var(--fs-xl); color: rgba(255, 122, 122, .92);
  transition: transform var(--dur-fast, .22s) var(--ease-out); }
.cm-godgate:hover .cm-godgate-arrow { transform: translateX(5px); }
@media (max-width: 560px) { .cm-godgate-sub { display: none; } .cm-godgate { padding: var(--sp-3) var(--sp-4); } }
@media (prefers-reduced-motion: reduce) { .cm-godgate:hover::before, .cm-godgate:hover .cm-godgate-ico { animation: none; } }
#content:has(.canon-wrap) { padding: 0 !important; min-height: 0 !important;
  height: calc(100dvh - var(--topbar-h)); max-height: calc(100dvh - var(--topbar-h)); overflow: hidden; }
.canon-wrap { display: flex; flex-direction: column; height: 100%; max-width: 1560px; margin: 0 auto;
  padding: var(--sp-5) var(--sp-8) 0; box-sizing: border-box; }
.canon-top { flex: 0 0 auto; }
.canon-scroll { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding-bottom: 120px; }   
.canon-head { display:flex; align-items:flex-start; justify-content:space-between; gap:var(--sp-4); margin-bottom:var(--sp-6); }
.canon-h1 { font-size: var(--fs-4xl); font-weight: var(--fw-fuerte); letter-spacing:-.02em; margin:0; color:var(--tx); }
.canon-sub { font-size: var(--fs-md); color: var(--tx-2); margin: var(--sp-1) 0 0; max-width: 60ch; line-height:1.5; }
.canon-sub b { color: var(--tx); font-weight: var(--fw-dato); }
.canon-godpill { flex:0 0 auto; font-size: var(--fs-xs); font-weight: var(--fw-dato); text-transform:uppercase; letter-spacing:.04em;
  color: var(--gold-ink); background: var(--accent-bg); border:1px solid var(--br); border-radius: var(--radius-pill);
  padding: var(--sp-1) var(--sp-3); display:inline-flex; align-items:center; gap:var(--sp-1); white-space:nowrap; }
.canon-sec { background: var(--sf); border:1px solid var(--br); border-radius: var(--radius);
  padding: var(--sp-5); margin-bottom: var(--sp-4); box-shadow: var(--shadow-sm); }
.canon-sechead { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3);
  flex-wrap:wrap; margin-bottom: var(--sp-4); }
.canon-h2 { font-size: var(--fs-xl); font-weight: var(--fw-dato); margin:0; color:var(--tx); }
.canon-hint { font-size: var(--fs-xs); color: var(--tx-3); }
.canon-note { font-size: var(--fs-sm); color: var(--tx-2); line-height: 1.5; margin: calc(var(--sp-2) * -1) 0 var(--sp-4); }
.canon-note b { color: var(--tx); }
.canon-acts { display:flex; gap:var(--sp-2); }
.canon-trow { display:grid; grid-template-columns: 148px minmax(0,1fr) 168px 52px; align-items:center;
  gap: var(--sp-3); min-height: 46px; border-top:1px solid var(--br); }
.canon-trows .canon-trow:first-child { border-top:0; }
.canon-tmeta { display:flex; flex-direction:column; min-width:0; }
.canon-tlabel { font-size: var(--fs-sm); font-weight: var(--fw-dato); color:var(--tx); }
.canon-trole { font-size: var(--fs-2xs); color: var(--tx-3); text-transform:uppercase; letter-spacing:.03em; }
.canon-tsample { font-weight: var(--fw-dato); color: var(--tx); line-height:1.1; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; min-width:0; }
.canon-tval { font-size: var(--fs-sm); font-variant-numeric: tabular-nums; color: var(--tx-2); text-align:right; }
.canon-btn-grid { display:grid; grid-template-columns: 1fr 1fr; gap: var(--sp-5); align-items:center; }
.canon-btn-demo { display:flex; gap:var(--sp-3); align-items:center; flex-wrap:wrap; justify-content:center;
  padding: var(--sp-5); background: var(--sf2); border-radius: var(--radius-sm); }
.canon-brow { display:grid; grid-template-columns: 96px minmax(0,1fr) 52px; align-items:center; gap:var(--sp-3); min-height:40px; }
.canon-srow { display:grid; grid-template-columns: 44px 176px minmax(0,1fr) 52px; align-items:center; gap:var(--sp-3);
  min-height: 46px; border-top:1px solid var(--br); }
.canon-srows .canon-srow:first-child { border-top:0; }
.canon-splay { width:40px; height:40px; border-radius:50%; border:1px solid var(--br); background:var(--sf2);
  font-size:var(--fs-xl); cursor:pointer; display:flex; align-items:center; justify-content:center; transition: transform var(--ease), background var(--ease); }
.canon-splay:hover { background: var(--accent-bg); }
.canon-splay:active { transform: scale(.92); }
.canon-smeta { display:flex; flex-direction:column; min-width:0; }
.canon-slider { -webkit-appearance:none; appearance:none; width:100%; height:6px; border-radius:3px;
  background: var(--br-2); outline:none; cursor:pointer; }
.canon-slider::-webkit-slider-thumb { -webkit-appearance:none; appearance:none; width:18px; height:18px; border-radius:50%;
  background: var(--accent); border:2px solid var(--sf); box-shadow: var(--shadow-sm); cursor:pointer; transition: transform .12s var(--ease-out); }
.canon-slider::-webkit-slider-thumb:active { transform: scale(1.18); }
.canon-slider::-moz-range-thumb { width:16px; height:16px; border-radius:50%; background: var(--accent); border:2px solid var(--sf); cursor:pointer; }
.canon-slider:focus-visible { box-shadow: 0 0 0 3px var(--accent-bg); }
.canon-gallery { display:grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap: var(--sp-4); }
.canon-g-card { background: var(--sf2); border:1px solid var(--br); border-radius: var(--radius-sm); padding: var(--sp-4);
  display:flex; flex-direction:column; gap: var(--sp-3); }
.canon-g-kpi { display:flex; flex-direction:column; }
.canon-g-kpival { font-size: var(--fs-display); font-weight: var(--fw-fuerte); color: var(--tx); line-height:1; letter-spacing:-.02em; }
.canon-g-kpilbl { font-size: var(--fs-xs); font-weight: var(--fw-dato); text-transform:uppercase; letter-spacing:.05em; color: var(--tx-3); }
.canon-g-stat { display:flex; flex-direction:column; }
.canon-g-statn { font-size: var(--fs-2xl); font-weight: var(--fw-dato); color: var(--green); }
.canon-g-statl { font-size: var(--fs-sm); color: var(--tx-2); }
.canon-g-title { font-size: var(--fs-lg); font-weight: var(--fw-dato); color: var(--tx); }
.canon-g-body { font-size: var(--fs-md); color: var(--tx-2); line-height:1.5; }
.canon-g-badges { display:flex; gap:var(--sp-2); flex-wrap:wrap; }
.canon-g-btns { align-items:center; justify-content:center; }
.canon-live { display:flex; align-items:center; gap: var(--sp-5);
  background: var(--bg); border:1px solid var(--br); border-radius: var(--radius); box-shadow: var(--shadow-sm);
  padding: var(--sp-3) var(--sp-5); margin-bottom: var(--sp-4); flex-wrap:wrap; }
.canon-live-num { font-size: var(--fs-display); font-weight: var(--fw-fuerte); color: var(--tx); line-height:1; letter-spacing:-.02em; flex:0 0 auto; }
.canon-live-txt { flex:1 1 220px; min-width:0; }
.canon-live-title { font-size: var(--fs-xl); font-weight: var(--fw-dato); color: var(--tx); }
.canon-live-body { font-size: var(--fs-md); color: var(--tx-2); }   
.canon-live-cta { display:flex; align-items:center; gap: var(--sp-3); flex:0 0 auto; }
.canon-textrows { display:flex; flex-direction:column; gap: var(--sp-3); }
.canon-textrow { display:grid; grid-template-columns: 200px minmax(0,1fr); align-items:center; gap: var(--sp-3); min-height: 42px; }
.canon-textslider { display:grid; grid-template-columns: minmax(0,1fr) 52px; align-items:center; gap: var(--sp-3); }
.canon-chips { display:grid; grid-auto-flow:column; grid-auto-columns:1fr; gap: var(--sp-2); }
.canon-swatches { display:flex; gap: var(--sp-2); flex-wrap:wrap; align-items:center; }
.canon-swatch { width:26px; height:26px; border-radius:50%; border:2px solid var(--br); cursor:pointer; padding:0;
  transition: transform var(--ease), border-color var(--ease); }
.canon-swatch:hover { transform: scale(1.12); }
.canon-swatch.is-active { border-color: var(--tx); box-shadow: 0 0 0 2px var(--sf), 0 0 0 4px var(--tx); }
.canon-swatch-custom { position:relative; overflow:hidden; background: conic-gradient(red, #ff0, lime, aqua, blue, magenta, red); }
.canon-color { position:absolute; inset:-4px; width:150%; height:150%; border:0; padding:0; margin:0; cursor:pointer; opacity:0; }
.canon-fxprev { display:grid; grid-template-columns:1fr 1fr; gap: var(--sp-4); margin-bottom: var(--sp-4); }
.canon-fxprev-box { background: var(--sf2); border:1px solid var(--br); border-radius: var(--radius-sm); padding: var(--sp-3); }
.canon-fxprev-cap { font-size: var(--fs-2xs); text-transform:uppercase; letter-spacing:.05em; color: var(--tx-3); font-weight: var(--fw-dato); margin-bottom: var(--sp-2); }
.canon-fxprev-chart { display:flex; align-items:flex-end; gap:6px; height: calc(120px * var(--chart-scale, 1)); transition: height .2s var(--ease-out); }
.canon-fxprev-chart span { flex:1; border-radius:4px 4px 0 0; background: var(--chart-grad); }
.canon-fxprev-rank { display:flex; flex-direction:column; justify-content:center; gap: var(--sp-3); height: calc(120px * var(--chart-scale, 1)); }
.canon-fxprev-row { display:grid; grid-template-columns:74px 1fr; align-items:center; gap: var(--sp-2); }
.canon-fxprev-name { font-size: var(--fs-xs); color: var(--tx-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
@media (max-width:720px) { .canon-fxprev { grid-template-columns:1fr; } }
.canon-preview { display:flex; gap: var(--sp-4); align-items:stretch; flex-wrap:wrap; margin-bottom: var(--sp-4); }
.canon-preview .canon-live { flex:2 1 340px; margin:0; }
.canon-preview .canon-fxprev { flex:1 1 300px; margin:0; }
.canon-preview .canon-fxprev-chart, .canon-preview .canon-fxprev-rank { height: calc(82px * var(--chart-scale, 1)); }
.canon-presets { display:flex; align-items:center; gap: var(--sp-3); flex-wrap:wrap; margin-bottom: var(--sp-4); }
.canon-preset-row { display:flex; gap: var(--sp-2); flex-wrap:wrap; }
.canon-preset { display:inline-flex; align-items:center; gap: var(--sp-2); font-size: var(--fs-sm); font-weight: var(--fw-dato);
  padding: var(--sp-2) var(--sp-3); border-radius: var(--radius-pill); border:1px solid var(--br-2);
  background: var(--sf2); color: var(--tx); cursor:pointer; transition: background var(--ease), transform var(--ease); }
.canon-preset:hover { background: var(--sf3); }
.canon-preset:active { transform: scale(.97); }
.canon-preset-sw { width:18px; height:18px; border-radius:50%; border:1px solid var(--br); flex:0 0 auto; }
.canon-preset-exp { color: var(--gold-ink); }
.canon-grad { margin-top: var(--sp-4); padding-top: var(--sp-4); border-top:1px solid var(--br); display:flex; flex-direction:column; gap: var(--sp-3); }
.canon-grad-head { display:flex; align-items:center; justify-content:space-between; gap: var(--sp-3); }
.canon-grad-prev { flex:1 1 auto; max-width:220px; height:18px; border-radius: var(--radius-pill); background: var(--chart-grad); border:1px solid var(--br); }
.canon-grad-stops { display:flex; gap: var(--sp-5); flex-wrap:wrap; }
.canon-grad-stop { display:flex; align-items:center; gap: var(--sp-2); font-size: var(--fs-sm); color: var(--tx-2); }
.canon-grad-stop .canon-swatch { width:30px; height:30px; }
@media (max-width: 720px) {
  .canon-live-num { font-size: var(--fs-3xl); }
  .canon-textrow { grid-template-columns: 1fr; gap: var(--sp-1); }
}
@media (max-width: 720px) {
  .canon-head { flex-direction:column; gap:var(--sp-2); }
  .canon-trow { grid-template-columns: 1fr 52px; gap: var(--sp-1) var(--sp-2); padding: var(--sp-2) 0; }
  .canon-tmeta { grid-column:1; grid-row:1; }
  .canon-tval  { grid-column:2; grid-row:1; align-self:center; }
  .canon-tsample { grid-column:1 / -1; grid-row:2; }
  .canon-trow .canon-slider { grid-column:1 / -1; grid-row:3; }
  .canon-btn-grid { grid-template-columns: 1fr; }
  .canon-brow { grid-template-columns: 80px 1fr 44px; }
  .canon-srow { grid-template-columns: 44px 1fr 48px; }
  .canon-srow .canon-splay { grid-row:1 / 3; }
  .canon-srow .canon-smeta { grid-column:2; grid-row:1; }
  .canon-srow .canon-tval  { grid-column:3; grid-row:1; }
  .canon-srow .canon-slider { grid-column:2 / 4; grid-row:2; }
}
@media (prefers-reduced-motion: reduce) {
  .canon-splay, .canon-slider::-webkit-slider-thumb { transition: none; }
}
#bx-imp-banner {
  position: fixed; bottom: 16px; left: 50%; transform: translateX(-50%); z-index: 2147483000;
  display: flex; align-items: center; gap: var(--sp-3);
  padding: 8px 8px 8px 16px; border-radius: var(--radius-pill);
  background: linear-gradient(90deg, #6d28d9, #7c3aed); color: #fff;
  font-size: var(--fs-sm); font-weight: var(--fw-dato); letter-spacing: .2px;
  box-shadow: 0 8px 30px rgba(76, 29, 149, .45); max-width: calc(100vw - 24px);
}
#bx-imp-banner .bx-imp-txt { display: inline-flex; align-items: center; gap: 8px; }
body:has(#bx-imp-banner) #view-switcher,
body:has(#bx-imp-banner) #fabrica-switcher,
body:has(#bx-imp-banner) #demo-switcher { bottom: 72px; }
#bx-imp-banner .bx-imp-txt b { font-weight: var(--fw-fuerte); }
#bx-imp-banner .bx-imp-role { text-transform: capitalize; opacity: .78; font-weight: var(--fw-detalle); }
#bx-imp-banner .bx-imp-ro { opacity: .9; font-weight: var(--fw-detalle); background: rgba(255, 255, 255, .18); padding: 2px 8px; border-radius: var(--radius-pill); }
#bx-imp-banner .bx-imp-back {
  pointer-events: auto; cursor: pointer; border: 0; border-radius: var(--radius-pill);
  background: #fff; color: #6d28d9; font-weight: var(--fw-fuerte); font-size: var(--fs-xs);
  padding: 6px 14px; display: inline-flex; align-items: center; gap: 6px;
  transition: transform .12s var(--ease-out), box-shadow .12s var(--ease-out);
}
#bx-imp-banner .bx-imp-back:hover { box-shadow: 0 4px 14px rgba(0, 0, 0, .25); }
#bx-imp-banner .bx-imp-back:active { transform: scale(.96); }
@media (max-width: 560px) { #bx-imp-banner { font-size: var(--fs-xs); gap: 8px; } #bx-imp-banner .bx-imp-role { display: none; } }
@media (prefers-reduced-motion: reduce) { #bx-imp-banner .bx-imp-back { transition: none; } }
.acc-imp-btn {
  padding: 9px 16px; border: 0; border-radius: var(--radius-pill);
  background: #6d28d9; color: #fff; cursor: pointer; font-family: var(--font);
  font-size: var(--fs-sm); font-weight: var(--fw-dato); display: inline-flex; align-items: center; gap: 8px;
  transition: transform var(--dur-press) var(--ease-out), filter .15s var(--ease-out);
}
.acc-imp-btn:hover { filter: brightness(1.12); }
.acc-imp-btn:active { transform: scale(.97); }
.acc-imp-btn .acc-imp-ro { font-weight: var(--fw-detalle); opacity: .9; font-size: var(--fs-xs); background: rgba(255, 255, 255, .2); padding: 2px 8px; border-radius: var(--radius-pill); }
@media (prefers-reduced-motion: reduce) { .acc-imp-btn { transition: none; } }
.cm-unit { font-size: .82em; font-weight: var(--fw-detalle); color: var(--accent); margin-left: .06em; }
.cm-fis-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-4); align-items: start; }
@media (max-width: 900px) { .cm-fis-grid { grid-template-columns: 1fr; } }
.cm-fis-h2 { font-size: var(--fs-lg); font-weight: var(--fw-detalle); color: var(--tx); }
.cm-fis-h3 { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; font-size: var(--fs-sm); font-weight: var(--fw-medium); color: var(--tx-2); }
.cm-fis-hist { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 3px; height: 34px; align-items: end; margin-top: var(--sp-3); }
.cm-fis-hist i { display: block; border-radius: 2px; background: var(--green); opacity: .9; transform-origin: bottom; animation: cm-fis-grow .3s var(--ease-out) both; }
.cm-fis-hist i.warn { background: var(--amber); opacity: 1; }
.cm-fis-hist i.bad { background: var(--red); opacity: 1; }
.cm-fis-hist i.none { height: 100%; background: var(--tx); opacity: .07; animation: none; }
@keyframes cm-fis-grow { from { transform: scaleY(.25); } to { transform: scaleY(1); } }
.cm-fis-histfoot { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); margin-top: var(--sp-2); font-size: var(--fs-sm); font-weight: var(--fw-medium); color: var(--tx-2); }
.cm-fis-histfoot b { color: var(--tx-2); font-weight: var(--fw-detalle); }
.cm-fis-row { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); padding: var(--sp-3) var(--sp-4); }
.cm-fis-row-l { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.cm-fis-row-k { font-size: var(--fs-md); font-weight: var(--fw-detalle); color: var(--tx); }
.cm-fis-row-m { font-size: var(--fs-sm); font-weight: var(--fw-medium); color: var(--tx-2); }
.cm-fis-row-v { font-size: var(--fs-lg); font-weight: var(--fw-dato); color: var(--amber); white-space: nowrap; }
.cm-fis-clean { display: flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-md); font-weight: var(--fw-medium); color: var(--tx-2); padding: var(--sp-3) 0; }
.cm-fis-clean i { color: var(--green); }
.cm-fis-sentinel { display: flex; align-items: center; gap: var(--sp-3); margin-top: var(--sp-4); padding: var(--sp-4); border-radius: var(--radius-sm); background: var(--sf2); }
.cm-fis-sent-ic { width: 30px; height: 30px; flex: none; border-radius: 9px; display: grid; place-items: center; background: color-mix(in srgb, var(--amber) 22%, transparent); color: var(--amber); font-size: var(--fs-base); }
.cm-fis-sent-t { font-size: var(--fs-md); font-weight: var(--fw-detalle); color: var(--tx); margin-bottom: 2px; }
.cm-fis-sent-s { font-size: var(--fs-sm); font-weight: var(--fw-medium); color: var(--tx-2); line-height: 1.45; }
@media (prefers-reduced-motion: reduce) { .cm-fis-hist i { animation: none; transform: none; } }
.nav-godmode-top { position: relative; margin: 2px 10px 8px; color: var(--red, #ef4444); font-weight: var(--fw-fuerte); overflow: visible; }
.nav-godmode-top i { color: var(--red, #ef4444); }
.nav-godmode-top:hover { background: color-mix(in srgb, var(--red, #ef4444) 14%, transparent); color: var(--red, #ef4444); }
.nav-godmode-top.active { background: color-mix(in srgb, var(--red, #ef4444) 20%, transparent); color: #fff; }
.nav-godmode-top.active i { color: #fff; }
.ngt-spark {
  position: absolute; width: 7px; height: 11px; opacity: 0; pointer-events: none;
  background: var(--red, #ef4444);
  clip-path: polygon(62% 0, 18% 52%, 44% 52%, 32% 100%, 88% 38%, 54% 38%);
}
.ngt-spark.s1 { left: 24px; top: 3px; }
.ngt-spark.s2 { left: 7px;  bottom: 4px; transform: rotate(-14deg); }
.ngt-spark.s3 { left: 33px; bottom: 1px; transform: rotate(18deg); }
.ngt-spark.s1 { animation: ngt-pop .5s var(--ease-out) .35s 1 backwards; }
.ngt-spark.s2 { animation: ngt-pop .5s var(--ease-out) .47s 1 backwards; }
.ngt-spark.s3 { animation: ngt-pop .5s var(--ease-out) .60s 1 backwards; }
.nav-godmode-top:hover .ngt-spark.s1 { animation: ngt-pop .45s var(--ease-out) 0s 1 backwards; }
.nav-godmode-top:hover .ngt-spark.s2 { animation: ngt-pop .45s var(--ease-out) .08s 1 backwards; }
.nav-godmode-top:hover .ngt-spark.s3 { animation: ngt-pop .45s var(--ease-out) .16s 1 backwards; }
.nav-godmode-top:hover i { animation: ngt-jolt .28s steps(2) 2; }
@keyframes ngt-pop {
  0%   { opacity: 0; transform: translateY(3px) scale(.35) rotate(-10deg); }
  35%  { opacity: 1; transform: translateY(-1px) scale(1) rotate(0deg); }
  100% { opacity: 0; transform: translateY(-6px) scale(.85) rotate(12deg); }
}
@keyframes ngt-jolt { 50% { transform: translate(1px, -1px); } }
@media (prefers-reduced-motion: reduce) {
  .ngt-spark, .nav-godmode-top:hover .ngt-spark, .nav-godmode-top:hover i { animation: none; }
}
body:has(#fabrica-switcher) .content::after {
  content: ''; position: fixed; left: 0; right: 0; bottom: 0; height: 92px;
  pointer-events: none; z-index: 40;   
  background: linear-gradient(to top, var(--bg) 18%, transparent);
}
body:has(#fabrica-switcher) .content { padding-bottom: 108px; }
@media (max-width: 768px) { body:has(#fabrica-switcher) .content { padding-bottom: 124px; } }
body.web-zen:has(#fabrica-switcher) .content { padding-bottom: var(--sp-4); }
@media (max-width: 768px) { body.web-zen:has(#fabrica-switcher) .content { padding-bottom: var(--sp-4); } }
body.gm-active .content::after, body.bx-cust-on .content::after, body.sidebar-open .content::after { display: none; }
body.web-zen .content::after { display: none; }
@media print { body:has(#fabrica-switcher) .content::after { display: none; } }
.cm-live { display: inline-flex; align-items: center; gap: 8px; background: var(--sf); border: 1px solid var(--br);
  border-radius: var(--radius-pill); padding: 8px 16px; font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx-2); }
.cm-live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--green, #16a34a); animation: cm-live-pulse 2.2s var(--ease-out) 1; }
@keyframes cm-live-pulse { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--green, #16a34a) 45%, transparent); } 100% { box-shadow: 0 0 0 10px transparent; } }
.cm-live-wrap { position: relative; display: inline-flex; }
button.cm-live { font: inherit; font-size: var(--fs-sm); font-weight: var(--fw-dato); cursor: pointer;
  min-height: 40px; padding: 8px var(--sp-4) 8px var(--sp-4); text-align: left;
  transition: background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out),
              box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-press) var(--ease-out); }
button.cm-live:hover { background: var(--sf2); border-color: var(--br-2); }
button.cm-live:active { transform: scale(.97); }
button.cm-live:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.cm-live-mes { color: var(--tx); }
.cm-live-chev { font-size: var(--fs-2xs); color: var(--tx-3); pointer-events: none;
  transition: transform var(--dur-fast) var(--ease-out); }
button.cm-live:hover .cm-live-chev { transform: translateY(1px); }
.cm-live-tag { color: var(--tx-3); font-weight: var(--fw-medium); }
.cm-live-tag::before { content: '·'; margin-right: 6px; color: var(--tx-3); }
.cm-live.is-past { background: color-mix(in srgb, var(--amber) 10%, var(--sf));
  border-color: color-mix(in srgb, var(--amber) 38%, var(--br)); }
button.cm-live.is-past:hover { background: color-mix(in srgb, var(--amber) 16%, var(--sf)); border-color: color-mix(in srgb, var(--amber) 52%, var(--br)); }
.cm-live.is-past .cm-live-dot { background: var(--amber); animation: none; }
.cm-live.is-past .cm-live-mes { color: color-mix(in srgb, var(--amber) 78%, var(--tx)); }
.cm-live.is-past .cm-live-tag, .cm-live.is-past .cm-live-chev { color: color-mix(in srgb, var(--amber) 72%, var(--tx-2)); }
.cm-live.is-past .cm-live-tag::before { color: inherit; }
.gst-mespill { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px var(--sp-4);
  background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius-pill);
  font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx-2); cursor: pointer;
  transition: background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out),
              color var(--dur-fast) var(--ease-out), transform var(--dur-press) var(--ease-out); }
.gst-mespill:hover { background: var(--sf2); border-color: var(--br-2); color: var(--tx); }
.gst-mespill:active { transform: scale(.97); }
.gst-mespill:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.gst-mespill.is-on { background: color-mix(in srgb, var(--accent) 14%, var(--sf)); border-color: color-mix(in srgb, var(--accent) 46%, var(--br)); color: var(--tx); }
.gst-mespill i:first-child { color: var(--tx-3); }
.gst-mespill.is-on i:first-child { color: var(--accent); }
.cm-mespop { position: fixed; margin: 0; inset: auto; width: 268px; padding: var(--sp-3);
  background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius);
  box-shadow: 0 18px 44px rgba(0,0,0,.16), 0 4px 12px rgba(0,0,0,.08); color: var(--tx); z-index: 900; }
.cm-mespop:not(:popover-open):not(.is-open) { display: none; }
.cm-mespop.is-open { display: block; }
.cm-mespop-head { display: grid; grid-template-columns: 32px 1fr 32px; align-items: center; margin-bottom: var(--sp-2); }
.cm-mespop-year { text-align: center; font-size: var(--fs-base); font-weight: var(--fw-fuerte); font-variant-numeric: tabular-nums; }
.cm-mespop-nav { width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
  background: none; border: 0; border-radius: var(--radius-sm); color: var(--tx-2); cursor: pointer;
  transition: background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.cm-mespop-nav:hover:not(:disabled) { background: var(--sf2); color: var(--tx); }
.cm-mespop-nav:disabled { opacity: .28; cursor: default; }
.cm-mespop-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.cm-mespop-m { padding: 11px 0; border: 1px solid transparent; border-radius: var(--radius-sm); background: none;
  font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-2); cursor: pointer; text-align: center;
  transition: background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-press) var(--ease-out); }
.cm-mespop-m:hover { background: var(--sf2); color: var(--tx); }
.cm-mespop-m:active { transform: scale(.95); }
.cm-mespop-m.is-live { color: var(--green); }                     
.cm-mespop-m.is-sel { background: var(--accent); color: #111; border-color: var(--accent); font-weight: var(--fw-fuerte); }
.cm-mespop-m.is-sel.is-live { color: #111; }
.cm-mespop-m.is-off { padding: 10px 0; text-align: center; font-size: var(--fs-sm); font-weight: var(--fw-medium); color: var(--tx-3); opacity: .35; }
.cm-mespop-hoy { width: 100%; margin-top: var(--sp-3); padding: 10px 0; border: 1px solid var(--br); border-radius: var(--radius-sm);
  background: none; font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-2); cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  transition: background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.cm-mespop-hoy:hover { background: var(--sf2); color: var(--tx); }
.cm-mespop { transform-origin: top right; }
@media (prefers-reduced-motion: no-preference) {
  .cm-mespop { transition: opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out),
               overlay var(--dur-fast) allow-discrete, display var(--dur-fast) allow-discrete; opacity: 1; }
  .cm-mespop:popover-open { opacity: 1; transform: none; }
  @starting-style { .cm-mespop:popover-open { opacity: 0; transform: scale(.96) translateY(-6px); } }
}
.cm-asof-nota { display: inline-block; color: var(--amber); font-weight: var(--fw-detalle); }
.cm-pastnote { display: flex; align-items: flex-start; gap: 10px; padding: var(--sp-4) var(--sp-5);
  background: color-mix(in srgb, var(--amber) 7%, var(--sf)); border: 1px dashed color-mix(in srgb, var(--amber) 40%, var(--br));
  border-radius: var(--radius); font-size: var(--fs-sm); font-weight: var(--fw-medium); color: var(--tx-2); }
.cm-pastnote i { color: var(--amber); margin-top: 2px; }
.cm-pastnote b { color: var(--tx); font-weight: var(--fw-detalle); }
.cm-pk-leg { display: flex; flex-direction: column; gap: 5px; margin-top: 8px; font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-2); }
.cm-pk-leg span { display: flex; align-items: center; gap: 8px; }
.cm-pk-leg b { color: var(--tx); font-variant-numeric: tabular-nums; }
.cm-pk-sw { width: 9px; height: 9px; border-radius: 3px; flex: none; display: inline-block; }
.cm-pulso-nota { margin-top: var(--sp-3); font-size: var(--fs-sm); font-weight: var(--fw-medium); color: var(--tx-3); }
.cm-cajacard .cm-cajacard-num { font-size: var(--fs-2xl); font-weight: var(--fw-fuerte); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.cm-cajacard .cm-cajacard-sub { font-size: var(--fs-sm); color: var(--tx-3); font-weight: var(--fw-medium); margin-top: 2px; }
.cm-areas { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: var(--air-gap); }
.cm-area { display: flex; align-items: center; gap: 12px; text-align: left; background: var(--sf); border: 1px solid var(--br);
  border-radius: var(--radius); padding: var(--air-gap); cursor: pointer; font-family: inherit; color: var(--tx); min-width: 0;
  transition: transform var(--dur-fast, .15s) var(--ease-out), border-color var(--dur-fast, .15s) var(--ease-out); }
.cm-area:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--accent) 45%, var(--br)); }
.cm-area:active { transform: scale(.97); }
.cm-area-ico { width: 36px; height: 36px; border-radius: 10px; background: var(--accent-bg); color: var(--gold-ink, var(--accent));
  display: grid; place-items: center; font-size: var(--fs-md); flex: none; }
.cm-area-body { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.cm-area-name { font-size: var(--fs-sm); font-weight: var(--fw-detalle); letter-spacing: 0; color: var(--tx-2); }
.cm-area-val { font-size: var(--fs-xl); font-weight: var(--fw-fuerte); font-variant-numeric: tabular-nums; line-height: 1.1; }
.cm-area-sub { font-size: var(--fs-xs); font-weight: var(--fw-medium); color: var(--tx-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cm-area-go { margin-left: auto; color: var(--tx-3); font-size: var(--fs-xs); flex: none; }
@media (prefers-reduced-motion: reduce) { .cm-live-dot { animation: none; } .cm-area, .cm-area:hover, .cm-area:active { transition: none; transform: none; } }
.cm-alert { position: relative; }
.cm-alert-badge {
  position: absolute; top: -7px; right: -7px; z-index: 2;
  min-width: 21px; height: 21px; padding: 0 6px; border-radius: 999px;
  background: var(--red-solid); color: #fff;
  font-size: var(--fs-xs); font-weight: var(--fw-fuerte); font-variant-numeric: tabular-nums;
  display: inline-flex; align-items: center; justify-content: center;
  border: 2px solid var(--bg);   
}
.bx-nav-uni { display: inline-block; width: 6px; height: 6px; border-radius: 50%; margin-left: 8px; vertical-align: middle; flex: none; }
.bx-nav-uni--clients { background: var(--blue-accent, #3b82f6); }
.bx-nav-uni--total { background: var(--accent); }
.bx-nav-uni--dist { background: var(--red-solid, #E63946); }
.cm-island { position: relative; }
.cm-island-pop {
  position: absolute; top: calc(100% + 8px); left: 0; z-index: 60; min-width: 300px; max-width: 380px;
  background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius);
  box-shadow: var(--shadow); padding: 6px;
  opacity: 0; pointer-events: none; transform: translateY(-4px) scale(.98); transform-origin: top left;
  transition: opacity .18s var(--ease-out), transform .18s var(--ease-out);
}
.cm-island:hover .cm-island-pop, .cm-island:focus-within .cm-island-pop { opacity: 1; pointer-events: auto; transform: none; }
.cm-island-pop::before { content: ''; position: absolute; top: -9px; left: 0; right: 0; height: 9px; }
.cm-ipop-row { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: calc(var(--radius) - 8px); cursor: pointer; font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx); }
.cm-ipop-row:hover { background: var(--sf3); }
.cm-ipop-dot { width: 8px; height: 8px; border-radius: 50%; flex: none; background: var(--tx-3); }
.cm-ipop--neg .cm-ipop-dot { background: var(--red-solid); }
.cm-ipop--warn .cm-ipop-dot { background: var(--amber, #d97706); }
.cm-ipop--pos .cm-ipop-dot { background: var(--green, #16a34a); }
.cm-ipop-h { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cm-ipop-h b { font-weight: var(--fw-dato); }
.cm-ipop-menu { border: 0; background: transparent; color: var(--tx-3); cursor: pointer; padding: 4px 6px; min-height: 36px; min-width: 36px; border-radius: 8px; flex: none; font-size: var(--fs-sm); }
.cm-ipop-menu:hover { background: var(--sf2); color: var(--tx); }
.cm-ipop-more { padding: 6px 10px 4px; font-size: var(--fs-xs); font-weight: var(--fw-medium); color: var(--tx-3); }
@media (prefers-reduced-motion: reduce) { .cm-island-pop { transition: none; } }
@media (hover: none) { .cm-island-pop { display: none; } }   
.bx-par {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-2);
}
.bx-par > * { min-width: 0; }
.bx-par:has(> :first-child:last-child) { grid-template-columns: minmax(0, 1fr); }
.bx-par:has(> :nth-child(3):last-child) > :nth-child(3) {
  grid-column: 1 / -1;
  justify-self: center;
  width: calc(50% - (var(--sp-2) / 2));
}
.bx-par:has(> :nth-child(5):last-child) > :nth-child(5),
.bx-par:has(> :nth-child(7):last-child) > :nth-child(7) {
  grid-column: 1 / -1;
  justify-self: center;
  width: calc(50% - (var(--sp-2) / 2));
}
@media (max-width: 640px) {
  .bx-par { grid-template-columns: minmax(0, 1fr); }
  .bx-par > :nth-child(n) { grid-column: auto; width: auto; justify-self: stretch; }
}
.bx-sep {
  height: 1px; border: 0; margin: var(--sp-8) var(--sp-2);
  background: linear-gradient(90deg, transparent, var(--br) 12%, var(--br) 88%, transparent);
}
.bx-sep--eng {
  height: auto; background: none; display: flex; align-items: center; gap: var(--sp-4);
  margin: var(--sp-7) 0;
}
.bx-sep--eng::before, .bx-sep--eng::after { content: ''; flex: 1; height: 1px; }
.bx-sep--eng::before { background: linear-gradient(90deg, transparent, var(--br) 30%); }
.bx-sep--eng::after { background: linear-gradient(90deg, var(--br) 70%, transparent); }
.bx-sep--eng i {
  width: 34px; height: 34px; border-radius: var(--radius-sm); background: var(--tx);
  color: var(--bg); display: grid; place-items: center; font-size: var(--fs-base);
  font-weight: var(--fw-fuerte); font-style: normal; flex: none;
}
.com-diag { display: flex; align-items: flex-start; gap: var(--sp-3); padding: var(--sp-4) var(--sp-5); border-radius: var(--radius); margin-bottom: var(--sp-4); font-size: var(--fs-sm); }
.com-diag.err { background: color-mix(in srgb, var(--estado-urgente) 12%, transparent); color: var(--estado-urgente-ink); }
.com-modo { margin: 0 0 var(--sp-4); }
.com-es-suelto #com-paso-que, .com-es-suelto #com-eng-2, .com-es-suelto #com-eng-3,
.com-es-suelto #com-publicos, .com-es-suelto #com-segmentos, .com-es-suelto #com-excl,
.com-es-suelto #com-gente, .com-es-suelto #com-dedo-btn { display: none !important; }
.com-es-suelto #com-paso-quien .com-num { display: none; }
.com-paso {
  background: var(--sf); border: 1px solid var(--br);
  border-radius: calc(var(--radius) + var(--sp-2));
  padding: var(--sp-5) var(--sp-5) var(--sp-6);
  margin-bottom: 0;   
}
.com-paso .com-pub, .com-paso .com-sit, .com-paso .com-atajo, .com-paso .com-dedo,
.com-paso .com-buscador, .com-paso .com-env, .com-paso .bx-filas.com-hist,
.com-paso .com-seg { background: var(--sf3); border-color: var(--br-2); }
.com-paso .com-seg.on { background: var(--tx); border-color: var(--tx); }
.com-paso .com-pub:hover, .com-paso .com-sit:hover, .com-paso .com-atajo:hover,
.com-paso .com-dedo:hover { border-color: var(--tx-3); }
.com-paso .com-pub.on, .com-paso .com-sit.on, .com-paso .com-dedo.on { border-color: var(--accent); }
.com-paso .bx-filas.com-hist { border-color: var(--br); }
.com-paso .com-asunto, .com-paso .com-marco { background: var(--sf); border-color: var(--br); }
.com-paso .com-bcampo { background: var(--sf); }
.com-paso-h { display: flex; align-items: baseline; gap: var(--sp-3); margin: 0 0 var(--sp-3); }
.com-paso-t { font-size: var(--fs-xl); font-weight: var(--fw-fuerte); margin: 0; letter-spacing: -.01em; }
.com-paso-hint { font-size: var(--fs-sm); color: var(--tx-3); font-weight: var(--fw-detalle); margin-left: auto; }
.com-num {
  width: 26px; height: 26px; flex: 0 0 auto; border-radius: var(--radius-xs);
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--tx); color: var(--bg); font-size: var(--fs-xs); font-weight: var(--fw-fuerte);
  position: relative; top: 3px;
}
.com-losa {
  display: flex; align-items: center; gap: var(--sp-5); flex-wrap: wrap;
  background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius);
  padding: var(--sp-4) var(--sp-5); margin-bottom: var(--sp-6);
}
.com-losa--mini { margin: var(--sp-3) 0 0; padding: var(--sp-3) var(--sp-4); }
.com-losa-ic {
  width: 46px; height: 46px; border-radius: var(--radius-sm); display: grid; place-items: center;
  flex: none; font-size: var(--fs-xl); background: var(--estado-bien); color: #fff;
}
.com-losa.warn .com-losa-ic { background: var(--estado-ojo); }
.com-losa.err  .com-losa-ic { background: var(--estado-urgente); }
.com-losa-tx { min-width: 0; flex: 1 1 220px; }
.com-losa-t { font-size: var(--fs-md); font-weight: var(--fw-dato); line-height: 1.2; }
.com-losa-s { font-size: var(--fs-sm); color: var(--tx-2); margin-top: 2px; }
.com-losa .com-gasto { margin: 0 0 0 auto; padding: 0; background: transparent; border-radius: 0; gap: var(--sp-6); }
.com-gasto { display: flex; flex-wrap: wrap; gap: var(--sp-6); }
.com-gasto-item { min-width: 130px; }
.com-gasto-top { display: flex; justify-content: space-between; align-items: baseline; gap: var(--sp-2); font-size: var(--fs-2xs); color: var(--tx-2); margin-bottom: 6px; text-transform: uppercase; letter-spacing: .06em; font-weight: var(--fw-detalle); }
.com-gasto-top b { font-size: var(--fs-md); color: var(--tx); font-variant-numeric: tabular-nums; font-weight: var(--fw-fuerte); }
.com-gasto-de { font-weight: var(--fw-body); color: var(--tx-3); text-transform: none; letter-spacing: 0; }
.com-gasto-track { height: var(--bar-h, 6px); border-radius: 999px; background: var(--sf2); overflow: hidden; }
.com-gasto-fill { display: block; height: 100%; border-radius: 999px; transition: width var(--dur-3, .3s) var(--ease-out); }
.com-gasto-fill.bajo  { background: var(--estado-bien); }
.com-gasto-fill.medio { background: var(--estado-ojo); }
.com-gasto-fill.alto  { background: var(--estado-urgente); }
.com-pubs { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--sp-2); align-items: stretch; }
.com-pubs > * { flex: 0 1 calc((100% - 4 * var(--sp-2)) / 5); min-width: 0; }
@media (max-width: 1380px){ .com-pubs > * { flex-basis: calc((100% - 2 * var(--sp-2)) / 3); } }
@media (max-width: 980px){  .com-pubs > * { flex-basis: calc((100% - var(--sp-2)) / 2); } }
@media (max-width: 640px){  .com-pubs > * { flex-basis: 100%; } }
.com-excl{ display: flex; align-items: center; flex-wrap: wrap; gap: var(--sp-2); margin-top: var(--sp-3); }
.com-excl-t{ font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-3); }
.com-excl-chip.on{ color: var(--estado-urgente-ink); border-color: var(--br); background: var(--sf3); }
.com-pub {
  display: flex; flex-direction: column; text-align: left; cursor: pointer; min-height: 0;
  padding: var(--sp-3) var(--sp-4); border-radius: var(--radius); border: 1.5px solid var(--br-2);
  background: var(--sf); color: var(--tx);
  transition: border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);
}
.com-pub:hover { border-color: var(--tx-3); }
.com-pub:active { transform: scale(.99); }
.com-pub.on { border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.com-pub-top { display: flex; align-items: center; gap: var(--sp-2); margin-bottom: auto; }
.com-pub-ic {
  width: 34px; height: 34px; border-radius: var(--radius-sm); display: grid; place-items: center;
  flex: none; font-size: var(--fs-md); background: var(--sf2); color: var(--tx-2);
}
.com-pub.on .com-pub-ic { background: var(--accent); color: #231a00; }
.com-pub-cifra { font-size: var(--fs-xl); line-height: 1; white-space: nowrap; margin-top: var(--sp-2); }
.com-pub-n { font-weight: var(--fw-fuerte); letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.com-pub-u { font-size: .8em; color: var(--tx-2); font-weight: var(--fw-detalle); }
.com-pub-t { font-size: var(--fs-lg); font-weight: var(--fw-fuerte); letter-spacing: -.02em; margin-top: 0; line-height: 1.15; white-space: nowrap; }
.com-pub-d { font-size: var(--fs-sm); color: var(--tx-2); margin-top: 4px; line-height: 1.4; }
.com-segs { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin-top: var(--sp-3); }
.com-seg {
  cursor: pointer; padding: var(--sp-2) var(--sp-4); border-radius: var(--radius-pill); font-size: var(--fs-sm);
  font-weight: var(--fw-detalle); color: var(--tx-2); border: 1px solid var(--br);
  background: var(--sf); display: inline-flex; align-items: center; gap: var(--sp-2);
  transition: color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);
}
.com-seg b { font-variant-numeric: tabular-nums; font-weight: var(--fw-fuerte); }
.com-seg:hover { color: var(--tx); }
.com-seg.on { color: var(--bg); background: var(--tx); border-color: var(--tx); }
.com-dedo {
  width: 100%; margin-top: var(--sp-3); display: flex; align-items: center; gap: var(--sp-3);
  text-align: left; cursor: pointer; background: var(--sf); border: 1px solid var(--br);
  border-radius: var(--radius); padding: var(--sp-4) var(--sp-4); color: var(--tx);
  transition: border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}
.com-dedo:hover { border-color: var(--tx-3); }
.com-dedo.on { border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.com-dedo-ic {
  width: 40px; height: 40px; border-radius: var(--radius-sm); display: grid; place-items: center;
  flex: none; font-size: var(--fs-lg); background: var(--sf2); color: var(--tx-2);
}
.com-dedo.on .com-dedo-ic { background: var(--accent); color: #231a00; }
.com-dedo-tx { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.com-dedo-t { font-size: var(--fs-md); font-weight: var(--fw-dato); }
.com-dedo-d { font-size: var(--fs-sm); color: var(--tx-2); }
.com-dedo-ch { margin-left: auto; color: var(--tx-3); font-size: var(--fs-base); }
.com-buscador { margin-top: var(--sp-3); background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius); padding: var(--sp-4); }
.com-bcampo {
  display: flex; align-items: center; gap: var(--sp-3); background: var(--sf3);
  border: 1px solid var(--br); border-radius: var(--radius-sm); padding: var(--sp-3) var(--sp-4);
}
.com-bcampo i { color: var(--tx-3); font-size: var(--fs-base); }
.com-bcampo input { flex: 1; border: 0; background: transparent; font: inherit; font-size: var(--fs-md); color: var(--tx); outline: none; min-width: 0; }
.com-bcampo input::placeholder { color: var(--tx-3); }
.com-elegidos { display: flex; gap: var(--sp-2); flex-wrap: wrap; margin-top: var(--sp-3); }
.com-elegidos:empty { display: none; }
.com-chip {
  display: inline-flex; align-items: center; gap: var(--sp-2); padding: 7px 9px 7px 12px;
  border-radius: var(--radius-pill); background: var(--accent); color: #231a00;
  font-size: var(--fs-sm); font-weight: var(--fw-dato); white-space: nowrap;
}
.com-chip button { width: 19px; height: 19px; border-radius: 50%; background: rgba(0,0,0,.16); display: grid; place-items: center; font-size: var(--fs-2xs); color: #231a00; flex: none; cursor: pointer; border: 0; }
.com-res { margin-top: var(--sp-3); border-top: 1px solid var(--br); max-height: 240px; overflow: auto; }
.com-res:empty { display: none; border-top: 0; }
.com-rl { display: flex; align-items: center; gap: var(--sp-3); padding: var(--sp-3) var(--sp-1); width: 100%; border-bottom: 1px solid var(--br); text-align: left; cursor: pointer; color: var(--tx); }
.com-rl:last-child { border-bottom: 0; }
@media (hover: hover) { .com-rl:hover { background: var(--sf3); } }
.com-rl-av { width: 34px; height: 34px; border-radius: var(--radius-sm); background: var(--sf2); color: var(--tx-2); display: grid; place-items: center; font-size: var(--fs-xs); font-weight: var(--fw-fuerte); flex: none; }
.com-rl-tx { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.com-rl-n { font-size: var(--fs-base); font-weight: var(--fw-dato); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.com-rl-e { font-size: var(--fs-sm); color: var(--tx-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.com-rl-add { margin-left: auto; font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--azul-apple); flex: none; }
.com-rl.ya .com-rl-add { color: var(--tx-3); }
.com-vacio { padding: var(--sp-4) var(--sp-1); font-size: var(--fs-base); color: var(--tx-3); }
.com-dedo-ch { transition: transform var(--dur-fast) var(--ease-out); }
.com-dedo.on .com-dedo-ch { transform: rotate(180deg); }
.com-gente-bar { margin-top: var(--sp-4); }
.com-gente-caja { margin-top: var(--sp-2); }
.com-gente-n { font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-3); margin-top: var(--sp-3); }
.com-gente-lista { margin-top: var(--sp-2); max-height: 460px; overflow: auto; }
.com-rl--lee { cursor: default; }
.com-rl-src { margin-left: auto; font-size: var(--fs-xs); font-weight: var(--fw-detalle); color: var(--tx-3); white-space: nowrap; flex: none; }
.com-atajos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-3); margin-bottom: var(--sp-3); }
.com-atajo {
  display: flex; align-items: center; gap: var(--sp-4); text-align: left; cursor: pointer;
  background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius);
  padding: var(--sp-4) var(--sp-4); color: var(--tx);
  transition: border-color var(--dur-fast) var(--ease-out);
}
.com-atajo:hover { border-color: var(--tx-3); }
.com-atajo:active { transform: scale(.99); }
.com-atajo-ic { width: 42px; height: 42px; border-radius: var(--radius-sm); display: grid; place-items: center; flex: none; font-size: var(--fs-lg); color: #fff; }
.com-atajo-ic--ia { background: #a855f7; }
.com-atajo-ic--est { background: var(--azul-apple); }
.com-atajo-tx { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.com-atajo-t { font-size: var(--fs-md); font-weight: var(--fw-dato); }
.com-atajo-d { font-size: var(--fs-sm); color: var(--tx-2); }
.com-sits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); grid-auto-rows: 1fr; }
.com-sit {
  display: flex; flex-direction: column; text-align: left; cursor: pointer; min-height: 132px;
  background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius);
  padding: var(--sp-4); color: var(--tx);
  transition: border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}
.com-sit:hover { border-color: var(--tx-3); }
.com-sit:active { transform: scale(.99); }
.com-sit.on { border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.com-sit-ic { width: 40px; height: 40px; border-radius: var(--radius-sm); display: grid; place-items: center; font-size: var(--fs-lg); background: var(--sf2); color: var(--tx-2); margin-bottom: var(--sp-3); }
.com-sit.on .com-sit-ic { background: var(--accent); color: #231a00; }
.com-sit-t { font-size: var(--fs-md); font-weight: var(--fw-dato); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.com-sit-d { font-size: var(--fs-sm); color: var(--tx-2); margin-top: 4px; line-height: 1.4; }
.com-env {
  background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius);
  padding: var(--sp-5); display: grid; grid-template-columns: minmax(0, 1fr) 300px;
  gap: var(--sp-6); align-items: start;
}
.com-env-prev { min-width: 0; }
.com-env-lado { min-width: 0; }
.com-prevbar { display: flex; align-items: center; gap: var(--sp-2); margin-bottom: var(--sp-3); flex-wrap: wrap; }
.com-prevbar .bx-vistas { width: auto; flex: 0 1 auto; }
.com-prev-nota { flex-basis: 100%; font-size: var(--fs-sm); color: var(--tx-3); font-weight: var(--fw-detalle); }
.com-asunto { background: var(--sf3); border: 1px solid var(--br); border-radius: var(--radius-sm); padding: var(--sp-3) var(--sp-4); margin-bottom: var(--sp-3); }
.com-asunto-l { font-size: var(--fs-2xs); letter-spacing: .07em; text-transform: uppercase; color: var(--tx-3); font-weight: var(--fw-detalle); margin-bottom: 5px; }
.com-asunto-t { font-size: var(--fs-md); font-weight: var(--fw-dato); }
.com-asunto-d { font-size: var(--fs-sm); color: var(--tx-3); margin-top: 3px; }
.com-marco { background: var(--sf3); border: 1px solid var(--br); border-radius: var(--radius-sm); padding: var(--sp-4); display: grid; place-items: center; }
.com-prev-f {
  width: 100%; max-width: 620px; border: 0; border-radius: var(--radius-xs); display: block;
  background: #fff; overflow: hidden;
  transition: max-width var(--dur-fast) var(--ease-out), height var(--dur-fast) var(--ease-out);
}
.com-marco.movil .com-prev-f { max-width: 375px; }
.com-prev-vacio { padding: var(--sp-8) var(--sp-4); font-size: var(--fs-base); color: var(--tx-3); display: flex; align-items: center; gap: var(--sp-2); }
.com-resumen { display: flex; flex-direction: column; gap: var(--sp-2); margin-bottom: var(--sp-4); }
.com-rr { display: flex; align-items: center; gap: var(--sp-3); font-size: var(--fs-base); }
.com-rr i { width: 26px; height: 26px; border-radius: var(--radius-xs); background: var(--sf2); color: var(--tx-2); display: grid; place-items: center; font-size: var(--fs-2xs); flex: none; }
.com-rr b { font-weight: var(--fw-dato); }
.com-enviar { width: 100%; min-height: 52px; font-size: var(--fs-md); font-weight: var(--fw-fuerte); }
.com-enviar:disabled { background: var(--sf2); color: var(--tx-3); cursor: default; box-shadow: none; }
.com-aud-test { width: 100%; margin-top: var(--sp-2); min-height: 44px; font-size: var(--fs-sm); white-space: nowrap; }
.com-aud-test-a { text-align: center; font-size: var(--fs-xs); color: var(--tx-3); margin-top: var(--sp-2); font-weight: var(--fw-detalle); }
.com-aud-test-a b { color: var(--tx-2); font-weight: var(--fw-dato); }
.com-aud-baja { font-size: var(--fs-2xs); color: var(--estado-urgente-ink); margin-top: var(--sp-3); display: flex; align-items: center; gap: 6px; font-weight: var(--fw-detalle); }
.com-aud-desc { margin-top: var(--sp-2); font-size: var(--fs-2xs); }
.com-aud-desc summary { cursor: pointer; color: var(--tx-2); font-weight: var(--fw-detalle); }
.com-aud-desc ul { margin: 8px 0 0; padding-left: 18px; color: var(--tx-2); }
.com-aud-desc li { margin: 3px 0; }
#com-lienzo { width: 100%; max-width: 620px; margin: 0 auto; }
#com-lienzo > * { max-width: 100%; }
#com-lienzo table { table-layout: fixed; width: 100% !important; }
#com-lienzo td, #com-lienzo p, #com-lienzo h1, #com-lienzo li, #com-lienzo span {
  white-space: normal; overflow-wrap: break-word; }
#com-lienzo img { max-width: 100%; height: auto; }
.com-ed { cursor: text; border-radius: var(--radius-xs); outline: 2px dashed transparent; outline-offset: 2px; transition: outline-color var(--dur-fast) var(--ease-out); }
.com-ed:hover { outline-color: var(--azul-apple); }
.com-ed:focus { outline: 2px solid var(--azul-apple); outline-offset: 2px; }
.com-ed-img { cursor: grab; outline: 2px dashed transparent; outline-offset: 3px; border-radius: var(--radius-xs); transition: outline-color var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out); }
.com-ed-img:hover { outline-color: var(--azul-apple); }
.com-ed-img.sobre { outline: 3px solid var(--accent); opacity: .75; }
#com-lienzo tr[data-bi] > td { position: relative; }
#com-lienzo tr[data-bi]:hover > td { box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--azul-apple) 35%, transparent); border-radius: var(--radius-xs); }
.com-asa { position: absolute; top: 4px; right: 4px; display: none; gap: 4px; z-index: 5; }
#com-lienzo tr[data-bi]:hover .com-asa { display: flex; }
.com-asa button { width: 30px; height: 30px; border-radius: var(--radius-xs); background: rgba(20,20,22,.78); color: #fff; display: grid; place-items: center; font-size: var(--fs-2xs); cursor: pointer; border: 0; }
.com-asa button:hover { background: rgba(20,20,22,.95); }
.com-asa-coger { cursor: grab; }
.com-asa-fuera:hover { background: var(--estado-urgente); }
tr.com-gap > td { padding: 0 24px; }
.com-gap-in { height: 0; overflow: hidden; border-radius: var(--radius-sm); border: 2px dashed transparent; display: flex; align-items: center; justify-content: center; color: var(--gold-ink); font-size: var(--fs-xs); font-weight: var(--fw-dato); transition: height var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), margin var(--dur-fast) var(--ease-out); }
#com-lienzo.com-eligiendo .com-gap-in { height: 14px; border-color: var(--br); margin-block: 5px; }
#com-lienzo.com-eligiendo tr.com-gap.sobre .com-gap-in { height: 52px; border-color: var(--accent); background: color-mix(in srgb, var(--accent) 8%, transparent); }
#com-lienzo.com-eligiendo tr.com-gap.sobre .com-gap-in::after { content: 'Aquí'; }
tr.com-arrastrando, .com-foto-t.com-arrastrando { opacity: .35; }
.com-piezas-t { font-size: var(--fs-base); font-weight: var(--fw-fuerte); margin: 0 0 var(--sp-2); }
.com-piezas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-2); margin-bottom: var(--sp-4); }
.com-pieza { border: 1px solid var(--br); border-radius: var(--radius-sm); background: var(--sf); padding: var(--sp-2) var(--sp-1); display: flex; flex-direction: column; align-items: center; gap: 5px; cursor: grab; font-size: var(--fs-2xs); font-weight: var(--fw-dato); color: var(--tx); transition: border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out); }
.com-pieza i { font-size: var(--fs-md); color: var(--tx-2); }
.com-pieza:hover { border-color: var(--azul-apple); }
.com-pieza:active { transform: scale(.96); }
.com-fotos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-2); }
.com-foto-t { border: 1px solid var(--br); border-radius: var(--radius-sm); overflow: hidden; background: var(--sf); cursor: grab; padding: 0; text-align: left; transition: border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out); }
.com-foto-t:hover { border-color: var(--azul-apple); }
.com-foto-t--casa { position: relative; border-color: var(--azul-apple); }
.com-foto-t--casa::after { content: ''; position: absolute; top: 6px; right: 6px; width: 10px; height: 10px;
  border-radius: 50%; background: var(--azul-apple); box-shadow: 0 0 0 2px var(--sf); }
.com-foto-t:active { cursor: grabbing; transform: scale(.97); }
.com-foto-t img { width: 100%; aspect-ratio: 1/1; object-fit: cover; display: block; pointer-events: none; }
.com-foto-t span { display: block; font-size: var(--fs-2xs); font-weight: var(--fw-dato); padding: 6px 8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--tx); }
.com-pieza.en-mano, .com-foto-t.en-mano { border-color: var(--accent); box-shadow: 0 0 0 2px var(--accent); }
.com-ver-todas { width: 100%; margin-top: var(--sp-2); padding: var(--sp-3); border-radius: var(--radius-sm); background: var(--sf2); color: var(--tx-2); font-size: var(--fs-xs); font-weight: var(--fw-dato); text-align: center; cursor: pointer; border: 0; }
.com-ver-todas:hover { background: var(--br); }
.com-subir { width: 100%; margin-top: var(--sp-2); padding: var(--sp-3); border-radius: var(--radius-sm); border: 2px dashed var(--br); color: var(--tx-2); font-size: var(--fs-xs); font-weight: var(--fw-dato); text-align: center; display: flex; align-items: center; justify-content: center; gap: var(--sp-2); cursor: pointer; }
.com-subir:hover { border-color: var(--azul-apple); color: var(--azul-apple); }
.com-subir input { display: none; }
.com-guarda { margin: var(--sp-3) 0 var(--sp-4); display: flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-xs); color: var(--tx-3); font-weight: var(--fw-detalle); min-height: 18px; }
.com-guarda.ok i { color: var(--estado-bien); }
.com-velo { position: fixed; inset: 0; background: var(--scrim, rgba(15,15,18,.45)); display: none; align-items: center; justify-content: center; z-index: 300; padding: var(--sp-8); }
.com-velo.abierto { display: flex; }
.com-popup { background: var(--sf); border-radius: var(--radius); padding: var(--sp-5); max-width: 860px; width: 100%; max-height: 82vh; display: flex; flex-direction: column; box-shadow: var(--shadow-lg); }
.com-popup-h { display: flex; align-items: center; gap: var(--sp-3); margin-bottom: var(--sp-4); }
.com-popup-t { font-size: var(--fs-lg); font-weight: var(--fw-fuerte); }
.com-popup-x { margin-left: auto; width: 36px; height: 36px; border-radius: var(--radius-sm); background: var(--sf2); display: grid; place-items: center; font-size: var(--fs-sm); cursor: pointer; border: 0; color: var(--tx); }
.com-popup-rej { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-3);
  align-content: start; grid-auto-rows: max-content; overflow-y: auto; min-height: 0; }
@media (max-width: 760px) { .com-popup-rej { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.com-fmt { position: absolute; display: none; gap: 2px; background: #1b1b1f; border-radius: var(--radius-sm); padding: 4px; z-index: 310; box-shadow: var(--shadow-lg); }
.com-fmt.abierta { display: flex; }
.com-fmt button { width: 34px; height: 32px; border-radius: var(--radius-xs); color: #fff; display: grid; place-items: center; font-size: var(--fs-xs); cursor: pointer; border: 0; background: transparent; }
.com-fmt button:hover { background: rgba(255,255,255,.14); }
.com-fmt-oro { color: var(--accent) !important; font-weight: var(--fw-fuerte); }
.com-eng-guia { font-size: var(--fs-sm); color: var(--tx-3); font-weight: var(--fw-detalle); }
.com-eng-guia:empty { display: none; }
.com-hist .com-hf { display: grid; grid-template-columns: minmax(0, 1fr) 90px auto; gap: var(--sp-4); align-items: center; padding: var(--sp-3) var(--sp-5); }
.com-hf-tx { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.com-hf-t { font-size: var(--fs-base); font-weight: var(--fw-dato); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.com-hf-c { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2) var(--sp-3); font-size: var(--fs-sm); }
.com-hf-fe { font-size: var(--fs-sm); color: var(--tx-3); text-align: right; white-space: nowrap; }
.com-hf-acts { display: flex; gap: var(--sp-2); align-items: center; justify-content: flex-end; }
.com-hf--quieta { cursor: default; }
.com-hf-ver { font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--azul-apple); white-space: nowrap; }
.com-ht.abierta .com-hf-ver::after { content: ''; }
.com-tn { color: var(--tx-2); white-space: nowrap; }
.com-tn-n { font-weight: var(--fw-fuerte); color: var(--tx); font-variant-numeric: tabular-nums; }
.com-tn-sin { color: var(--tx-3); }              
.com-tc { color: var(--tx-2); white-space: nowrap; font-variant-numeric: tabular-nums; }
.com-tc b { font-weight: var(--fw-fuerte); color: var(--tx); }
.com-tc--fuerte b { color: var(--azul-apple); }  
.com-tc--mal b { color: var(--estado-urgente-ink, var(--tx)); }
.com-tanda { display: flex; flex-direction: column; gap: var(--sp-3); padding: var(--sp-4) var(--sp-5) var(--sp-5); }
.bx-ia { display: inline-flex; align-items: center; gap: 5px; vertical-align: middle;
  background: var(--ia); color: var(--ia-tx); font-size: var(--fs-2xs); font-weight: var(--fw-fuerte);
  line-height: 1; padding: 4px 9px; border-radius: 999px; white-space: nowrap; letter-spacing: .02em; }
.bx-ia i { font-size: .92em; }
.bx-ia--suave { background: transparent; color: var(--ia); padding: 0 2px; }
.com-news { display: none; }
.com-es-news .com-news { display: flex; flex-direction: column; gap: var(--sp-4); }
.com-es-news #com-paso-quien,
.com-es-news #com-paso-que,
.com-es-news #com-eng-2,
.com-es-news #com-eng-3 { display: none; }
.com-news-caja { background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius); padding: var(--sp-5); }
.com-news-cab { display: flex; align-items: baseline; gap: var(--sp-3); margin-bottom: var(--sp-4); }
.com-news-cab h3 { font-size: var(--fs-lg); font-weight: var(--fw-black); margin: 0; }
.com-news-sub { font-size: var(--fs-sm); color: var(--tx-3); font-weight: var(--fw-dato); }
.com-news-espera { border: 2px solid var(--tx); border-radius: var(--radius); background: var(--sf); overflow: hidden; }
.com-news-espera-cab { display: flex; align-items: center; gap: var(--sp-3); flex-wrap: wrap;
  padding: var(--sp-4) var(--sp-5); background: var(--sf3); border-bottom: 1px solid var(--br); }
.com-news-pin { background: var(--tx); color: var(--sf); font-size: var(--fs-2xs); font-weight: var(--fw-black);
  letter-spacing: .04em; padding: 4px 10px; border-radius: 999px; }
.com-news-aud { margin-left: auto; font-size: var(--fs-sm); color: var(--tx-2); font-weight: var(--fw-dato); }
.com-news-espera-cuerpo { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: var(--sp-5); padding: var(--sp-5); }
.com-news-previa { border: 1px solid var(--br); border-radius: var(--radius-sm); overflow: hidden; min-height: 180px; background: var(--sf); }
.com-news-previa iframe { width: 100%; border: 0; display: block; }
.com-news-lado { display: flex; flex-direction: column; gap: var(--sp-3); }
.com-news-dato { display: flex; flex-direction: column; gap: 2px; }
.com-news-dato .rot { font-size: var(--fs-2xs); font-weight: var(--fw-black); color: var(--tx-3); letter-spacing: .03em; text-transform: uppercase; }
.com-news-dato .val { font-size: var(--fs-base); font-weight: var(--fw-dato); }
.com-news-acciones { display: flex; flex-direction: column; gap: var(--sp-2); margin-top: auto; }
.com-news-btn { justify-content: center; padding: 14px 18px; font-size: var(--fs-base); }
.com-news-no { border: 0; background: none; color: var(--estado-urgente-ink, var(--estado-urgente)); font: inherit;
  font-size: var(--fs-sm); font-weight: var(--fw-dato); padding: 10px; cursor: pointer; border-radius: var(--radius-sm); }
.com-news-no:hover { background: var(--sf3); }
.com-news-angulos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); }
.com-news-ang { display: flex; align-items: center; gap: var(--sp-4); text-align: left; cursor: pointer;
  padding: var(--sp-4); border: 1px solid var(--br); border-radius: var(--radius-sm);
  background: var(--sf); color: var(--tx); font: inherit;
  transition: border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out); }
.com-news-ang > .tx { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.com-news-ang:hover { border-color: var(--tx-3); }
.com-news-ang:active { transform: scale(.98); }
.com-news-ang.on { border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.com-news-ang .ic { width: 52px; height: 52px; flex: none; border-radius: 14px; display: grid; place-items: center;
  background: var(--sf); border: 1px solid var(--br); color: var(--tx); }
.com-news-ang .ic svg { display: block; }
.com-news-ang.on .ic { background: var(--accent); border-color: var(--accent); color: #111; }
.com-news-ang:hover .ic { border-color: var(--tx-3); }
.com-news-ang .t { font-size: var(--fs-md); font-weight: var(--fw-fuerte); }
.com-news-ang .d { font-size: var(--fs-sm); color: var(--tx-3); line-height: 1.4; }
.com-news-ang { position: relative; }
.com-news-orden { position: absolute; top: -9px; left: var(--sp-4); background: var(--tx); color: var(--sf);
  font-size: var(--fs-2xs); font-weight: var(--fw-black); letter-spacing: .02em;
  padding: 3px 8px; border-radius: 999px; white-space: nowrap; }
.com-news-voz { display: flex; align-items: center; gap: var(--sp-4); margin-top: var(--sp-4);
  padding: var(--sp-3) var(--sp-4); border: 1px dashed var(--br); border-radius: var(--radius-sm); background: var(--sf); }
.com-news-voz.ok { border-style: solid; border-color: var(--estado-bien); }
.com-news-voz-tx { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.com-news-voz-tx b { font-size: var(--fs-base); }
.com-news-voz-tx span { font-size: var(--fs-sm); color: var(--tx-3); }
.com-news-voz .btn { margin-left: auto; white-space: nowrap; }
.com-news-pedir { display: flex; gap: var(--sp-3); margin-top: var(--sp-4); align-items: stretch; flex-wrap: wrap; }
.com-news-nota { flex: 1 1 260px; min-width: 0; height: 48px; padding: 0 var(--sp-4);
  border: 1px solid var(--br); border-radius: var(--radius-sm); background: var(--sf); color: var(--tx);
  font: inherit; font-size: var(--fs-base); }
.com-news-nota:focus-visible { outline: none; border-color: var(--accent); }
.com-news-escribir { padding: 0 var(--sp-5); height: 48px; font-size: var(--fs-base); white-space: nowrap; }
.com-news-escribir[disabled] { opacity: .5; cursor: default; }
@media (max-width: 900px) { .com-news-angulos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .com-news-angulos { grid-template-columns: minmax(0, 1fr); } }
.com-news-sem { display: flex; gap: var(--sp-2); align-items: stretch; }
.com-news-sem > * { flex: 1 1 0; min-width: 0; }
.com-news-dia { border: 1px solid var(--br); border-radius: var(--radius-sm); padding: var(--sp-3);
  min-height: 112px; display: flex; flex-direction: column; gap: 6px; background: var(--sf); }
.com-news-dia.toca { flex-grow: 2; border-color: var(--tx); border-width: 2px; padding: 11px var(--sp-4); }
.com-news-dia:not(.toca) { background: var(--sf3); border-color: transparent; }
.com-news-dia:not(.toca) .d { opacity: .75; }
.com-news-dia.hoy { box-shadow: inset 0 0 0 2px var(--accent); }
.com-news-dia.hoy .d::after { content: ' · hoy'; color: var(--gold-ink); }
.com-news-dia .d { font-size: var(--fs-2xs); font-weight: var(--fw-black); color: var(--tx-3); letter-spacing: .04em; }
.com-news-dia.toca .d { font-size: var(--fs-sm); color: var(--tx); }
.com-news-dia .tema { font-size: var(--fs-sm); font-weight: var(--fw-dato); line-height: 1.35; }
.com-news-dia .vacio, .com-news-por { color: var(--tx-3); font-size: var(--fs-sm); font-weight: var(--fw-detalle); }
.com-news-dia .est { margin-top: auto; font-size: var(--fs-2xs); font-weight: var(--fw-black);
  padding: 3px 8px; border-radius: 999px; width: max-content; }
.est--espera { background: var(--tx); color: var(--sf); }
.est--ok, .est--salio { background: var(--estado-bien); color: #fff; }
.est--no { background: var(--sf2); color: var(--tx-3); }
.com-news-vacio { display: flex; align-items: center; gap: var(--sp-4); padding: var(--sp-5);
  border: 1px dashed var(--br); border-radius: var(--radius); background: var(--sf); color: var(--tx-3); }
.com-news-vacio i { font-size: var(--fs-2xl); }
.com-news-vacio b { display: block; color: var(--tx); font-size: var(--fs-base); }
.com-news-vacio span { font-size: var(--fs-sm); }
@media (max-width: 900px) {
  .com-news-espera-cuerpo { grid-template-columns: minmax(0, 1fr); }
  .com-news-sem { flex-wrap: wrap; }
  .com-news-dia { flex-basis: 30%; }
}
.com-atajo-hist { display: flex; align-items: center; gap: var(--sp-2); margin-left: auto;
  padding: var(--sp-2) var(--sp-4); border: 1px solid var(--br); border-radius: var(--radius-sm);
  background: var(--sf); color: var(--tx); font: inherit; font-size: var(--fs-sm);
  font-weight: var(--fw-dato); cursor: pointer; white-space: nowrap; }
.com-atajo-hist:hover { border-color: var(--azul-apple); color: var(--azul-apple); }
.com-atajo-hist i { font-size: var(--fs-xs); color: var(--tx-3); }
.com-atajo-hist em { font-style: normal; font-weight: var(--fw-fuerte); font-variant-numeric: tabular-nums;
  background: var(--azul-apple); color: #fff; border-radius: 999px; padding: 1px 8px; font-size: var(--fs-xs); }
.com-destello { position: relative; }
.com-destello::after { content: ''; position: absolute; inset: -4px; border-radius: var(--radius);
  border: 2px solid var(--azul-apple); pointer-events: none; animation: comDestello 1.4s var(--ease-out) 1; }
@keyframes comDestello { 0% { opacity: 0; } 15% { opacity: 1; } 100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .com-destello::after { animation: none; opacity: 0; } }
.com-tanda-res { font-size: var(--fs-sm); color: var(--tx-2); }
.com-tanda-res b { color: var(--tx); font-weight: var(--fw-fuerte); font-variant-numeric: tabular-nums; }
.com-tr-cero { color: var(--tx-3); }             
.com-tr-eur { color: var(--azul-apple); font-weight: var(--fw-dato); }
.com-tanda-cab { display: flex; align-items: center; gap: var(--sp-3); flex-wrap: wrap; }
.com-tanda-buscar { flex: 1 1 220px; min-width: 0; height: 40px; padding: 0 var(--sp-4);
  border: 1px solid var(--br); border-radius: var(--radius-sm); background: var(--bg);
  color: var(--tx); font: inherit; font-size: var(--fs-sm); }
.com-tanda-buscar:focus-visible { outline: none; border-color: var(--accent); }
.com-tanda-tot { font-size: var(--fs-sm); color: var(--tx-2); font-weight: var(--fw-dato); white-space: nowrap; }
.com-tanda-cargando { font-size: var(--fs-sm); color: var(--tx-3); padding: var(--sp-3) 0; }
.com-tanda-gente { max-height: 420px; overflow-y: auto; }
.com-tg { display: grid; grid-template-columns: minmax(0, auto) minmax(0, 1fr) auto; gap: var(--sp-2) var(--sp-3);
  align-items: center; padding: var(--sp-3) var(--sp-4); }
.com-tg-n { font-size: var(--fs-sm); font-weight: var(--fw-dato); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.com-tg-e { font-size: var(--fs-sm); color: var(--tx-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.com-tg-ms { display: flex; gap: var(--sp-2); justify-content: flex-end; flex-wrap: nowrap; }
.com-tg-m { font-size: var(--fs-xs); font-weight: var(--fw-dato); white-space: nowrap;
  padding: 3px var(--sp-2); border-radius: var(--radius-sm); background: var(--sf2); color: var(--tx-2); }
.com-tg-m--bien { background: var(--estado-bien, var(--sf2)); color: var(--estado-bien-ink, var(--tx)); }
.com-tg-m--top  { background: var(--azul-apple); color: #fff; }
.com-tg-m--mal  { background: var(--estado-urgente, var(--sf2)); color: var(--estado-urgente-ink, var(--tx)); }
.com-tg-m--gris { color: var(--tx-3); }
.com-tanda-mas { align-self: flex-start; }
.com-hist-borr { margin-top: var(--sp-3); }
.com-hist-borr-b { width: 100%; display: flex; align-items: center; gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-5); border: 1px solid var(--br); border-radius: var(--radius-sm);
  background: var(--sf); color: var(--tx); font: inherit; cursor: pointer; text-align: left; }
.com-hist-borr-b:hover { border-color: var(--azul-apple); }
.com-hist-borr-b i { font-size: var(--fs-xs); color: var(--tx-3);
  transition: transform var(--dur-fast) var(--ease-out); }
.com-hist-borr.abierto .com-hist-borr-b i { transform: rotate(90deg); }
.com-hist-borr-b span { font-size: var(--fs-sm); font-weight: var(--fw-fuerte); }
.com-hist-borr-b em { font-size: var(--fs-sm); font-style: normal; color: var(--tx-3); }
.com-hist-borr .com-hist { margin-top: var(--sp-3); }
.com-popup-q { flex: 1 1 200px; min-width: 0; height: 36px; padding: 0 var(--sp-3);
  border: 1px solid var(--br); border-radius: var(--radius-sm); background: var(--bg);
  color: var(--tx); font: inherit; font-size: var(--fs-sm); }
.com-popup-q:focus-visible { outline: none; border-color: var(--accent); }
@media (max-width: 980px) {
  .com-sits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .com-atajos { grid-template-columns: minmax(0, 1fr); }
  .com-env { grid-template-columns: minmax(0, 1fr); }
  .com-hist .com-hf { grid-template-columns: minmax(0, 1fr) auto; }
  .com-hf-fe { display: none; }
  .com-tg { grid-template-columns: minmax(0, 1fr) auto; }
  .com-tg-e { display: none; }
}
@media (max-width: 640px) {
  .com-sits { grid-template-columns: minmax(0, 1fr); }
  .com-pub { min-height: 0; }
  .com-sit { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .com-pub, .com-seg, .com-sit, .com-atajo, .com-dedo, .com-prev-f { transition: none; }
  .com-pub:active, .com-sit:active, .com-atajo:active { transform: none; }
}
.est-wrap { max-width: 1280px; margin: 0 auto; padding: var(--sp-5) var(--sp-4) var(--sp-8); }
.est-head { display: flex; align-items: center; gap: var(--sp-4); margin-bottom: var(--sp-5); flex-wrap: wrap; }
.est-h1 { font-size: var(--fs-2xl); font-weight: var(--fw-black); margin: 0; letter-spacing: -.02em; }
.est-ia {
  display: flex; align-items: center; gap: var(--sp-4); flex-wrap: wrap;
  padding: var(--sp-4) var(--sp-5); border-radius: var(--radius);
  background: var(--sf2);
  margin-bottom: var(--sp-5);
}
.est-ia-t { flex: 1; min-width: 220px; display: flex; flex-direction: column; gap: 3px; }
.est-ia-t b { font-size: var(--fs-base); font-weight: var(--fw-dato); }
.est-ia-t span { font-size: var(--fs-sm); color: var(--tx-2); line-height: 1.5; }
.est-o { font-size: var(--fs-sm); color: var(--tx-2); margin: 0 0 var(--sp-3); font-weight: var(--fw-medium); }
.est-card {
  display: flex; flex-direction: column; gap: var(--sp-2); text-align: left; cursor: pointer;
  padding: var(--sp-3); border-radius: var(--radius);
  border: 1px solid var(--br, rgba(140,140,148,.2));
  background: var(--sf3, rgba(140,140,148,.05)); color: var(--tx-1);
  transition: border-color var(--dur-fast,.16s) var(--ease-out), transform var(--dur-1,.1s) var(--ease-out);
}
.est-card:hover { border-color: color-mix(in srgb, var(--accent) 45%, transparent); }
.est-card:active { transform: scale(.99); }
.est-card-n { font-size: var(--fs-lg); font-weight: var(--fw-dato); }
.est-card-p { font-size: var(--fs-sm); color: var(--tx-2); line-height: 1.5; }
.est-mini { display: block; position: relative; width: 100%; aspect-ratio: 16/11; overflow: hidden;
  border-radius: 10px; background: #15151a; pointer-events: none; }
.est-mini-f { position: absolute; top: 0; left: 0; width: 600px; height: 760px; border: 0;
  transform: scale(.63); transform-origin: top left; }
.est-mini-err { background: var(--surface-2, rgba(140,140,148,.1)); }
.est-edit { max-width: 1480px; }
.est-bar { display: flex; align-items: center; gap: var(--sp-3); flex-wrap: wrap; margin-bottom: var(--sp-4); }
.est-bar-n { font-size: var(--fs-lg); font-weight: var(--fw-dato); }
.est-bar-sp { flex: 1; }
.est-save { font-size: var(--fs-sm); color: var(--tx-2); font-weight: var(--fw-medium); }
.est-save.ok { color: #16a34a; }
.est-save.err { color: var(--peligro, #ef4444); font-weight: var(--fw-dato); }
.est-toggles { display: flex; gap: var(--sp-2); flex-wrap: wrap; }
.est-seg { display: inline-flex; border-radius: 10px; overflow: hidden;
  border: 1px solid var(--br, rgba(140,140,148,.22)); }
.est-seg-b {
  min-height: 44px; padding: 0 var(--sp-4); font-size: var(--fs-sm); font-weight: var(--fw-medium);
  background: transparent; color: var(--tx-2); border: 0; cursor: pointer;
  transition: background var(--dur-fast,.16s) var(--ease-out);
}
.est-seg-b:hover { background: var(--surface-2, rgba(140,140,148,.1)); }
.est-seg-b.on { background: color-mix(in srgb, var(--accent) 16%, transparent);
  color: var(--gold-ink, var(--accent)); font-weight: var(--fw-dato); }
.est-cols { display: grid; grid-template-columns: minmax(0,1fr) 420px; gap: var(--sp-5); align-items: start; }
@media (max-width: 1080px) { .est-cols { grid-template-columns: minmax(0,1fr); } }
.est-prev-col { position: sticky; top: var(--sp-4); }
.est-prev { border-radius: 14px; overflow: hidden; background: #15151a;
  border: 1px solid var(--br, rgba(140,140,148,.2)); }
.est-prev-f { display: block; width: 100%; height: 74vh; border: 0; background: #15151a; }
.est-prev--movil .est-prev-f { width: 390px; margin: 0 auto; }
.est-prev--movil { display: flex; justify-content: center; }
.est-prev-pie { font-size: var(--fs-xs); color: var(--tx-3, var(--tx-2)); margin: var(--sp-2) 0 0; text-align: center; }
.est-prev-err { padding: var(--sp-5); color: var(--peligro, #ef4444); font-size: var(--fs-sm); }
.est-fichas { display: flex; flex-direction: column; gap: var(--sp-3); }
.est-fichas-t { font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx-2);
  text-transform: uppercase; letter-spacing: .06em; margin: 0 0 var(--sp-1); }
.est-f {
  padding: var(--sp-4); border-radius: var(--radius);
  border: 1px solid var(--br, rgba(140,140,148,.2));
  background: var(--sf3, rgba(140,140,148,.05));
  transition: border-color var(--dur-fast,.16s) var(--ease-out);
}
.est-f.on { border-color: color-mix(in srgb, var(--accent) 55%, transparent); }
.est-f-h { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-2); }
.est-f-h b { font-size: var(--fs-base); font-weight: var(--fw-dato); }
.est-f-ia { width: 34px; height: 34px; border-radius: 9px; border: 0; cursor: pointer;
  background: color-mix(in srgb, var(--accent) 14%, transparent); color: var(--gold-ink, var(--accent)); }
.est-f-ay { font-size: var(--fs-sm); color: var(--tx-2); margin: 2px 0 var(--sp-3); line-height: 1.45; }
.est-f-auto { font-size: var(--fs-sm); color: var(--tx-2); margin: 0; line-height: 1.5;
  display: flex; gap: var(--sp-2); align-items: baseline; }
.est-in {
  width: 100%; box-sizing: border-box; min-height: 48px;
  padding: var(--sp-3); margin-bottom: var(--sp-2);
  font-size: var(--fs-lg); font-family: inherit; line-height: 1.45;
  color: var(--tx-1); background: var(--bg, #fff);
  border: 1px solid var(--br, rgba(140,140,148,.3)); border-radius: 10px;
}
.est-in:focus { outline: 2px solid color-mix(in srgb, var(--accent) 60%, transparent); outline-offset: 1px; }
.est-ta { min-height: 108px; resize: vertical; }
.est-in-url { font-size: var(--fs-sm); }
.est-sel { min-height: 48px; }
.est-cnt { display: block; font-size: var(--fs-xs); color: var(--tx-2); }
.est-cnt.warn { color: var(--peligro, #ef4444); font-weight: var(--fw-dato); }
@media (prefers-reduced-motion: reduce) {
  .est-card, .est-seg-b, .est-f { transition: none; }
  .est-card:active { transform: none; }
}
.ct-alerta {
  display: flex; gap: var(--sp-3); align-items: flex-start;
  padding: var(--sp-4); border-radius: var(--radius); margin-bottom: var(--sp-4);
  background: color-mix(in srgb, var(--peligro, #ef4444) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--peligro, #ef4444) 42%, transparent);
}
.ct-alerta > i { color: var(--peligro, #ef4444); font-size: var(--fs-lg); margin-top: 2px; }
.ct-alerta-t { display: flex; flex-direction: column; gap: var(--sp-1); }
.ct-alerta-t b { font-size: var(--fs-base); font-weight: var(--fw-dato); }
.ct-alerta-t span { font-size: var(--fs-sm); color: var(--tx-2); }
.ct-alerta-t ul { margin: var(--sp-2) 0 0; padding-left: var(--sp-4); font-size: var(--fs-sm); line-height: 1.9; }
.ct-mini-btn { border: 0; background: transparent; color: var(--gold-ink, var(--accent));
  font-size: var(--fs-xs); font-weight: var(--fw-dato); cursor: pointer; text-decoration: underline; }
.ct-resumen { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: var(--sp-3); margin-bottom: var(--sp-4); }
.ct-caja { display: flex; flex-direction: column; gap: 2px; padding: var(--sp-4);
  border-radius: var(--radius); background: var(--sf3, rgba(140,140,148,.06));
  border: 1px solid var(--br, rgba(140,140,148,.18)); }
.ct-caja--ojo { border-color: color-mix(in srgb, var(--accent) 45%, transparent);
  background: color-mix(in srgb, var(--accent) 8%, transparent); }
.ct-caja-n { font-size: var(--fs-2xl); font-weight: var(--fw-black); line-height: 1; font-variant-numeric: tabular-nums; }
.ct-caja-t { font-size: var(--fs-sm); color: var(--tx-2); }
.ct-barra { margin-bottom: var(--sp-3); }
.ct-buscar { width: 100%; box-sizing: border-box; min-height: 52px; padding: var(--sp-3) var(--sp-4);
  font-size: var(--fs-lg); font-family: inherit; color: var(--tx-1); background: var(--bg, #fff);
  border: 1px solid var(--br, rgba(140,140,148,.3)); border-radius: 12px; }
.ct-buscar:focus { outline: 2px solid color-mix(in srgb, var(--accent) 60%, transparent); outline-offset: 1px; }
.ct-filtros { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin-bottom: var(--sp-4); }
.ct-filtro { min-height: 44px; padding: 0 var(--sp-4); border-radius: 999px; cursor: pointer;
  font-size: var(--fs-sm); font-weight: var(--fw-medium); color: var(--tx-2);
  background: var(--sf3, rgba(140,140,148,.06)); border: 1px solid var(--br, rgba(140,140,148,.2)); }
.ct-filtro.on { background: color-mix(in srgb, var(--accent) 16%, transparent);
  color: var(--gold-ink, var(--accent)); border-color: color-mix(in srgb, var(--accent) 42%, transparent);
  font-weight: var(--fw-dato); }
.ct-fila { display: flex; align-items: center; gap: var(--sp-3); width: 100%; text-align: left;
  min-height: 60px; cursor: pointer; color: var(--tx-1); }
.ct-fila-n { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ct-fila-n b { font-size: var(--fs-base); font-weight: var(--fw-dato); }
.ct-fila-sub { font-size: var(--fs-sm); color: var(--tx-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ct-fila-eur { font-size: var(--fs-sm); font-weight: var(--fw-dato); font-variant-numeric: tabular-nums;
  color: var(--tx-2); flex-shrink: 0; }
.ct-fuentes { font-size: var(--fs-2xs); font-weight: var(--fw-dato); min-width: 22px; height: 22px;
  display: grid; place-items: center; border-radius: 999px; flex-shrink: 0;
  background: var(--surface-2, rgba(140,140,148,.14)); color: var(--tx-2); }
.ct-tag { font-size: var(--fs-2xs); font-weight: var(--fw-dato); padding: 3px 9px; border-radius: 999px;
  flex-shrink: 0; color: var(--tc); background: color-mix(in srgb, var(--tc) 14%, transparent); }
.ct-cargando, .ct-vacio, .ct-mas { padding: var(--sp-5); text-align: center; color: var(--tx-2); font-size: var(--fs-sm); }
.ct-dup { padding: var(--sp-4); border-radius: var(--radius); margin-bottom: var(--sp-3);
  background: var(--sf3, rgba(140,140,148,.06)); border: 1px solid var(--br, rgba(140,140,148,.2)); }
.ct-dup-h { display: flex; align-items: center; gap: var(--sp-3); margin-bottom: var(--sp-2); }
.ct-dup-r { font-size: var(--fs-sm); color: var(--tx-2); }
.ct-dup-c { font-size: var(--fs-2xs); font-weight: var(--fw-dato); padding: 3px 9px; border-radius: 999px;
  background: var(--surface-2, rgba(140,140,148,.14)); color: var(--tx-2); }
.ct-dup-c.alta { background: color-mix(in srgb, #16a34a 16%, transparent); color: #16a34a; }
.ct-dup-l { margin: 0 0 var(--sp-3); padding-left: var(--sp-4); }
.ct-dup-l li { margin-bottom: var(--sp-1); font-size: var(--fs-sm); }
.ct-dup-l li span { color: var(--tx-2); }
.ct-scrim { position: fixed; inset: 0; background: var(--scrim, rgba(0,0,0,.45)); z-index: 90; }
.ct-panel { position: fixed; top: 0; right: 0; bottom: 0; width: min(520px, 100%); z-index: 91;
  overflow-y: auto; padding: var(--sp-5); background: var(--bg, #fff);
  border-left: 1px solid var(--br, rgba(140,140,148,.2)); }
.ct-panel-h { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--sp-3); margin-bottom: var(--sp-4); }
.ct-panel-h h2 { margin: 0 0 var(--sp-2); font-size: var(--fs-xl); font-weight: var(--fw-black); }
.ct-porque { font-size: var(--fs-xs); color: var(--tx-2); margin-left: var(--sp-2); }
.ct-cifras { margin-bottom: var(--sp-4); }
.ct-cifras > div { padding: var(--sp-3); border-radius: 10px; background: var(--sf3, rgba(140,140,148,.06));
  display: flex; flex-direction: column; gap: 2px; }
.ct-cifras span { font-size: var(--fs-xl); font-weight: var(--fw-black); font-variant-numeric: tabular-nums; }
.ct-cifras small { font-size: var(--fs-xs); color: var(--tx-2); }
.ct-lbl { display: block; font-size: var(--fs-sm); font-weight: var(--fw-detalle);
  color: var(--tx-2); margin: var(--sp-4) 0 var(--sp-2); line-height: 1.45; }
.ct-in { width: 100%; box-sizing: border-box; min-height: 48px; padding: var(--sp-3);
  font-size: var(--fs-base); font-family: inherit; color: var(--tx-1); background: var(--bg, #fff);
  border: 1px solid var(--br, rgba(140,140,148,.3)); border-radius: 10px; }
.ct-in:focus { outline: 2px solid color-mix(in srgb, var(--accent) 60%, transparent); outline-offset: 1px; }
.ct-ta { min-height: 84px; resize: vertical; }
.ct-tipos { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.ct-tipo-b { min-height: 44px; padding: 0 var(--sp-4); border-radius: 10px; cursor: pointer;
  font-size: var(--fs-sm); font-weight: var(--fw-medium); color: var(--tx-2);
  background: var(--sf3, rgba(140,140,148,.06)); border: 1px solid var(--br, rgba(140,140,148,.2)); }
.ct-tipo-b.on { background: color-mix(in srgb, var(--accent) 16%, transparent);
  color: var(--gold-ink, var(--accent)); border-color: color-mix(in srgb, var(--accent) 45%, transparent);
  font-weight: var(--fw-dato); }
.ct-tipo-reset { color: var(--peligro, #ef4444); }
.ct-fuentes-l { margin: 0 0 var(--sp-4); padding-left: var(--sp-4); }
.ct-fuentes-l li { margin-bottom: var(--sp-2); font-size: var(--fs-sm); }
.ct-fuentes-l li b { display: block; font-weight: var(--fw-dato); }
.ct-fuentes-l li span { color: var(--tx-2); }
@media (max-width: 640px) { .ct-panel { width: 100%; } }
.jg-resumen { margin-bottom: var(--sp-4); }
.jg-titular { display: flex; align-items: baseline; gap: var(--sp-3); flex-wrap: wrap; }
.jg-eur { font-size: clamp(2rem, 5vw, 3rem); font-weight: var(--fw-black); line-height: 1;
  font-variant-numeric: tabular-nums; color: var(--gold-ink, var(--accent)); }
.jg-eur-t { font-size: var(--fs-base); color: var(--tx-2); font-weight: var(--fw-medium); }
.jg-tipos { display: flex; flex-wrap: wrap; gap: var(--sp-3); margin-top: var(--sp-3); }
.jg-tipo { display: inline-flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-sm);
  font-weight: var(--fw-detalle); color: var(--tc); }
.jg-card { padding: var(--sp-4); border-radius: var(--radius); margin-bottom: var(--sp-3);
  background: var(--sf3, rgba(140,140,148,.06));
  border: 1px solid var(--br, rgba(140,140,148,.2));
   }
.jg-card-h i, .jg-card-h svg { color: var(--tc); }
.jg-card-h { display: flex; align-items: center; gap: var(--sp-3); flex-wrap: wrap; margin-bottom: var(--sp-2); }
.jg-badge { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-2xs);
  font-weight: var(--fw-dato); padding: 4px 10px; border-radius: 999px;
  color: var(--tc); background: color-mix(in srgb, var(--tc) 14%, transparent); }
.jg-card-n { flex: 1; min-width: 140px; font-size: var(--fs-lg); font-weight: var(--fw-dato); }
.jg-card-eur { font-size: var(--fs-lg); font-weight: var(--fw-black); font-variant-numeric: tabular-nums; }
.jg-que    { margin: 0 0 4px; font-size: var(--fs-base); color: var(--tx-1); line-height: 1.5; }
.jg-porque { margin: 0 0 var(--sp-3); font-size: var(--fs-sm); color: var(--tx-2); line-height: 1.55; }
.jg-hacer  { margin: 0; font-size: var(--fs-base); font-weight: var(--fw-detalle); line-height: 1.5;
  display: flex; gap: var(--sp-2); align-items: baseline; }
.jg-hacer > i { color: var(--tc); font-size: var(--fs-sm); }
#content .page-head:has(+ #com-diag) { margin-bottom: var(--sp-5); }
.com-segs { margin-top: var(--sp-4) !important; margin-bottom: var(--sp-4); }
.com-aud { margin-top: var(--sp-5); }
#content.bx-cargando .kpi-value:not(.bx-dato-ok),
#content.bx-cargando .cm-kpi-val:not(.bx-dato-ok),
#content.bx-cargando [data-count]:not(.bx-dato-ok),
#content.bx-cargando [data-to]:not(.bx-dato-ok) {
  color: transparent !important;
  position: relative;
  border-radius: 6px;
  background: linear-gradient(90deg,
    color-mix(in srgb, var(--tx) 8%, transparent) 25%,
    color-mix(in srgb, var(--tx) 14%, transparent) 37%,
    color-mix(in srgb, var(--tx) 8%, transparent) 63%) var(--bg);
  background-size: 400% 100%;
  animation: bx-cargando-brillo 1.3s ease-in-out infinite;
}
@keyframes bx-cargando-brillo { 0% { background-position: 100% 50%; } 100% { background-position: 0 50%; } }
#content.bx-cargando .kpi-delta:not(.bx-dato-ok), #content.bx-cargando .cm-kpi-sub:not(.bx-dato-ok) { opacity: .25; }
@media (prefers-reduced-motion: reduce) {
  #content.bx-cargando .kpi-value, #content.bx-cargando [data-count], #content.bx-cargando [data-to] { animation: none; }
}
@media (prefers-reduced-motion: no-preference) {
  #content.bx-cargando .bx-dato-ok { background: none; color: inherit; animation: none; }
}
#content.bx-mudo > *,
#content.bx-mudo .cm-block,
#content.bx-mudo .kpix-block,
#content.bx-mudo .cm-island,
#content.bx-mudo #cm-root::after { animation: none !important; }
#content.bx-mudo .cm-brain-title .cm-w { animation: none !important; opacity: 1 !important; }
::view-transition-old(root),
::view-transition-new(root) { animation-duration: var(--dur-fast); animation-timing-function: var(--ease-out); }
::view-transition { pointer-events: none; }
@media (prefers-reduced-motion: reduce) {
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; }
}
.lpn { margin-bottom: var(--sp-5); }
.lpn-top { display: block; }
@media (max-width: 900px) { .lpn-top { grid-template-columns: 1fr; } }
.lpn-cifras { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-3); }
.lpn-mod { position: relative; overflow: hidden; display: flex; flex-direction: column;
  background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius); padding: var(--sp-4); }
.lpn-mod-l { display: flex; align-items: center; gap: 11px; min-width: 0; }
.lpn-mod-ic { width: 34px; height: 34px; border-radius: 10px; flex: none;
  display: grid; place-items: center; line-height: 0;
  background: color-mix(in srgb, var(--azul-apple) 15%, transparent); color: var(--azul-apple); }
.lpn-mod-ic i { font-size: var(--fs-md); }
.lpn-mod-l b { font-size: var(--fs-2xl); font-weight: var(--fw-fuerte); letter-spacing: -.025em;
  font-variant-numeric: tabular-nums; line-height: 1.05; white-space: nowrap; color: var(--tx); }
.lpn-mod-l b .u { font-size: .7em; margin-left: .3em; font-weight: var(--fw-dato); color: var(--tx-2); }
.lpn-mod-pie { display: block; font-size: var(--fs-sm); color: var(--tx-3);
  margin-top: 6px; padding-left: 45px; }
.lpn-mod-ad { margin-top: auto; padding-top: 12px; }
.lpn-mod--aviso .lpn-mod-ic { background: color-mix(in srgb, var(--estado-ojo, #d97706) 16%, transparent); color: var(--estado-ojo-ink, #b45309); }
.lpn-mod--aviso b { color: var(--estado-ojo-ink, #b45309); }
.lpn-mod--mal .lpn-mod-ic { background: color-mix(in srgb, #ef4444 15%, transparent); color: #dc2626; }
.lpn-mod--mal b { color: #dc2626; }
.lpn-mod--bien .lpn-mod-ic { background: color-mix(in srgb, #16a34a 15%, transparent); color: #15803d; }
.lpn-spark { display: block; width: calc(100% + var(--sp-4) * 2);
  margin: 0 calc(var(--sp-4) * -1) calc(var(--sp-4) * -1); height: 38px; }
.lpn-cal { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.lpn-cal i { height: 6px; border-radius: 3px; background: color-mix(in srgb, var(--tx) 10%, transparent); }
.lpn-cal i.hoy { background: var(--azul-apple); }
.lpn-prop { height: 6px; border-radius: 3px; background: color-mix(in srgb, var(--tx) 10%, transparent); overflow: hidden; }
.lpn-prop i { display: block; height: 100%; border-radius: 3px; background: var(--estado-ojo, #d97706); }
.lpn-graf { background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius); padding: var(--sp-4); display: flex; flex-direction: column; }
.lpn-graf-t { font-size: var(--fs-xs); font-weight: var(--fw-dato); text-transform: uppercase; letter-spacing: .06em; color: var(--tx-3); margin-bottom: var(--sp-3); }
.lpn-barras { flex: 1; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 6px; align-items: end; min-height: 90px; }
.lpn-bar { display: flex; flex-direction: column; justify-content: flex-end; align-items: center; height: 100%; gap: 4px; }
.lpn-bar-in { width: 100%; border-radius: 4px 4px 0 0; background: var(--accent); }   
.lpn-bar-n { font-size: var(--fs-2xs); color: var(--tx-3); font-variant-numeric: tabular-nums; }
.lpn-bt { display: inline-flex; align-items: center; gap: 7px; margin-top: var(--sp-3); padding: 8px 14px; border-radius: var(--radius-pill);
  border: 1px solid var(--br); background: var(--sf); color: var(--tx-2); font-size: var(--fs-sm); font-weight: var(--fw-detalle); cursor: pointer; }
.lpn-bt:hover { color: var(--tx); border-color: var(--tx-3); }
.lpn-mas { margin-top: var(--sp-4); }
.lpn-cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-4); }
@media (max-width: 1400px) { .lpn-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1100px) { .lpn-cifras { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 820px) { .lpn-cols { grid-template-columns: 1fr; } .lpn-cifras { grid-template-columns: 1fr; } }
.lpn-caja { background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius); padding: var(--sp-4); }
.lpn-ancha { margin-top: var(--sp-4); }
.lpn-h { display: flex; align-items: center; gap: 9px; margin-bottom: var(--sp-3);
  font-size: var(--fs-base); font-weight: var(--fw-dato); color: var(--tx); }
.lpn-h-ic { width: 26px; height: 26px; border-radius: 8px; flex: none;
  display: grid; place-items: center; line-height: 0;
  background: color-mix(in srgb, var(--tx) 7%, transparent); color: var(--tx-2); }
.lpn-h-ic i { font-size: var(--fs-sm); }
.lpn-h-sub { margin-left: auto; font-size: var(--fs-sm); font-weight: var(--fw-body); color: var(--tx-3); }
.lpn-fila { display: flex; align-items: center; gap: 8px; padding: 6px 0; font-size: var(--fs-sm); }
.lpn-fv { min-width: 5ch; text-align: right; font-variant-numeric: tabular-nums; font-weight: var(--fw-dato); }
.lpn-fp { min-width: 4ch; text-align: right; font-variant-numeric: tabular-nums; color: var(--tx-3); }
.lpn-fila + .lpn-fila { border-top: 1px solid var(--br); }
.lpn-pt { flex: none; width: 8px; height: 8px; border-radius: 99px; }
.lpn-fn { flex: 1; min-width: 0; color: var(--tx); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lpn-fv { flex: none; font-weight: var(--fw-dato); color: var(--tx); font-variant-numeric: tabular-nums; }
.lpn-fp { flex: none; min-width: 62px; text-align: right; color: var(--tx-3); font-size: var(--fs-xs); font-variant-numeric: tabular-nums; }
.lpn-barmini { flex: none; width: 74px; height: var(--bar-h, 10px); border-radius: var(--radius-pill); background: var(--sf2); overflow: hidden; }
.lpn-barmini > i { display: block; height: 100%; border-radius: 99px; }
.lpn-grande { font-size: var(--fs-3xl); font-weight: var(--fw-black); color: var(--tx); line-height: 1; }
.lpn-u { font-size: var(--fs-base); font-weight: var(--fw-detalle); color: var(--tx-2); margin-left: 6px; }
.lpn-nota { margin-top: var(--sp-3); font-size: var(--fs-xs); color: var(--tx-3); line-height: 1.5; }
.lpn-vacio { font-size: var(--fs-sm); color: var(--tx-3); }
.lpn-camp-tot { display: flex; flex-wrap: wrap; gap: var(--sp-4); margin-bottom: var(--sp-3); font-size: var(--fs-sm); color: var(--tx-2); }
.lpn-camp-tot b { color: var(--tx); font-weight: var(--fw-dato); }
.lpn-seco { flex: 1; display: flex; flex-direction: column; justify-content: center; }
.lpn-seco-n { font-size: var(--fs-2xl); font-weight: var(--fw-black); color: var(--peligro, #ef4444); line-height: 1; margin-bottom: 6px; }
.lpn-consejo { position: relative; margin-top: var(--sp-3);
  padding: var(--sp-3) var(--sp-4) var(--sp-3) calc(var(--sp-4) + 26px + 12px);
  border-radius: var(--radius-sm); background: var(--sf); border: 1px solid var(--br);
  font-size: var(--fs-sm); color: var(--tx-2); line-height: 1.55; }
.lpn-consejo::before { content: '\f0eb'; font-family: 'Font Awesome 6 Free'; font-weight: 900;
  position: absolute; left: var(--sp-4); top: var(--sp-3);
  width: 26px; height: 26px; border-radius: 8px; display: grid; place-items: center;
  background: color-mix(in srgb, var(--accent) 26%, transparent); color: var(--gold-ink);
  font-size: var(--fs-sm); }
.lpn-consejo b { font-weight: var(--fw-dato); }
.camp-hero { display: flex; align-items: center; gap: var(--sp-4); text-align: left;
  padding: var(--sp-4) var(--sp-5); }
.camp-hero-ic { width: 54px; height: 54px; flex: none; border-radius: 15px; display: grid;
  place-items: center; background: var(--accent); color: #231a00; font-size: var(--fs-xl); }
.camp-hero-txt { min-width: 0; }
.camp-hero-cifra { display: flex; align-items: baseline; gap: 6px; line-height: 1; }
.camp-hero-cifra b { font-size: clamp(34px, 5vw, 46px); font-weight: var(--fw-black);
  letter-spacing: -.03em; color: var(--tx); font-variant-numeric: tabular-nums; }
.camp-hero-cifra span { font-size: clamp(34px, 5vw, 46px); font-weight: var(--fw-black);
  letter-spacing: -.03em; color: var(--accent); }
.camp-hero-sub { margin-top: 3px; font-size: var(--fs-sm); color: var(--tx-2); font-weight: var(--fw-medium); }
.camp-reparto { display: flex; height: 10px; border-radius: var(--radius-pill);
  overflow: hidden; background: var(--sf3); margin-bottom: var(--sp-3); }
.camp-rep-tramo { display: block; height: 100%; }
.camp-leyenda { display: flex; flex-wrap: wrap; gap: var(--sp-4);
  margin-bottom: var(--sp-6); font-size: var(--fs-sm); color: var(--tx-2); }
.camp-leg { display: inline-flex; align-items: center; gap: 6px; }
.camp-leg i { width: 9px; height: 9px; border-radius: 50%; flex: none; }
.camp-leg b { color: var(--tx); font-variant-numeric: tabular-nums; font-weight: var(--fw-detalle); }
.camp-tarjetas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-4); margin-bottom: var(--sp-6); }
.camp-tarjetas:has(> :nth-child(4):last-child) > :last-child { grid-column: 2 / 3; }
.camp-tarjetas:has(> :nth-child(5):last-child) > :nth-child(4) { grid-column: 1 / 2; margin-left: 50%; }
.camp-tarjetas:has(> :nth-child(5):last-child) > :last-child { grid-column: 2 / 3; margin-left: 50%; }
@media (max-width: 720px) {
  .camp-tarjetas { grid-template-columns: minmax(0, 1fr); }
  .camp-tarjetas > :last-child { max-width: none !important; }
  .camp-fechas { margin-left: 0; width: 100%; }
}
.camp-card { background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius);
  padding: 20px; display: grid; gap: 12px; align-content: start; min-height: 186px;
  transition: border-color .18s var(--ease-out); }
.camp-card:hover { border-color: var(--obj); }
.camp-card { font: inherit; color: inherit; text-align: left; cursor: pointer; width: 100%;
  transition: transform var(--dur-press) var(--ease-out), border-color var(--dur-fast) var(--ease-out); }
.camp-card:active { transform: scale(.985); }
.camp-card.abierta { border-color: var(--obj); box-shadow: inset 0 0 0 1px var(--obj); }
.camp-card-chev { margin-left: auto; color: var(--tx-3); font-size: var(--fs-sm); flex: none;
  transition: transform var(--dur-fast) var(--ease-out); }
.camp-card.abierta .camp-card-chev { transform: rotate(180deg); }
.camp-card-pie { display: flex; align-items: baseline; justify-content: space-between; gap: 10px;
  margin-top: auto; padding-top: 11px; border-top: 1px solid var(--br); font-size: var(--fs-base); }
.camp-card-gasto { font-weight: var(--fw-fuerte); }
.camp-card-coste { font-size: var(--fs-sm); color: var(--tx-2); }
.camp-det { margin-top: var(--sp-3); border-color: var(--obj); }
.camp-det-cab { display: flex; align-items: center; gap: var(--sp-3); margin-bottom: var(--sp-4); }
.camp-det-cab b { font-size: var(--fs-lg); font-weight: var(--fw-fuerte); }
.camp-det-x { appearance: none; font: inherit; color: var(--tx-2); background: var(--sf2);
  border: 1px solid var(--br); border-radius: 50%; width: 34px; height: 34px; margin-left: auto;
  cursor: pointer; display: grid; place-items: center; }
@media (hover: hover) { .camp-det-x:hover { background: var(--sf3); } }
.camp-det-euro { display: flex; align-items: baseline; gap: 10px; margin-bottom: var(--sp-4); }
.camp-det-euro-n { font-size: var(--fs-3xl); font-weight: var(--fw-black); letter-spacing: -.02em;
  color: var(--obj); line-height: 1; font-variant-numeric: tabular-nums; }
.camp-det-euro-t { font-size: var(--fs-md); color: var(--tx-2); font-weight: var(--fw-detalle); }
.camp-det-rej { display: grid; grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
  gap: var(--sp-3); }
.camp-det-i { background: var(--sf2); border-radius: var(--radius-sm); padding: 13px 15px;
  display: grid; grid-template-columns: auto 1fr; gap: 3px 10px; align-items: center; }
.camp-det-i > i { grid-row: 1 / 3; color: var(--obj); font-size: var(--fs-md); }
.camp-det-i b { font-size: var(--fs-lg); font-weight: var(--fw-fuerte); font-variant-numeric: tabular-nums; }
.camp-det-i span { font-size: var(--fs-xs); color: var(--tx-2); }
.camp-det-vacio, .camp-det-pie { font-size: var(--fs-sm); color: var(--tx-3); }
.camp-det-pie { margin-top: var(--sp-3); }
@media (max-width: 1000px) { .camp-tarjetas { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px)  { .camp-tarjetas { grid-template-columns: 1fr; }
  .camp-hero-cifra b, .camp-hero-cifra span { font-size: 32px; } }
.camp-card-top { display: flex; align-items: center; gap: 12px; }
.camp-ico { width: 46px; height: 46px; flex: none; border-radius: 13px; display: grid;
  place-items: center; background: color-mix(in srgb, var(--obj) 14%, transparent); color: var(--obj);
  font-size: var(--fs-base); }
.camp-card-tit { min-width: 0; flex: 1; }
.camp-card-nom { font-size: var(--fs-lg); font-weight: var(--fw-fuerte); color: var(--tx); line-height: 1.25;
  letter-spacing: -.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.camp-crudo { font-size: var(--fs-xs); font-weight: var(--fw-body); color: var(--tx-3);
  font-family: var(--mono, monospace); }
.camp-card-sub { font-size: var(--fs-sm); color: var(--tx-3); margin-top: 2px; }
.camp-card-gasto { display: flex; align-items: baseline; gap: 3px; white-space: nowrap; }
.camp-card-gasto b { font-size: var(--fs-xl); font-weight: var(--fw-fuerte); color: var(--tx);
  font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.camp-card-gasto span { font-size: var(--fs-xl); font-weight: var(--fw-fuerte); color: var(--accent); }
.camp-card-res { padding: 0; }
.camp-res-val { display: flex; align-items: baseline; gap: 7px; }
.camp-res-val b { font-size: var(--fs-3xl); font-weight: var(--fw-fuerte); color: var(--obj);
  letter-spacing: -.02em; line-height: 1.05;
  font-variant-numeric: tabular-nums; letter-spacing: -.02em; line-height: 1.1; }
.camp-res-val span { font-size: var(--fs-base); font-weight: var(--fw-dato); color: var(--tx-2); }
.camp-res-coste { margin-top: 3px; font-size: var(--fs-sm); color: var(--tx-2); font-weight: var(--fw-medium); }
.camp-card-mas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-2) var(--sp-4); }
.camp-mas-i { display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-2);
  font-size: var(--fs-sm); color: var(--tx-3); min-width: 0; }
.camp-mas-i b { color: var(--tx-2); font-weight: var(--fw-detalle); font-variant-numeric: tabular-nums; white-space: nowrap; }
.camp-ventas { background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius);
  padding: var(--sp-5); }
.camp-ventas-t { font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx-2);
  text-transform: uppercase; letter-spacing: .06em; margin-bottom: var(--sp-4); }
.camp-ventas-fila { display: flex; flex-wrap: wrap; gap: var(--sp-6); margin-bottom: var(--sp-4); }
.camp-v-dato { display: flex; align-items: baseline; gap: 4px; flex-wrap: wrap; }
.camp-v-dato b { font-size: var(--fs-xl); font-weight: var(--fw-fuerte); color: var(--tx);
  font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.camp-v-dato span { font-size: var(--fs-xl); font-weight: var(--fw-fuerte); color: var(--accent); }
.camp-v-dato em { font-style: normal; font-size: var(--fs-sm); color: var(--tx-3); margin-left: 5px; }
.camp-ventas-nota { display: flex; gap: 7px; font-size: var(--fs-sm); color: var(--tx-3); line-height: 1.5; }
.camp-ventas-nota i { color: var(--tx-3); margin-top: 3px; flex: none; }
.cli-pill { flex: none; height: 28px; max-width: 132px; padding: 0 22px 0 20px;
  border: 0; background: transparent; color: var(--tx);
  border-radius: var(--radius-pill); font-family: var(--font); font-size: var(--fs-sm);
  font-weight: var(--fw-detalle); cursor: pointer; appearance: none; -webkit-appearance: none;
  background-image:
    radial-gradient(circle at 4px 50%, var(--st) 0 3.5px, transparent 3.5px),
    linear-gradient(45deg, transparent 50%, var(--tx-2) 50%),
    linear-gradient(135deg, var(--tx-2) 50%, transparent 50%);
  background-position: 0 0, calc(100% - 10px) 12px, calc(100% - 6px) 12px;
  background-size: 100% 100%, 4px 4px, 4px 4px; background-repeat: no-repeat;
  transition: color .18s var(--ease-out); }
.cli-pill:hover { color: var(--st); }
.cli-pill:focus-visible { outline: 2px solid var(--st); outline-offset: 1px; }
.cli-pill option { color: var(--tx); background: var(--sf); font-weight: var(--fw-body); }
@media (max-width: 720px) {
  .lp-f-cab { flex-wrap: wrap; }
  .lp-f-panes { margin-left: 0; }
}
@media (max-width: 768px) {
  :root { --bx-centro-contenido: 50vw; }
}
body.web-zen { --bx-centro-contenido: 50vw; }
.camp-head { display: flex; align-items: flex-start; justify-content: space-between;
  gap: var(--sp-4); flex-wrap: wrap; }
@media (max-width: 720px) { .camp-head #datepicker-wrap { width: 100%; } }
.camp-graf-caja { background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius);
  padding: var(--sp-5); margin-bottom: var(--sp-6); }
.camp-graf-t { font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx-2);
  text-transform: uppercase; letter-spacing: .06em; margin-bottom: var(--sp-4); }
.camp-graf { width: 100%; height: clamp(180px, 26vh, 260px); }
.camp-ult { margin-bottom: var(--sp-6); }
.camp-ult-t { font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx-2);
  text-transform: uppercase; letter-spacing: .06em; margin-bottom: var(--sp-4); }
.camp-ult-lista { display: flex; flex-direction: column; }
.camp-u { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr) auto;
  gap: var(--sp-4); align-items: center; }
.camp-u-id { min-width: 0; }
.camp-u-nom { font-size: var(--fs-md); font-weight: var(--fw-detalle); color: var(--tx);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.camp-u-sub { font-size: var(--fs-sm); color: var(--tx-3); margin-top: 2px;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.camp-u-sub i { color: var(--obj); margin-right: 4px; }
.camp-u-res { display: flex; align-items: baseline; gap: 5px; min-width: 0; }
.camp-u-res b { font-size: var(--fs-lg); font-weight: var(--fw-fuerte); color: var(--obj);
  font-variant-numeric: tabular-nums; }
.camp-u-res span { font-size: var(--fs-sm); color: var(--tx-3); }
.camp-u-nada { font-size: var(--fs-sm); color: var(--tx-3); font-style: italic; }
.camp-u-gasto { font-size: var(--fs-md); font-weight: var(--fw-dato); color: var(--tx);
  font-variant-numeric: tabular-nums; white-space: nowrap; text-align: right; }
.camp-ult-mas { margin-top: var(--sp-4); width: 100%; padding: var(--sp-3);
  background: none; border: 1px dashed var(--br); border-radius: var(--radius-sm);
  color: var(--tx-2); font-family: var(--font); font-size: var(--fs-sm);
  font-weight: var(--fw-medium); cursor: pointer; transition: border-color .18s var(--ease-out); }
.camp-ult-mas:hover { border-color: var(--accent); color: var(--tx); }
@media (max-width: 720px) {
  .camp-u { grid-template-columns: minmax(0, 1fr) auto; }
  .camp-u-id { grid-column: 1 / -1; }
}
.camp-comp { background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius);
  padding: var(--sp-5); margin-bottom: var(--sp-6); }
.camp-comp-t { font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx-2);
  text-transform: uppercase; letter-spacing: .06em; margin-bottom: var(--sp-4); }
.camp-comp-lista { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-4); }
.camp-comp-lista:has(> :nth-child(3):last-child) > :last-child { grid-column: 1 / -1;
  max-width: calc(50% - var(--sp-2)); margin: 0 auto; }
@media (max-width: 720px) {
  .camp-comp-lista { grid-template-columns: minmax(0, 1fr); }
  .camp-comp-lista > :last-child { max-width: none !important; }
}
.camp-c { padding: var(--sp-4); border: 1px solid var(--br); border-radius: var(--radius-sm);
  background: var(--bg); }
.camp-c-etq { font-size: var(--fs-sm); color: var(--tx-2); line-height: 1.35; }
.camp-c-nota { display: block; font-size: var(--fs-xs); color: var(--tx-3); margin-top: 2px; }
.camp-c-mio { font-size: var(--fs-2xl); font-weight: var(--fw-black); color: var(--tx);
  font-variant-numeric: tabular-nums; letter-spacing: -.02em; line-height: 1.15; margin-top: var(--sp-2); }
.camp-c-ref { font-size: var(--fs-sm); color: var(--tx-3); font-variant-numeric: tabular-nums; }
.camp-c-ver { margin-top: var(--sp-3); display: inline-flex; align-items: center;
  font-size: var(--fs-sm); font-weight: var(--fw-detalle); padding: 3px 10px;
  border-radius: var(--radius-pill); border: 1px solid currentColor; }
.camp-c--bien .camp-c-ver  { color: #16a34a; }
.camp-c--igual .camp-c-ver { color: var(--tx-3); }
.camp-c--mal .camp-c-ver   { color: var(--peligro, #ef4444); }
.camp-comp-pie { display: flex; gap: 7px; margin-top: var(--sp-4); padding-top: var(--sp-4);
  border-top: 1px solid var(--br); font-size: var(--fs-sm); color: var(--tx-3); line-height: 1.55; }
.camp-comp-pie i { margin-top: 3px; flex: none; }
.camp-comp-pie b { color: var(--tx-2); font-weight: var(--fw-detalle); }
@media (max-width: 768px) {
  #view-switcher, #fabrica-switcher, #bx-flotantes { left: 0; }   
  .holded-loading, .toast { max-width: calc(100vw - 32px); }
}
body.web-zen #view-switcher, body.web-zen #fabrica-switcher, body.web-zen #bx-flotantes { left: 0; }
.camp-riv { margin-bottom: var(--sp-6); }
.camp-riv-cab { display: flex; align-items: center; justify-content: space-between;
  gap: var(--sp-4); flex-wrap: wrap; margin-bottom: var(--sp-4); }
.camp-riv-t { font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx-2);
  text-transform: uppercase; letter-spacing: .06em; }
.camp-riv-acc { display: flex; gap: var(--sp-2); }
.camp-riv-freno { border: 1px solid var(--br); border-radius: var(--radius-sm);
  background: var(--bg); padding: var(--sp-4); margin-bottom: var(--sp-4); }
.camp-riv-freno-t { font-size: var(--fs-md); font-weight: var(--fw-dato); color: var(--tx);
  margin-bottom: var(--sp-3); }
.camp-riv-freno-t i { color: var(--accent); margin-right: 6px; }
.camp-riv-freno p { font-size: var(--fs-sm); color: var(--tx-2); line-height: 1.55; margin: 0 0 var(--sp-3); }
.camp-riv-freno ol { margin: 0 0 var(--sp-3); padding-left: 1.2em; font-size: var(--fs-sm);
  color: var(--tx-2); line-height: 1.8; }
.camp-riv-freno a { color: var(--blue-accent, #0071e3); }
.camp-riv-mientras { margin-bottom: 0 !important; }
.camp-riv-lista { display: flex; flex-direction: column; }
.camp-riv-x { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) auto;
  gap: var(--sp-4); align-items: center; }
.camp-riv-x.pausado { opacity: .5; }
.camp-riv-nom { font-size: var(--fs-md); font-weight: var(--fw-detalle); color: var(--tx);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.camp-riv-pausa { font-size: var(--fs-xs); color: var(--tx-3); font-weight: var(--fw-body);
  border: 1px solid var(--br); border-radius: var(--radius-pill); padding: 1px 8px; margin-left: 6px; }
.camp-riv-dato { font-size: var(--fs-sm); color: var(--tx-2); min-width: 0; }
.camp-riv-dato b { color: var(--tx); font-variant-numeric: tabular-nums; font-weight: var(--fw-dato); }
.camp-riv-dato i { color: var(--tx-3); }
.camp-riv-pie { display: flex; gap: 7px; margin-top: var(--sp-4); padding-top: var(--sp-4);
  border-top: 1px solid var(--br); font-size: var(--fs-sm); color: var(--tx-3); line-height: 1.55; }
.camp-riv-pie i { margin-top: 3px; flex: none; }
.camp-riv-pie b { color: var(--tx-2); font-weight: var(--fw-detalle); }
@media (max-width: 720px) {
  .camp-riv-x { grid-template-columns: minmax(0, 1fr) auto; }
  .camp-riv-dato { grid-column: 1 / -1; }
}
.camp-card { cursor: pointer; }
.camp-card:active { transform: scale(.995); }
.camp-card.activa { border-color: var(--obj);
  box-shadow: 0 0 0 1px var(--obj); }
.camp-card:focus-visible { outline: 2px solid var(--obj); outline-offset: 2px; }
.camp-ult-cab { display: flex; align-items: center; justify-content: space-between;
  gap: var(--sp-3); margin-bottom: var(--sp-4); flex-wrap: wrap; }
.camp-ult-cab .camp-ult-t { margin-bottom: 0; }
.camp-ult-quitar { display: inline-flex; align-items: center; gap: 6px;
  padding: 4px var(--sp-3); border: 1px solid var(--br); border-radius: var(--radius-pill);
  background: none; color: var(--tx-2); font-family: var(--font); font-size: var(--fs-sm);
  font-weight: var(--fw-medium); cursor: pointer;
  transition: border-color .18s var(--ease-out), color .18s var(--ease-out); }
.camp-ult-quitar:hover { border-color: var(--accent); color: var(--tx); }
.bx-fila-flex { display: flex; align-items: center; gap: var(--sp-3); }
.bx-cajon { border-top: 1px solid var(--br); padding: var(--sp-3) var(--sp-4);
  display: flex; flex-direction: column; gap: var(--fila-gap); }
.camp-dos { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: var(--sp-4); margin-bottom: var(--sp-6); }
.camp-dos > .camp-graf-caja { margin-bottom: 0; }
@media (max-width: 900px) { .camp-dos { grid-template-columns: minmax(0, 1fr); } }
.camp-barras { display: flex; flex-direction: column; gap: var(--sp-4); }
.camp-b { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px var(--sp-3); align-items: baseline; }
.camp-b-nom { font-size: var(--fs-md); color: var(--tx); font-weight: var(--fw-medium); min-width: 0;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.camp-b-val { font-size: var(--fs-md); font-weight: var(--fw-dato); color: var(--tx);
  font-variant-numeric: tabular-nums; white-space: nowrap; }
.camp-b-val em { font-style: normal; color: var(--tx-3); font-weight: var(--fw-body); margin-left: 6px; }
.camp-b-pista { grid-column: 1 / -1; height: var(--bar-h, 10px); border-radius: var(--radius-pill);
  background: var(--sf3); overflow: hidden; }
.camp-b-relleno { display: block; height: 100%; border-radius: var(--radius-pill); background: var(--obj); }
.bx-aviso-viejos {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1300;
  display: flex; align-items: center; justify-content: center; gap: var(--sp-2);
  padding: var(--sp-2) var(--sp-4);
  background: linear-gradient(90deg, #92400e, #b45309 40%, #92400e);
  color: #fff7ea; font-size: var(--fs-base); font-weight: var(--fw-detalle);
  border-bottom: 1px solid rgba(0, 0, 0, .25);
  box-shadow: 0 2px 12px rgba(0, 0, 0, .25);   
}
.bx-aviso-btn {
  background: rgba(255, 255, 255, .16); color: inherit;
  border: 1px solid rgba(255, 255, 255, .3); border-radius: var(--radius-sm);
  padding: 2px var(--sp-2); font-size: var(--fs-sm); font-weight: var(--fw-detalle);
  cursor: pointer; transition: background var(--dur-fast) var(--ease-out);
}
.bx-aviso-btn:hover { background: rgba(255, 255, 255, .28); }
.bx-aviso-btn:active { transform: scale(.97); }
body.bx-con-aviso .dashboard { padding-top: 34px; }
body.bx-con-aviso .sidebar { padding-top: 34px; }
body.bx-con-aviso .topbar { top: 34px; }
@media (max-width: 768px) {
  .bx-aviso-viejos { font-size: var(--fs-xs); padding: 7px 10px; }
}
.fab-offline-band {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 1300;
  display: flex; align-items: center; justify-content: center; gap: var(--sp-2);
  padding: var(--sp-2) var(--sp-4);
  color: #fff7ea; font-size: var(--fs-base); font-weight: var(--fw-detalle);
  border-top: 1px solid rgba(0, 0, 0, .25);
  box-shadow: 0 -2px 12px rgba(0, 0, 0, .25);   
}
.fab-offline-band[data-estado="off"]  { background: linear-gradient(90deg, #92400e, #b45309 40%, #92400e); }
.fab-offline-band[data-estado="sync"] { background: linear-gradient(90deg, #374151, #4b5563 40%, #374151); }
.tb-pie--vivo { color: var(--tx); font-weight: var(--fw-detalle); }
.fab-offline-band--tocable { cursor: pointer; min-height: 52px; -webkit-tap-highlight-color: transparent; }
.fab-offline-band--tocable:active { filter: brightness(1.12); }
@media (hover: hover) { .fab-offline-band--tocable:hover { filter: brightness(1.08); } }
.fab-offline-band--tocable:focus-visible { outline: 3px solid #fff; outline-offset: -3px; }
.fab-ob-intro { margin: 0 0 var(--sp-3); font-size: var(--fs-base); line-height: 1.45; }
.fab-ob-g { margin-bottom: var(--sp-4); }
.fab-ob-g:last-child { margin-bottom: 0; }
.fab-ob-fila {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center;
  gap: var(--sp-2) var(--sp-3); padding: var(--sp-3);
}
.fab-ob-q { grid-column: 1; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.fab-ob-q b { font-size: var(--fs-md); font-weight: var(--fw-dato); }
.fab-ob-q span { font-size: var(--fs-sm); color: var(--tx-3); }
.fab-ob-por {
  grid-column: 1 / -1; font-size: var(--fs-sm); color: var(--estado-urgente-ink, #b91c1c);
  font-weight: var(--fw-detalle);
}
.fab-ob-fila .btn { grid-column: 2; grid-row: 1; white-space: nowrap; min-height: 44px; }
.fab-ob-pin { margin: var(--sp-3) 0 0; font-size: var(--fs-sm); color: var(--tx-3); }
@media (max-width: 560px) {
  .fab-ob-fila { grid-template-columns: minmax(0, 1fr); }
  .fab-ob-fila .btn { grid-column: 1; grid-row: auto; }
}
.fab-offline-band[data-estado="mal"] {
  background: var(--estado-urgente, #dc2626); color: #fff;
  font-weight: var(--fw-fuerte); box-shadow: inset 0 -2px 0 rgba(255,255,255,.35);
}
@media (max-width: 768px) {
  .fab-offline-band { font-size: var(--fs-xs); padding: 7px 10px; }
}
.bx-instalar-btn.btn-primary {
  position: fixed; right: var(--sp-5); left: auto; z-index: 1400;
  bottom: calc(var(--sp-6) + env(safe-area-inset-bottom, 0px));
  padding: var(--sp-3) var(--sp-5); gap: var(--sp-2);
  font-size: var(--fs-lg); font-weight: var(--fw-dato);
  box-shadow: 0 8px 28px rgba(0, 0, 0, .3);
}
.bx-instalar-btn.btn-primary:active { transform: scale(.97); }
.bx-instalar-btn.btn-primary i { font-size: 1.1em; }
@media (max-width: 560px) {
  .bx-instalar-btn.btn-primary { left: var(--sp-4); right: var(--sp-4); justify-content: center; }
}
.camp-hero-fresco { margin-top: var(--sp-2); display: flex; justify-content: center; }
.camp-hero-fresco .sync-badge { font-size: var(--fs-sm); color: var(--tx-2); }
.camp-hero-fresco .sync-badge[data-fresco="ojo"] { color: #b45309; font-weight: var(--fw-detalle); }
.camp-hero-fresco .sync-badge[data-fresco="mal"] { color: #dc2626; font-weight: var(--fw-detalle); }
[data-theme="dark"] .camp-hero-fresco .sync-badge[data-fresco="ojo"] { color: #fbbf24; }
[data-theme="dark"] .camp-hero-fresco .sync-badge[data-fresco="mal"] { color: #f87171; }
.luc-acotada {
  display: flex; align-items: flex-start; gap: var(--sp-3);
  margin: var(--sp-3) 0; padding: var(--sp-4);
  background: var(--sf);
  border: 1px solid var(--br);
  border-radius: var(--radius); font-size: var(--fs-sm); color: var(--tx-1);
}
.luc-acotada > i:first-child{
  flex:none; width:28px; height:28px; border-radius:var(--radius-xs);
  display:grid; place-items:center; font-size:var(--fs-base); margin-top:0;
  background:color-mix(in srgb, var(--estado-ojo) 16%, transparent);
  color:color-mix(in srgb, var(--estado-ojo) 80%, #000);
}
[data-theme="dark"] .luc-acotada > i:first-child{ color:color-mix(in srgb, var(--estado-ojo) 60%, #fff); }
.luc-acotada b { font-weight: var(--fw-dato); }
.luc-acotada-sub { color: var(--tx-2); margin-top: 2px; }
[data-theme="dark"] .luc-acotada i { color: #fbbf24; }
.ct-dni{
  display:inline-flex; align-items:center; gap:var(--sp-2);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-variant-numeric:tabular-nums;
  font-size:var(--fs-sm); font-weight:var(--fw-dato); letter-spacing:.04em;
  color:var(--gold-ink); background:var(--accent-bg); border:1px solid var(--accent-dim);
  border-radius:var(--radius-sm); padding:var(--sp-1) var(--sp-2); cursor:pointer;
  transition:background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);
}
[data-theme="dark"] .ct-dni{ color:var(--accent); }
.ct-dni:hover{ background:var(--accent-bg-2); }
.ct-dni:active{ transform:scale(.97); }
.ct-dni i{ opacity:.7; font-size:.9em; }
.ct-dni--no{
  background:none; border:1px dashed var(--br-2); color:var(--tx-3);
  font-family:inherit; font-weight:var(--fw-body); letter-spacing:0; cursor:default;
}
.bx-desp-cab { cursor: pointer; }
.bx-desp.abierta > .bx-desp-cab {
  border-color: var(--accent);
  border-bottom-left-radius: 0; border-bottom-right-radius: 0; border-bottom-color: transparent;
  padding-bottom: calc(var(--fila-py) + var(--sp-2));
  box-shadow: inset 3px 0 0 var(--accent);   
}
.bx-desp-det{
  display:grid; grid-template-rows:0fr;
  padding:0 var(--fila-px);
  background:var(--fila-bg);
  border:var(--fila-borde); border-top:none; border-color:transparent;
  border-bottom-left-radius:var(--fila-radius); border-bottom-right-radius:var(--fila-radius);
  transition:grid-template-rows 260ms var(--ease-out),
             padding-top 260ms var(--ease-out),
             padding-bottom 260ms var(--ease-out),
             border-color 200ms ease;
}
.bx-desp-det > .bx-desp-inner{ overflow:hidden; min-height:0; }
.bx-desp.abierta > .bx-desp-det{
  grid-template-rows:1fr;
  padding-top:var(--sp-3);
  padding-bottom:var(--fila-py);
  border-color:var(--accent);
  box-shadow: inset 3px 0 0 var(--accent);   
}
.bx-desp:not(.abierta) > .bx-desp-det{ transition-duration:180ms; }
.bx-desp.abierta .bx-heroes{ animation:bx-desp-sube 300ms var(--ease-out) both; }
.bx-desp.abierta .bx-acciones,
.bx-desp.abierta .bx-etqs,
.bx-desp.abierta .bx-contexto{ animation:bx-desp-sube 300ms var(--ease-out) 50ms both; }
@keyframes bx-desp-sube{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:none; } }
.bx-desp-cab{ transition:transform 160ms var(--ease-out), border-color 200ms ease; }
.bx-desp-cab:active{ transform:scale(.995); }
.bx-desp-chev{ color:var(--tx-3); font-size:var(--fs-sm); transition:transform 260ms var(--ease-out); }
.bx-desp.abierta .bx-desp-chev{ transform:rotate(180deg); }
@media (prefers-reduced-motion: reduce){
  .bx-desp-det, .bx-desp-cab, .bx-desp-chev{ transition-duration:1ms; }
  .bx-desp.abierta .bx-heroes,
  .bx-desp.abierta .bx-acciones,
  .bx-desp.abierta .bx-etqs,
  .bx-desp.abierta .bx-contexto{ animation:none; }
}
.bx-desp-datos {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: var(--sp-4) var(--sp-5);
}
.bx-desp-e {
  font-size: var(--fs-xs); font-weight: var(--fw-detalle); color: var(--tx-3);
  text-transform: uppercase; letter-spacing: .05em; margin-bottom: 3px;
}
.bx-desp-v { font-size: var(--fs-sm); color: var(--tx); min-width: 0; overflow-wrap: anywhere; }
.bx-desp-v:empty::after, .bx-desp-v.vacio::after { content: '—'; color: var(--tx-3); }
.bx-desp-acc {
  display: flex; gap: var(--sp-2); align-items: center; flex-wrap: wrap;
  margin-top: var(--sp-4); padding-top: var(--sp-4); border-top: 1px solid var(--br);
}
.bx-desp-acc .bx-desp-fin { margin-left: auto; }   
.ct-luz{ width:9px; height:9px; border-radius:50%; flex:0 0 9px; }
.ct-luz--si{ background:var(--estado-bien); }
.ct-luz--no{ background:var(--estado-urgente); }
.ctf-guante-btn{ width:100%; font:inherit; font-size:var(--fs-base); font-weight:var(--fw-detalle);
  color:var(--tx); background:var(--sf3); border:0; border-radius:var(--radius-sm);
  padding:var(--sp-3) var(--sp-4); cursor:pointer; }
.ctf-guante-btn:hover{ background:var(--br); }
.ctf-guante-est{ margin-bottom:var(--sp-3); }
.ctf-guantetag{ font-size:var(--fs-xs); color:var(--tx-3); white-space:nowrap; }
.ct-tabla{ padding: var(--sp-3); }
.ctf-hx-cab{ display:flex; align-items:center; gap:var(--sp-3); margin-bottom:var(--sp-3); flex-wrap:wrap; }
.ctf-hx-chips{ display:flex; gap:var(--sp-2); flex-wrap:wrap; margin-left:auto; }
.ctf-hx-lista{ display:flex; flex-direction:column; border-radius:var(--radius-sm); overflow:hidden; }
.ctf-hx-f{ display:flex; align-items:center; gap:var(--sp-3); padding:var(--sp-2) var(--sp-3); }
.ctf-hx-ic{ flex:0 0 36px; width:36px; height:36px; border-radius:var(--radius-sm); background:var(--sf3);
  display:grid; place-items:center; color:var(--c, var(--tx-2)); }
.ctf-hx-ic svg{ width:18px; height:18px; }
.ctf-hx-t{ min-width:0; flex:1; }
.ctf-hx-t b{ font-size:var(--fs-base); font-weight:var(--fw-detalle); display:block; }
.ctf-hx-t span{ font-size:var(--fs-sm); color:var(--tx-3); display:block; margin-top:1px; }
.ctf-hx-cuando{ font-size:var(--fs-sm); color:var(--tx-3); white-space:nowrap; font-variant-numeric:tabular-nums; }
.ctf-hx-mas{ margin-top:var(--sp-3); width:100%; font:inherit; font-size:var(--fs-sm); font-weight:var(--fw-detalle);
  color:var(--tx-2); background:var(--sf3); border:0; border-radius:var(--radius-sm); padding:var(--sp-3) var(--sp-4); cursor:pointer; }
.ctf-hx-mas:hover{ background:var(--br); }
.ctf-lq-marco{ border-radius:var(--radius-sm); overflow:hidden; }
.ctf-lad-tit{ font-size:var(--fs-md); font-weight:var(--fw-fuerte); margin-bottom:var(--sp-3);
  display:flex; align-items:baseline; gap:var(--sp-2); }
.ctf-lad-tit small{ font-size:var(--fs-sm); font-weight:var(--fw-body); color:var(--tx-3); }
.ctf-acc{ display:flex; flex-direction:column; gap:var(--sp-2); margin-bottom:var(--sp-3); }
.ctf-acc a{ display:inline-flex; align-items:center; gap:var(--sp-2); color:var(--azul-apple);
  font-weight:var(--fw-detalle); font-size:var(--fs-base); text-decoration:none; }
.ctf-acc a:hover{ text-decoration:underline; }
.ctf-campos{ margin-top:0; }
.ctf-ctx{ font-size:var(--fs-sm); color:var(--tx-3); margin-top:var(--sp-3); line-height:1.6; }
.ctf-separar{ margin-top:var(--sp-3); }
.ctf-sincorreo{ color:var(--estado-ojo-ink); }
.ct-dni--mini{ font-size:var(--fs-xs); padding:2px var(--sp-2); background:none; border-color:transparent; }
.bx-desp.abierta .ct-dni--mini{ opacity:.35; }   
.ct-d-fuentes{ margin-top:var(--sp-4); }
.ct-d-fuentes ul{ list-style:none; margin:var(--sp-2) 0 0; padding:0; display:flex; flex-wrap:wrap; gap:var(--sp-2) var(--sp-5); }
.ct-d-fuentes li{ font-size:var(--fs-sm); }
.ct-d-fuentes li b{ color:var(--tx); margin-right:var(--sp-2); }
.ct-d-fuentes li span{ color:var(--tx-2); }
.ct-d-edit{ margin-top:var(--sp-4); padding-top:var(--sp-4); border-top:1px solid var(--br); }
.ct-d-campos{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:var(--sp-3) var(--sp-4); margin:var(--sp-3) 0; }
.ct-d-edit .ct-in{ margin:0; }
.ct-d-edit .ct-tipos{ margin-bottom:var(--sp-3); }
.bx-heroes, .bx-acciones, .bx-contexto{
  background:var(--sf2); border-radius:var(--radius); padding:var(--sp-4) var(--sp-4);
  margin-top:var(--sp-3);
}
.bx-heroes[data-t]::before, .bx-acciones[data-t]::before, .bx-contexto[data-t]::before{
  content:attr(data-t); display:block; width:100%;
  font-size:var(--fs-sm); font-weight:var(--fw-dato); text-transform:uppercase;
  letter-spacing:.07em; color:var(--tx-3); margin-bottom:var(--sp-3);
}
.bx-heroes{ display:flex; flex-wrap:wrap; gap:var(--sp-4) var(--sp-7); align-items:flex-end; }
.bx-dato--hero{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.bx-dato--hero .bx-dato-v{
  font-size:var(--fs-2xl); font-weight:var(--fw-fuerte); line-height:1.05; color:var(--tx);
  font-variant-numeric:tabular-nums; letter-spacing:-.01em;
}
.bx-dato--hero .bx-dato-e{
  font-size:var(--fs-sm); font-weight:var(--fw-body); color:var(--tx-2);
  text-transform:none; letter-spacing:0;
}
.bx-dato--hero .bx-dato-v i{
  font-size:.5em; color:var(--tx-3); margin-right:.35em; vertical-align:.12em;
}
.bx-dato--ojo     .bx-dato-v, .bx-dato--ojo     .bx-dato-v i { color:var(--estado-ojo-ink); }
.bx-dato--urgente .bx-dato-v, .bx-dato--urgente .bx-dato-v i { color:var(--estado-urgente-ink); }
.bx-dato--bien    .bx-dato-v, .bx-dato--bien    .bx-dato-v i { color:var(--estado-bien-ink); }
.gst-heroes{ display:flex; gap:var(--sp-8); flex-wrap:wrap; margin-top:var(--sp-4); }
.bx-acciones{ display:flex; flex-wrap:wrap; gap:var(--sp-3) var(--sp-5); }
.bx-dato--acc{ display:inline-flex; align-items:center; gap:var(--sp-2); font-size:var(--fs-lg); min-width:0; }
.bx-dato--acc i{ color:var(--tx-3); font-size:.85em; flex:none; }
.bx-dato--acc a{ color:var(--accent-deep); font-weight:var(--fw-medium); text-decoration:none; overflow-wrap:anywhere; }
[data-theme="dark"] .bx-dato--acc a{ color:var(--accent); }
.bx-dato--acc a:hover{ text-decoration:underline; }
.bx-dato--acc .vacio{ color:var(--tx-3); font-size:var(--fs-base); }
.bx-contexto{
  display:flex; flex-wrap:wrap; gap:var(--sp-2) var(--sp-5);
  font-size:var(--fs-base); color:var(--tx-2); line-height:1.5;
}
.bx-dato--ctx{ display:inline-flex; align-items:baseline; gap:var(--sp-2); min-width:0; }
.bx-dato--ctx .bx-dato-e{
  font-size:var(--fs-sm); font-weight:var(--fw-detalle); color:var(--tx-2);
  letter-spacing:0; flex:none;
}
.bx-dato--ctx .bx-dato-v{ color:var(--tx); font-weight:var(--fw-dato); overflow-wrap:anywhere; }
.bx-dato--ctx .bx-dato-v:empty::after{ content:'—'; color:var(--tx-3); }
.bx-losas-g{ margin-top:var(--sp-5); }
.bx-losas-g:first-child{ margin-top:0; }
.bx-losas-t{
  font-size:var(--fs-xs); font-weight:var(--fw-black); text-transform:uppercase;
  letter-spacing:.06em; color:var(--tx-2); margin-bottom:var(--sp-3);
}
.bx-losas{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(168px, 1fr));
  border:1px solid var(--br); border-radius:var(--radius-sm); background:var(--sf); overflow:hidden;
}
.bx-losa{ min-width:0; padding:var(--sp-3) var(--sp-4); border-left:1px solid var(--br); }
.bx-losa:first-child{ border-left:0; }
.bx-losa-r{
  display:flex; align-items:center; gap:var(--sp-2); margin-bottom:3px;
  font-size:var(--fs-sm); font-weight:var(--fw-detalle); color:var(--tx-2);
}
.bx-losa-r i{ font-size:.85em; flex:none; color:var(--tx-3); }
.bx-losa-v{
  font-size:var(--fs-lg); font-weight:var(--fw-fuerte); letter-spacing:-.01em;
  font-variant-numeric:tabular-nums; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.bx-losa-v small{ font-size:var(--fs-sm); font-weight:var(--fw-detalle); color:var(--tx-2); margin-left:5px; }
.bx-losa-v--vacio{ font-size:var(--fs-base); font-weight:var(--fw-detalle); color:var(--tx-3); }
.bx-losa-v--bien{ color:var(--estado-bien-ink); }
.bx-losa-v--ojo{ color:var(--estado-ojo-ink); }
.bx-losa-v--mal{ color:var(--estado-urgente-ink); }
.bx-losa--acc .bx-losa-v{ font-size:var(--fs-base); white-space:normal; overflow-wrap:anywhere; }
.bx-losa--acc a{ color:var(--accent-deep); font-weight:var(--fw-fuerte); text-decoration:none; }
[data-theme="dark"] .bx-losa--acc a{ color:var(--accent); }
.bx-losa--acc a:hover{ text-decoration:underline; }
.bx-losa--peq .bx-losa-v{ font-size:var(--fs-base); font-weight:var(--fw-dato); white-space:normal; overflow-wrap:anywhere; }
.bx-losas-btns{ display:flex; flex-wrap:wrap; gap:var(--sp-2); margin-top:var(--sp-4); }
@media (max-width: 560px){
  .bx-losa{ border-left:0; border-top:1px solid var(--br); }
  .bx-losa:first-child{ border-top:0; }
}
@media (max-width: 640px){
  .bx-heroes{ gap:var(--sp-4) var(--sp-5); }
  .bx-dato--hero .bx-dato-v{ font-size:var(--fs-xl); }
}
.ct-wa{ color:#128c4a !important; text-decoration:none; font-weight:var(--fw-medium); }
[data-theme="dark"] .ct-wa{ color:#25d366 !important; }
.ct-wa i{ color:inherit !important; }
.ct-wa:hover{ text-decoration:underline; }
.bx-contexto .ct-dni{ background:none; border:none; padding:0; font-size:var(--fs-base); }
.bx-bando{
  display:inline-flex; align-items:center; gap:6px; white-space:nowrap;
  font-size:var(--fs-sm); font-weight:var(--fw-detalle); color:var(--tx);
}
.bx-bando::before{
  content:''; width:7px; height:7px; border-radius:50%; background:var(--bando,var(--tx-3)); flex:none;
}
.bx-desp-cab, .lp-ficha{ position:relative; overflow:hidden; }
.bx-desp-cab::after, .lp-ficha::after{
  content:''; position:absolute; inset:0; pointer-events:none; border-radius:inherit;
  background:radial-gradient(24% 240% at 100% 0%,
    color-mix(in srgb, var(--bando, transparent) 20%, transparent) 0%,
    transparent 72%);
}
.lp-ficha::after{
  background:radial-gradient(26% 240% at 100% 0%,
    color-mix(in srgb, var(--bando, transparent) 30%, transparent) 0%,
    transparent 74%);
}
[data-theme="dark"] .lp-ficha::after{
  background:radial-gradient(24% 240% at 100% 0%,
    color-mix(in srgb, var(--bando, transparent) 22%, transparent) 0%,
    transparent 70%);
}
.lp-ficha > *{ position:relative; z-index:1; }
.bx-desp.abierta > .bx-desp-cab::after{
  background:radial-gradient(24% 180% at 100% 0%,
    color-mix(in srgb, var(--bando, transparent) 26%, transparent) 0%,
    transparent 68%);
}
[data-theme="dark"] .bx-desp-cab::after{
  background:radial-gradient(32% 260% at 100% 0%,
    color-mix(in srgb, var(--bando, transparent) 34%, transparent) 0%,
    transparent 75%);
}
.bx-pulso{
  display:inline-flex; align-items:center; gap:6px; white-space:nowrap;
  font-size:var(--fs-base); font-weight:var(--fw-medium);
  padding:4px 12px; border-radius:var(--radius-pill);
  background:color-mix(in srgb, var(--e) 18%, transparent);
  color:color-mix(in srgb, var(--e) 82%, #000);
}
[data-theme="dark"] .bx-pulso{ color:color-mix(in srgb, var(--e) 60%, #fff); }
.bx-pulso::before{ content:''; width:7px; height:7px; border-radius:50%; background:var(--e); flex:none; }
.bx-heroes .bx-dato--hero:first-child .bx-dato-v{ color:var(--azul-apple); }
[data-theme="dark"] .bx-heroes .bx-dato--hero:first-child .bx-dato-v{ color:#3b9cff; }
.bx-etqs{ display:flex; flex-wrap:wrap; gap:var(--sp-2); margin-top:var(--sp-4); }
.bx-etq{
  font-size:var(--fs-sm); padding:3px 10px; border-radius:var(--radius-pill);
  background:var(--sf2); color:var(--tx-2); border:1px solid var(--br);
}
.bx-etq--une{ background:var(--sf3); display:inline-flex; align-items:center; gap:6px; }
.dist-net-grid > .bx-desp{
  border:var(--trazo-modulo); border-radius:var(--radius); background:var(--sf); overflow:hidden;
  flex:none;
}
.dist-net-grid.bx-filas > * + *{ border-top:0; }            
.dist-net-grid .net-fila{ border:0; border-radius:0; background:transparent; padding:var(--sp-3) var(--sp-4); }
@media (hover:hover){ .dist-net-grid .net-fila:hover{ background:color-mix(in srgb, var(--tx) 4%, transparent); } }
.dist-net-grid > .bx-desp.abierta > .net-fila{ background:color-mix(in srgb, var(--accent) 7%, transparent); }
.dist-net-grid > .bx-desp:nth-child(odd), .dist-net-grid > .bx-desp:nth-child(even){ background:var(--sf); }
.dist-net-grid > .bx-desp.abierta{ border-color:var(--accent); }
.net-fila{
  display:grid; grid-template-columns:38px minmax(0,1fr) 152px 168px 124px 22px;
  gap:var(--sp-4); align-items:center;
}
.net-id{ min-width:0; }
.net-nom{
  font-size:var(--fs-base); font-weight:var(--fw-dato); color:var(--tx);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.net-sub{ font-size:var(--fs-sm); color:var(--tx-2); font-weight:var(--fw-detalle); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.net-logo{
  position:relative; width:38px; height:38px; flex:none; border-radius:var(--radius-sm);
  display:grid; place-items:center; overflow:hidden;
  background:var(--sf2);
}
.net-logo img{ width:100%; height:100%; object-fit:contain; }
.net-logo span{
  font-size:var(--fs-sm); font-weight:var(--fw-fuerte); letter-spacing:.02em;
  color:color-mix(in srgb, var(--bando-distribuidor) 78%, #000);
}
[data-theme="dark"] .net-logo span{ color:color-mix(in srgb, var(--bando-distribuidor) 55%, #fff); }
.net-logo-edit{
  position:absolute; inset:0; display:grid; place-items:center; cursor:pointer;
  background:rgba(17,17,17,.55); color:#fff; font-size:var(--fs-sm);
  opacity:0; transition:opacity var(--dur-fast) var(--ease-out);
}
.net-logo:hover .net-logo-edit{ opacity:1; }
.net-eur{
  text-align:right; font-size:var(--fs-lg); font-weight:var(--fw-fuerte);
  font-variant-numeric:tabular-nums; letter-spacing:-.01em; white-space:nowrap; min-width:0;
}
.net-eur span{
  display:block; font-size:var(--fs-sm); font-weight:var(--fw-detalle);
  color:var(--tx-2); letter-spacing:0;
}
.net-eur--cero{ color:var(--tx-3); }
.net-est{ display:flex; flex-direction:column; align-items:flex-start; gap:4px; min-width:0; }
.net-debe{
  font-size:var(--fs-sm); font-weight:var(--fw-fuerte); white-space:nowrap;
  padding:5px 11px; border-radius:var(--radius-sm);
  background:var(--estado-urgente-ink); color:#fff;
}
[data-theme="dark"] .net-debe{ color:#1a1210; }
.net-obj{ min-width:0; }
.net-obj-b{
  height:7px; border-radius:var(--radius-pill); background:var(--sf2);
  border:1px solid var(--br); overflow:hidden;
}
.net-obj-f{ height:100%; background:var(--accent); }
.net-obj-f--ok{ background:var(--estado-bien); }
.net-obj-t{
  font-size:var(--fs-sm); font-weight:var(--fw-detalle); color:var(--tx-2);
  margin-top:4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.net-obj-t b{ color:var(--tx); font-weight:var(--fw-fuerte); }
.net-obj-t--sin{ margin-top:0; color:var(--tx-2); }
.net-debe--alarma{ background:var(--estado-urgente-ink); color:#fff; }
.net-debe--no{ background:var(--sf2); color:var(--tx-2); font-weight:var(--fw-dato); }
[data-theme="dark"] .net-debe--no{ color:var(--tx-2); }
.bx-desp--mal{ border-color:color-mix(in srgb, var(--estado-urgente) 55%, transparent) !important; }
.net-grupo{
  display:flex; align-items:center; gap:7px; margin:var(--sp-4) 2px var(--sp-2);
  font-size:var(--fs-xs); font-weight:var(--fw-black);
  text-transform:uppercase; letter-spacing:.06em;
}
.net-grupo:first-child{ margin-top:var(--sp-1); }
.net-grupo i{ width:7px; height:7px; border-radius:50%; flex:none; }
.net-grupo--bien{ color:var(--estado-bien-ink); }
.net-grupo--bien i{ background:var(--estado-bien); }
.net-grupo--mal{ color:var(--estado-urgente-ink); }
.net-grupo--mal i{ background:var(--estado-urgente); }
.net-grupo--gris{ color:var(--tx-3); }
@media (max-width: 1080px){
  .net-fila{ grid-template-columns:38px minmax(0,1fr) 152px 124px 22px; }
  .net-obj{ display:none; }
}
@media (max-width: 720px){
  .net-fila{ grid-template-columns:38px minmax(0,1fr) auto 22px; }
  .net-est{ display:none; }
}
.camp-vacio-cta{ display:flex; gap:var(--sp-2); justify-content:center; flex-wrap:wrap; margin-top:var(--sp-5); }
.conv-grupo{
  display:flex; align-items:center; gap:var(--sp-2);
  padding:var(--sp-3) var(--sp-4) var(--sp-2);
  margin-top:var(--sp-3);
  font-size:var(--fs-xs); font-weight:var(--fw-dato);
  text-transform:uppercase; letter-spacing:.06em;
  color:color-mix(in srgb, var(--c) 78%, #000);
  border-bottom:2px solid color-mix(in srgb, var(--c) 30%, transparent);
}
[data-theme="dark"] .conv-grupo{ color:color-mix(in srgb, var(--c) 60%, #fff); }
.conv-grupo:first-child{ margin-top:0; }
.conv-grupo i{ font-size:1.15em; color:var(--c); }
.conv-grupo b{
  margin-left:auto; font-weight:var(--fw-detalle); font-size:var(--fs-sm);
  letter-spacing:0; color:var(--tx-3);
}
.bx-aviso{
  display:flex; align-items:flex-start; gap:var(--sp-3);
  margin:var(--sp-3) 0; padding:var(--sp-4);
  background:var(--sf); border:1px solid var(--br); border-radius:var(--radius);
  font-size:var(--fs-base); color:var(--tx-2); line-height:1.5;
}
.bx-aviso > i:first-child{
  flex:none; width:28px; height:28px; border-radius:var(--radius-xs);
  display:grid; place-items:center; font-size:var(--fs-base);
  background:color-mix(in srgb, var(--c, var(--estado-ojo)) 16%, transparent);
  color:color-mix(in srgb, var(--c, var(--estado-ojo)) 80%, #000);
}
[data-theme="dark"] .bx-aviso > i:first-child{ color:color-mix(in srgb, var(--c, var(--estado-ojo)) 60%, #fff); }
.bx-aviso b{ color:var(--tx); font-weight:var(--fw-detalle); }
.bx-aviso-sub{ margin-top:3px; font-size:var(--fs-sm); color:var(--tx-3); }
.bx-aviso-docs{ display:flex; flex-wrap:wrap; gap:6px; margin-top:var(--sp-2); }
.bx-aviso-docs span{
  display:inline-flex; align-items:baseline; gap:6px; padding:3px 9px; border-radius:var(--radius-xs);
  background:var(--sf2); font-size:var(--fs-sm); color:var(--tx-2); white-space:nowrap; font-variant-numeric:tabular-nums;
}
.bx-aviso-docs span b{ color:var(--tx); font-weight:var(--fw-detalle); }
.bx-aviso-cuerpo{ flex:1; min-width:0; }
.bx-aviso-cuerpo > b{ display:block; }
.bx-aviso.bx-aviso--impagos{ background:color-mix(in srgb, var(--estado-urgente) 78%, #000); border:0; color:#fff; padding:var(--sp-4) var(--sp-5); font-size:var(--fs-md); align-items:center; }
.bx-aviso.bx-aviso--impagos > i:first-child{ width:40px; height:40px; font-size:var(--fs-xl); background:rgba(255,255,255,.18); color:#fff; }
.bx-aviso.bx-aviso--impagos b{ color:#fff; font-weight:var(--fw-fuerte); font-size:var(--fs-md); }
.bx-aviso.bx-aviso--impagos .bx-aviso-docs span{ background:#fff; color:var(--estado-urgente-ink); font-weight:var(--fw-detalle); }
.bx-aviso.bx-aviso--impagos .bx-aviso-docs span b{ color:var(--estado-urgente-ink); }
.bx-aviso--impagos{ margin-top:0; }
.bx-btn2{
  display:inline-flex; align-items:center; gap:7px; cursor:pointer; flex-shrink:0;
  padding:9px 14px; border-radius:var(--radius-pill); border:none;
  background:var(--sf2); color:var(--tx);
  font-size:var(--fs-xs); font-weight:var(--fw-dato);
  transition:background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);
}
.bx-btn2:hover{ background:var(--sf3); }
.bx-btn2:active{ transform:scale(.97); }
.bx-btn2 i{ color:var(--tx-3); font-size:.95em; }
.bz-conectar{ max-width:520px; margin:0 auto; padding:var(--sp-6) 0; }
.bz-conectar-t{ font-size:var(--fs-2xl); font-weight:var(--fw-fuerte); letter-spacing:-.01em; }
.bz-conectar-s{ color:var(--tx-2); margin:var(--sp-1) 0 var(--sp-5); }
.bz-conectar .ct-in{ margin-bottom:var(--sp-4); }
.bz-conectar-acc{ display:flex; align-items:center; gap:var(--sp-3); flex-wrap:wrap; }
.bz-msg{ font-size:var(--fs-sm); color:var(--tx-2); }
.bz-barra{ display:flex; align-items:center; gap:var(--sp-2); flex-wrap:wrap; margin-bottom:var(--sp-4); }
.bz-quien{ display:inline-flex; align-items:center; gap:var(--sp-2); font-size:var(--fs-base);
  color:var(--tx-2); margin-right:auto; }
.bz-quien i{ color:var(--tx-3); }
.bz-fila{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,2fr) auto 18px;
  gap:var(--sp-3); align-items:center; }
.bz-de{ font-size:var(--fs-base); color:var(--tx-2);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bz-asunto{ font-size:var(--fs-base); color:var(--tx);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bz-fecha{ font-size:var(--fs-sm); color:var(--tx-3); white-space:nowrap; }
.bz-fila.sin-leer .bz-de,
.bz-fila.sin-leer .bz-asunto{ font-weight:var(--fw-dato); color:var(--tx); }
.bz-cuerpo{
  margin:var(--sp-4) 0 0; padding:var(--sp-4);
  background:var(--sf2); border-radius:var(--radius-sm);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:var(--fs-base);
  line-height:1.6; color:var(--tx); white-space:pre-wrap; overflow-wrap:anywhere;
  max-height:min(52vh,520px); overflow:auto;
}
@media (max-width: 720px){
  .bz-fila{ grid-template-columns:minmax(0,1fr) auto 18px; }
  .bz-fila .bz-de{ grid-column:1/-1; font-size:var(--fs-sm); }
}
.bz-ojo{ color:var(--estado-ojo-ink); font-weight:var(--fw-detalle); text-transform:none; letter-spacing:0; }
.bz-aviso{
  display:flex; align-items:flex-start; gap:var(--sp-2);
  margin-bottom:var(--sp-3); padding:var(--sp-3) var(--sp-4);
  border-radius:var(--radius-sm);
  background:color-mix(in srgb, var(--estado-urgente) 12%, transparent);
  font-size:var(--fs-base); font-weight:var(--fw-medium);
  color:color-mix(in srgb, var(--estado-urgente) 80%, #000);
}
[data-theme="dark"] .bz-aviso{ color:color-mix(in srgb, var(--estado-urgente) 55%, #fff); }
.bz-aviso i{ margin-top:2px; flex:none; }
.bz-nota{ margin-top:var(--sp-3); font-size:var(--fs-sm); color:var(--tx-3); line-height:1.5; }
.bz-comp-scrim{ position:fixed; inset:0; background:var(--scrim); z-index:1200;
  animation:bz-fade var(--dur-fast) var(--ease-out); }
.bz-comp{
  position:fixed; z-index:1201; left:50%; top:50%; transform:translate(-50%,-50%);
  width:min(620px, calc(100vw - var(--sp-6))); max-height:min(88vh, 780px); overflow:auto;
  background:var(--sf); border-radius:var(--radius); box-shadow:var(--shadow);
  padding:var(--sp-6);
  animation:bz-sube var(--dur-fast) var(--ease-out);
}
@keyframes bz-fade{ from{ opacity:0 } to{ opacity:1 } }
@keyframes bz-sube{ from{ opacity:0; transform:translate(-50%,calc(-50% + 8px)) } to{ opacity:1; transform:translate(-50%,-50%) } }
@media (prefers-reduced-motion: reduce){ .bz-comp,.bz-comp-scrim{ animation:none } }
.bz-comp-h{ display:flex; align-items:flex-start; justify-content:space-between; gap:var(--sp-3);
  margin-bottom:var(--sp-5); }
.bz-comp-t{ font-size:var(--fs-xl); font-weight:var(--fw-fuerte); letter-spacing:-.01em; }
.bz-comp-s{ font-size:var(--fs-sm); color:var(--tx-3); margin-top:2px; }
.bz-comp .ct-in{ margin-bottom:var(--sp-4); }
.bz-comp .ct-in[readonly]{ background:var(--sf2); color:var(--tx-2); }
.bz-comp-acc{ display:flex; align-items:center; gap:var(--sp-3); flex-wrap:wrap; margin-top:var(--sp-2); }
.bz-firma-nota{ display:flex; align-items:center; gap:var(--sp-2);
  font-size:var(--fs-sm); color:var(--tx-3); margin:calc(var(--sp-2) * -1) 0 var(--sp-4); }
.ig-radar { margin-top: var(--sp-6); }
.ig-pend {
  font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-2);
}
.ig-pend::before {
  content: ''; display: inline-block; width: 6px; height: 6px; border-radius: 50%;
  background: var(--accent); margin-right: var(--sp-2); vertical-align: middle;
}
.ig-nota {
  display: flex; align-items: flex-start; gap: var(--sp-3);
  background: var(--sf3); border-radius: var(--radius);
  padding: var(--sp-3) var(--sp-4); margin-bottom: var(--sp-3);
  font-size: var(--fs-sm); color: var(--tx-2); line-height: 1.5;
}
.ig-nota i { color: var(--accent); margin-top: 2px; flex: none; }
.ig-nota b { color: var(--tx); font-weight: var(--fw-dato); }
.ig-fila {
  display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) auto;
  gap: var(--sp-4); align-items: center; cursor: pointer;
}
.ig-quien { min-width: 0; }
.ig-nom {
  font-size: var(--fs-md); font-weight: var(--fw-detalle); color: var(--tx);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ig-ctx {
  font-size: var(--fs-sm); color: var(--tx-3); margin-top: 2px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ig-sinficha { color: var(--accent-deep); font-weight: var(--fw-detalle); }
[data-theme="dark"] .ig-sinficha { color: var(--accent); }
.ig-txt {
  font-size: var(--fs-sm); color: var(--tx-2); min-width: 0;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ig-hecho .ig-fila { opacity: .55; }
.ig-hecho .ig-nom { font-weight: var(--fw-body); }
.ig-det { display: flex; flex-direction: column; gap: var(--sp-4); }
.ig-det-txt {
  font-size: var(--fs-base); color: var(--tx); line-height: 1.6;
  white-space: pre-wrap; overflow-wrap: anywhere;
}
.ig-det-txt.vacio { color: var(--tx-3); font-style: italic; }
.ig-borrador {
  background: var(--sf3); border-radius: var(--radius); padding: var(--sp-3) var(--sp-4);
}
.ig-borrador-t {
  font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-2);
  margin-bottom: var(--sp-2);
}
.ig-borrador-txt { font-size: var(--fs-base); color: var(--tx); line-height: 1.55; }
.ig-det-acciones {
  display: flex; flex-wrap: wrap; gap: var(--sp-3); align-items: center;
}
.ig-btn-hecho { opacity: .6; }
.ig-det-ficha { margin-top: 0; }
.ig-vertodas {
  display: block; width: 100%; margin-top: var(--sp-3);
  background: none; border: none; cursor: pointer;
  font-size: var(--fs-sm); font-weight: var(--fw-medium); color: var(--tx-2);
  padding: var(--sp-2);
}
.ig-vertodas:hover { color: var(--accent-deep); }
[data-theme="dark"] .ig-vertodas:hover { color: var(--accent); }
.ig-vertodas:active { transform: scale(.97); }
@media (max-width: 720px) {
  .ig-fila { grid-template-columns: minmax(0, 1fr) auto; }
  .ig-txt { display: none; }
}
.ig-motivo {
  display: inline-flex; align-items: center; gap: var(--sp-2);
  font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-2);
  white-space: nowrap; flex: none;
}
.ig-motivo::before {
  content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--mo); flex: none;
}
.ig-txt { display: flex; align-items: baseline; gap: var(--sp-3); }
.ig-txt-l { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ig-recuento {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--sp-2) var(--sp-5);
  margin-bottom: var(--sp-3); font-size: var(--fs-sm); color: var(--tx-2);
}
.ig-rec-x { display: inline-flex; align-items: baseline; gap: var(--sp-2); }
.ig-rec-x::before {
  content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--mo);
  align-self: center; flex: none;
}
.ig-rec-x b {
  font-size: var(--fs-md); font-weight: var(--fw-dato); color: var(--tx);
  font-variant-numeric: tabular-nums;
}
.ig-rec-per { color: var(--tx-3); margin-left: auto; }
@media (max-width: 720px) {
  .ig-rec-per { margin-left: 0; width: 100%; }
}
.ig-rejilla {
  display: grid; gap: var(--sp-3); align-items: start;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
}
@media (min-width: 1500px) { .ig-rejilla { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (max-width: 700px)  { .ig-rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ig-t {
  background: var(--fila-bg); border: var(--fila-borde); border-radius: var(--radius-sq);
  padding: var(--sp-2); overflow: hidden;
  transition: border-color .18s var(--ease-out), box-shadow .18s var(--ease-out), opacity .26s var(--ease-out);
}
.ig-t:hover { border-color: var(--accent); box-shadow: var(--shadow-sm); }
.ig-t { animation: ig-entra .34s var(--ease-out) backwards; animation-delay: calc(var(--n, 0) * 40ms); }
@keyframes ig-entra { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.ig-t-foto {
  position: relative; border-radius: calc(var(--radius-sq) - 4px);
  overflow: hidden; background: var(--sf3); margin-bottom: var(--sp-3);
}
.ig-t-foto img {
  width: auto; height: auto; max-width: 100%; max-height: 260px; display: block;
  margin: 0 auto;
  border-radius: calc(var(--radius-sq) - 4px);
}
.ig-t-foto.sin-foto {
  height: 160px;   
}
.ig-t-foto.sin-foto::after {
  content: '\f03e'; font-family: 'Font Awesome 6 Free'; font-weight: 900;
  position: absolute; inset: 0; display: grid; place-items: center;
  font-size: var(--fs-2xl); color: var(--tx-3); opacity: .35;
}
.ig-t-n {
  position: absolute; top: var(--sp-2); left: var(--sp-2);
  background: rgba(0,0,0,.55); color: #fff; border-radius: var(--radius-sm);
  padding: 2px var(--sp-2); font-size: var(--fs-sm); font-weight: var(--fw-detalle);
  display: inline-flex; align-items: center; gap: 4px;
}
.ig-check {
  position: absolute; top: var(--sp-2); right: var(--sp-2);
  width: 36px; height: 36px; border-radius: 50%; border: none; cursor: pointer;
  background: rgba(0,0,0,.5); color: rgba(255,255,255,.75);
  display: grid; place-items: center; font-size: var(--fs-base);
  backdrop-filter: blur(6px);
  transition: background .16s var(--ease-out), color .16s var(--ease-out), transform .14s var(--ease-out);
}
@media (hover: hover) and (pointer: fine) {
  .ig-check:hover { background: rgba(0,0,0,.7); color: #fff; }
}
.ig-check:active { transform: scale(.9); }
.ig-check.puesto { background: var(--estado-ok, #16a34a); color: #fff; }
.ig-check:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.ig-t--hecho { opacity: .48; }
.ig-t--hecho .ig-t-foto img { filter: grayscale(1); transition: filter .26s var(--ease-out); }
.ig-t--hecho:hover { opacity: .8; }
.ig-t-cuerpo { cursor: pointer; display: flex; flex-direction: column; gap: 3px; padding: 0 var(--sp-2) var(--sp-2); }
.ig-t-quien { display: flex; align-items: baseline; gap: var(--sp-2); min-width: 0; }
.ig-t-nom {
  font-size: var(--fs-base); font-weight: var(--fw-detalle); color: var(--tx);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0;
}
.ig-t-mot {
  display: inline-flex; align-items: center; gap: var(--sp-2);
  font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-2); flex: none;
}
.ig-t-mot::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--mo); flex: none; }
.ig-t-txt {
  font-size: var(--fs-sm); color: var(--tx-2); line-height: 1.45; margin: 0;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.ig-t-pie { font-size: var(--fs-sm); color: var(--tx-3); }
.ig-seg { margin-top: var(--sp-7); padding-top: var(--sp-5); border-top: 1px solid var(--br); }
.ig-seg-add { flex: none; }
.ig-nota--info i { color: var(--tx-3); }
.ig-seg-vacio { font-size: var(--fs-sm); color: var(--tx-3); margin: var(--sp-3) 0 0; }
.ig-seg-grupo { margin-top: var(--sp-4); }
.ig-seg-t {
  font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-2);
  margin-bottom: var(--sp-2); display: flex; align-items: center; gap: var(--sp-2);
}
.ig-seg-t i { color: var(--tx-3); }
.ig-seg-lista { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.ig-seg-x {
  display: inline-flex; align-items: center; gap: var(--sp-2);
  background: var(--sf3); border-radius: var(--radius); padding: var(--sp-2) var(--sp-3);
  font-size: var(--fs-sm); transition: opacity .16s var(--ease-out);
}
.ig-seg-x.pausada { opacity: .45; }
.ig-seg-u { color: var(--accent-deep); font-weight: var(--fw-medium); text-decoration: none; }
[data-theme="dark"] .ig-seg-u { color: var(--accent); }
.ig-seg-u:hover { text-decoration: underline; }
.ig-seg-nota { color: var(--tx-3); max-width: 26ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ig-seg-ctx { color: var(--tx-3); font-size: var(--fs-xs); white-space: nowrap; }
.ig-seg-mal { color: var(--estado-urgente-ink); font-size: var(--fs-xs); white-space: nowrap; cursor: help; }
[data-theme="dark"] .ig-seg-mal { color: color-mix(in srgb, var(--estado-urgente) 60%, #fff); }
.ig-seg-b {
  background: none; border: none; cursor: pointer; color: var(--tx-3); padding: 2px;
  font-size: var(--fs-sm); transition: color .16s var(--ease-out), transform .14s var(--ease-out);
}
.ig-seg-b:hover { color: var(--tx); }
.ig-seg-b:active { transform: scale(.9); }
.ig-op { color: var(--tx-3); font-weight: var(--fw-body); }
.ig-t:has(.bx-desp.abierta) {
  grid-column: 1 / -1;
  display: grid; grid-template-columns: minmax(0, 320px) minmax(0, 1fr);
  gap: var(--sp-4); align-items: start;
}
.ig-t:has(.bx-desp.abierta) .ig-t-foto { margin-bottom: 0; grid-row: 1 / -1; grid-column: 1; }
.ig-t:has(.bx-desp.abierta) .ig-t-foto img { max-height: 300px; }
.ig-t:has(.bx-desp.abierta) .ig-t-cuerpo { grid-column: 2; grid-row: 1; padding-left: 0; }
.ig-t:has(.bx-desp.abierta) .bx-desp     { grid-column: 2; grid-row: 2; margin-top: 0; }
.ig-t:has(.bx-desp.abierta) .ig-t-txt    { -webkit-line-clamp: unset; }
@media (max-width: 820px) {
  .ig-t:has(.bx-desp.abierta) { grid-template-columns: minmax(0, 1fr); }
  .ig-t:has(.bx-desp.abierta) .ig-t-cuerpo,
  .ig-t:has(.bx-desp.abierta) .bx-desp { grid-column: 1; grid-row: auto; }
}
.ig-t .bx-desp { border: none; background: none; padding: 0; margin-top: var(--sp-2); }
.ig-t .bx-desp-det {
  border: none; background: none; padding-left: 0; padding-right: 0; border-radius: 0;
}
.ig-t .bx-desp.abierta > .bx-desp-det { border-color: transparent; }
.ig-t .bx-desp.abierta > .bx-desp-det > .bx-desp-inner {
  border-top: 1px solid var(--br); padding-top: var(--sp-3); margin-top: var(--sp-2);
}
@media (prefers-reduced-motion: reduce) {
  .ig-t { animation: ig-aparece .01s both; }
  @keyframes ig-aparece { to { opacity: 1; } }
  .ig-check:active, .ig-seg-b:active { transform: none; }
}
.ig-mb {
  width: min(440px, calc(100vw - var(--sp-6)));
  padding: var(--sp-6);
  display: flex; flex-direction: column; gap: var(--sp-3);
}
.ig-modal .modal-box { animation: ig-mb-entra .2s var(--ease-out) both; }
@keyframes ig-mb-entra { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: none; } }
.ig-mb-t { font-size: var(--fs-xl); font-weight: var(--fw-fuerte); color: var(--tx); }
.ig-mb-s { font-size: var(--fs-base); color: var(--tx-2); margin: 0 0 var(--sp-2); line-height: 1.5; }
.ig-mb-in {
  width: 100%; resize: vertical; min-height: 76px;
  background: var(--sf3); border: 1px solid var(--br); border-radius: var(--radius);
  padding: var(--sp-3) var(--sp-4);
  font: inherit; font-size: var(--fs-md); color: var(--tx); line-height: 1.6;
  transition: border-color .16s var(--ease-out);
}
.ig-mb-in::placeholder { color: var(--tx-3); }
.ig-mb-in:focus { outline: none; border-color: var(--accent); }
.ig-mb-ay { font-size: var(--fs-sm); color: var(--tx-3); margin: 0; }
.ig-mb-tipos { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-2); margin-top: var(--sp-2); }
.ig-mb-tipo {
  display: flex; flex-direction: column; align-items: center; gap: 5px;
  background: var(--sf3); border: 1px solid var(--br); border-radius: var(--radius);
  padding: var(--sp-3) var(--sp-2); cursor: pointer;
  font-size: var(--fs-sm); font-weight: var(--fw-medium); color: var(--tx-2);
  transition: border-color .16s var(--ease-out), color .16s var(--ease-out), transform .14s var(--ease-out);
}
.ig-mb-tipo i { font-size: var(--fs-md); color: var(--tx-3); transition: color .16s var(--ease-out); }
@media (hover: hover) and (pointer: fine) { .ig-mb-tipo:hover { border-color: var(--tx-3); } }
.ig-mb-tipo:active { transform: scale(.97); }
.ig-mb-tipo.on { border-color: var(--accent); color: var(--tx); }
.ig-mb-tipo.on i { color: var(--accent); }
.ig-mb-nota {
  width: 100%; background: none; border: none; border-bottom: 1px solid var(--br);
  padding: var(--sp-2) 0; font: inherit; font-size: var(--fs-base); color: var(--tx);
  transition: border-color .16s var(--ease-out);
}
.ig-mb-nota::placeholder { color: var(--tx-3); }
.ig-mb-nota:focus { outline: none; border-bottom-color: var(--accent); }
.ig-mb-pie { display: flex; justify-content: flex-end; align-items: center; gap: var(--sp-4); margin-top: var(--sp-4); }
.ig-mb-x {
  background: none; border: none; cursor: pointer; padding: var(--sp-2);
  font-size: var(--fs-base); color: var(--tx-2);
  transition: color .16s var(--ease-out);
}
.ig-mb-x:hover { color: var(--tx); }
@media (prefers-reduced-motion: reduce) {
  .ig-modal .modal-box { animation: none; }
  .ig-mb-tipo:active { transform: none; }
}
.ig-eventos { margin-top: var(--sp-6); }
.ev-fila { display: flex; align-items: center; gap: var(--sp-3); }
.ev-icono {
  width: 38px; height: 38px; border-radius: var(--radius-sm); flex: none;
  display: grid; place-items: center;
  background: var(--sf3); color: var(--bando-distribuidor); font-size: var(--fs-md);
}
.ev-id { flex: 1; min-width: 0; }
.ev-nom { font-weight: var(--fw-dato); font-size: var(--fs-md); }
.ev-sub { font-size: var(--fs-base); color: var(--tx-3); margin-top: 1px; }
.ev-quien { font-size: var(--fs-base); color: var(--tx-2); white-space: nowrap; }
.ev-eur { font-size: var(--fs-base); font-weight: var(--fw-dato); font-variant-numeric: tabular-nums; white-space: nowrap; }
.ev-est { font-size: var(--fs-base); color: var(--tx-2); white-space: nowrap; display: inline-flex; align-items: center; gap: 6px; }
.ev-est::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--e, var(--estado-sindatos)); flex: none; }
.ev-det { padding-top: var(--sp-1); }
.ev-vs.pos { color: var(--estado-bien-ink); }
.ev-vs.neg { color: var(--estado-urgente-ink); }
.ev-aun { font-size: var(--fs-base); color: var(--tx-2); margin: 0 0 var(--sp-3); max-width: 72ch; line-height: 1.55; }
.ev-borrar a { color: var(--estado-urgente-ink); }
.ev-part-t {
  font-size: var(--fs-xs); font-weight: var(--fw-detalle); text-transform: uppercase;
  letter-spacing: .06em; color: var(--tx-3); margin: var(--sp-4) 0 var(--sp-2);
}
.ev-part {
  display: flex; align-items: center; gap: var(--sp-3);
  padding: var(--sp-2) var(--sp-3); border-radius: var(--radius-sm); font-size: var(--fs-md);
}
.ev-part:nth-child(odd) { background: var(--sf3); }
.ev-part-n { flex: 1; min-width: 0; font-weight: var(--fw-medium); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ev-part-eur { font-variant-numeric: tabular-nums; font-weight: var(--fw-dato); white-space: nowrap; }
.ev-part-vs { font-size: var(--fs-base); white-space: nowrap; min-width: 11ch; text-align: right; color: var(--tx-3); }
.ev-part-vs.pos { color: var(--estado-bien-ink); font-weight: var(--fw-detalle); }
.ev-part-vs.neg { color: var(--estado-urgente-ink); font-weight: var(--fw-detalle); }
.ev-part-x {
  background: none; border: 0; cursor: pointer; color: var(--tx-3); padding: 2px 4px; flex: none;
  font-size: var(--fs-sm); transition: color var(--dur-fast) var(--ease-out), transform var(--dur-press) var(--ease-out);
}
.ev-part-x:hover { color: var(--estado-urgente-ink); }
.ev-part-x:active { transform: scale(.9); }
.ev-ctx { margin-top: var(--sp-4); }
.ev-vacio {
  text-align: center; padding: 48px var(--sp-5);
  background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius);
}
.ev-vacio-ic { font-size: 38px; line-height: 1; margin-bottom: var(--sp-3); }
.ev-vacio-t { font-size: var(--fs-xl); font-weight: var(--fw-fuerte); margin-bottom: var(--sp-2); }
.ev-vacio-d { color: var(--tx-2); max-width: 48ch; margin: 0 auto var(--sp-5); font-size: var(--fs-md); line-height: 1.55; }
.ev-in-nom { min-height: 0; resize: none; }
.ev-par { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-3); }
.ev-par label { display: block; min-width: 0; }
.ev-lbl { display: block; font-size: var(--fs-sm); color: var(--tx-2); margin-bottom: 4px; }
.ev-par .ig-mb-nota { width: 100%; }
.ev-msg:empty { display: none; }
.ev-msg { font-size: var(--fs-base); color: var(--estado-urgente-ink); }
.ev-sug { display: flex; flex-direction: column; max-height: 260px; overflow-y: auto; }
.ev-sug-x {
  display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3);
  padding: var(--sp-2) var(--sp-3); border-radius: var(--radius-sm); cursor: pointer;
  font-size: var(--fs-md); transition: background var(--dur-fast) var(--ease-out);
}
.ev-sug-x:hover { background: var(--sf3); }
.ev-sug-x:active { transform: scale(.995); }
.ev-sug-x em { font-style: normal; color: var(--tx-3); font-size: var(--fs-base); white-space: nowrap; }
@media (max-width: 720px) {
  .ev-par { grid-template-columns: 1fr; }
  .ev-quien, .ev-est { display: none; }
  .ev-part-vs { min-width: 0; }
}
.ev-sug-t {
  display: flex; align-items: center; gap: var(--sp-2);
  font-size: var(--fs-xs); font-weight: var(--fw-detalle); text-transform: uppercase;
  letter-spacing: .06em; color: var(--tx-3); margin: var(--sp-4) 0 var(--sp-2);
}
.ev-sug-t i { color: var(--accent-deep); text-transform: none; }
[data-theme="dark"] .ev-sug-t i { color: var(--accent); }
.ev-prop {
  display: flex; align-items: center; gap: var(--sp-3);
  padding: var(--sp-2) var(--sp-3); border-radius: var(--radius-sm); font-size: var(--fs-md);
  border: 1px dashed var(--br-2); margin-bottom: var(--sp-1);
}
.ev-prop-n { font-weight: var(--fw-medium); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ev-prop-por { flex: 1; min-width: 0; font-size: var(--fs-base); color: var(--tx-3); }
.ev-prop-sin { font-size: var(--fs-base); color: var(--tx-3); cursor: help; }
.ev-prop-si {
  background: var(--sf3); color: var(--tx); border: 0; border-radius: var(--radius-pill);
  padding: 4px 12px; font-size: var(--fs-base); font-weight: var(--fw-detalle); cursor: pointer;
  font-family: inherit; transition: transform var(--dur-press) var(--ease-out), background var(--dur-fast) var(--ease-out);
}
.ev-prop-si:hover { background: var(--accent); color: #111; }
.ev-prop-si:active { transform: scale(.97); }
.ev-prop-no {
  background: none; border: 0; cursor: pointer; color: var(--tx-3); padding: 2px 4px; flex: none;
  font-size: var(--fs-sm); transition: color var(--dur-fast) var(--ease-out), transform var(--dur-press) var(--ease-out);
}
.ev-prop-no:hover { color: var(--estado-urgente-ink); }
.ev-prop-no:active { transform: scale(.9); }
@media (max-width: 720px) { .ev-prop-por { display: none; } }
.ev-det-prop {
  border: 1px dashed var(--br-2); border-radius: var(--radius);
  padding: var(--sp-4); margin-bottom: var(--sp-3); background: var(--sf);
}
.ev-det-cab {
  display: flex; align-items: center; gap: var(--sp-2);
  font-size: var(--fs-base); color: var(--tx-2); margin-bottom: var(--sp-2);
}
.ev-det-cab i { color: var(--accent-deep); }
[data-theme="dark"] .ev-det-cab i { color: var(--accent); }
.ev-det-cab b { color: var(--tx); font-weight: var(--fw-dato); }
.ev-det-nom { font-size: var(--fs-xl); font-weight: var(--fw-fuerte); letter-spacing: -.01em; }
.ev-det-quien {
  font-size: var(--fs-base); color: var(--tx-2); margin-top: 2px;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.ev-det-pie {
  display: flex; align-items: center; gap: var(--sp-3);
  margin-top: var(--sp-3); padding-top: var(--sp-3); border-top: 1px solid var(--br);
}
.ev-det-fechas { flex: 1; min-width: 0; font-size: var(--fs-base); color: var(--tx-3); }
.ev-det-fechas em { font-style: normal; }
@media (max-width: 720px) {
  .ev-det-pie { flex-wrap: wrap; }
  .ev-det-fechas { flex: 1 1 100%; }
}
.ev-det-ig { font-size: var(--fs-base); font-weight: var(--fw-body); color: var(--tx-3); }
.ev-vacio-min { text-align: center; margin: var(--sp-3) 0 0; }
.acc-in-mail { min-height: 0; resize: none; }
.acc-roles { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.acc-rol {
  font-family: var(--font); font-size: var(--fs-base); font-weight: var(--fw-detalle);
  padding: 7px 14px; border-radius: var(--radius-pill); cursor: pointer;
  border: 1px solid var(--br); background: var(--sf); color: var(--tx-2);
  transition: border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out),
              transform var(--dur-press) var(--ease-out);
}
.acc-rol:hover { border-color: var(--br-2); color: var(--tx); }
.acc-rol:active { transform: scale(.97); }
.acc-rol.on { background: var(--accent); border-color: var(--accent); color: #111; font-weight: var(--fw-dato); }
.acc-extra { display: block; }
.acc-extra .ig-mb-nota { width: 100%; }
.acc-check { display: flex; align-items: flex-start; gap: var(--sp-2); font-size: var(--fs-base); color: var(--tx-2); line-height: 1.45; }
.acc-check input { margin-top: 3px; flex: none; }
.acc-pass-nota {
  display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap;
  margin: 0; font-size: var(--fs-base); color: var(--tx-2);
  background: var(--sf3); border-radius: var(--radius-sm); padding: var(--sp-2) var(--sp-3);
}
.acc-pass-nota i { color: var(--tx-3); }
.acc-pass-nota code { font-family: var(--mono); font-size: var(--fs-base); color: var(--tx); }
.acc-afinar > summary {
  display: flex; align-items: baseline; gap: var(--sp-2); cursor: pointer; list-style: none;
  flex-wrap: wrap; font-size: var(--fs-md); font-weight: var(--fw-detalle); color: var(--tx-2);
  padding: var(--sp-3) 0; transition: color var(--dur-fast) var(--ease-out);
}
.acc-afinar > summary > i { flex: none; }
.acc-afinar > summary::-webkit-details-marker { display: none; }
.acc-afinar > summary:hover { color: var(--tx); }
.acc-afinar > summary i { color: var(--tx-3); }
.acc-afinar-d { flex: 1 0 100%; margin-left: 22px; font-weight: var(--fw-body); color: var(--tx-3); font-size: var(--fs-base); }
.acc-modal2 .acc-perm { border-top: 1px solid var(--br); }
.acc-modal2 .modal-box { max-height: 90vh; overflow-y: auto; }
@media (prefers-reduced-motion: reduce) { .acc-rol:active { transform: none; } }
.bx-undo {
  display: flex; align-items: center; gap: var(--sp-4);
  background: var(--ink); color: var(--tx-inv);
  border-radius: var(--radius-pill); padding: 11px var(--sp-3) 11px var(--sp-5);
  box-shadow: var(--shadow-lg); font-size: var(--fs-md); white-space: nowrap;
  overflow: hidden; animation: bx-undo-entra .24s var(--ease-out) backwards;
}
@keyframes bx-undo-entra { from { opacity: 0; transform: translateX(-50%) translateY(10px); } }
.bx-undo--sale { opacity: 0; transform: translateX(-50%) translateY(6px); transition: opacity .2s var(--ease-out), transform .2s var(--ease-out); }
.bx-undo-b {
  font-family: var(--font); font-size: var(--fs-md); font-weight: var(--fw-dato);
  color: var(--accent); background: none; border: 0; cursor: pointer;
  padding: 4px var(--sp-3); border-radius: var(--radius-pill);
  transition: background var(--dur-fast) var(--ease-out), transform var(--dur-press) var(--ease-out);
}
.bx-undo-b:hover { background: rgba(255,255,255,.1); }
.bx-undo-b:active { transform: scale(.96); }
.bx-undo-barra {
  position: absolute; left: 0; bottom: 0; height: 2px; width: 100%;
  background: var(--accent); transform-origin: left;
  animation: bx-undo-tiempo var(--seg, 5s) linear forwards;
}
@keyframes bx-undo-tiempo { from { transform: scaleX(1); } to { transform: scaleX(0); } }
@media (prefers-reduced-motion: reduce) {
  .bx-undo { animation: none; }
  .bx-undo-barra { animation-duration: var(--seg, 5s); }
}
.lp-cajones { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-2); margin-top: var(--sp-4); }
.lp-cajon { background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius); overflow: hidden; }
.lp-cajones .lp-cajon:has(.bx-cajon) { grid-column: 1 / -1; }
.lp-cajon-cab {
  display: flex; align-items: center; gap: var(--sp-2); width: 100%;
  padding: var(--sp-3) var(--sp-4); background: none; border: 0; cursor: pointer;
  font-family: inherit; text-align: left; transition: background var(--dur-fast) var(--ease-out);
}
.lp-cajon-cab:hover { background: var(--sf3); }
.lp-cajon-t { font-weight: var(--fw-dato); font-size: var(--fs-base); color: var(--tx); }
.lp-cajon-n { font-size: var(--fs-xs); font-weight: var(--fw-dato); padding: 2px 9px;
  border-radius: var(--radius-pill); background: var(--sf3); color: var(--tx-2); }
.lp-cajon-chev { margin-left: auto; color: var(--tx-3); font-size: var(--fs-xs); }
.lp-cajon-info { padding: 10px var(--sp-4); font-size: var(--fs-base); color: var(--tx-3); border-bottom: 1px solid var(--br); }
.lp-cajon-info i { margin-right: 5px; }
.lp-cajon-nom { font-weight: var(--fw-dato); font-size: var(--fs-base); color: var(--tx); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lp-cajon-sub { font-size: var(--fs-xs); color: var(--tx-3); }
.lp-cajon-vacio { padding: 24px; text-align: center; color: var(--tx-3); font-size: var(--fs-base); }
@media (max-width: 720px) { .lp-cajones { grid-template-columns: 1fr; } }
.lp-limpio { display: flex; align-items: flex-start; gap: var(--sp-3); padding: var(--sp-5);
  background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius);
  font-size: var(--fs-md); color: var(--tx-2); line-height: 1.55; }
.lp-limpio i { color: var(--estado-bien-ink); font-size: var(--fs-lg); margin-top: 1px; }
.lp-limpio b { color: var(--tx); font-weight: var(--fw-dato); }
.lp-det-mandos { display: flex; gap: var(--sp-3); align-items: center; flex-wrap: wrap; }
.lp-det-mandos .lead-assign-btn { flex: none; min-width: 150px; }
.md-cab { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4);
  flex-wrap: wrap; margin-bottom: var(--sp-5); }
.md-res { font-size: var(--fs-md); color: var(--tx-2); }
.md-res b { color: var(--tx); font-weight: var(--fw-dato); }
.md-ok { color: var(--estado-bien-ink); font-weight: var(--fw-detalle); }
.md-mal { color: var(--estado-urgente-ink); font-weight: var(--fw-detalle); }
.md-seccion { margin-bottom: var(--sp-6); }
.md-seccion-t { font-size: var(--fs-lg); font-weight: var(--fw-fuerte); margin-bottom: 2px; }
.md-seccion-d { font-size: var(--fs-base); color: var(--tx-3); margin: 0 0 var(--sp-3); max-width: 72ch; }
.md-div { background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius);
  padding: var(--sp-3) var(--sp-4); margin-bottom: var(--sp-2); }
.md-div-cab { display: flex; align-items: baseline; gap: var(--sp-2); margin-bottom: var(--sp-2); }
.md-div-cab code { font-family: var(--mono); font-size: var(--fs-base); color: var(--tx); font-weight: var(--fw-dato); }
.md-div-prop { font-size: var(--fs-base); color: var(--estado-urgente-ink); }
.md-div-x { display: flex; align-items: baseline; gap: var(--sp-3); font-size: var(--fs-base); padding: 2px 0; }
.md-div-v { font-family: var(--mono); color: var(--tx); min-width: 16ch; }
.md-div-p { color: var(--tx-3); }
.md-fam { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--sp-2); }
.md-comp { display: flex; flex-direction: column; gap: 2px;
  background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius-sm);
  padding: var(--sp-2) var(--sp-3); }
.md-comp.mal { border-color: var(--estado-urgente-ink); }
.md-comp code { font-family: var(--mono); font-size: var(--fs-base); color: var(--tx); font-weight: var(--fw-dato); }
.md-comp-v { font-size: var(--fs-xs); color: var(--tx-2); font-family: var(--mono); }
.md-comp-p { font-size: var(--fs-xs); color: var(--tx-3); }
.md-vacio { text-align: center; padding: 56px var(--sp-5); background: var(--sf);
  border: 1px solid var(--br); border-radius: var(--radius); }
.md-vacio-ic { font-size: 38px; line-height: 1; margin-bottom: var(--sp-3); }
.md-vacio-t { font-size: var(--fs-xl); font-weight: var(--fw-fuerte); margin-bottom: var(--sp-2); }
.md-vacio-d { color: var(--tx-2); max-width: 56ch; margin: 0 auto var(--sp-5); font-size: var(--fs-md); line-height: 1.55; }
.md-suave { color: var(--tx-3); font-weight: var(--fw-detalle); }
.md-div--suave { border-style: dashed; }
.canon-dec-skel { color: var(--tx-3); font-size: var(--fs-sm); padding: var(--sp-3) 0; }
.canon-dec-grupo { margin-bottom: var(--sp-5); }
.canon-dec-tit {
  font-size: var(--fs-sm); font-weight: var(--fw-dato); text-transform: uppercase;
  letter-spacing: .07em; color: var(--tx-3); margin: 0 0 var(--sp-3);
}
.canon-dec-tit span { text-transform: none; letter-spacing: 0; font-weight: var(--fw-body); }
.canon-dec-tit--mal { color: var(--estado-urgente-ink); }
.canon-dec-row {
  display: flex; align-items: flex-start; gap: var(--sp-4);
  padding: var(--sp-3) var(--sp-4);
}
.canon-dec-row.es-mal { box-shadow: inset 3px 0 0 var(--estado-urgente); }
.canon-dec-row.es-ok  { box-shadow: inset 3px 0 0 var(--estado-bien); opacity: .72; }
.canon-dec-txt { flex: 1; min-width: 0; }
.canon-dec-h { margin: 0; font-size: var(--fs-md); font-weight: var(--fw-detalle); color: var(--tx); line-height: 1.35; }
.canon-dec-p { margin: 3px 0 0; font-size: var(--fs-sm); color: var(--tx-2); line-height: 1.45; }
.canon-dec-d { margin: 4px 0 0; font-size: var(--fs-sm); color: var(--tx-3); }
.canon-dec-m { margin: 6px 0 0; font-size: var(--fs-sm); color: var(--estado-urgente-ink); line-height: 1.45; }
.canon-dec-acc { display: flex; gap: var(--sp-2); flex: none; }
.canon-dec-b {
  display: inline-flex; align-items: center; gap: 6px; cursor: pointer;
  font-family: var(--font); font-size: var(--fs-sm); font-weight: var(--fw-detalle);
  padding: 7px 13px; border-radius: var(--radius-pill); border: none;
  background: var(--sf2); color: var(--tx-2); white-space: nowrap;
  transition: transform var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}
.canon-dec-b:active { transform: scale(.97); }
.canon-dec-si:hover, .canon-dec-si.on { color: var(--estado-bien-ink); }
.canon-dec-no:hover, .canon-dec-no.on { color: var(--estado-urgente-ink); }
.canon-dec-b.on { font-weight: var(--fw-dato); }
.canon-dec-ok { margin-top: var(--sp-4); }
.canon-dec-ok summary {
  cursor: pointer; font-size: var(--fs-sm); font-weight: var(--fw-dato);
  text-transform: uppercase; letter-spacing: .07em; color: var(--tx-3);
  margin-bottom: var(--sp-3);
}
@media (max-width: 720px) {
  .canon-dec-row { flex-direction: column; align-items: stretch; }
  .canon-dec-acc { justify-content: flex-end; }
}
.lp-novale, .lp-yacli {
  display: inline-flex; align-items: center; gap: 7px; white-space: nowrap;
  font-family: var(--font); font-size: var(--fs-sm); font-weight: var(--fw-detalle);
  padding: 8px 15px; border-radius: var(--radius-pill); border: none;
}
.lp-novale { cursor: pointer; background: var(--sf2); color: var(--tx-2);
  transition: color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out); }
.lp-novale:hover { color: var(--estado-urgente-ink); }
.lp-novale:active { transform: scale(.97); }
.lp-novale.on { color: var(--estado-urgente-ink); font-weight: var(--fw-dato); }
.lp-esdist:hover { color: #1d4ed8; }
.lp-esdist.on { color: #1d4ed8; font-weight: var(--fw-dato); }
[data-theme="dark"] .lp-esdist:hover, [data-theme="dark"] .lp-esdist.on { color: #93c5fd; }
.lp-yacli { background: var(--sf2); color: var(--estado-bien-ink); font-weight: var(--fw-dato); }
.cm-muestra {
  display: flex; align-items: flex-end; gap: var(--sp-4);
  margin-top: var(--sp-3); padding: var(--sp-3) var(--sp-4);
  background: var(--sf); border-radius: var(--radius); flex-wrap: wrap;
}
.cm-m-lado { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.cm-m-t { font-size: var(--fs-sm); font-weight: var(--fw-dato); text-transform: uppercase;
  letter-spacing: .07em; color: var(--tx-3); }
.cm-m-caja { display: flex; align-items: center; gap: 8px; min-height: 42px; }
.cm-m-p { font-size: var(--fs-sm); color: var(--tx-3); }
.cm-m-fl { color: var(--tx-3); font-size: var(--fs-sm); margin-bottom: 26px; }
.cm-m-play {
  margin-left: auto; align-self: center; cursor: pointer; border: none;
  background: var(--sf2); color: var(--tx-2); font-family: var(--font);
  font-size: var(--fs-sm); font-weight: var(--fw-detalle);
  padding: 8px 14px; border-radius: var(--radius-pill);
  transition: color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);
}
.cm-m-play:hover { color: var(--accent); }
.cm-m-play:active { transform: scale(.97); }
.cm-mini { padding: 9px 14px; border-radius: 10px; background: var(--sf2); font-size: var(--fs-sm); color: var(--tx-2); }
.cm-mini--modal.va { animation: cm-mo-out .16s var(--ease-out) forwards; }
@keyframes cm-mo-out { to { opacity: 0; transform: scale(.985) translateY(6px); } }
.cm-av { width: 34px; height: 34px; border-radius: 10px; background: var(--sf2);
  display: grid; place-items: center; font-weight: var(--fw-fuerte); font-size: var(--fs-sm);
  color: var(--gold-ink, var(--accent)); }
.cm-av--roto { background: none; }
.cm-caja-mala { font-size: var(--fs-sm); font-weight: var(--fw-dato); padding: 5px 13px; border-radius: 20px; background: rgba(245,158,11,.14); color: #b45309; border: 1px solid rgba(245,158,11,.35); }
.cm-caja-buena { display: inline-flex; align-items: center; gap: 7px; font-size: var(--fs-sm);
  font-weight: var(--fw-detalle); color: var(--tx); }
.cm-caja-buena i { color: var(--amber); }
.cm-num { font-size: var(--fs-xl); font-weight: var(--fw-fuerte); color: var(--tx);
  font-variant-numeric: tabular-nums; }
@keyframes cm-lat { 0%,100% { opacity: 1; } 50% { opacity: .45; } }
.cm-chk-nat { display: inline-flex; align-items: center; gap: 8px; font-size: var(--fs-sm); color: var(--tx-2); }
.cm-det { font-size: var(--fs-sm); color: var(--tx-2); line-height: 1.5; max-width: 240px; }
.cm-det--plano { color: var(--tx-3); }
.cm-det-s { background: var(--sf2); border-radius: 8px; padding: 6px 9px; margin-bottom: 5px; }
.cm-det-s i { display: block; font-style: normal; font-size: var(--fs-sm); font-weight: var(--fw-dato);
  text-transform: uppercase; letter-spacing: .06em; color: var(--tx-3); }
.cm-fila { display: flex; align-items: baseline; gap: 10px; background: var(--sf2);
  padding: 8px 12px; border-radius: 10px; font-size: var(--fs-sm); }
.cm-fila--mal { align-items: flex-start; }
.cm-cif { color: #0071e3; font-weight: var(--fw-fuerte); }
.cm-cif i { font-style: normal; color: var(--tx-3); font-weight: var(--fw-body); font-size: var(--fs-sm); }
.cm-fila--mal .cm-cif { display: flex; flex-direction: column; line-height: 1.05; }
.cm-4 { display: grid; grid-template-columns: repeat(4, 26px); gap: 5px; }
.cm-4--dos { grid-template-columns: repeat(2, 26px); }
.cm-4 i { height: 22px; background: var(--sf2); border-radius: 5px; display: block; }
@media (prefers-reduced-motion: reduce) {
  .cm-mini--modal.va, .bx-pill--lat.lat { animation: none; }
}
.tk-vistas{ margin-bottom:var(--sp-4); }
.eq-avatar{
  width:36px; height:36px; border-radius:var(--radius-pill); flex:none;
  display:inline-flex; align-items:center; justify-content:center;
  font-size:var(--fs-sm); font-weight:var(--fw-fuerte); letter-spacing:.02em;
  background:var(--c, var(--accent)); color:#111;
}
.eq-avatar--mini{ width:22px; height:22px; font-size:var(--fs-2xs); }
.eq-avatar--mas{ background:var(--sf2); color:var(--tx-2); }
.eq-caras{ display:inline-flex; align-items:center; gap:2px; margin-right:var(--sp-2); }
.eq-barra{ display:flex; gap:var(--sp-3); align-items:center; flex-wrap:wrap; margin-bottom:var(--sp-3); }
.eq-buscar{ position:relative; flex:1; min-width:220px; }
.eq-buscar i{ position:absolute; left:var(--sp-3); top:50%; transform:translateY(-50%); color:var(--tx-3); font-size:var(--fs-sm); pointer-events:none; }
.eq-buscar .form-input{ padding-left:var(--sp-8); }
.eq-barra-acc{ display:flex; gap:var(--sp-2); }
.eq-chips{ display:flex; gap:var(--sp-2); flex-wrap:wrap; margin-bottom:var(--sp-4); }
.eq-chip{
  display:inline-flex; align-items:center; gap:var(--sp-2);
  padding:var(--sp-2) var(--sp-3); border:none; border-radius:var(--radius-pill);
  background:var(--sf2); color:var(--tx-2);
  font-size:var(--fs-md); font-weight:var(--fw-medium); cursor:pointer;
  transition:background 160ms ease, color 160ms ease, transform 160ms var(--ease-out);
}
.eq-chip:hover{ background:var(--sf3); }
.eq-chip:active{ transform:scale(.97); }
.eq-chip.activo{ background:var(--accent); color:#111; font-weight:var(--fw-dato); }
.eq-chip-dot{ width:8px; height:8px; border-radius:var(--radius-pill); flex:none; }
.eq-chip-n{ font-size:var(--fs-sm); opacity:.7; font-variant-numeric:tabular-nums; }
.eq-toggles{ display:flex; gap:var(--sp-2); flex-wrap:wrap; }
.eq-fila{
  display:grid; align-items:center; gap:var(--sp-3);
  grid-template-columns:auto minmax(0,1.6fr) minmax(0,1.4fr) minmax(0,.9fr) auto;
}
.eq-quien{ min-width:0; }
.eq-nombre{ font-size:var(--fs-lg); font-weight:var(--fw-dato); color:var(--tx); display:flex; align-items:center; gap:var(--sp-2); }
.eq-puesto{ font-size:var(--fs-base); color:var(--tx-2); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.eq-puesto em{ color:var(--tx-3); font-style:normal; }
.eq-tu{ font-size:var(--fs-2xs); font-weight:var(--fw-detalle); color:var(--tx-3); text-transform:uppercase; letter-spacing:.06em; }
.eq-depts{ display:flex; gap:var(--sp-2); flex-wrap:wrap; min-width:0; }
.eq-tag{ display:inline-flex; align-items:center; gap:var(--sp-2); font-size:var(--fs-base); color:var(--tx-2); }
.eq-sin{ font-size:var(--fs-base); color:var(--tx-3); }
.eq-carga{ display:flex; flex-direction:column; line-height:1.15; min-width:0; }
.eq-carga b{ font-size:var(--fs-xl); font-weight:var(--fw-fuerte); font-variant-numeric:tabular-nums; }
.eq-carga span{ font-size:var(--fs-sm); color:var(--tx-2); }
.eq-acc{ display:flex; align-items:center; gap:var(--sp-3); }
.eq-acceso{ display:inline-flex; align-items:center; gap:var(--sp-2); font-size:var(--fs-base); color:var(--tx-2); white-space:nowrap; }
.eq-punto{ width:8px; height:8px; border-radius:var(--radius-pill); flex:none; background:var(--tx-3); }
.eq-acceso.ok .eq-punto{ background:var(--green); }
.eq-acceso.no{ color:var(--tx-3); }
@media (max-width: 900px){
  .eq-fila{ grid-template-columns:auto minmax(0,1fr) auto; }
  .eq-depts, .eq-carga{ grid-column:2 / -1; }
  .eq-acceso{ display:none; }   
}
.eq-cuentas{ display:flex; flex-direction:column; gap:var(--sp-2); max-height:320px; overflow:auto; margin:var(--sp-3) 0; }
.eq-cuenta{ display:flex; align-items:center; gap:var(--sp-3); padding:var(--sp-3); background:var(--sf2); border-radius:var(--radius-sm); }
.eq-cuenta-quien{ flex:1; min-width:0; }
.eq-cuenta-mail{ font-size:var(--fs-md); font-weight:var(--fw-medium); overflow-wrap:anywhere; }
.eq-cuenta-rol{ font-size:var(--fs-base); color:var(--tx-2); }
.eq-2col{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:var(--sp-3); }
@media (max-width: 560px){ .eq-2col{ grid-template-columns:minmax(0,1fr); } }
.modal-acc{ display:flex; gap:var(--sp-2); justify-content:flex-end; margin-top:var(--sp-4); }
.eq-admin .eq-toggles{ width:100%; }
.tk-tipo{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:var(--sp-2); }
.tk-tipo-b{
  display:inline-flex; align-items:center; justify-content:center; gap:var(--sp-2);
  padding:var(--sp-3); border:none; border-radius:var(--radius-sm);
  background:var(--sf2); color:var(--tx-2);
  font-size:var(--fs-md); font-weight:var(--fw-medium); cursor:pointer;
  transition:background 160ms ease, color 160ms ease, transform 160ms var(--ease-out);
}
.tk-tipo-b:active{ transform:scale(.97); }
.tk-tipo-b.activo{ background:var(--accent); color:#111; font-weight:var(--fw-dato); }
.tk-ayuda{ font-size:var(--fs-base); color:var(--tx-2); margin-top:var(--sp-2); line-height:1.5; }
.tk-notas{ border-top:1px solid var(--br); margin-top:var(--sp-4); padding-top:var(--sp-3); }
.tk-notas-lista{ display:flex; flex-direction:column; gap:var(--sp-3); max-height:200px; overflow:auto; margin-bottom:var(--sp-3); }
.tk-notas-cargando{ font-size:var(--fs-base); color:var(--tx-3); line-height:1.5; }
.tk-nota-cab{ display:flex; align-items:baseline; gap:var(--sp-2); }
.tk-nota-quien{ font-size:var(--fs-sm); font-weight:var(--fw-detalle); color:var(--tx); }
.tk-nota-cuando{ font-size:var(--fs-sm); color:var(--tx-3); }
.tk-nota-txt{ font-size:var(--fs-md); color:var(--tx); line-height:1.5; overflow-wrap:anywhere; }
.tk-nota-nueva{ display:flex; gap:var(--sp-2); }
.tk-nota-nueva .form-input{ flex:1; }
.tk-cal-barras{ display:flex; flex-direction:column; gap:2px; margin-bottom:2px; }
.tk-barra{
  display:block; width:100%; text-align:left; border:none; cursor:pointer;
  min-height:18px; padding:2px var(--sp-2);
  background:var(--pill,#888); color:#111;
  font-size:var(--fs-2xs); font-weight:var(--fw-detalle);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  border-radius:0;
  transition:opacity 160ms ease, transform 160ms var(--ease-out);
}
.tk-barra.ini{ border-top-left-radius:var(--radius-xs); border-bottom-left-radius:var(--radius-xs); }
.tk-barra.fin{ border-top-right-radius:var(--radius-xs); border-bottom-right-radius:var(--radius-xs); }
.tk-barra:hover{ opacity:.85; }
.tk-barra:active{ transform:scale(.98); }
.tk-barra.hecho{ opacity:.45; }
.tk-barra.tarde{
  background-image:repeating-linear-gradient(45deg, rgba(0,0,0,.22) 0 4px, transparent 4px 8px);
}
.tk-barra-txt{ pointer-events:none; }
.tk-priv-sec{ margin-top:var(--sp-4); border-top:1px solid var(--br); padding-top:var(--sp-3); }
.tk-priv-tit{
  font-size:var(--fs-sm); font-weight:var(--fw-dato); color:var(--tx-3);
  text-transform:uppercase; letter-spacing:.07em; margin-bottom:var(--sp-2);
}
.tk-dept--priv{ gap:var(--sp-2); }
.tk-cab {
  display: flex; align-items: center; gap: var(--sp-3); flex-wrap: wrap;
  margin-bottom: var(--sp-3); padding: var(--sp-2) var(--sp-4);
}
.tk-cab-quien { min-width: 0; flex: 1 1 220px; }
.tk-cab-quien b { display: block; font-size: var(--fs-lg); font-weight: var(--fw-fuerte); }
.tk-cab-quien small {
  display: block; font-size: var(--fs-2xs); color: var(--tx-2);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.tk-cab-acciones { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; margin-left: auto; }
.tk-cab-acciones .btn { min-height: 44px; padding: 0 var(--sp-4); font-size: var(--fs-md); font-weight: var(--fw-detalle); }
.tk-cab-acciones .btn-sm.on { background: var(--sf3); box-shadow: inset 0 0 0 1px var(--br-2); }
.tk-cab-gear { width: 44px; padding: 0 !important; justify-content: center; }
.tk-nuevo { min-height: 48px; font-size: var(--fs-md); }
.tk-side-menor .btn-sm { min-height: 38px; }
.tk-grid { flex: 1 1 auto; min-height: 0; }
.tk-hilo-card { padding: var(--sp-3) var(--sp-4); height: 100%; display: flex; flex-direction: column; min-height: 0; }
.tk-hilo-card > #tk-chat { flex: 1 1 auto; display: flex; flex-direction: column; min-height: 0; }
.tk-hilo-card .tk-chat { height: 100%; min-height: 0; }
.tk-tasks-bajo { margin-top: var(--sp-4); }
.tk-tasks-bajo:empty { display: none; }
.tk-side-pie { margin-top: var(--sp-3); display: flex; flex-direction: column; gap: var(--sp-2); }
.tk-nuevo { width: 100%; justify-content: center; }
.tk-side-menor { display: flex; gap: var(--sp-2); flex-wrap: wrap; }
.tk-side-menor .btn-sm { flex: 1 1 auto; justify-content: center; color: var(--tx-2); }
.cm-ipop-menu, .cm-alert-menu-btn, .tk-sel-enter, .lp-f-chk,
.tk-dept-del, .tk-conv-del { min-height: 36px; min-width: 36px; }
.lpn-bt { min-height: 44px; }
.tk-volver { margin-bottom: var(--sp-3); }
.tk-rotulo {
  font-size: var(--fs-2xs); font-weight: var(--fw-detalle); color: var(--tx-3);
  letter-spacing: .06em; text-transform: uppercase;
  padding: var(--sp-4) var(--sp-2) var(--sp-2);
}
.tk-rotulo:first-child { padding-top: var(--sp-2); }
.tk-conv {
  display: flex; align-items: center; gap: var(--sp-3);
  padding: var(--sp-2) var(--sp-3); border: 0; background: transparent;
  border-radius: var(--r-fila, 10px); margin: 0;
  transition: background var(--dur-fast, .18s) var(--ease-out);
}
.tk-conv-lista .tk-conv:nth-child(even) { background: color-mix(in srgb, var(--tx) 2.5%, transparent); }
@media (hover: hover) { .tk-conv:hover { background: var(--sf2); } }   
.tk-conv:active { transform: scale(.99); }
.tk-conv.active { background: var(--sf2); box-shadow: inset 3px 0 0 var(--accent); border-color: transparent; }
.tk-conv-losa {
  width: 40px; height: 40px; flex: 0 0 auto;
  display: grid; place-items: center; border-radius: 10px;
  color: #fff; font-size: var(--fs-sm); line-height: 1;
}
.tk-conv-circ { width: 40px; height: 40px; font-size: var(--fs-sm); flex: 0 0 auto; }
.tk-conv-quien { min-width: 0; flex: 1 1 auto; }
.tk-conv-quien b {
  display: block; font-size: var(--fs-md); font-weight: var(--fw-detalle);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.tk-conv-quien small {
  display: block; font-size: var(--fs-2xs); color: var(--tx-2);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.tk-conv-tareas {
  flex: 0 0 auto; display: flex; align-items: center; gap: 4px;
  font-size: var(--fs-2xs); font-weight: var(--fw-detalle); color: var(--tx-2);
}
.tk-conv-tareas i { font-size: 11px; }
.tk-conv-grip { opacity: 0; }
@media (hover: hover) { .tk-conv:hover .tk-conv-grip { opacity: .5; } }
.tk-conv-del { margin-left: 0; }
.tk-priv-sub{ font-size:var(--fs-base); color:var(--tx-2); }
.tk-priv-ahora { font-size: var(--fs-xs); color: var(--tx-3); margin-top: 2px; display: flex; align-items: center; gap: var(--sp-1); }
.tk-priv-ahora { height: 20px; line-height: 20px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (prefers-reduced-motion: reduce){
  .eq-chip, .tk-tipo-b, .tk-barra{ transition-duration:1ms; }
}
.tk-leyenda{ margin-top:var(--sp-4); border-top:1px solid var(--br); padding-top:var(--sp-3); }
.tk-leyenda-tit{
  font-size:var(--fs-sm); font-weight:var(--fw-dato); color:var(--tx-3);
  text-transform:uppercase; letter-spacing:.07em; margin-bottom:var(--sp-2);
}
.tk-leyenda-fila{
  display:flex; align-items:baseline; gap:var(--sp-3); width:100%; text-align:left;
  padding:var(--sp-2) var(--sp-2); border:none; background:none; cursor:pointer;
  border-radius:var(--radius-sm);
  transition:background 160ms ease, transform 160ms var(--ease-out);
}
.tk-leyenda-fila:hover{ background:var(--sf2); }
.tk-leyenda-fila:active{ transform:scale(.99); }
.tk-leyenda-nombre{ font-size:var(--fs-md); font-weight:var(--fw-medium); color:var(--tx); }
.tk-leyenda-ctx{ font-size:var(--fs-base); color:var(--tx-2); margin-left:auto; white-space:nowrap; }
@media (max-width: 640px){
  .tk-leyenda-fila{ flex-wrap:wrap; }
  .tk-leyenda-ctx{ margin-left:0; width:100%; }
}
@media (prefers-reduced-motion: reduce){ .tk-leyenda-fila{ transition-duration:1ms; } }
.fab-root{ display:flex; flex-direction:column; gap:var(--sp-4); }
.fab-pila{ display:flex; flex-direction:column; gap:var(--sp-4); }
.fab-root{ --hueco:var(--sp-4); }
.fab-barra{ display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3); flex-wrap:wrap; }
.fab-tabs{ display:flex; gap:var(--sp-2); }
.fab-tab{
  display:inline-flex; align-items:center; gap:var(--sp-2);
  padding:var(--sp-2) var(--sp-4); border-radius:var(--radius);
  border:1px solid var(--br); background:var(--sf); color:var(--tx-2);
  font-size:var(--fs-sm); font-weight:var(--fw-detalle); cursor:pointer;
  transition:transform 160ms var(--ease), color 160ms var(--ease);
}
.fab-tab:hover{ color:var(--tx); }
.fab-tab:active{ transform:scale(.97); }              
.fab-tab.on{ background:var(--accent); border-color:var(--accent); color:#1a1408; }
.fab-fresco{ font-size:var(--fs-xs); color:var(--tx-3); }
.fab-fresco .fab-viejo{ color:var(--estado-ojo-ink); font-weight:var(--fw-detalle); }
#topbar-subtitle .fab-viejo{ color:var(--estado-ojo-ink); font-weight:var(--fw-detalle); }
.fab-frescura-btn { appearance: none; font: inherit; color: var(--tx); background: var(--sf2);
  border: 1px solid var(--br); border-radius: 999px; padding: 3px 11px; margin-left: 9px;
  font-size: var(--fs-xs); font-weight: var(--fw-dato); cursor: pointer; vertical-align: 1px;
  transition: transform var(--dur-press) var(--ease-out); }
@media (hover: hover) { .fab-frescura-btn:hover { background: var(--sf3); } }
.fab-frescura-btn:active { transform: scale(.97); }
.fab-frescura-btn[disabled] { opacity: .6; cursor: default; }
.fab-par{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:var(--sp-4); }
.fab-par--3{ grid-template-columns:repeat(3, minmax(0,1fr)); }
@media (max-width:900px){ .fab-par--3{ grid-template-columns:1fr; } }
.fab-par--4{ grid-template-columns:repeat(4, minmax(0,1fr)); }
@media (max-width:1100px){ .fab-par--4{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:820px){ .fab-par, .fab-par--4{ grid-template-columns:1fr; } }
.fab-fila{ display:grid; grid-template-columns:repeat(auto-fit, minmax(210px, 1fr)); gap:var(--sp-4); }
.fab-fila > .fab-card{ min-width:0; }
@media (max-width:520px){ .fab-fila{ grid-template-columns:1fr; } }
.fab-card{ display:flex; flex-direction:column; gap:var(--sp-1); }
.fab-hero-v{ font-size:var(--fs-3xl); font-weight:var(--fw-black); line-height:1; font-variant-numeric:tabular-nums; }
.fab-hero-e{ font-size:var(--fs-sm); color:var(--tx-2); font-weight:var(--fw-detalle); }
.fab-hero-c{ font-size:var(--fs-xs); color:var(--tx-3); }
.fab-repo-culpa{ color:var(--tx-3); font-weight:var(--fw-detalle); }
.fab-repo-recl{ display:flex; align-items:flex-start; gap:10px; margin-top:var(--sp-3);
  background:var(--sf2); border-radius:var(--radius); padding:12px 14px; font-size:var(--fs-md); }
.fab-repo-recl i{ color:var(--estado-bien); font-size:var(--fs-lg); margin-top:1px; flex-shrink:0; }
.fab-hero-h{ display:flex; align-items:flex-start; gap:7px; min-height:2.6em;
  font-size:var(--fs-sm); font-weight:var(--fw-detalle); color:var(--tx-2); line-height:1.3; }
.fab-hero-h i{ font-size:var(--fs-base); color:var(--tx-3); margin-top:1px; flex-shrink:0; }
.nd-flow{
  position:relative; display:grid; grid-template-columns:1fr 1.05fr 1fr;
  gap:var(--sp-6) 104px; align-items:center; margin-top:var(--sp-4);
}
.nd-svg{ position:absolute; inset:0; width:100%; height:100%; pointer-events:none; overflow:visible; }
.nd-cable-base{ fill:none; stroke:var(--br); stroke-width:2; }
.nd-cable{ fill:none; stroke-width:2; stroke-linecap:round; stroke-dasharray:6 8; }
.nd-cable--vivo{ stroke:var(--accent); animation:nd-corre 1.4s linear infinite; }
.nd-cable--flojo{ stroke:var(--estado-ojo); }
.nd-cable--roto{ stroke:var(--estado-urgente); stroke-dasharray:2 7; }
@keyframes nd-corre{ to{ stroke-dashoffset:-28; } }
@media (prefers-reduced-motion:reduce){ .nd-cable--vivo{ animation:none; } }
.nd-punta{ fill:var(--br); }
.nd-punta--vivo{ fill:var(--accent); }
.nd-punta--flojo{ fill:var(--estado-ojo); }
.nd-punta--roto{ fill:var(--estado-urgente); }
.nd-col{ display:flex; flex-direction:column; gap:var(--sp-5); position:relative; z-index:1; }
.nd-pieza{
  display:block; width:100%; text-align:left; cursor:pointer; font:inherit;
  background:var(--sf); border:1px solid var(--br); border-radius:var(--radius);
  padding:var(--sp-4); box-shadow:var(--shadow);
  transition:transform 160ms var(--ease-out), box-shadow 160ms var(--ease-out);
}
.nd-pieza:hover{ box-shadow:var(--shadow-lg); }
.nd-pieza:active{ transform:scale(.97); }
.nd-pieza-n{ font-size:var(--fs-md); font-weight:var(--fw-fuerte); }
.nd-pieza-q{ font-size:var(--fs-sm); color:var(--tx-2); margin-top:2px; }
.nd-pieza-b{ font-size:var(--fs-xs); color:var(--tx-3); margin-top:var(--sp-2); }
.nd-pieza--centro{ padding:var(--sp-5); border-color:var(--accent); }
.nd-pieza--centro .nd-pieza-n{ font-size:var(--fs-lg); }
.nd-ajena{ font-style:normal; font-size:var(--fs-xs); color:var(--tx-3); font-weight:var(--fw-body); }
.nd-pieza--flojo .nd-pieza-n::after,
.nd-pieza--roto .nd-pieza-n::after{ content:''; display:inline-block; width:7px; height:7px; border-radius:50%; margin-left:6px; vertical-align:middle; }
.nd-pieza--flojo .nd-pieza-n::after{ background:var(--estado-ojo); }
.nd-pieza--roto .nd-pieza-n::after{ background:var(--estado-urgente); }
.nd-cables{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--sp-3); margin-top:var(--sp-6); }
.nd-cable-inf{ padding:var(--sp-3) 0; border-top:1px solid var(--br); }
.nd-cable-inf b{ display:block; font-size:var(--fs-sm); font-weight:var(--fw-dato); }
.nd-cable-inf span{ display:block; font-size:var(--fs-xs); color:var(--tx-3); margin-top:2px; }
.nd-cable-inf i{ font-style:normal; font-size:var(--fs-xs); font-weight:var(--fw-detalle); }
.nd-cable-inf--vivo i{ color:var(--estado-bien-ink); }
.nd-cable-inf--flojo i{ color:var(--estado-ojo-ink); }
.nd-cable-inf--roto i{ color:var(--estado-urgente-ink); }
.nd-cable-inf--mudo i{ color:var(--tx-3); }
.nd-agujero{ padding:var(--sp-3) 0; border-top:1px solid var(--br); }
.nd-agujero b{ display:block; font-size:var(--fs-sm); font-weight:var(--fw-dato); color:var(--estado-urgente-ink); }
.nd-agujero span{ display:block; font-size:var(--fs-xs); color:var(--tx-2); margin-top:2px; line-height:1.6; }
.nd-volver{ margin-bottom:var(--sp-4); }
.nd-area{ display:flex; align-items:center; gap:var(--sp-3); padding:var(--sp-3) var(--sp-4); }
.nd-lista, .bx-cebra:has(> .nd-area){ border-radius:var(--radius-sm); overflow:hidden; }
.nd-area-i{ color:var(--tx-3); width:20px; text-align:center; }
.nd-area-t{ flex:1; min-width:0; }
.nd-area-t b{ display:block; font-size:var(--fs-sm); font-weight:var(--fw-detalle); }
.nd-area-t span{ font-size:var(--fs-xs); color:var(--tx-3); }
.nd-area-n{ text-align:right; white-space:nowrap; }
.nd-area-n b{ font-size:var(--fs-lg); font-weight:var(--fw-black); font-variant-numeric:tabular-nums; }
.nd-area-n span{ display:block; font-size:var(--fs-xs); color:var(--tx-3); }
.nd-ojo{ color:var(--estado-ojo-ink); }
.nd-desp{ margin-top:var(--sp-2); }
.nd-desp .bx-fila{ display:flex; align-items:center; gap:var(--sp-3); padding:var(--sp-3); }
.nd-desp-t{ flex:1; min-width:0; }
.nd-desp-t b{ display:block; font-size:var(--fs-sm); font-weight:var(--fw-detalle); }
.nd-desp-t span{ font-size:var(--fs-xs); color:var(--tx-3); }
.nd-lista{ margin-top:var(--sp-2); border-radius:var(--radius-sm); overflow:hidden; }
.nd-fila{ padding:var(--sp-2) var(--sp-3); }
.nd-fila b{ font-size:var(--fs-sm); font-weight:var(--fw-detalle); }
.nd-fila span{ display:block; font-size:var(--fs-xs); color:var(--tx-3); }
.nd-fila--ojo b{ color:var(--estado-ojo-ink); }
.nd-chips{ display:flex; flex-wrap:wrap; gap:var(--sp-2); }
.nd-chip{
  font-size:var(--fs-xs); color:var(--tx-2); background:var(--sf2);
  padding:3px var(--sp-2); border-radius:var(--radius-sm);
}
.nd-chip i{ font-style:normal; color:var(--tx-3); }
.nd-chip--ok{ color:var(--estado-bien-ink); }
.nd-chip--ojo{ color:var(--estado-ojo-ink); font-weight:var(--fw-detalle); }
.nd-chip--ciego{ color:var(--tx-3); }
.nd-chunk{ margin-bottom:var(--sp-4); }
.nd-chunk b{ font-size:var(--fs-sm); font-weight:var(--fw-dato); }
.nd-chunk i{ font-style:normal; font-size:var(--fs-xs); color:var(--tx-3); margin-left:4px; }
.nd-chunk .nd-chips{ margin-top:var(--sp-2); }
@media (max-width:900px){
  .nd-flow{ grid-template-columns:1fr; }
  .nd-svg{ display:none; }            
  .nd-cables, .nd-tablas{ grid-template-columns:1fr; }
}
.fab-hero-u{ font-size:.8em; font-style:normal; font-weight:var(--fw-dato); color:var(--accent); margin-left:.12em; }
.fab-ings{ display:flex; flex-direction:column; margin-top:var(--sp-3); }
.fab-ing{
  display:flex; align-items:baseline; justify-content:space-between; gap:var(--sp-3);
  padding:var(--sp-2) 0; border-top:1px solid var(--br);
}
.fab-ing:first-child{ border-top:0; }
.fab-ing-n{ font-size:var(--fs-sm); color:var(--tx-2); }
.fab-ing-g{ font-size:var(--fs-sm); font-weight:var(--fw-dato); font-variant-numeric:tabular-nums; white-space:nowrap; }
.fab-ing-g i{ font-style:normal; font-size:.85em; color:var(--tx-3); margin-left:2px; }
.fab-ing--dif .fab-ing-n{ color:var(--tx-1); font-weight:var(--fw-detalle); }
.fab-ing--dif .fab-ing-g{ color:var(--accent-deep); }
.fab-masa{ margin-top:var(--sp-2); }
.fab-masa .bx-fila{ display:flex; align-items:center; gap:var(--sp-3); }
.fab-masa-n{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.fab-masa-n b{ font-size:var(--fs-sm); font-weight:var(--fw-detalle); }
.fab-masa-ctx{ font-size:var(--fs-xs); color:var(--tx-3); }
.fab-masa-b{ text-align:right; white-space:nowrap; }
.fab-masa-b b{ font-size:var(--fs-lg); font-weight:var(--fw-black); font-variant-numeric:tabular-nums; }
.fab-masa-b span{ display:block; font-size:var(--fs-xs); color:var(--tx-3); }
.fab-masa-b--ojo b{ color:var(--estado-ojo-ink); }
.fab-masa-b--ojo span b{ font-size:inherit; color:var(--estado-ojo-ink); font-weight:var(--fw-detalle); }
.fab-porconf{ font-style:normal; color:var(--tx-3); font-weight:var(--fw-dato); cursor:help; }
.fab-masa-extra{ font-size:var(--fs-sm); color:var(--tx-2); margin-top:var(--sp-3); line-height:1.6; }
.fab-masa-extra b{ color:var(--tx-1); font-weight:var(--fw-detalle); }
.fab-masa-extra--falta{ color:var(--tx-3); }
.fab-masa-prods{ display:flex; flex-direction:column; gap:var(--sp-2); margin-top:var(--sp-3); }
.fab-masa-prod{ background:var(--sf2); border-radius:var(--radius-sm); padding:12px 14px; }
.fab-masa-prod > b{ display:block; font-size:var(--fs-sm); font-weight:var(--fw-detalle); }
.fab-masa-prod span{ font-size:var(--fs-xs); color:var(--tx-3); }
.fab-masa-prod .fab-pan-cons, .fab-masa-prod .fab-pan-extra{ font-size:var(--fs-sm); color:var(--tx-2);
  margin-top:6px; }
.fab-masa-prod .fab-pan-cons b, .fab-masa-prod .fab-pan-extra b{ display:inline; color:var(--tx);
  font-weight:var(--fw-dato); font-size:inherit; }
.fab-cons{ display:flex; flex-direction:column; }
.fab-cons-f{ padding:var(--sp-3) 0; border-top:1px solid var(--br); }
.fab-cons-f:first-child{ border-top:0; }
.fab-cons-f span{ display:block; font-size:var(--fs-xs); color:var(--tx-3); text-transform:uppercase; letter-spacing:.04em; }
.fab-cons-f b{ display:block; font-size:var(--fs-sm); font-weight:var(--fw-dato); margin-top:2px; }
.fab-cons-f i{ display:block; font-style:normal; font-size:var(--fs-xs); color:var(--tx-3); margin-top:2px; }
.fab-prog{ height:var(--bar-h,10px); border-radius:999px; background:var(--sf2); overflow:hidden; margin-top:var(--sp-2); }
.fab-prog-in{ height:100%; background:var(--accent); border-radius:999px; transition:width 260ms var(--ease); }
.fab-prog-in--pasa{ background:var(--estado-urgente); }
.fab-prog-t--pasa{ color:var(--estado-urgente-ink); font-weight:var(--fw-detalle); }
.fab-prog-t{ font-size:var(--fs-xs); color:var(--tx-3); }
.fab-tira{ display:flex; align-items:stretch; gap:var(--sp-2); overflow-x:auto; padding-bottom:var(--sp-2); }
.fab-etapa{ flex:1 1 0; min-width:120px; text-align:center; padding:var(--sp-3); border-radius:var(--radius); background:var(--sf2); }
.fab-etapa-n{ font-size:var(--fs-xs); color:var(--tx-2); font-weight:var(--fw-detalle); text-transform:uppercase; letter-spacing:.04em; }
.fab-etapa-v{ font-size:var(--fs-2xl); font-weight:var(--fw-black); line-height:1.1; font-variant-numeric:tabular-nums; }
.fab-etapa-u{ font-size:var(--fs-xs); color:var(--tx-3); }
.fab-etapa-dentro{ margin-top:var(--sp-2); font-size:var(--fs-xs); color:var(--azul-apple); font-weight:var(--fw-detalle); }
.fab-etapa-dentro.vacio{ color:var(--tx-3); font-weight:var(--fw-body); }
.fab-flecha{ display:flex; align-items:center; color:var(--tx-3); font-size:var(--fs-sm); }
.fab-flecha.con-merma{ color:var(--estado-urgente-ink); }
.fab-merma{ font-weight:var(--fw-dato); font-variant-numeric:tabular-nums; }
.fab-tira-pie{ font-size:var(--fs-xs); color:var(--tx-3); margin-top:var(--sp-2); }
.fab-gh{ margin:var(--sp-4) 0 var(--sp-4); }
.fab-gh-lista{ display:flex; flex-direction:column; gap:var(--sp-2); }   
.fab-gh-f{
  display:grid; grid-template-columns:216px 64px minmax(0,1fr) 14px;
  align-items:center; gap:var(--sp-2);
  width:100%; padding:var(--sp-3); border:0; background:none;
  font:inherit; text-align:left; cursor:pointer; border-radius:var(--radius-xs);
  transition:background var(--dur-fast) var(--ease-out);
}
.fab-gh-f .fab-pan-img{ width:34px; height:34px; flex-basis:34px;
  border-radius:var(--radius-xs); font-size:var(--fs-sm); }
.fab-gh-f .bx-desp-chev{ font-size:var(--fs-xs); color:var(--tx-3); }
.fab-gh-r{ border:1.5px solid var(--br-2); border-radius:var(--radius-sm); background:var(--sf); overflow:hidden;
  transition:border-color .16s var(--ease-out), opacity .45s var(--ease-out); }
.fab-gh-r--apagada{ opacity:.28; }
.fab-gh-r:hover{ border-color:var(--tx-3); }
.fab-gh-r.abierta{ border-color:var(--accent); }
.fab-gh-f:hover{ background:var(--sf2); }
.fab-gh-f:focus-visible{ outline:2px solid var(--azul-apple); outline-offset:-2px; }
.fab-gh-n{
  font-size:var(--fs-base); color:var(--tx); font-weight:var(--fw-dato);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:216px;   
}
.fab-gh-p{
  position:relative; height:var(--barra-fila); border-radius:4px;   
  background:
    linear-gradient(to right, transparent calc(var(--min) - 1px),
      color-mix(in srgb, #3c3c43 26%, transparent) calc(var(--min) - 1px),
      color-mix(in srgb, #3c3c43 26%, transparent) var(--min), transparent var(--min)),
    repeating-linear-gradient(to right,
      transparent 0, transparent calc(var(--raya, 10%) - 1px),
      color-mix(in srgb, #3c3c43 14%, transparent) calc(var(--raya, 10%) - 1px),
      color-mix(in srgb, #3c3c43 14%, transparent) var(--raya, 10%)),
    color-mix(in srgb, #3c3c43 7%, transparent);
}
[data-theme="dark"] .fab-gh-p{
  background:
    linear-gradient(to right, transparent calc(var(--min) - 1px),
      color-mix(in srgb, #ffffff 30%, transparent) calc(var(--min) - 1px),
      color-mix(in srgb, #ffffff 30%, transparent) var(--min), transparent var(--min)),
    repeating-linear-gradient(to right,
      transparent 0, transparent calc(var(--raya, 10%) - 1px),
      color-mix(in srgb, #ffffff 16%, transparent) calc(var(--raya, 10%) - 1px),
      color-mix(in srgb, #ffffff 16%, transparent) var(--raya, 10%)),
    color-mix(in srgb, #ffffff 8%, transparent);
}
.fab-gh-b{ display:block; height:100%; background:var(--accent); border-radius:4px; }
.fab-gh-b--corto{ background:var(--estado-ojo); }
.fab-gh-b--cero { background:var(--tx-3); opacity:.4; }
.fab-gh-b--mal  { background:var(--estado-urgente); }
.fab-gh-b{ transform-origin:left center; }
.fab-gh-r--sube .fab-gh-b{ animation:fab-gh-crece 850ms var(--ease-out) both; }
.fab-gh-tramo{ position:absolute; top:0; bottom:0; border-radius:4px; transform-origin:left center; pointer-events:none; }
.fab-gh-tramo--sube{ background:var(--estado-bien);
  animation:fab-gh-crece-tramo 850ms var(--ease-out) both, fab-gh-funde 900ms var(--ease-out) 2300ms forwards; }
.fab-gh-tramo--baja{ background:var(--estado-ojo); animation:fab-gh-vacia 1150ms var(--ease-out) 350ms forwards; }
.fab-gh-r--espera .fab-gh-b, .fab-gh-r--espera .fab-gh-tramo, .fab-gh-r--espera .fab-gh-delta{ animation-play-state:paused; }
.fab-gh-delta{ position:absolute; top:50%; transform:translateY(-50%); pointer-events:none;
  padding:0 var(--sp-1); border-radius:4px; background:var(--sf); white-space:nowrap;
  font-size:var(--fs-xs); font-weight:var(--fw-dato); line-height:1.3; font-variant-numeric:tabular-nums;
  animation:fab-gh-aparece 3600ms var(--ease-out) both; }
.fab-gh-delta--sube{ color:var(--estado-bien-ink); }
.fab-gh-delta--baja{ color:var(--estado-ojo-ink); }
.fab-lote--sube, .fab-lote--baja{ position:relative; isolation:isolate; }
.fab-lote--sube::after, .fab-lote--baja::after{ content:''; position:absolute; inset:0 calc(-1 * var(--sp-2)); z-index:-1;
  border-radius:var(--radius-xs); pointer-events:none; animation:fab-gh-aparece 3600ms var(--ease-out) both; }
.fab-lote--sube::after{ background:color-mix(in srgb, var(--estado-bien) 16%, transparent); }
.fab-lote--baja::after{ background:color-mix(in srgb, var(--estado-ojo) 18%, transparent); }
@keyframes fab-gh-crece{ from{ transform:scaleX(var(--desde, 1)); } to{ transform:scaleX(1); } }
@keyframes fab-gh-crece-tramo{ from{ transform:scaleX(0); } to{ transform:scaleX(1); } }
@keyframes fab-gh-vacia{ to{ transform:scaleX(0); } }
@keyframes fab-gh-funde{ to{ opacity:0; } }
@keyframes fab-gh-aparece{ 0%{ opacity:0; } 12%{ opacity:1; } 78%{ opacity:1; } 100%{ opacity:0; } }
@media (prefers-reduced-motion: reduce){
  .fab-gh-r--sube .fab-gh-b{ animation:none; }
  .fab-gh-tramo--sube{ animation:fab-gh-funde 900ms var(--ease-out) 2300ms forwards; }
  .fab-gh-tramo--baja{ animation:fab-gh-funde 900ms var(--ease-out) 1350ms forwards; }
}
.fab-gh-c{
  font-size:var(--fs-base); font-weight:var(--fw-dato); color:var(--azul-apple);
  font-variant-numeric:tabular-nums; text-align:right; white-space:nowrap;
}
.fab-gh-c i{ font-style:normal; font-size:var(--fs-xs); font-weight:var(--fw-medium);
  color:var(--tx-3); margin-left:3px; }
.fab-gh-c--cero{ color:var(--tx-3); font-weight:var(--fw-body); }
.fab-gh-c--mal { color:var(--estado-urgente-ink); }
.fab-gh-c--desc{ color:var(--tx-3); font-weight:var(--fw-medium);
  display:inline-flex; align-items:baseline; gap:4px; white-space:nowrap; }
.fab-gh-c--desc > i.fa-solid{ font-size:.78em; opacity:.8; align-self:center; margin:0; }
.fab-gh-pie{
  display:flex; justify-content:space-between; gap:var(--sp-3); flex-wrap:wrap;
  font-size:var(--fs-xs); color:var(--tx-3); margin-top:var(--sp-3);
}
.fab-gh-mini{
  display:inline-block; width:2px; height:11px; vertical-align:-2px; margin-right:5px;
  background:color-mix(in srgb, #3c3c43 40%, transparent);
}
[data-theme="dark"] .fab-gh-mini{ background:color-mix(in srgb, #ffffff 42%, transparent); }
@keyframes fab-salta{ from{ background:color-mix(in srgb, var(--accent) 22%, transparent); } to{ background:transparent; } }
.fab-pan--salta{ animation:fab-salta 1.1s var(--ease-out) 1; }
@media (prefers-reduced-motion:reduce){ .fab-pan--salta{ animation:none; } }
@media (max-width:720px){
  .fab-gh-f{ grid-template-columns:minmax(96px, 1fr) minmax(0,1.2fr) 52px 14px; gap:var(--sp-2); }
}
.fab-h{ font-size:var(--fs-md); font-weight:var(--fw-fuerte); margin-bottom:var(--sp-3); }
.fab-aviso{ display:flex; gap:var(--sp-3); padding:var(--sp-3) 0; border-top:1px solid var(--br); }
.fab-aviso:first-of-type{ border-top:0; }
.fab-aviso i{ margin-top:2px; }
.fab-aviso--alto i{ color:var(--estado-urgente-ink); }
.fab-aviso--medio i{ color:var(--estado-ojo-ink); }
.fab-aviso--bajo i{ color:var(--tx-3); }
.fab-aviso-q{ font-size:var(--fs-sm); font-weight:var(--fw-detalle); }
.fab-aviso-p{ font-size:var(--fs-xs); color:var(--tx-2); line-height:1.5; margin-top:2px; }
.fab-ok{ display:flex; align-items:center; gap:var(--sp-3); font-size:var(--fs-sm); color:var(--tx-2); }
.fab-ok i{ color:var(--estado-bien-ink); font-size:var(--fs-lg); }
.fab-vacio{ text-align:center; padding:var(--sp-8) var(--sp-4); }
.fab-vacio i{ font-size:var(--fs-2xl); color:var(--tx-3); display:block; margin-bottom:var(--sp-3); }
.fab-vacio p{ color:var(--tx-2); font-size:var(--fs-sm); max-width:46ch; margin:var(--sp-2) auto 0; line-height:1.6; }
.fab-vacio b{ display:block; font-size:var(--fs-lg); font-weight:var(--fw-fuerte); color:var(--tx); }
.fab-esp-vacia{ background:var(--sf2); border-radius:var(--radius-sm); margin-top:var(--sp-4); }   
.fab-flow{
  --fab-aire: var(--sp-8);   
  position:relative; display:flex; flex-direction:column; gap:var(--sp-8);
  padding:var(--fab-aire); border-radius:var(--radius); border:1.5px solid var(--br-2);
  background-color:var(--sf2);
  background-image:radial-gradient(circle, color-mix(in srgb, var(--tx) 14%, transparent) 1px, transparent 1px);
  background-size:16px 16px;
}
@media (prefers-reduced-motion: no-preference){
  .fab-flow{ background-position:0 0; }
}
.fab-flow-fila{ display:flex; flex-direction:column; align-items:stretch; gap:var(--sp-8); }
.fab-flow-fila--horiz{ flex-direction:row; align-items:stretch; justify-content:center;
  gap:var(--sp-8); }
.fab-flow-fila.fab-flow-fila--horiz > .fab-nd{ flex:1 1 0; width:auto; max-width:none;
  min-width:0; margin:0; }
.fab-flow-fila--horiz > .fab-nd .fab-nd-ult{ margin-top:auto; }
.fab-flow-fila--vuelta{ flex-direction:row-reverse; justify-content:flex-start; }
.fab-flow-svg{ position:absolute; inset:0; width:100%; height:100%; pointer-events:none; overflow:visible; }
.fab-cable-base{ fill:none; stroke:var(--tx-2); stroke-width:2; opacity:.55; }
.fab-cable{ fill:none; stroke:var(--tx-2); stroke-width:2; opacity:.55; }
.fab-puerto{ fill:var(--tx-2); opacity:.75; }
.fab-cable--vivo{
  stroke:var(--accent); stroke-width:2.5; stroke-linecap:round;
  stroke-dasharray:9 13; animation:fab-fluir 1.1s linear infinite;
}
@keyframes fab-fluir{ to{ stroke-dashoffset:-44; } }
.fab-cable-txt{
  fill:var(--tx-3); font-size:var(--fs-sm); font-weight:var(--fw-detalle); text-anchor:middle;
  font-family:inherit; font-variant-numeric:tabular-nums;
}
.fab-cable-txt--merma{ fill:var(--estado-urgente); }
.fab-nodo{
  position:relative; z-index:1; flex:1 1 0; min-width:0; text-align:left;
  padding:0; border-radius:12px; overflow:hidden;
  background:var(--sf); border:1px solid var(--br);
  box-shadow:0 1px 3px rgba(0,0,0,.08);
}
.fab-nodo i{ font-size:var(--fs-sm); color:var(--tx-3); }
.fab-nodo-cab{
  display:flex; align-items:center; gap:var(--sp-2);
  padding:var(--sp-3) var(--sp-4); border-bottom:1px solid var(--br);
}
.fab-nodo-t{ font-size:var(--fs-lg); font-weight:var(--fw-detalle); letter-spacing:-.01em;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fab-nodo-filas{ display:flex; flex-direction:column; }
.fab-nodo-fila{
  display:flex; align-items:baseline; justify-content:space-between; gap:var(--sp-3);
  padding:var(--sp-2) var(--sp-4); border-bottom:1px solid var(--br);
  font-size:var(--fs-base);
}
.fab-nodo-fila:last-child{ border-bottom:none; }
.fab-nodo-fila > span{ color:var(--tx-2); min-width:0; overflow:hidden; text-overflow:ellipsis;
  white-space:nowrap; }
.fab-nodo-fila > b{ color:var(--tx-1); font-weight:var(--fw-dato); font-variant-numeric:tabular-nums;
  white-space:nowrap; }
.fab-nodo-fila--ctx{ background:var(--sf2); }
.fab-nodo-fila--ctx > b{ color:var(--tx-2); font-weight:var(--fw-medium); }
.fab-nodo-late{
  width:7px; height:7px; border-radius:50%; background:var(--accent); margin-left:auto; flex:none;
  animation:fab-latir 1.8s var(--ease-out) infinite;
}
@keyframes fab-latir{ 0%,100%{ opacity:1; transform:scale(1); } 50%{ opacity:.35; transform:scale(.75); } }
.fab-nodo-v{
  font-size:var(--fs-2xl); font-weight:var(--fw-black); line-height:1.05;
  font-variant-numeric:tabular-nums; margin-top:var(--sp-2);
}
.fab-nodo-v span{ display:block; font-size:var(--fs-xs); font-weight:var(--fw-body); color:var(--tx-3); letter-spacing:0; text-transform:none; }
.fab-nodo-panes{ list-style:none; margin:var(--sp-3) 0 0; padding:0; display:flex; flex-direction:column; gap:var(--sp-1); }
.fab-nodo-pan{ display:flex; align-items:center; gap:var(--sp-2); min-width:0; }
.fab-nodo-pan .fab-pan-img{
  width:26px; height:26px; flex:0 0 26px; border-radius:8px;
  object-fit:cover; font-size:var(--fs-xs);
}
.fab-nodo-pan-t{
  flex:1 1 auto; min-width:0; font-size:var(--fs-sm); color:var(--tx-2); letter-spacing:-.01em;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.fab-nodo-pan-n{ flex:none; font-size:var(--fs-sm); font-weight:var(--fw-dato); font-variant-numeric:tabular-nums; }
.fab-nodo-vacio{ font-size:var(--fs-xs); color:var(--tx-3); margin-top:var(--sp-2); }
.fab-nodo--gris{ opacity:.5; border-style:dashed; }
.fab-nodo-nomide{ font-size:var(--fs-xs); color:var(--tx-3); font-style:italic; margin-top:var(--sp-2); }
.fab-nodo--vivo{ border-color:var(--accent); }
.fab-nodo--hueco{ visibility:hidden; border:0; background:none; padding:0; }
@media (prefers-reduced-motion: reduce) {
  .fab-cable--vivo, .fab-nodo-late { animation:none; }
}
@media (max-width: 820px) {
  .fab-flow-fila, .fab-flow-fila--vuelta, .fab-flow-fila--horiz{ flex-direction:column; gap:var(--sp-3); }
  .fab-flow-svg, .fab-nodo--hueco{ display:none; }
  .fab-flow{ gap:var(--sp-3); }
}
.fab-nota p{ font-size:var(--fs-sm); color:var(--tx-2); line-height:1.6; margin:0; }
.fab-pan .bx-desp-cab{ display:flex; align-items:center; gap:var(--sp-3); }
.fab-pan-img{
  width:56px; height:56px; flex:0 0 56px; object-fit:contain; padding:6%;
  border-radius:calc(var(--radius) - 4px); background:#000;
  display:flex; align-items:center; justify-content:center;
  font-size:var(--fs-lg); font-weight:var(--fw-black); color:var(--tx-3);
}
.fab-pan-img--vacia{ border:1px dashed var(--br); background:var(--sf2); }
.fab-pan-n{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; }
.fab-pan-n b{ font-size:var(--fs-sm); font-weight:var(--fw-detalle); }
.fab-pan-sku{ font-size:var(--fs-xs); color:var(--tx-3); font-variant-numeric:tabular-nums; }
.fab-pan-c{ text-align:right; flex:none; min-width:86px; }
.fab-pan-c b{ font-size:var(--fs-lg); font-weight:var(--fw-black); font-variant-numeric:tabular-nums; display:block; line-height:1.1; }
.fab-pan-c span, .fab-pan-p span{ font-size:var(--fs-xs); color:var(--tx-3); display:block; }
.fab-pan-p{ text-align:right; font-size:var(--fs-sm); color:var(--tx-2); min-width:96px; }
.fab-lote-cab{ font-size:var(--fs-sm); color:var(--tx-3); margin-bottom:var(--sp-2); }
.fab-lote-cab b{ color:var(--tx-2); font-weight:var(--fw-dato); letter-spacing:.02em; }
.fab-lotes{ display:flex; flex-direction:column; gap:2px; }
.fab-lote{ display:flex; gap:var(--sp-4); flex-wrap:wrap; align-items:center;
  padding:var(--sp-2) var(--sp-2); border-radius:var(--radius-xs);
  font-size:var(--fs-base); color:var(--tx-2); }
.fab-lote:nth-child(even){ background:var(--cebra, color-mix(in srgb, #3c3c43 5%, transparent)); }
.fab-lote-ck { display:inline-flex; align-items:center; justify-content:center;
  width:34px; min-height:34px; flex:0 0 34px; cursor:pointer; }
.fab-lote-ck input { width:20px; height:20px; cursor:pointer; }
.fab-lote-ck--no { cursor:default; }
.fab-mov-barra { position:sticky; top:0; z-index:5; display:flex; align-items:center; gap:var(--sp-4);
  flex-wrap:wrap; margin-bottom:var(--sp-3); padding:var(--sp-3) var(--sp-4);
  background:var(--sf); border:1px solid var(--br); border-radius:var(--radius); box-shadow:var(--shadow); }
.fab-mov-n { font-size:var(--fs-base); color:var(--tx-2); }
.fab-mov-n b { font-size:var(--fs-lg); color:var(--tx); font-variant-numeric:tabular-nums; }
.fab-mov-ir { min-height:44px; }
.fab-mov-mal { display:flex; align-items:center; gap:var(--sp-2); font-size:var(--fs-sm);
  color:var(--estado-ojo-ink); }
.fab-mov-x { margin-left:auto; background:none; border:0; color:var(--tx-3); cursor:pointer;
  min-width:44px; min-height:44px; font-size:var(--fs-lg); }
.fab-lote-pil{ display:inline-block; padding:2px 9px; border-radius:var(--radius-pill);
  background:var(--estado-ojo-ink); color:#fff; font-weight:var(--fw-dato);
  font-size:var(--fs-sm); font-variant-numeric:tabular-nums; letter-spacing:.04em; flex-shrink:0; }
.fab-lote--vieja .fab-lote-pil{ background:var(--estado-urgente-ink); }
[data-theme="dark"] .fab-lote-pil{ color:#16120b; }
.fab-lote-cj b{ color:var(--tx); font-weight:var(--fw-dato); font-variant-numeric:tabular-nums; }
.fab-lote-cad{ margin-left:auto; color:var(--tx-3); }
.fab-lote-edad{ color:var(--estado-urgente-ink); font-weight:var(--fw-detalle); }
.fab-lote--pronto .fab-lote-cad{ color:var(--estado-ojo-ink); font-weight:var(--fw-detalle); }
.fab-lote-alm{ display:inline-flex; align-items:center; gap:5px; flex-shrink:0;
  font-size:var(--fs-xs); font-weight:var(--fw-detalle); color:var(--tx-3); }
.fab-lote-alm i{ font-size:.9em; }
.fab-lote-alm--fuera{ color:var(--tx-2); }
.fab-lote-pal{ display:inline-flex; align-items:center; flex-shrink:0;
  padding:1px 7px; border-radius:var(--radius-xs); border:1px solid var(--br);
  font-size:var(--fs-xs); font-weight:var(--fw-dato); color:var(--tx-2);
  font-variant-numeric:tabular-nums; letter-spacing:.02em; }
.fab-lote-suel{ flex-shrink:0; font-size:var(--fs-xs); color:var(--tx-3); }
.fab-lote-pals{ display:inline-flex; align-items:center; gap:var(--sp-2); flex-wrap:wrap; }
.fab-mat{ display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1.4fr) 56px; gap:var(--sp-3); align-items:center; }
.fab-mat-n{ font-size:var(--fs-sm); }
.fab-mat-v{ font-size:var(--fs-sm); font-weight:var(--fw-dato); text-align:right; font-variant-numeric:tabular-nums; }
.fab-mat-v span{ font-weight:var(--fw-body); color:var(--tx-3); font-size:var(--fs-xs); }
.fab-mat-x{ font-size:var(--fs-xs); color:var(--tx-2); }
.fab-mat-d{ font-size:var(--fs-xs); color:var(--tx-3); text-align:right; font-variant-numeric:tabular-nums; }
.fab-mat--neg .fab-mat-v{ color:var(--estado-urgente-ink); }
@media (max-width:720px){
  .fab-mat{ grid-template-columns:minmax(0,1fr) auto; }
  .fab-mat-x, .fab-mat-d{ grid-column:1 / -1; }
}
.fab-skel{ display:flex; flex-direction:column; gap:var(--sp-4); }
.fab-skel-barra{ height:96px; border-radius:var(--radius); background:var(--sf2); }
.fab-skel--lista{ gap:var(--sp-2); min-height:calc(100dvh - 230px); }
.fab-skel--lista .fab-skel-barra{ height:44px; border-radius:var(--radius-sm); flex:1 1 44px; min-height:34px; }
.fab-skel--tabla{ gap:0; min-height:calc(100dvh - 230px); border:1px solid var(--br);
  border-radius:var(--radius); overflow:hidden; background:var(--sf); }
.fab-skel-cab{ display:flex; align-items:center; background:var(--cabcol-bg, var(--sf2));
  border-bottom:1px solid var(--br); flex:none; }
.fab-skel-f{ display:flex; align-items:center; border-bottom:1px solid var(--br); flex:1 1 auto; min-height:34px; }
.fab-skel-f:nth-child(odd){ background:color-mix(in srgb, var(--tx) 2.5%, transparent); }
.fab-skel-f:last-child{ border-bottom:0; }
.fab-skel-c{ padding:0 12px; min-width:0; }
.fab-skel-c i{ display:block; height:10px; border-radius:999px; background:var(--sf2); max-width:100%; }
.fab-skel-cab .fab-skel-c i{ height:8px; background:color-mix(in srgb, var(--tx) 12%, transparent); }
@media (prefers-reduced-motion: no-preference){
  .fab-skel-barra{ animation:fabLatido 1.4s var(--ease) infinite alternate; }
  @keyframes fabLatido{ to{ opacity:.55; } }
}
.expand-scroll > *:nth-child(even),
.fit-table > tbody > tr:nth-child(even),
.bx-cebra > *:nth-child(even),
.bx-cebra > tbody > tr:nth-child(even) {
  background: color-mix(in srgb, #3c3c43 5%, transparent);
  border-radius: var(--radius);
}
[data-theme="dark"] .expand-scroll > *:nth-child(even),
[data-theme="dark"] .fit-table > tbody > tr:nth-child(even),
[data-theme="dark"] .bx-cebra > *:nth-child(even),
[data-theme="dark"] .bx-cebra > tbody > tr:nth-child(even) {
  background: color-mix(in srgb, #ffffff 5%, transparent);
}
.bx-cebra > * { border-bottom: 0; border-top: 0; }
.bx-cebra--losas > *:nth-child(even){
  background-image: linear-gradient(color-mix(in srgb, #3c3c43 12%, transparent), color-mix(in srgb, #3c3c43 12%, transparent));
}
[data-theme="dark"] .bx-cebra--losas > *:nth-child(even){
  background-image: linear-gradient(color-mix(in srgb, #ffffff 9%, transparent), color-mix(in srgb, #ffffff 9%, transparent));
}
.expand-scroll > *:hover,
.fit-table > tbody > tr:hover,
.bx-cebra > *:hover,
.bx-cebra > tbody > tr:hover {
  background: color-mix(in srgb, var(--tx) 6%, transparent);
}
.bx-cebra > tbody > tr.fab-an-f--ok   { background: color-mix(in srgb, var(--estado-bien) 8%, transparent); }
.bx-cebra > tbody > tr.fab-an-f--inc  { background: color-mix(in srgb, var(--estado-ojo) 11%, transparent); }
.bx-cebra > tbody > tr.fab-an-f--no   { background: color-mix(in srgb, var(--estado-urgente) 9%, transparent); }
.bx-cebra > tbody > tr.fab-an-f--pend > td { color: var(--tx-3); }
.bx-cebra > tbody > tr.fab-an-f--ok:hover  { background: color-mix(in srgb, var(--estado-bien) 14%, transparent); }
.bx-cebra > tbody > tr.fab-an-f--inc:hover { background: color-mix(in srgb, var(--estado-ojo) 17%, transparent); }
.bx-cebra > tbody > tr.fab-an-f--no:hover  { background: color-mix(in srgb, var(--estado-urgente) 15%, transparent); }
.bx-cebra > .bx-fila:nth-child(even) { background: var(--fila-bg); }
.bx-cebra > .bx-fila { border-bottom: 1px solid var(--fila-borde); border-top: 1px solid var(--fila-borde); }
.fab-titulo{ display:flex; align-items:center; gap:var(--sp-2); font-size:var(--fs-xl); font-weight:var(--fw-fuerte); margin:0; }
.fab-titulo i{ color:var(--accent); font-size:var(--fs-lg); }
.fab-an-sub{ font-size:var(--fs-xs); color:var(--tx-3); font-variant-numeric:tabular-nums; }
.fab-an-ok{ color:var(--estado-bien-ink); font-weight:var(--fw-dato); }
.fab-tit{ display:flex; flex-direction:column; gap:var(--sp-1); padding:var(--sp-5); }
.fab-tit-n{
  font-size:var(--fs-4xl); line-height:1; font-weight:var(--fw-black);
  font-variant-numeric:tabular-nums; letter-spacing:-0.01em;
}
.fab-tit-n{ line-height:1.08; }
.fab-tit-e{ font-size:.8em; font-weight:var(--fw-fuerte); color:var(--gold-ink); letter-spacing:-.01em; }
.fab-tit--mal .fab-tit-e, .fab-tit--bien .fab-tit-e{ color:inherit; }
.fab-tit-c{ font-size:var(--fs-sm); color:var(--tx-2); line-height:1.45; }
.fab-tit--mal .fab-tit-n{ color:var(--estado-urgente-ink); }
.fab-tit--bien .fab-tit-n{ color:var(--estado-bien-ink); }
.fab-faltas{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:var(--sp-3); margin-top:var(--sp-2); }
@media (max-width:820px){ .fab-faltas{ grid-template-columns:1fr; } }
.fab-falta{ display:flex; align-items:center; gap:var(--sp-4); padding:var(--sp-3) 0; }
.fab-falta-n{
  font-size:var(--fs-3xl); line-height:1; font-weight:var(--fw-black);
  color:var(--estado-urgente-ink); font-variant-numeric:tabular-nums; flex:0 0 auto; min-width:88px; text-align:right;
}
.fab-falta-d{ min-width:0; }
.fab-falta-p{ font-size:var(--fs-md); font-weight:var(--fw-detalle); }
.fab-falta-c{ font-size:var(--fs-sm); color:var(--tx-3); line-height:1.45; }
.fab-falta-grande{
  font-size:var(--fs-md); font-weight:var(--fw-dato); color:var(--estado-urgente-ink);
  font-variant-numeric:tabular-nums; line-height:1.1;
}
.fab-an-warn{ color:var(--estado-ojo-ink); margin-right:var(--sp-1); }
.fab-banco {
  display: flex; align-items: center; gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
}
.fab-banco > i { font-size: var(--fs-lg); color: var(--accent); flex: none; }
.fab-banco > div { flex: 1; min-width: 0; display: flex; align-items: baseline; gap: var(--sp-2); flex-wrap: wrap; }
.fab-banco b { font-size: var(--fs-sm); font-weight: var(--fw-dato); }
.fab-banco span { font-size: var(--fs-sm); color: var(--tx-2); }
.fab-root:has(.fab-ped-barra) .fab-banco { margin-bottom: var(--sp-5); }
#fab-banco-chip {
  display: inline-flex; align-items: center; gap: 6px; margin-right: var(--sp-2);
  padding: 4px 10px; border-radius: var(--radius-pill); background: var(--sf3);
  font-size: var(--fs-xs); color: var(--tx-3); white-space: nowrap;
}
@media (max-width: 900px) { #fab-banco-chip span { display: none; } }
#fab-banco-chip i.fa-flask { color: var(--accent); }
#fab-banco-chip b { font-weight: var(--fw-detalle); color: var(--tx-3); }
#fab-banco-chip button {
  appearance: none; -webkit-appearance: none; border: 0; background: none; cursor: pointer;
  color: var(--tx-2); font-size: var(--fs-xs); font-weight: var(--fw-detalle); font-family: inherit;
  padding: 2px 8px; border-radius: var(--radius-pill); white-space: nowrap;
  transition: color .12s var(--ease-out), background .12s var(--ease-out);
}
#fab-banco-chip button:hover { color: var(--tx); background: color-mix(in srgb, var(--tx) 8%, transparent); }
#fab-banco-chip button:active { transform: scale(.92); }
#fab-ped-suma-slot:empty { display: none; }
.fab-root .bx-vistas { margin-bottom: 0; }
.fab-banco--min {
  padding: var(--sp-1) 2px; gap: var(--sp-2); margin-bottom: var(--sp-2);
  background: none; border: 0; opacity: .82;
}
.fab-banco--min .fab-banco-tag {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: var(--fs-sm); color: var(--tx-2); min-width: 0;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.fab-banco--min .fab-banco-tag i { color: var(--accent); font-size: var(--fs-base); flex: none; }
.fab-banco--min .fab-banco-tag b { font-weight: var(--fw-detalle); color: var(--tx-2); }
.fab-banco--min .fab-banco-acc { margin-left: auto; display: inline-flex; gap: var(--sp-1); flex: none; }
.fab-banco--min .btn-sm { padding: 3px var(--sp-2); font-size: var(--fs-sm); }
.fab-srv .bx-desp-cab { display: flex; align-items: center; gap: var(--sp-3); }
.fab-srv-tier {
  display: inline-flex; align-items: center; gap: var(--sp-2);
  font-size: var(--fs-xs); font-weight: var(--fw-detalle); color: var(--tx-2);
  flex: none; min-width: 96px;
}
.fab-srv-tier i { width: 8px; height: 8px; border-radius: 50%; background: var(--tx-3); flex: none; }
.fab-srv-tier--rapido i { background: var(--estado-urgente); }
.fab-srv-tier--pref i { background: var(--accent); }
.fab-srv-n { flex: 1; min-width: 0; }
.fab-srv-n b { display: block; font-size: var(--fs-base); font-weight: var(--fw-dato); }
.fab-srv-ctx {
  display: block; font-size: var(--fs-xs); color: var(--tx-3);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.fab-srv-c { flex: none; text-align: right; min-width: 74px; }
.fab-srv-c b { display: block; font-size: var(--fs-xl); font-weight: var(--fw-fuerte); font-variant-numeric: tabular-nums; }
.fab-srv-c span { display: block; font-size: var(--fs-xs); color: var(--tx-3); }
.fab-srv-est { flex: none; min-width: 168px; text-align: right; font-size: var(--fs-xs); }
.fab-srv-ok { color: var(--estado-bien-ink); font-weight: var(--fw-detalle); }
.fab-srv-no { color: var(--estado-urgente-ink); font-weight: var(--fw-dato); }
.fab-srv-media { color: var(--estado-ojo-ink); font-weight: var(--fw-detalle); }
.bx-bloque, .fab-srv-bloque {
  background: var(--bloque-bg); border-radius: 8px;
  padding: var(--sp-3) var(--sp-4);
  margin: 0 0 var(--sp-2);
}
.bx-bloque:last-child, .fab-srv-bloque:last-child { margin-bottom: 0; }
:root {
  --bloque-bg:   #f3f3f1;   
  --bloque-bg-2: #e9e9e6;   
  --bloque-bg-3: #dededa;   
}
[data-theme="dark"] {
  --bloque-bg:   #161618;
  --bloque-bg-2: #1e1e21;
  --bloque-bg-3: #26262a;
}
.bx-bloque--trabajo, .fab-srv-bloque { background: var(--bloque-bg-2); }
.fab-ped .bx-bloque--trabajo { background: var(--bloque-bg); }
.bx-bloque--accion, .fab-srv-bloque.bx-bloque--accion {
  background: var(--bloque-bg-3); box-shadow: inset 0 0 0 1px var(--accent);
}
.bx-bloque-h, .fab-srv-h {
  display: flex; align-items: center; gap: var(--sp-2);
  font-size: var(--fs-md); font-weight: var(--fw-fuerte); color: var(--tx);
  letter-spacing: -.01em; text-transform: none; margin-bottom: var(--sp-3);
}
.fab-srv-puerta { padding: var(--sp-2) 0 var(--sp-4); }
.fab-srv-puerta-t {
  font-size: var(--fs-lg); font-weight: var(--fw-fuerte); color: var(--estado-urgente-ink);
  display: flex; align-items: center; gap: var(--sp-2); margin-bottom: var(--sp-2);
}
.fab-srv-motivo {
  font-size: var(--fs-sm); color: var(--tx-1); line-height: 1.5;
  padding: var(--sp-1) 0 var(--sp-1) var(--sp-6);
}
.fab-srv-linea { display: flex; gap: var(--sp-4); padding: var(--sp-3) 0; align-items: flex-start; }
.fab-srv-linea + .fab-srv-linea { border-top: 1px solid var(--br); }
.fab-srv-lp { flex: none; width: 190px; }
.fab-srv-lp b { display: block; font-size: var(--fs-sm); font-weight: var(--fw-dato); }
.fab-srv-lp span { display: block; font-size: var(--fs-xs); color: var(--tx-3); }
.fab-srv-lt { flex: 1; min-width: 0; max-width: 420px; }
.fab-srv-toma {
  display: flex; align-items: baseline; gap: var(--sp-3);
  font-size: var(--fs-sm); padding: var(--sp-1) 0;
}
.fab-srv-alm {
  flex: none; min-width: 62px; font-size: var(--fs-sm); font-weight: var(--fw-dato);
  color: var(--tx-2); letter-spacing: .02em;
}
.fab-srv-alm--fuera { color: #8a4304; }
[data-theme="dark"] .fab-srv-alm--fuera { color: var(--estado-ojo-ink); }
.fab-srv-lote { font-variant-numeric: tabular-nums; font-weight: var(--fw-dato); }
.fab-srv-donde { color: var(--tx-2); }
.fab-srv-cj { margin-left: auto; font-variant-numeric: tabular-nums; font-weight: var(--fw-detalle); }
.fab-srv-abre { color: var(--estado-ojo-ink); font-size: var(--fs-xs); font-weight: var(--fw-detalle); }
.fab-srv-toma--nada { color: var(--tx-3); font-style: italic; }
.fab-srv-falta { font-size: var(--fs-sm); color: var(--estado-urgente-ink); font-weight: var(--fw-detalle); padding-top: var(--sp-1); }
.fab-srv-aviso { font-size: var(--fs-xs); color: var(--estado-ojo-ink); padding-top: var(--sp-1); line-height: 1.45; }
.fab-srv-otro { font-size: var(--fs-sm); color: var(--tx-2); padding-top: var(--sp-3); line-height: 1.5; }
.fab-srv-env { display: flex; flex-wrap: wrap; gap: var(--sp-6); }
.fab-srv-dato { padding: var(--sp-2) 0; }
.fab-srv-dato b {
  display: block; font-size: var(--fs-2xl); font-weight: var(--fw-black);
  line-height: 1.05; font-variant-numeric: tabular-nums;
}
.fab-srv-dato span { display: block; font-size: var(--fs-xs); color: var(--tx-3); }
.fab-srv-env-ctx { font-size: var(--fs-sm); color: var(--tx-2); padding-top: var(--sp-1); }
.fab-srv-papeles { font-size: var(--fs-sm); color: var(--tx-2); padding: var(--sp-3) 0; line-height: 1.5; }
.fab-srv-btn { margin-top: var(--sp-2); }
.fab-ped-servirbar .fab-srv-btn { margin: 0; }
.fab-srv-alb { display: flex; align-items: center; gap: var(--sp-3); }
.fab-srv-alb--nulo { opacity: .55; }
.fab-srv-nulo { font-size: var(--fs-xs); color: var(--tx-3); font-weight: var(--fw-detalle); }
.fab-srv-hechos-nada { padding: var(--sp-4) 0; color: var(--tx-3); font-size: var(--fs-sm); }
.fab-srv-hechos-viejos {
  display: flex; align-items: center; gap: var(--sp-2);
  margin-top: var(--sp-3); padding-top: var(--sp-3); border-top: 1px solid var(--br);
  font-size: var(--fs-xs); color: var(--tx-2);
}
.fab-srv-hechos-viejos b { color: var(--tx); font-weight: var(--fw-dato); }
.fab-eq-turno {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: var(--fs-xs); font-weight: var(--fw-detalle); color: var(--tx-2);
}
.fab-eq-turno i { color: var(--tx-3); font-size: .9em; }
.fab-eq-turno--manana i { color: var(--accent); }
.fab-eq-turno--tarde i { color: var(--azul-apple, var(--tx-2)); }
.fab-eq-turno--noche i { color: var(--tx-2); }
.fab-eq-turno--rota i { color: var(--tx-3); }
.fab-eq-turno-txt { margin: var(--sp-2) 0 0; font-size: var(--fs-sm); color: var(--tx-2); line-height: 1.5; }
.fab-eq-turno-txt b { color: var(--tx); font-weight: var(--fw-dato); }
.fab-eq-raros { margin-top: var(--sp-3); padding-top: var(--sp-3); border-top: 1px solid var(--br); font-size: var(--fs-xs); }
.fab-eq-raros b { color: var(--tx); font-weight: var(--fw-dato); }
.fab-eq-raros ul { margin: var(--sp-2) 0 0; padding-left: 1.1em; color: var(--tx-2); }
.fab-eq-raros li { margin-bottom: 2px; }
.fab-foto-avisos ul { margin: var(--sp-2) 0 0; padding-left: 1.1em; }
.fab-foto-avisos li { margin-bottom: 4px; font-size: var(--fs-xs); color: var(--tx-2); line-height: 1.5; }
.fab-foto-avisos-mas { margin-top: var(--sp-2); font-size: var(--fs-xs); color: var(--tx-3); }
.fab-foto-avisos-pie { margin-top: var(--sp-3); padding-top: var(--sp-3); border-top: 1px solid var(--br); font-size: var(--fs-xs); color: var(--tx-2); line-height: 1.5; }
.fab-foto-avisos-pie b { color: var(--tx); font-weight: var(--fw-dato); }
.fab-hist-pie {
  display: flex; align-items: center; flex-wrap: wrap; gap: var(--sp-2);
  margin-top: var(--sp-3); padding-top: var(--sp-3); border-top: 1px solid var(--br);
  font-size: var(--fs-xs); color: var(--tx-2);
}
.fab-hist-pie b { color: var(--tx); font-weight: var(--fw-dato); }
.fab-hist-pie--mal { color: var(--estado-urgente-ink, var(--tx)); }
.fab-srv-peg-f {
  display: flex; align-items: center; flex-wrap: wrap; gap: var(--sp-2) var(--sp-3);
  padding: var(--sp-2) 0;
}
.fab-srv-peg-f .btn { margin-left: auto; min-height: 44px; white-space: nowrap; }
.fab-srv-peg-f b { font-size: var(--fs-sm); font-weight: var(--fw-dato); }
.fab-srv-peg-f span { font-size: var(--fs-xs); color: var(--tx-2); }
.fab-srv-peg-sub {
  font-size: var(--fs-xs); color: var(--tx-2); line-height: 1.45;
  margin-top: calc(var(--sp-1) * -1); margin-bottom: var(--sp-2);
}
@media (max-width: 820px) {
  .fab-srv .bx-desp-cab { flex-wrap: wrap; }
  .fab-srv-est { min-width: 0; width: 100%; text-align: left; }
  .fab-srv-tier { min-width: 0; }
  .fab-srv-linea { flex-direction: column; gap: var(--sp-1); }
  .fab-srv-lp { width: auto; }
}
.fab-ped-cabecera { display: block; }
.fab-ped-hoja {
  --barra-h: 41px;
  display: flex; align-items: center; gap: var(--sp-3) var(--sp-4); flex-wrap: wrap;
  background: var(--sf);
  border: 1px solid var(--br);
  border-top: 0;                      
  border-radius: 0 0 var(--radius) var(--radius);
  padding: var(--sp-3) var(--sp-4);
  margin-bottom: var(--sp-5);
}
.fab-ped-hoja > *:first-child { flex: 1; min-width: 240px; }
.fab-ped-hoja .fab-ped-busca { flex: 1; width: auto; max-width: 620px; }
.fab-ped-hoja .fab-ped-seur { margin-left: auto; }
.fab-ped-hoja .fab-ped-busca input, .fab-ped-hoja .btn { height: var(--barra-h); }
.fab-ped-hoja--sola { border-top: 1px solid var(--br); border-radius: var(--radius); margin-bottom: 0; }   
.fab-ped-abiertos { font-size: var(--fs-sm); color: var(--tx-2); font-weight: var(--fw-detalle); white-space: nowrap; }
.fab-ped-flimpiar { background: var(--sf2); border: 0; border-radius: var(--radius-pill); padding: 7px 13px;
  font: inherit; font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx); cursor: pointer; }   
.fab-ped-flimpiar:active { transform: scale(.96); }
.fab-ped-busca { position: relative; flex: none; width: 280px; }
.fab-ped-hoja--sola > .bx-vistas { width: auto; flex: 0 0 auto; min-width: max-content; margin: 0; align-self: center; }
.fab-ped-hoja--sola > .bx-vistas .bx-vistas-pista { flex: 0 0 auto; }
.fab-ped-hoja--sola > .fab-ped-estados { flex: 1 0 100%; min-width: 0; }
.fab-ped-est-chips { flex-wrap: nowrap; }
.fab-ped-est-chips .fab-ped-orden-chip { margin-left: auto; }
.fab-ped-est-chips .fab-ped-orden-chip + .fab-ped-pru-chip { margin-left: 0; }
.fab-ped-est-chips .fab-ped-pru-chip { margin-left: auto; }
.fab-ped-est-chips .bx-ck-n { font-weight: var(--fw-dato); font-variant-numeric: tabular-nums; }
.fab-ped-hoja--sola > .bx-vistas .bx-vistas-meta { display: none; }
.fab-ped-hoja--sola > .fab-ped-busca { flex: 1 1 160px; max-width: 300px; min-width: 0; }
.fab-ped-hoja--sola { container-type: inline-size; container-name: pedbarra; }
@container pedbarra (max-width: 1310px) { .fab-ped-hoja--sola > .fab-ped-abiertos { display: none; } }
@container pedbarra (max-width: 1290px) { .fab-ped-hoja--sola > .fab-ped-seur .btn-tx,
  .fab-ped-hoja--sola > .fab-ped-i2 .btn-tx { display: none; } }   
@container pedbarra (max-width: 1130px) { .fab-ped-hoja--sola > .fab-ped-busca { flex-basis: 120px; } }
@container pedbarra (max-width: 700px) {
  .fab-ped-hoja--sola > .bx-vistas { min-width: 0; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
  .fab-ped-hoja--sola > .fab-ped-estados .fab-ped-est-chips { overflow-x: auto; scrollbar-width: none; }
}
.fab-ped-busca i {
  position: absolute; left: var(--sp-3); top: 50%; transform: translateY(-50%);
  color: var(--tx-3); font-size: var(--fs-sm); pointer-events: none;
}
.fab-ped-busca input {
  width: 100%; padding: var(--sp-2) var(--sp-3) var(--sp-2) var(--sp-8);
  background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius-pill);
  font-size: var(--fs-sm); color: var(--tx);
}
.fab-ped-busca input:focus { outline: 2px solid var(--accent); outline-offset: 1px; border-color: var(--accent); }
.fab-ped-gh {
  display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-3);
  margin-bottom: var(--sp-3);
}
.fab-ped-gh b { font-size: var(--fs-md); font-weight: var(--fw-dato); }
.fab-ped-gh span { font-size: var(--fs-xs); color: var(--tx-3); font-variant-numeric: tabular-nums; }
.fab-ped-gh .fab-ped-gh-fuera { color: var(--tx-3); }
.fab-ped-gh--fijo { align-items: center; }
.fab-ped-gh--fijo i { color: var(--tx-3); margin-right: var(--sp-1); }
.fab-ped-gh--fijo b { margin-right: auto; }
.fab-ped-cab-tabla, .fab-ped .bx-desp-cab {
  display: grid;
  grid-template-columns:
    28px                    
    minmax(134px, .5fr)     
    minmax(64px,  .3fr)     
    minmax(216px, .7fr)     
    minmax(140px, 1fr)      
    minmax(200px, 1.7fr)    
    minmax(140px, .5fr)     
    minmax(44px,  .25fr)    
    minmax(88px,  .4fr)     
    minmax(44px,  .2fr)     
    14px;                   
  gap: var(--sp-3); align-items: center;
}
.fab-ped .bx-desp-cab { cursor: pointer; background: none; border: 0; padding: var(--sp-2) var(--sp-3); }
@media (max-width: 1600px) {
  .fab-ped-op { display: none; }
  .fab-ped-cab-tabla, .fab-ped .bx-desp-cab {
    grid-template-columns:
      28px minmax(110px, .5fr) minmax(60px, .3fr) minmax(170px, .7fr) minmax(130px, 1fr)
      minmax(160px, 1.7fr) minmax(140px, .5fr) minmax(44px, .25fr) 14px;
  }
}
.fab-ped-sep { align-self: stretch; background: var(--br); border-radius: 1px; }
.fab-ped .bx-desp-cab .fab-ped-sep { background: color-mix(in srgb, var(--tx) 7%, transparent); }
.fab-ped-cab-tabla .fab-ped-sep { background: var(--cabcol-sep); }
#content:has(.fab-ped-cab-tabla) { overflow: visible; }
.fab-ped-cab-tabla {
  position: sticky; top: var(--topbar-h); z-index: 6;
  padding: var(--sp-2) calc(28px + var(--sp-3)) var(--sp-2) calc(28px + var(--sp-3) + 3px);
  margin-bottom: var(--sp-2);
  background: var(--cabcol-bg);
  border-bottom: 1px solid var(--cabcol-br);
  border-radius: var(--radius-sm);
  box-shadow: 0 0 0 4px var(--bg);
  font-size: var(--fs-sm); font-weight: var(--fw-fuerte); color: var(--cabcol-tx);
  text-transform: uppercase; letter-spacing: .07em;
}
.fab-ped-cab-tabla .n { text-align: right; }
.fab-ped-cuerpo { display: flex; flex-direction: column; gap: 6px; }
.fab-ped-est {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: var(--fs-base); font-weight: var(--fw-dato); white-space: nowrap;
}
.fab-ped-est::before {
  content: ''; flex: none; width: 8px; height: 8px; border-radius: 50%;
  background: currentColor;
}
.fab-ped-est--rojo    { color: #b42318; }   
.fab-ped-est--morado  { color: #6b21a8; }   
.fab-ped-est--naranja { color: #9a4a05; }   
.fab-ped-est--prep {
  color: var(--estado-ojo-ink);   
  display: inline-flex; align-items: center; gap: var(--sp-1);
  font-weight: var(--fw-dato);
}
.fab-ped-est--prep i { font-size: .85em; }
.fab-ped-est--verde   { color: #14682f; }   
.fab-ped-est--gris    { color: #5b5b66; }   
.fab-ped-est--recoge  { color: var(--gold-ink); font-size: var(--fs-sm); }
.fab-ped-losa { display: inline-flex; flex-direction: column; gap: 2px; padding: 7px 13px; border-radius: 9px;
  background: var(--losa, var(--sf3)); color: #fff; width: max-content; max-width: 100%; }
.fab-ped-losa b { font-size: var(--fs-md); font-weight: var(--fw-fuerte); line-height: 1.15; white-space: nowrap; }
.fab-ped-losa small { font-size: var(--fs-2xs); font-weight: var(--fw-detalle); opacity: 1; white-space: nowrap; }
.fab-ped-losa small.fab-ped-imp { font-weight: var(--fw-black); opacity: 1; }
.fab-ped-losa--rojo    { --losa: #a32a1f; }   
.fab-ped-losa--naranja { --losa: #b7520f; }   
.fab-ped-losa--verde   { --losa: #1f6b3a; }   
.fab-ped-losa--gris    { --losa: var(--sf3); color: var(--tx-2); }
.fab-ped-avance { display: block; width: 100px; height: 4px; border-radius: 2px; margin-top: 3px;
  background: rgba(255,255,255,.28); overflow: hidden; }
.fab-ped-avance > i { display: block; height: 100%; background: #fff; border-radius: 2px; }
.fab-ped-est--prod    { color: var(--gold-ink); font-size: var(--fs-sm); font-weight: var(--fw-detalle); }
[data-theme="dark"] .fab-ped-est--prod { color: var(--accent); }
[data-theme="dark"] .fab-ped-est--rojo    { color: #fca5a5; }  
[data-theme="dark"] .fab-ped-est--morado  { color: #d8b4fe; }  
[data-theme="dark"] .fab-ped-est--naranja { color: #fcd34d; }  
[data-theme="dark"] .fab-ped-est--verde   { color: #86efac; }  
[data-theme="dark"] .fab-ped-est--gris    { color: #a1a1ab; }  
[data-theme="dark"] .fab-ped-est--recoge  { color: var(--accent); }
.fab-ped-esta { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0; }
.fab-ped-num .fab-bdg { margin-left: 8px; font-size: var(--fs-2xs); font-weight: var(--fw-fuerte); text-transform: uppercase;
  letter-spacing: .04em; padding: 4px 9px; vertical-align: 2px; }
.fab-ped-pega {
  display: block; font-size: var(--fs-sm); color: var(--estado-ojo-ink);
  font-weight: var(--fw-detalle);
}
.fab-ped .bx-desp-cab > * { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fab-ped .bx-desp-cab > .fab-ped-notas {
  font-size: var(--fs-base); color: var(--tx-2);
  white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.35;
}
.fab-ped-f { font-size: var(--fs-md); color: var(--tx-2); font-variant-numeric: tabular-nums; }
.fab-ped-num { font-size: var(--fs-md); font-weight: var(--fw-dato); font-variant-numeric: tabular-nums; }
.fab-ped-cli { font-size: var(--fs-lg); font-weight: var(--fw-dato); }
.fab-ped-cj { text-align: right; font-variant-numeric: tabular-nums; }
.fab-ped-cj b { font-size: var(--fs-lg); font-weight: var(--fw-fuerte); }
.fab-ped-eur {
  text-align: right; font-size: var(--fs-md); font-weight: var(--fw-dato);
  font-variant-numeric: tabular-nums;
}
.fab-ped-pag { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; }
.fab-ped-pag input { width: 26px; height: 26px; cursor: pointer; }
.fab-ped-pag input[disabled] { cursor: default; opacity: .55; }
.fab-ped-pag input:checked { background: #059445; border-color: #059445; }   
.fab-ped-pag input:checked::after { background: #fff; }
.fab-ped-doc { font-size: var(--fs-base); color: var(--tx-2); font-variant-numeric: tabular-nums; }
.fab-ped-doc b { color: var(--tx-3); font-weight: var(--fw-detalle); }
.fab-ped-fac { color: var(--estado-bien-ink); font-weight: var(--fw-detalle); }
.fab-ped-quien { font-size: var(--fs-base); color: var(--tx-2); }
.fab-ped-cambios {
  display: block; font-size: var(--fs-sm); color: var(--estado-ojo-ink);
  font-weight: var(--fw-detalle);
}
.fab-ped--rojo    { background: color-mix(in srgb, #b42318 5%, transparent); }
.fab-ped--morado  { background: color-mix(in srgb, #6b21a8 5%, transparent); }
.fab-ped--naranja { background: color-mix(in srgb, #9a4a05 6%, transparent); }
.fab-ped--verde   { background: color-mix(in srgb, #14682f 5%, transparent); }
[data-theme="dark"] .fab-ped--rojo    { --fila-color: #f87171; }
[data-theme="dark"] .fab-ped--morado  { --fila-color: #a855f7; }
[data-theme="dark"] .fab-ped--naranja { --fila-color: #f59e0b; }
[data-theme="dark"] .fab-ped--verde   { --fila-color: #22c55e; }
[data-theme="dark"] .fab-ped--gris    { --fila-color: #71717a; }
.fab-ped {
  border-radius: var(--radius-sm);   
  border: 1.2px solid var(--br-2);
}
.fab-ped.fab-ped--rojo    { border-color: var(--estado-urgente); }
.fab-ped.fab-ped--naranja { border-color: var(--estado-ojo); }
.fab-ped.fab-ped--verde   { border-color: var(--estado-bien); }
.fab-k-srv-l2--mano .fab-k-pi .sub { font-weight: var(--fw-detalle); }
.fab-cli-corto { margin: 0 0 var(--sp-3); max-width: 440px; }
.fab-ped .bx-desp-cab:hover { background: color-mix(in srgb, var(--tx) 5%, transparent); }
.fab-ped-chk { display: inline-flex; align-items: center; justify-content: center; }
.fab-ped-chk input { cursor: pointer; }
.fab-ped--sel { background: color-mix(in srgb, var(--accent) 13%, transparent); }
.fab-ped--sel .bx-desp-cab:hover { background: color-mix(in srgb, var(--accent) 8%, transparent); }
.fab-ped-grupo { margin-bottom: var(--sp-5); }
.fab-ped-grupo--manana { border: 2px solid var(--accent); margin-bottom: var(--sp-5); }
.fab-ped-gh--manana { flex-wrap: wrap; justify-content: flex-start; align-items: center; gap: var(--sp-3) var(--sp-4); }
.fab-ped-gh-acc { margin-left: auto; display: inline-flex; gap: var(--sp-2); flex: none; }
.fab-ped-desglose { border-top: 1px solid var(--br); padding: 0 var(--sp-4) var(--sp-3); }
.fab-ped-desglose:empty { display: none; }
.fab-ped-chk { min-width: 30px; min-height: 40px; cursor: pointer; }
.fab-ped-chk input { width: 22px; height: 22px; }
.fab-ped-grupo--manana .fab-ped-gh b { color: var(--gold-ink); }
.fab-ped-grupo--manana .fab-ped-gh b i { margin-right: 4px; }
[data-theme="dark"] .fab-ped-grupo--manana .fab-ped-gh b { color: var(--accent); }
.fab-nav-badge {
  margin-left: auto; flex: none;
  font-size: var(--fs-2xs); font-weight: var(--fw-fuerte); font-variant-numeric: tabular-nums;
  color: #16161a; background: var(--accent);
  padding: 1px 7px; border-radius: var(--radius-pill);
  white-space: nowrap;
}
.fab-ped-suma {
  background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius, 14px);
  box-shadow: var(--shadow); overflow: hidden; margin-bottom: var(--sp-3);
}
.fab-ped-suma-cab {
  display: flex; align-items: center; gap: var(--sp-3); flex-wrap: wrap;
  padding: var(--sp-3) var(--sp-4); border-bottom: 1px solid var(--br); background: var(--sf2);
}
.fab-ped-suma-tit {
  font-size: var(--fs-md); color: var(--tx-2); display: inline-flex; align-items: center; gap: 8px;
}
.fab-ped-suma-tit i { color: var(--accent); }
.fab-ped-suma-tit b { color: var(--tx); font-weight: var(--fw-dato); }
.fab-ped-suma-acc { display: inline-flex; gap: var(--sp-2); flex: none; margin-left: auto; }
.fab-ped-suma-cols { display: grid; grid-template-columns: 1fr 1fr; }
.fab-ped-suma-col { min-width: 0; }
.fab-ped-suma-col + .fab-ped-suma-col { border-left: 1px solid var(--br); }
.fab-ped-suma-sub {
  padding: var(--sp-2) var(--sp-4) 4px; font-size: var(--fs-sm); text-transform: uppercase;
  letter-spacing: .04em; color: var(--tx-3); font-weight: var(--fw-detalle);
}
.fab-ped-suma-peds, .fab-ped-suma-lista { max-height: 34vh; overflow-y: auto; padding-bottom: var(--sp-2); }
.fab-ped-suma-p {
  display: grid; grid-template-columns: auto 1fr auto; align-items: baseline; gap: var(--sp-2);
  padding: 5px var(--sp-4) 5px var(--sp-3);
}
.fab-ped-suma-p:nth-child(even) { background: color-mix(in srgb, var(--tx) 2.5%, transparent); }
.fab-ped-suma-q {
  appearance: none; -webkit-appearance: none; border: 0; background: none; cursor: pointer;
  color: var(--tx-3); font-size: var(--fs-sm); padding: 2px; line-height: 1; align-self: center;
  border-radius: var(--radius-sm); transition: color .12s var(--ease-out), background .12s var(--ease-out);
}
.fab-ped-suma-q:hover { color: var(--estado-urgente-ink); background: color-mix(in srgb, var(--tx) 8%, transparent); }
.fab-ped-suma-q:active { transform: scale(.9); }
.fab-ped-suma-pn {
  font-size: var(--fs-base); color: var(--tx-2); min-width: 0;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.fab-ped-suma-pn b { color: var(--tx); font-weight: var(--fw-dato); }
.fab-ped-suma-pc {
  font-size: var(--fs-base); color: var(--tx-2); font-variant-numeric: tabular-nums; flex: none;
}
.fab-ped-suma-pc::after { content: ' cj'; color: var(--tx-3); font-size: var(--fs-xs); }
.fab-ped-suma-r {
  display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-3);
  padding: 5px var(--sp-4);
}
.fab-ped-suma-r:nth-child(even) { background: color-mix(in srgb, var(--tx) 2.5%, transparent); }
.fab-ped-suma-n {
  font-size: var(--fs-base); color: var(--tx); min-width: 0;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.fab-ped-suma-r b {
  font-size: var(--fs-md); font-weight: var(--fw-dato); font-variant-numeric: tabular-nums; flex: none;
}
.fab-ped-suma-tot {
  display: flex; align-items: baseline; gap: var(--sp-2); flex-wrap: wrap;
  padding: var(--sp-3) var(--sp-4); border-top: 1px solid var(--br); background: var(--sf2);
}
.fab-ped-suma-tot > span:first-child {
  font-size: var(--fs-sm); text-transform: uppercase; letter-spacing: .04em; color: var(--tx-3);
}
.fab-ped-suma-tot b { font-size: var(--fs-lg); font-weight: var(--fw-fuerte); }
.fab-ped-suma-pal { margin-left: auto; font-size: var(--fs-sm); color: var(--tx-2); }
@media (max-width: 720px) {
  .fab-ped-suma-cols { grid-template-columns: 1fr; }
  .fab-ped-suma-col + .fab-ped-suma-col { border-left: 0; border-top: 1px solid var(--br); }
  .fab-ped-suma-acc { width: 100%; }
  .fab-ped-suma-acc .btn { flex: 1; }
}
.fab-ped .bx-desp-inner { max-width: none; }
.fab-ped-cols {
  display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(260px, 1fr);
  gap: var(--sp-5); align-items: stretch;
}
.fab-ped-col { min-width: 0; display: flex; flex-direction: column; gap: var(--sp-3); }
.fab-ped-col > *:last-child { flex: 1; }
.fab-ped-col--lado > *:last-child { flex: none; }
@media (max-width: 1100px) { .fab-ped-cols { grid-template-columns: minmax(0, 1fr); } }
.fab-ped-top {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: var(--sp-4) var(--sp-6); flex-wrap: wrap; margin-bottom: var(--sp-5);
}
.fab-ped-prods .fab-ped-tabla { table-layout: fixed; width: 100%; }
.fab-ped-prods .fab-ped-tabla th, .fab-ped-prods .fab-ped-tabla td { overflow-wrap: anywhere; }
.fab-ped-prods .fab-ped-tabla th:nth-child(1) { width: 34%; }   
.fab-ped-prods .fab-ped-tabla th:nth-child(2) { width: 30%; }   
.bx-bloque.fab-ped-prods { padding: 0; overflow: hidden; }
.bx-bloque.fab-ped-prods .fab-ped-otro { padding: var(--sp-3) var(--sp-4) var(--sp-4); }
.fab-ped-sku { font-size: var(--fs-sm); color: var(--tx-3); font-variant-numeric: tabular-nums; }
.fab-ped-lotes { line-height: 1.3; min-width: 0; }
.fab-ped-lote { display: block; font-size: var(--fs-sm); overflow-wrap: anywhere; }
.fab-ped-lote b { font-weight: var(--fw-dato); font-variant-numeric: tabular-nums; margin-left: var(--sp-2); }
.fab-ped-lote i { font-style: normal; color: var(--tx-3); margin-left: var(--sp-2); font-size: var(--fs-sm); }
.fab-ped-nohay { font-size: var(--fs-sm); color: var(--estado-urgente-ink); font-weight: var(--fw-detalle); }
.fab-ped-alm { font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx-2); }
.fab-ped-alm--fuera { color: #8a4304; }
[data-theme="dark"] .fab-ped-alm--fuera { color: var(--estado-ojo-ink); }
.fab-ped-corto { color: var(--estado-urgente-ink); }
.fab-ped-otro { font-size: var(--fs-sm); color: var(--tx-2); padding-top: var(--sp-3); line-height: 1.5; }
.fab-ped-puerta {
  flex: 1 1 380px; min-width: 0;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--sp-3) var(--sp-6);
}
.fab-ped-freno-t {
  display: flex; align-items: center; gap: var(--sp-2);
  font-size: var(--fs-2xl); font-weight: var(--fw-dato); color: var(--estado-bien-ink);
  letter-spacing: -.01em;
}
.fab-ped-freno-t::before {
  content: ''; flex: none; width: 10px; height: 10px; border-radius: 50%;
  background: currentColor;
}
.fab-ped-freno-t b { font-weight: var(--fw-black); font-variant-numeric: tabular-nums; }
.fab-ped-freno--para .fab-ped-freno-t { color: var(--estado-urgente-ink); }
.fab-ped-freno-p {
  font-size: var(--fs-base); color: var(--tx-2); line-height: 1.4;
  margin-top: 2px; padding-left: calc(10px + var(--sp-2));
}
.fab-ped-salida {
  display: flex; align-items: center; gap: var(--sp-3) var(--sp-5); flex-wrap: wrap;
  margin-bottom: var(--sp-5);
  justify-content: space-between;
}
.fab-ped-puerta--fin .fab-ped-freno--fin { display: flex; align-items: baseline; gap: var(--sp-3); }
.fab-ped-salida-c { display: flex; align-items: center; gap: var(--sp-3); }
.fab-ped-salida-et {
  font-size: var(--fs-sm); font-weight: var(--fw-dato); text-transform: uppercase;
  letter-spacing: .05em; color: var(--tx-3);
}
.fab-ped-sinfecha {
  font-size: var(--fs-base); font-weight: var(--fw-detalle); color: var(--estado-ojo-ink);
  display: inline-flex; align-items: center; gap: 6px;
}
.fab-ped-sinfecha::before {
  content: ''; width: 7px; height: 7px; border-radius: 50%; background: currentColor;
}
.fab-ped-salida-x { font-size: var(--fs-base); color: var(--tx-2); }
.fab-ped-salida-x--urge { color: var(--estado-urgente-ink); font-weight: var(--fw-dato); }
.fab-ped-recoge {
  display: inline-flex; align-items: center; gap: var(--sp-2);
  font-size: var(--fs-base); color: var(--tx-2); cursor: pointer;
}
.fab-ped-recoge input { width: 15px; height: 15px; accent-color: var(--accent); cursor: pointer; }
.fab-ped-tabla { width: 100%; border-collapse: collapse; font-size: var(--fs-base); }
.fab-ped-tabla th {
  text-align: left; font-size: var(--fs-2xs); font-weight: var(--fw-detalle); text-transform: uppercase;
  letter-spacing: .06em; color: var(--tx-3); padding: var(--sp-2);
  background: transparent; border-bottom: 1.5px solid var(--br-2);
}
.fab-ped-tabla td + td { border-left: 1px solid var(--br); }
.fab-ped-prod-fx{ display:flex; align-items:flex-start; gap:10px; min-width:0; }
.fab-ped-prod-fx .fab-pan-img{ width:36px; height:36px; flex:none; border-radius:10px;
  object-fit:cover; background:var(--sf2); }
.fab-ped-prod-fx > div{ min-width:0; }
.fab-ped-prods{ border:1px solid var(--br); border-radius:var(--rs, 8px); overflow:hidden; }
.fab-ped-tabla td { padding: var(--sp-2); vertical-align: top; }
.fab-ped-tabla td.n, .fab-ped-tabla th.n {
  text-align: right; font-variant-numeric: tabular-nums; font-weight: var(--fw-dato);
}
.fab-ped-tabla td.fab-ped-ok { color: var(--estado-bien-ink); font-weight: var(--fw-dato); }
.fab-ped-parcial { font-weight: var(--fw-black); }
.fab-ped-prod b { display: block; font-size: var(--fs-md); font-weight: var(--fw-dato); }
.fab-ped-prod-c {
  display: block; font-size: var(--fs-base); color: var(--tx-3); margin-top: 1px;
  font-variant-numeric: tabular-nums;
}
.fab-ped-prod-c i { font-style: normal; }
.fab-ped-tabla td.fab-ped-faltan { color: var(--tx-2); }
.fab-ped-tabla td.fab-ped-faltan--hay {
  color: var(--estado-ojo-ink); font-weight: var(--fw-black); font-size: var(--fs-lg);
}
.fab-ped-sinpan .fab-ped-prod b::before {
  content: ''; display: inline-block; width: 7px; height: 7px; border-radius: 50%;
  background: var(--estado-urgente-ink); margin-right: 6px; vertical-align: middle;
}
.fab-ped-tabla tfoot td {
  border-top: 2px solid var(--br); padding-top: var(--sp-2);
  font-size: var(--fs-base); color: var(--tx-2); font-weight: var(--fw-dato);
}
.fab-ped-medias {
  font-size: var(--fs-base); color: var(--tx-2); flex-basis: 100%;
}
.fab-ped-lado { display: flex; flex-direction: column; gap: var(--sp-3); }
.fab-ped-nota + .fab-ped-contacto { border-top: 1px solid var(--br); padding-top: var(--sp-3); }
.fab-ped-nota-r {
  display: block; font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx-3);
  text-transform: uppercase; letter-spacing: .04em; margin-bottom: 3px;
}
.fab-ped-nota-r i { font-style: normal; text-transform: none; letter-spacing: 0; }
.fab-ped-nota--cli .fab-ped-nota-r { color: var(--estado-ojo-ink); }
.fab-ped-nota b {
  display: block; font-size: var(--fs-md); font-weight: var(--fw-medium); color: var(--tx);
  line-height: 1.4;
}
.fab-ped-contacto { display: flex; flex-direction: column; gap: var(--sp-2); }
.fab-ped-contacto a {
  display: flex; align-items: center; gap: var(--sp-2);
  font-size: var(--fs-base); color: var(--accent-deep); text-decoration: none;
  font-weight: var(--fw-medium); overflow-wrap: anywhere;
}
.fab-ped-contacto a:hover { text-decoration: underline; }
.fab-ped-contacto i { width: 14px; text-align: center; color: var(--tx-3); flex: none; }
[data-theme="dark"] .fab-ped-contacto a { color: var(--accent); }
.fab-ped-papeles { display: flex; flex-direction: column; gap: 2px; }
.fab-ped-papeles-t {
  display: flex; align-items: baseline; gap: var(--sp-2); flex-wrap: wrap;
  margin-bottom: var(--sp-2);
}
.fab-ped-papeles-t b { font-size: var(--fs-md); font-weight: var(--fw-dato); }
.fab-ped-papeles-t span { font-size: var(--fs-base); color: var(--tx-3); }
.fab-ped-alb {
  display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap;
  padding: 3px 0; font-size: var(--fs-base);
}
.fab-ped-alb--ok { opacity: .62; }
.fab-ped-alb--nulo { opacity: .5; text-decoration: line-through; }
.fab-ped-doc-b {
  display: inline-flex; align-items: center; gap: 5px; background: none; border: 0; padding: 0;
  font-size: var(--fs-base); font-weight: var(--fw-dato); font-variant-numeric: tabular-nums;
  color: var(--accent-deep); cursor: pointer; font-family: inherit;
}
.fab-ped-doc-b i { font-size: var(--fs-sm); color: var(--tx-3); }
.fab-ped-doc-b[disabled] { cursor: default; opacity: .8; }
.fab-ped-doc-b--fac { color: var(--estado-bien-ink); }
[data-theme="dark"] .fab-ped-doc-b { color: var(--accent); }
.fab-ped-porfacturar {
  font-size: var(--fs-base); color: var(--estado-ojo-ink); font-weight: var(--fw-detalle);
}
.fab-ped-alb-c { font-size: var(--fs-base); color: var(--tx-3); }
.fab-ped-freno--fin .fab-ped-freno-t::before { background: var(--estado-bien-ink); }
.fab-ped-envio { display: flex; align-items: baseline; gap: var(--sp-2); flex-wrap: wrap; }
.fab-ped-envio-b {
  display: inline-flex; align-items: center; gap: 6px; font-family: inherit;
  font-size: var(--fs-base); font-weight: var(--fw-detalle); color: var(--tx-1);
  background: var(--sf2); border: 0; border-radius: var(--radius-sm); padding: 7px 12px;
  cursor: pointer; transition: transform 140ms var(--ease-out), background .18s var(--ease-out);
}
.fab-ped-envio-b:hover { background: var(--sf3); }
.fab-ped-envio-b:active { transform: scale(.97); }
.fab-ped-envio-b[disabled] { cursor: default; opacity: .7; }
.fab-ped-envio-b i { color: var(--accent-deep); }
[data-theme="dark"] .fab-ped-envio-b i { color: var(--accent); }
.fab-ped-envio-nota { font-size: var(--fs-sm); color: var(--tx-3); }
.fab-ped-envio-t { font-size: var(--fs-md); font-weight: var(--fw-dato); width: 100%; }
.fab-ped-envio-t span { font-weight: var(--fw-medium); color: var(--tx-2); font-size: var(--fs-base); }
.fab-ped-envio-t--bien { color: var(--estado-bien-ink); }
.fab-ped-envio-t--accent { color: var(--accent-deep); }
[data-theme="dark"] .fab-ped-envio-t--accent { color: var(--accent); }
.fab-ped-envio-t--urgente { color: var(--estado-urgente-ink); }
.fab-ped-envio-t--sindatos { color: var(--estado-sindatos-ink); }
.fab-ped-envio-d { font-size: var(--fs-base); color: var(--tx-2); width: 100%; }
.fab-ped-envio-l { display: flex; flex-direction: column; gap: 2px; margin-top: var(--sp-2); width: 100%; }
.fab-ped-envio-l span { font-size: var(--fs-sm); color: var(--tx-2); }
.fab-ped-envio-l i { font-style: normal; color: var(--tx-3); font-variant-numeric: tabular-nums; }
.fab-ped-envio-b--firma { margin-top: var(--sp-2); }
.fab-ped-envio-firma { max-width: 100%; border-radius: calc(var(--radius-sm) - 2px);
  margin-top: var(--sp-2); border: 1px solid var(--br); }
.fab-ped-servirbar {
  display: grid; grid-template-columns: minmax(0, 1fr) auto;
  align-items: center; gap: var(--sp-4);
  margin-top: var(--sp-5); padding: var(--sp-4) var(--sp-4);
  background: var(--bloque-bg); border-radius: var(--radius-sm);
  box-shadow: inset 0 0 0 1px var(--accent);
}
.fab-ped-servirbar-txt { min-width: 0; display: flex; flex-direction: column; gap: var(--sp-2); }
@media (max-width: 700px) { .fab-ped-servirbar { grid-template-columns: minmax(0, 1fr); } }
.fab-ped-servirbar--freno { box-shadow: inset 0 0 0 1px var(--br); }
.fab-ped-servirbar--nada {
  box-shadow: none; background: var(--bloque-bg); color: var(--tx-2); font-size: var(--fs-base);
}
.fab-ped-envio b { display: block; font-size: var(--fs-lg); font-weight: var(--fw-dato); }
.fab-ped-envio span { display: block; font-size: var(--fs-base); color: var(--tx-2); }
.fab-ped-servirbar-x {
  font-size: var(--fs-base); color: var(--estado-urgente-ink); font-weight: var(--fw-detalle);
  flex: 1 1 200px;
}
.fab-ped-vb {
  display: flex; align-items: center; gap: var(--sp-3); flex-wrap: wrap;
  margin: 0 0 var(--sp-4) var(--sp-6);
}
.fab-ped-vb span { font-size: var(--fs-sm); color: var(--tx-2); }
.fab-ped-vb-hecho { font-size: var(--fs-sm); color: var(--tx); display: flex; align-items: center; gap: var(--sp-2); }
.fab-ped-vb-hecho i { color: var(--estado-bien-ink); }
.fab-ped-nulo { font-size: var(--fs-xs); color: var(--tx-3); font-weight: var(--fw-detalle); }
.fab-ped-ruta { font-size: var(--fs-sm); color: var(--tx-2); font-weight: var(--fw-detalle); white-space: nowrap; }
.fab-ped-ruta i { color: var(--tx-3); margin: 0 var(--sp-1); }
.fab-ped-acciones {
  display: flex; gap: var(--sp-3); flex-wrap: wrap;
  justify-content: flex-end; flex: none;
}
.fab-ped-acciones .btn {
  font-size: var(--fs-sm); font-weight: var(--fw-detalle); letter-spacing: 0;
  text-transform: none; padding: var(--sp-2) var(--sp-4);
  border: 0; background: var(--sf2); color: var(--tx); opacity: 1;
}
.fab-ped-cancelar { color: var(--estado-urgente-ink); }
.fab-ped-duplicar .fa-clone { margin-right: var(--sp-1); }
.fab-ped-desservir { color: var(--tx); }   
.fab-ped-acciones .btn[disabled] { cursor: default; }
.fab-nue {
  width: min(96vw, 1400px); max-width: min(96vw, 1400px);
  max-height: 92vh; display: flex; flex-direction: column; padding: 0;
}
.modal-box.fab-nue--previa { width: min(96vw, 1400px); max-width: min(96vw, 1400px); }
.fab-nue-cuerpo--dos { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 440px); gap: var(--sp-6); align-items: start; }
.fab-nue-izq { min-width: 0; }
.fab-nue-der { min-width: 0; position: sticky; top: 0; background: var(--sf2); border-radius: var(--radius-sm); padding: var(--sp-5); display: grid; justify-items: center; }
@media (max-width: 1000px) { .fab-nue-cuerpo--dos { grid-template-columns: 1fr; } .fab-nue-der { position: static; } }
.fab-nue-tipos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-4); padding: var(--sp-4) 0; }
.fab-nue-tipo { display: grid; justify-items: center; text-align: center; gap: var(--sp-2); min-height: 168px; padding: var(--sp-6) var(--sp-4); }
.fab-nue-tipo i { font-size: var(--fs-3xl); color: var(--gold-ink); }
.fab-nue-tipo b { font-size: var(--fs-xl); font-weight: var(--fw-fuerte); }
.fab-nue-tipo span { font-size: var(--fs-sm); color: var(--tx-2); }
@media (max-width: 640px) { .fab-nue-tipos { grid-template-columns: 1fr; } }
.fab-pf-previa { width: 100%; max-width: 400px; aspect-ratio: 210 / 297; display: flex; flex-direction: column;
  background: #fff; color: #111; border: 1px solid var(--br); border-radius: 2px; padding: 34px 32px; box-shadow: 0 10px 30px rgba(0,0,0,.16); font-size: 12px; line-height: 1.35; }
.fab-pf-previa .fab-pf-pie { margin-top: auto; }   
.fab-pf-cab { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4); padding-bottom: var(--sp-3); border-bottom: 2px solid #111; }
.fab-pf-logo { height: 26px; width: auto; display: block; }
.fab-pf-tit { text-align: right; }
.fab-pf-tit b { display: block; font-size: var(--fs-lg); font-weight: var(--fw-black); letter-spacing: .04em; }
.fab-pf-tit span { display: block; color: #666; }
.fab-pf-datos { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--sp-4); padding: var(--sp-3) 0; }
.fab-pf-datos small { display: block; text-transform: uppercase; letter-spacing: .04em; color: #888; font-size: 11px; }
.fab-pf-datos b { display: block; font-weight: var(--fw-dato); }
.fab-pf-datos span { display: block; color: #444; }
.fab-pf-tabla { width: 100%; border-collapse: collapse; margin-top: var(--sp-2); }
.fab-pf-tabla th { text-align: left; font-weight: var(--fw-detalle); color: #666; border-bottom: 1px solid #ddd; padding: 4px 2px; }
.fab-pf-tabla td { padding: 5px 2px; border-bottom: 1px solid #eee; }
.fab-pf-tabla th:nth-child(n+2), .fab-pf-tabla td:nth-child(n+2) { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fab-pf-tabla em { color: #b45309; font-style: normal; }
.fab-pf-tot { display: grid; grid-template-columns: 1fr auto; gap: 2px var(--sp-4); justify-content: end; margin-top: var(--sp-3); margin-left: auto; width: max-content; text-align: right; font-variant-numeric: tabular-nums; }
.fab-pf-tot span { color: #666; }
.fab-pf-tot .fab-pf-tot-t { font-size: var(--fs-md); font-weight: var(--fw-black); color: #111; border-top: 1px solid #111; padding-top: 4px; }
.fab-pf-pie { display: grid; gap: var(--sp-2); margin-top: var(--sp-4); padding-top: var(--sp-3); border-top: 1px solid #ddd; }
.fab-pf-pie small { display: block; text-transform: uppercase; letter-spacing: .04em; color: #888; font-size: 11px; }
.fab-pf-aviso { font-weight: var(--fw-dato); }
.fab-pf-hecha { display: grid; justify-items: center; text-align: center; gap: var(--sp-2); padding: var(--sp-6) var(--sp-4); }
.fab-pf-hecha-ico i { font-size: 56px; color: var(--estado-bien-ink); }
.fab-pf-hecha > b { font-size: var(--fs-2xl); font-weight: var(--fw-black); }
.fab-pf-hecha > span { font-size: var(--fs-md); color: var(--tx-2); max-width: 520px; }
.fab-pf-hecha-btns { margin-top: var(--sp-4); }
.fab-pf-lista { margin-top: var(--sp-3); }
.fab-pf-fila { display: grid; grid-template-columns: 150px minmax(0, 1fr) 120px 200px auto; align-items: center; gap: var(--sp-4); padding: var(--sp-3) var(--sp-4); min-height: 64px; }
.fab-pf-num b, .fab-pf-cli b { display: block; font-size: var(--fs-md); font-weight: var(--fw-dato); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fab-pf-num > span, .fab-pf-cli > span { display: block; font-size: var(--fs-sm); color: var(--tx-3); }
.fab-pf-eur { font-size: var(--fs-lg); font-weight: var(--fw-dato); font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.fab-pf-est { display: grid; gap: 2px; }
.fab-pf-est small { font-size: var(--fs-sm); color: var(--tx-3); }
.fab-pf-btns { display: flex; align-items: center; gap: var(--sp-2); justify-content: flex-end; flex-wrap: nowrap; }
.fab-pf-vacio { display: grid; justify-items: center; gap: var(--sp-2); padding: var(--sp-8) var(--sp-4); color: var(--tx-3); text-align: center; }
.fab-pf-vacio i { font-size: var(--fs-3xl); }
.fab-pf-vacio b { color: var(--tx); font-size: var(--fs-lg); }
@media (max-width: 900px) { .fab-pf-fila { grid-template-columns: 1fr 1fr; } .fab-pf-btns { grid-column: 1 / -1; justify-content: flex-start; } }
.fab-k-doc--proforma .fab-k-doc-ico { background: color-mix(in srgb, var(--azul-apple) 14%, var(--sf2)); color: var(--azul-apple); }
.fab-k-doc--pedido .fab-k-doc-ico { background: color-mix(in srgb, var(--accent) 22%, var(--sf2)); color: var(--gold-ink); }
.fab-k-doc--albaran .fab-k-doc-ico { background: var(--sf2); }
.fab-k-doc--factura .fab-k-doc-ico { background: color-mix(in srgb, var(--estado-bien) 14%, var(--sf2)); color: var(--estado-bien-ink); }
.fab-k-doc--espera .fab-k-doc-ico { opacity: .55; border: 1.5px dashed var(--br-2); background: transparent; }
.fab-k-doc-link { display: none; }
.fab-k-doc-cadena { font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--azul-apple); margin-left: var(--sp-2); }
.fab-nue-top {
  display: flex; align-items: flex-start; justify-content: space-between; gap: var(--sp-3);
  padding: var(--sp-5) var(--sp-5) var(--sp-4); border-bottom: 1px solid var(--br);
}
.fab-nue-sup {
  display: block; font-size: var(--fs-sm); font-weight: var(--fw-dato); text-transform: uppercase;
  letter-spacing: .06em; color: var(--tx-3);
}
.fab-nue-top b { font-size: var(--fs-xl); font-weight: var(--fw-black); letter-spacing: -.01em; }
.fab-nue-x {
  border: 1px solid var(--br); background: none; color: var(--tx-2); cursor: pointer;
  width: 30px; height: 30px; border-radius: 50%; flex: none;
}
.fab-nue-x:active { transform: scale(.97); }
.fab-nue-cuerpo { overflow-y: auto; padding: var(--sp-4) var(--sp-5); }
.fab-nue-g { margin-bottom: var(--air-block); }
.fab-nue-g:last-child { margin-bottom: 0; }
.fab-nue-h {
  display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-3);
  font-size: var(--fs-base); font-weight: var(--fw-dato); text-transform: uppercase; letter-spacing: .06em;
  color: var(--tx-2); margin-bottom: var(--sp-4);   
}
.fab-nue-h--tot b { font-size: var(--fs-md); text-transform: none; letter-spacing: 0; color: var(--tx); }
.fab-nue-carriles { display: flex; gap: var(--sp-2); margin-bottom: var(--sp-3); }
.fab-nue-c { display: block; margin-bottom: var(--sp-3); }
.fab-nue-c > span {
  display: block; font-size: var(--fs-base); color: var(--tx-2); margin-bottom: 6px;
}
.fab-nue-par { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--sp-3); }
.fab-nue-in {
  width: 100%; padding: var(--sp-3) 14px; background: color-mix(in srgb, var(--sf2) 45%, var(--sf));
  border: 1.5px solid var(--br-2); border-radius: var(--radius-sm);
  font-size: var(--fs-md); font-family: inherit; color: var(--tx);
}
.fab-nue-in:focus { outline: 2px solid var(--accent); outline-offset: 1px; border-color: var(--accent); }
.fab-nue-in[disabled] { opacity: .55; }
.fab-nue-pista { font-size: var(--fs-xs); color: var(--tx-3); margin-top: var(--sp-1); }
.fab-nue-check { display: flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-base); }
.fab-nue-li {
  display: grid; grid-template-columns: minmax(0, 1fr) 92px 110px 118px 32px;
  gap: var(--sp-3); margin-bottom: var(--sp-3); align-items: end;
}
.fab-nue-li--cab { margin-bottom: 4px; }
.fab-nue-li--cab span {
  font-size: var(--fs-sm); color: var(--tx-2); font-weight: var(--fw-detalle);
}
.fab-nue-li--cab span:nth-child(2), .fab-nue-li--cab span:nth-child(3) { text-align: right; }
.fab-nue-in.n { text-align: right; font-variant-numeric: tabular-nums; }
.fab-nue-fecha {
  display: flex; align-items: center; gap: var(--sp-2); cursor: pointer; text-align: left;
  font-weight: var(--fw-dato);
}
.fab-nue-fecha i { color: var(--accent); }
.fab-nue-fecha--vacia { color: var(--tx-2); font-weight: var(--fw-body); }
.fab-nue-quita {
  background: none; border: 0; color: var(--tx-3); cursor: pointer; font-size: var(--fs-md);
}
.fab-nue-quita[disabled] { opacity: .3; cursor: default; }
.fab-nue-mas {
  background: none; border: 0; color: var(--gold-ink); font-weight: var(--fw-dato);
  font-size: var(--fs-base); cursor: pointer; padding: var(--sp-1) 0; font-family: inherit;
}
[data-theme="dark"] .fab-nue-mas { color: var(--accent); }
.fab-nue-notas { margin-bottom: 0; }
.fab-nue-alb { margin-top: var(--sp-5); margin-bottom: 0; }
.fab-nue-pie {
  display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4);
  flex-wrap: wrap; padding: var(--sp-4) var(--sp-5); border-top: 1px solid var(--br);
}
.fab-nue-pie .fab-srv-mentira { margin-top: 0; }
.fab-nue-botones { display: flex; gap: var(--sp-2); margin-left: auto; }
@media (max-width: 640px) {
  .fab-nue-li { grid-template-columns: minmax(0, 1fr) 28px; }
}
.fab-ped-suelta {
  display: none; margin-bottom: var(--sp-3); padding: var(--sp-3);
  border: 1px dashed var(--br-2); border-radius: var(--radius-sm);
  font-size: var(--fs-sm); color: var(--tx-3); text-align: center;
}
body.fab-ped-arrastrando .fab-ped-suelta { display: block; }
body.fab-ped-arrastrando .fab-ped-grupo.encima .fab-ped-suelta {
  border-color: var(--accent); border-style: solid; color: var(--tx);
  background: var(--sf3);
}
body.fab-ped-arrastrando .fab-ped-grupo.encima { border-color: var(--accent); }
.fab-ped[draggable="true"] .bx-desp-cab:active { cursor: grabbing; }
body.fab-ped-arrastrando .fab-ped { transition: opacity .15s var(--ease-out); }
.fab-ped-fecha {
  display: inline-flex; align-items: center; gap: var(--sp-2);
  padding: 6px var(--sp-3);
  background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius-sm);
  font-family: inherit; font-size: var(--fs-base); font-weight: var(--fw-dato); color: var(--tx);
  font-variant-numeric: tabular-nums; cursor: pointer;
  transition: border-color var(--dur-fast) var(--ease-out);
}
.fab-ped-fecha:hover { border-color: var(--accent); }
.fab-ped-fecha:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.fab-ped-fecha i { color: var(--tx-3); font-size: var(--fs-sm); }
.fab-ped-fecha--vacia { color: var(--estado-ojo-ink); border-color: var(--estado-ojo-ink); }
.fab-ped-fecha--vacia i { color: var(--estado-ojo-ink); }
.fab-srv-mentira {
  display: flex; align-items: center; gap: var(--sp-2); margin-top: var(--sp-3);
  font-size: var(--fs-sm); color: var(--tx-2);
}
.fab-srv-mentira i { color: var(--accent); flex: none; }
@media (prefers-reduced-motion: reduce) {
  body.fab-ped-arrastrando .fab-ped { transition: none; }
}
@media (max-width: 900px) {
  .fab-ped .bx-desp-cab { grid-template-columns: minmax(0, 1fr) auto; row-gap: var(--sp-2); }
  .fab-ped-luz { grid-column: 1 / -1; }
  .fab-ped-cuando, .fab-ped-c { text-align: left; }
  .fab-ped-busca { width: 100%; }
}
.firma-preview tbody tr:hover,
.bx-maqueta-correo tbody tr:hover,
[data-theme="dark"] .firma-preview tbody tr:hover,
[data-theme="dark"] .bx-maqueta-correo tbody tr:hover { background: transparent; }
.firma-preview tbody tr,
.bx-maqueta-correo tbody tr { border-bottom: none; }
@media (max-width: 820px) {
  .fab-flow-fila, .fab-flow-fila--vuelta { flex-direction:column; }
  .fab-flow-baja { justify-content:center; padding-right:0; }
  .fab-flow-fila .fab-link-ico,
  .fab-flow-fila--vuelta .fab-link-ico { transform:rotate(90deg); }
  .fab-link { justify-content:center; }
  .fab-nodo--hueco, .fab-flow-fila--vuelta [aria-hidden="true"] { display:none; }
}
.fab-pan-barra{
  margin-top:var(--sp-2); height:var(--bar-h); border-radius:999px;
  background:var(--sf3); overflow:hidden; max-width:340px;
}
.fab-pan-barra > i{ display:block; height:100%; background:var(--accent); border-radius:999px; }
.fab-pan-barra--corto > i{ background:var(--estado-ojo); }
.fab-stock-tit{
  font-size:var(--fs-3xl); font-weight:var(--fw-black); line-height:1.05;
  font-variant-numeric:tabular-nums; margin-bottom:var(--sp-4);
}
.fab-stock-tit span{
  display:block; font-size:var(--fs-sm); font-weight:var(--fw-body);
  color:var(--tx-2); letter-spacing:0;
}
.fab-stock-corto{ color:var(--estado-urgente-ink); font-weight:var(--fw-dato); }
.fab-stock-hay{ background:color-mix(in srgb, var(--estado-bien) 8%, var(--sf)); }   
.fab-stock-nohay{ background:color-mix(in srgb, var(--estado-urgente) 14%, var(--sf)); }
.fab-stock-hay{ margin-bottom:var(--sp-6); }
.fab-stock-hay .fab-gh-r{ background:color-mix(in srgb, var(--estado-bien) 7%, var(--sf)); }
.fab-stock-nohay .fab-gh-r{ background:color-mix(in srgb, var(--estado-urgente) 8%, var(--sf)); }
.fab-stock-hay .fab-gh-f:hover{ background:color-mix(in srgb, var(--estado-bien) 12%, transparent); }
.fab-stock-nohay .fab-gh-f:hover{ background:color-mix(in srgb, var(--estado-urgente) 8%, transparent); }
.fab-gh-r--plana > .fab-gh-f{ cursor:default; }
.fab-gh-r--plana > .fab-gh-f:active{ transform:none; }
.fab-stock-h{ display:flex; align-items:center; gap:var(--sp-3); flex-wrap:wrap; }
.fab-stock-h .bx-est{ font-size:var(--fs-md); font-weight:var(--fw-fuerte); }
.fab-stock-nada{ color:var(--tx-2); padding:var(--sp-3) 0; }
.fab-ini-esl-espera{ color:var(--tx-2); padding:var(--sp-4) var(--sp-4) var(--sp-5); line-height:1.5; }
.fab-ini-esl-espera small{ color:var(--tx-3); }
.fab-pan .bx-desp-cab .fab-pan-img{
  width:56px; height:56px; flex:0 0 56px; border-radius:var(--radius-sm); object-fit:cover;
}
.fab-pan--cero .fab-pan-img { opacity: .38; }
.fab-pan--cero .fab-pan-c b { color: var(--tx-3); }
.fab-pan-cero { color: var(--tx-3); font-weight: var(--fw-detalle); }
.fab-pan--mal .fab-pan-c b { color: var(--estado-urgente-ink); }
.fab-pan-mal { color: var(--estado-urgente-ink); font-weight: var(--fw-dato); }
.fab-pan-barra--mal { background: var(--estado-urgente); opacity: .28; }
.fab-stock-cero { color: var(--tx-2); font-weight: var(--fw-dato); }
.fab-stock-mal  { color: var(--estado-urgente-ink); font-weight: var(--fw-dato); }
.fab-stock-desc { color: var(--tx-2); font-weight: var(--fw-dato); }
.bxt{ width:100%; border-collapse:separate; border-spacing:0; font-size:var(--fs-sm); }
.bxt th{
  font-size:var(--fs-xs); font-weight:var(--fw-fuerte); text-transform:uppercase; letter-spacing:.06em;
  color:var(--cabcol-tx); text-align:left;
  padding:var(--sp-3); white-space:nowrap; background:var(--cabcol-bg);
}
.bxt th:first-child{ border-top-left-radius:var(--radius-sm); }
.bxt th:last-child{ border-top-right-radius:var(--radius-sm); }
.bxt td{ padding:var(--sp-2) var(--sp-3); }
.bxt .bxt-num{ text-align:right; font-variant-numeric:tabular-nums; }
.bxt .bxt-fuera{ color:var(--tx-3); }
.bxt-scr{ overflow:auto; border-radius:var(--radius-sm); }
.bxt--larga thead th{ position:sticky; top:0; z-index:5; box-shadow:0 1px 0 var(--br); }
.bxt--larga thead th{ cursor:pointer; user-select:none; transition:color var(--dur-fast) var(--ease-out); }
.bxt--larga thead th:hover{ color:var(--tx); }
.bxt--larga thead th:focus-visible{ outline:2px solid var(--azul-apple); outline-offset:-2px; }
.bxt-ar{ display:inline-block; width:0; margin-left:var(--sp-1); opacity:0; vertical-align:middle; }
.bxt-on{ color:var(--tx) !important; }
.bxt-on .bxt-ar{
  opacity:1; width:0; height:0; margin-left:var(--sp-2);
  border-left:4px solid transparent; border-right:4px solid transparent;
  border-bottom:5px solid var(--accent);
}
.bxt-on.bxt-desc .bxt-ar{
  border-bottom:0; border-top:5px solid var(--accent);
}
.bxt tfoot td{
  border-top:1px solid var(--br-2); font-weight:var(--fw-detalle);
  padding-top:var(--sp-3); color:var(--tx);
}
.bxt--larga tfoot td{ position:sticky; bottom:0; background:var(--sf); }
.bxt--pulsa tbody tr{ cursor:pointer; }
.bxt--pulsa tbody tr:hover{ background:var(--sf2) !important; }
.bxt-vacio{ padding:var(--sp-5); text-align:center; color:var(--tx-3); font-size:var(--fs-sm); }
@media (max-width:720px){
  .bxt-scr{ overflow-x:auto; }
}
.fab-mat-neg{ color:var(--estado-urgente-ink); font-weight:var(--fw-dato); }
.fab-mat-u{ color:var(--tx-3); font-size:var(--fs-xs); font-weight:var(--fw-body); }
.fab-descuadre{ display:inline-flex; align-items:baseline; gap:5px; color:var(--tx-3);
  font-weight:var(--fw-medium); white-space:nowrap; }
.fab-descuadre i{ font-size:.82em; opacity:.8; align-self:center; }
.fab-descuadre b{ color:var(--tx-2); font-weight:var(--fw-dato); font-variant-numeric:tabular-nums; }
.fab-sincontar{ color:var(--tx-3); font-style:italic; }
.fab-sincontar i{ opacity:.7; }
.fab-mat-ojo{ color:var(--estado-ojo-ink); font-weight:var(--fw-dato); }
.fab-tipos{ display:flex; gap:var(--sp-5); border-bottom:1px solid var(--br);
  margin:var(--sp-4) 0 var(--sp-4); overflow-x:auto; }
.fab-tipo{ appearance:none; background:none; border:0; cursor:pointer; padding:0 0 var(--sp-3);
  display:flex; flex-direction:column; gap:2px; text-align:left; white-space:nowrap;
  color:var(--tx-2); font-family:inherit; font-size:var(--fs-md); font-weight:var(--fw-medium);
  border-bottom:2px solid transparent; margin-bottom:-1px;
  transition:color 160ms var(--ease-out), border-color 160ms var(--ease-out); }
.fab-tipo span{ font-size:var(--fs-base); color:var(--tx-3); font-weight:var(--fw-body); }
.fab-tipo:hover{ color:var(--tx-1); }
.fab-tipo:active{ transform:scale(.98); }
.fab-tipo--on{ color:var(--tx-1); font-weight:var(--fw-dato); border-bottom-color:var(--accent); }
.fab-tipo--on span{ color:var(--tx-2); }
.fab-an-modulos{ margin-bottom:var(--sp-5); }
.fab-an-mod--ancho{ grid-column:span 2; }
@media (max-width:900px){ .fab-an-mod--ancho{ grid-column:auto; } }
.fab-an-cab{ display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3); flex-wrap:wrap; }
.fab-an-cab-t{ display:inline-flex; align-items:center; gap:6px; font-size:var(--fs-xs); font-weight:var(--fw-detalle);
  text-transform:uppercase; letter-spacing:.06em; color:var(--tx-2); }
.fab-an-cab-t em{ font-style:normal; text-transform:none; letter-spacing:0; font-weight:var(--fw-body); color:var(--tx-3); }
.fab-an-mod--ancho .fab-cp-svg{ display:block; width:100%; margin-top:var(--sp-2); }
.fab-an-mod--ancho .fab-cp-hx{ font-size:var(--fs-2xs); }
.fab-tit-ico{ font-size:.55em; color:var(--tx-3); margin-right:6px; vertical-align:middle; }
.fab-sem-sel{ display:flex; gap:var(--sp-2); flex:0 0 auto; }
.fab-sem-chip{
  display:inline-flex; align-items:center; gap:7px; padding:9px 16px;
  border:1px solid var(--br); border-radius:var(--radius-pill);
  background:var(--sf); color:var(--tx-2); font-family:var(--font);
  font-size:var(--fs-sm); font-weight:var(--fw-dato); cursor:pointer; white-space:nowrap;
  transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}
.fab-sem-chip:hover{ background:var(--sf3); color:var(--tx); }
.fab-sem-chip:active{ transform:scale(.97); transition:transform var(--dur-press) var(--ease-out); }
.fab-sem-chip:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
.fab-sem-chip--on{ background:var(--bxv-lam, #1b1b1f); border-color:var(--bxv-lam, #1b1b1f); color:#fff; }
.fab-sem-chip--on i{ color:var(--accent); }
[data-theme="dark"] .fab-sem-chip--on{ background:#fff; border-color:#fff; color:#1b1b1f; }
[data-theme="dark"] .fab-sem-chip--on i{ color:var(--gold-ink); }
@media (max-width:640px){ .fab-shero, .fab-sem-horas{ padding-left:0; border-left:0; } }
.fab-sem-nav{ display:flex; align-items:center; gap:var(--sp-2); margin-bottom:var(--sp-3); }
.fab-sem-tit{ font-size:var(--fs-base); font-weight:var(--fw-detalle); color:var(--tx-2); }
.fab-sem-fl{
  display:inline-flex; align-items:center; justify-content:center;
  width:28px; height:28px; flex-shrink:0;
  border:0; border-radius:var(--radius-xs); background:var(--sf3); color:var(--tx-2);
  font-size:var(--fs-sm); cursor:pointer;
  transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}
.fab-sem-fl:hover{ background:var(--sf2); color:var(--tx); }
.fab-sem-fl:active{ transform:scale(.94); transition:transform var(--dur-press) var(--ease-out); }
.fab-sem-fl:disabled{ opacity:.3; cursor:default; }
.fab-sem-fl:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
.fab-sem-ult{
  margin-left:auto; display:inline-flex; align-items:center; gap:6px;
  border:0; background:transparent; padding:4px 2px; cursor:pointer;
  font-family:var(--font); font-size:var(--fs-base); font-weight:var(--fw-detalle);
  color:var(--gold-ink);
}
.fab-sem-ult:hover{ text-decoration:underline; }
.fab-sem-ult:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
.fab-sem-dias{ display:grid; grid-template-columns:repeat(7, minmax(0,1fr)); gap:var(--sp-2); }
.fab-dia{
  display:flex; flex-direction:column; align-items:center; gap:2px;
  padding:var(--sp-2) var(--sp-1) 9px;
  border:1px solid var(--br); border-radius:var(--radius-sm);
  background:var(--sf); font-family:var(--font); cursor:pointer;
  transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);
}
.fab-dia:hover{ background:var(--sf3); border-color:var(--br-2); }
.fab-dia:active{ transform:scale(.97); transition:transform var(--dur-press) var(--ease-out); }
.fab-dia:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
.fab-dia-sem{ font-size:var(--fs-sm); font-weight:var(--fw-detalle); color:var(--tx-3); }
.fab-dia-num{ font-size:var(--fs-xl); font-weight:var(--fw-dato); color:var(--tx);
  line-height:1.1; font-variant-numeric:tabular-nums; }
.fab-dia-am{ font-size:var(--fs-sm); color:var(--tx-3); white-space:nowrap; }
.fab-dia-bar{ display:block; width:100%; height:3px; margin-top:6px; border-radius:var(--radius-pill);
  background:color-mix(in srgb, var(--tx) 10%, transparent); overflow:hidden; }
.fab-dia-bar i{ display:block; height:100%; border-radius:inherit; background:var(--estado-bien);
  transition:width .4s var(--ease-out); }
.fab-dia-bar--ojo i{ background:var(--estado-ojo); }
.fab-dia-bar--mal i{ background:var(--estado-urgente); }
.fab-dia-num--ojo{ color:var(--estado-ojo-ink); }
.fab-dia-num--mal{ color:var(--estado-urgente-ink); }
.fab-dia--on .fab-dia-bar{ background:rgba(17,17,17,.22); }
.fab-dia--on .fab-dia-bar i{ background:var(--ink); }
.fab-dia--on .fab-dia-num--ojo, .fab-dia--on .fab-dia-num--mal{ color:var(--ink); }
.fab-dia--vacio{ background:transparent; border-style:dashed; cursor:default; }
.fab-dia--vacio .fab-dia-num{ color:var(--tx-3); }
.fab-dia--vacio:hover{ background:transparent; border-color:var(--br); }
.fab-dia--on{ background:var(--accent); border-color:var(--accent); }
.fab-dia--on:hover{ background:var(--accent); border-color:var(--accent); }
.fab-dia--on .fab-dia-sem,
.fab-dia--on .fab-dia-num,
.fab-dia--on .fab-dia-am{ color:var(--ink); }
.fab-dia--on .fab-dia-sem, .fab-dia--on .fab-dia-am{ opacity:.75; }
@media (max-width:820px){
  .fab-dia-am{ display:none; }
  .fab-dia{ min-height:56px; justify-content:center; }
}
.fab-pan-cons{ font-size:var(--fs-base); color:var(--tx-2); line-height:1.6; margin-top:2px; }
.fab-pan-cons b{ color:var(--tx-1); font-weight:var(--fw-dato); }
.fab-pan-medida{ font-style:normal; font-size:var(--fs-xs); color:var(--estado-ojo-ink);
  font-weight:var(--fw-detalle); }
.fab-pan-extra{ font-size:var(--fs-base); color:var(--tx-2); line-height:1.6; }
.fab-pan-extra b{ color:var(--tx-1); font-weight:var(--fw-dato); }
.fab-mat-linea{ display:flex; align-items:center; justify-content:space-between; gap:var(--sp-4);
  flex-wrap:wrap; font-size:var(--fs-md); color:var(--tx-2); line-height:1.5; }
.fab-mat-linea b{ color:var(--tx-1); font-weight:var(--fw-dato); }
.fab-gh-filtro{ display:flex; gap:var(--sp-2); flex-wrap:wrap; margin-bottom:var(--sp-3); }
.fab-gh-fb{
  font:inherit; font-size:var(--fs-xs); font-weight:var(--fw-detalle); color:var(--tx-2);
  background:var(--sf2); border:0; border-radius:999px; padding:5px 12px; cursor:pointer;
  display:inline-flex; align-items:center; gap:6px;
  transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}
.fab-gh-fb span{ font-variant-numeric:tabular-nums; color:var(--tx-3); }
.fab-gh-fb:hover{ color:var(--tx); }
.fab-gh-fb:active{ transform:scale(.97); }
.fab-gh-fb[aria-pressed="true"]{ background:var(--accent); color:#241a00; }
.fab-gh-fb[aria-pressed="true"] span{ color:inherit; opacity:.72; }   
.fab-gh-fb:focus-visible{ outline:2px solid var(--azul-apple); outline-offset:2px; }
.fab-gh-f--fuera{ display:none; }
.bxt-grupo td{
  font-size:var(--fs-xs); font-weight:var(--fw-detalle); color:var(--tx-3);
  padding:var(--sp-4) var(--sp-3) var(--sp-1); background:var(--sf);
  border-bottom:1px solid var(--br);
}
.bxt-grupo:first-child td{ padding-top:var(--sp-2); }
.bxt-grupo td span{
  margin-left:var(--sp-2); font-variant-numeric:tabular-nums; opacity:.7;
}
.bxt-grupo{ background:var(--sf) !important; }
.bxt-acc{ width:1%; padding-left:0; padding-right:var(--sp-2); }
.bxt-chev, .bxt-i{
  border:0; background:none; cursor:pointer; font:inherit; color:var(--tx-3);
  width:26px; height:26px; border-radius:50%; display:grid; place-items:center;
  transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}
.bxt-chev{ font-size:var(--fs-lg); line-height:1; }
.bxt-i{ font-size:var(--fs-sm); font-weight:var(--fw-dato); font-style:italic; }
.bxt-chev:hover, .bxt-i:hover{ background:var(--sf2); color:var(--azul-apple); }
.bxt-chev:active, .bxt-i:active{ transform:scale(.94); }
.bxt-chev:focus-visible, .bxt-i:focus-visible{ outline:2px solid var(--azul-apple); outline-offset:1px; }
.bxt-dens{ display:flex; gap:var(--sp-1); margin-bottom:var(--sp-2); }
.bxt-db{
  font:inherit; font-size:var(--fs-xs); font-weight:var(--fw-detalle); color:var(--tx-3);
  background:none; border:0; border-radius:999px; padding:4px 10px; cursor:pointer;
  transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}
.bxt-db:hover{ color:var(--tx); background:var(--sf2); }
.bxt-db[aria-pressed="true"]{ background:var(--sf2); color:var(--tx); }
.bxt-db:focus-visible{ outline:2px solid var(--azul-apple); outline-offset:1px; }
.bxt--compacta td, .bxt--compacta th{ padding-top:var(--sp-2); padding-bottom:var(--sp-2); }
.bxt--amplia td{ padding-top:var(--sp-4); padding-bottom:var(--sp-4); }
.bxt--cabe{ font-size:var(--fs-xs); }
.bxt--cabe td, .bxt--cabe th{ padding-left:var(--sp-2); padding-right:var(--sp-2); }
@media (max-width:1100px){
  .bxt--cabe td, .bxt--cabe th{ padding-left:6px; padding-right:6px; }
}
.bxt tr.fab-an-mal td:first-child{ color:var(--estado-ojo-ink); font-weight:var(--fw-detalle); }
.bxt tr.fab-an-mal .bxt-num{ font-weight:var(--fw-dato); }
.bxt tr.fab-fila-ok td{ color:var(--tx-2); }
.bxt .fab-falta-grande{ display:block; }
.bxt-bar{
  position:relative; display:block; min-width:80px; height:19px; border-radius:5px;
  background:color-mix(in srgb, #3c3c43 7%, transparent);
}
[data-theme="dark"] .bxt-bar{ background:color-mix(in srgb, #ffffff 8%, transparent); }
.bxt-bar > i{ position:absolute; inset:0 auto 0 0; background:var(--accent); border-radius:5px; }
.bxt-bar > b{
  position:relative; display:block; line-height:19px; padding-right:7px; text-align:right;
  font-variant-numeric:tabular-nums; font-weight:var(--fw-detalle); font-size:var(--fs-xs);
}
.bxt--avatar tbody td{ border-bottom:1px solid var(--br); }
.bxt--avatar tbody td:first-child{ border-bottom:0; position:relative; }
.bxt--avatar tbody td:first-child::after{
  content:''; position:absolute; left:var(--sp-6); right:0; bottom:0; height:1px; background:var(--br);
}
.bxt--avatar tbody tr:last-child td, .bxt--avatar tbody tr:last-child td:first-child::after{ border-bottom:0; background:none; }
.fab-ini-linea{ display:flex; align-items:flex-start; gap:var(--sp-3); }
.fab-ini-linea > div{ font-size:var(--fs-sm); line-height:1.55; min-width:0; }
.fab-ini-linea b{ font-weight:var(--fw-dato); color:var(--tx-1); }
.fab-ini-linea span{ color:var(--tx-2); }
.fab-ini-ic{ font-size:var(--fs-lg); line-height:1.3; flex:none; }
.fab-ini-ic--ojo{ color:var(--estado-ojo-ink); }
.fab-par > .fab-card{ min-width:0; }
.fab-ini-cab{ display:flex; flex-direction:column; gap:2px; margin-bottom:var(--sp-3); }
.fab-ini-cab h3{ font-size:var(--fs-lg); font-weight:var(--fw-dato); margin:0; line-height:1.25; }
.fab-ini-mal{ color:var(--estado-urgente-ink); font-weight:var(--fw-dato); }
.fab-ini-ud{ font-style:normal; font-size:.8em; color:var(--tx-3); }
.fab-an-donde{ display:flex; align-items:baseline; gap:var(--sp-3); flex-wrap:wrap; }
.fab-an-donde-v{ font-size:var(--fs-2xl); font-weight:var(--fw-black); line-height:1;
  font-variant-numeric:tabular-nums; white-space:nowrap; }
.fab-an-donde-v i{ font-style:normal; font-size:.8em; font-weight:var(--fw-dato); color:var(--tx-2); }
.fab-an-donde-t{ display:flex; align-items:baseline; gap:var(--sp-2); flex-wrap:wrap; min-width:0;
  font-size:var(--fs-sm); font-weight:var(--fw-detalle); color:var(--tx-1); }
.fab-an-donde-t span{ font-size:var(--fs-xs); font-weight:var(--fw-body); color:var(--tx-3); }
.fab-an-de{ font-style:normal; color:var(--tx-3); font-weight:var(--fw-body); }
.fab-reloj{ display:inline-flex; align-items:center; gap:5px; margin-left:var(--sp-2);
  font-size:var(--fs-xs); font-weight:var(--fw-detalle); color:var(--tx-2); white-space:nowrap;
  vertical-align:baseline; }
.fab-reloj > i.fa-solid{ font-size:.92em; color:var(--tx-3); }
.fab-reloj-r{ font-style:normal; color:var(--tx-3); font-weight:var(--fw-fino); }
.fab-reloj-a{ font-style:normal; font-weight:var(--fw-detalle); }
.fab-reloj-a:empty{ display:none; }
.fab-an-h .fab-reloj{ margin-left:0; margin-right:var(--sp-2); }
.fab-reloj b{ font-weight:var(--fw-fuerte); font-variant-numeric:tabular-nums; }
.fab-reloj--ojo{ color:var(--estado-ojo-ink); }
.fab-reloj--ojo > i.fa-solid{ color:var(--estado-ojo); }
.fab-reloj--mal{ color:var(--estado-urgente-ink); }
.fab-reloj--mal > i.fa-solid{ color:var(--estado-urgente); }
.fab-an-ref{ margin-top:var(--sp-2); font-size:var(--fs-xs); color:var(--tx-3); }
.fab-an-ref b{ color:var(--tx-2); font-weight:var(--fw-detalle); }
.fab-an-nada{ color:var(--tx-3); }
.fab-an-det{ display:flex; flex-direction:column; gap:var(--sp-2); padding:var(--sp-3) var(--sp-1); }
.fab-an-h{ display:flex; align-items:center; gap:var(--sp-2); flex-wrap:wrap; }
.fab-an-h-r{ font-size:var(--fs-xs); color:var(--tx-2); font-weight:var(--fw-detalle); min-width:96px; }
.fab-an-h-r i{ font-style:normal; color:var(--tx-3); font-weight:var(--fw-body); }
.fab-an-h-t{
  font-size:var(--fs-xs); font-weight:var(--fw-dato); font-variant-numeric:tabular-nums;
  padding:2px var(--sp-2); border-radius:var(--radius-sm); background:var(--sf2); color:var(--tx-1);
}
.fab-an-entre{ font-size:var(--fs-sm); color:var(--tx-2); line-height:1.5; margin-top:var(--sp-1); }
.fab-an-entre b{ color:var(--tx-1); font-weight:var(--fw-dato); }
.bxt-tramos th{ padding-bottom:0; }
.bxt-tramo{
  text-align:center !important; color:var(--tx-2); font-weight:var(--fw-dato);
  border-bottom:1px solid var(--br); padding-bottom:var(--sp-1);
}
.bxt--larga .bxt-tramos th{ position:sticky; top:0; z-index:6; background:var(--sf); }
.bxt--larga thead:has(.bxt-tramos) tr:last-child th{ top:26px; }
.bxt tr.bxt-on-fila > td{ background:var(--sf2); font-weight:var(--fw-detalle); }
.bxt tr.bxt-detalle > td{ background:var(--sf2); border-top:0; white-space:normal; }
.fab-an-det{ display:flex; flex-direction:column; gap:var(--sp-3); padding:var(--sp-3) 0; }
.fab-an-e{ display:grid; grid-template-columns:minmax(0,150px) minmax(0,1fr); gap:var(--sp-3) var(--sp-4); align-items:start; }
@media (max-width:820px){ .fab-an-e{ grid-template-columns:1fr; gap:var(--sp-2); } }
.fab-an-e-t{ display:flex; align-items:center; gap:var(--sp-2); font-size:var(--fs-sm); font-weight:var(--fw-dato); }
.fab-an-e-p{ width:9px; height:9px; border-radius:50%; flex:none; background:var(--et); }
.fab-et--amasado{ --et:var(--etapa-amasado); --et-ink:var(--etapa-amasado-ink); }
.fab-et--horno{   --et:var(--etapa-horno);   --et-ink:var(--etapa-horno-ink); }
.fab-et--empaque{ --et:var(--etapa-empaque); --et-ink:var(--etapa-empaque-ink); }
.fab-an-e-t{ color:var(--et-ink); }
.fab-et-horno-tx{ color:var(--etapa-horno-ink); }
.fab-pap-cab{ display:flex; align-items:center; gap:var(--sp-4); flex-wrap:wrap; margin-bottom:var(--sp-4); }
.fab-pap-cab h3{ margin:0; font-size:var(--fs-xl); font-weight:var(--fw-fuerte); letter-spacing:-.01em; }
.fab-pap-elige{ margin-left:auto; display:flex; gap:var(--sp-1); background:var(--sf);
  border:1px solid var(--br); border-radius:999px; padding:4px; }
.fab-pap-elige button{ appearance:none; border:0; font:inherit; cursor:pointer; background:transparent;
  color:var(--tx-2); font-size:var(--fs-sm); font-weight:var(--fw-dato); padding:7px 16px;
  border-radius:999px; white-space:nowrap;
  transition:background var(--dur-fast,.16s) var(--ease-out), color var(--dur-fast,.16s) var(--ease-out); }
.fab-pap-elige button[aria-pressed="true"]{ background:var(--accent); color:#1a1400; }
.fab-pap-elige button:active{ transform:scale(.97); }
.fab-pap-turno{ display:flex; align-items:baseline; gap:var(--sp-3); margin:var(--sp-6) 0 var(--sp-3);
  padding-bottom:var(--sp-2); border-bottom:2px solid var(--br); }
.fab-pap-turno:first-of-type{ margin-top:0; }
.fab-pap-turno h4{ margin:0; font-size:var(--fs-lg); font-weight:var(--fw-fuerte); }
.fab-pap-cuenta{ font-size:var(--fs-sm); color:var(--tx-3); }
.fab-pap-tico{ color:var(--gold-ink); }
.fab-pap-pieza{ background:var(--sf); border:1px solid var(--br); border-radius:var(--radius); }
.fab-pap--ok{     border-color:color-mix(in srgb, var(--etapa-empaque) 45%, var(--br)); }
.fab-pap--marcha{ border-color:color-mix(in srgb, var(--etapa-horno) 50%, var(--br)); }
.fab-pap--inc{    border-color:color-mix(in srgb, var(--estado-urgente, #E63946) 45%, var(--br)); }
.fab-pap-pieza.abierta{ border-color:var(--accent); }
.fab-pap-rej .fab-pap-pieza.abierta{ grid-column:1 / -1; }
.fab-pap-n .fab-an-warn, .fab-pap-ca-n .fab-an-warn{ margin-left:6px; }
.fab-pap-toca{ appearance:none; border:0; background:transparent; color:inherit; font:inherit;
  width:100%; text-align:left; cursor:pointer; padding:var(--sp-4); }
.fab-pap-toca:active{ transform:scale(.995); }
.fab-pap-det{ padding:0 var(--sp-4) var(--sp-4); }
.fab-pap-det[hidden]{ display:none !important; }
.fab-pap-rej{ display:grid; grid-template-columns:repeat(auto-fill, minmax(268px,1fr)); gap:var(--sp-3); }
.fab-pap-pan .fab-pap-toca{ display:flex; flex-direction:column; gap:var(--sp-3); }
.fab-pap-cab2{ display:flex; align-items:flex-start; justify-content:space-between; gap:var(--sp-2); }
.fab-pap-n{ font-size:var(--fs-lg); font-weight:var(--fw-fuerte); line-height:1.15; letter-spacing:-.01em; min-width:0; }
.fab-pap-am{ font-size:var(--fs-2xl); font-weight:var(--fw-fuerte); font-variant-numeric:tabular-nums;
  line-height:1; white-space:nowrap; text-align:right; }
.fab-pap-am i{ font-style:normal; font-size:.5em; font-weight:var(--fw-dato); color:var(--tx-3); }
.fab-pap-am small{ display:block; font-size:var(--fs-2xs); font-weight:var(--fw-detalle);
  color:var(--tx-3); margin-top:3px; letter-spacing:.02em; }
.fab-pap-barra{ height:10px; border-radius:999px; background:var(--sf2); overflow:hidden; }
.fab-pap-barra i{ display:block; height:100%; border-radius:999px; background:var(--etapa-amasado); }
.fab-pap--ok .fab-pap-barra i{     background:var(--etapa-empaque); }
.fab-pap--marcha .fab-pap-barra i{ background:var(--etapa-horno); }
.fab-pap--inc .fab-pap-barra i{    background:var(--estado-urgente, #E63946); }
.fab-pap-pie{ display:flex; align-items:center; justify-content:space-between; gap:var(--sp-2);
  flex-wrap:wrap; padding-top:var(--sp-3); border-top:1px solid var(--br); }
.fab-pap-cif{ font-size:var(--fs-md); font-weight:var(--fw-fuerte); font-variant-numeric:tabular-nums;
  white-space:nowrap; margin-left:auto; }
.fab-pap-cif i{ font-style:normal; font-size:var(--fs-2xs); font-weight:var(--fw-detalle);
  color:var(--tx-3); margin-left:3px; }
.fab-pap-cif--sin{ color:var(--tx-3); font-weight:var(--fw-detalle); }
.fab-pap-est{ display:inline-flex; align-items:center; gap:7px; font-size:var(--fs-sm);
  font-weight:var(--fw-dato); white-space:nowrap; }
.fab-pap-est::before{ content:''; width:9px; height:9px; border-radius:50%; flex:none;
  background:var(--e, var(--tx-3)); }
.fab-pap-est--ok{     --e:var(--etapa-empaque); color:var(--etapa-empaque-ink); }
.fab-pap-est--marcha{ --e:var(--etapa-horno);   color:var(--etapa-horno-ink); }
.fab-pap-est--inc{    --e:var(--estado-urgente, #E63946); color:var(--estado-urgente-ink, #c0202c); }
.fab-pap-est--sin{    --e:var(--tx-3); color:var(--tx-3); }
.fab-pap-carriles{ display:flex; flex-direction:column; gap:var(--sp-2); }
.fab-pap-ca .fab-pap-toca{ display:grid; grid-template-columns:230px 96px minmax(0,1fr) 150px;
  align-items:center; gap:var(--sp-4); padding:var(--sp-3) var(--sp-4); }
.fab-pap-ca-n{ font-size:var(--fs-md); font-weight:var(--fw-fuerte); line-height:1.2; min-width:0; }
.fab-pap-ca-n span{ display:block; font-size:var(--fs-2xs); font-weight:var(--fw-detalle);
  color:var(--tx-3); margin-top:2px; }
.fab-pap-ca-am{ font-size:var(--fs-xl); font-weight:var(--fw-fuerte); font-variant-numeric:tabular-nums;
  text-align:right; white-space:nowrap; }
.fab-pap-ca-am i{ font-style:normal; font-size:.55em; font-weight:var(--fw-dato); color:var(--tx-3); }
.fab-pap-ca-am small{ display:block; font-size:var(--fs-2xs); font-weight:var(--fw-detalle);
  color:var(--tx-3); letter-spacing:.02em; }
.fab-pap-via{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); position:relative;
  min-height:52px; align-items:end; }
.fab-pap-via::before{ content:''; position:absolute; left:11%; right:11%; top:14px; height:4px;
  border-radius:2px; background:var(--sf2); }
.fab-pap-via-p{ position:relative; display:flex; flex-direction:column; align-items:center; gap:5px; }
.fab-pap-via-b{ width:30px; height:30px; border-radius:50%; background:var(--sf2); display:grid;
  place-items:center; font-size:12px; color:var(--tx-3); border:3px solid var(--sf); z-index:1; }
.fab-pap-via-p.on .fab-pap-via-b{ background:var(--c); color:#fff; }
.fab-pap-via-v{ font-size:var(--fs-base); font-weight:var(--fw-fuerte);
  font-variant-numeric:tabular-nums; line-height:1.1; }
.fab-pap-via-p.on .fab-pap-via-v{ color:var(--ci); }
.fab-pap-via-p.off .fab-pap-via-v{ color:var(--tx-3); font-weight:var(--fw-detalle); }
.fab-pap-via-r{ font-size:11px; color:var(--tx-3); letter-spacing:.03em; text-transform:uppercase;
  font-weight:var(--fw-dato); }
.fab-pap-via-p--am{ --c:var(--etapa-amasado); --ci:var(--etapa-amasado-ink); }
.fab-pap-via-p--ho{ --c:var(--etapa-horno);   --ci:var(--etapa-horno-ink); }
.fab-pap-via-p--cj{ --c:var(--etapa-empaque); --ci:var(--etapa-empaque-ink); }
.fab-pap-ca-fin{ text-align:right; }
.fab-pap-ca-fin .fab-pap-est{ justify-content:flex-end; width:100%; }
.fab-pap-perd{ display:block; margin-top:3px; font-size:var(--fs-2xs); font-weight:var(--fw-dato);
  color:var(--estado-urgente-ink, #c0202c); white-space:nowrap; }
.fab-pap-pend{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-2); background:var(--sf);
  border:1px dashed var(--br-fuerte, var(--br)); border-radius:var(--radius);
  padding:var(--sp-3) var(--sp-4); margin-top:var(--sp-2); }
.fab-pap-pend b{ font-size:var(--fs-sm); font-weight:var(--fw-fuerte); color:var(--tx-2); margin-right:var(--sp-1); }
.fab-pap-chip{ display:inline-flex; align-items:center; gap:6px; white-space:nowrap; background:var(--sf2);
  border-radius:999px; padding:5px 12px; font-size:var(--fs-sm); font-weight:var(--fw-dato); color:var(--tx-2); }
.fab-pap-chip i{ font-style:normal; font-weight:var(--fw-fuerte); color:var(--tx-3); font-variant-numeric:tabular-nums; }
@media (max-width:860px){
  .fab-pap-ca .fab-pap-toca{ grid-template-columns:minmax(0,1fr) 84px;
    grid-template-areas:'n a' 'v v' 'f f'; row-gap:var(--sp-3); }
  .fab-pap-ca-n{ grid-area:n; } .fab-pap-ca-am{ grid-area:a; }
  .fab-pap-via{ grid-area:v; } .fab-pap-ca-fin{ grid-area:f; text-align:left; }
  .fab-pap-ca-fin .fab-pap-est{ justify-content:flex-start; }
}
.fab-an-e-d{ display:grid; grid-template-columns:repeat(auto-fit, minmax(130px,1fr)); gap:var(--sp-2) var(--sp-4); }
.fab-an-d{ display:flex; align-items:baseline; justify-content:space-between; gap:var(--sp-2); min-width:0;
  border-bottom:1px solid var(--br); padding-bottom:2px; }
.fab-an-d span{ font-size:var(--fs-xs); color:var(--tx-2); }
.fab-an-d b{ font-size:var(--fs-sm); font-weight:var(--fw-dato); font-variant-numeric:tabular-nums; white-space:nowrap; }
.fab-an-h{ grid-column:2; display:flex; gap:var(--sp-1); flex-wrap:wrap; }
@media (max-width:820px){ .fab-an-h{ grid-column:1; } }
.fab-an-h-t{
  font-size:var(--fs-xs); font-weight:var(--fw-detalle); font-variant-numeric:tabular-nums;
  padding:1px var(--sp-2); border-radius:var(--radius-sm); background:var(--sf2); color:var(--tx-2);
}
.fab-an-ferm{ display:flex; align-items:flex-start; gap:var(--sp-2); font-size:var(--fs-sm);
  color:var(--tx-2); line-height:1.5; padding-top:var(--sp-2); border-top:1px solid var(--br); }
.fab-an-ferm i.fa-solid{ color:var(--tx-3); margin-top:2px; }
.fab-an-ferm b{ color:var(--tx-1); font-weight:var(--fw-dato); }
.fab-an-ferm--mal i.fa-solid{ color:var(--estado-ojo-ink); }
.fab-an-ferm-m{ display:block; color:var(--estado-ojo-ink); font-weight:var(--fw-detalle); }
.fab-ovejas{
  display:flex; flex-direction:column; gap:var(--sp-2);
  background:var(--sf2); border-radius:var(--radius); padding:var(--sp-3);
  margin-bottom:var(--sp-3);
}
.bx-par--recetas{ align-items:start; gap:var(--sp-3); }
.bx-par--recetas > .fab-masa{ margin-top:0; }
.fab-res{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  padding:var(--sp-1) 0 var(--sp-5); }
.fab-res > div{ text-align:center; padding:0 var(--sp-2); border-left:1px solid var(--br); }
.fab-res > div:first-child{ border-left:none; }
.fab-res b{ display:block; font-size:var(--fs-3xl); font-weight:var(--fw-black);
  font-variant-numeric:tabular-nums; line-height:1.05; letter-spacing:-.02em; }
.fab-res span{ display:block; font-size:var(--fs-base); color:var(--tx-2); margin-top:2px; }
.fab-res b.fab-res--ojo{ color:var(--estado-ojo-ink); }
.fab-res b.fab-res--mal{ color:var(--estado-urgente-ink); }
.fab-cierre{ padding:var(--sp-4) var(--sp-5) var(--sp-5); }
.fab-pie{ margin-top:var(--sp-4); padding-top:var(--sp-3); border-top:1px solid var(--br);
  font-size:var(--fs-sm); color:var(--tx-2); line-height:1.5; text-align:center; }
.fab-pie b{ color:var(--tx); font-weight:var(--fw-dato); }
.fab-nota-mal{ display:flex; gap:var(--sp-3); align-items:flex-start;
  margin-top:var(--sp-4); padding-top:var(--sp-4); border-top:1px solid var(--br);
  font-size:var(--fs-base); line-height:1.5; }
.fab-nota-mal i{ color:var(--estado-ojo-ink); font-size:var(--fs-lg); margin-top:2px; flex-shrink:0; }
.fab-nota-mal b{ color:var(--estado-ojo-ink); font-weight:var(--fw-dato); }
.fab-nota-mal span{ color:var(--tx-2); }
.fab-masa-n b.fab-rec-n{ font-weight:var(--fw-black); font-size:var(--fs-2xl);
  letter-spacing:-.015em; line-height:1.15; }
.fab-rec-pil{ display:inline-block; padding:1px 8px; border-radius:var(--radius-pill);
  font-size:var(--fs-sm); font-weight:var(--fw-dato); letter-spacing:.02em; }
.fab-rec-pil.fab-rec--potato{ background:var(--accent); color:var(--ink); }
.fab-rec-pil.fab-rec--supreme{ background:var(--blue-accent); color:#fff; }
.fab-rec-pt{ display:inline-block; width:7px; height:7px; border-radius:50%;
  margin-right:5px; vertical-align:baseline; flex:none; }
.fab-rec-pt.fab-rec--potato{ background:var(--accent); }
.fab-rec-pt.fab-rec--supreme{ background:var(--blue-accent); }
.fab-f-modo{ display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3);
  flex-wrap:wrap; margin-bottom:var(--sp-4); }
.fab-f-modo > span{ font-size:var(--fs-sm); color:var(--tx-2); }
.fab-f-modo.on > span{ color:var(--tx); }
.fab-c input[readonly]{ background:none; border-color:transparent; cursor:default;
  padding-left:0; font-weight:var(--fw-dato); }
.fab-c input[readonly]:focus-visible{ outline:2px solid var(--azul-apple); outline-offset:2px; }
.fab-rec--potato > .bx-desp-cab,
.fab-rec--supreme > .bx-desp-cab{ border-radius: var(--radius); border: 1.5px solid var(--br-2); }   
.fab-rec--potato.abierta > .bx-desp-cab,
.fab-rec--supreme.abierta > .bx-desp-cab{ border-radius: var(--radius) var(--radius) 0 0; }
.fab-rec--potato > .bx-desp-cab{ background:color-mix(in srgb, var(--accent) 16%, var(--sf)); }
.fab-rec--supreme > .bx-desp-cab{ background:color-mix(in srgb, var(--blue-accent) 13%, var(--sf)); }
.fab-rec--potato > .bx-desp-cab .fab-rec-n{ color:var(--gold-ink); }
.fab-rec--supreme > .bx-desp-cab .fab-rec-n{ color:var(--blue-accent); }
[data-theme="dark"] .fab-rec--potato > .bx-desp-cab .fab-rec-n{ color:var(--accent); }
.fab-rec--potato > .bx-desp-cab .fab-masa-b b,
.fab-rec--supreme > .bx-desp-cab .fab-masa-b b{ color:var(--tx); }
.fab-rec--potato > .bx-desp-cab:hover{ background:color-mix(in srgb, var(--accent) 24%, var(--sf)); }
.fab-rec--supreme > .bx-desp-cab:hover{ background:color-mix(in srgb, var(--blue-accent) 20%, var(--sf)); }
@media (max-width:640px){
  .fab-res{ grid-template-columns:1fr 1fr; row-gap:var(--sp-4); }
  .fab-res > div:nth-child(3){ grid-column:1 / -1; border-left:none; }
  .fab-res > div:nth-child(odd){ border-left:none; }
}
.fab-f-grupo{ margin-bottom:var(--sp-5); }
.fab-f-grupo h4{ font-size:var(--fs-lg); font-weight:var(--fw-dato); margin:0 0 var(--sp-3);
  letter-spacing:-.01em; }
.fab-c{ display:flex; flex-direction:column; gap:6px; min-width:0; cursor:text; }
.fab-c > span{ font-size:var(--fs-base); color:var(--tx-2); min-width:0; }
.fab-c-v{
  display:flex; align-items:baseline; gap:5px; min-width:0;
  background:color-mix(in srgb, var(--sf2) 45%, var(--sf)); border:1.5px solid var(--br-2);
  border-radius:var(--radius-sm); padding:var(--sp-3) var(--sp-4);
  transition:border-color 160ms var(--ease-out), background-color 160ms var(--ease-out);
}
.fab-c:focus-within .fab-c-v{ border-color:var(--accent); background:var(--sf); }
.fab-c input{
  border:none; background:transparent; padding:0; margin:0;
  width:auto; min-width:1.5ch; field-sizing:content;
  font-family:inherit; font-size:var(--fs-xl); font-weight:var(--fw-dato);
  font-variant-numeric:tabular-nums; color:var(--tx-1); line-height:1.2;
}
@supports not (field-sizing: content){
  .fab-c input{ width:3.5ch; }
  .fab-c input[value$="00"], .fab-c input[value^="1"]{ width:4ch; }
}
.fab-c input:focus{ outline:none; }
.fab-c input::-webkit-outer-spin-button,
.fab-c input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.fab-c i{ font-style:normal; font-size:var(--fs-lg); color:var(--tx-2); }
.fab-c input.fab-f-mal{ color:var(--estado-ojo-ink); }
.fab-det{ display:flex; flex-direction:column; gap:var(--sp-3); }
.fab-det-ctx{ font-size:var(--fs-xs); color:var(--tx-3); }
.fab-det-ctx b{ font-weight:var(--fw-dato); color:var(--tx-2);
  font-variant-numeric:tabular-nums; letter-spacing:.02em; }
.fab-det .fab-f-nota{ margin:0; }
.fab-ed{ border-top:1px solid var(--br); padding-top:var(--sp-4); }
.fab-ed-h{ display:flex; align-items:baseline; gap:var(--sp-3); flex-wrap:wrap;
  font-size:var(--fs-base); font-weight:var(--fw-dato); color:var(--tx-1);
  margin-bottom:var(--sp-3); }
.fab-ed-h span{ font-size:var(--fs-xs); font-weight:var(--fw-body); color:var(--tx-3); }
.fab-ed-campos{ display:grid; grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:var(--sp-3); min-width:0; }
.fab-ed-campos > .fab-c{ min-width:0; background:var(--sf); }
@media (max-width:820px){ .fab-ed-campos{ grid-template-columns:repeat(2, minmax(0, 1fr)); } }
@media (max-width:520px){ .fab-ed-campos{ grid-template-columns:minmax(0, 1fr); } }
.fab-c input.fab-ed-i{ width:100%; min-width:0; field-sizing:normal;
  font-size:var(--fs-base); font-weight:var(--fw-medium); }
@supports not (field-sizing: content){ .fab-c input.fab-ed-i{ width:100%; } }
.fab-c input.fab-ed-i::placeholder{ color:var(--tx-3); font-weight:var(--fw-body); }
.fab-ed-pie{ display:flex; align-items:center; gap:var(--sp-3); margin-top:var(--sp-3);
  flex-wrap:wrap; }
.fab-ed-msg{ font-size:var(--fs-sm); color:var(--tx-2); }
.fab-ed-msg--mal{ color:var(--estado-urgente-ink); font-weight:var(--fw-detalle); }
.fab-c-org{ font-size:var(--fs-xs); color:var(--tx-3); }
.fab-f-nota{ font-size:var(--fs-md); color:var(--tx-2); margin:var(--sp-3) 0 0; line-height:1.55; }
.fab-f-nota b{ color:var(--tx-1); font-weight:var(--fw-dato); }
.fab-f-pie{ display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3);
  flex-wrap:wrap; margin-top:var(--sp-4); padding-top:var(--sp-4); border-top:1px solid var(--br); }
.fab-f-pie span{ font-size:var(--fs-base); color:var(--tx-3); }
.fab-r-pct{ font-style:normal; font-size:var(--fs-base); color:var(--tx-3);
  font-variant-numeric:tabular-nums; margin-left:auto; }
.fab-r-tocado input{ color:var(--accent-deep); font-weight:var(--fw-fuerte); }
.fab-r-tocado .fab-rc-n{ display:flex; flex-direction:column; gap:2px; }
.fab-r-tocado .fab-rc-n::after{ content:'cambiado'; color:var(--accent-deep);
  font-weight:var(--fw-detalle); font-size:var(--fs-xs); line-height:1.2; white-space:nowrap; }
.fab-md{ display:flex; flex-direction:column; gap:var(--sp-4);
  background:var(--sf); border:1px solid var(--br); border-radius:var(--radius); padding:var(--sp-5); }
.fab-md-head{ display:flex; align-items:center; gap:var(--sp-3); flex-wrap:wrap; }
.fab-md-id{ font-size:var(--fs-sm); color:var(--tx-3); font-weight:var(--fw-medium); }
.fab-md-id b{ color:var(--tx-2); font-weight:var(--fw-dato); letter-spacing:.02em; }
.fab-md-pill{ display:inline-flex; align-items:center; gap:7px; font-size:var(--fs-sm);
  font-weight:var(--fw-dato); padding:5px 11px; border-radius:999px; background:var(--sf2); }
.fab-md-pill--urg{ color:var(--estado-urgente-ink); }
.fab-md-pill--urg i{ width:8px; height:8px; border-radius:50%; background:var(--estado-urgente); }
.fab-md-pill--ojo{ color:var(--estado-ojo-ink); }
.fab-md-pill--ojo i{ width:8px; height:8px; border-radius:50%; background:var(--estado-ojo); }
.fab-md-nota{ display:flex; gap:var(--sp-3); align-items:flex-start; background:var(--sf2);
  border-radius:var(--radius-sm); padding:13px 16px; font-size:var(--fs-md); color:var(--tx-2); line-height:1.5; }
.fab-md-nota > i{ color:var(--tx-3); margin-top:3px; flex:0 0 auto; }
.fab-md-nota--ok > i{ color:var(--estado-bien-ink); }
.fab-md-nota b{ color:var(--tx-1); font-weight:var(--fw-dato); }
.fab-md-cuadrar{ background:var(--sf2); border-radius:var(--radius); padding:18px;
  display:flex; flex-direction:column; gap:var(--sp-4); }
.fab-md-cuadrar-t{ display:flex; align-items:center; gap:var(--sp-3); }
.fab-md-cuadrar-ic{ width:44px; height:44px; border-radius:12px; display:grid; place-items:center; flex:0 0 auto;
  font-size:var(--fs-lg); background:color-mix(in srgb, var(--estado-urgente) 15%, var(--sf)); color:var(--estado-urgente-ink); }
.fab-md-cuadrar-h{ font-size:var(--fs-lg); font-weight:var(--fw-fuerte); }
.fab-md-cuadrar-s{ font-size:var(--fs-sm); color:var(--tx-2); margin-top:1px; line-height:1.45; }
.fab-md-cuadrar-s b{ color:var(--tx-1); font-weight:var(--fw-dato); }
.fab-md-cuadrar-row{ display:grid; grid-template-columns:220px 1fr; gap:var(--sp-4); align-items:end; }
@media (max-width:640px){ .fab-md-cuadrar-row{ grid-template-columns:minmax(0,1fr); } }
.fab-md-field{ display:flex; flex-direction:column; gap:7px; min-width:0; }
.fab-md-field > span{ font-size:var(--fs-sm); font-weight:var(--fw-dato); color:var(--tx-2); }
.fab-md-in{ appearance:none; -webkit-appearance:none; width:100%; min-width:0; font-family:inherit;
  font-size:var(--fs-md); font-weight:var(--fw-medium); color:var(--tx-1); background:var(--sf);
  border:1.5px solid var(--br-2); border-radius:var(--radius-sm); padding:12px 14px;
  transition:border-color .16s cubic-bezier(.23,1,.32,1), box-shadow .16s cubic-bezier(.23,1,.32,1); }
.fab-md-in::placeholder{ color:var(--tx-3); font-weight:var(--fw-body); }
.fab-md-in:focus{ outline:none; border-color:var(--azul-apple);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--azul-apple) 22%, transparent); }
.fab-md-in--big{ font-size:var(--fs-2xl); font-weight:var(--fw-fuerte); padding:14px 16px; font-variant-numeric:tabular-nums; }
.fab-md-inu{ position:relative; display:flex; align-items:center; }
.fab-md-inu .fab-md-u{ position:absolute; right:14px; font-size:var(--fs-md); color:var(--tx-3);
  font-weight:var(--fw-dato); pointer-events:none; }
.fab-md-u-in{ font-style:normal; color:var(--tx-3); font-size:var(--fs-xs); font-weight:var(--fw-body); }
.fab-md-guardar{ align-self:flex-start; }
.fab-md-sec-h{ display:flex; align-items:center; gap:9px; font-size:var(--fs-xs); font-weight:var(--fw-dato);
  letter-spacing:.03em; text-transform:uppercase; color:var(--tx-3); margin-bottom:var(--sp-3); }
.fab-md-sec-h > i{ color:var(--tx-3); }
.fab-md-ficha-campos{ display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:var(--sp-3); min-width:0; }
@media (max-width:820px){ .fab-md-ficha-campos{ grid-template-columns:repeat(2, minmax(0, 1fr)); } }
@media (max-width:520px){ .fab-md-ficha-campos{ grid-template-columns:minmax(0, 1fr); } }
.fab-md-src{ font-size:var(--fs-xs); color:var(--tx-3); }
.fab-md-scan{ position:relative; display:flex; align-items:center; }
.fab-md-scan .fab-md-in{ padding-right:42px; }
.fab-md-scan-ic{ position:absolute; right:12px; color:var(--tx-3); pointer-events:none; display:grid; place-items:center; }
.fab-md-ficha-pie{ display:flex; align-items:center; gap:var(--sp-3); margin-top:var(--sp-4); flex-wrap:wrap; }
.bx-vistas {
  --bxv-oreja: 9px;                               
  --bxv-lam: #1b1b1f;
  --bxv-lam-tx: #ffffff;
  --bxv-carril: color-mix(in srgb, #000 8%, var(--bg));
  display: flex;
  align-items: flex-end;                          
  gap: 0;
  width: 100%;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin-bottom: var(--sp-5);
  font-family: var(--font);
}
.bx-vistas-pista {
  position: relative;
  display: flex;
  align-items: flex-end;
  gap: 2px;
  flex: 0 1 auto;
  min-width: 0;
  background: var(--bxv-carril);
  border-bottom: 1px solid var(--br);             
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
  overflow: visible;
}
.bx-vistas-ind {
  position: absolute;
  bottom: -1px; left: 0;
  height: calc(100% + 1px);
  width: 0;
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
  background: var(--bxv-lam);
  box-shadow: 0 -1px 2px rgba(17, 17, 17, .05);
  pointer-events: none;
  transition: transform .3s var(--ease-out), width .3s var(--ease-out), opacity var(--dur-fast) var(--ease-out);
}
.bx-vistas-ind::before,
.bx-vistas-ind::after {
  content: '';
  position: absolute;
  bottom: 0;
  width: var(--bxv-oreja);
  height: var(--bxv-oreja);
  pointer-events: none;
}
.bx-vistas-ind::before {
  left: calc(var(--bxv-oreja) * -1);
  background: radial-gradient(circle at top left,
    transparent calc(var(--bxv-oreja) - .5px), var(--bxv-lam) var(--bxv-oreja));
}
.bx-vistas-ind::after {
  right: calc(var(--bxv-oreja) * -1);
  background: radial-gradient(circle at top right,
    transparent calc(var(--bxv-oreja) - .5px), var(--bxv-lam) var(--bxv-oreja));
}
.bx-vistas--al-inicio .bx-vistas-ind::before { display: none; }
.bx-vistas--al-final .bx-vistas-ind::after { display: none; }
.bx-vistas--al-inicio .bx-vistas-ind { border-bottom-left-radius: var(--radius-sm); }
.bx-vistas--al-final .bx-vistas-ind { border-bottom-right-radius: var(--radius-sm); }
.bx-vista {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px var(--sp-5) 10px;
  border: 0;
  background: transparent;
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
  font-family: var(--font);
  font-size: var(--fs-md);
  font-weight: var(--fw-detalle);
  color: var(--tx-2);
  white-space: nowrap;
  cursor: pointer;
  transition: color .22s var(--ease-out), background var(--dur-fast) var(--ease-out);
}
.bx-vista i {
  font-size: var(--fs-base);
  color: var(--tx-3);
  transition: color .22s var(--ease-out);
}
.bx-vista:hover   { color: var(--tx); background: color-mix(in srgb, var(--sf) 55%, transparent); }
.bx-vista.on,
.bx-vista.on:hover { color: var(--bxv-lam-tx); background: transparent; font-weight: var(--fw-dato); }
.bx-vista.on i    { color: var(--accent); }
.bx-vista:active {
  transform: scale(.98);
  transform-origin: bottom center;
  transition: transform var(--dur-press) var(--ease-out);
}
.bx-vista:focus-visible { outline: 2px solid var(--accent); outline-offset: -3px; }
.bx-vista-punto {
  display: inline-block;   
  width: 7px; height: 7px;
  border-radius: var(--radius-pill);
  flex-shrink: 0;
  box-shadow: 0 0 0 2px var(--bg);    
}
.bx-vista.on .bx-vista-punto { box-shadow: 0 0 0 2px var(--bxv-lam); }   
.bx-vista-punto.ojo     { background: var(--estado-ojo); }
.bx-vista-punto.urgente { background: var(--estado-urgente); }
.bx-vista-punto.bien    { background: var(--estado-bien); }
.bx-vistas-mas-wrap { position: relative; flex-shrink: 0; }
.bx-vistas-mas {
  display: none;                                  
  align-items: center;
  justify-content: center;
  width: 38px; height: 38px;
  border: 0;
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
  background: transparent;
  color: var(--tx-2);
  font-size: var(--fs-lg);
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}
.bx-vistas-mas:hover { color: var(--tx); background: color-mix(in srgb, var(--sf) 55%, transparent); }
.bx-vistas-mas:focus-visible { outline: 2px solid var(--accent); outline-offset: -3px; }
.bx-vistas-mas.on { background: var(--bxv-lam); color: var(--bxv-lam-tx); }
.bx-vistas-menu {
  display: none;
  position: absolute;
  top: calc(100% + var(--sp-2));
  right: 0;
  min-width: 240px;
  background: var(--sf);
  border: 1px solid var(--br);
  border-radius: var(--radius);
  box-shadow: var(--shadow-lg);
  padding: var(--sp-1);
  z-index: 300;
}
.bx-vistas-menu.abierto { display: block; animation: bx-vistas-menu-in var(--dur-fast) var(--ease-out); }
@keyframes bx-vistas-menu-in { from { opacity: 0; transform: translateY(-4px) scale(.98); } to { opacity: 1; transform: none; } }
.bx-vistas-menu-it {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  width: 100%;
  padding: var(--sp-2) var(--sp-3);
  border: 0;
  border-radius: var(--radius-xs);
  background: transparent;
  text-align: left;
  font-family: var(--font);
  font-size: var(--fs-md);
  font-weight: var(--fw-detalle);
  color: var(--tx);
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease-out);
}
.bx-vistas-menu-it:hover { background: var(--sf3); }
.bx-vistas-menu-it:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.bx-vistas-menu-it i { width: 16px; font-size: var(--fs-base); color: var(--tx-3); text-align: center; flex-shrink: 0; }
.bx-vistas-menu-it.on { color: var(--gold-ink); font-weight: var(--fw-dato); }
.bx-vistas-menu-it.on i { color: var(--gold-ink); }
.bx-vistas-menu-it .bx-vista-punto { margin-left: auto; box-shadow: none; }
.bx-vistas-meta {
  flex: 0 1000 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 0 var(--sp-2) 11px 0;    
  text-align: right;
  white-space: nowrap;
  font-size: var(--fs-base);
  font-weight: var(--fw-detalle);
  color: var(--tx-3);
}
.bx-vistas-cuerpo { animation: bx-vistas-entra .24s var(--ease-out); }
.bx-foto-vieja { position: absolute; pointer-events: none; z-index: 50; overflow: hidden; opacity: 1; transition: opacity .24s var(--ease-out); will-change: opacity; }
.bx-foto-vieja--fuera { opacity: 0; }
@keyframes bx-vistas-entra { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
[data-theme="dark"] .bx-vistas-ind { box-shadow: 0 -1px 10px rgba(0, 0, 0, .55); }
@media (max-width: 768px) {
  .bx-vistas-pista { overflow-x: auto; scrollbar-width: none; }
  .bx-vistas-pista::-webkit-scrollbar { display: none; }
  .bx-vistas-ind::before, .bx-vistas-ind::after { display: none; }
  .bx-vista { min-height: 44px; flex-shrink: 0; }
  .bx-vistas-mas { width: 44px; height: 44px; }
  .bx-vistas-meta { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .bx-vistas-ind { transition: none; }
  .bx-vistas-cuerpo, .bx-vistas-menu.abierto { animation: none; }
  .bx-foto-vieja { display: none; }
}
.bx-vistas--oro {
  background: var(--sf2);
  border-color: var(--br);
  padding: var(--sp-1);
  box-shadow: none;
}
.bx-vistas--oro .bx-vistas-pista { gap: 2px; }
.bx-vistas--oro .bx-vistas-ind {
  background: var(--accent);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .45), 0 1px 2px rgba(0, 0, 0, .10);
}
.bx-vistas--oro .bx-vista { gap: var(--sp-2); padding: var(--sp-2) var(--sp-5); }
.bx-vistas--oro .bx-vista i { color: inherit; opacity: .9; }
.bx-vistas--oro .bx-vista.on   { color: var(--ink); }
.bx-vistas--oro .bx-vista.on i { color: inherit; }
.bx-vistas--oro .bx-vista-punto { box-shadow: 0 0 0 2px var(--sf2); }
.bx-vistas--oro .bx-vista.on .bx-vista-punto { box-shadow: 0 0 0 2px var(--accent); }
.bx-vistas--oro .bx-vistas-mas { background: transparent; }
.bx-vistas--oro .bx-vistas-mas:hover { background: color-mix(in srgb, var(--tx) 6%, transparent); }
.bx-vistas--oro .bx-vistas-mas.on { background: var(--bxv-lam); color: var(--bxv-lam-tx); }
[data-theme="dark"] .bx-vistas--oro .bx-vistas-ind {
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 72%, #fff), var(--accent));
  box-shadow: 0 2px 12px rgba(0, 0, 0, .45);
}
[data-theme="dark"] .bx-vistas--oro .bx-vista.on { color: #0a0a0c; }
[data-theme="dark"] .bx-vistas--oro .bx-vista.on i { color: inherit; }
[data-theme="dark"] .bx-vistas--oro .bx-vistas-mas.on { color: #0a0a0c; }
.bx-vistas--tinta {
  background: linear-gradient(180deg, #141416 0%, #0d0d0f 100%);
  border-color: rgba(255, 255, 255, .08);
  padding: 6px;
  box-shadow: 0 10px 30px rgba(17, 17, 17, .16), 0 2px 6px rgba(17, 17, 17, .10);
}
.bx-vistas--tinta .bx-vistas-ind { background: #ffffff; box-shadow: 0 2px 10px rgba(0, 0, 0, .35); }
.bx-vistas--tinta .bx-vista { padding: 7px var(--sp-4) 7px 7px; color: var(--tx-inv); }
.bx-vistas--tinta .bx-vista:hover { color: #ffffff; }
.bx-vistas--tinta .bx-vista.on { color: var(--ink); }
.bx-vistas--tinta .bx-vista i {
  display: inline-flex; align-items: center; justify-content: center;
  width: 26px; height: 26px; flex-shrink: 0;
  border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, .08);
  color: var(--tx-inv-2);
  font-size: var(--fs-sm);
  transition: background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}
.bx-vistas--tinta .bx-vista.on i { background: var(--accent); color: var(--ink); }
.bx-vistas--tinta .bx-vista-punto { box-shadow: 0 0 0 2px #141416; }
.bx-vistas--tinta .bx-vista.on .bx-vista-punto { box-shadow: 0 0 0 2px #ffffff; }
.bx-vistas--tinta .bx-vistas-mas { background: rgba(255, 255, 255, .08); color: var(--tx-inv); }
.bx-vistas--tinta .bx-vistas-mas:hover { color: #ffffff; background: rgba(255, 255, 255, .14); }
.bx-vistas--tinta .bx-vistas-mas.on { background: #ffffff; color: var(--ink); }
.bx-vistas--tinta .bx-vistas-meta { color: var(--tx-inv-2); }
.bx-vistas--tinta .bx-vistas-menu { background: #141416; border-color: rgba(255, 255, 255, .10); box-shadow: 0 16px 48px rgba(0, 0, 0, .45); }
.bx-vistas--tinta .bx-vistas-menu-it { color: rgba(249, 249, 249, .86); }
.bx-vistas--tinta .bx-vistas-menu-it:hover { background: rgba(255, 255, 255, .07); }
.bx-vistas--tinta .bx-vistas-menu-it i { background: none; width: 16px; height: auto; color: rgba(249, 249, 249, .45); }
.bx-vistas--tinta .bx-vistas-menu-it.on, .bx-vistas--tinta .bx-vistas-menu-it.on i { color: var(--accent); }
[data-theme="dark"] .bx-vistas--tinta { background: linear-gradient(180deg, #141416 0%, #0d0d0f 100%); box-shadow: 0 10px 30px rgba(0, 0, 0, .5); }
[data-theme="dark"] .bx-vistas--tinta .bx-vistas-ind { background: #ffffff; }
[data-theme="dark"] .bx-vistas--tinta .bx-vista.on { color: var(--ink); }
[data-theme="dark"] .bx-vistas--tinta .bx-vista.on i { background: var(--accent); color: var(--ink); }
[data-theme="dark"] .bx-vistas--tinta .bx-vistas-mas.on { background: #ffffff; color: var(--ink); }
#cm-topscope .bx-vistas{
  padding: 0; margin: 0;
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: var(--radius-pill);
  box-shadow: none;
}
#cm-topscope .bx-vistas-pista{
  align-items: center;
  gap: var(--sp-1);
  background: transparent;
  border-bottom: 0;
  border-radius: var(--radius-pill);
  padding-right: 0;
}
#cm-topscope .bx-vistas-ind{
  top: 0; bottom: auto; height: 100%;
  border-radius: var(--radius-pill);
  background: var(--ink);
  box-shadow: none;
}
#cm-topscope .bx-vistas-ind::before,
#cm-topscope .bx-vistas-ind::after{ display: none; }   
#cm-topscope .bx-vista{ padding: 7px var(--sp-4); border-radius: var(--radius-pill); }
#cm-topscope .bx-vista:hover{ background: transparent; }
#cm-topscope .bx-vista.on, #cm-topscope .bx-vista.on:hover{ color: #ffffff; }
#cm-topscope .bx-vista.on i, #cm-topscope .bx-vista.on:hover i { color: inherit; }
[data-theme="dark"] #cm-topscope .bx-vistas-ind{ background: #f4f4f6; box-shadow: none; }
[data-theme="dark"] #cm-topscope .bx-vista.on,
[data-theme="dark"] #cm-topscope .bx-vista.on:hover{ color: #0a0a0c; }
[data-theme="dark"] #cm-topscope .bx-vista.on i{ color: color-mix(in srgb, var(--accent) 60%, #000); }
#cm-topscope .bx-vista.on .bx-vista-punto{ box-shadow: 0 0 0 2px var(--ink); }
#cm-topscope .bx-vistas-meta,
#cm-topscope .bx-vistas-mas-wrap{ display:none; }
.fab-cad-sw{ display:flex; flex-wrap:wrap; gap:var(--sp-2); margin-bottom:var(--sp-6); }   
.fab-sw{
  display:inline-flex; align-items:center; gap:7px;
  padding:5px 12px 5px 7px; border:1px solid var(--br-2); border-radius:var(--radius-pill);
  background:var(--sf); color:var(--tx-3); cursor:pointer;
  font-family:var(--font); font-size:var(--fs-sm); font-weight:var(--fw-detalle);
  transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);
}
.fab-sw i{
  width:26px; height:15px; border-radius:var(--radius-pill); background:var(--sf3);
  position:relative; flex-shrink:0; transition:background var(--dur-fast) var(--ease-out);
}
.fab-sw i::after{
  content:''; position:absolute; top:2px; left:2px; width:11px; height:11px;
  border-radius:var(--radius-pill); background:var(--sf);
  box-shadow:0 1px 2px rgba(17,17,17,.25);
  transition:transform .2s cubic-bezier(.32,.08,.24,1);
}
.fab-sw.on{ color:var(--tx); border-color:var(--br-2); }
.fab-sw.on i{ background:var(--accent); }
.fab-sw.on i::after{ transform:translateX(11px); }
.fab-sw:active{ transform:scale(.97); transition:transform var(--dur-press) var(--ease-out); }
.fab-sw:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
.fab-cad-lay{ display:inline-flex; margin-left:auto; padding:2px; gap:2px;
  border:1px solid var(--br-2); border-radius:var(--radius-pill); background:var(--sf2); }
.fab-lay{
  display:inline-flex; align-items:center; gap:6px; cursor:pointer;
  padding:5px 12px; border:0; border-radius:var(--radius-pill); background:transparent;
  color:var(--tx-3); font-family:var(--font); font-size:var(--fs-sm); font-weight:var(--fw-detalle);
  transition:color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);
}
.fab-lay i{ font-size:var(--fs-sm); color:inherit; }
.fab-lay.on{ background:var(--sf); color:var(--tx); box-shadow:0 1px 2px rgba(60,60,60,.12); }
.fab-lay:active{ transform:scale(.97); transition:transform var(--dur-press) var(--ease-out); }
.fab-lay:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
@media (max-width:640px){ .fab-cad-lay{ margin-left:0; } }
.fab-fab{ margin-top:var(--sp-6); }
.fab-fab-h{ display:flex; align-items:center; gap:9px; font-size:var(--fs-sm);
  font-weight:var(--fw-fuerte); letter-spacing:.04em; text-transform:uppercase; color:var(--tx-2);
  margin-bottom:var(--sp-3); }
.fab-fab-bar{ width:4px; height:16px; border-radius:2px; background:var(--accent); }
.fab-fab-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:var(--sp-4); align-items:start; }
.fab-fab-col{ background:var(--sf); border:1px solid var(--br); border-radius:14px; overflow:hidden; }
.fab-fab-cab{ display:flex; align-items:center; gap:9px; padding:var(--sp-3) var(--sp-4);
  border-bottom:1px solid var(--br); }
.fab-fab-cab > b{ font-size:var(--fs-lg); font-weight:var(--fw-detalle); letter-spacing:-.01em; }
.fab-fab-nota{ margin-left:auto; font-size:var(--fs-xs); color:var(--tx-3); font-variant-numeric:tabular-nums; }
.fab-fab-pt{ width:10px; height:10px; border-radius:50%; flex:none; background:var(--tx-3); }
.fab-fab-col--horno .fab-fab-pt{ background:#3b82f6; }
.fab-fab-col--empaq .fab-fab-pt{ background:var(--hecho, #2f8f4e); }
.fab-fab-col--amasa .fab-fab-pt{ background:var(--accent); }
.fab-fab-tot{ margin-left:auto; font-size:var(--fs-sm); font-weight:var(--fw-dato);
  font-variant-numeric:tabular-nums; color:var(--tx-2);
  background:var(--sf2); border-radius:var(--radius-pill); padding:2px 12px; }
.fab-fab-zona{ padding-bottom:var(--sp-2); }
.fab-fab-zona + .fab-fab-zona{ margin-top:var(--sp-3); padding-top:var(--sp-3); border-top:1px solid var(--br); }
.fab-fab-zt{ display:flex; align-items:baseline; justify-content:space-between; gap:var(--sp-2);
  padding:var(--sp-2) var(--sp-3) 4px; font-size:var(--fs-xs); font-weight:var(--fw-fuerte);
  letter-spacing:.05em; text-transform:uppercase; }
.fab-fab-zt > span{ color:var(--tx-3); }
.fab-fab-zt > b{ font-variant-numeric:tabular-nums; font-weight:var(--fw-dato); }
.fab-fab-zona--hago .fab-fab-zt,
.fab-fab-zona--hago .fab-fab-zt > span{ color:var(--fab-marcha-ink,#a35714); }
.fab-fab-zona--hecho .fab-fab-zt,
.fab-fab-zona--hecho .fab-fab-zt > span{ color:var(--fab-hecho-ink,#1f6e3a); }
.fab-fab-zona--falta .fab-fab-zt,
.fab-fab-zona--falta .fab-fab-zt > span{ color:var(--fab-falta-ink,#b23b3b); }
.fab-fab-zona--hago .fab-fab-it{ background:color-mix(in srgb, #e8853a 14%, var(--sf2)); }
.fab-fab-zona--hecho .fab-fab-it{ background:color-mix(in srgb, #2f8f4e 13%, var(--sf2)); }
.fab-hoy{ margin-top:var(--sp-4); background:var(--sf); border:1px solid var(--br);
  border-radius:14px; overflow:hidden; }
.fab-hoy-t{ display:flex; align-items:baseline; justify-content:space-between; gap:var(--sp-2);
  padding:var(--sp-3) var(--sp-3) 4px; font-size:var(--fs-xs); font-weight:var(--fw-fuerte);
  letter-spacing:.05em; text-transform:uppercase; color:var(--fab-hecho-ink,#1f6e3a); }
.fab-hoy-t > b{ font-variant-numeric:tabular-nums; font-weight:var(--fw-dato); }
.fab-hoy-grid{ padding:var(--sp-2); display:grid; gap:var(--sp-2);
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); align-items:start; }
.fab-hoy-grid .fab-fab-it{ background:color-mix(in srgb, #2f8f4e 13%, var(--sf2)); }
.fab-fab-zona--falta .fab-fab-it{ background:color-mix(in srgb, #d64545 13%, var(--sf2)); }
.fab-fab-zona--hago .fab-fab-it-top > b, .fab-fab-zona--hago .fab-fab-n{ color:var(--fab-marcha-ink,#a35714); }
.fab-fab-zona--hecho .fab-fab-it-top > b, .fab-fab-zona--hecho .fab-fab-n{ color:var(--fab-hecho-ink,#1f6e3a); }
.fab-fab-zona--falta .fab-fab-it-top > b, .fab-fab-zona--falta .fab-fab-n{ color:var(--fab-falta-ink,#b23b3b); }
[data-theme=dark] .fab-fab-zona--hago .fab-fab-it{ background:color-mix(in srgb, #e8853a 22%, var(--sf2)); }
[data-theme=dark] .fab-fab-zona--hecho .fab-fab-it{ background:color-mix(in srgb, #35c46a 20%, var(--sf2)); }
[data-theme=dark] .fab-fab-zona--falta .fab-fab-it{ background:color-mix(in srgb, #e05a5a 22%, var(--sf2)); }
[data-theme=dark] .fab-fab-zona--hago .fab-fab-zt,
[data-theme=dark] .fab-fab-zona--hago .fab-fab-zt > span,
[data-theme=dark] .fab-fab-zona--hago .fab-fab-it-top > b, [data-theme=dark] .fab-fab-zona--hago .fab-fab-n{ color:#f0a04b; }
[data-theme=dark] .fab-fab-zona--hecho .fab-fab-zt,
[data-theme=dark] .fab-fab-zona--hecho .fab-fab-zt > span,
[data-theme=dark] .fab-fab-zona--hecho .fab-fab-it-top > b, [data-theme=dark] .fab-fab-zona--hecho .fab-fab-n{ color:#6ee7a0; }
[data-theme=dark] .fab-fab-zona--falta .fab-fab-zt,
[data-theme=dark] .fab-fab-zona--falta .fab-fab-zt > span,
[data-theme=dark] .fab-fab-zona--falta .fab-fab-it-top > b, [data-theme=dark] .fab-fab-zona--falta .fab-fab-n{ color:#f08a8a; }
.fab-fab-body{ padding:var(--sp-2); display:flex; flex-direction:column; gap:var(--sp-2); }
.fab-fab-it{ padding:var(--sp-3) var(--sp-3); border-radius:10px; background:var(--sf2); border:1.5px solid var(--br-2); }
.fab-fab-it--vivo{ box-shadow: inset 0 0 0 2px var(--accent); }
.fab-fab-vivo{ display:inline-block; width:10px; height:10px; border-radius:50%; background:var(--accent); margin-right:6px; vertical-align:middle; animation: fab-vivo 1.4s ease-in-out infinite; }
.fab-fab-ahora{ margin-left:6px; font-size:var(--fs-xs); font-weight:var(--fw-dato); color:var(--gold-ink); text-transform:uppercase; letter-spacing:.06em; }
@keyframes fab-vivo{ 0%,100%{ opacity:1 } 50%{ opacity:.2 } }
@media (prefers-reduced-motion: reduce){ .fab-fab-vivo{ animation:none } }
.fab-fab-it-top{ display:flex; align-items:baseline; justify-content:space-between; gap:var(--sp-2); }
.fab-fab-it-top > b{ font-size:var(--fs-base); font-weight:var(--fw-dato); font-variant-numeric:tabular-nums; }
.fab-fab-it-top > b span{ font-size:var(--fs-xs); font-weight:var(--fw-medium); color:var(--tx-3); }
.fab-fab-lote{ font-size:var(--fs-xs); color:var(--tx-3); font-variant-numeric:tabular-nums; }
.fab-fab-nom{ font-size:var(--fs-lg); font-weight:var(--fw-detalle); letter-spacing:-.01em; margin-top:2px; }
.fab-fab-sub{ font-size:var(--fs-xs); color:var(--tx-3); margin-top:2px; }
.fab-fab-pie{ font-size:var(--fs-xs); color:var(--tx-3); margin-top:var(--sp-3); }
.fab-flow-fila--sal{ margin-top:var(--sp-8); }
.fab-flow-fila--sal > span{ display:none; }
.fab-flow-fila > .fab-nd{ flex:none; width:min(100%, 380px); margin:0 auto; }
.fab-flow{ user-select:none; -webkit-user-select:none; }
.fab-flow--libre{ display:block; flex:none; }
.fab-flow--libre .fab-flow-fila{ display:contents; }
.fab-flow--libre .fab-nd{ position:absolute; margin:0; width:min(380px, 88%); cursor:grab; }
.fab-flow--libre .fab-nd:active{ cursor:grabbing; }
.fab-nd--drag{ box-shadow:var(--shadow-lg); z-index:2; cursor:grabbing !important; }
.fab-cad-reset{ margin-left:auto; }
.fab-plan-nave{ display:flex; align-items:baseline; gap:var(--sp-2); flex-wrap:wrap;
  font-size:var(--fs-sm); color:var(--tx-2); margin:calc(var(--sp-2) * -1) 0 var(--sp-3); }
.fab-plan-nave i.fa-solid{ color:var(--tx-3); font-size:.9em; }
.fab-plan-nave b{ color:var(--tx); font-variant-numeric:tabular-nums; }
.fab-plan-cab{ display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3);
  flex-wrap:wrap; }
.fab-plan-cab .fab-h{ margin:0; }
.fab-plan-dia{ font-size:var(--fs-sm); color:var(--tx-3); font-weight:var(--fw-medium);
  margin-left:var(--sp-2); }
.fab-plan-acc{ display:flex; gap:var(--sp-2); flex-wrap:wrap; }
.fab-vacio .fab-plan-acc{ justify-content:center; margin-top:var(--sp-5); }
.fab-plan-mod{ background:var(--azul-apple); color:#fff; border-color:transparent; font-weight:var(--fw-dato); }
.fab-plan-mod:hover:not(.btn-primary):not(.btn-navy){ background:color-mix(in srgb, var(--azul-apple) 88%, #000);
  color:#fff; border-color:transparent; box-shadow:var(--shadow-sm); transform:translateY(-1px); }
.fab-plan-mod:active{ transform:scale(.98); }
.fab-plan-est{ display:flex; align-items:baseline; gap:var(--sp-3); flex-wrap:wrap;
  margin:var(--sp-2) 0 var(--sp-2); }
.fab-plan-est-t{ font-size:var(--fs-xs); color:var(--tx-3); }
.fab-plan-marco .fab-plan-cab .fab-h{ font-size:var(--fs-2xl); font-weight:var(--fw-black); line-height:1.15; }
.fab-plan-marco .fab-plan-dia{ font-size:var(--fs-md); color:var(--tx-2); }
.fab-plan-marco .fab-esp-caps{ border-bottom:0; padding-bottom:0; margin:var(--sp-4) 0; }
.fab-plan-tope{ margin-top:var(--sp-4); background:var(--sf); border:var(--trazo-modulo); border-radius:var(--radius-sm);
  padding:var(--sp-4) var(--sp-5); }
.fab-prog--tope{ --bar-h:40px; position:relative; display:flex; margin-top:0; background:color-mix(in srgb, var(--tx) 8%, transparent); }
.fab-prog--tope .fab-prog-in{ flex:none; border-radius:0; transition:width .36s var(--ease-out); }
.fab-prog--tope .fab-prog-in--m{ background:var(--accent); }
.fab-prog--tope .fab-prog-in--t{ background:color-mix(in srgb, var(--azul-apple) 62%, var(--sf)); }
.fab-prog--tope .fab-prog-in--n{ background:color-mix(in srgb, var(--turno-noche) 62%, var(--sf)); }   
.fab-prog--tope.fab-prog--pasa .fab-prog-in{ background:var(--estado-urgente); }
.fab-prog--tope .fab-prog-t{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-size:var(--fs-md); font-weight:var(--fw-dato); color:var(--tx); white-space:nowrap; }
.fab-prog--tope .fab-prog-t--pasa{ color:var(--tx); }
.fab-plan-fuera{ margin-top:var(--sp-3); background:var(--sf2); border-radius:var(--radius);
  padding:var(--sp-3) var(--sp-4); }
.fab-plan-fuera-h{ display:flex; align-items:baseline; flex-wrap:wrap; gap:4px var(--sp-2);
  margin-bottom:var(--sp-3); }
.fab-plan-fuera-h > i{ color:var(--estado-ojo-ink); align-self:center; }
.fab-plan-fuera-h b{ font-weight:var(--fw-dato); }
.fab-plan-fuera-h span{ color:var(--tx-2); font-size:var(--fs-sm); }
.fab-plan-fuera-lista{ display:flex; flex-direction:column; gap:var(--sp-2); }
.fab-plan-fuera-it{ display:flex; align-items:center; gap:var(--sp-3); }
.fab-plan-fuera-it > :first-child{ flex:1 1 auto; min-width:0; }
.fab-plan-fuera-am{ color:var(--tx-2); font-weight:var(--fw-medium); white-space:nowrap;
  font-variant-numeric:tabular-nums; }
.fab-plan-fuera-it .btn{ flex:none; white-space:nowrap; }
@media (max-width:640px){
  .fab-plan-fuera-it{ flex-wrap:wrap; }
  .fab-plan-fuera-it .btn{ width:100%; }
}
.fab-mat-rec{ background:var(--sf2); border-radius:var(--radius-sm); padding:var(--sp-3) var(--sp-4); }
.fab-mat-rec-h{ display:flex; align-items:baseline; gap:6px; margin-bottom:var(--sp-3); flex-wrap:wrap; }
.fab-mat-rec-h > i{ color:var(--tx-3); align-self:center; }
.fab-mat-rec-h b{ font-weight:var(--fw-dato); }
.fab-mat-rec-h span{ color:var(--tx-2); font-size:var(--fs-sm); }
.fab-mat-rec-campos{ display:grid; grid-template-columns:minmax(0,190px) minmax(0,1fr);
  gap:var(--sp-3); margin-bottom:var(--sp-3); }
.fab-mat-rec-campos label{ display:flex; flex-direction:column; gap:5px; font-size:var(--fs-sm);
  font-weight:var(--fw-detalle); color:var(--tx-2); }
.fab-mat-rec-in{ display:flex; align-items:center; gap:6px; }
.fab-mat-rec-in .fab-alm-in{ flex:1 1 auto; min-width:0; }
@media (max-width:640px){ .fab-mat-rec-campos{ grid-template-columns:1fr; } }
.fab-plan-pq{ font-size:var(--fs-xs); color:var(--tx-3); line-height:1.35; display:inline-block;
  max-width:34ch; white-space:normal; }
.bxt td .fab-an-sub{ display:block; white-space:normal; }
.fab-plan-pq--b{ display:block; margin-top:2px; font-weight:var(--fw-body); }
.bxt tr.fab-plan-gh td{ color:var(--tx-2); }
.bxt tr.fab-plan-gh td b{ color:var(--tx-2); font-weight:var(--fw-detalle); }
.fab-pe-mando{ display:flex; align-items:center; gap:var(--sp-4); flex-wrap:wrap;
  margin:var(--sp-2) 0; }   
.fab-pe-tope-l{ display:inline-flex; align-items:center; gap:var(--sp-2);
  font-size:var(--fs-sm); color:var(--tx-2); font-weight:var(--fw-medium); }
#fab-pe-tope{ width:64px; padding:4px 8px; text-align:right; background:var(--sf);
  border:1px solid var(--br); border-radius:var(--radius-sm); font:inherit;
  font-size:var(--fs-sm); color:var(--tx); font-variant-numeric:tabular-nums; }
#fab-pe-tope:focus-visible{ outline:2px solid var(--accent); outline-offset:1px; }
.fab-pe-tots{ font-size:var(--fs-sm); color:var(--tx-2); }
.fab-pe-tots b{ color:var(--tx); font-variant-numeric:tabular-nums; }
.fab-pe-step{ display:inline-flex; align-items:center; gap:4px; }
.fab-pe-b{ width:40px; height:40px; border:none; border-radius:10px; background:var(--sf2);
  color:var(--tx); font-size:var(--fs-xl); font-weight:var(--fw-detalle); line-height:1; cursor:pointer;
  transition:transform 120ms var(--ease-out), background 120ms var(--ease-out); }
.fab-pe-b:hover{ background:var(--br); }
.fab-pe-b:active{ transform:scale(.94); }
.fab-pe-b:focus-visible{ outline:2px solid var(--accent); outline-offset:1px; }
.fab-pe-in{ width:70px; height:40px; text-align:center; background:var(--sf);
  border:1px solid var(--br); border-radius:10px; font:inherit; font-size:var(--fs-lg);
  color:var(--tx); font-weight:var(--fw-dato); font-variant-numeric:tabular-nums; }
.fab-pe-in:focus-visible{ outline:2px solid var(--accent); outline-offset:1px; }
.fab-or-vacio-cab{ padding:var(--sp-2) 0 var(--sp-5); }
.fab-or-vacio-tit{ font-size:var(--fs-lg); font-weight:var(--fw-fuerte); color:var(--tx); }
.fab-or-vacio-sub{ margin:var(--sp-2) 0 var(--sp-4); color:var(--tx-2); font-size:var(--fs-sm); max-width:62ch; }
.fab-or-vacio-cab .fab-plan-acc{ display:flex; flex-wrap:wrap; gap:var(--sp-3); align-items:center; }
.fab-or-turnos-sel{ display:flex; gap:var(--sp-2); flex-wrap:wrap; margin-left:auto; }
.fab-pe-zonas{ display:grid; grid-template-columns:repeat(var(--turnos, 3), minmax(0,1fr)); gap:var(--sp-4); align-items:start;
  margin-top:var(--sp-4); }
@media (max-width: 1100px){ .fab-pe-zonas{ grid-template-columns:1fr; } }
.fab-pe-zona{ background:var(--sf); border:var(--trazo-modulo); border-radius:var(--radius);
  padding:var(--sp-3); min-height:180px;
  transition: border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out); }
.fab-pe-zona--sobre{ border-color:var(--accent);
  background:color-mix(in srgb, var(--accent) 6%, var(--sf)); }
.fab-pe-zona[data-turno="m"] .fab-pe-zona-cab > i,
.fab-pe-zona[data-turno="m"] .fab-pe-zona-cab b{ color:var(--gold-ink); }
.fab-pe-zona[data-turno="t"] .fab-pe-zona-cab > i,
.fab-pe-zona[data-turno="t"] .fab-pe-zona-cab b{ color:var(--azul-apple); }
.fab-pe-zona[data-turno="n"] .fab-pe-zona-cab > i,
.fab-pe-zona[data-turno="n"] .fab-pe-zona-cab b{ color:var(--turno-noche); }
.fab-pe-zona-cab{ display:flex; align-items:center; gap:var(--sp-2); margin-bottom:var(--sp-4); }
.fab-pe-zona-cab > i{ color:var(--tx-2); font-size:var(--fs-xl); }
.fab-pe-zona-cab b{ font-size:var(--fs-lg); font-weight:var(--fw-fuerte); }
.fab-pe-zona-n{ font-size:var(--fs-base); color:var(--tx-2); font-weight:var(--fw-medium); }
.fab-pe-add{ margin-left:auto; white-space:nowrap; padding:7px 14px; font-size:var(--fs-sm); }
.fab-pe-zona-cuerpo{ display:flex; flex-direction:column; gap:var(--sp-2); }
.fab-pe-vacio{ padding:var(--sp-6) var(--sp-4); text-align:center; color:var(--tx-3);
  font-size:var(--fs-sm); border:1px dashed var(--br); border-radius:var(--radius-sm); }
.fab-pe-card{ position:relative; background:var(--bg); border:1px solid var(--br); border-radius:var(--radius);
  padding:var(--sp-4) var(--sp-5); cursor:grab; touch-action:pan-y; user-select:none; }
.fab-pe-card--origen{ opacity:.45; }
.fab-pe-card--antes{ box-shadow: inset 0 3px 0 var(--accent); }
.fab-pe-card--despues{ box-shadow: inset 0 -3px 0 var(--accent); }
.fab-pe-card--ghost{ position:fixed; z-index:9999; pointer-events:none; opacity:.92;
  box-shadow:var(--shadow-lg); cursor:grabbing; }
.fab-pe-card-cab{ display:flex; align-items:center; gap:var(--sp-2); flex-wrap:wrap; }
.fab-pe-card-cab .fab-plan-pq--b{ order:5; flex-basis:100%; }
.fab-or-lista{ display:grid; grid-template-columns:auto minmax(0,1fr) auto; column-gap:var(--sp-3); row-gap:var(--sp-4); }
.fab-or-fila{ --bar-h:13px; }
.fab-or-lista > .fab-pe-vacio{ grid-column:1 / -1; }
.fab-or-fila{ display:grid; grid-column:1 / -1; grid-template-columns:subgrid; align-items:center; gap:var(--sp-3) var(--sp-4);
  background:var(--sf); border:1.2px solid color-mix(in srgb, #111 22%, transparent); border-radius:var(--radius-sm);
  padding:var(--sp-3) var(--sp-4); min-height:64px; user-select:none; transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out); }
.fab-or-fila > .fab-or-izq{ grid-area:1 / 1; display:flex; align-items:center; align-self:start; gap:var(--sp-1); }
.fab-or-izq > .fab-or-pos{ min-width:20px; height:44px; display:grid; place-items:center; }
.fab-or-fila > .fab-or-cab{ grid-area:1 / 2; display:flex; align-items:center; gap:var(--sp-3) var(--sp-4); flex-wrap:wrap; min-width:0; }
.fab-or-nombre{ min-width:0; flex:1 1 180px; }
.fab-or-cab > .fab-or-prog{ flex:1 1 190px; min-width:150px; }
.fab-or-fila > .fab-or-x, .fab-or-fila > .fab-or-parar{ grid-area:1 / 3; justify-self:end; align-self:start; margin-top:10px; }
.fab-or-fila > .fab-or-foot{ grid-area:2 / 2 / auto / -1; }
.fab-or-fila.fab-pe-card--ghost{ grid-template-columns:auto minmax(0,1fr) auto; }
.fab-or-fila.fab-pe-card--antes, .fab-or-fila.fab-pe-card--despues{ border-color:var(--accent); }
.fab-or-fila.fab-pe-card--antes{ box-shadow:0 -10px 0 -4px var(--accent); }
.fab-or-fila.fab-pe-card--despues{ box-shadow:0 10px 0 -4px var(--accent); }
.fab-or-fila.fab-pe-card--origen{ opacity:.4; border-style:dashed; }
@container (max-width: 640px){
  .fab-or-lista{ grid-template-columns:auto minmax(0,1fr) auto; column-gap:var(--sp-2); }
  .fab-or-fila{ column-gap:var(--sp-3); }
  .fab-or-fila.fab-pe-card--ghost{ grid-template-columns:auto minmax(0,1fr) auto; }
  .fab-or-fila > .fab-or-foot{ grid-column:1 / -1; grid-row:auto; display:grid; grid-template-columns:1fr 1fr; }
  .fab-or-fila .fab-or-foot .fab-pe-stat{ font-size:var(--fs-sm); padding:8px 10px; gap:6px; }
  .fab-or-fila .fab-or-foot .fab-pe-stat b{ font-size:var(--fs-base); }
}
@media (max-width: 1100px){ .fab-or-zonas{ grid-template-columns:1fr; row-gap:var(--sp-6); } }   
.fab-or-zona{ min-height:0; }
.fab-or-lista{ margin-top:var(--sp-2); }
.fab-or-lista .fab-pe-vacio{ border:0; }
[data-theme="dark"] .fab-or-fila{ border-color:color-mix(in srgb, #fff 18%, transparent); }
.fab-or-fila--mueve{ cursor:grab; }
@media (hover:hover){ .fab-or-fila--mueve:hover{ border-color:var(--tx-3); } }
.fab-or-fila--tocada{ box-shadow:inset 0 0 0 3px var(--accent); background:var(--sf); transition:box-shadow var(--dur-fast) var(--ease-out); }
.fab-or-delta{ display:inline-flex; align-items:center; margin:0 var(--sp-2); padding:2px 10px; border-radius:var(--radius-pill); background:var(--accent);
  color:var(--ink); font-weight:var(--fw-fuerte); font-size:var(--fs-sm); font-variant-numeric:tabular-nums; line-height:1.4; }
.fab-or-pos{ font-size:var(--fs-2xl); font-weight:var(--fw-black); color:var(--tx-3); text-align:center;
  font-variant-numeric:tabular-nums; line-height:1; }
.fab-or-fila .fab-plan-prod b{ font-size:var(--fs-lg); font-weight:var(--fw-fuerte); }   
.fab-or-izq > .fab-or-pos--in{ display:block; width:2.4ch; min-width:32px; height:44px; line-height:44px; padding:0;
  border:1.2px solid transparent; border-radius:var(--radius-sm); background:transparent; color:var(--tx-3);
  font-family:inherit; font-size:var(--fs-2xl); font-weight:var(--fw-black); text-align:center;
  font-variant-numeric:tabular-nums; appearance:none; -webkit-appearance:none; cursor:text;
  transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out); }
@media (hover:hover){ .fab-or-izq > .fab-or-pos--in:hover{ border-color:var(--br-2); } }
.fab-or-izq > .fab-or-pos--in:focus{ outline:none; border-color:var(--accent); background:var(--sf2); color:var(--tx); }
.fab-or-fila--ahora .fab-or-pos--in{ color:var(--gold-ink); }
.fab-or-fila--ahora .fab-or-pos{ color:var(--gold-ink); }
.fab-or-fila--hecho{ opacity:.55; }
.fab-or-dato{ display:flex; align-items:baseline; gap:var(--sp-2); min-width:0; white-space:nowrap; }
.fab-or-dato b{ font-size:var(--fs-2xl); font-weight:var(--fw-black); line-height:1.1; font-variant-numeric:tabular-nums; }
.fab-or-dato small{ font-size:var(--fs-base); font-weight:var(--fw-detalle); color:var(--tx-2); white-space:nowrap; }
.fab-or-prog{ display:flex; align-items:center; gap:var(--sp-2); min-width:0; }
.fab-or-bar{ display:block; flex:1 1 72px; min-width:72px; height:var(--bar-h); border-radius:99px; background:var(--sf3); overflow:hidden; }
.fab-or-bar > i{ display:block; height:100%; background:var(--estado-bien); border-radius:inherit; }
.fab-or-bar--tramos{ display:grid; grid-template-columns:repeat(var(--n, 1), minmax(0, 1fr)); gap:3px; background:none; overflow:visible; }
.fab-or-bar--tramos > .fab-or-seg{ display:block; height:100%; border-radius:99px; background:var(--sf3); }
.fab-or-bar--tramos > .fab-or-seg--ok{ background:var(--estado-bien); }
.fab-or-est{ white-space:nowrap; margin-top:0; }
.fab-or-quien{ display:inline-flex; align-items:center; gap:6px; padding:5px 12px; border-radius:999px; background:var(--sf2);
  font-size:var(--fs-sm); font-weight:var(--fw-detalle); color:var(--tx); white-space:nowrap; }
.fab-or-quien i{ color:var(--azul-apple); }
.fab-or-fila > .fab-or-foot{ margin:0; display:flex; flex-wrap:wrap; gap:6px; min-width:0; }
.fab-or-fila .fab-or-foot .fab-pe-stat{ flex:1 1 auto; min-width:max-content; justify-content:center; white-space:nowrap; padding:10px 12px;
  font-size:var(--fs-sm); background:var(--sf2); border-radius:10px; }
.fab-or-fila .fab-or-foot .fab-pe-stat b{ font-size:var(--fs-base); }
.fab-or-fila .fab-plan-prod b{ min-width:0; overflow-wrap:normal; line-height:1.15; }
.fab-or-fila .fab-or-nombre{ min-width:min-content; }
.fab-or-zona{ container-type:inline-size; }
.fab-or-b{ width:44px; height:44px; border:0; border-radius:10px; background:var(--sf2); color:var(--tx); cursor:pointer;   
  font-size:var(--fs-md); display:grid; place-items:center; font-family:inherit; }
@media (hover:hover){ .fab-or-b:hover{ background:var(--br); } }
.fab-or-b:active{ transform:scale(.94); }
.fab-or-b:focus-visible{ outline:2px solid var(--accent); outline-offset:1px; }
.fab-or-b[disabled]{ opacity:.35; cursor:default; }
.fab-or-acc{ display:inline-flex; flex-direction:column; gap:4px; }
.fab-pe-card-cab > .fab-or-acc{ margin-left:auto; margin-right:32px; }
i.fab-or-asa{ width:28px; height:44px; display:grid; place-items:center; padding:0; border-radius:8px; background:none;
  color:var(--tx-3); cursor:grab; font-size:var(--fs-md); line-height:1; touch-action:none; flex:none; }
i.fab-or-asa::before{ display:block; line-height:1; }
.fab-or-asa:focus-visible{ outline:2px solid var(--accent); outline-offset:1px; }
@media (hover:hover){ .fab-or-asa:hover{ background:var(--br); color:var(--tx); } }
.fab-or-asa--no{ background:transparent; cursor:default; }
.fab-or-editar{ display:inline-flex; align-items:center; gap:6px; flex:none; min-height:40px; padding:0 var(--sp-4); border:0;
  border-radius:10px; background:var(--sf2); color:var(--tx); font-family:inherit; font-size:var(--fs-sm);
  font-weight:var(--fw-detalle); cursor:pointer; }
.fab-or-editar i{ color:var(--tx-2); }
@media (hover:hover){ .fab-or-editar:hover{ background:var(--br); } }
.fab-or-editar:active{ transform:scale(.97); }
.fab-or-editar:focus-visible{ outline:2px solid var(--accent); outline-offset:1px; }
.fab-or-ed{ width:min(92vw, 440px); padding:var(--sp-6); display:grid; gap:var(--sp-4); }
.fab-or-ed-t{ display:grid; gap:2px; text-align:center; }
.fab-or-ed-t b{ font-size:var(--fs-xl); font-weight:var(--fw-fuerte); }
.fab-or-ed-t small{ font-size:var(--fs-sm); color:var(--tx-2); }
.fab-or-ed-num{ display:flex; align-items:center; justify-content:center; gap:var(--sp-5); }
.fab-or-ed-b{ width:64px; height:64px; border:0; border-radius:16px; background:var(--sf2); color:var(--tx); cursor:pointer;
  font-family:inherit; font-size:var(--fs-2xl); font-weight:var(--fw-dato); display:grid; place-items:center; }
@media (hover:hover){ .fab-or-ed-b:hover{ background:var(--br); } }
.fab-or-ed-b:active{ transform:scale(.94); }
.fab-or-ed-b[disabled]{ opacity:.35; cursor:default; }
.fab-or-ed-cifra{ display:grid; justify-items:center; gap:2px; min-width:120px; }
.fab-or-ed-cifra b{ font-size:var(--fs-4xl); font-weight:var(--fw-black); line-height:1; font-variant-numeric:tabular-nums; }
.fab-or-ed-cifra small{ font-size:var(--fs-sm); color:var(--tx-2); }
.fab-or-ed .fab-or-ed-foot{ margin:0; display:flex; flex-wrap:wrap; gap:6px; justify-content:center; }
.fab-or-ed .fab-or-ed-foot .fab-pe-stat{ flex:0 1 auto; min-width:0; background:var(--sf2); border-radius:10px;
  padding:6px 12px; font-size:var(--fs-sm); }
.fab-or-ed-suelo{ display:flex; align-items:center; gap:8px; justify-content:center; font-size:var(--fs-sm); color:var(--tx-2); }
.fab-or-ed-suelo i{ color:var(--estado-ojo-ink); }
.fab-or-ed-pie{ display:flex; align-items:center; justify-content:flex-end; gap:var(--sp-3); }
.fab-or-ed .fab-or-ed-ok[disabled]{ background:var(--sf2); color:var(--tx-3); box-shadow:none; cursor:default; }
.fab-or-x{ width:24px; height:24px; border:var(--trazo-modulo); border-radius:50%; background:var(--sf); color:var(--tx-2);
  display:grid; place-items:center; align-self:start; cursor:pointer; font-size:var(--fs-xs); font-family:inherit; }   
@media (hover:hover){ .fab-or-x:hover{ background:var(--sf2); color:var(--tx); border-color:var(--tx-2); } }
.fab-or-x:active{ transform:scale(.94); }
.fab-or-x:focus-visible{ outline:2px solid var(--accent); outline-offset:1px; }
.fab-pe-card-x{ position:absolute; top:8px; right:8px; }
.fab-or-parar{ display:inline-flex; align-items:center; gap:6px; align-self:start; white-space:nowrap; padding:6px 12px;   
  border:var(--trazo-modulo); border-radius:999px; background:var(--sf); color:var(--tx); font:inherit; font-size:var(--fs-sm);
  font-weight:var(--fw-detalle); cursor:pointer; }
.fab-or-parar i{ color:var(--estado-ojo-ink); }
@media (hover:hover){ .fab-or-parar:hover{ background:var(--sf2); border-color:var(--tx-2); } }
.fab-or-parar:active{ transform:scale(.97); }
.fab-or-cambios{ margin-top:var(--sp-4); padding:var(--sp-4) var(--sp-5); background:var(--sf2); border-radius:var(--radius-sm);
  display:flex; flex-direction:column; gap:6px; font-size:var(--fs-sm); color:var(--tx-2); }
.fab-or-cambios .fab-h{ margin:0 0 var(--sp-1); }
.fab-or-cambios .fab-h i{ color:var(--azul-apple); margin-right:4px; }
.fab-or-cambios span b{ color:var(--tx); font-variant-numeric:tabular-nums; }
.fab-or-urg{ display:flex; align-items:center; gap:var(--sp-2); flex-wrap:wrap; padding:var(--sp-3) var(--sp-4);
  border-radius:var(--radius); background:var(--sf2); font-size:var(--fs-base); margin-top:var(--sp-3); }
.fab-or-urg > i{ color:var(--estado-ojo-ink); }
.fab-pe-card-b{ border:none; background:none; width:28px; height:28px; border-radius:var(--radius-sm);
  color:var(--tx-3); cursor:pointer; font-size:var(--fs-sm); }
.fab-pe-card-b:hover{ background:var(--sf); color:var(--tx); }
.fab-pe-card-b:active{ transform:scale(.95); }
.fab-pe-card-b:focus-visible{ outline:2px solid var(--accent); outline-offset:1px; }
.fab-pe-card-fila{ display:flex; align-items:center; gap:var(--sp-3); margin-top:var(--sp-3); }
.fab-pe-mid{ display:inline-flex; align-items:center; gap:var(--sp-3); flex:none; }
.fab-pe-card-am{ font-size:var(--fs-base); color:var(--tx-2); font-weight:var(--fw-medium); }
.fab-pe-card-foot{ margin-top:var(--sp-3); display:flex; flex-wrap:nowrap; gap:var(--sp-2); }
.fab-pe-card-foot .fab-pe-stat{ flex:1 1 0; min-width:0; justify-content:center; padding:8px 10px; }
.fab-pe-stat{ display:inline-flex; align-items:center; gap:8px; font-size:var(--fs-base);
  color:var(--tx-2); background:var(--sf); border-radius:12px; padding:8px 14px; }
.fab-pe-stat i{ font-size:1em; color:var(--tx-3); }
.fab-pe-stat b{ font-size:var(--fs-lg); font-weight:var(--fw-dato); color:var(--tx);
  font-variant-numeric:tabular-nums; line-height:1; }
.fab-pe-stat em{ font-style:normal; color:var(--tx-2); }
.fab-pe-stat--k b{ color:var(--gold-ink); }
[data-theme="dark"] .fab-pe-stat--k b{ color:var(--accent); }
.fab-or-fila .fab-or-foot .fab-pe-stat, .fab-pe-card-foot .fab-pe-stat, .fab-or-editar{
  background:var(--sf); border:1px solid var(--br-2); }
@media (hover:hover){ .fab-or-editar:hover{ background:var(--sf2); } }
.fab-pe-stock{ display:inline-flex; align-items:center; gap:7px; font-size:var(--fs-base);
  color:var(--tx-2); background:var(--sf); border-radius:12px; padding:8px 14px; }
.fab-pe-stock i{ font-size:1em; color:var(--tx-3); }
.fab-pe-stock b{ font-size:var(--fs-lg); font-weight:var(--fw-dato); color:var(--tx);
  font-variant-numeric:tabular-nums; line-height:1; }
.fab-pe-stock em{ font-style:normal; color:var(--tx-3); font-size:var(--fs-xs);
  font-weight:var(--fw-fuerte); letter-spacing:.04em; text-transform:uppercase; }
.fab-pe-stock b.fab-pe-stock-f{ color:var(--azul-apple); }
.fab-pe-stock b.fab-pe-stock-f + em{ color:var(--azul-apple); }
.fab-pe-stock-fin{ display:inline-flex; align-items:center; gap:7px; margin-left:3px;
  padding-left:10px; border-left:1px solid var(--br); }
.fab-pe-stock-fin i{ font-size:var(--fs-2xs); }
.fab-pe-stock-fin b{ color:var(--estado-bien-ink); }
.fab-pe-stock-fin em{ color:var(--estado-bien-ink); }
.fab-pe-stock-fin i{ color:var(--estado-bien-ink); }
.fab-esp-col-alm .fab-pe-stock{ padding:6px 10px; gap:6px; }
.fab-esp-col-alm .fab-pe-stock b{ font-size:var(--fs-base); }
.fab-esp-tabla th.fab-esp-col-alm{ text-align:center; }
.fab-esp-tabla td.fab-esp-col-alm{ text-align:center; white-space:nowrap; }
.fab-pe-stock--cero > b{ color:var(--tx-3); }
.fab-pe-stat--k i{ color:var(--gold-ink); }
[data-theme="dark"] .fab-pe-stat--k i{ color:var(--accent); }
.fab-urg{ margin-top:var(--sp-5); padding:var(--sp-4) var(--sp-5); background:var(--sf);
  border:2px solid color-mix(in srgb, var(--tx) 26%, transparent); border-radius:var(--radius);
  display:flex; flex-direction:column; gap:var(--sp-3);
  transition:border-color var(--dur-fast) var(--ease-out); }
.fab-urg:hover{ border-color:var(--estado-urgente); }
.fab-urg-cab{ display:flex; align-items:center; gap:var(--sp-3); }
.fab-urg-cab > i{ color:var(--estado-urgente-ink); font-size:var(--fs-2xl); flex:none; }
.fab-urg-tit{ font-size:var(--fs-lg); font-weight:var(--fw-fuerte); min-width:0; }
.fab-urg-add{ margin-left:auto; white-space:nowrap; flex:none; }
.fab-urg-lista{ display:flex; flex-direction:column; gap:var(--sp-2); }
.fab-urg-item{ display:flex; align-items:center; gap:var(--sp-3); padding:var(--sp-3) var(--sp-4);
  background:var(--bg); border-radius:var(--radius-sm); }
.fab-urg-item .fab-k-foto{ width:52px; height:52px; border-radius:14px; flex:none; }
.fab-urg-nom{ flex:1 1 auto; min-width:0; font-size:var(--fs-lg); font-weight:var(--fw-dato); }
.fab-urg-n{ min-width:32px; text-align:center; font-size:var(--fs-xl); font-weight:var(--fw-black);
  font-variant-numeric:tabular-nums; }
.fab-urg-am{ font-size:var(--fs-sm); color:var(--tx-2); }
.fab-urg-ya { display:flex; align-items:center; gap:var(--sp-2); margin:var(--sp-3) 0 0;
  font-size:var(--fs-md); font-weight:var(--fw-detalle); color:var(--estado-bien-ink); }
.fab-urg-ya i { color:var(--estado-bien-ink); }
.fab-urg-x{ border:none; background:none; width:36px; height:36px; border-radius:var(--radius-sm);
  color:var(--tx-3); cursor:pointer; flex:none; transition:transform 120ms var(--ease-out); }
.fab-urg-x:hover{ background:var(--estado-urgente); color:#fff; }
.fab-urg-x:active{ transform:scale(.94); }
.fab-urg-vacio{ font-size:var(--fs-sm); color:var(--tx-3); }
.fab-urg-enviar{ align-self:flex-start; }
.fab-esp{ margin-top:var(--sp-5); }
.fab-pila{ container-type:inline-size; }
@container (min-width: 1540px){   
  .fab-esp{ display:grid; grid-template-columns:minmax(0,1fr) 320px; column-gap:var(--sp-4);
    grid-template-areas:"cab cab" "vistas caps" "tabla caps" "pie pie"; }
  .fab-esp > .fab-plan-cab{ grid-area:cab; }
  .fab-esp > .bx-vistas{ grid-area:vistas; }
  .fab-esp > .fab-esp-scr{ grid-area:tabla; }
  .fab-esp > .fab-esp-pie{ grid-area:pie; }
  .fab-esp > .fab-esp-caps{ grid-area:caps; grid-auto-flow:row; grid-template-columns:1fr; align-content:start; margin:0; padding-bottom:0; border-bottom:0; }
  .fab-esp.fab-esp--vacia{ display:block; }   
}
.fab-esp-caps{ display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr);
  gap:var(--sp-4); margin:var(--sp-5) 0 var(--sp-5);
  padding-bottom:var(--sp-5); border-bottom:1px solid var(--br); }
.fab-esp-cap{ background:var(--sf); border:var(--trazo-modulo); border-radius:var(--radius-sm); padding:var(--sp-3) var(--sp-4);   
  display:flex; align-items:center; gap:var(--sp-5); flex-wrap:wrap; }
#fab-root .fab-esp-cap[data-turno="m"]{ border-color:var(--accent); }
#fab-root .fab-esp-cap[data-turno="t"]{ border-color:var(--azul-apple); }
.fab-esp-cap-t{ font-size:var(--fs-base); font-weight:var(--fw-fuerte); display:inline-flex; align-items:center; gap:6px; min-width:118px; }
.fab-esp-cap[data-turno="m"] .fab-esp-cap-t{ color:var(--gold-ink); }
.fab-esp-cap[data-turno="t"] .fab-esp-cap-t{ color:var(--azul-apple); }
.fab-esp-cap-r{ display:inline-flex; align-items:baseline; gap:5px; font-size:var(--fs-sm); color:var(--tx-2); }
.fab-esp-cap-r i{ color:var(--tx-3); font-size:var(--fs-xs); align-self:center; }
.fab-esp-cap-r b{ font-size:var(--fs-lg); font-weight:var(--fw-fuerte); color:var(--tx); font-variant-numeric:tabular-nums; }
.fab-esp-cap-r em{ font-style:normal; }
.fab-esp-cap-mas{ font-size:var(--fs-base); font-weight:var(--fw-fuerte); font-variant-numeric:tabular-nums; margin-left:2px; }
.fab-esp-cap[data-turno="m"] .fab-esp-cap-mas{ color:var(--gold-ink); }
.fab-esp-cap[data-turno="t"] .fab-esp-cap-mas{ color:var(--azul-apple); }
.fab-esp-cap-r--lleno b{ color:var(--estado-ojo-ink); }
.fab-esp-cap-r--pasa b{ color:var(--estado-urgente-ink); }
.fab-esp-cap--barras{ display:grid; grid-template-columns:1fr; gap:6px; align-items:stretch; }
.fab-esp-cap--barras .fab-esp-cap-t{ min-width:0; margin-bottom:2px; }
.fab-esp-bar-r{ display:grid; grid-template-columns:76px minmax(0,1fr) 64px; align-items:center; gap:var(--sp-2);
  font-size:var(--fs-sm); color:var(--tx-2); }
.fab-esp-bar-r > i{ color:var(--tx-3); font-size:var(--fs-xs); text-align:center; }
.fab-esp-bar-r > em{ font-style:normal; }
.fab-esp-bar{ display:flex; height:var(--bar-h); border-radius:999px; background:color-mix(in srgb, var(--tx) 10%, transparent); overflow:hidden; }
.fab-esp-bar-plan, .fab-esp-bar-pend{ height:100%; transition:width .36s var(--ease-out); }
.fab-esp-cap[data-turno="m"] .fab-esp-bar-plan{ background:var(--accent-deep); }
.fab-esp-cap[data-turno="t"] .fab-esp-bar-plan{ background:color-mix(in srgb, var(--azul-apple) 72%, var(--tx)); }
.fab-esp-cap[data-turno="m"] .fab-esp-bar-pend{ background:var(--accent); }
.fab-esp-cap[data-turno="t"] .fab-esp-bar-pend{ background:var(--azul-apple); }
.fab-esp-bar-r > b{ font-size:var(--fs-base); font-weight:var(--fw-fuerte); color:var(--tx); font-variant-numeric:tabular-nums; white-space:nowrap; text-align:right; }
.fab-esp-cap[data-turno="m"] .fab-esp-bar-r--am .fab-esp-bar-plan{ background:var(--accent-deep); }
.fab-esp-cap[data-turno="t"] .fab-esp-bar-r--am .fab-esp-bar-plan{ background:color-mix(in srgb, var(--azul-apple) 72%, var(--tx)); }
.fab-esp-cap[data-turno="n"] .fab-esp-bar-r--am .fab-esp-bar-plan{ background:var(--turno-noche); }
.fab-esp-cap[data-turno="n"] .fab-esp-bar-r--am .fab-esp-bar-pend{ background:color-mix(in srgb, var(--turno-noche) 62%, var(--sf)); }
.fab-esp-cap .fab-esp-bar-r--color .fab-esp-bar-plan{ background:linear-gradient(90deg,
  color-mix(in srgb, var(--estado-urgente) 62%, var(--sf)), color-mix(in srgb, var(--accent) 62%, var(--sf)),
  color-mix(in srgb, var(--estado-bien) 55%, var(--sf)), color-mix(in srgb, var(--azul-apple) 62%, var(--sf)),
  color-mix(in srgb, var(--tx) 55%, var(--sf))); }
.fab-esp-cap .fab-esp-bar-r--color .fab-esp-bar-pend{ background:linear-gradient(90deg,
  color-mix(in srgb, var(--estado-urgente) 36%, var(--sf)), color-mix(in srgb, var(--accent) 36%, var(--sf)),
  color-mix(in srgb, var(--estado-bien) 32%, var(--sf)), color-mix(in srgb, var(--azul-apple) 36%, var(--sf)),
  color-mix(in srgb, var(--tx) 32%, var(--sf))); }
.fab-esp-cap .fab-esp-bar-r--high .fab-esp-bar-plan{ background:color-mix(in srgb, var(--tx) 88%, var(--sf)); }
.fab-esp-cap .fab-esp-bar-r--high .fab-esp-bar-pend{ background:color-mix(in srgb, var(--tx) 52%, var(--sf)); }
.fab-esp-bar-r > b small{ font-size:var(--fs-xs); font-weight:var(--fw-medium); color:var(--tx-3); margin-left:3px; }
.fab-esp-bar--lleno > b{ color:var(--estado-ojo-ink); }
.fab-esp-bar--pasa > b{ color:var(--estado-urgente-ink); }
.fab-esp-cap .fab-esp-bar--pasa .fab-esp-bar-plan, .fab-esp-cap .fab-esp-bar--pasa .fab-esp-bar-pend{ background:var(--estado-urgente); }
.fab-esp-tabla td.bxt-num, .fab-esp-tabla th.bxt-num{ text-align:center; }
.fab-esp-tabla .bxt-num + .bxt-num{ border-left:1px solid var(--br); }
.fab-esp-tabla tfoot td.bxt-num{ text-align:center; }
.fab-esp-tabla tbody tr.fab-esp-fila--pref, .fab-esp-tabla.bx-cebra tbody tr.fab-esp-fila--pref{ background:color-mix(in srgb, var(--azul-apple) 14%, transparent); }
.fab-esp-tabla tbody tr.fab-esp-fila--pref:nth-child(even), .fab-esp-tabla.bx-cebra tbody tr.fab-esp-fila--pref:nth-child(even){ background:color-mix(in srgb, var(--azul-apple) 24%, transparent); }
.fab-esp-tabla tbody tr.fab-esp-fila--pref:hover, .fab-esp-tabla.bx-cebra tbody tr.fab-esp-fila--pref:hover{ background:color-mix(in srgb, var(--azul-apple) 32%, transparent); }
.fab-esp-env{ display:flex; align-items:center; white-space:nowrap; }
.bx-sep-v{ display:inline-block; width:2px; align-self:stretch; min-height:44px; border-radius:2px; background:var(--br); flex:none; }
.fab-esp-env .fab-pe-in{ width:64px; height:44px; font-size:var(--fs-lg); }
.fab-esp-env .fab-pe-b{ width:44px; height:44px; border-radius:10px; }
.fab-esp-env-t > .fab-an-sub{ min-width:0; font-size:var(--fs-xs); }
.fab-esp-env-btn{ padding:8px 14px; font-size:var(--fs-sm); display:inline-flex; align-items:center; gap:6px; }
.fab-esp .bxt{ width:100%; table-layout:auto; }
.fab-esp .bxt td, .fab-esp .bxt th{ padding-left:var(--sp-2); padding-right:var(--sp-2); }
.fab-esp .fab-plan-prod{ flex-wrap:wrap; row-gap:2px; }
.fab-esp .fab-k-foto{ width:48px; height:48px; border-radius:10px; }
.fab-esp-env-t{ display:inline-flex; align-items:center; padding:6px 10px;
  background:var(--sf); border:1px solid var(--br); border-radius:var(--radius-sm); }
.fab-esp-tabla th.fab-esp-col-turno, .fab-esp-tabla td.fab-esp-col-turno{ text-align:center; }
.fab-esp-tabla th.fab-esp-col-m{ color:var(--gold-ink); }
.fab-esp-tabla th.fab-esp-col-t{ color:var(--azul-apple); }
.fab-esp-tabla th.fab-esp-col-n{ color:var(--turno-noche); }
.fab-esp-tabla td.fab-esp-col-turno{ padding-left:var(--sp-3); padding-right:var(--sp-3); }
.fab-esp-env-t > i{ font-size:var(--fs-md); width:20px; text-align:center; }
.fab-esp-env-t[data-turno="m"] > i{ color:var(--gold-ink); }
.fab-esp-env-t[data-turno="t"] > i{ color:var(--azul-apple); }
.fab-esp-env-t > .fab-an-sub{ min-width:64px; }
.fab-esp-env-lleno{ color:var(--estado-ojo-ink); }
.fab-esp-cap--barras{ --bar-h:18px; padding:var(--sp-4) var(--sp-5); gap:10px; }
.fab-prog--gordo{ --bar-h:18px; }
.fab-esp-pie{ display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:var(--sp-3);
  padding:var(--sp-3) 0 0; margin-top:var(--sp-3); border-top:1px solid var(--br); }
.fab-esp-pie-izq{ min-width:0; }
.fab-esp-pie-izq .fab-rp-fuera-btn{ margin-top:0; }
.fab-esp-pie-der{ display:flex; justify-content:flex-end; gap:var(--sp-3); }
:root{ --trazo-modulo: 1.2px solid color-mix(in srgb, var(--tx) 26%, transparent); }
.card, .cm-card, .kpi-card.cm-card,   
#fab-root .card, #fab-root .cm-card, #fab-root .fab-esp, #fab-root .fab-par > .fab-tit, #fab-root .fab-plan-modulos > .fab-tit{ border: var(--trazo-modulo); }
.cm-live, .cm-kpi, .cm-health, .cm-alert, .cm-comova, .cm-area, .cm-recon, .cm-cap, .cm-park { border: var(--trazo-modulo); }
#cm-root .cm-pulso .cm-kpi { border: var(--trazo-modulo); }
#cm-root .cm-pulso .cm-kpi:hover { border-color: color-mix(in srgb, var(--accent) 42%, color-mix(in srgb, var(--tx) 26%, transparent)); }
.fab-pila--sin-trazo{ --trazo-modulo: 1.2px solid transparent; }   
#fab-root .fab-stock-hay{ border-color: color-mix(in srgb, var(--estado-bien-ink) 45%, transparent); }
#fab-root .fab-stock-nohay{ border-color: color-mix(in srgb, var(--estado-urgente-ink) 45%, transparent); }
#fab-root .fab-ped-grupo--manana{ border: 2px solid var(--accent); }
#fab-root .fab-plan-marco{ border:2px solid var(--accent); }   
#fab-root .bx-sep--eng + .fab-esp{ margin-top: 0; }
.fab-esp-pie-btn{ min-height:48px; padding:0 22px; font-size:var(--fs-base); display:inline-flex; align-items:center; gap:8px; }
.fab-esp .bx-vistas{ margin:0 0 var(--sp-5); }
.fab-esp-ped{ display:inline-flex; flex-direction:column; gap:2px; }
.fab-esp-chip{ display:inline-flex; align-items:center; gap:4px; padding:4px 10px; margin:2px 6px 2px 0; border-radius:var(--radius-pill);
  background:var(--sf2); font-size:var(--fs-sm); white-space:nowrap; }
.fab-esp-chip b{ font-variant-numeric:tabular-nums; }
.fab-esp-chip--fuera{ background:transparent; border:1px dashed var(--br); color:var(--tx-3); }
.fab-ped-sacar-l{ margin:0 0 16px 18px; padding:0; font-size:14px; color:var(--tx-2); line-height:1.6; }
.fab-esp-scr{ overflow-x:auto; overflow-y:hidden; }
.fab-esp-tabla td.fab-esp-col-ir{ padding-left:var(--sp-3); }
.fab-esp-ir{ display:flex; align-items:center; }
.fab-esp-env-btn--ico{ width:60px; min-width:60px; padding:0; justify-content:center; font-size:var(--fs-xl); }
@media (max-width: 1400px){
  .fab-esp-env .fab-pe-b{ width:40px; height:40px; }
  .fab-esp-env .fab-pe-in{ width:54px; height:40px; font-size:var(--fs-base); }
  .fab-esp-env-t{ padding:4px 6px; }
  .fab-esp-env-btn{ min-height:40px; padding:0 14px; }
}
.fab-esp-env-btn{ min-height:48px; padding:0 24px; font-size:var(--fs-base); align-self:center; }
.fab-esp-stock{ display:inline-flex; align-items:center; gap:6px; color:var(--tx-3); font-size:var(--fs-sm); }
.fab-esp-fila--stock td{ color:var(--tx-3); }
.fab-esp-tabla .fab-esp-sub{ display:block; font-size:var(--fs-2xs); color:var(--tx-3); font-weight:var(--fw-medium); white-space:nowrap; line-height:1.2; margin-top:2px; }
.fab-k-conf.fab-cap-conf{ max-width:900px; width:min(900px, 94vw); }
.fab-cap-form{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:var(--sp-4); margin-bottom:var(--sp-4); }
.fab-cap-nota{ font-size:var(--fs-sm); color:var(--tx-2); margin:calc(-1 * var(--sp-2)) 0 var(--sp-4); line-height:1.4; }
.fab-color-avisos{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:var(--sp-4); margin:var(--sp-5) 0 var(--sp-6); align-items:stretch; }
.fab-color-avisos > .fab-color-aviso:nth-child(3):last-child{ grid-column:1 / -1; width:calc(50% - var(--sp-4) / 2); justify-self:center; }
@media (max-width: 720px){ .fab-color-avisos{ grid-template-columns:1fr; } .fab-color-avisos > .fab-color-aviso:nth-child(3):last-child{ width:auto; } }
.fab-color-aviso{ display:flex; align-items:center; gap:var(--sp-3); padding:var(--sp-2) var(--sp-4); border-radius:var(--radius-sm); border:1.5px solid color-mix(in srgb, var(--ink) 22%, transparent);
  background:var(--estado-ojo); color:var(--ink); min-height:36px; }
.fab-color-aviso i{ font-size:var(--fs-lg); flex:0 0 auto; }
.fab-color-aviso b{ display:inline; font-size:var(--fs-sm); font-weight:var(--fw-dato); line-height:1.3; }
.fab-color-aviso span{ display:inline; font-size:var(--fs-sm); font-weight:var(--fw-detalle); opacity:.85; }
.fab-color-avisos + .fab-pe-zonas{ margin-top:0; }   
.fab-cap-col{ display:flex; flex-direction:column; gap:var(--sp-3); background:var(--sf2); border-radius:var(--radius); padding:var(--sp-3) var(--sp-4); }
.fab-cap-col .fab-esp-cap-t{ margin-bottom:var(--sp-1); }
.fab-cap-l{ display:grid; grid-template-columns:minmax(0,1fr) 88px; align-items:center; gap:var(--sp-3); font-size:var(--fs-md); color:var(--tx-2); }
.fab-cap-l span{ white-space:nowrap; }
.fab-cap-col .fab-cap-in{ width:88px; min-height:44px; font-size:var(--fs-lg); background:var(--sf); }
.fab-cap-in{ width:72px; padding:8px 10px; text-align:right; background:var(--sf2); border:0; border-radius:var(--radius-sm);
  font:inherit; font-size:var(--fs-md); font-weight:var(--fw-dato); color:var(--tx); font-variant-numeric:tabular-nums; }
.fab-cap-in:focus-visible{ outline:2px solid var(--accent); outline-offset:1px; }
@media (max-width:720px){ .fab-esp-caps, .fab-cap-form{ grid-auto-flow:row; grid-template-columns:1fr; } }
@media (max-width:1180px){ .fab-pe-zonas{ grid-template-columns:1fr; } }
.fab-rp{ margin-top:var(--sp-5); }
.fab-rp-fuera-btn{ display:block; margin-top:var(--sp-2); font-size:var(--fs-sm); color:var(--tx-3);
  background:transparent; border:none; padding:var(--sp-2) 0; cursor:pointer; text-align:left;
  font-weight:var(--fw-medium); }
.fab-rp-fuera-btn:hover{ color:var(--tx-2); text-decoration:underline; }
.fab-rp-fuera-lista{ margin-top:var(--sp-2); border-top:1px solid var(--br); padding-top:var(--sp-2);
  max-height:280px; overflow-y:auto; }
.fab-rp-fuera-fila{ display:grid; grid-template-columns:auto 1fr auto auto; gap:var(--sp-3);
  align-items:baseline; font-size:var(--fs-sm); color:var(--tx-2); padding:var(--sp-1) 0; }
.fab-rp-fuera-fila b{ color:var(--tx); font-weight:var(--fw-detalle); }
.fab-rp-fuera-fila .frf-fecha{ color:var(--tx-3); font-variant-numeric:tabular-nums; }
.fab-rp-fuera-mas{ font-size:var(--fs-sm); color:var(--tx-3); padding:var(--sp-2) 0 0; }
.fab-ensayo{ margin-top:var(--sp-4); }
.tk-buscar{ display:flex; align-items:center; gap:var(--sp-2); background:var(--sf3, #fff);
  border:1px solid var(--br); border-radius:10px; padding:var(--sp-2) var(--sp-3);
  margin-bottom:var(--sp-3); }
.tk-buscar:focus-within{ border-color:var(--accent); }
.tk-buscar i{ color:var(--tx-3); font-size:var(--fs-sm); }
.tk-buscar input{ border:none; outline:none; background:transparent; flex:1; min-width:0;
  font:inherit; color:inherit; font-size:var(--fs-sm); }
.tk-busq-hit{ padding:var(--sp-2) var(--sp-3); border-radius:10px; cursor:pointer; }
@media (hover:hover){ .tk-busq-hit:hover{ background:var(--accent-bg, rgba(0,0,0,.04)); } }
.tk-busq-cab{ display:flex; align-items:baseline; gap:var(--sp-2); font-size:var(--fs-sm); }
.tk-busq-cab b{ font-weight:var(--fw-detalle); }
.tk-busq-cab span{ color:var(--tx-2); min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tk-busq-cab small{ color:var(--tx-3); margin-left:auto; font-variant-numeric:tabular-nums; }
.tk-busq-txt{ font-size:var(--fs-sm); color:var(--tx-2); overflow:hidden; display:-webkit-box;
  -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.tk-busq-txt b{ color:var(--tx); font-weight:var(--fw-dato); }
.tk-busq-mas{ font-size:var(--fs-sm); color:var(--tx-3); padding:var(--sp-2) var(--sp-3); }
@keyframes tkMsgHit{ 0%{ background:color-mix(in srgb, var(--accent) 26%, transparent); }
  100%{ background:transparent; } }
.tk-msg-hit{ animation:tkMsgHit 2.2s var(--ease-out, ease-out) 1; }
.btn.fab-ensayo-btn{ margin-top:var(--sp-2); border-radius: var(--radius); }
.fab-palanca-est{ margin: var(--sp-2) 0 var(--sp-1); font-size: var(--fs-md); font-weight: var(--fw-detalle); }
.fab-palanca-quien{ font-size: var(--fs-xs); color: var(--tx-3); margin-top: var(--sp-1); }
.fab-palanca-mandos{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:var(--sp-2); }
.fab-palanca-mandos:has(> :nth-child(2):last-child){ grid-template-columns:repeat(2,minmax(0,1fr)); }
.fab-palanca-mandos:has(> :only-child){ grid-template-columns:1fr; }
.fab-palanca-b{ min-height:44px; justify-content:center; gap:8px; font-size:var(--fs-md); }
.btn.fab-palanca-b{ border-radius: var(--radius); }
@media (max-width: 640px){ .fab-palanca-mandos{ grid-template-columns:1fr; } }
.fab-palanca-libro{ margin-top:var(--sp-3); padding-top:var(--sp-3); border-top:1px solid var(--br); }
.fab-parte-previa{ margin-top:var(--sp-3); display:flex; flex-direction:column; gap:var(--sp-3); }
.fab-parte-folio{ zoom:.52; box-shadow:0 2px 14px rgba(17,17,17,.18); border-radius:2px; align-self:flex-start; }
@media (max-width: 900px){ .fab-parte-folio{ zoom:.38; } }
.fab-sbc{
  position:fixed; left:var(--sidebar-w); right:0; bottom:0; z-index:70;
  display:flex; align-items:center; gap:var(--sp-3);
  padding:10px var(--sp-5);
  background:var(--sf); border-top:1px solid var(--br);
  box-shadow:0 -6px 24px rgba(17,17,17,.10);
}
.fab-sbc-ico{ font-size:var(--fs-xl); color:var(--estado-ojo); flex:none; }
.fab-sbc-tx{ display:flex; flex-direction:column; gap:1px; min-width:0; flex:1 1 auto; }
.fab-sbc-tx b{ font-size:var(--fs-md); font-weight:var(--fw-fuerte); color:var(--tx); }
.fab-sbc-tx span{ font-size:var(--fs-sm); color:var(--tx-2); line-height:1.35; }
.fab-sbc-cajon{ font-family:var(--mono); font-size:var(--fs-xs); background:var(--sf2);
  border-radius:var(--radius-xs); padding:1px 6px; }
.btn.fab-sbc-salir{ flex:none; min-height:40px; white-space:nowrap; }
body.bx-con-sandbox #content{ padding-bottom:96px; }
body.bx-con-sandbox #fabrica-switcher,
body.bx-con-sandbox #view-switcher{ bottom:86px; }
body.bx-con-sandbox:has(#fabrica-switcher) #content,
body.bx-con-sandbox:has(#view-switcher) #content{ padding-bottom:170px; }
@media (max-width: 768px){
  .fab-sbc{ left:0; }
  body.sidebar-open .fab-sbc{ display:none !important; }
}
@media (max-width: 700px){
  .fab-sbc{ flex-wrap:wrap; padding:var(--sp-2) var(--sp-3); }
  .fab-sbc-tx{ flex:1 1 100%; order:2; }
  .btn.fab-sbc-salir{ order:1; margin-left:auto; }
  body.bx-con-sandbox #content{ padding-bottom:136px; }
  body.bx-con-sandbox #fabrica-switcher,
  body.bx-con-sandbox #view-switcher{ bottom:126px; }
  body.bx-con-sandbox:has(#fabrica-switcher) #content{ padding-bottom:210px; }
}
.fab-enf{ margin-bottom:var(--sp-4); }
.fab-enf-tit{ font-size:var(--fs-sm); font-weight:var(--fw-detalle); color:var(--tx-2);
  margin:var(--sp-3) 0 var(--sp-2); }
.fab-enf-f{ display:flex; gap:var(--sp-3); align-items:baseline; padding:10px 0; }
.fab-enf-f + .fab-enf-f{ border-top:1px solid var(--br); }
.fab-enf-f > .bx-est{ flex:none; min-width:190px; font-size:var(--fs-md); font-weight:var(--fw-detalle); }
.fab-enf-txt{ font-size:var(--fs-md); color:var(--tx-2); min-width:0; }
.fab-enf-hecho{ display:block; margin-top:3px; font-size:var(--fs-xs); color:var(--tx-3); }
@media (max-width: 700px){ .fab-enf-f{ flex-direction:column; gap:4px; } .fab-enf-f > .bx-est{ min-width:0; } }
.fab-palanca-libro .fab-palanca-b{ width:100%; }
.fab-rec{ display:flex; flex-direction:column; gap:var(--sp-3); }
.fab-rec-resumen{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:var(--sp-2); }
.fab-rec-cifra{ background:var(--sf); border-radius:var(--radius); padding:var(--sp-3); text-align:center; }
.fab-rec-cifra b{ display:block; font-size:var(--fs-2xl); font-weight:var(--fw-dato); line-height:1.1; }
.fab-rec-cifra small{ display:block; margin-top:4px; font-size:var(--fs-xs); color:var(--tx-2); }
.fab-rec-mas{ color:var(--estado-ojo-ink); }
.fab-rec-menos{ color:var(--estado-urgente-ink); }
.fab-rec-tabla{ overflow:auto; max-height:52vh; border:1px solid var(--br); border-radius:var(--radius); }
.fab-rec-tabla thead th{ position:sticky; top:0; z-index:1; background:var(--bg); }
.fab-rec-tabla tbody td{ background:transparent; }
.fab-rec-tabla tbody tr:nth-child(even){ background:color-mix(in srgb, var(--tx) 2.5%, transparent); }
[data-theme="dark"] .fab-rec-tabla tbody tr:nth-child(even){ background:rgba(255,255,255,.04); }
.fab-rec-sub{ display:block; font-size:var(--fs-xs); color:var(--tx-3); }
.fab-rec-foto{ font-variant-numeric:tabular-nums; color:var(--tx-2); }
.fab-rec-in{ width:96px; min-height:44px; font-size:var(--fs-md); text-align:center; font-variant-numeric:tabular-nums; }
.fab-rec-dif{ font-size:var(--fs-xs); color:var(--tx-3); white-space:nowrap; }
.fab-rec-dif--mas{ color:var(--estado-ojo-ink); font-weight:var(--fw-detalle); }
.fab-rec-dif--menos{ color:var(--estado-urgente-ink); font-weight:var(--fw-detalle); }
.fab-rec-pie{ display:flex; gap:8px; justify-content:flex-end; flex-wrap:wrap; }
.btn.fab-rec-b{ min-height:44px; border-radius:var(--radius); gap:8px; font-size:var(--fs-md); }
.fab-rec-addbox{ max-width:520px; }
.fab-rec-add-campos{ display:grid; gap:var(--sp-2); margin-bottom:var(--sp-3); }
.fab-rec-add-campos label{ display:grid; gap:4px; font-size:var(--fs-sm); color:var(--tx-2); }
.fab-rec-add-campos input, .fab-rec-add-campos select{ min-height:44px; font-size:var(--fs-md); }
@media (max-width: 900px){ .fab-rec-resumen{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.fab-ensayo-txt{ font-size:var(--fs-sm); color:var(--tx-2); margin:var(--sp-2) 0 var(--sp-3); }
.fab-ensayo-veredicto{ font-size:var(--fs-lg); font-weight:var(--fw-fuerte); margin:var(--sp-4) 0 var(--sp-3); }
.fab-ensayo-veredicto--ok{ color:var(--estado-ok-ink, #1d7a3c); }
.fab-ensayo-veredicto--ambar{ color:var(--estado-ojo-ink, #8a6100); }
.fab-ensayo-veredicto--mal{ color:var(--estado-urgente-ink, #b3261e); }
.fab-ensayo-paso{ display:grid; grid-template-columns:auto auto 1fr; gap:var(--sp-3); align-items:baseline;
  padding:var(--sp-2) 0; border-top:1px solid var(--br); font-size:var(--fs-sm); }
.fab-ensayo-paso b{ font-weight:var(--fw-detalle); color:var(--tx); white-space:nowrap; }
.fab-ensayo-paso .fab-ensayo-det{ color:var(--tx-2); }
.fab-ensayo-ico{ font-weight:var(--fw-fuerte); }
.fab-ensayo-paso--ok .fab-ensayo-ico{ color:var(--estado-ok-ink, #1d7a3c); }
.fab-ensayo-paso--ambar .fab-ensayo-ico{ color:var(--estado-ojo-ink, #8a6100); }
.fab-ensayo-paso--mal .fab-ensayo-ico{ color:var(--estado-urgente-ink, #b3261e); }
.fab-bdg{ display:inline-flex; align-items:center; gap:4px; padding:2px 8px; border-radius:8px;
  font-size:12px; line-height:16px; font-weight:var(--fw-body); white-space:nowrap;
  background:color-mix(in srgb, var(--tx) 7%, transparent); color:var(--tx-2); }
.fab-bdg--ojo{ background:color-mix(in srgb, var(--estado-ojo) 22%, transparent);
  color:var(--estado-ojo-ink); }
.fab-bdg--mal{ background:color-mix(in srgb, var(--estado-urgente) 15%, transparent);
  color:var(--estado-urgente-ink); }
.fab-bdg--info{ background:color-mix(in srgb, var(--azul-apple) 15%, transparent);
  color:var(--azul-apple); }
.fab-bdg--dist{ background:var(--accent); color:#3a2a00; font-weight:var(--fw-fuerte); }
.fab-bdg--app{ background:var(--fab-app-ink); color:#fff; font-weight:var(--fw-fuerte); }
.fab-bdg--cli{ background:var(--azul-apple); color:#fff; font-weight:var(--fw-fuerte); }
.fab-bdg-pip{ width:8px; height:8px; border-radius:3px; border:1.25px solid currentColor;
  flex:none; }
.fab-bdg-pip--medio{ background:linear-gradient(to top, currentColor 50%, transparent 50%); }
.fab-bdg-pip--lleno{ background:currentColor; }
.fab-cam{ display:grid; grid-template-columns:30px minmax(0,1fr); gap:var(--sp-2); align-items:center; min-width:0; }
.fab-cam-i{ width:30px; height:30px; border-radius:var(--radius-sm); display:grid; place-items:center;
  background:var(--sf2); color:var(--tx-2); }
.fab-cam-i i{ font-size:var(--fs-sm); line-height:1; }
.fab-bdg--pru { background:var(--estado-ojo); color:#16161a; font-weight:var(--fw-fuerte); letter-spacing:.04em; }
.fab-bdg--appn { background:var(--bando-appnueva); color:#16161a; font-weight:var(--fw-fuerte); letter-spacing:.04em; }
.fab-bdg--appn svg { width:1.25em; height:1.25em; margin:-.15em 0; flex:0 0 auto; fill:currentColor; }
.fab-cam--azul .fab-cam-i{ background:var(--azul-apple); color:#fff; }
.fab-cam--bien .fab-cam-i{ background:var(--estado-bien); color:#fff; }
.fab-cam--mal  .fab-cam-i{ background:var(--estado-urgente); color:#fff; }
.fab-cam-tx{ display:grid; min-width:0; line-height:1.2; }
.fab-cam-tx b, .fab-cam-tx small{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fab-cam-tx b{ font-size:var(--fs-sm); font-weight:var(--fw-fuerte); }
.fab-cam-tx small{ font-size:var(--fs-xs); font-weight:var(--fw-detalle); color:var(--tx-3); }
.fab-cam--azul .fab-cam-tx b{ color:var(--azul-apple); }
.fab-cam--bien .fab-cam-tx b{ color:var(--estado-bien-ink); }
.fab-cam--mal  .fab-cam-tx b{ color:var(--estado-urgente-ink); }
.fab-avm-velo{ position:fixed; inset:0; z-index:90; display:grid; place-items:center; padding:var(--sp-6);
  background:var(--scrim); animation:fab-avm-velo 200ms var(--ease-out) both; }
.fab-avm-velo.fuera{ animation:fab-avm-fuera 180ms var(--ease-out) both; }
.fab-avm-recordar{
  display:flex; align-items:center; gap:var(--sp-2);
  padding:var(--sp-2) var(--sp-4); border:0; border-radius:var(--radius-pill);
  background:var(--estado-ojo-ink); color:#fff; cursor:pointer;
  font:inherit; font-size:var(--fs-sm); font-weight:var(--fw-dato);
  box-shadow:var(--shadow); max-width:min(92vw, 560px);
  transition:transform var(--dur-press) var(--ease-out);
}
.fab-avm-recordar > span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fab-avm-recordar > b{ font-weight:var(--fw-fuerte); text-decoration:underline; text-underline-offset:2px; flex:none; }
.fab-avm-recordar > i{ flex:none; }
.sync-badge-slot{ position:relative; }
.sync-badge--pulsable{ cursor:pointer; }
.bx-fuentes{
  position:absolute; top:calc(100% + var(--sp-2)); right:0; z-index:5110;
  min-width:260px; padding:var(--sp-3);
  background:var(--sf); border-radius:var(--radius-sm);
  box-shadow:0 14px 40px rgba(0,0,0,.18), 0 2px 8px rgba(0,0,0,.1); text-align:left;
}
.bx-fuentes-h{
  font-size:var(--fs-xs); font-weight:var(--fw-fuerte); color:var(--tx-2);
  text-transform:uppercase; letter-spacing:.04em; margin-bottom:var(--sp-2);
}
.bx-fuentes{ min-width:356px; padding:var(--sp-4); }
.bx-via{
  display:grid; grid-template-columns:10px minmax(0,1fr) auto; align-items:center;
  column-gap:var(--sp-3); padding:var(--sp-3) var(--sp-1); font-size:var(--fs-sm);
}
.bx-via + .bx-via{ border-top:1px solid var(--br); }
.bx-via-luz{ width:10px; height:10px; border-radius:50%; }
.bx-via-n{ color:var(--tx); font-weight:var(--fw-dato); white-space:nowrap; display:flex; align-items:baseline; gap:var(--sp-2); min-width:0; }
.bx-via-n small{ font-size:var(--fs-xs); color:var(--tx-2); font-weight:var(--fw-detalle); }
.bx-via-marca{ display:inline-flex; align-items:center; gap:6px; align-self:center; }
.bx-via-marca svg{ width:auto; height:14px; flex:none; }
.bx-via-marca b{ font-weight:var(--fw-fuerte); }
.bx-via-t{ color:var(--tx-2); font-variant-numeric:tabular-nums; white-space:nowrap; text-align:right; }
.fab-avm-recordar:active{ transform:scale(.97); }
@media (hover:hover){ .fab-avm-recordar:hover{ filter:brightness(1.06); } }
.fab-avm{ width:min(680px, 100%); max-height:calc(100dvh - var(--sp-12)); overflow:auto; background:var(--bg);
  border-radius:calc(var(--radius) + var(--sp-2)); box-shadow:var(--shadow-lg); padding:var(--sp-6) var(--sp-6) var(--sp-5);
  animation:fab-avm-in 260ms var(--ease-out) both; }
.fab-avm-cab{ display:grid; grid-template-columns:56px minmax(0,1fr); gap:var(--sp-4); align-items:center; margin-bottom:var(--sp-5); }
.fab-avm-ico{ width:56px; height:56px; border-radius:var(--radius); display:grid; place-items:center; background:var(--estado-ojo); color:#3a2600; }
.fab-avm-ico i{ font-size:var(--fs-2xl); line-height:1; }
.fab-avm-t{ margin:0; font-size:var(--fs-2xl); font-weight:var(--fw-fuerte); letter-spacing:-.02em; line-height:1.1; color:var(--tx); }
.fab-avm-dia{ margin-top:var(--sp-1); font-size:var(--fs-md); font-weight:var(--fw-detalle); color:var(--tx-2); }
.fab-avm-bloque{ background:var(--sf); border:1.5px solid var(--br); border-radius:var(--radius); padding:var(--sp-4); margin-bottom:var(--sp-3); }
.fab-avm-bh{ display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3); margin-bottom:var(--sp-3); }
.fab-avm-bh b{ display:flex; align-items:center; gap:var(--sp-2); font-size:var(--fs-md); font-weight:var(--fw-fuerte); }
.fab-avm-bh b i{ color:var(--tx-2); }
.fab-avm-bh span{ font-size:var(--fs-sm); font-weight:var(--fw-fuerte); color:var(--estado-urgente-ink); white-space:nowrap; }
.fab-avm-fila{ display:grid; grid-template-columns:minmax(0,1fr) 150px 92px; gap:var(--sp-3); align-items:center;
  padding:var(--sp-3); border-radius:var(--radius-sm); }
.fab-avm-ped{ display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; gap:var(--sp-3); align-items:center;
  padding:var(--sp-2) var(--sp-3); border-radius:var(--radius-sm); }
.fab-avm-fila:nth-child(odd), .fab-avm-ped:nth-child(odd){ background:color-mix(in srgb, var(--tx) 3%, transparent); }
.fab-avm-pan{ font-size:var(--fs-md); font-weight:var(--fw-fuerte); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fab-avm-pan small{ margin-left:var(--sp-2); font-size:var(--fs-xs); font-weight:var(--fw-fuerte); color:var(--tx-3); text-transform:uppercase; letter-spacing:.04em; }
.fab-avm-barra{ display:grid; gap:var(--sp-1); }
.fab-avm-barra > i{ display:block; height:8px; border-radius:var(--radius-pill); background:var(--sf3); overflow:hidden; }
.fab-avm-barra > i > i{ display:block; height:100%; background:var(--estado-bien); border-radius:var(--radius-pill); }
.fab-avm-barra em{ font-style:normal; font-size:var(--fs-xs); font-weight:var(--fw-fuerte); color:var(--tx-2); font-variant-numeric:tabular-nums; }
.fab-avm-falta{ justify-self:end; white-space:nowrap; font-size:var(--fs-md); font-weight:var(--fw-fuerte); color:var(--estado-urgente-ink); font-variant-numeric:tabular-nums; }
.fab-avm-num{ display:flex; align-items:center; gap:var(--sp-2); font-weight:var(--fw-fuerte); font-variant-numeric:tabular-nums; white-space:nowrap; }
.fab-avm-cli{ font-weight:var(--fw-detalle); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fab-avm-cj{ font-weight:var(--fw-fuerte); white-space:nowrap; font-variant-numeric:tabular-nums; }
.fab-avm-cj small{ margin-left:var(--sp-1); font-size:var(--fs-xs); font-weight:var(--fw-detalle); color:var(--estado-ojo-ink); }
.fab-avm-ir{ display:inline-flex; align-items:center; gap:var(--sp-1); border:0; background:none; padding:var(--sp-1) 0;
  color:var(--azul-apple); font:inherit; font-weight:var(--fw-fuerte); cursor:pointer; white-space:nowrap; }
.fab-avm-pie{ display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3); flex-wrap:wrap; margin-top:var(--sp-2); }
.fab-avm-vistos{ font-size:var(--fs-sm); font-weight:var(--fw-detalle); color:var(--tx-3); }
.fab-avm-vistos b{ color:var(--tx-2); }
.fab-avm-acc{ display:flex; gap:var(--sp-3); margin-left:auto; }
.fab-avm-b{ display:inline-flex; align-items:center; justify-content:center; gap:var(--sp-2); border:0; border-radius:var(--radius);
  padding:var(--sp-3) var(--sp-5); font:inherit; font-size:var(--fs-md); font-weight:var(--fw-fuerte); cursor:pointer; white-space:nowrap;
  transition:transform var(--dur-press) var(--ease-out); }
.fab-avm-b:active{ transform:scale(.97); }
.fab-avm-b--sec{ background:var(--sf); box-shadow:inset 0 0 0 1.5px var(--br); color:var(--tx); }
.fab-avm-b--oro{ background:var(--accent); color:#3a2a00; min-width:170px; }
@keyframes fab-avm-velo{ from{ opacity:0; } }
@keyframes fab-avm-fuera{ to{ opacity:0; } }
@keyframes fab-avm-in{ from{ opacity:0; transform:translateY(10px) scale(.97); } }
@media (prefers-reduced-motion: reduce){ .fab-avm-velo, .fab-avm-velo.fuera, .fab-avm{ animation-duration:1ms; } }
@media (max-width: 560px){
  .fab-avm-fila{ grid-template-columns:minmax(0,1fr) auto; }
  .fab-avm-barra{ grid-column:1 / -1; grid-row:2; }
  .fab-avm-bh{ flex-wrap:wrap; row-gap:var(--sp-1); }
  .fab-avm-bh b{ white-space:nowrap; }
  .fab-avm-pan small{ display:block; margin:var(--sp-1) 0 0; }   
  .fab-avm-ped{ grid-template-columns:minmax(0,1fr) auto; grid-template-areas:'num ir' 'cli cj'; row-gap:var(--sp-1); }
  .fab-avm-num{ grid-area:num; } .fab-avm-cli{ grid-area:cli; } .fab-avm-cj{ grid-area:cj; justify-self:end; } .fab-avm-ir{ grid-area:ir; justify-self:end; }
}
.fab-fac-cab{ display:flex; align-items:center; justify-content:flex-end; gap:var(--sp-3); margin-bottom:var(--sp-3); }
.fab-fac-cab > .fab-k-btn-oro{ margin-right:auto; }
.fab-fac-cli{ display:inline-flex; align-items:center; gap:var(--sp-2); }
.fab-fac-cli-n{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media (max-width: 1600px){ .fab-fac-cli-n{ max-width:22ch; } }
.fab-fac-cobros{ display:flex; flex-wrap:wrap; gap:var(--sp-4); }
.fab-fac-quien{ margin:0 0 var(--sp-3); }
.fab-ped-est2{ display:flex; flex-direction:column; align-items:flex-start; gap:3px; }
.fab-ped-va{ transform:none !important; }
.fab-pg{ display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:var(--sp-3);
  align-items:start; }
@media (max-width:1100px){ .fab-pg{ grid-template-columns:1fr; } }
.fab-pg-main, .fab-pg-lado{ display:flex; flex-direction:column; gap:var(--sp-3); min-width:0; }
.fab-pg-cab{ display:flex; align-items:center; gap:var(--sp-3); flex-wrap:wrap; }
.fab-pg-volver{ width:34px; height:34px; border:0; border-radius:var(--radius-sm);
  background:var(--sf2); color:var(--tx); cursor:pointer; flex:none;
  transition:transform 120ms var(--ease-out), background 120ms var(--ease-out); }
.fab-pg-volver:hover{ background:var(--br); }
.fab-pg-volver:active{ transform:scale(.94); }
.fab-pg-tit{ min-width:0; }
.fab-pg-num{ display:flex; align-items:center; gap:var(--sp-2); flex-wrap:wrap; }
.fab-pg-num > b{ font-size:var(--fs-xl); font-weight:var(--fw-fuerte); letter-spacing:-.2px; }
.fab-pg-sub{ font-size:var(--fs-sm); color:var(--tx-3); margin-top:2px; }
.fab-pg-acc{ display:flex; align-items:center; gap:var(--sp-2); margin-left:auto; flex-wrap:wrap; }
.fab-pg-nav{ display:inline-flex; gap:4px; }
.fab-pg-fl{ width:30px; height:30px; border:0; border-radius:var(--radius-sm); background:var(--sf2);
  color:var(--tx-2); cursor:pointer; transition:background 120ms var(--ease-out); }
.fab-pg-fl:hover:not(:disabled){ background:var(--br); }
.fab-pg-fl:disabled{ opacity:.35; cursor:default; }
.fab-pg-cardtit{ display:flex; align-items:center; gap:var(--sp-3); margin-bottom:var(--sp-3); }
.fab-pg-cardctx{ font-size:var(--fs-sm); color:var(--tx-3); }
.fab-pg-pago{ display:flex; flex-direction:column; gap:6px; max-width:480px; }
.fab-pg-pago-f{ display:flex; justify-content:space-between; gap:var(--sp-4);
  font-size:var(--fs-sm); color:var(--tx-2); }
.fab-pg-pago-f b{ color:var(--tx); font-variant-numeric:tabular-nums; font-weight:var(--fw-medium); }
.fab-pg-pago-f--total{ border-top:1px solid var(--br); padding-top:6px; }
.fab-pg-pago-f--total b{ font-weight:var(--fw-dato); }
.fab-pg-pago-f--saldo b{ color:var(--estado-ojo-ink); font-weight:var(--fw-dato); }
.fab-crono-caja{ display:flex; gap:var(--sp-2); }
.fab-crono-caja input{ flex:1; min-width:0; padding:8px 12px; background:var(--sf);
  border:1px solid var(--br); border-radius:var(--radius-sm); font:inherit;
  font-size:var(--fs-sm); color:var(--tx); }
.fab-crono-caja input:focus-visible{ outline:2px solid var(--accent); outline-offset:1px; }
.fab-crono-priv{ font-size:var(--fs-xs); color:var(--tx-3); margin:4px 0 var(--sp-3); text-align:right; }
.fab-crono{ position:relative; padding-left:18px; }
.fab-crono::before{ content:''; position:absolute; left:5px; top:6px; bottom:6px; width:1.5px;
  background:var(--br); }
.fab-crono-dia{ font-size:var(--fs-xs); color:var(--tx-3); font-weight:var(--fw-detalle);
  margin:var(--sp-3) 0 var(--sp-2); margin-left:-18px; }
.fab-crono-dia:first-child{ margin-top:0; }
.fab-crono-ev{ position:relative; display:flex; gap:var(--sp-2); align-items:baseline;
  font-size:var(--fs-sm); color:var(--tx-2); padding:4px 0; }
.fab-crono-ev > i{ position:absolute; left:-17px; top:10px; width:7px; height:7px;
  border-radius:50%; background:var(--tx-3); }
.fab-crono-ev--com > i{ background:var(--gold-ink); }
[data-theme="dark"] .fab-crono-ev--com > i{ background:var(--accent); }
.fab-crono-ev > div{ flex:1; min-width:0; }
.fab-crono-ev b{ color:var(--tx); }
.fab-crono-quien{ font-weight:var(--fw-detalle); color:var(--tx); }
.fab-crono-hora{ font-size:var(--fs-xs); color:var(--tx-3); white-space:nowrap; }
.fab-pg-cli-cab{ margin-bottom:var(--sp-2); }
.fab-pg-cli-n{ border:0; background:none; padding:0; font:inherit; font-size:var(--fs-md);
  font-weight:var(--fw-dato); color:var(--gold-ink); cursor:pointer; text-align:left; }
[data-theme="dark"] .fab-pg-cli-n{ color:var(--accent); }
.fab-pg-cli-n:hover{ text-decoration:underline; }
.fab-pg-cli-ctx{ display:block; font-size:var(--fs-base); color:var(--tx-2); margin-top:3px; }
.fab-pg-nota{ font-size:var(--fs-sm); color:var(--tx-2); margin:0; }
.fab-pg-cli-n--hero{ font-size:var(--fs-xl); line-height:1.2; font-weight:var(--fw-fuerte);
  letter-spacing:-.2px; }
.fab-pg-cli-st{ display:flex; flex-wrap:wrap; gap:4px var(--sp-3); font-size:var(--fs-sm);
  color:var(--tx-2); margin:0 0 var(--sp-3); }
.fab-pg-cli-st b{ color:var(--tx); font-variant-numeric:tabular-nums; }
.fab-pg-nota-r{ font-size:var(--fs-sm); font-weight:var(--fw-detalle); color:var(--tx);
  margin:var(--sp-2) 0 4px; }
.fab-pg-nota-r i{ font-style:normal; font-weight:var(--fw-body); color:var(--tx-3); }
.fab-pg-notatx{ width:100%; padding:8px 12px; background:var(--sf); border:1px solid var(--br);
  border-radius:var(--radius-sm); font:inherit; font-size:var(--fs-sm); color:var(--tx);
  resize:vertical; min-height:44px; }
.fab-pg-notatx:focus-visible{ outline:2px solid var(--accent); outline-offset:1px; }
.fab-gh-sem{ position:absolute; top:-3px; bottom:-3px; width:2px; border-radius:1px;
  background:var(--azul-apple); }
.fab-gh-mini--sem{ background:var(--azul-apple); }
.fab-pe-gh{ border:none; background:var(--sf); padding:8px 14px; color:var(--tx-2); cursor:pointer;
  font:inherit; font-size:var(--fs-base); font-weight:var(--fw-medium); font-variant-numeric:tabular-nums;
  border-radius:10px;
  transition:transform 120ms var(--ease-out), color 120ms var(--ease-out), background 120ms var(--ease-out); }
.fab-pe-gh:hover{ color:var(--gold-ink); }
[data-theme="dark"] .fab-pe-gh:hover{ color:var(--accent); }
.fab-pe-gh:active{ transform:scale(.95); }
.fab-pe-gh:focus-visible{ outline:2px solid var(--accent); outline-offset:1px; }
.fab-nd-grip{ display:none; }
.fab-flow--libre .fab-nd-grip{ display:block; position:absolute; right:3px; bottom:3px;
  width:15px; height:15px; cursor:nwse-resize;
  border-right:2px solid var(--br-2); border-bottom:2px solid var(--br-2);
  border-radius:0 0 7px 0; opacity:.7; }
.fab-flow--libre .fab-nd-grip:hover{ opacity:1; border-color:var(--accent); }
.fab-nd{
  position:relative; z-index:1; display:flex; flex-direction:column;
  border:1px solid var(--br-2); border-radius:12px; overflow:hidden;
  background:var(--sf); box-shadow:var(--shadow-sm);
}
.fab-nd-cab{ display:flex; align-items:center; gap:10px; padding:14px 16px;
  background:var(--sf3); border-bottom:1px solid var(--br); }
.fab-nd-cab .fab-nd-ico{ background:var(--sf); }
.fab-nd-ico--emo{ width:46px; height:46px; border-radius:13px; font-size:22px; }
.fab-nd-est{ margin-left:auto; display:inline-flex; align-items:center; gap:6px; flex:none;
  font-size:var(--fs-sm); font-weight:var(--fw-detalle); color:var(--tx-2); white-space:nowrap; }
.fab-nd-est .fab-nd-punto{ margin-left:0; }
.fab-nd-punto--off{ background:#c3c3c3; animation:none; }
.fab-nd-ico{
  display:inline-flex; align-items:center; justify-content:center;
  width:28px; height:28px; border-radius:8px; flex-shrink:0;
  background:var(--sf3); color:var(--gold-ink); font-size:13px;
}
.fab-nd-t{ min-width:0; }
.fab-nd-t b{ display:block; font-size:var(--fs-lg); font-weight:var(--fw-fuerte);
  letter-spacing:-.01em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fab-nd-t span{ display:block; font-size:var(--fs-sm); color:var(--tx-3);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fab-nd-punto{ width:7px; height:7px; border-radius:var(--radius-pill); background:var(--accent);
  margin-left:auto; flex-shrink:0; }
@media (prefers-reduced-motion: no-preference){
  .fab-nd--vivo .fab-nd-punto{ animation:bxLatir 1.8s var(--ease-out) infinite; }
}
@keyframes bxLatir{ 0%,100%{ box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 55%, transparent); }
  70%{ box-shadow:0 0 0 6px transparent; } }
.fab-nd-f{ display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3);
  padding:9px 16px; border-bottom:1px solid var(--br); font-size:var(--fs-base); }
.fab-nd-f > span{ color:var(--tx-2); }
.fab-nd-f > b{ font-weight:var(--fw-dato); font-variant-numeric:tabular-nums; }
.fab-nd-f b i{ font-style:normal; font-size:var(--fs-sm); color:var(--tx-3); font-weight:var(--fw-body); }
.fab-nd-f b em{ font-style:normal; color:var(--tx-3); font-weight:var(--fw-body); }
.fab-nd-v--mal{ color:var(--estado-urgente-ink); }
.fab-nd-f--ctx{ background:var(--sf3); }
.fab-nd-f--ctx > b{ font-weight:var(--fw-medium); color:var(--tx-2); font-size:var(--fs-sm); }
.fab-nd-f--ctx i{ margin-right:5px; color:var(--tx-3); }
.fab-nd-ocu{ display:flex; flex-direction:column; gap:6px; padding:14px 16px 0; }
.fab-nd-ocu-h{ display:flex; justify-content:space-between; font-size:var(--fs-sm); color:var(--tx-3); }
.fab-nd-ocu-h b{ color:var(--tx-2); font-weight:var(--fw-dato); font-variant-numeric:tabular-nums; }
.fab-nd-ocu-p{ height:8px; border-radius:var(--radius-pill); background:var(--sf3); overflow:hidden; }
.fab-nd-ocu-p i{ display:block; height:100%; border-radius:inherit;
  background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 78%, #000), var(--accent));
  transition:width .3s var(--ease-out); }
.fab-nd-ocu-pie{ font-size:var(--fs-sm); color:var(--tx-3); }
.fab-nd-tres{ display:grid; grid-template-columns:1fr 1fr 1fr; padding:16px 6px 12px; }
.fab-nd-tres > div{ text-align:center; padding:0 6px; min-width:0; }
.fab-nd-tres > div + div{ border-left:1px solid var(--br); }
.fab-nd-tres b{ display:block; font-size:var(--fs-2xl); font-weight:var(--fw-fuerte); letter-spacing:-.02em;
  font-variant-numeric:tabular-nums; line-height:1.1; }
.fab-nd-tres b i{ font-style:normal; font-size:13px; font-weight:var(--fw-dato);
  color:var(--gold-ink); display:block; margin-top:2px; }
[data-theme="dark"] .fab-nd-tres b i{ color:var(--accent); }
.fab-nd-tres span{ display:block; font-size:var(--fs-sm); color:var(--tx-2); margin-top:4px; }
.fab-nd-tres-mal b, .fab-nd-tres-mal b i{ color:var(--estado-urgente-ink); }
.fab-nd-ocu2{ padding:0 16px 4px; }
.fab-nd-ult{ display:flex; align-items:center; justify-content:space-between; gap:6px var(--sp-3);
  flex-wrap:wrap; margin:10px 16px 14px; padding:9px 12px; background:var(--sf3);
  border:1.5px solid var(--br-2); border-radius:10px;
  font-size:var(--fs-sm); color:var(--tx-3); }
.fab-nd-ult > span{ white-space:nowrap; }
.fab-nd-ult b{ color:var(--tx-2); font-weight:var(--fw-detalle); font-variant-numeric:tabular-nums; }
.fab-nd-ritmo{ padding:14px 16px 16px; }
.fab-nd-ritmo > span{ display:block; font-size:var(--fs-sm); color:var(--tx-3); margin-bottom:6px; }
.fab-nd-ritmo-b{ display:flex; align-items:flex-end; gap:4px; height:34px; }
.fab-nd-ritmo-b i{ flex:1; border-radius:2px;
  background:color-mix(in srgb, var(--accent) 55%, transparent); }
.fab-nd-ritmo--nada .fab-nd-ritmo-b i{ background:var(--br-2); }
.fab-nd-ritmo--nada > span em{ font-style:normal; color:var(--tx-3); }
.fab-nd-cuello{ display:flex; align-items:center; gap:7px; margin:0 16px 16px;
  padding:7px 11px; border-radius:8px; background:var(--sf3);
  color:var(--estado-ojo-ink); font-size:var(--fs-sm); font-weight:var(--fw-dato); }
.fab-nd--salida{ border-style:dashed; }
.fab-nd--salida .fab-nd-ico{ color:var(--tx-2); }
.fab-cable-pil{ fill:var(--sf); stroke:var(--br-2); stroke-width:1; }
.fab-flow-ley{ display:flex; flex-wrap:wrap; gap:var(--sp-5); margin-top:var(--sp-4);
  font-size:var(--fs-sm); color:var(--tx-3); }
.fab-flow-ley span{ display:inline-flex; align-items:center; gap:7px; }
.fab-ley-punto{ width:7px; height:7px; border-radius:var(--radius-pill); background:var(--accent); }
.fab-ley-vivo{ width:18px; height:3px; border-radius:2px; background:var(--accent); }
.fab-ley-mal{ width:18px; height:3px; border-radius:2px; background:var(--estado-urgente); }
@media (max-width:900px){
  .fab-flow-fila{ flex-direction:column; }
  .fab-flow-fila--sal > span{ display:none; }
  .fab-flow-svg{ display:none; }
}
.fab-cad{ display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:var(--sp-4);
  align-items:stretch; }
.fab-cad-stack{ display:flex; flex-direction:column; gap:var(--sp-4); }
.fab-cad-stack .fab-cad-panel{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:var(--sp-4); align-items:start; }
.fab-cad-mapa{ display:flex; flex-direction:column; }
.fab-cad-mapa .fab-flow{ flex:1; justify-content:center; }
.fab-cad-mapa .fab-flow--libre{ flex:none; }
.fab-cad-panel{ display:flex; flex-direction:column; gap:var(--sp-4); min-width:0; }
.fab-cp{ padding:18px 20px; }
.fab-cp--lista{ padding:18px 20px 8px; }
.fab-cp-h{ display:flex; justify-content:space-between; align-items:baseline; gap:var(--sp-2);
  font-size:var(--fs-sm); font-weight:var(--fw-dato); letter-spacing:.04em;
  text-transform:uppercase; color:var(--tx-3); margin-bottom:var(--sp-3); }
.fab-cp-h span{ text-transform:none; letter-spacing:0; font-weight:var(--fw-body); }
.fab-cp-hero{ display:flex; align-items:baseline; gap:6px; font-size:var(--fs-display);
  font-weight:var(--fw-black); line-height:1; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.fab-cp-hero i{ font-style:normal; font-size:var(--fs-lg); font-weight:var(--fw-detalle); color:var(--tx-3); }
.fab-cp-sub{ font-size:var(--fs-base); color:var(--tx-2); margin-top:4px; }
.fab-cp-cel{ display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-3); margin-top:var(--sp-4); }
.fab-cp-cel > div{ background:var(--sf3); border-radius:10px; padding:10px 12px; }
.fab-cp-cel b{ display:block; font-size:var(--fs-2xl); font-weight:var(--fw-fuerte);
  font-variant-numeric:tabular-nums; line-height:1.1; }
.fab-cp-cel span{ display:block; font-size:var(--fs-sm); color:var(--tx-3); }
.fab-cp-mal{ color:var(--estado-urgente-ink); }
.fab-cp-bien{ color:var(--estado-bien-ink); }
.fab-cp-cajas{ background:var(--sf3); border-radius:10px; padding:10px 12px; margin-top:var(--sp-3);
  font-size:var(--fs-sm); color:var(--tx-2); }
.fab-cp-cajas b{ font-size:var(--fs-2xl); font-weight:var(--fw-fuerte); color:var(--tx);
  font-variant-numeric:tabular-nums; margin-right:2px; }
.fab-cp-cajas span{ display:block; color:var(--tx-3); }
.fab-cp{ position:relative; padding-left:44px; }
.fab-cp-svg{ display:block; width:100%; height:170px; }
.fab-cp-ejes{ position:absolute; left:0; top:0; bottom:0; width:40px; display:flex;
  flex-direction:column; justify-content:space-between; align-items:flex-end;
  font-size:var(--fs-xs); color:var(--tx-3); font-variant-numeric:tabular-nums;
  padding:2px 0 2px; pointer-events:none; }
.fab-cp-pico{ position:absolute; transform:translate(-50%, calc(-100% - 10px)); white-space:nowrap;
  background:var(--tx); color:var(--sf); font-size:var(--fs-xs); border-radius:999px;
  padding:3px var(--sp-2); pointer-events:none; }
.fab-cp-pico b{ font-size:var(--fs-sm); font-variant-numeric:tabular-nums; }
.fab-cp-hx{ display:flex; justify-content:space-between; font-size:var(--fs-sm); color:var(--tx-3);
  padding-left:44px; }
.fab-cp-pie{ margin-top:2px; padding-left:44px; font-size:var(--fs-xs); color:var(--tx-3); }
.fab-cp-vivo{ display:inline-flex; align-items:center; gap:6px; color:var(--tx-3); }
.fab-cp-vivo::before{ content:''; width:6px; height:6px; border-radius:var(--radius-pill);
  background:var(--estado-bien); }
.fab-cp-ap{ display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center;
  gap:var(--sp-3); padding:7px 0; border-bottom:1px solid var(--br); }
.fab-cp-ap:last-child{ border-bottom:0; }
.fab-cp-ap-h{ font-size:var(--fs-sm); color:var(--tx-3); font-variant-numeric:tabular-nums; }
.fab-cp-ap b{ display:block; font-size:var(--fs-sm); font-weight:var(--fw-medium); }
.fab-cp-ap span{ font-size:var(--fs-sm); color:var(--tx-3); }
.fab-cp-ap-d{ font-size:var(--fs-sm); font-weight:var(--fw-detalle); font-variant-numeric:tabular-nums; }
@media (max-width:1100px){ .fab-cad{ grid-template-columns:1fr; } }
button.fab-nd{ font:inherit; text-align:left; cursor:pointer; padding:0;
  transition:border-color var(--dur-fast) var(--ease-out); }
button.fab-nd:hover{ border-color:var(--br-2); }
button.fab-nd:active{ transform:scale(.995); transition:transform var(--dur-press) var(--ease-out); }
button.fab-nd:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
.fab-nd--sel::after{ content:''; position:absolute; inset:-3px; border:2px solid var(--accent);
  border-radius:15px; pointer-events:none; z-index:2; }
.fab-cp-cab{ display:flex; align-items:center; gap:10px; }
.fab-cp-atras{
  display:inline-flex; align-items:center; justify-content:center;
  width:30px; height:30px; flex-shrink:0; border:1px solid var(--br-2); border-radius:8px;
  background:var(--sf); color:var(--tx-2); cursor:pointer; font-size:var(--fs-sm);
  transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);
}
.fab-cp-atras:hover{ color:var(--tx); border-color:var(--accent); }
.fab-cp-atras:active{ transform:scale(.94); transition:transform var(--dur-press) var(--ease-out); }
.fab-cp-atras:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
.fab-cp-cab-t b{ display:block; font-size:var(--fs-lg); font-weight:var(--fw-dato); }
.fab-cp-cab-t span{ display:block; font-size:var(--fs-sm); color:var(--tx-3); }
.fab-cp-pan{ display:flex; align-items:center; gap:10px; padding:9px 0;
  border-bottom:1px solid var(--br); font-size:var(--fs-base); }
.fab-cp-pan:last-child{ border-bottom:0; }
.fab-cp-pan i{ width:7px; height:7px; border-radius:var(--radius-pill); background:var(--accent);
  flex-shrink:0; }
.fab-cp-pan b{ flex:1; min-width:0; font-weight:var(--fw-detalle); overflow:hidden;
  text-overflow:ellipsis; white-space:nowrap; }
.fab-cp-pan span{ color:var(--tx-2); font-variant-numeric:tabular-nums; }
.fab-cp-vacio{ font-size:var(--fs-base); color:var(--tx-3); padding-bottom:10px; }
.fab-cp-merma{ display:flex; align-items:center; gap:10px; margin-top:var(--sp-4);
  padding-top:var(--sp-3); border-top:1px solid var(--br); }
.fab-cp-merma i{ color:var(--estado-urgente-ink); font-size:var(--fs-lg); }
.fab-cp-merma span{ display:block; font-size:var(--fs-sm); color:var(--tx-3); }
.fab-cp-merma b{ display:block; font-size:var(--fs-xl); font-weight:var(--fw-fuerte);
  color:var(--estado-urgente-ink); font-variant-numeric:tabular-nums; }
.tb-top { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-4);
          flex-wrap:wrap; margin-bottom:var(--sp-5); }
.fab-k-conf.tb-vaciar-conf { max-width:660px; }
.tb-vaciar-lista { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:var(--sp-3); margin-bottom:var(--sp-5); }
.tb-vaciar-card { position:relative; display:flex; flex-direction:column; align-items:center; gap:var(--sp-2);
                  padding:var(--sp-6) var(--sp-3) var(--sp-4); border-radius:var(--radius); background:var(--sf);
                  border:2px solid color-mix(in srgb, var(--tx) 16%, transparent); cursor:pointer; font-family:var(--font);
                  color:var(--tx); text-align:center; min-height:150px;
                  transition:border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out); }
.tb-vaciar-card:active { transform:scale(.97); }
.tb-vaciar-card.on { border-color:var(--accent); box-shadow:inset 0 0 0 1px var(--accent); }
.tb-vaciar-card--vacia { opacity:.55; }
.tb-vaciar-ico { font-size:var(--fs-3xl); color:var(--tx-3); line-height:1; }
.tb-vaciar-card.on .tb-vaciar-ico { color:var(--gold-ink); }
.tb-vaciar-card b { font-size:var(--fs-lg); font-weight:var(--fw-fuerte); line-height:1.15; }
.tb-vaciar-n { font-size:var(--fs-sm); color:var(--tx-2); }
.tb-vaciar-nota { display:flex; align-items:center; gap:var(--sp-2); margin:0 0 var(--sp-4); font-size:var(--fs-base); font-weight:var(--fw-detalle); color:var(--estado-ojo-ink); }
.tb-vaciar-nota i { color:var(--estado-ojo); flex:none; }
.tb-vaciar-check { position:absolute; top:10px; right:10px; width:26px; height:26px; border-radius:50%;
                   border:2px solid color-mix(in srgb, var(--tx) 25%, transparent); background:var(--sf);
                   display:grid; place-items:center; color:transparent; font-size:var(--fs-xs); }
.tb-vaciar-card.on .tb-vaciar-check { background:var(--accent); border-color:var(--accent); color:var(--ink); }
#tb-vaciar-ok:disabled { opacity:.45; cursor:default; }
@media (max-width: 640px) { .tb-vaciar-lista { grid-template-columns:1fr; } .tb-vaciar-card { min-height:0; flex-direction:row; text-align:left; padding:var(--sp-4) var(--sp-5); } }
.tb-top > .tb-prueba { flex:1 1 100%; }
.tb-marco { background:var(--sf2); border-radius:var(--radius-sm); padding:var(--sp-4);
            display:flex; justify-content:center; }
.tb-pantalla { width:100%; max-width:760px; min-height:520px; background:var(--sf);
               border-radius:var(--radius-sm); overflow:hidden; display:flex; flex-direction:column;
               container-type:size; }
.tb-pie { margin:var(--sp-3) 0 0; font-size:var(--fs-base); color:var(--tx-3); text-align:center; }
.tb-cab { display:flex; align-items:center; justify-content:space-between;
          padding:var(--sp-4) var(--sp-5); background:var(--sf3); }
.tb-cab--amasado { background:var(--estado-bien-ink); color:#fff; }   
.tb-cab--horno   { background:var(--estado-ojo); color:var(--ink); }
.tb-cab--empaq   { background:var(--azul-apple); color:#fff; }
.tb-cab[class*="tb-cab--"] .tb-cab-donde b,
.tb-cab[class*="tb-cab--"] .tb-cab-donde span,
.tb-cab[class*="tb-cab--"] .tb-cab-hora { color:inherit; }
.tb-cab[class*="tb-cab--"] .tb-cab-donde span { opacity:1; }   
.tb-cab-donde { display:flex; flex-direction:column; gap:2px; min-width:0; }
.tb-cab-donde b { font-size:var(--fs-2xl); font-weight:var(--fw-black); letter-spacing:-.01em; }
.tb-cab-donde span { font-size:var(--fs-md); color:var(--tx-2); font-weight:var(--fw-detalle); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }   
.tb-cab-hora { font-size:var(--fs-2xl); font-weight:var(--fw-dato); font-variant-numeric:tabular-nums; }
.tb-cuerpo { padding:var(--sp-5); display:flex; flex-direction:column; gap:var(--sp-4); flex:1;
             min-height:0; overflow-y:auto; }
.tb-que { display:flex; flex-direction:column; gap:var(--sp-1); }
.tb-que span { font-size:var(--fs-md); color:var(--tx-3); }
.tb-que b { font-size:var(--fs-3xl); font-weight:var(--fw-fuerte); line-height:1.1; }
.tb-que em { font-size:var(--fs-md); color:var(--tx-2); font-style:normal; }
.tb-accion { min-height:72px; border:0; border-radius:var(--radius-sm); cursor:pointer;
             background:var(--accent); color:var(--ink);
             font-family:var(--font); font-size:var(--fs-2xl); font-weight:var(--fw-fuerte);
             transition:transform var(--dur-fast) var(--ease-out); }
.tb-accion:active { transform:scale(.97); }
.tb-accion--2 { background:var(--sf3); color:var(--tx); }
.tb-accion--flojo { background:transparent; color:var(--tx-2); min-height:56px;
                    font-size:var(--fs-lg); font-weight:var(--fw-detalle); }
.tb-paso { display:grid; grid-template-columns:72px minmax(0,1fr) 72px; gap:var(--sp-3);
           align-items:center; }
.tb-mm { height:72px; border:0; border-radius:var(--radius-sm); background:var(--sf3);
         color:var(--tx); font-size:var(--fs-3xl); font-weight:var(--fw-fuerte); cursor:pointer;
         transition:transform var(--dur-fast) var(--ease-out); }
.tb-mm:active { transform:scale(.94); }
.tb-paso-n { text-align:center; display:flex; flex-direction:column; gap:2px; }
.tb-paso-n b { font-size:44px; font-weight:var(--fw-black); line-height:1;
               font-variant-numeric:tabular-nums; }
.tb-paso-n span { font-size:var(--fs-md); color:var(--tx-2); }
.tb-sep { font-size:var(--fs-md); color:var(--tx-3); text-align:center; }
.tb-clic-pin { display:flex; flex-direction:column; align-items:center; gap:var(--sp-4); padding:var(--sp-4) 0; }
.tb-pin-tit { font-size:var(--fs-lg); font-weight:var(--fw-dato); color:var(--tx);
              display:flex; align-items:center; gap:var(--sp-2); }
.tb-pin-tit i { color:var(--accent); }
.tb-pin-dots { display:flex; gap:var(--sp-3); }
.tb-pin-dot { width:16px; height:16px; border-radius:50%; background:var(--sf3); border:1.5px solid var(--br-2); }
.tb-pin-dot.on { background:var(--accent); border-color:var(--accent); }
.tb-pin-err { font-size:var(--fs-md); color:var(--estado-urgente-ink); font-weight:var(--fw-detalle); }
.tb-pin-grid { display:grid; grid-template-columns:repeat(3, 84px); gap:var(--sp-3); }
.tb-pin-k { height:84px; border:0; border-radius:var(--radius-sm); background:var(--sf3); color:var(--tx);
            font-family:var(--font); font-size:var(--fs-2xl); font-weight:var(--fw-fuerte); cursor:pointer;
            transition:transform var(--dur-fast) var(--ease-out); }
.tb-pin-k:active { transform:scale(.94); }
.tb-pin-k--sec { background:transparent; color:var(--tx-2); font-size:var(--fs-xl); }
.tb-pin-k--ok { background:var(--accent); color:var(--ink); }
.tb-clic-quien { display:flex; align-items:center; gap:var(--sp-2); font-size:var(--fs-md); color:var(--tx-2);
                 align-self:flex-start; }
.tb-clic-quien i { color:var(--accent); }
.tb-clic-quien b { color:var(--tx); font-weight:var(--fw-dato); }
.tb-clic-sinred { color:var(--estado-sindatos-ink); font-size:var(--fs-sm); }
.tb-clic-cambiar { border:0; background:transparent; color:var(--azul-apple); font-family:var(--font);
                   font-size:var(--fs-sm); font-weight:var(--fw-detalle); cursor:pointer; padding:2px 4px; }
.tb-clic-cab { display:flex; align-items:center; gap:var(--sp-3); flex-wrap:wrap; }
.tb-clic-foto { width:64px; height:64px; border-radius:16px; flex:none; }
.tb-clic-h { display:flex; flex-direction:column; gap:2px; min-width:0; flex:1; }
.tb-clic-h b { font-size:var(--fs-xl); font-weight:var(--fw-fuerte); line-height:1.1; }
.tb-clic-h span { font-size:var(--fs-md); color:var(--tx-2); }
.tb-clic-start { display:flex; flex-direction:column; gap:var(--sp-3); align-items:center; padding:var(--sp-4) 0; }
.tb-clic-empezar { width:100%; min-height:132px; border:0; border-radius:var(--radius); cursor:pointer;
                   background:var(--accent); color:var(--ink); font-family:var(--font);
                   font-size:var(--fs-3xl); font-weight:var(--fw-black); letter-spacing:-.01em;
                   display:flex; align-items:center; justify-content:center; gap:var(--sp-4);
                   box-shadow:0 8px 0 var(--accent-deep);
                   transition:transform var(--dur-fast) var(--ease-out),
                              box-shadow var(--dur-fast) var(--ease-out); }
.tb-clic-empezar i { font-size:var(--fs-2xl); }
.tb-clic-empezar:active { transform:translateY(6px); box-shadow:0 2px 0 var(--accent-deep); }
@media (prefers-reduced-motion:reduce) { .tb-clic-empezar { transition:none; } }
.tb-clic-top { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3); }
.tb-clic-reloj { display:flex; align-items:center; gap:var(--sp-2); font-size:var(--fs-lg); color:var(--tx-2); }
.tb-clic-reloj i { color:var(--tx-3); }
.tb-clic-reloj b { font-size:var(--fs-xl); font-weight:var(--fw-dato); color:var(--tx); font-variant-numeric:tabular-nums; }
.tb-clic-num { text-align:center; display:flex; flex-direction:column; gap:2px; }
.tb-clic-num b { font-size:calc(var(--fs-display) * 1.5); font-weight:var(--fw-black); line-height:1; color:var(--tx); font-variant-numeric:tabular-nums; }
.tb-clic-num span { font-size:var(--fs-md); color:var(--tx-2); }
.tb-clic-boom { animation:tbClicBoom var(--tb-dur) var(--ease-out); }
@keyframes tbClicBoom { 0% { transform:scale(1); } 35% { transform:scale(1.14); } 100% { transform:scale(1); } }
@media (prefers-reduced-motion: reduce) { .tb-clic-boom { animation:none; } }
.tb-clic-teclas { margin:0 auto; }
.tb-clic-cuerpo { --tk:104px; --tkg:var(--sp-3); --clic-izq:min(42vw, 320px); display:grid;
  grid-template-columns:var(--clic-izq) auto;
  justify-content:center; gap:var(--sp-6); align-items:center; flex:1 1 auto; min-height:0; }
.tb-clic-izq { display:flex; flex-direction:column; align-items:flex-end; text-align:right; gap:var(--sp-4);
               min-width:0; }
.tb-clic-izq .tb-clic-num { text-align:right; align-items:flex-end; width:100%; }
.tb-clic-izq .tb-clic-num b { font-size:calc(var(--fs-display) * 2.1); }
.tb-clic-izq .tb-clic-num span { font-size:var(--fs-lg); width:100%; line-height:1.3; min-height:2.6em; }
.tb-clic-cuerpo .tb-pin-grid { grid-template-columns:repeat(3, var(--tk)); gap:var(--tkg); }
.tb-clic-cuerpo .tb-pin-k { height:var(--tk); font-size:calc(var(--fs-2xl) * 1.25); }
.tb-clic-cuerpo .tb-pin-k.tb-clic-fin { font-size:var(--fs-xs); line-height:1.05; padding:0 2px; }
.tb-clic-cuerpo .tb-pin-k.tb-clic-fin i { font-size:var(--fs-2xl); }
@container (max-width: 640px) { .tb-clic-cuerpo { grid-template-columns:1fr; justify-items:center; }
  .tb-clic-izq { align-items:center; } .tb-clic-izq .tb-clic-num { text-align:center; align-items:center; } }
.tb-pin-k.tb-clic-fin { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px;
                        background:var(--green); color:#fff; font-size:var(--fs-sm); font-weight:var(--fw-dato); }
.tb-pin-k.tb-clic-fin i { font-size:var(--fs-xl); }
.tb-pin-k.tb-clic-fin:disabled { opacity:.35; cursor:default; transform:none; }
.tb-previa { --tb-previa-k:.34; display:grid; grid-template-columns:auto minmax(0,1fr); gap:var(--sp-5); align-items:center;
             padding:var(--sp-2) 0; min-height:0; }
.tb-previa-etq { width:calc(812px * var(--tb-previa-k)); height:calc(812px * var(--tb-previa-k)); overflow:hidden;
                 border-radius:var(--radius-sm); box-shadow:0 0 0 1px var(--br); background:#ffffff; flex:none; }
.tb-previa-etq > .et-caja { transform:scale(var(--tb-previa-k)); transform-origin:top left; border:0; border-radius:0; }
.tb-previa-sin { width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center;
                 gap:var(--sp-2); padding:var(--sp-4); text-align:center; color:var(--tx-2); font-size:var(--fs-md); line-height:1.35; }
.tb-previa-sin i { font-size:var(--fs-2xl); color:var(--tx-3); }
.tb-previa-lado { display:flex; flex-direction:column; gap:var(--sp-3); min-width:0; }
.tb-previa-txt { font-size:var(--fs-lg); color:var(--tx-2); line-height:1.35; }
.tb-previa-txt b { color:var(--tx); font-weight:var(--fw-fuerte); }
.tb-previa-cuenta { font-size:var(--fs-xl); font-weight:var(--fw-dato); color:var(--tx); }
.tb-previa-cuenta em { font-style:normal; color:var(--gold-ink); font-variant-numeric:tabular-nums; }
.tb-previa-barra { height:var(--bar-h); border-radius:99px; background:var(--sf2); overflow:hidden; }
.tb-previa-barra i { display:block; height:100%; background:var(--accent); border-radius:99px; transform-origin:left center;
                     animation-name:tb-previa-vacia; animation-timing-function:linear; animation-fill-mode:forwards; }
@keyframes tb-previa-vacia { from { transform:scaleX(1); } to { transform:scaleX(0); } }
@media (prefers-reduced-motion:reduce){ .tb-previa-barra i { animation:none; transform:none; } }
.tb-previa-btns { margin-top:var(--sp-1); }
@container (max-width: 560px) {
  .tb-previa { grid-template-columns:1fr; justify-items:center; }
  .tb-previa-lado { width:100%; }
}
.tb-fh-lista { display:flex; flex-direction:column; gap:var(--sp-3); }
.tb-fh-fila { display:grid; grid-template-columns:minmax(120px, 0.7fr) minmax(0, 1.6fr); gap:var(--sp-4);
  align-items:center; padding:var(--sp-4) var(--sp-4); border:2px solid var(--br);
  border-radius:var(--radius); background:var(--sf); }
.tb-fh-fila--urgente { border-color:var(--estado-urgente); box-shadow:inset 0 0 0 1px var(--estado-urgente); }
.tb-fh-fila--urgente .tb-fh-nom b { color:var(--estado-urgente-ink); }
.tb-fh-fila--urgente .tb-fh-nom span { color:var(--estado-urgente-ink); font-weight:var(--fw-dato); }
.tb-fh-nom { display:flex; flex-direction:column; gap:2px; min-width:0; }
.tb-prueba-mas { margin-top:var(--sp-4); width:100%; min-height:56px; border:0; border-radius:var(--radius-sm);
                 background:var(--sf3); color:var(--tx-2); font-family:var(--font); font-size:var(--fs-md);
                 font-weight:var(--fw-detalle); cursor:pointer; display:flex; align-items:center; justify-content:center; gap:var(--sp-2); }
.tb-prueba-mas:active { transform:scale(.98); }
.tb-prueba { margin-top:var(--sp-4); padding:var(--sp-4); border-radius:var(--radius-sm); background:var(--sf2); }
.tb-prueba-t { display:flex; align-items:center; justify-content:space-between; margin-bottom:var(--sp-3); }
.tb-prueba-t b { font-size:var(--fs-lg); font-weight:var(--fw-fuerte); }
.tb-prueba-x { border:0; background:var(--sf3); color:var(--tx-2); border-radius:var(--radius-pill); padding:var(--sp-2) var(--sp-4);
               font-family:var(--font); font-size:var(--fs-sm); font-weight:var(--fw-detalle); cursor:pointer; min-height:40px; }
.tb-prueba-chips { display:flex; flex-wrap:wrap; gap:var(--sp-2); }
.tb-prueba-chip { border:0; background:var(--sf); color:var(--tx); border-radius:var(--radius-pill); padding:0 var(--sp-4); min-height:48px;
                  font-family:var(--font); font-size:var(--fs-md); font-weight:var(--fw-detalle); cursor:pointer; }
.tb-prueba-chip:active { transform:scale(.97); background:var(--accent); }
.tb-fh-nom b { font-size:var(--fs-4xl); font-weight:var(--fw-black); line-height:1.05; letter-spacing:-.01em; }
.tb-fh-nom span { font-size:var(--fs-md); color:var(--tx-2); }
.tb-fh-ctrl { display:flex; flex-direction:column; gap:var(--sp-3); min-width:0; }
.tb-fh-set { display:flex; align-items:center; gap:var(--sp-3); }
.tb-fh-num { display:inline-flex; align-items:center; gap:var(--sp-2); flex:none; }
.tb-fh-mm { width:68px; height:68px; border:0; border-radius:16px; background:var(--sf3); color:var(--tx);
  font-size:var(--fs-3xl); font-weight:var(--fw-fuerte); cursor:pointer;
  transition:transform var(--dur-fast) var(--ease-out); }
.tb-fh-mm:active { transform:scale(.94); }
.tb-fh-mm:disabled { opacity:.4; cursor:default; }
.tb-fh-num b { min-width:72px; text-align:center; font-size:var(--fs-4xl); font-weight:var(--fw-black);
  font-variant-numeric:tabular-nums; }
.tb-fh-carros { display:flex; flex-wrap:wrap; gap:var(--sp-2); }
.tb-fh-carro { min-height:56px; padding:0 var(--sp-4); border:2px solid var(--br-2); border-radius:14px;
  background:var(--sf); color:var(--tx); font:inherit; font-size:var(--fs-lg); font-weight:var(--fw-fuerte); cursor:pointer;
  transition:transform var(--dur-fast) var(--ease-out); }
.tb-fh-carro b { font-weight:var(--fw-black); font-variant-numeric:tabular-nums; }
.tb-fh-carro:active { transform:scale(.96); }
.tb-fh-carro--on { background:var(--accent); border-color:var(--accent); color:#231a00; }
.tb-fh-slider { flex:1; min-width:0; height:28px; margin-inline:18px; border-radius:999px;
  -webkit-appearance:none; appearance:none; cursor:pointer; outline:none;
  background:linear-gradient(to right, var(--accent) 0 var(--fh-pct,100%), var(--sf3) var(--fh-pct,100%) 100%); }
.tb-fh-slider::-webkit-slider-runnable-track { height:28px; border-radius:999px; background:transparent; }
.tb-fh-slider::-webkit-slider-thumb { -webkit-appearance:none; width:36px; height:36px; border-radius:50%;
  background:var(--accent); border:5px solid var(--tx); box-shadow:none; cursor:pointer; margin-top:-4px; }
.tb-fh-slider::-moz-range-thumb { width:36px; height:36px; border-radius:50%; background:var(--accent);
  border:5px solid var(--tx); box-shadow:none; cursor:pointer; }
.tb-fh-slider:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.tb-fh-acc { display:grid; grid-template-columns:auto 1fr; gap:var(--sp-3); align-items:stretch; }
.tb-fh-merma { border:1.5px solid var(--br-2); background:var(--sf); color:var(--estado-urgente-ink);
  border-radius:var(--radius-sm); padding:0 var(--sp-5); min-height:76px; font-family:var(--font);
  font-size:var(--fs-lg); font-weight:var(--fw-dato); cursor:pointer; display:inline-flex;
  align-items:center; gap:var(--sp-2); justify-content:center; transition:transform var(--dur-fast) var(--ease-out); }
.tb-fh-merma:active { transform:scale(.96); }
.tb-accion--fh { min-height:76px; background:var(--green); color:#fff; font-size:var(--fs-xl); font-weight:var(--fw-black); }
.pk-wrap { display:flex; flex-direction:column; gap:var(--sp-5); }
.pk-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)); gap:var(--sp-4); }
.pk-card { background:var(--sf); border:1px solid var(--br); border-radius:var(--radius);
           padding:var(--sp-3); display:flex; flex-direction:column; gap:var(--sp-2);
           transition:border-color var(--dur-fast) var(--ease-out); }
.pk-card.on { border-color:var(--accent); }
.pk-foto-w { aspect-ratio:4/3; border-radius:calc(var(--radius) - 4px); overflow:hidden;
             background:#000; }
.pk-foto { width:100%; height:100%; object-fit:cover; object-position:50% 78%; display:block;
           transform:scale(1.12); transform-origin:50% 80%; }
.pk-foto--web { object-fit:contain; object-position:50% 50%; transform:none; padding:0; }
.pk-foto--nada { width:100%; height:100%; display:flex; align-items:center; justify-content:center;
                 color:var(--tx-3); font-size:var(--fs-3xl); }
.pk-nombre { font-size:var(--fs-lg); font-weight:var(--fw-dato); line-height:1.2; }
.pk-sub { font-size:var(--fs-sm); color:var(--tx-2); }
.pk-precio { font-size:var(--fs-xl); font-weight:var(--fw-fuerte); font-variant-numeric:tabular-nums; }
.pk-precio em { font-style:normal; font-size:.8em; font-weight:var(--fw-detalle); color:var(--tx-2); }
.pk-paso { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; gap:var(--sp-2); }
.pk-paso:first-of-type { margin-top:auto; }
.pk-mm { height:44px; border:0; border-radius:var(--radius-sm); background:var(--sf3); color:var(--tx);
         font-size:var(--fs-xl); font-weight:var(--fw-fuerte); cursor:pointer;
         transition:transform var(--dur-fast) var(--ease-out); }
.pk-mm:active { transform:scale(.94); }
.pk-qty { height:44px; display:flex; align-items:center; gap:var(--sp-2); padding:0 var(--sp-3);
          border:1px solid var(--br); border-radius:var(--radius-sm); background:var(--sf); }
.pk-qty span { font-size:var(--fs-sm); color:var(--tx-2); font-weight:var(--fw-detalle); white-space:nowrap; }
.pk-cj { flex:1; min-width:0; border:0; background:transparent; text-align:right;
         color:var(--tx); font-family:var(--font); font-size:var(--fs-lg);
         font-weight:var(--fw-dato); font-variant-numeric:tabular-nums; }
.pk-cj:focus { outline:none; }
.pk-cj::-webkit-outer-spin-button, .pk-cj::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.pk-cj { -moz-appearance:textfield; appearance:textfield; }
.pk-bar-eq { color:var(--tx-2); font-size:var(--fs-sm); }
.pk-bar { position:sticky; bottom:12px; z-index:50; display:flex; align-items:center; gap:var(--sp-3);
          background:var(--sf); border:1px solid var(--br); border-radius:var(--radius);
          padding:var(--sp-3) var(--sp-4); box-shadow:var(--shadow-lg);
          opacity:0; transform:translateY(8px); pointer-events:none;
          transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out); }
.pk-bar.on { opacity:1; transform:translateY(0); pointer-events:auto; }
.pk-bar-n { font-size:var(--fs-base); color:var(--tx-2); white-space:nowrap; }
.pk-bar-n b { font-size:var(--fs-lg); color:var(--tx); }
.pk-nota { flex:1; min-width:0; height:40px; padding:0 var(--sp-3); border:1px solid var(--br);
           border-radius:var(--radius-sm); background:var(--sf2); color:var(--tx);
           font-family:var(--font); font-size:var(--fs-base); }
.pk-bar-t { font-size:var(--fs-xl); font-weight:var(--fw-fuerte); font-variant-numeric:tabular-nums;
            white-space:nowrap; }
.pk-anular { border:0; background:var(--sf2); color:var(--estado-urgente-ink); cursor:pointer;
             padding:var(--sp-1) var(--sp-3); border-radius:var(--radius-sm);
             font-family:var(--font); font-size:var(--fs-sm); font-weight:var(--fw-detalle); }
.pk-pie { margin:var(--sp-3) 0 0; font-size:var(--fs-sm); color:var(--tx-2); }
.pk-pie a { color:var(--gold-ink); font-weight:var(--fw-detalle); }
@media (max-width:720px) {
  .pk-grid { grid-template-columns:repeat(auto-fill, minmax(160px, 1fr)); gap:var(--sp-3); }
  .pk-bar { flex-wrap:wrap; }
  .pk-nota { order:3; flex-basis:100%; }
}
body.bx-dist-simple .nav-item[data-page="overview"],   
body.bx-dist-simple .nav-item[data-page="sold-products"],
body.bx-dist-simple .nav-item[data-page="stock"],
body.bx-dist-simple .nav-item[data-page="products"],
body.bx-dist-simple .nav-item[data-page="tarifas"],
body.bx-dist-simple .nav-item[data-page="results"],
body.bx-dist-simple .nav-item[data-page="map"],
body.bx-dist-simple .nav-item[data-page="team"],
body.bx-dist-simple #guide-btn { display:none !important; }   
body.bx-dist-simple .nav-section:has(.nav-item[data-page="clients-active"]),
body.bx-dist-simple #nav-dist-correo { display:none !important; }
body.bx-dist-simple #rank-banner { display:none !important; }
body.bx-dist-simple #nav-dist .new-sale-btn { display:none !important; }
body.bx-dist-simple #nav-dist-finanzas { display:none !important; }
.pk-hola { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-4); flex-wrap:wrap; }
.pk-hola-tx { display:flex; flex-direction:column; gap:var(--sp-1); }
.pk-hola-tx b { font-size:var(--fs-2xl); font-weight:var(--fw-fuerte); }
.pk-hola-tx span { font-size:var(--fs-base); color:var(--tx-2); }
.pk-hola-btn { white-space:nowrap; }
.tb-preg { display:flex; flex-direction:column; gap:var(--sp-3); }
.tb-preg-q { margin:0; font-size:var(--fs-xl); font-weight:var(--fw-detalle); line-height:1.4; }
.tb-preg-q b { font-weight:var(--fw-fuerte); }
.tb-preg-btns { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:var(--sp-3); }
.tb-preg-btn { min-height:72px; border:0; border-radius:var(--radius-sm); cursor:pointer;
               background:var(--sf3); color:var(--tx); font-family:var(--font);
               font-size:var(--fs-xl); font-weight:var(--fw-fuerte);
               display:flex; align-items:center; justify-content:center; gap:var(--sp-2);
               transition:transform var(--dur-fast) var(--ease-out); }
.tb-preg-btn:active { transform:scale(.97); }
.tb-preg-btn--si { background:var(--accent); color:var(--ink); }
.tb-preg-btn--no { background:var(--estado-urgente); color:#fff; }
.tb-preg-btn--ancha { width:100%; }
@media (max-width:720px) { .tb-preg-btns { grid-template-columns:1fr; } }
.tb-lista { display:flex; flex-direction:column; gap:var(--sp-3); }
.tb-dia { display:inline-flex; gap:4px; padding:3px; border-radius:var(--radius-pill);
  background:color-mix(in srgb, #000 16%, transparent); }
.tb-dia-b { min-height:34px; padding:0 14px; display:flex; align-items:center; justify-content:center;
  border:0; border-radius:var(--radius-pill); background:transparent; color:#fff;
  font-family:inherit; font-size:var(--fs-sm); font-weight:var(--fw-fuerte); cursor:pointer;
  transition:background var(--tb-dur) var(--ease-out), color var(--tb-dur) var(--ease-out); }
.tb-dia-b:active { transform:scale(.97); }
.tb-dia-b--on { background:#fff; }
.tb-cab--amasado .tb-dia-b--on { color:var(--estado-bien-ink); }
.tb-cab--horno   .tb-dia-b--on { color:var(--ink); }
.tb-cab--empaq   .tb-dia-b--on { color:var(--azul-apple); }
.tb-man-aviso { display:grid; gap:var(--sp-1); padding:var(--sp-4) var(--sp-5); border-radius:var(--radius-sm);
  background:var(--azul-apple); color:#fff; text-align:center; }
.tb-man-aviso > i { font-size:var(--fs-2xl); }
.tb-man-aviso > b { font-size:var(--fs-2xl); font-weight:var(--fw-black); letter-spacing:.01em; line-height:1.15; }
.tb-man-aviso > span { font-size:var(--fs-lg); font-weight:var(--fw-dato); }
.tb-man-aviso > em { font-style:normal; font-size:var(--fs-base); font-weight:var(--fw-dato); color:color-mix(in srgb, #fff 82%, var(--azul-apple)); }
.tb-lista--manana .tb-fila { cursor:default; }
.tb-lista--manana .tb-fila:active { transform:none; }
.tb-turno { font-size:var(--fs-xl); color:var(--tx); font-weight:var(--fw-fuerte);
            margin:var(--sp-5) 0 var(--sp-4); padding-bottom:var(--sp-3); border-bottom:5px solid var(--br); }
.tb-turno:first-child { margin-top:0; }
.tb-turno--manana { border-bottom-color:var(--accent); }
.tb-turno--tarde { border-bottom-color:var(--azul-apple); }
.tb-turno--noche { border-bottom-color:var(--turno-noche); }
.tb-turno--urgente { border-bottom-color:var(--estado-urgente); color:var(--estado-urgente-ink);
  display:flex; align-items:center; gap:var(--sp-2); }
.tb-fila--urgente { box-shadow:inset 0 0 0 3px var(--estado-urgente); }
.tb-fila--urgente .tb-fila-q b { color:var(--estado-urgente-ink); }
.tb-turno:not(:first-child) { margin-top:var(--sp-6); padding-top:var(--sp-5); border-top:2px solid var(--br); }
.tb-fila { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3);
           min-height:104px; padding:0 var(--sp-5); border-radius:var(--radius-sm);
           background:var(--sf3); }
.tb-fila.on { background:var(--accent); color:var(--ink); }
.tb-fila-q { display:flex; flex-direction:column; min-width:0; }
.tb-fila-q b { font-size:var(--fs-3xl); font-weight:var(--fw-black); letter-spacing:-.01em; white-space:nowrap; }
.tb-fila-q span { font-size:var(--fs-md); opacity:.75; font-weight:var(--fw-detalle); }
.tb-fila-n { font-size:var(--fs-4xl); font-weight:var(--fw-black); font-variant-numeric:tabular-nums; }
.tb-fila--amas { min-height:92px; }
.tb-fila--amas .tb-fila-q b { font-size:var(--fs-3xl); }
.tb-fila--amas .tb-fila-q span { font-size:var(--fs-base); }
.tb-fila--amas .tb-fila-n { font-size:var(--fs-4xl); }
.tb-fila--amas .tb-amasada { width:13px; height:66px; }
.tb-fila--manana .tb-amasada { background:color-mix(in srgb, var(--accent) 30%, transparent); opacity:1; }
.tb-fila--manana .tb-amasada.hecha { background:var(--accent); }
.tb-fila--tarde .tb-amasada { background:color-mix(in srgb, var(--azul-apple) 32%, transparent); opacity:1; }
.tb-fila--tarde .tb-amasada.hecha { background:var(--azul-apple); }
.tb-fila--noche .tb-amasada { background:color-mix(in srgb, var(--turno-noche) 32%, transparent); opacity:1; }
.tb-fila--noche .tb-amasada.hecha { background:var(--turno-noche); }
.tb-turno-caja { border:2px solid var(--br); border-radius:var(--radius); padding:var(--sp-4); display:flex; flex-direction:column; gap:var(--sp-3); background:var(--sf); margin-bottom:var(--sp-4); }
.tb-turno-caja:last-child { margin-bottom:0; }
.tb-turno-caja .tb-turno, .tb-turno-caja .tb-turno:not(:first-child) { margin-top:0; padding-top:0; border-top:0; }
.tb-turno-caja--manana { border-color:color-mix(in srgb, var(--accent) 55%, var(--br)); }
.tb-turno-caja--tarde { border-color:color-mix(in srgb, var(--azul-apple) 45%, var(--br)); }
.tb-turno-caja--vacia { opacity:.62; border-style:dashed; }
.tb-turno-nada { font-size:var(--fs-md); color:var(--tx-2); padding:var(--sp-2) var(--sp-1); }
.tb-turno-caja--noche { border-color:color-mix(in srgb, var(--turno-noche) 55%, var(--br)); }
.tb-fila--amas { min-height:116px; display:grid; grid-template-columns:minmax(0,1fr) minmax(300px, 38%); align-items:center; gap:var(--sp-4); }
.tb-fila--amas .tb-fila-q b { font-size:var(--fs-4xl); display:flex; align-items:center; gap:var(--sp-2); }
.tb-fila--amas .tb-fila-q span { font-size:var(--fs-md); }
.tb-fila--amas .tb-amasadas { justify-content:flex-start; min-width:0; }
.tb-fila--amas .tb-amasada { flex:0 1 16px; width:auto; min-width:6px; height:80px; }
.tb-fila--amas .tb-amasadas b { margin-left:auto; padding-left:var(--sp-3); font-size:var(--fs-4xl); }
.tb-mov { display:inline-flex; align-items:center; gap:2px; font-size:var(--fs-xl); font-weight:var(--fw-fuerte); font-variant-numeric:tabular-nums; letter-spacing:0; }
.tb-mov--sube { color:var(--estado-bien-ink); }
.tb-mov--baja { color:var(--estado-urgente-ink); }
.tb-accion { min-height:96px; }
.tb-accion-t { display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:center; column-gap:var(--sp-2); row-gap:2px; line-height:1.1; }
.tb-accion-sub { flex-basis:100%; justify-content:center; font-size:var(--fs-md); font-weight:var(--fw-detalle); opacity:.78; letter-spacing:.01em; display:inline-flex; align-items:center; gap:6px; }
.tb-accion.hecho .tb-accion-sub, .tb-accion.cargando .tb-accion-sub { opacity:.55; }
.tb-preg-btn { min-height:96px; font-size:var(--fs-2xl); }
.tb-paso { grid-template-columns:88px minmax(0,1fr) 88px; }
.tb-mm { height:88px; font-size:var(--fs-3xl); }
.tb-ipad--mini .tb-fila--amas { min-height:52px; }
.tb-ipad--mini .tb-fila--amas .tb-fila-q b { font-size:var(--fs-base); }
.tb-ipad--mini .tb-fila--amas .tb-amasada { width:7px; height:40px; }
.tb-motivos { display:flex; flex-wrap:wrap; gap:var(--sp-2); }
.tb-motivo { flex:1 1 130px; min-height:64px; display:flex; align-items:center; justify-content:center;
             text-align:center; padding:0 var(--sp-3); border:0; border-radius:var(--radius-sm);
             background:var(--sf3); color:var(--tx); font-size:var(--fs-lg); font-weight:var(--fw-detalle); cursor:pointer; }
.tb-motivo:active { transform:scale(.97); }
.tb-motivo-nuevo { flex-basis:100%; background:var(--accent) !important; color:var(--ink) !important; }
.tb-merma-cuenta { margin:clamp(20px,5vh,64px) 0 var(--sp-5); }
.tb-atras { display:flex; align-items:center; justify-content:center; gap:var(--sp-3); width:100%;
            min-height:76px; margin-top:var(--sp-5); border:0; border-radius:var(--radius);
            background:var(--sf3); color:var(--tx); font-size:var(--fs-xl); font-weight:var(--fw-dato); cursor:pointer; }
.tb-atras:active { transform:scale(.98); }
.tb-mm:disabled { opacity:.32; cursor:not-allowed; }
.tb-mm:disabled:active { transform:none; }
.tb-nota { margin:0; font-size:var(--fs-md); color:var(--tx-2); line-height:1.55; }
.tb-vacio-cta { display:flex; flex-direction:column; align-items:center; gap:var(--sp-4);
  padding:var(--sp-6) var(--sp-4); text-align:center; }
.tb-sembrar { font-size:var(--fs-md); }
.tb-check { display:flex; align-items:center; gap:var(--sp-3); min-height:64px;
            padding:0 var(--sp-4); border-radius:var(--radius-sm); background:var(--sf3);
            font-size:var(--fs-xl); font-weight:var(--fw-detalle); cursor:pointer; }
.tb-check input { width:28px; height:28px; accent-color:var(--accent); }
.tb-palet { background:var(--sf3); border-radius:var(--radius-sm); padding:var(--sp-4);
            display:flex; flex-direction:column; gap:var(--sp-2); }
.tb-palet-h { display:flex; align-items:center; justify-content:space-between; }
.tb-palet-h b { font-size:var(--fs-xl); font-weight:var(--fw-dato); }
.tb-est { display:flex; align-items:center; gap:var(--sp-2); font-size:var(--fs-md); color:var(--tx-2); }
.tb-punto { width:10px; height:10px; border-radius:50%; background:var(--tx-3); }
.tb-punto.ok { background:var(--estado-bien, #16a34a); }
.tb-palet-barra { height:var(--bar-h); border-radius:var(--radius-pill); background:var(--sf2);
                  overflow:hidden; }
.tb-palet-barra i { display:block; height:100%; background:var(--accent); }
.tb-palet-p { font-size:var(--fs-md); color:var(--tx-2); }
.tb-fichar { padding:var(--sp-6); display:flex; flex-direction:column; gap:var(--sp-4);
             align-items:center; text-align:center; flex:1; justify-content:center; }
.tb-reloj { font-size:64px; font-weight:var(--fw-black); line-height:1;
            font-variant-numeric:tabular-nums; }
.tb-fichar-q { font-size:var(--fs-xl); color:var(--tx-2); }
.tb-qr { width:132px; height:132px; border-radius:var(--radius-sm); background:var(--sf3);
         display:grid; place-items:center; font-size:56px; color:var(--tx-3); }
.tb-pin { display:flex; gap:var(--sp-2); }
.tb-pin span { width:34px; height:44px; border-radius:var(--radius-sm); background:var(--sf3); }
.tb-fichar-btns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--sp-3);
                  width:100%; max-width:420px; }
.tb-guiada { position:relative; animation:tb-latido 1.8s var(--ease-out) infinite; }
@keyframes tb-latido {
  0%, 100% { box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 55%, transparent); }
  50%      { box-shadow:0 0 0 12px color-mix(in srgb, var(--accent) 0%, transparent); }
}
@media (prefers-reduced-motion: reduce) { .tb-guiada { animation:none; outline:3px solid var(--accent); outline-offset:3px; } }
@media (max-width: 720px) {
  .tb-paso { grid-template-columns:64px minmax(0,1fr) 64px; }
  .tb-fichar-btns { grid-template-columns:1fr; }
}
.tb-ipad {
  position:relative; width:100%; max-width:940px; aspect-ratio:16/10;
  background:#1b1b1f; border-radius:26px; padding:26px 18px;
  box-shadow:0 18px 40px rgba(17,17,17,.18); display:flex;
}
.tb-ipad-cam { position:absolute; top:11px; left:50%; transform:translateX(-50%);
               width:7px; height:7px; border-radius:50%; background:#3a3a42; }
.tb-ipad-barra { position:absolute; bottom:9px; left:50%; transform:translateX(-50%);
                 width:108px; height:4px; border-radius:var(--radius-pill); background:#4a4a52; }
.tb-ipad .tb-pantalla { max-width:none; min-height:0; flex:1; border-radius:6px; }
.tb-pantalla { touch-action:manipulation; -webkit-user-select:none; user-select:none;
               overscroll-behavior:contain; position:relative; }
.tb-pasos { display:flex; gap:var(--sp-2); margin:0 0 var(--sp-4); flex-wrap:wrap; }
.tb-pasob { display:flex; align-items:center; gap:var(--sp-2); border:0; cursor:pointer;
            padding:var(--sp-2) var(--sp-4); border-radius:var(--radius-pill);
            background:var(--sf2); color:var(--tx-2);
            font-family:var(--font); font-size:var(--fs-md); font-weight:var(--fw-detalle);
            transition:background var(--dur-fast) var(--ease-out); }
.tb-pasob b { display:grid; place-items:center; width:20px; height:20px; border-radius:50%;
              background:var(--sf3); color:var(--tx-3); font-size:var(--fs-sm); }
.tb-pasob.on { background:var(--accent); color:var(--ink); }
.tb-pasob.on b { background:rgba(17,17,17,.15); color:var(--ink); }
.tb-accion { position:relative; overflow:hidden; }
.tb-accion-aro { position:absolute; inset:0; background:rgba(17,17,17,.32); box-shadow:inset -3px 0 0 rgba(17,17,17,.55);
                 transform:scaleX(0); transform-origin:left; }
.tb-accion.cargando .tb-accion-aro { transform:scaleX(1); transition:transform .6s linear; }
.tb-accion.cargando .tb-accion-sub { opacity:.35; }
.tb-accion-ok { position:absolute; inset:0; display:none; align-items:center;
                justify-content:center; gap:var(--sp-2); background:var(--estado-bien, #16a34a);
                color:#fff; font-size:var(--fs-2xl); font-weight:var(--fw-fuerte); }
.tb-accion.hecho .tb-accion-ok { display:flex; }
.tb-accion-t { position:relative; }
.tb-cab-dcha { display:flex; align-items:center; gap:var(--sp-4); }
.tb-limpiar { display:flex; align-items:center; gap:var(--sp-2); min-height:44px;
              padding:0 var(--sp-4); border:0; border-radius:var(--radius-pill);
              background:var(--sf2); color:var(--tx-2); cursor:pointer;
              font-family:var(--font); font-size:var(--fs-md); font-weight:var(--fw-detalle); }
.tb-limpiar:active { transform:scale(.97); }
.tb-red { display:flex; align-items:center; gap:var(--sp-2); min-height:44px;
          padding:0 var(--sp-4); border:0; border-radius:var(--radius-pill);
          background:var(--sf2); color:var(--tx-2); cursor:pointer; white-space:nowrap;
          font-family:var(--font); font-size:var(--fs-md); font-weight:var(--fw-detalle); }
.tb-red:active { transform:scale(.97); }
.tb-cambios { display:flex; align-items:center; gap:var(--sp-2); min-height:44px; padding:0 var(--sp-4); border:0; border-radius:var(--radius-pill);
              background:var(--estado-ojo); color:var(--ink); cursor:pointer; white-space:nowrap;
              font-family:var(--font); font-size:var(--fs-md); font-weight:var(--fw-dato); }
.tb-cambios:active { transform:scale(.97); }
.tb-ahora { display:grid; grid-template-columns:auto minmax(0,1fr) auto auto auto; align-items:center; column-gap:var(--sp-4);
            width:100%; min-height:72px; margin-bottom:var(--sp-4); padding:0 var(--sp-5); border:0; border-radius:var(--radius-sm);
            background:var(--estado-bien); color:#fff; cursor:pointer; text-align:left; font-family:var(--font);
            transition:transform var(--dur-fast) var(--ease-out); }
.tb-ahora:active { transform:scale(.985); }
.tb-ahora-vivo { display:inline-flex; align-items:center; gap:var(--sp-2); font-size:var(--fs-md); font-weight:var(--fw-detalle); opacity:.92; white-space:nowrap; }
.tb-ahora-vivo i { font-size:10px; animation:tbAmasLate 1.15s ease-in-out infinite; }
.tb-ahora-pan { font-size:var(--fs-xl); font-weight:var(--fw-fuerte); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tb-ahora-n { font-size:var(--fs-md); font-weight:var(--fw-detalle); opacity:.92; white-space:nowrap; }
.tb-ahora-cron { font-size:var(--fs-2xl); font-weight:var(--fw-dato); font-variant-numeric:tabular-nums; }
.tb-ahora-ir { font-size:var(--fs-lg); opacity:.85; }
@media (prefers-reduced-motion:reduce) { .tb-ahora-vivo i { animation:none } }
.tb-red-punto { width:10px; height:10px; border-radius:50%; background:var(--tx-3); flex:0 0 auto; }
.tb-red[data-estado="ok"] .tb-red-punto { background:var(--estado-bien-ink); animation:tbRedLate 2s ease-in-out infinite; }
.tb-red[data-estado="ok"] { color:var(--estado-bien-ink); }
.tb-red[data-estado="sync"] .tb-red-punto { background:var(--estado-ojo-ink); animation:tbRedLate 1.15s ease-in-out infinite; }
.tb-red[data-estado="sync"] { color:var(--estado-ojo-ink); }
.tb-red[data-estado="off"] { color:#fff; background:var(--estado-urgente); font-weight:var(--fw-dato); }
.tb-red[data-estado="off"] .tb-red-punto { background:#fff; }
.tb-red[data-estado="probando"] .tb-red-punto { opacity:.5; }
@keyframes tbRedLate { 0%,100% { opacity:1; transform:scale(1) } 50% { opacity:.35; transform:scale(.82) } }
@media (prefers-reduced-motion:reduce) { .tb-red .tb-red-punto { animation:none } }
.tb-velo { position:absolute; inset:0; z-index:5; display:flex; flex-direction:column;
           align-items:center; justify-content:center; gap:var(--sp-3);
           background:var(--sf3); color:var(--tx);
           animation:tb-velo-in var(--tb-dur) var(--ease-out); }
.tb-velo i { font-size:56px; color:var(--accent); }
.tb-velo b { font-size:var(--fs-3xl); font-weight:var(--fw-fuerte); }
.tb-velo span { font-size:var(--fs-xl); color:var(--tx-2); }
.tb-velo.fuera { animation:tb-velo-out var(--tb-dur) var(--ease-out) forwards; }
@keyframes tb-velo-in  { from { opacity:0 } to { opacity:1 } }
@keyframes tb-velo-out { to { opacity:0 } }
.tb-fila { width:100%; border:0; cursor:pointer; text-align:left; font-family:var(--font); }
.tb-fila-v { font-size:var(--fs-2xl); }
.tb-motivo { min-height:64px; padding:0 var(--sp-5); border:0; border-radius:var(--radius-sm);
             background:var(--sf3); color:var(--tx); cursor:pointer; font-family:var(--font);
             font-size:var(--fs-lg); font-weight:var(--fw-detalle);
             transition:transform var(--dur-fast) var(--ease-out); }
.tb-motivo:active { transform:scale(.97); }
.tb-reloj-mini { display:flex; align-items:baseline; gap:var(--sp-3); }
.tb-reloj-mini b { font-size:var(--fs-3xl); font-weight:var(--fw-black);
                   font-variant-numeric:tabular-nums; }
.tb-reloj-mini span { font-size:var(--fs-md); color:var(--tx-2); }
.tb-quien { display:flex; flex-direction:column; align-items:center; gap:var(--sp-2); }
.tb-avatar { width:84px; height:84px; border-radius:50%; background:var(--accent); color:var(--ink);
             display:grid; place-items:center; font-size:var(--fs-3xl); font-weight:var(--fw-black); }
.tb-quien b { font-size:var(--fs-3xl); font-weight:var(--fw-fuerte); }
.tb-quien span { font-size:var(--fs-md); color:var(--tx-2); }
.tb-cuerpo > .tb-accion:last-child,
.tb-cuerpo > .tb-motivos:last-of-type,
.tb-cuerpo > .tb-palet + .tb-accion { margin-top:auto; }
.tb-cuerpo > .tb-lista { margin:0; }
.tb-fila--amas { align-items:center; gap:var(--sp-4); }
.tb-fila--amas.lista { opacity:.55; }
.tb-amasadas { display:flex; align-items:center; gap:4px; flex-shrink:0; }
.tb-amasada { display:block; width:7px; height:44px; border-radius:var(--radius-pill);
              background:var(--tx-3); opacity:.4; }
.tb-amasada.hecha { background:var(--azul-apple); opacity:1; }
.tb-fila.on .tb-amasada { background:rgba(17,17,17,.32); opacity:1; }
.tb-fila.on .tb-amasada.hecha { background:var(--azul-apple); }
.tb-amasadas b { margin-left:var(--sp-3); font-size:var(--fs-3xl); font-weight:var(--fw-black);
                 font-variant-numeric:tabular-nums; text-align:right; white-space:nowrap;
                 font-style:normal; }
.tb-amasadas b i { font-style:normal; font-size:var(--fs-xl); font-weight:var(--fw-dato);
                   opacity:.5; }
.tb-amasada.en-curso { background:var(--accent); opacity:1; animation:tbAmasLate 1.15s ease-in-out infinite; }
.tb-fila.on .tb-amasada.en-curso { background:var(--accent); }
@keyframes tbAmasLate { 0%,100% { opacity:1 } 50% { opacity:.3 } }
@media (prefers-reduced-motion:reduce) { .tb-amasada.en-curso { animation:none } }
.tb-amasada-estado { display:flex; flex-direction:column; align-items:center; gap:var(--sp-2);
                     margin:var(--sp-2) 0 var(--sp-3);
                     flex:1 1 auto; min-height:0; }
.tb-cron { display:flex; flex-direction:column; align-items:center; gap:2px; }
.tb-cron b { font-size:var(--fs-3xl); font-weight:var(--fw-black); font-variant-numeric:tabular-nums;
             line-height:1; color:var(--accent); letter-spacing:-.01em; }
.tb-cron span { font-size:var(--fs-md); color:var(--tx-3); }
.tb-empezar { display:flex; align-items:center; justify-content:center; gap:var(--sp-2); }
.tb-cabsup { display:flex; align-items:center; gap:var(--sp-4); margin-bottom:var(--sp-4); }
.tb-atras-top { flex:0 0 auto; display:flex; align-items:center; gap:var(--sp-2);
                min-height:60px; padding:0 var(--sp-4); border:0; border-radius:var(--radius-sm);
                background:var(--sf3); color:var(--tx); cursor:pointer; font-family:var(--font);
                font-size:var(--fs-lg); font-weight:var(--fw-detalle);
                transition:transform var(--dur-fast) var(--ease-out); }
.tb-atras-top:active { transform:scale(.97); }
.tb-cabsup-fil { flex:0 0 auto; width:1px; align-self:stretch; margin:var(--sp-1) 0; background:var(--br); }
.tb-cabsup .tb-que { flex:1 1 auto; min-width:0; }
.tb-amasada-estado .tb-amasadas { width:100%; gap:var(--sp-2); justify-content:center;
                                  flex:1 1 auto; min-height:24px; max-height:150px; align-items:stretch; }
.tb-amasada-estado .tb-amasada { flex:1 1 0; width:auto; min-width:9px; max-width:48px;
                                 height:auto; align-self:stretch; }
.tb-amasada-estado .tb-amasadas b { align-self:center; }
.tb-amasada-estado .tb-amasadas b { margin-left:var(--sp-4); font-size:var(--fs-display); }
.tb-amasada-estado .tb-amasadas b i { font-size:var(--fs-2xl); }
.tb-ipad--mini .tb-amasada-estado .tb-amasada { max-width:22px; }
.tb-ipad--mini .tb-amasada-estado .tb-amasadas { max-height:74px; }
.tb-ipad--mini .tb-amasada-estado .tb-amasadas b { font-size:var(--fs-xl); }
.tb-ipad--mini .tb-atras-top { min-height:40px; padding:0 var(--sp-3); font-size:var(--fs-sm); }
.tb-sucia { position:absolute; left:50%; bottom:var(--sp-5); transform:translateX(-50%);
            z-index:4; display:flex; align-items:center; gap:var(--sp-3);
            padding:var(--sp-3) var(--sp-4); border-radius:var(--radius-pill);
            background:var(--sf3); box-shadow:0 8px 24px rgba(17,17,17,.16);
            animation:tb-sucia-in var(--tb-dur) var(--ease-out); }
.tb-sucia i { color:var(--accent); font-size:var(--fs-2xl); }
.tb-sucia span { font-size:var(--fs-lg); font-weight:var(--fw-detalle); color:var(--tx); }
.tb-sucia button { min-height:44px; padding:0 var(--sp-4); border:0;
                   border-radius:var(--radius-pill); background:var(--accent); color:var(--ink);
                   font-family:var(--font); font-size:var(--fs-md); font-weight:var(--fw-fuerte);
                   cursor:pointer; }
.tb-sucia.fuera { animation:tb-velo-out var(--tb-dur) var(--ease-out) forwards; }
@keyframes tb-sucia-in { from { opacity:0; transform:translate(-50%, 10px) } to { opacity:1; transform:translate(-50%,0) } }
.tb-hijos { position:relative; margin:calc(var(--sp-2) * -1) 0 0 var(--sp-6);
            padding-left:var(--sp-5); display:flex; flex-direction:column; gap:var(--sp-2); }
.tb-hijos::before { content:''; position:absolute; left:0; top:0;
                    width:3px; height:calc(100% - 26px);
                    border-radius:var(--radius-pill); background:var(--sf2); }
.tb-hijo { position:relative; display:flex; align-items:center; gap:var(--sp-3); min-height:52px;
           padding:0 var(--sp-4); border-radius:var(--radius-sm); background:var(--sf3); }
.tb-hijo::before { content:''; position:absolute; left:calc(var(--sp-5) * -1); top:50%;
                   width:var(--sp-5); height:3px; margin-top:-1.5px;
                   border-radius:var(--radius-pill); background:var(--sf2); }
.tb-hijo > b { font-size:var(--fs-2xl); font-weight:var(--fw-black);
               font-variant-numeric:tabular-nums; min-width:1.6em; }
.tb-hijo-p { font-size:var(--fs-lg); font-weight:var(--fw-dato); }
.tb-hijo-p i { font-size:var(--fs-md); color:var(--accent); margin:0 2px; }
.tb-hijo-p { white-space:nowrap; }
.tb-hijo-c { margin-left:auto; font-size:var(--fs-md); font-weight:var(--fw-detalle);
             color:var(--tx-2); text-align:right; }
@media (max-width: 720px) {
  .tb-hijo { flex-wrap:wrap; min-height:0; padding:var(--sp-3) var(--sp-4); }
  .tb-hijo-c { margin-left:0; width:100%; text-align:left; }
}
.tb-cierre { display:flex; flex-direction:column; gap:var(--sp-2); }
.tb-cie { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:var(--sp-4);
          align-items:center; min-height:72px; padding:0 var(--sp-4);
          border-radius:var(--radius-sm); background:var(--sf3); }
.tb-cie.hijo { margin-left:var(--sp-6); }
.tb-cie-q { display:flex; flex-direction:column; min-width:0; }
.tb-cie-q b { font-size:var(--fs-xl); font-weight:var(--fw-dato); white-space:nowrap; }
.tb-cie-q span { font-size:var(--fs-md); color:var(--tx-2); }
.tb-cie-n { display:flex; align-items:center; gap:var(--sp-3); }
.tb-cie-n b { font-size:34px; font-weight:var(--fw-black); font-variant-numeric:tabular-nums;
              min-width:1.8em; text-align:center; }
.tb-mm--sm { height:56px; width:56px; font-size:var(--fs-2xl); }
.tb-cie-m { display:flex; align-items:baseline; gap:6px; min-width:5.5em; justify-content:flex-end; }
.tb-cie-m b { font-size:var(--fs-2xl); font-weight:var(--fw-black); color:var(--estado-urgente);
              font-variant-numeric:tabular-nums; }
.tb-cie-m span { font-size:var(--fs-md); color:var(--tx-2); }
.tb-cie-m--ok { justify-content:center; }
.tb-cie-m--ok i { font-size:var(--fs-2xl); color:var(--estado-bien); }
@media (max-width: 720px) {
  .tb-cie { grid-template-columns:minmax(0,1fr) auto; row-gap:var(--sp-2); min-height:0;
            padding:var(--sp-3) var(--sp-4); }
  .tb-cie-m { grid-column:1 / -1; justify-content:flex-start; }
}
.et-mesa { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,320px); gap:var(--sp-6);
           align-items:start; }
.et-papel { display:flex; justify-content:center; padding:var(--sp-5); background:var(--sf2);
            border-radius:var(--radius-sm); }
@media (max-width: 900px) { .et-mesa { grid-template-columns:1fr; } }
.et-lupa { --et-esc: .72; width:100%; display:flex; justify-content:center; }
.et-ficha-nota { margin-top:var(--sp-2); font-size:var(--fs-sm); color:var(--tx-2); font-weight:var(--fw-detalle); text-align:center; line-height:1.35; }
.et-ficha-nota i { color:var(--azul-apple); margin-right:var(--sp-1); }
.et-ficha-nota--mal { color:var(--tx); }
.et-ficha-nota--mal i { color:var(--estado-urgente); }
.et-ficha-nota-sitio:empty { display:none; }
@media (max-width: 1280px) { .et-lupa { --et-esc: .6; } }
@media (max-width: 900px)  { .et-lupa { --et-esc: .5; } }
.et-lupa > * { transform:scale(var(--et-esc)); transform-origin:top center; }
.et-lupa--caja { height:calc(812px * var(--et-esc)); }
.et-lupa--a4   { height:calc(1188px * var(--et-esc)); }
.et-caja { width:812px; height:812px; flex-shrink:0; background:#ffffff; color:#000000;
           border:1px solid #dddddd; border-radius:16px; padding:16px 26px 20px; display:flex;
           flex-direction:column; gap:6px; justify-content:space-between;
           font-family:Arial, Helvetica, sans-serif; }
.et-nombre { display:flex; flex-direction:column; align-items:center;
             font-weight:900; font-size:calc(50px * var(--et-n, 1)); letter-spacing:.06em; }
.et-nombre--t2 { font-size:calc(46px * var(--et-n, 1)); letter-spacing:.02em; }
.et-nombre--t3 { font-size:calc(40px * var(--et-n, 1)); letter-spacing:0; }
.et-nombre--recuadro > b { display:inline-block; background:#000; color:#fff; text-align:center;
            line-height:.95; padding:.14em .34em .10em; white-space:nowrap;
            -webkit-text-stroke:.024em #fff; }
.et-nombre--linea > b { display:inline-block; color:#000; text-align:center; line-height:1;
            white-space:nowrap; -webkit-text-stroke:.024em #000;
            padding-bottom:.12em; border-bottom:.16em solid #000; }
.et-cab2 { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:14px; align-items:center; }
.et-cab2-txt { display:flex; flex-direction:row; flex-wrap:wrap; gap:4px 12px; align-items:baseline; min-width:0; }
.et-uds { text-align:left; font-size:24px; font-weight:800; line-height:1.05; }
.et-cortado { text-align:left; font-size:13px; font-weight:700; letter-spacing:.3px; }
.et-ean { display:flex; flex-direction:column; align-items:center; gap:3px; }
.et-ean-b { display:flex; align-items:flex-end; gap:3px; height:50px; width:285px; }
.et-ean-b i { display:block; height:100%; background:#000; }
.et-ean-b svg { width:100%; height:100%; fill:#000; }
.et-ean-mal { font-size:11px; font-weight:var(--fw-detalle); color:#000; align-self:center; }
.et-qr img { width:100%; height:100%; display:block; image-rendering:pixelated; }
.et-c--qr .et-qr { width:150px; height:150px; display:grid; place-items:center; }   
.et-c--qr .et-qr img { width:100%; height:100%; }
.et-ean span { font-size:13px; letter-spacing:2px; }
.et-qr { width:auto; height:auto; min-width:60px; min-height:60px; display:grid; place-items:center; font-size:var(--fs-3xl); color:#000; }
.et-qr img { width:auto; height:auto; }   
.et-legal { font-size:13px; line-height:1.25; text-align:left; }
.et-legal--caps { text-transform:uppercase; }
.et-ing { display:flex; flex-direction:column; gap:4px; flex:1; justify-content:space-evenly; }
.et-ing-l { display:grid; grid-template-columns:40px minmax(0,1fr); gap:6px; }
.et-caja { --et-ing: 16px; }
.et-ing-l b { font-size:var(--et-ing); font-weight:800; }
.et-ing-l span { font-size:var(--et-ing); line-height:1.1; }    
.et-caja--densa { --et-ing: 13px; }   
.et-peso { display:flex; align-items:baseline; justify-content:space-between; gap:16px; }
.et-peso span { font-size:14px; }
.et-peso b { font-size:22px; font-weight:800; }
.et-abajo { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:14px; align-items:end; }
.et-lote { display:flex; flex-direction:column; align-items:flex-start; gap:8px; min-width:0; }
.et-lote > span { font-size:12px; font-weight:700; letter-spacing:.4px; line-height:1; }
.et-lote > b { display:inline-block; font-size:40px; font-weight:800; line-height:1; white-space:nowrap;
  -webkit-text-stroke:.022em #000; padding-bottom:.08em; border-bottom:.11em solid #000; }
.et-pie { display:flex; align-items:baseline; justify-content:flex-end; font-size:12px; margin-bottom:14px; }
.hc-dia { font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-3); text-transform: uppercase;
  letter-spacing: .04em; padding: var(--sp-4) var(--sp-3) var(--sp-2); }
.hc-fila { display: grid; grid-template-columns: auto auto minmax(0, 1fr) minmax(0, 28%); align-items: center; gap: var(--sp-3); }
.hc-hora { font-variant-numeric: tabular-nums; color: var(--tx-3); font-size: var(--fs-sm); }
.hc-ico { width: var(--sp-8); height: var(--sp-8); display: grid; place-items: center; border-radius: 999px; background: var(--sf2); color: var(--tx-2); }
.hc-frase { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--fs-md); }
.hc-frase b { font-weight: var(--fw-dato); }
.hc-cosa { font-weight: var(--fw-detalle); }
.hc-dato { color: var(--tx-2); }
.hc-nota { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--fs-sm); color: var(--tx-3); text-align: right; }
@media (max-width: 720px) { .hc-fila { grid-template-columns: auto auto minmax(0, 1fr); } .hc-nota { display: none; } }
.et-a4 { width:840px; height:1188px; flex-shrink:0; background:#fff; color:#000;
         border:1px solid #dddddd; padding:44px 60px; display:flex; flex-direction:column; gap:14px;
         font-family:Arial, Helvetica, sans-serif; }   
.et-a4-cab { text-align:center; padding:6px 0 10px; display:flex; flex-direction:column; gap:8px; }
.et-a4-cab b { font-size:36px; font-weight:800; }
.et-a4-cab span { font-size:20px; }
.et-a4 > .et-c, .et-a4 > .et-a4-fila { flex:1; }
.et-a4-fila { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; }
.et-c { border:2px solid #000; padding:14px 20px; display:flex; flex-direction:column; gap:8px;
        justify-content:center; min-width:0; }
.et-c > span { font-size:18px; font-weight:700; color:#555555; letter-spacing:1px;
               text-transform:uppercase; }
.et-c > b { font-size:40px; font-weight:800; line-height:1.15; white-space:nowrap; overflow:hidden; text-overflow:clip; }
.et-c--grande > b { font-size:72px; }
.et-c--negra { background:#000; color:#fff; border-color:#000; }
.et-c--negra > span { color:#cccccc; }
.et-a4-fila--den { grid-template-columns:minmax(0,2fr) minmax(0,1fr); }
.et-a4-fila--pie { grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); }
.et-a4 > .et-a4-fila--pie { flex:1.7; }
.et-c--lote { padding:14px 16px; }
.et-c--lote > b { font-size:52px; }   
.et-c--xl { padding:14px 16px; }
.et-c--xl > b { font-size:100px; line-height:1.05; }
.et-a4-fila--pie .et-c > span { font-size:34px; letter-spacing:2px; }
.et-a4-fila--pie .et-c { justify-content:flex-start; }
.et-a4-fila--pie .et-c > b { flex:1; display:flex; align-items:center; justify-content:center; }   
.et-a4 > .et-c--ean { flex:.7; }   
.et-c--qr { align-items:center; justify-content:center; }
.et-c--qr i { font-size:150px; }
.et-c--ancha { grid-column:1 / -1; }   
.et-c--ean { display:grid; grid-template-columns:minmax(0,1fr) 240px; grid-template-rows:auto auto; column-gap:24px; row-gap:4px; align-items:center; padding:10px 20px; }
.et-c--ean > span { grid-area:1 / 1; }
.et-c--ean > b { grid-area:2 / 1; font-size:28px; letter-spacing:0; }   
.et-c--ean > b small { font-size:16px; font-weight:700; color:#555555; letter-spacing:0; }
.et-c--ean .et-c-barras { grid-area:1 / 2 / 3 / 3; display:block; width:240px; height:60px; justify-self:end; }
.et-c--ean .et-c-barras svg { width:100%; height:100%; fill:#000; shape-rendering:crispEdges; }
.et-editor { display:flex; flex-direction:column; gap:var(--sp-4); }
.et-campos { display:flex; flex-direction:column; gap:var(--sp-3); }
.et-campo { display:flex; flex-direction:column; gap:var(--sp-1); }
.et-campo span { font-size:var(--fs-md); font-weight:var(--fw-detalle); color:var(--tx-2); }
.et-campo input { min-height:44px; padding:0 var(--sp-3); border:1px solid var(--br);
                  border-radius:var(--radius-sm); background:var(--sf); color:var(--tx);
                  font-family:var(--font); font-size:var(--fs-md); }
.et-campo input:focus-visible { outline:2px solid var(--accent); outline-offset:-1px; }
.et-campo--sel .dist-selector { margin-bottom:0; max-width:none; }
.et-aviso{ display:flex; align-items:flex-start; gap:var(--sp-2); margin-top:var(--sp-3);
  background:var(--sf3); border:1px solid var(--br); border-radius:var(--radius-sm);
  padding:var(--sp-3); font-size:var(--fs-sm); color:var(--tx-2); line-height:1.4; }
.et-aviso > i{ color:var(--estado-ojo); font-size:var(--fs-md); margin-top:1px; flex:none; }
.et-aviso > span{ min-width:0; }
.et-aviso b{ color:var(--tx); font-weight:var(--fw-fuerte); font-variant-numeric:tabular-nums; }
.et-campo--sel .dist-selector-btn { min-height:44px; }
.et-casillas { display:flex; flex-wrap:wrap; align-items:end; gap:var(--sp-2) var(--sp-4); }
.et-casillas > .et-casilla { flex:1 1 auto; }
.et-casillas > .et-copias { flex:0 0 auto; }
.et-casilla { display:flex; align-items:center; gap:var(--sp-3); min-height:44px;
              font-size:var(--fs-md); font-weight:var(--fw-detalle); cursor:pointer; }
.et-casilla input { width:22px; height:22px; accent-color:var(--accent); }
.et-comp { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:var(--sp-3);
  margin-top:var(--sp-4); }
.et-comp-t, .et-comp-pie { grid-column:1 / -1; }
@media (max-width: 900px) { .et-comp { grid-template-columns:1fr; } }
.et-comp-t { font-size:var(--fs-md); font-weight:var(--fw-detalle); color:var(--tx-2); }
.et-comp-pie { font-size:var(--fs-sm); color:var(--tx-3); margin:0 0 var(--sp-1); }
.et-comp-op { display:flex; flex-direction:column; gap:var(--sp-2); width:100%; text-align:left;
              padding:var(--sp-3); border:0; border-radius:var(--radius-sm); background:var(--sf2);
              color:var(--tx); font-family:var(--font); cursor:pointer;
              transition:outline-color var(--dur-fast) var(--ease-out); outline:2px solid transparent;
              outline-offset:-2px; }
.et-comp-op:hover { background:var(--sf3); }
.et-comp-op:active { transform:scale(.99); }
.et-comp-op.es-act { outline-color:var(--accent); }
.et-comp-cab { display:flex; align-items:baseline; justify-content:space-between; gap:var(--sp-2); }
.et-comp-cab b { font-size:var(--fs-md); font-weight:var(--fw-dato); }
.et-comp-tinta { font-size:var(--fs-sm); font-weight:var(--fw-detalle); color:var(--tx-2);
                 font-variant-numeric:tabular-nums; }
.et-comp-d { font-size:var(--fs-sm); color:var(--tx-3); }
.et-comp-mini { --et-n:.42; background:#fff; border-radius:var(--radius-xs); padding:10px 8px;
                display:flex; justify-content:center; overflow:hidden; }
.fab-alm-top{ margin-bottom: var(--sp-3); }
.fab-alm-h{ font-size: var(--fs-lg); font-weight: var(--fw-fuerte); color: var(--tx); margin-bottom: var(--sp-2); }
.fab-alm-sub{ font-size: var(--fs-sm); color: var(--tx-2); margin: 0 0 var(--sp-4); line-height: 1.5; max-width: 72ch; }
.fab-alm-filtros{ display: flex; flex-wrap: wrap; gap: var(--sp-2); margin-bottom: var(--sp-3); }
.fab-alm-busca{ position: relative; flex: 1; min-width: 220px; }
.fab-alm-busca i{ position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--tx-3); font-size: var(--fs-sm); }
.fab-alm-busca input{
  width: 100%; padding: var(--sp-2) var(--sp-3) var(--sp-2) 34px;
  background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius-sm);
  font: inherit; font-size: var(--fs-md); color: var(--tx);
}
.fab-alm-in{
  width: 100%; padding: var(--sp-2) var(--sp-3); background: var(--sf); border: 1px solid var(--br);
  border-radius: var(--radius-sm); font: inherit; font-size: var(--fs-md); color: var(--tx);
}
.fab-alm-in.n{ text-align: right; font-variant-numeric: tabular-nums; }
.fab-dec-lote{ background: var(--sf2); color: var(--tx-2); font-variant-numeric: tabular-nums; }
.fab-alm-busca input:focus, .fab-alm-in:focus{
  outline: 2px solid var(--accent); outline-offset: 1px; border-color: var(--accent);
}
.fab-alm-aviso{
  display: flex; gap: var(--sp-3); align-items: flex-start;
  padding: var(--sp-3) var(--sp-4); border-radius: var(--radius-sm); background: var(--sf2);
  margin-bottom: var(--sp-3); font-size: var(--fs-md); line-height: 1.5;
}
.fab-alm-aviso i{ color: var(--estado-bien-ink); margin-top: 2px; }
.fab-alm-aviso--mal i{ color: var(--estado-urgente-ink); }
.fab-alm-pie{ display: flex; gap: var(--sp-2); justify-content: flex-end; margin-top: var(--sp-4); }
.fab-alm-pos{ color: var(--estado-bien-ink); font-variant-numeric: tabular-nums; }
.fab-alm-neg{ color: var(--estado-urgente-ink); font-variant-numeric: tabular-nums; }
.fab-alm-cero{ color: var(--tx-3); font-variant-numeric: tabular-nums; }
.fab-alm-enlace{
  background: none; border: none; padding: 0; font: inherit; font-size: inherit;
  color: var(--azul-apple); cursor: pointer; text-decoration: underline; text-underline-offset: 2px;
}
.fab-alm-estado--gris{ color: var(--tx-3); font-weight: var(--fw-detalle); font-size: var(--fs-sm); }
.fab-alm-estado--ok{ color: var(--estado-bien-ink); font-weight: var(--fw-dato); font-size: var(--fs-sm); white-space: nowrap; }
.fab-mv-resumen{ font-size: var(--fs-sm); color: var(--tx-2); margin-bottom: var(--sp-2); }
.fab-mv-fecha{ font-size: var(--fs-sm); color: var(--tx-2); font-variant-numeric: tabular-nums; white-space: nowrap; }
.fab-mv-tipo{ font-size: var(--fs-sm); font-weight: var(--fw-detalle); }
.fab-mv-prod{ font-size: var(--fs-sm); font-weight: var(--fw-detalle); display: flex; flex-direction: column; min-width: 0; }
.fab-mv-sku{ font-size: var(--fs-xs); color: var(--tx-3); font-weight: var(--fw-body); }
.fab-mv-mono{ font-variant-numeric: tabular-nums; font-size: var(--fs-sm); }
.fab-tr-interno{ color: var(--tx-3); font-size: var(--fs-xs); }
.fab-mv-motivo{ font-size: var(--fs-sm); color: var(--tx-2); }
.fab-tr-ruta{ display: flex; align-items: center; gap: var(--sp-3); margin-bottom: var(--sp-4); font-size: var(--fs-md); }
.fab-tr-ruta i{ color: var(--tx-3); }
.fab-tr-fila--anulada{ opacity: .55; }
.bx-pills{ display: flex; flex-wrap: wrap; gap: 4px; }
.fab-tr-lin{ padding: var(--sp-3) 0; }
.fab-tr-lin + .fab-tr-lin{ border-top: 1px solid var(--br); }
.fab-tr-tramo{
  display: flex; align-items: center; gap: var(--sp-3); flex-wrap: wrap;
  margin: var(--sp-2) 0 0 var(--sp-4); font-size: var(--fs-sm); color: var(--tx-2);
}
.fab-tr-anular-caja{ display: flex; gap: var(--sp-2); align-items: center; }
.fab-inv-punto{
  display: inline-block; width: 8px; height: 8px; border-radius: 50%;
  margin-right: 6px; vertical-align: middle; background: var(--tx-3);
}
.fab-inv-punto.fab-inv-verde{ background: var(--estado-bien-ink); }
.fab-inv-punto.fab-inv-ambar{ background: var(--estado-ojo-ink); }
.fab-inv-punto.fab-inv-rojo{ background: var(--estado-urgente-ink); }
.fab-inv-corr{
  display: grid; grid-template-columns: 170px minmax(220px, 1fr) auto; gap: var(--sp-3);
  align-items: end; padding: var(--sp-3) var(--sp-4); margin: 0 var(--sp-3) var(--sp-2);
  background: var(--sf2); border-radius: var(--radius-sm);
}
.fab-inv-corr label{ font-size: var(--fs-sm); color: var(--tx-2); display: flex; flex-direction: column; gap: 4px; }
.fab-inv-corr .fab-alm-sub{ grid-column: 1 / -1; margin: 0; }
.fab-dec-form{ display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--sp-3) var(--sp-4); }
.fab-dec-c{ display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.fab-dec-c > span{ font-size: var(--fs-base); color: var(--tx-2); }
.fab-dec-c > em{ font-style: normal; font-size: var(--fs-xs); color: var(--tx-3); }
.fab-dec-c--ancha{ grid-column: 1 / -1; }
.fab-dec-fecha{ display: flex; align-items: center; gap: var(--sp-2); cursor: pointer; text-align: left; }
.fab-dec-fecha i{ color: var(--tx-3); }
@media (max-width: 760px){
  .fab-inv-corr{ grid-template-columns: 1fr; align-items: stretch; }
  .fab-alm-filtros{ flex-direction: column; }
}
.fab-usu-roles{ display: flex; flex-wrap: wrap; gap: var(--sp-1) var(--sp-2); }
.fab-usu-check{ display: inline-flex; align-items: center; gap: 4px; font-size: var(--fs-sm); color: var(--tx-2); white-space: nowrap; }
.fab-usu-activo{ color: var(--estado-bien-ink); font-weight: var(--fw-detalle); font-size: var(--fs-sm); }
.fab-usu-nuevo{ margin-bottom: var(--sp-5); }   
.fab-usu-maestro { display: flex; align-items: baseline; gap: 8px; font-size: var(--fs-base);
  color: var(--tx-2); background: var(--sf2); border-radius: var(--radius-sm);
  padding: 10px 12px; margin-bottom: var(--sp-4); }
.fab-usu-maestro i { color: var(--gold-ink); }
[data-theme="dark"] .fab-usu-maestro i { color: var(--accent); }
.fab-usu-maestro b { color: var(--tx-1); font-weight: var(--fw-detalle); }
.fab-mq-tabla{ overflow-x: auto; }
.fab-mq-fila{
  display: grid; grid-template-columns: minmax(140px, 1.2fr) 130px 110px 100px 150px 70px;
  gap: var(--sp-3); align-items: center; padding: var(--sp-2) var(--sp-3);
  border-radius: var(--radius-sm); min-width: 760px;
}
.fab-mq-fila .n{ text-align: right; font-variant-numeric: tabular-nums; }
.tb-pantalla{ position:relative; }
.tb-aviso{
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 6;
  width: min(88%, 640px); display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--sp-3);
  background: var(--sf); border: 3px solid var(--estado-bien); border-radius: var(--radius);
  padding: var(--sp-6) var(--sp-5); margin: 0; font-size: var(--fs-2xl); font-weight: var(--fw-dato); line-height: 1.25; color: var(--tx);
  box-shadow: 0 12px 40px rgba(0,0,0,.18), 0 0 0 100vmax rgba(0,0,0,.22); cursor: pointer;
  animation: tb-velo-in var(--tb-dur) var(--ease-out);
}
@media (prefers-reduced-motion:reduce){ .tb-aviso{ animation:none; } }
.tb-aviso i{ color: var(--estado-bien-ink); margin: 0; font-size: 56px; }
.tb-aviso-tx{ flex: none; min-width: 0; }
.fab-alb-vacio{ margin:0; padding:var(--sp-3) 0; color:var(--tx-2); font-size:var(--fs-md); }
.tb-aviso-vuelve{ flex: none; margin: var(--sp-2) 0 0; white-space: nowrap; display: inline-flex; align-items: center; gap: 8px;
  font-weight: var(--fw-detalle); color: var(--tx-2); font-size: var(--fs-lg); }
.tb-aviso-vuelve i{ color: var(--tx-3); margin: 0; font-size: var(--fs-lg); }
.tb-aviso-vuelve b{ font-variant-numeric: tabular-nums; color: var(--tx); font-size: var(--fs-3xl); }
.tb-aviso{ transition: opacity .22s var(--ease-out), transform .22s var(--ease-out); }
.tb-aviso--fuera{ opacity: 0; transform: translate(-50%, -54%); pointer-events: none; }
@media (prefers-reduced-motion: reduce){ .tb-aviso{ transition: none; } }
.tb-aviso--mal{ border-color: var(--estado-urgente); }
.tb-aviso--mal i{ color: var(--estado-urgente-ink); }
.tb-aviso--ojo{ border-color: var(--estado-ojo); }
.tb-aviso--ojo i{ color: var(--estado-ojo-ink); }
.tb-pieota{ display: flex; justify-content: space-between; gap: var(--sp-3); }
.tb-lapse-log{
  min-height: 0; font-size: var(--fs-sm); color: var(--tx-2);
  font-variant-numeric: tabular-nums; margin-bottom: var(--sp-2);
}
.nav-item .bx-nav-punto { margin-left: auto; flex: 0 0 auto; width: 9px; height: 9px; border-radius: 50%;
  background: var(--azul-apple); box-shadow: 0 0 0 3px color-mix(in srgb, var(--azul-apple) 22%, transparent); }
.nav-item .bx-nav-chip { margin-left: auto; flex: 0 0 auto; min-width: 20px; height: 18px;
  display: inline-flex; align-items: center; justify-content: center; padding: 0 6px;
  border-radius: 999px; background: var(--azul-apple); color: #fff;
  font-size: var(--fs-xs); font-weight: var(--fw-dato); line-height: 1; font-variant-numeric: tabular-nums;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--azul-apple) 18%, transparent); }
.tb-trio { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-4); align-items: start; }
.tb-ipad--fila .tb-pantalla { overflow-y: auto; min-height: 0; max-width: none; }
.tb-trio { position: relative; }
.tb-vuela { position: absolute; left: 0; top: 0; z-index: 6; pointer-events: none;
  background: var(--accent); color: #231a00; font-size: var(--fs-sm); font-weight: var(--fw-dato);
  padding: 7px 13px; border-radius: 999px; white-space: nowrap;
  box-shadow: 0 4px 14px rgba(0,0,0,.18); opacity: 0; }
.tb-vuela.va { transition: transform .58s var(--ease-out), opacity .22s var(--ease-out);
  opacity: 1; }
.tb-vuela.fin { opacity: 0; }
@media (prefers-reduced-motion: reduce) { .tb-vuela { display: none; } }
.tb-ipad--mini { max-width: none; padding: 12px 9px 16px; border-radius: 18px;
                 aspect-ratio: auto; max-height: 84vh; }
.tb-ipad--mini .tb-pantalla { overflow-y: auto; min-height: 0; }
.tb-ipad--mini .tb-ipad-cam { top: 6px; }
.tb-ipad--mini .tb-ipad-barra { bottom: 5px; width: 64px; }
.tb-ipad--mini .tb-cab { padding: var(--sp-3) var(--sp-4); }
.tb-ipad--mini .tb-cab-donde b { font-size: var(--fs-base); }
.tb-ipad--mini .tb-cab-donde span { font-size: var(--fs-sm); }
.tb-ipad--mini .tb-cab-hora { font-size: var(--fs-lg); }
.tb-ipad--mini .tb-limpiar { display: none; }   
.tb-ipad--mini .tb-cuerpo { padding: var(--sp-3); gap: var(--sp-3); }
.tb-ipad--mini .tb-cuerpo:has(> .tb-nota:only-child),
.tb-ipad--mini .tb-cuerpo:has(> .tb-nota:last-child:nth-child(2)) { justify-content: center; }
.tb-ipad--mini .tb-cuerpo > .tb-nota { text-align: center; }
.tb-turno-otro { margin-top: var(--sp-2); padding: var(--sp-2) var(--sp-3); text-align: center;
                 font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-3);
                 background: var(--sf2); border-radius: var(--radius-sm); }
.tb-ipad--mini .tb-cuerpo > .tb-lista { margin: 0; }
.tb-ipad--mini .tb-que b { font-size: var(--fs-xl); }
.tb-ipad--mini .tb-accion { min-height: 52px; font-size: var(--fs-lg); }
.tb-ipad--mini .tb-accion--fh { font-size: var(--fs-sm); line-height: 1.12; padding: 6px 8px;
  white-space: normal; word-break: normal; overflow-wrap: break-word; }
.tb-ipad--mini .tb-paso { grid-template-columns: 44px minmax(0, 1fr) 44px; }
.tb-ipad--mini .tb-mm { height: 44px; font-size: var(--fs-xl); }
.tb-ipad--mini .tb-paso-n b { font-size: var(--fs-2xl); }
.tb-ipad--mini .tb-fila { min-height: 48px; padding: var(--sp-2) var(--sp-3); }
.tb-ipad--mini .tb-fila-q b { font-size: var(--fs-base); white-space: normal; }
.tb-ipad--mini .tb-fila-n { font-size: var(--fs-xl); }
.tb-ipad--mini .tb-motivo { min-height: 44px; padding: 0 var(--sp-3); font-size: var(--fs-base); }
.tb-ipad--mini .tb-amasadas b { font-size: var(--fs-base); }
@media (max-width: 1100px) {
  .tb-trio { grid-template-columns: 1fr; }
  .tb-ipad--mini { max-width: 560px; margin: 0 auto; }
}
.fab-jose-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-3); }
.fab-jose-tab {
  display: flex; flex-direction: column; gap: var(--sp-2);
  padding: var(--sp-4); background: var(--sf2); border-radius: var(--radius-sm);
}
.fab-jose-q { display: flex; justify-content: space-between; align-items: baseline; gap: var(--sp-3); }
.fab-jose-q > b { font-size: var(--fs-lg); font-weight: var(--fw-dato); }
.fab-jose-q span { font-size: var(--fs-md); color: var(--tx-2); }
.fab-jose-url {
  font-variant-numeric: tabular-nums; font-size: var(--fs-md); word-break: break-all;
  color: var(--tx); background: var(--sf); border: 1px solid var(--br);
  padding: var(--sp-2) var(--sp-3); border-radius: var(--radius-sm); text-decoration: none;
}
.fab-jose-url:hover { border-color: var(--br-2); text-decoration: underline; }
.fab-jose-acc { display: flex; gap: var(--sp-2); }
.fab-jose-acc a.btn { text-decoration: none; display: inline-flex; align-items: center; gap: var(--sp-1); }
.fab-jose-vivo { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4); flex-wrap: wrap; }
.fab-jose-fresco { display: flex; align-items: center; gap: var(--sp-3); font-size: var(--fs-md); color: var(--tx-2); }
.fab-jose-pulso {
  display: flex; gap: var(--sp-2); align-items: baseline;
  padding: var(--sp-3) var(--sp-4); border-radius: var(--radius-sm); background: var(--sf2);
  font-size: var(--fs-md); margin: var(--sp-2) 0 var(--sp-4);
}
.fab-jose-pulso--bien i { color: var(--estado-bien-ink); }
.fab-jose-pulso--ojo i { color: var(--estado-ojo-ink); }
.fab-jose-pulso--off i { color: var(--tx-3); }
.fab-jose-aps { display: flex; flex-direction: column; margin-bottom: var(--sp-4); }
.fab-jose-ap {
  display: grid; grid-template-columns: 150px 130px minmax(0, 1fr) 90px 110px;
  gap: var(--sp-3); align-items: center;
  padding: var(--sp-2) var(--sp-3); border-radius: var(--radius-sm); font-size: var(--fs-md);
}
.fab-jose-ap b { text-align: right; font-variant-numeric: tabular-nums; }
.fab-jose-quien { color: var(--tx-3); font-size: var(--fs-sm); text-align: right; }
@media (max-width: 900px) { .fab-jose-tabs { grid-template-columns: 1fr; } .fab-jose-ap { grid-template-columns: 110px minmax(0,1fr) 70px; } }
.fab-buscar {
  width: min(340px, 100%);
  font: inherit; font-size: var(--fs-sm);
  color: var(--tx);
  background: var(--sf);
  border: 1px solid var(--br);
  border-radius: var(--radius-sm, 8px);
  padding: var(--sp-2) var(--sp-3);
  min-height: 38px;
}
.fab-buscar:focus { outline: none; border-color: var(--br-2); }
.fabcli-top { display: flex; flex-direction: column; gap: var(--sp-1); margin-bottom: var(--sp-3); }
.fabcli-falta { color: var(--estado-ojo-ink, #9a6a00); font-weight: var(--fw-medium); }
.fabcli-tsel {
  display: inline-flex; align-items: center; gap: 6px;
  border: 1px solid var(--br); border-radius: var(--radius-pill);
  padding: 3px 10px; min-height: 26px; cursor: pointer;
  font-family: var(--font); font-size: var(--fs-sm); font-weight: var(--fw-medium);
  background: var(--sf); color: var(--tx-3);
  transition: background-color .15s var(--ease-out), transform .12s var(--ease-out);
}
.fabcli-tsel:active { transform: scale(.97); }
.fabcli-tsel--normal { border-color: transparent; background: transparent; color: var(--tx-3); }
.fabcli-tsel--normal:hover { border-color: var(--br); background: var(--sf2); }
.fabcli-tsel--normal > i { opacity: .45; }
.fabcli-tsel > i { font-size: 10px; opacity: .75; }
.fabcli-tsel--fast { background: var(--accent); border-color: var(--accent); color: var(--ink); font-weight: var(--fw-fuerte); }
.fabcli-tsel--preferente { background: #3b82f6; border-color: #3b82f6; color: #fff; font-weight: var(--fw-detalle); }
.fabcli-tmenu {
  position: fixed; z-index: 9999;
  background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius-sm);
  box-shadow: 0 12px 36px rgba(17,17,17,.18); padding: 4px; display: flex; flex-direction: column; min-width: 172px;
}
.fabcli-tmenu-it {
  display: flex; align-items: center; gap: 8px; border: 0; background: none; cursor: pointer;
  font-family: var(--font); font-size: var(--fs-sm); color: var(--tx); text-align: left;
  padding: 9px 10px; border-radius: 6px;
}
.fabcli-tmenu-it:hover { background: var(--sf2); }
.fabcli-tmenu-it.on { font-weight: var(--fw-detalle); }
.fabcli-tmenu-it .fa-check { font-size: 11px; color: var(--tx-2); }
.fab-ped-toca { cursor: pointer; }
.fab-ped-toca .fab-bdg { transition: filter .15s var(--ease-out); }
.fab-ped-toca:hover .fab-bdg { filter: brightness(.96); }
.fabcli-tmenu-n { margin-left: auto; color: var(--tx-3); font-size: var(--fs-sm); font-variant-numeric: tabular-nums; }
.fabcli-tmenu-dot { width: 10px; height: 10px; border-radius: 50%; flex: 0 0 auto; }
.fabcli-tmenu-dot--fast { background: var(--accent); }
.fabcli-tmenu-dot--preferente { background: #3b82f6; }
.fabcli-tmenu-dot--normal { background: var(--tx-3); }
.fabcli-barra { display: flex; align-items: center; gap: var(--sp-3); flex-wrap: wrap; }
.fabcli-segs { display: flex; gap: var(--sp-2); }
.bx-ck-chip .fabcli-seg-n,
.fabcli-seg-n { font-style: normal; color: var(--tx-3); opacity: 1; font-size: var(--fs-sm); }
.fabcli-ava { width: 34px; height: 34px; border-radius: 50%; flex: none; display: grid; place-items: center;
  font-size: 12px; font-weight: var(--fw-fuerte); color: #fff; border: 2px solid var(--sf);
  background: linear-gradient(135deg, #3b82f6, #1d4ed8); box-shadow: 0 1px 3px rgba(0,0,0,.14); }
.fabcli-ava--d { background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 34%, #fff),
  color-mix(in srgb, var(--accent) 72%, #fff)); color: var(--gold-ink); }
.fabcli-ava--foto { background: none; overflow: hidden; }
.fabcli-ava--foto img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.fab-cli-mods { display: flex; flex-direction: column; gap: var(--sp-2); }
.fab-cli-mod { display: grid; grid-template-columns: minmax(0, 1fr) 160px 230px 170px 24px; gap: var(--sp-4); align-items: center;
  padding: var(--sp-3) var(--sp-4); min-height: 64px; border: 1.5px solid var(--br-2); border-radius: var(--radius-sm);   
  background: var(--sf); cursor: pointer; transition: border-color .16s var(--ease-out), transform .12s var(--ease-out); }
.fab-cli-mod > .n { text-align: right; }
.fab-cli-mod:hover { border-color: var(--tx-3); }
.fab-cli-mod:active { transform: scale(.995); }
.fab-cli-mod:focus-visible { outline: 2px solid color-mix(in srgb, var(--accent) 55%, transparent); outline-offset: 2px; }
.fab-cli-mod--cab, .fab-cli-mod--cab:hover { border: 0; background: none; cursor: default; min-height: 0; padding-top: 0; padding-bottom: 0;
  font-size: var(--fs-xs); font-weight: var(--fw-dato); letter-spacing: .04em; text-transform: uppercase; color: var(--tx-2); }
.fab-cli-mod-corto { font-weight: var(--fw-dato); color: var(--tx); }
@media (max-width: 1100px) { .fab-cli-mod { grid-template-columns: minmax(0, 1fr) 150px 170px 24px; } .fab-cli-mod > :nth-child(3) { display: none; } }
.fabcli-cnt { min-width: 0; }
.fabcli-cnt b { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fabcli-cnt small { display: block; font-size: 12px; color: var(--tx-3); }
.fabcli-cnt small.fabcli-falta { color: var(--estado-ojo-ink); font-weight: var(--fw-detalle); }
.fabcli-eur b { display: block; font-variant-numeric: tabular-nums; }
.fabcli-eur small { font-size: 12px; color: var(--tx-3); }
.fab-mrt-w { display: block; min-width: 170px; }
.fab-mrt { position: relative; display: block; height: 14px; }
.fab-mrt em { position: absolute; top: 5px; left: 0; right: 0; height: 3px; background: var(--br);
  border-radius: 2px; }
.fab-mrt u { position: absolute; top: 5px; height: 3px; background: var(--estado-urgente);
  border-radius: 2px; opacity: .6; }
.fab-mrt i { position: absolute; top: 2px; width: 9px; height: 9px; border-radius: 50%;
  background: var(--estado-bien); border: 2px solid var(--sf); box-shadow: 0 0 0 1.5px var(--estado-bien);
  transform: translateX(-50%); }
.fab-mrt .fab-mrt-hoy { background: var(--estado-urgente); box-shadow: 0 0 0 1.5px var(--estado-urgente); }
.fab-mrt .fab-mrt-hoy--ok { background: var(--tx-3); box-shadow: 0 0 0 1.5px var(--tx-3); }
.fab-mrt-txt { display: block; font-size: 12px; color: var(--tx-3); margin-top: 3px; }
.fab-mrt-txt b { color: var(--estado-urgente-ink); }
.fabcli-cn { display: inline-flex; align-items: center; gap: var(--sp-2); min-width: 0; max-width: 380px; }
.fabcli-cn > i { width: 8px; height: 8px; border-radius: 50%; flex: 0 0 auto; }
.fabcli-cn > b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fabcli-pin { flex: 0 0 auto; }
.fabcli-hace { color: var(--tx-3); font-size: var(--fs-sm); }
@media (max-width: 720px) {
  .fabcli-tiers { flex-wrap: wrap; }
}
.fab-ped-orig {
  display: inline-block; width: 8px; height: 8px; border-radius: 50%;
  margin-right: 6px; vertical-align: baseline; flex: 0 0 auto;
}
.fab-ped-eur--sin { color: var(--estado-ojo-ink, #9a6a00); font-weight: var(--fw-medium); font-style: italic; }
.fab-nue-in--fuera { border-color: var(--estado-ojo-ink, #9a6a00) !important; }
.fab-ped-otro--precio b { color: var(--estado-ojo-ink, #9a6a00); }
.et-casilla { display: inline-flex; align-items: center; gap: var(--sp-2); cursor: pointer; }
.et-casilla input {
  appearance: none; -webkit-appearance: none;
  width: 40px; height: 24px; margin: 0;
  border-radius: 12px; background: var(--br-2);
  position: relative; cursor: pointer;
  transition: background 180ms var(--ease-out);
}
.et-casilla input::after {
  content: ''; position: absolute; top: 3px; left: 3px;
  width: 18px; height: 18px; border-radius: 50%;
  background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .28);
  transition: transform 180ms var(--ease-out);
}
.et-casilla input:checked { background: var(--accent); }
.et-casilla input:checked::after { transform: translateX(16px); }
.et-casilla input:active::after { transform: scale(.92); }
.et-casilla input:checked:active::after { transform: translateX(16px) scale(.92); }
.et-campo--pre select {
  font: inherit; font-size: var(--fs-sm); color: var(--tx);
  background: var(--sf); border: 1px solid var(--br);
  border-radius: var(--radius-sm, 8px); padding: var(--sp-2) var(--sp-3); min-height: 38px;
  width: 100%;
}
.et-acciones { display: flex; flex-direction: column; align-items: stretch; gap: var(--sp-3); margin-top: var(--sp-3); }
.et-acciones-btns { display: flex; flex-direction: column; gap: var(--sp-2); }
.et-acciones-btns > .btn, .et-acciones-btns > .bx-btn2 { width: 100%; min-height: 48px; justify-content: center; display: inline-flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-md); }
.et-cola-x { width: 32px; height: 32px; border: 0; border-radius: 999px; background: transparent; color: var(--tx-3);
  display: grid; place-items: center; cursor: pointer; font: inherit; }
.et-cola-x:hover { background: var(--sf2); color: var(--estado-urgente-ink, var(--tx)); }
.et-cola-x--hueco { display: block; }
.et-cola-e--off { color: var(--tx-3); }
.et-copias { display: flex; flex-direction: column; gap: 2px; font-size: var(--fs-sm); color: var(--tx-3); }
.et-copias input {
  width: 72px; font: inherit; text-align: right; font-variant-numeric: tabular-nums;
  color: var(--tx); background: var(--sf); border: 1px solid var(--br);
  border-radius: var(--radius-sm, 8px); padding: var(--sp-1) var(--sp-2); min-height: 38px;
}
.et-cola-fila {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto auto;
  gap: var(--sp-3); align-items: center;
  padding: var(--sp-2) var(--sp-3); font-size: var(--fs-sm);
}
.et-cola-e { color: var(--tx-3); font-style: italic; }
.et-cola-e--ok { color: var(--estado-bien-ink); font-style: normal; }
.et-cola-e--mal { color: var(--estado-urgente-ink); font-style: normal; }
@media print {
  body.et-imprimiendo * { visibility: hidden; }
  body.et-imprimiendo .et-lupa--a4, body.et-imprimiendo .et-lupa--a4 * { visibility: visible; }
  body.et-imprimiendo .et-lupa--a4 {
    position: fixed; inset: 0; margin: 0;
    width: 210mm; height: 297mm; overflow: hidden;
  }
  body.et-imprimiendo .et-lupa--a4 > .et-a4 {
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%, -50%) scale(.945); transform-origin: center center;
    border: none;
  }
}
@media print {
  body.et-imprimiendo-caja * { visibility: hidden; }
  body.et-imprimiendo-caja .et-lupa--caja, body.et-imprimiendo-caja .et-lupa--caja * { visibility: visible; }
  body.et-imprimiendo-caja .et-lupa--caja {
    position: fixed; inset: 0; margin: 0;
    width: 102mm; height: 102mm; overflow: hidden;
  }
  body.et-imprimiendo-caja .et-lupa--caja > .et-caja {
    position: absolute; top: 0; left: 0;
    transform: none;                    
    width: 102mm; height: 102mm; border: none; border-radius: 0;
  }
}
.fab-ped-viejos { margin-top: var(--sp-4); }
.fab-ped-viejos-cab {
  display: flex; align-items: center; gap: var(--sp-2);
  width: 100%; text-align: left; cursor: pointer;
  background: none; border: 0; padding: var(--sp-3) var(--sp-4);
  font: inherit; font-size: var(--fs-md); color: var(--tx-2);
}
.fab-ped-mashist {
  display: flex; align-items: center; gap: var(--sp-2);
  padding: var(--sp-3) var(--sp-4); font-size: var(--fs-sm); color: var(--tx-3);
}
.fab-ped-mashist > i { color: var(--tx-3); }
.fab-ped-mashist b { color: var(--tx-2); font-variant-numeric: tabular-nums; }
.fab-ped-viejos-cab > .fa-box-archive { color: var(--tx-3); }
.fab-ped-viejos-cab > .fa-chevron-down, .fab-ped-viejos-cab > .fa-chevron-up {
  margin-left: auto; color: var(--tx-3);
}
.fab-ped-viejos .fab-ped-cuerpo { padding: 0 var(--sp-2) var(--sp-2); }
.fab-lote-desc { color: var(--estado-urgente-ink); font-size: var(--fs-sm); }
.fab-lote-desc b { font-weight: var(--fw-dato); }
.fab-lote--desc { align-items: baseline; }
.fab-lote-pal i { font-style: normal; opacity: .75; font-weight: var(--fw-medium); }
.fab-lote-que b { font-variant-numeric: tabular-nums; font-weight: var(--fw-dato); color: var(--tx); }
.fab-lote-ico { color: var(--tx-3); margin-right: 6px; font-size: .9em; }
.btn, .acc-act, .acc-imp-btn, .acc-btn-ghost, .acc-bulk-btn, .ig-mb-x,
.fab-ped-envio-b, .fab-ped-doc-b,
.gm-com-see, .gm-com-vbtn, .ec-btn {
  border-radius: var(--btn-radius, var(--radius-pill));
}
@media (max-width: 720px) {
  .bxt, .bxt tbody, .bxt tr { display: block; width: 100%; }
  .bxt thead, .bxt tfoot { display: none; }              
  .bxt tr { padding: var(--sp-3) var(--sp-4); }
  .bxt td { display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-3);
    padding: 1px 0; border: 0; text-align: right; }
  .bxt td[data-l]::before { content: attr(data-l); color: var(--tx-3); font-size: var(--fs-xs);
    font-weight: var(--fw-body); text-align: left; flex: none; }
  .bxt td:first-child { display: block; text-align: left; padding-bottom: var(--sp-1); }
  .bxt td:first-child::before { display: none; }
  .bxt td:empty { display: none; }
  .bxt-scr { max-height: none !important; overflow: visible; }
  .bxt tr.bxt-grupo { padding: var(--sp-2) var(--sp-4); }
  .bxt tr.bxt-grupo td { display: block; text-align: left; }
  .bxt td.bxt-acc { display: block; text-align: right; padding: 0; }
  .bxt .bxt-bar { max-width: 55%; }
  .fab-ped-cab-tabla { display: none; }
  .fab-ped .bx-desp-cab { display: flex; flex-wrap: wrap; align-items: baseline;
    gap: 2px var(--sp-3); padding: var(--sp-3) var(--sp-4); }
  .fab-ped .fab-ped-va { display: none; }
  .fab-ped-chk { order: -1; align-self: center; }   
  .fab-ped-num { order: 0; }
  .fab-ped-cj { order: 1; }
  .fab-ped-cj::after { content: ' cj'; color: var(--tx-3); font-weight: var(--fw-body);
    font-size: var(--fs-xs); }
  .fab-ped-eur { order: 2; margin-left: auto; display: inline; }   
  .fab-ped-cli { order: 3; flex-basis: 100%; white-space: normal; max-width: none; }
  .fab-ped-f { order: 4; color: var(--tx-2); }
  .fab-ped-esta { order: 5; flex-direction: row; align-items: baseline; gap: var(--sp-2); }
  .fab-ped-chip { order: 6; }
  .fab-ped-notas { order: 7; flex-basis: 100%; }
  .fab-banco { flex-wrap: wrap; }
  .fab-banco > div { flex-basis: 100%; }
  header.topbar:has(.topbar-title h1:not(:empty)) #mobile-topbar-logo { display: none !important; }
  .topbar-title h1 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  #cm-topscope { flex: 1 1 auto; min-width: 0; max-width: 100%; overflow-x: auto;
    scrollbar-width: none; }
  #cm-topscope::-webkit-scrollbar { display: none; }
}
.fab-srvm-velo { position: fixed; inset: 0; z-index: 100000; background: var(--scrim);
  display: flex; align-items: center; justify-content: center; padding: var(--sp-4); }
.fab-srvm { background: var(--sf); border-radius: var(--radius); box-shadow: 0 24px 70px rgba(0,0,0,.28);
  width: min(880px, 100%); max-height: 90vh; overflow-y: auto; padding: var(--sp-5) var(--sp-6); }
.fab-pedm-velo { position: fixed; inset: 0; z-index: 100000; background: var(--scrim);
  display: flex; align-items: center; justify-content: center; padding: var(--sp-4);
  opacity: 0; transition: opacity .18s var(--ease-out); }
.fab-pedm-velo.abierto { opacity: 1; }
.fab-clim-velo { z-index: 100001; }
.fab-clim { width: min(1400px, 94vw); }
.fab-pedm { background: var(--bg); border-radius: var(--radius); box-shadow: 0 24px 70px rgba(0,0,0,.32);
  width: min(1460px, 96vw); max-height: 92vh;
  display: flex; flex-direction: column; overflow: hidden;
  transform: scale(.98) translateY(6px); transition: transform .2s var(--ease-out); }
.fab-pedm-velo.abierto .fab-pedm { transform: none; }
.fab-alb-velo { position: fixed; inset: 0; z-index: 100001; background: var(--scrim);
  display: flex; align-items: center; justify-content: center; padding: var(--sp-4);
  opacity: 0; transition: opacity .18s var(--ease-out); }
.fab-alb-velo.abierto { opacity: 1; }
.fab-alb-visor { background: var(--bg); border-radius: var(--radius); box-shadow: 0 24px 70px rgba(0,0,0,.32);
  width: min(920px, 96vw); max-height: 94vh; display: flex; flex-direction: column; overflow: hidden;
  transform: scale(.98) translateY(6px); transition: transform .2s var(--ease-out); }
.fab-alb-velo.abierto .fab-alb-visor { transform: none; }
.fab-alb-visor-cab { flex: none; display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4); border-bottom: 1px solid var(--br); font-size: var(--fs-lg); }
.fab-alb-visor-btns { display: flex; align-items: center; gap: var(--sp-2); }
.fab-alb-visor-cuerpo { flex: 1 1 auto; min-height: 0; overflow: auto; background: var(--sf2); padding: var(--sp-4); }
.fab-alb-visor .pap-alb { width: 840px; margin: 0 auto var(--sp-4); background: #fff; box-shadow: 0 4px 18px rgba(0,0,0,.14); }
.fab-alb-visor .pap-alb:last-child { margin-bottom: 0; }
.fab-alb-imprenta { position: fixed; right: 0; bottom: 0; width: 0; height: 0; border: 0; opacity: 0; pointer-events: none; }
.fab-k-envio-campos { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--sp-3); margin-top: var(--sp-3); }
@media (max-width: 900px) { .fab-k-envio-campos { grid-template-columns: 1fr; } }
.fab-pedm-cab { flex: none; background: var(--bg);
  display: flex; justify-content: space-between; align-items: flex-start; gap: var(--sp-4);
  padding: var(--sp-5) var(--sp-5) var(--sp-3); border-bottom: 1px solid var(--br); }
.fab-pedm-acc { display: flex; align-items: center; gap: var(--sp-2); flex-shrink: 0; flex-wrap: wrap;
  justify-content: flex-end; }
.fab-pedm-body { padding: var(--sp-4) var(--sp-5) var(--sp-5); overflow-y: auto; min-height: 0; flex: 1;
  display: flex; flex-direction: column; gap: var(--sp-4); }
.fab-pedm-body > * { flex: none; }
.fab-pedm { position: relative; }
.bx-asa { position: absolute; width: 26px; height: 26px; z-index: 5; touch-action: none; }
.bx-asa i {
  position: absolute; inset: 7px; display: block;
  border: 0 solid var(--tx-3); opacity: .55;
  transition: opacity .15s var(--ease-out), border-color .15s var(--ease-out);
}
.bx-asa:hover i, .bx-asiendo .bx-asa i { opacity: 1; border-color: var(--tx-2); }
.bx-asa--nw { top: 0; left: 0;  cursor: nwse-resize; width: 18px; height: 18px; }
.bx-asa--ne { top: 0; right: 0; cursor: nesw-resize; width: 18px; height: 18px; }
.bx-asa--nw i, .bx-asa--ne i { inset: 5px; }
.bx-asa--sw { bottom: 0; left: 0;  cursor: nesw-resize; }
.bx-asa--se { bottom: 0; right: 0; cursor: nwse-resize; }
.bx-asa--nw i { border-top-width: 2px; border-left-width: 2px;  border-top-left-radius: 8px; }
.bx-asa--ne i { border-top-width: 2px; border-right-width: 2px; border-top-right-radius: 8px; }
.bx-asa--sw i { border-bottom-width: 2px; border-left-width: 2px;  border-bottom-left-radius: 8px; }
.bx-asa--se i { border-bottom-width: 2px; border-right-width: 2px; border-bottom-right-radius: 8px; }
.bx-asido { max-width: none !important; max-height: none !important; }
.modal-box.bx-asido--scroll { overflow: auto; }
.bx-asiendo { user-select: none; }
.bx-asiendo, .bx-asiendo * { transition: none !important; }
.fab-pedm-body .fab-pg { margin: 0; }
@media (max-width: 720px){
  .fab-pedm-cab { flex-direction: column; }
  .fab-pedm-acc { justify-content: flex-start; } }
@media (prefers-reduced-motion: reduce){
  .fab-pedm-velo, .fab-pedm { transition: none; } }
.fab-srvm-cab { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: var(--sp-4); }
.fab-srvm-k { display: block; font-size: var(--fs-2xs); letter-spacing: .08em; text-transform: uppercase;
  color: var(--gold-ink); font-weight: var(--fw-detalle); }
.fab-srvm-n { font-size: var(--fs-xl); color: var(--gold-ink); font-weight: var(--fw-fuerte); }
.fab-srvm-x { border: 0; background: var(--sf2); width: 34px; height: 34px; border-radius: 50%;
  cursor: pointer; color: var(--tx-2); transition: transform .12s var(--ease-out); }
.fab-srvm-x:active { transform: scale(.94); }
.fab-srvm-sec { font-size: var(--fs-2xs); text-transform: uppercase; letter-spacing: .08em;
  color: var(--gold-ink); font-weight: var(--fw-detalle);
  margin-bottom: var(--sp-1); }   
.fab-srvm-exp { font-size: var(--fs-sm); color: var(--tx-2); margin: 0 0 var(--sp-4); }
.fab-srvm-th, .fab-srvm-f {
  display: grid; grid-template-columns: minmax(200px, 1.2fr) 84px minmax(210px, 1fr) minmax(150px, .7fr);
  gap: var(--sp-3); align-items: center;
}
.fab-srvm-th { font-size: var(--fs-2xs); text-transform: uppercase; letter-spacing: .06em;
  color: var(--tx-3); font-weight: var(--fw-detalle); padding: var(--sp-2) var(--sp-3);
  border-bottom: 1.5px solid var(--br-2); }
.fab-srvm-f { padding: var(--sp-3); background: var(--sf2); border-radius: var(--radius-sm); margin-top: var(--sp-2); }
.fab-srvm-f--extra { background: color-mix(in srgb, var(--sf2) 55%, transparent); }
.fab-srvm-prod b { margin-right: var(--sp-2); }
.fab-srvm-sku { display: inline-block; background: var(--sf); border: 1px solid var(--br);
  border-radius: 6px; padding: 0 6px; font-size: var(--fs-2xs); color: var(--tx-2);
  font-variant-numeric: tabular-nums; }
.fab-srvm-pend { color: var(--tx-3); font-size: var(--fs-sm); margin-left: var(--sp-2); }
.fab-srvm-mas { border: 1px solid var(--br); background: var(--sf); border-radius: 999px;
  padding: 2px 10px; margin-left: var(--sp-2); cursor: pointer; font-size: var(--fs-2xs);
  color: var(--tx-2); font-family: var(--font); }
.fab-srvm-cj { width: 84px; text-align: right; padding: var(--sp-2) var(--sp-3);
  border: 1px solid var(--br); border-radius: var(--radius-sm); background: var(--sf);
  font-family: var(--font); font-size: var(--fs-sm); color: var(--tx);
  font-variant-numeric: tabular-nums; }
.fab-srvm-cj::-webkit-outer-spin-button, .fab-srvm-cj::-webkit-inner-spin-button {
  -webkit-appearance: none; margin: 0; }
.fab-srvm-sel { display: flex; justify-content: space-between; align-items: center; gap: var(--sp-2);
  border: 1px solid var(--br); background: var(--sf); border-radius: var(--radius-sm);
  padding: var(--sp-2) var(--sp-3); cursor: pointer; font-family: var(--font);
  font-size: var(--fs-sm); color: var(--tx); text-align: left; width: 100%; }
.fab-srvm-sel > i { font-size: 10px; color: var(--tx-3); flex: none; }
.fab-srvm-nada { grid-column: 3 / 5; color: var(--tx-3); font-size: var(--fs-sm); }
.fab-srvm-y { color: var(--tx-3); font-size: var(--fs-sm); }
.fab-srvm-flej { color: var(--estado-ojo-ink); font-size: var(--fs-2xs); margin-left: 4px; }
.fab-srvm-pie { display: flex; align-items: center; gap: var(--sp-3); margin-top: var(--sp-5); }
.fab-srvm-tot { margin-right: auto; font-size: var(--fs-md); }
@media (max-width: 720px) {
  .fab-srvm { padding: var(--sp-4); }
  .fab-srvm-th { display: none; }
  .fab-srvm-f { grid-template-columns: 1fr 84px; }
  .fab-srvm-f .fab-srvm-sel, .fab-srvm-nada { grid-column: 1 / -1; }
  .fab-srvm-pie { flex-wrap: wrap; }
}
.bx-conf-velo { position: fixed; inset: 0; z-index: 100002; background: var(--scrim);
  display: flex; align-items: center; justify-content: center; padding: var(--sp-4);
  opacity: 0; transition: opacity 200ms cubic-bezier(.32,.08,.24,1); }
.bx-conf-velo.bx-conf-velo--dentro { opacity: 1; }
.bx-conf-velo.bx-conf-velo--fuera { opacity: 0; }
.bx-conf { background: var(--sf); border-radius: var(--radius); box-shadow: 0 24px 70px rgba(0,0,0,.28);
  width: min(460px, 100%); padding: var(--sp-5);
  transform: scale(.96); transition: transform 200ms cubic-bezier(.32,.08,.24,1); }
.bx-conf-velo--dentro .bx-conf { transform: scale(1); }
.bx-conf-velo--fuera .bx-conf { transform: scale(.98); }
@media (prefers-reduced-motion: reduce) {
  .bx-conf-velo, .bx-conf { transition: none; opacity: 1; transform: none; }
}
.bx-conf-t { font-weight: var(--fw-dato); font-size: var(--fs-md); margin-bottom: var(--sp-2); }
.bx-conf-p { font-size: var(--fs-sm); color: var(--tx-2); line-height: 1.55; }
.bx-conf-pie { display: flex; justify-content: flex-end; gap: var(--sp-3); margin-top: var(--sp-4); }
.bx-conf:focus { outline: none; }
.bx-conf-peligro { background: var(--estado-urgente-ink); color: #fff; }
.fab-plan-difs { margin: var(--sp-3) 0 0; padding-left: var(--sp-5); display: grid; gap: var(--sp-1); }
.fab-plan-difs li { font-variant-numeric: tabular-nums; }
.fab-k-num { font-size: 28px; font-weight: var(--fw-black); letter-spacing: -.02em; }
.fab-k-num .fab-bdg { vertical-align: 6px; margin-left: 10px; font-size: var(--fs-sm); }
.fab-k-fecha { color: var(--tx-2); font-size: 16px; font-weight: var(--fw-detalle); margin-top: 2px; }
.fab-k-viejo { display: flex; align-items: flex-start; gap: var(--sp-3);
  background: var(--sf2); border: 1px solid var(--br);   
  border-radius: var(--radius); padding: var(--sp-4) var(--sp-5); margin-bottom: var(--sp-4); }
.fab-k-viejo > i { color: var(--estado-ojo-ink); font-size: var(--fs-xl); line-height: 1.2; flex: none; }
.fab-k-viejo b { display: block; font-size: var(--fs-md); font-weight: var(--fw-fuerte); color: var(--tx); }
.fab-k-viejo span { display: block; margin-top: 3px; font-size: var(--fs-sm);
  font-weight: var(--fw-medium); color: var(--tx-2); line-height: 1.45; }
.fab-k-redsys { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer;
  display: inline-flex; align-items: baseline; gap: 5px; }
.fab-k-redsys i { font-size: .9em; color: var(--tx-3); }
.fab-k-redsys b { font-weight: var(--fw-dato); font-variant-numeric: tabular-nums; }
@media (hover: hover) { .fab-k-redsys:hover b { color: var(--azul-apple); text-decoration: underline; } }
.fab-k-redsys-ens { color: var(--estado-ojo-ink); font-weight: var(--fw-dato); }
.fab-k-p { display: flex; flex-direction: column; align-items: center; gap: 7px; position: relative; flex: 1; min-width: 0; }
.fab-k-p i { width: 21px; height: 21px; border-radius: 50%; background: var(--sf2); border: 3px solid var(--br);
  display: grid; place-items: center; z-index: 1; box-sizing: border-box; }
.fab-k-p span { font-size: 13px; font-weight: var(--fw-dato); color: var(--tx-3); white-space: nowrap; }
.fab-k-p:not(:last-child)::after { content: ''; position: absolute; top: 9px; left: calc(50% + 15px);
  width: calc(100% - 30px); height: 3px; background: var(--br); border-radius: 2px; }
.fab-k-p--ok i { background: var(--estado-bien); border-color: var(--estado-bien); }
.fab-k-p--ok i::before { content: ''; width: 6px; height: 10px; border: solid #fff; border-width: 0 2.5px 2.5px 0;
  transform: rotate(42deg); margin-top: -2px; }
.fab-k-p--ok span { color: var(--estado-bien-ink); }
.fab-k-p--ok:not(:last-child)::after { background: var(--estado-bien); }
.fab-k-p--now i { background: var(--accent); border-color: var(--accent);
  box-shadow: 0 0 0 6px color-mix(in srgb, var(--accent) 22%, transparent); }
.fab-k-p--now span { color: var(--gold-ink); font-size: 14px; font-weight: var(--fw-fuerte); }
.fab-k-p small { font-size: 12px; color: var(--tx-3); margin-top: -4px; white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.fab-k-cols { display: grid; grid-template-columns: minmax(0,1fr) 328px; gap: var(--sp-4); align-items: start; }
.fab-k-col { display: flex; flex-direction: column; gap: var(--sp-4); min-width: 0; }
.fab-k-col--lado { align-self: stretch; }
.fab-k-col .cm-card { margin: 0; }
@media (max-width: 900px){ .fab-k-cols { grid-template-columns: minmax(0,1fr); } }
.fab-k-tcab, .fab-k-prod { display: grid; grid-template-columns: minmax(0,1fr) 148px 78px 78px 78px 96px;
  gap: 10px; align-items: center; }
.fab-k-tcab { padding: 10px 6px; font-size: 12px; font-weight: var(--fw-fuerte); letter-spacing: .04em;
  text-transform: uppercase; color: var(--tx-2); background: var(--sf2); border-radius: var(--radius-sm); }
.fab-k-tcab .n { text-align: center; font-size: 12px; font-weight: var(--fw-fuerte); }
.fab-k-prod { padding: 10px 6px; }
.fab-k-prods { margin-top: 4px; }
.fab-k-prods.bx-cebra > *:nth-child(even) { border-radius: var(--radius-sm); }
.fab-k-foto { width: 60px; height: 60px; border-radius: 13px; background: var(--sf2);
  display: grid; place-items: center; overflow: hidden; flex: none; }
.fab-k-foto { background: #000; position: relative; }
.fab-k-foto .fab-pan-img { position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: contain; border-radius: 0; background: #000; padding: 6%; }
.fab-k-foto .fab-pan-img--vacia { background: var(--sf2); }
.fab-k-foto:has(.fab-pan-img--vacia) { background: var(--sf2); }
.fab-k-prod--falta .fab-k-pi b { color: var(--estado-urgente-ink); }   
.fab-k-pi b { display: block; font-size: 16px; font-weight: var(--fw-fuerte); letter-spacing: -.01em; }
.fab-k-pi .sub { font-size: 12px; color: var(--tx-3); margin-top: 2px; }
.fab-k-n { text-align: center; font-size: var(--fs-md); font-weight: var(--fw-fuerte); font-variant-numeric: tabular-nums; }
.fab-k-n--soft { color: var(--tx-3); font-weight: var(--fw-detalle); }
.fab-k-n--mal { color: var(--estado-urgente-ink); }
.fab-k-queda { text-align: center; font-size: 13px; font-weight: var(--fw-detalle);
  font-variant-numeric: tabular-nums; color: var(--tx-2); }
.fab-k-queda b { font-weight: var(--fw-fuerte); }
.fab-k-queda--cero b { color: var(--estado-urgente-ink); }
.fab-k-total { display: grid; grid-template-columns: minmax(0,1fr) 148px 78px 78px 78px 96px; gap: 10px;
  padding: 11px 6px 2px; border-top: 2px solid var(--br2, var(--br)); font-size: var(--fs-sm);
  font-weight: var(--fw-dato); color: var(--tx-2); }
.fab-k-total .fab-k-n { font-size: var(--fs-md); }
.est-lote { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; font-weight: var(--fw-dato);
  padding: 5px 12px; border-radius: 9px; white-space: nowrap; justify-self: start; }
.est-lote i { width: 9px; height: 9px; border-radius: 50%; flex: none; }
.est-lote small { font-weight: var(--fw-detalle); font-size: 12px; opacity: .75; }
.est-lote--si   { background: #eef7f0; color: var(--estado-bien-ink); } .est-lote--si i   { background: var(--estado-bien); }
.est-lote--ojo  { background: #fcecd4; color: #9a5b00; }               .est-lote--ojo i  { background: #e8853a; }
.est-lote--rojo { background: #fbdede; color: #a32626; }               .est-lote--rojo i { background: #d64545; }
.est-lote--negro{ background: #efd4d4; color: #6e1414; }               .est-lote--negro i{ background: #7c1010; }
.est-lote--no   { background: #dedede; color: #5c5c5c; }               .est-lote--no i   { background: #9a9a9a; }
[data-theme="dark"] .est-lote--si   { background: rgba(47,143,78,.16);  color: #7fd89b; }
[data-theme="dark"] .est-lote--ojo  { background: rgba(232,133,58,.16); color: #f4b47e; }
[data-theme="dark"] .est-lote--rojo { background: rgba(214,69,69,.16);  color: #f09a9a; }
[data-theme="dark"] .est-lote--negro{ background: rgba(124,16,16,.28);  color: #e88; }
[data-theme="dark"] .est-lote--no   { background: rgba(255,255,255,.09); color: #b5b5b5; }
.fab-k-esc { display: flex; align-items: center; gap: 8px; margin-top: 12px; font-size: 12px;
  color: var(--tx-3); flex-wrap: wrap; }
.fab-k-esc b { font-weight: var(--fw-fuerte); font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
.fab-k-esc .esc { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 7px;
  font-weight: var(--fw-dato); font-size: 12px; }
.fab-k-log { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; }
.fab-k-campo label { display: block; font-size: 12px; font-weight: var(--fw-fuerte); letter-spacing: .05em;
  text-transform: uppercase; color: var(--tx-3); margin-bottom: 6px; }
.fab-k-sel { display: flex; align-items: center; justify-content: space-between; gap: 8px; background: var(--sf2);
  border: 0; width: 100%; border-radius: 10px; padding: 10px 12px; font-size: 14px;
  font-weight: var(--fw-dato); color: var(--tx); cursor: pointer; font-family: inherit; text-align: left; }
.fab-k-sel span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fab-k-sel i.fa-solid { color: var(--tx-3); font-size: 12px; }
.fab-k-sel em { width: 9px; height: 9px; border-radius: 50%; flex: none; font-style: normal; }
.fab-k-sel--vacio { color: var(--tx-3); font-weight: var(--fw-detalle); }
.fab-k-ck { display: flex; align-items: center; gap: 10px; cursor: pointer; font-size: var(--fs-sm);
  font-weight: var(--fw-detalle); margin-top: 12px; }
.fab-k-ck input { display: none; }
.fab-k-ck i { width: 26px; height: 26px; border-radius: 8px; border: 2.5px solid var(--br2, var(--br));
  background: var(--sf); flex: none; display: grid; place-items: center; box-sizing: border-box;
  transition: background .15s var(--ease-out), border-color .15s var(--ease-out); }
.fab-k-ck--on i { background: var(--accent); border-color: var(--accent); }
.fab-k-ck--on i::after { content: ''; width: 7px; height: 12px; border: solid #231a00;
  border-width: 0 3px 3px 0; transform: rotate(42deg); margin-top: -2px; }
.fab-k-avatar { width: 54px; height: 54px; border-radius: 50%;
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 34%, #fff), color-mix(in srgb, var(--accent) 72%, #fff));
  display: grid; place-items: center; font-size: var(--fs-lg); font-weight: var(--fw-fuerte); color: var(--gold-ink);
  flex: none; border: 3px solid var(--sf); box-shadow: 0 2px 6px rgba(0,0,0,.12); }
.fab-k-stk { display: flex; align-items: center; gap: 10px; padding: 8px 0; font-size: 14px; }
.fab-k-stk + .fab-k-stk { border-top: 1px solid var(--br); }
.fab-k-stk .nom { flex: 1; font-weight: var(--fw-dato); min-width: 0; overflow: hidden;
  text-overflow: ellipsis; white-space: nowrap; }
.fab-k-stk .mov { font-variant-numeric: tabular-nums; color: var(--tx-2); flex: none; }
.fab-k-stk .mov b { font-weight: var(--fw-fuerte); }
.fab-k-stk--cero .mov b { color: var(--estado-urgente-ink); }
.fab-k-stk-aviso { margin-top: 10px; font-size: 13px; color: var(--estado-urgente-ink); font-weight: var(--fw-detalle); }
.fab-k-nota { border-radius: 12px; border: 1.5px solid var(--br-2); padding: 14px 16px; font-size: 15px; line-height: 1.5; font-weight: var(--fw-detalle); }
.fab-k-nota + .fab-k-nota { margin-top: 12px; }
.fab-k-nota small { display: table; font-size: 12px; font-weight: var(--fw-fuerte); letter-spacing: .05em;
  text-transform: uppercase; margin-bottom: 8px; padding: 3px 10px; border-radius: 7px; color: #fff; }
.fab-k-nota--am { background: #fbedb2; color: #4d3e00; }
.fab-k-nota--am small { background: #c9a305; }
.fab-k-nota--mo { background: #e6dbf7; color: #3f2b73; }
.fab-k-nota--mo small { background: #7c5cbf; }
.fab-k-nota--alb { background: #d8e6fa; color: #12365e; }
.fab-k-nota--alb small { background: #2563eb; }
[data-theme="dark"] .fab-k-nota--alb { background: #16263f; color: #bcd4f5; }
[data-theme="dark"] .fab-k-nota--am { background: #3a3212; color: #e8d48a; }
[data-theme="dark"] .fab-k-nota--mo { background: #2e2545; color: #cfc0ec; }
.fab-k-nota textarea { display: block; width: 100%; background: none; border: 0; resize: vertical;
  font: inherit; color: inherit; padding: 0; min-height: 24px; }
.fab-k-nota textarea:focus { outline: none; }
.fab-k-nota textarea::placeholder { color: inherit; opacity: .55; font-style: italic; font-weight: var(--fw-body); }
.fab-k-doc { display: flex; align-items: center; gap: 12px; padding: 9px 0; flex-wrap: wrap; }
.fab-k-doc .fab-k-doc-t { flex: 1 1 150px; }
.fab-k-doc + .fab-k-doc { border-top: 1px solid var(--br); }
.fab-k-doc-ico { width: 38px; height: 38px; border-radius: 10px; background: var(--sf2); display: grid;
  place-items: center; font-size: 15px; font-weight: var(--fw-fuerte); color: var(--tx-2); flex: none; }
.fab-k-doc-t { flex: 1; min-width: 0; }
.fab-k-doc-t b { display: block; font-size: var(--fs-sm); font-weight: var(--fw-dato); white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis; }
.fab-k-doc-t span { font-size: 12px; color: var(--tx-3); }
.fab-k-doc--off { opacity: .55; }
.fab-k-doc-b { background: var(--sf); border: 1px solid var(--br2, var(--br)); border-radius: 10px;
  padding: 8px 14px; font-size: 13px; font-weight: var(--fw-dato); cursor: pointer; color: var(--tx); flex: none; }
a.fab-k-doc-b { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; white-space: nowrap; }
a.fab-k-doc-b i { font-size: 11px; color: var(--tx-3); }
.fab-k-cta { margin-top: auto; width: 100%; padding: 18px 24px; font-size: var(--fs-lg); font-weight: var(--fw-fuerte);
  background: var(--accent); color: #231a00; border: 0; cursor: pointer;
  box-shadow: 0 3px 0 color-mix(in srgb, var(--accent) 72%, #000);
  transition: transform .12s var(--ease-out), box-shadow .12s var(--ease-out); }
.fab-k-cta:active { transform: translateY(2px); box-shadow: 0 1px 0 color-mix(in srgb, var(--accent) 72%, #000); }
.fab-pedm-cab--pasos { flex-direction: column; align-items: stretch; gap: var(--sp-3); }
.fab-k-cabfila { display: flex; align-items: center; gap: var(--sp-3); }
.fab-k-cabfila .fab-pg-tit { flex: 1; min-width: 0; }
.fab-k-pasos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-2); }
.fab-k-paso { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: var(--radius);
  background: var(--sf2); color: var(--tx-3); font-weight: var(--fw-dato); font-size: var(--fs-md);
  border: 0; font-family: inherit; text-align: left; cursor: default; min-width: 0; }
.fab-k-paso i { width: 28px; height: 28px; border-radius: 50%; background: var(--sf3); display: grid; place-items: center;
  font-style: normal; font-weight: var(--fw-black); flex: none; font-size: var(--fs-sm); }
.fab-k-paso--on { background: var(--accent-bg); color: var(--tx); outline: 2px solid var(--accent); }
.fab-k-paso--on i { background: var(--accent); color: #16161a; }
.fab-k-paso--ok { color: var(--estado-bien-ink); cursor: pointer; }
.fab-k-paso--ok i { background: var(--estado-bien); color: #fff; }
.fab-k-losas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-3); }
.fab-k-losa { border: 2px solid var(--br); border-radius: var(--radius); padding: 16px 14px; cursor: pointer; background: var(--sf);
  min-height: 92px; display: flex; flex-direction: column; justify-content: center; gap: 4px; font-family: inherit;
  text-align: left; color: var(--tx); min-width: 0; }
.fab-k-losa > b { font-size: var(--fs-lg); font-weight: var(--fw-black); }   
.fab-k-losa > span { color: var(--tx-2); font-size: var(--fs-base); font-weight: var(--fw-detalle); }
.fab-k-losa--on { border-color: var(--accent); background: var(--accent-bg); }
.fab-k-losa:active { transform: scale(.98); }
.fab-k-losa:disabled { opacity: .5; cursor: not-allowed; }   
.fab-k-pie { flex: none; display: flex; align-items: center; gap: var(--sp-3); padding: var(--sp-3) var(--sp-5);
  border-top: 1px solid var(--br); background: var(--sf); }
.fab-k-pie .fab-k-cta { margin: 0 0 0 auto; width: auto; }
.fab-k-cta--verde { background: var(--estado-bien); color: #fff; box-shadow: 0 3px 0 color-mix(in srgb, var(--estado-bien) 72%, #000); }
.fab-k-atras { background: transparent; border: 1.5px solid var(--br2, var(--br)); border-radius: var(--radius); padding: 14px 22px;
  font-size: var(--fs-md); font-weight: var(--fw-fuerte); color: var(--tx); cursor: pointer; font-family: inherit; }
.fab-k-atras:active { transform: scale(.98); }
.fab-k-res4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-3); }
.fab-k-res4 > div { background: var(--sf2); border-radius: var(--radius); padding: 14px 12px; text-align: center; min-width: 0; display: grid; align-content: center; justify-items: center; }
.fab-k-res4 > div > b { display: block; font-size: var(--fs-2xl); font-weight: var(--fw-black); font-variant-numeric: tabular-nums;
  letter-spacing: -.02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fab-k-res4 > div > span { font-size: var(--fs-sm); color: var(--tx-2); font-weight: var(--fw-detalle); }
.fab-k-cobro { display: flex; align-items: center; gap: 10px; font-size: var(--fs-md); font-weight: var(--fw-dato); color: var(--estado-bien-ink); }
.fab-k-cobro::before { content: ''; width: 12px; height: 12px; border-radius: 50%; background: var(--estado-bien); flex: none; }
.fab-k-cobro--no { color: var(--estado-urgente-ink); }
.fab-k-cobro--no::before { background: var(--estado-urgente); }
.fab-k-cobro--luego { color: var(--tx-2); }
.fab-k-cobro--luego::before { background: var(--tx-3); }
.fab-k-hecho { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px;
  padding: var(--sp-5) var(--sp-4) var(--sp-3); }
.fab-k-tick { width: 88px; height: 88px; border-radius: 50%; background: var(--estado-bien); display: grid; place-items: center;
  color: #fff; font-size: var(--fs-4xl); }
.fab-k-hecho > b { font-size: var(--fs-2xl); font-weight: var(--fw-black); letter-spacing: -.02em; }
.fab-k-hecho > span { font-size: var(--fs-md); color: var(--tx-2); font-weight: var(--fw-detalle); }
.fab-k-hecho .fab-k-pend { color: var(--estado-ojo-ink); font-weight: var(--fw-dato); }
.fab-k-hecho .fab-k-pend--ok { color: var(--estado-bien-ink); }
.fab-k-papeles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); width: 100%; margin-top: var(--sp-3); }
.fab-k-papeles--1 { grid-template-columns: minmax(0, 1fr); max-width: 360px; }   
.fab-k-papeles--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 720px; }
.fab-k-papel { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 22px 14px; border-radius: var(--radius);
  border: 0; background: var(--sf2); font-family: inherit; font-size: var(--fs-lg); font-weight: var(--fw-fuerte); color: var(--tx);
  cursor: pointer; min-width: 0; }
.fab-k-papel small { font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-2); }
.fab-k-papel--oro { background: var(--accent); color: #16161a; }
.fab-k-papel--oro small { color: #3a2a00; }
.fab-k-papel:active { transform: translateY(1px); }
.fab-k-quedan { margin-top: var(--sp-3); font-size: var(--fs-base); font-weight: var(--fw-dato); color: var(--estado-ojo-ink); }
@media (max-width: 900px) {
  .fab-k-losas, .fab-k-res4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fab-k-papeles { grid-template-columns: 1fr; }
}
.fab-k-cta:disabled { opacity: .45; cursor: default; box-shadow: none; }
.fab-k-cta--grande { margin-top: 0; padding: 22px 28px; font-size: var(--fs-xl); }
.fab-k-ctas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-3); }
.fab-k-ctas > div { display: flex; flex-direction: column; min-width: 0; }
@media (max-width: 720px) { .fab-k-ctas { grid-template-columns: minmax(0, 1fr); } }
.fab-k-log--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fab-k-losas--alm { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: var(--sp-5); }
.fab-k-cta-nota { font-size: 12px; color: var(--tx-3); text-align: center; margin-top: 6px; }
.fab-k--srv { display: flex; flex-direction: column; gap: var(--sp-6); }
.fab-k--srv > .bx-sep { margin: 0; }   
.fab-k--srv > .cm-card { margin: 0; }
.fab-k--srv .fab-k-cols, .fab-k--srv .fab-k-col { gap: var(--sp-6); }
.fab-k-losa > b { display: flex; align-items: center; gap: 8px; }
.fab-k-losa > b > .seur-logo, .fab-k-losa > b > .i2-logo { flex: none; }
.fab-k-ico { color: var(--tx-2); font-size: var(--fs-xl); width: 26px; text-align: center; flex: none; }
.fab-k-res4 > div > b { display: flex; align-items: center; justify-content: center; gap: 8px; }
.fab-k-res4 .seur-logo { font-size: var(--fs-2xl); } .fab-k-res4 .i2-logo { font-size: var(--fs-3xl); }
.fab-k-hecho > span { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; justify-content: center; }
.fab-k-hecho > span .seur-logo { font-size: var(--fs-md); } .fab-k-hecho > span .i2-logo { font-size: var(--fs-lg); }
.fab-pedm-body > .fab-k--hecho { flex: 1 1 auto; min-height: 0; }
.fab-k--hecho .fab-k-hecho { flex: 1; padding: var(--sp-4) 0 0; gap: var(--sp-2); }
.fab-k--hecho .fab-k-papeles { flex: 1; margin-top: var(--sp-5); gap: var(--sp-5); align-items: start; align-content: start; }
.fab-k--hecho .fab-k-papel { min-height: 176px; justify-content: center; }   
.fab-k--hecho .fab-k-papeles--2 { max-width: 880px; }
.fab-k--hecho .fab-k-papel { min-height: 200px; justify-content: center; gap: var(--sp-2); padding: var(--sp-6) var(--sp-4);
  font-size: var(--fs-xl); }
.fab-k-papel > b { font-weight: var(--fw-black); }
.fab-k--hecho .fab-k-papel small { font-size: var(--fs-base); }
.fab-k-papel-ico { display: grid; place-items: center; height: 60px; font-size: var(--fs-4xl); color: var(--tx-2); margin-bottom: var(--sp-1); }
.fab-k-papel--oro .fab-k-papel-ico { color: inherit; }
.fab-k-papel-ico .seur-logo { font-size: var(--fs-3xl); } .fab-k-papel-ico .i2-logo { font-size: var(--fs-4xl); }
.fab-k-papel:active { transform: translateY(2px); }
.fab-k-cta--naranja { background: var(--estado-ojo); box-shadow: 0 3px 0 color-mix(in srgb, var(--estado-ojo) 72%, #000); }
.fab-k-cta--naranja:active { box-shadow: 0 1px 0 color-mix(in srgb, var(--estado-ojo) 72%, #000); }
.fab-k-cta--sec { background: var(--sf2); color: var(--tx); box-shadow: none; border: 1px solid var(--br);
  font-size: var(--fs-md); min-height: 48px; margin-top: var(--sp-2); }
.fab-k-cta--sec:hover { background: var(--sf3); }
.fab-k-cta--incid {
  background: var(--sf); color: var(--estado-urgente); box-shadow: none;
  border: 1.5px solid var(--estado-urgente);
  font-size: var(--fs-md); min-height: 48px; margin-top: var(--sp-2);
}
.fab-k-cta--incid i { color: var(--estado-urgente); }
@media (hover: hover) {
  .fab-k-cta--incid:hover { background: var(--estado-urgente); color: #fff; }
  .fab-k-cta--incid:hover i { color: #fff; }
}
.fab-ped-reponer { border-color: var(--estado-urgente); color: var(--estado-urgente); }
.fab-ped-reponer i { color: var(--estado-urgente); }
@media (hover: hover) {
  .fab-ped-reponer:hover { background: var(--estado-urgente); color: #fff; border-color: var(--estado-urgente); }
  .fab-ped-reponer:hover i { color: #fff; }
}
.fab-repo-motivos { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin: 0 0 var(--sp-3); }
.fab-repo-mo {
  appearance: none; border: 1px solid var(--br); background: var(--sf); color: var(--tx);
  font: inherit; font-size: var(--fs-md); font-weight: var(--fw-dato);
  padding: 11px 15px; min-height: 46px; border-radius: var(--radius); cursor: pointer;
  transition: background .15s var(--ease-out), color .15s var(--ease-out), border-color .15s var(--ease-out);
}
.fab-repo-mo:hover { background: var(--sf2); }
.fab-repo-mo.on { background: var(--tx); color: var(--tx-inv, #fff); border-color: var(--tx); }
.fab-repo-nota { display: block; margin: 0 0 var(--sp-3); }
.fab-repo-nota > span { display: block; font-size: var(--fs-2xs); text-transform: uppercase;
  letter-spacing: .08em; font-weight: var(--fw-dato); color: var(--tx-3); margin-bottom: 6px; }
.fab-repo-nota .form-input { width: 100%; min-height: 44px; }
.fab-srvm-pie .btn-primary[aria-disabled="true"] { opacity: .45; pointer-events: none; }
.fab-k-cta--naranja i { margin-right: 6px; }
@media (max-width: 900px) { .fab-k--hecho .fab-k-papel { min-height: 120px; } }
.fab-k-avatar--cli { background: linear-gradient(135deg, #3b82f6, #1d4ed8); color: #fff; }
.fab-rt-cab { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; flex-wrap: wrap; }
.fab-rt-cab b { font-size: var(--fs-md); font-weight: var(--fw-fuerte); letter-spacing: -.01em; }
.fab-rt-cab > span { font-size: var(--fs-sm); color: var(--tx-2); }
.fab-rt-fin { margin-left: auto; font-size: var(--fs-base); font-weight: var(--fw-fuerte); color: var(--estado-urgente-ink); }
.fab-rt-fin--ok { color: var(--tx-2); font-weight: var(--fw-detalle); }
.fab-rt { position: relative; height: 100px; margin: 0 10px; }
.fab-rt-linea { position: absolute; top: 48px; left: 0; right: 0; height: 4px; background: var(--br); border-radius: 2px; }
.fab-rt-rojo { position: absolute; top: 48px; height: 4px; background: var(--estado-urgente); border-radius: 2px; opacity: .55; }
.fab-rt-p { position: absolute; top: 42px; transform: translateX(-50%); display: flex; flex-direction: column;
  align-items: center; gap: 6px; }
.fab-rt-p--arriba { top: auto; bottom: 42px; flex-direction: column-reverse; }
.fab-rt-p--arriba small { margin-top: 0; margin-bottom: -4px; }
.fab-rt-p i { width: 16px; height: 16px; border-radius: 50%; background: var(--estado-bien);
  border: 3px solid var(--sf); box-shadow: 0 0 0 2px var(--estado-bien); }
.fab-rt-p span { font-size: 12px; font-weight: var(--fw-dato); color: var(--tx-2); white-space: nowrap; }
.fab-rt-p small { font-size: 12px; color: var(--tx-3); margin-top: -4px; white-space: nowrap; }
.fab-rt-p--toca i { background: var(--sf); box-shadow: 0 0 0 2px var(--accent); }
.fab-rt-p--toca span { color: var(--gold-ink); }
.fab-rt-p--hoy i { width: 18px; height: 18px; background: var(--estado-urgente);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--estado-urgente) 25%, transparent); }
.fab-rt-p--hoy span { color: var(--estado-urgente-ink); font-weight: var(--fw-fuerte); }
.fab-rt-p--hoy-ok i { background: var(--tx-3); box-shadow: 0 0 0 3px color-mix(in srgb, var(--tx-3) 22%, transparent); }
.fab-rt-p--hoy-ok span { color: var(--tx-2); }
.fab-cli-lq { display: flex; align-items: center; gap: 14px; padding: 10px 8px; border-radius: 9px; }
.fab-cli-lq .fab-k-foto, .fab-cli-pxr .fab-k-foto { width: 46px; height: 46px; border-radius: 10px; }
.fab-cli-lq-t { flex: 1; min-width: 0; }
.fab-cli-lq-t b { display: block; font-size: 15px; font-weight: var(--fw-fuerte); letter-spacing: -.01em; }
.fab-cli-lq-t span { font-size: 12px; color: var(--tx-3); }
.fab-cli-px { background: color-mix(in srgb, var(--accent) 20%, transparent); color: var(--gold-ink);
  border-radius: 9px; padding: 5px 12px; font-size: var(--fs-sm); font-weight: var(--fw-fuerte);
  font-variant-numeric: tabular-nums; white-space: nowrap; flex: none; }
.fab-cli-px--std { background: var(--sf2); color: var(--tx-3); font-weight: var(--fw-detalle); }
.fab-cli-lq-caj { font-size: var(--fs-md); font-weight: var(--fw-fuerte); font-variant-numeric: tabular-nums;
  text-align: right; min-width: 44px; flex: none; }
.fab-cli-lq-caj small { display: block; font-size: 12px; color: var(--tx-3); font-weight: var(--fw-detalle); }
.fab-dni-marco { perspective: 1000px; }
.fab-dni-giro { position: relative; transform-style: preserve-3d; cursor: pointer;
  transition: transform 480ms var(--ease-out); will-change: transform;
  transform: rotateX(var(--rx, 0deg)) rotateY(calc(var(--ry, 0deg) + var(--fy, 0deg))); }
.fab-dni-giro.volteado { --fy: 180deg; }
.fab-dni-cara, .fab-dni-dorso { backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.fab-dni { position: relative; overflow: hidden; border: 0; border-radius: 18px;
  padding: 18px 20px;
  background: var(--accent); color: var(--oro-tinta); }
.fab-dni.fab-dni-dorso { position: absolute; inset: 0; transform: rotateY(180deg); overflow: auto;
  padding: 14px 20px; }
.fab-dni-dorso .fab-dni-cab { margin-bottom: 6px; }
.fab-dni::after { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: 0;
  background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 50%), rgba(255,255,255,.42), transparent 62%);
  transition: opacity 200ms var(--ease-out); }
.fab-dni:hover::after { opacity: 1; }
[data-theme="dark"] .fab-dni::after { background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 50%),
  rgba(255,255,255,.09), transparent 62%); }
@media (prefers-reduced-motion: reduce) {
  .fab-dni-giro { transition: none; transform: rotateY(var(--fy, 0deg)); }
  .fab-dni::after { display: none; }
}
.fab-dni-cab { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 14px; }
.fab-dni-cab > span:first-child { font-size: 12px; font-weight: var(--fw-fuerte); letter-spacing: .09em;
  color: rgba(35,26,0,.62); }
.fab-dni-tier .fabcli-tsel { background: #fff; border-color: transparent; color: #231a00;
  box-shadow: 0 1px 3px rgba(0,0,0,.14); }
.fab-dni-tier .fabcli-tsel--preferente { background: var(--pref); color: var(--pref-ink); }
.fab-dni-tier .fab-srv-tier { color: #231a00; }
.fab-dni-cuerpo { display: flex; align-items: center; gap: 16px; margin: 6px 0 4px; }
.fab-cli-lq { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto auto;
  align-items: center; gap: var(--sp-3); padding: var(--sp-2) var(--sp-3); }
.fab-cli-lq-n { min-width: 0; }
.fab-cli-lq-n b { display: block; font-size: var(--fs-base); font-weight: var(--fw-dato);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fab-cli-lq-n span { display: block; font-size: var(--fs-xs); color: var(--tx-3); }
.fab-cli-lq-precio { font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--azul-apple);
  font-variant-numeric: tabular-nums; white-space: nowrap; }
.fab-cli-lq-cajas { font-size: var(--fs-sm); color: var(--tx-2); white-space: nowrap;
  font-variant-numeric: tabular-nums; }
.fab-cli-lq-cajas b { font-size: var(--fs-lg); font-weight: var(--fw-dato); color: var(--tx); }
.fab-cli-dejo { margin-top: var(--sp-3); padding-top: var(--sp-3); border-top: 1px solid var(--br);
  display: flex; flex-direction: column; gap: var(--sp-1);
  font-size: var(--fs-sm); color: var(--tx-2); }
.fab-cli-cargando { padding: var(--sp-2) var(--sp-3); font-size: var(--fs-sm); color: var(--tx-3); }
.fab-cli-sub { margin: calc(var(--sp-2) * -1) 0 var(--sp-3); font-size: var(--fs-sm); color: var(--tx-3); }
.fab-cli-lote { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center; gap: var(--sp-3); padding: var(--sp-2) var(--sp-3);
  font-size: var(--fs-sm); }
.fab-cli-lote b { font-weight: var(--fw-dato); font-variant-numeric: tabular-nums; }
.fab-cli-lote span { color: var(--tx-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fab-cli-lote-f, .fab-cli-lote-c { white-space: nowrap; }
.fab-cli-lote-mas { padding: var(--sp-2) var(--sp-3); font-size: var(--fs-xs); color: var(--tx-3); }
.fab-cli-lotes { display: flex; flex-direction: column; }
.fab-cli-datos { display: flex; flex-direction: column; gap: var(--sp-2); }
.fab-cli-zona-res { display:block; font-size:var(--fs-md); font-weight:var(--fw-dato); margin-bottom:var(--sp-2); }
.fab-cli-zona-provs { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:var(--sp-3); }
.fab-cli-zona-provs span { padding:3px 9px; border-radius:var(--radius-pill); background:var(--sf2); font-size:var(--fs-sm); font-weight:var(--fw-detalle); }
.mapa-pisan-fila { display:grid; grid-template-columns:minmax(120px, 180px) auto minmax(0, 1fr); gap:var(--sp-3); align-items:center; padding:var(--sp-2) var(--sp-3); }
.mapa-pisan-fila > b { font-size:var(--fs-md); }
.mapa-pisan-n { font-weight:var(--fw-black); font-variant-numeric:tabular-nums; color:var(--estado-ojo-ink); }
.mapa-pisan-quienes { display:flex; flex-wrap:wrap; gap:6px 14px; }
.mapa-pisan-quien { display:inline-flex; align-items:center; gap:6px; font-size:var(--fs-sm); font-weight:var(--fw-detalle); }
.mapa-pisan-quien i { width:9px; height:9px; border-radius:50%; display:inline-block; flex:none; }
.mapa-pisan { border-radius:var(--radius-sm); overflow:hidden; }
.fab-cli-zona > .btn { margin-top:var(--sp-1); }
.dz-ed-provs { min-height:44px; }
.dz-ed { max-width:760px; }
.dz-ed .dz-ed-zonas { margin:var(--sp-4) 0 var(--sp-2); }
.dz-ed-grupo { margin-top:var(--sp-3); }
.dz-ed-grupo > small { display:block; font-size:var(--fs-2xs); font-weight:var(--fw-fuerte); text-transform:uppercase; letter-spacing:.08em; color:var(--tx-3); margin-bottom:6px; }
.dz-ed-vacio { color:var(--tx-3); font-size:var(--fs-sm); padding:var(--sp-3) 0; }
.dz-ed-pie { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3); flex-wrap:wrap; margin-top:var(--sp-5); padding-top:var(--sp-3); border-top:1px solid var(--br); }
.dz-ed-resumen b { display:block; font-size:var(--fs-md); }
.dz-ed-resumen span { font-size:var(--fs-sm); color:var(--tx-3); }
.dz-ed-btns { display:flex; gap:8px; }
.bx-ck-chip.dz-parte { box-shadow:0 0 0 2px var(--accent) inset; }
.fab-cli-datos-t { font-size: var(--fs-xs); font-weight: var(--fw-fuerte); letter-spacing: .06em;
  text-transform: uppercase; color: var(--tx-3); }
.fab-cli-datos-t--seg { margin-top: var(--sp-3);
  padding-top: var(--sp-3); border-top: 1px solid var(--br); }
.fab-cli-dato { display: flex; flex-direction: column; gap: 2px;
  padding: var(--sp-2) var(--sp-3); background: var(--sf2); border-radius: var(--radius-sm); }
.fab-cli-dato small { font-size: var(--fs-xs); color: var(--tx-3); }
.fab-cli-dato b { font-size: var(--fs-base); font-weight: var(--fw-dato); color: var(--tx);
  line-height: 1.4; overflow-wrap: anywhere; }
.fab-dni-foto { position: relative; width: 76px; height: 76px; border-radius: 14px; flex: none;
  background: linear-gradient(135deg, #3b82f6, #1d4ed8); display: grid; place-items: center;
  border: 2px solid #fff; box-shadow: 0 2px 6px rgba(0,0,0,.18); }
.fab-dni-foto b { font-size: var(--fs-lg); font-weight: var(--fw-fuerte); color: #fff; }
.fab-dni-foto img { width: 100%; height: 100%; object-fit: cover; border-radius: 10px; }
.fab-dni-cam { position: absolute; right: -7px; bottom: -7px; width: 26px; height: 26px;
  border: 2px solid #fff; border-radius: 50%; background: #231a00; color: #fff;
  font-size: 12px; display: grid; place-items: center; cursor: pointer;
  transition: transform 120ms var(--ease-out); }
.fab-dni-cam:hover { transform: scale(1.08); }
.fab-dni-cam:active { transform: scale(.94); }
.fab-dni-quien { min-width: 0; }
.fab-dni-quien b { display: block; font-size: var(--fs-lg); font-weight: var(--fw-fuerte);
  letter-spacing: -.01em; line-height: 1.15; color: #231a00; }
.fab-dni-quien span { display: block; font-size: 12px; color: rgba(35,26,0,.62); margin-top: 2px;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fab-dni-pie { display: flex; align-items: center; gap: 12px; margin-top: 14px; padding-top: 12px;
  border-top: 1px dashed rgba(35,26,0,.28); }
.fab-dni .fab-cli-cod, .fab-dni .fab-cli-alta b { color: #231a00; }
.fab-dni .fab-cli-cod { font-size: var(--fs-xl); }
.fab-dni-hint { position: absolute; right: 12px; bottom: 10px; font-size: 12px; color: rgba(35,26,0,.4); }
.fab-dni-cab--seg { margin: 8px 0 4px; padding-top: 8px; border-top: 1px dashed rgba(35,26,0,.28); }
.fab-dni-f { display: flex; align-items: baseline; gap: 10px; padding: 2px 0; }
.fab-dni-f small { flex: none; width: 96px; font-size: 12px; font-weight: var(--fw-fuerte);
  letter-spacing: .04em; text-transform: uppercase; color: rgba(35,26,0,.62); white-space: nowrap; }
.fab-dni-f b { font-size: var(--fs-sm); font-weight: var(--fw-dato); color: #231a00; min-width: 0; }
.fab-dni-vacio { opacity: .45; font-weight: var(--fw-body); font-style: italic; }
.fab-dni .fab-cli-cod small, .fab-dni .fab-cli-alta { color: rgba(35,26,0,.62); }
.fab-cli-kpis .fab-tit { padding: 12px 16px; }
.fab-cli-kpis .fab-tit-n { font-size: var(--fs-2xl); }
.fab-cli-kpis .fab-tit-c { font-size: 12px; }
.fab-tit--bien .fab-tit-n { color: var(--estado-bien-ink); }
.fab-cli-nota { position: relative; }
.fab-cli-nota-lapiz { position: absolute; top: 12px; right: 12px; width: 28px; height: 28px;
  border: 0; border-radius: 8px; background: rgba(124,92,191,.18); color: #5b3fa0; font-size: 12px;
  display: grid; place-items: center; cursor: pointer; transition: transform 120ms var(--ease-out); }
.fab-cli-nota-lapiz:hover { transform: scale(1.06); }
.fab-cli-nota-lapiz:active { transform: scale(.94); }
[data-theme="dark"] .fab-cli-nota-lapiz { background: rgba(207,192,236,.16); color: #cfc0ec; }
.fab-cli-nota-txt { min-height: 20px; }
.fab-cli-nota-vacia { opacity: .55; font-weight: var(--fw-body); }
.fab-cli-nota-acc { display: flex; justify-content: flex-end; gap: 8px; margin-top: 10px; }
.fab-cli-cod { font-size: var(--fs-lg); font-weight: var(--fw-black); letter-spacing: .06em;
  font-variant-numeric: tabular-nums; }
.fab-cli-cod small { display: block; font-size: 12px; font-weight: var(--fw-fuerte); letter-spacing: .08em;
  text-transform: uppercase; color: var(--tx-3); }
.fab-cli-alta { margin-left: auto; text-align: right; font-size: var(--fs-sm); color: var(--tx-2);
  font-weight: var(--fw-detalle); }
.fab-cli-alta b { display: block; font-size: var(--fs-base); color: var(--tx); }
.fab-cli-pxr { display: grid; grid-template-columns: 46px minmax(0, 1fr) 170px 210px; gap: 14px;
  align-items: center; padding: 11px 8px; border-radius: 9px; }
.fab-cli-pxr--off { opacity: .55; }
.fab-cli-pxin { display: flex; align-items: center; justify-content: center; gap: 6px; background: var(--sf2);
  border-radius: 10px; padding: 9px 12px; }
.fab-cli-pxin input { width: 72px; border: 0; background: transparent; font: inherit; font-size: var(--fs-md);
  font-weight: var(--fw-fuerte); text-align: right; font-variant-numeric: tabular-nums; color: var(--tx); outline: none; }
.fab-cli-pxin input::placeholder { color: var(--tx-3); font-weight: var(--fw-detalle); }
.fab-cli-pxin:focus-within { outline: 2px solid var(--accent); outline-offset: 1px; }
.fab-cli-pxin span { font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx-3); }
.fab-cli-pxin--pact { background: color-mix(in srgb, var(--accent) 16%, transparent); }
.fab-cli-pxin--pact input { color: var(--gold-ink); }
.fab-cli-pxc { font-size: var(--fs-sm); color: var(--tx-2); font-weight: var(--fw-detalle);
  font-variant-numeric: tabular-nums; }
.fab-cli-pxc b { font-weight: var(--fw-fuerte); color: var(--tx); }
.fab-cli-pxp { color: var(--gold-ink); }
.fab-cli-px-pie { display: flex; justify-content: flex-end; margin-top: 14px; }
.fab-cli-px-cta { width: auto; margin-top: 0; padding: 14px 26px; }
@media (max-width: 760px) {
  .fab-cli-pxr { grid-template-columns: 46px minmax(0, 1fr) 150px; }
  .fab-cli-pxc { display: none; }
}
.fab-usu-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px;   
  margin-top: 12px; }
.fab-usu-c { background: var(--sf); border: 1px solid var(--br); border-radius: 14px; padding: 14px;
  display: flex; flex-direction: column; gap: 10px; }
.fab-usu-c--off { opacity: .62; }
.fab-usu-top { display: flex; align-items: center; gap: 10px; }
.fab-usu-ava { width: 40px; height: 40px; border-radius: 50%; flex: none; display: grid;
  place-items: center; font-size: var(--fs-base); font-weight: var(--fw-fuerte); color: var(--gold-ink);
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 34%, #fff),
    color-mix(in srgb, var(--accent) 72%, #fff)); }
.fab-usu-quien { min-width: 0; }
.fab-usu-quien b { display: block; font-size: var(--fs-base); font-weight: var(--fw-fuerte);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fab-usu-quien small { font-size: 12px; color: var(--tx-3); }
.fab-usu-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.fab-usu-chips--est { padding-top: 8px; border-top: 1px dashed var(--br); }
.fab-usu-chip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px;
  border-radius: 8px; background: var(--sf2); color: var(--tx-2); font-size: 12px;
  font-weight: var(--fw-dato); cursor: pointer; transition: transform 120ms var(--ease-out); }
.fab-usu-chip:active { transform: scale(.96); }
.fab-usu-chip input { position: absolute; opacity: 0; pointer-events: none; }
.fab-usu-chip i { width: 7px; height: 7px; border-radius: 50%; background: var(--br2, var(--br)); }
.fab-usu-chip.on { background: color-mix(in srgb, var(--accent) 18%, transparent); color: var(--gold-ink); }
.fab-usu-chip.on i { background: var(--accent); }
.fab-usu-pie { display: flex; align-items: center; justify-content: space-between; margin-top: auto; }
.fab-usu-est { display: inline-flex; align-items: center; gap: 6px; font-size: 12px;
  font-weight: var(--fw-dato); color: var(--estado-bien-ink); }
.fab-usu-est i { width: 8px; height: 8px; border-radius: 50%; background: var(--estado-bien); }
.fab-usu-est--off { color: var(--tx-3); }
.fab-usu-est--off i { background: var(--tx-3); }
.fab-usu-sw { position: relative; width: 40px; height: 24px; border: 0; border-radius: 999px;
  background: var(--estado-bien); cursor: pointer; transition: background 160ms var(--ease-out); }
.fab-usu-sw::after { content: ''; position: absolute; top: 2.5px; left: 18.5px; width: 19px; height: 19px;
  border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.25);
  transition: left 160ms var(--ease-out); }
.fab-usu-sw--off { background: var(--br2, var(--br)); }
.fab-usu-sw--off::after { left: 2.5px; }
.fab-cta-cab { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); flex-wrap: wrap; }
.fab-cta-n { font-size: var(--fs-lg); color: var(--tx-2); }
.fab-cta-n b { color: var(--tx); font-weight: var(--fw-fuerte); font-size: var(--fs-2xl); }
.fab-cta-nueva { min-height: 48px; font-size: var(--fs-base); padding-left: var(--sp-5); padding-right: var(--sp-5); }
.fab-cta-grupo { margin-top: var(--sp-5); font-size: var(--fs-base); font-weight: var(--fw-detalle); color: var(--tx); }
.fab-cta-grupo small { color: var(--tx-3); font-weight: var(--fw-medium); font-size: var(--fs-sm); margin-left: 4px; }
.fab-cta-puesto { display: inline-flex; align-items: center; gap: 8px; font-size: var(--fs-base); font-weight: var(--fw-detalle); color: var(--tx); }
.fab-cta-puesto i { color: var(--azul-apple); width: 18px; text-align: center; }
.fab-cta-ult { font-size: 12px; color: var(--tx-3); }
.fab-cta-acc { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.fab-cta-b { min-height: 40px; justify-content: center; white-space: nowrap; font-size: var(--fs-sm); padding-left: 6px; padding-right: 6px; }
.fab-cta-b--mal, .fab-cta-b--bien { grid-column: 1 / -1; }
.fab-cta-b--mal { color: var(--estado-urgente-ink); }
.fab-cta-b--bien { color: var(--estado-bien-ink); }
.fab-cta-vacio { padding: var(--sp-6) 0; color: var(--tx-2); font-size: var(--fs-base); }
.fab-imp-aviso { display: flex; align-items: center; gap: var(--sp-3); background: var(--estado-urgente); color: #fff;
  border-radius: var(--radius); padding: var(--sp-4) var(--sp-5); font-size: var(--fs-lg); font-weight: var(--fw-detalle); margin-bottom: var(--sp-3); }
.fab-imp-aviso i { font-size: var(--fs-2xl); flex: none; }
.fab-imp-aviso b { font-weight: var(--fw-fuerte); }
.fab-imp-como { font-weight: var(--fw-detalle); }
.fab-imp-tira { display: flex; gap: var(--sp-4); padding: var(--sp-2) 0 0; flex-wrap: wrap; }
.fab-imp-aviso--ojo { background: var(--estado-ojo); color: #111; }
.acc-k-roles--fijo { grid-template-columns: minmax(0, 420px); }
.fab-plan-prod { display: inline-flex; align-items: center; gap: 10px; min-width: 0; }
.fab-plan-prod .fab-k-foto { width: 48px; height: 48px; border-radius: 12px; flex: none; }
.fab-pe-card .fab-plan-prod { max-width: 56%; min-width: 0; }
.fab-pe-card .fab-plan-prod .fab-k-foto { width: 76px; height: 76px; border-radius: 18px; }
.fab-pe-card .fab-plan-prod b { font-size: var(--fs-xl); font-weight: var(--fw-dato); line-height: 1.15;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.fab-plan-pqc { display: inline-block; padding: 4px 10px; border-radius: 8px; font-size: 12px;
  font-weight: var(--fw-dato); background: var(--sf2); color: var(--tx-2); white-space: nowrap; }
.fab-plan-pqc--pref { background: color-mix(in srgb, #3b82f6 12%, transparent); color: #1d4ed8; }
[data-theme="dark"] .fab-plan-pqc--pref { color: #93c5fd; }
.fab-plan-pqc--viejo { background: color-mix(in srgb, var(--estado-ojo) 16%, transparent);
  color: var(--estado-ojo-ink); }
.fab-plan-pqc--arr { background: color-mix(in srgb, var(--tx) 8%, transparent); color: var(--tx); }
.fab-pe-card .fab-plan-pqc { background: none; padding: 0; border-radius: 0; white-space: normal;
  font-size: var(--fs-base); font-weight: var(--fw-medium); line-height: 1.4; }
.fab-pe-card .fab-plan-pqc--pref { color: #1d4ed8; }
[data-theme="dark"] .fab-pe-card .fab-plan-pqc--pref { color: #93c5fd; }
.fab-pe-card .fab-plan-pqc--viejo { color: var(--estado-ojo-ink); }
.fab-pe-card .fab-plan-pqc--arr { color: var(--tx-2); }
.fab-plan-pq--b { display: block; margin-top: 3px; }
.fab-masas-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(164px, 1fr)); gap: 12px; }
.fab-masa-c { border: 1.5px solid var(--br-2); border-radius: 14px; background: color-mix(in srgb, var(--sf2) 45%, var(--sf)); padding: 14px 10px;   
  text-align: center; cursor: pointer; font-family: inherit; color: var(--tx);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  transition: transform 120ms var(--ease-out), border-color 120ms var(--ease-out); }
.fab-masa-c > * { width: 100%; }
.fab-masa-c:active { transform: scale(.97); }
.fab-masa-c.on { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 10%, var(--sf)); }
.fab-masa-c .fab-k-foto { width: 56px; height: 56px; margin: 0 auto 6px; }
.fab-masa-c > b { display: block; font-size: var(--fs-sm); font-weight: var(--fw-fuerte);
  letter-spacing: -.01em; line-height: 1.2; }
.fab-masa-c-ctx { display: block; font-size: 12px; color: var(--tx-3); margin-top: 2px; }
.fab-masa-c-ctx .fab-rec-pt { margin-right: 3px; }
.fab-masa-c-g { display: block; font-size: var(--fs-xl); font-weight: var(--fw-black);
  font-variant-numeric: tabular-nums; margin-top: 4px; }
.fab-masa-c-g small { font-size: .7em; font-weight: var(--fw-fuerte); color: var(--gold-ink); }
.fab-masa-c--ojo { border-color: color-mix(in srgb, var(--estado-ojo) 55%, transparent);
  background: color-mix(in srgb, var(--estado-ojo) 12%, var(--sf)); }
.fab-masa-c-aviso { display: block; font-size: 12px; color: var(--estado-ojo-ink);
  font-weight: var(--fw-dato); margin-top: 3px; }
#fab-masa-det { margin-top: 14px; }
.fab-masa-det-caja { border: 2px solid var(--accent); border-radius: 16px; background: var(--sf);
  padding: 14px 18px; }
.fab-masa-det-cab { display: flex; align-items: center; justify-content: space-between; gap: 10px;
  margin-bottom: 8px; }
.fab-masa-det-cab > b { font-size: var(--fs-lg); font-weight: var(--fw-fuerte); letter-spacing: -.01em; }
.fab-decm-velo { position: fixed; inset: 0; z-index: 100000; background: var(--scrim, rgba(20,20,22,.45));
  display: grid; place-items: center; padding: 24px; opacity: 0; transition: opacity 180ms var(--ease-out); }
.fab-decm-velo.abierto { opacity: 1; }
.fab-decm { background: var(--bg); border-radius: 22px; padding: 20px 22px; width: min(1060px, 96vw);
  max-height: 92vh; overflow: auto; box-shadow: 0 18px 50px rgba(0,0,0,.28); }
.fab-decm--mini { width: min(460px, 96vw); }
.fab-decm:not(.fab-decm--mini) .fab-lote-m-dest { max-height: none; overflow: visible; }
.fab-decm-cab { display: flex; align-items: center; justify-content: space-between; gap: 10px;
  margin-bottom: 12px; }
.fab-decm-cab > b { font-size: var(--fs-xl); font-weight: var(--fw-fuerte); letter-spacing: -.01em; }
.fab-decm-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 16px; align-items: start; }
@media (max-width: 860px) { .fab-decm-grid { grid-template-columns: 1fr; } }
.fab-decm-panes { display: grid; grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)); gap: 10px;
  max-height: 62vh; overflow: auto; padding: 2px; }
.fab-decm-pan { border: 2px solid transparent; border-radius: 14px; background: var(--sf); padding: 10px 8px;
  text-align: center; cursor: pointer; font-family: inherit;
  transition: transform 120ms var(--ease-out), border-color 120ms var(--ease-out); }
.fab-decm-pan:active { transform: scale(.97); }
.fab-add-pan { display: flex; align-items: center; gap: var(--sp-4); margin-bottom: var(--sp-5); }
.fab-add-foto { width: 72px; height: 72px; border-radius: 16px; flex: none; }
.fab-add-pan-q { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.fab-add-pan-q b { font-size: var(--fs-2xl); font-weight: var(--fw-black); letter-spacing: -.01em; line-height: 1.1; }
.fab-add-pan-q span { font-size: var(--fs-md); color: var(--tx-2); }
.fab-add-paso { display: grid; grid-template-columns: 84px minmax(120px, auto) 84px; gap: var(--sp-4);
                justify-content: center; align-items: center; margin-bottom: var(--sp-5); }
.fab-add-mm { height: 84px; border: 0; border-radius: var(--radius); background: var(--sf2); color: var(--tx);
              font-family: var(--font); font-size: var(--fs-4xl); font-weight: var(--fw-black); cursor: pointer;
              transition: transform var(--dur-fast) var(--ease-out); }
.fab-add-mm:active { transform: scale(.94); }
.fab-add-n { text-align: center; display: flex; flex-direction: column; gap: 2px; }
.fab-add-n b { font-size: calc(var(--fs-display) * 1.35); font-weight: var(--fw-black); line-height: 1; font-variant-numeric: tabular-nums; }
.fab-add-n span { font-size: var(--fs-md); color: var(--tx-2); }
.fab-add-foot { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin-bottom: var(--sp-4); }
.fab-add-foot .fab-pe-stat { flex: 1 1 0; min-width: max-content; justify-content: center; padding: 10px 12px; }
.fab-add-bar-w { margin-bottom: var(--sp-5); }
.fab-prog--add .fab-prog-in--nuevo { background: var(--accent); box-shadow: inset 2px 0 0 var(--sf); }
.fab-prog--add .fab-prog-in--m { background: color-mix(in srgb, var(--accent) 42%, var(--sf)); }
.fab-prog--add .fab-prog-in--t { background: color-mix(in srgb, var(--azul-apple) 38%, var(--sf)); }
.fab-prog--add .fab-prog-in--n { background: color-mix(in srgb, var(--turno-noche) 38%, var(--sf)); }
.fab-prog--add.fab-prog--pasa .fab-prog-in--nuevo { background: var(--estado-urgente); }
.fab-add-btns { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--sp-3); }
.fab-add-btns > button { min-height: 64px; font-size: var(--fs-lg); }
.fab-add-btns > .fab-add-ok { font-weight: var(--fw-black); }
@media (max-width: 480px) {
  .fab-add-paso { grid-template-columns: 68px minmax(96px, auto) 68px; gap: var(--sp-3); }
  .fab-add-mm { height: 68px; font-size: var(--fs-3xl); }
  .fab-add-n b { font-size: var(--fs-display); }
  .fab-add-btns { grid-template-columns: 1fr; }
}
.fab-decm-pan .fab-k-foto { width: 60px; height: 60px; margin: 0 auto 6px; }
.fab-decm-pan b { display: block; font-size: 12px; font-weight: var(--fw-fuerte); letter-spacing: -.01em;
  line-height: 1.2; color: var(--tx); }
.fab-decm-pan small { font-size: 12px; color: var(--tx-3); }
.fab-decm-pan.on { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 12%, var(--sf)); }
.fab-decm-tick { background: var(--sf); border: 1px solid var(--br); border-radius: 18px; padding: 16px;
  display: flex; flex-direction: column; gap: 12px; }
.fab-decm-tickfoto { width: 72px; height: 72px; margin: 0 auto; }
.fab-decm-ticknom { text-align: center; font-size: var(--fs-md); font-weight: var(--fw-fuerte);
  letter-spacing: -.01em; }
.fab-decm-elige { text-align: center; font-size: var(--fs-md); font-weight: var(--fw-fuerte); padding: 14px 0; }
.fab-decm-elige small { display: block; font-size: 12px; color: var(--tx-3); font-weight: var(--fw-detalle);
  margin-top: 3px; }
.fab-decm-f { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.fab-decm-f > span:first-child { font-size: 12px; font-weight: var(--fw-fuerte); letter-spacing: .05em;
  text-transform: uppercase; color: var(--tx-3); }
.fab-decm-step { display: flex; align-items: center; background: var(--sf2); border-radius: 10px; overflow: hidden; }
.fab-decm-step button { width: 38px; height: 38px; border: 0; background: transparent; font-size: var(--fs-lg);
  font-weight: var(--fw-fuerte); color: var(--tx-2); cursor: pointer; }
.fab-decm-step input { width: 56px; border: 0; background: transparent; font: inherit; font-size: var(--fs-md);
  font-weight: var(--fw-fuerte); text-align: center; font-variant-numeric: tabular-nums; color: var(--tx);
  outline: none; -moz-appearance: textfield; }
.fab-decm-step input::-webkit-outer-spin-button, .fab-decm-step input::-webkit-inner-spin-button {
  -webkit-appearance: none; margin: 0; }
.fab-decm-r2s { display: flex; gap: 8px; flex: 1; max-width: 200px; }
.fab-decm-r2 { flex: 1; border: 2px solid var(--br); border-radius: 10px; padding: 8px 6px; font-size: 13px;
  font-weight: var(--fw-dato); text-align: center; color: var(--tx-2); cursor: pointer; white-space: nowrap; }
.fab-decm-r2.on { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 12%, var(--sf));
  color: var(--tx); }
.fab-decm-lote { background: var(--sf2); border-radius: 10px; padding: 9px 14px; font-size: 15px;
  font-weight: var(--fw-fuerte); font-variant-numeric: tabular-nums; letter-spacing: .04em; }
.fab-decm-lote small { display: block; font-size: 12px; color: var(--tx-3); font-weight: var(--fw-detalle);
  letter-spacing: 0; }
.fab-decm-motivo { width: 100%; min-height: 48px; font-size: var(--fs-lg); padding: var(--sp-2) var(--sp-4); }
.fab-lote-rc-pie { margin-top: var(--sp-5); display: flex; flex-direction: column; gap: var(--sp-2); }
.fab-lote-rc-pie + .fab-k-cta { margin-top: var(--sp-4); }
.fab-alm-aviso--ojo i { color: var(--estado-ojo-ink); }
.fab-decm .fab-k-cta { margin-top: 2px; }
.fab-lote-m-quien { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.fab-lote-m-quien .fab-k-foto { width: 52px; height: 52px; }
.fab-lote-m-quien b { display: block; font-size: 15px; font-weight: var(--fw-fuerte); }
.fab-lote-m-quien span { font-size: 13px; color: var(--tx-2); }
.fab-lote-m-quien span b { display: inline; font-size: inherit; }
.fab-decm--mini .fab-decm-f { margin: 10px 0; }
.fab-decm--mini .fab-decm-motivo { margin-bottom: 12px; }
.fab-lote-m-dest { display: grid; grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)); gap: 10px;
  margin-bottom: 10px; max-height: 300px; overflow-y: auto; }
.fab-lote-rep { display:flex; flex-direction:column; gap:8px; margin-bottom:10px; }
.fab-lote-rep-f { display:flex; align-items:center; gap:10px; background:var(--sf);
  border:1px solid var(--br); border-radius:12px; padding:8px 10px; }
.fab-lote-rep-f .fab-k-foto { width:40px; height:40px; flex:none; }
.fab-lote-rep-f > b { font-size:var(--fs-sm); font-weight:var(--fw-fuerte); min-width:0; }
.fab-lote-rep-f .fab-decm-step { margin-left:auto; }
.fab-lote-rep-x { border:none; background:none; width:28px; height:28px; border-radius:8px;
  color:var(--tx-3); cursor:pointer; flex:none; }
.fab-lote-rep-x:hover { background:var(--bg); color:var(--tx); }
.fab-lote-resto { font-size:var(--fs-sm); color:var(--tx-2); margin-bottom:10px; }
.fab-lote-resto b { color:var(--tx); }
.fab-lote-barra { display:flex; height:20px; border-radius:999px; overflow:hidden;
  margin:2px 0 12px; background:var(--sf); }
.fab-lote-barra i { display:flex; align-items:center; justify-content:center; height:100%;
  min-width:0; transition:width 220ms var(--ease-out); }
.fab-lote-barra i span { font-size:12px; font-weight:var(--fw-dato); color:#fff;
  font-variant-numeric:tabular-nums; text-shadow:0 1px 2px rgba(0,0,0,.35); }
.fab-lote-dot { display:inline-block; width:10px; height:10px; border-radius:50%; flex:none;
  vertical-align:baseline; margin-right:6px; }
.fab-rc-f { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3);
  background:var(--sf2); border:1.5px solid var(--br-2); border-radius:var(--radius-sm); padding:12px 14px; }
.fab-rc-n { font-size:var(--fs-sm); font-weight:var(--fw-detalle); color:var(--tx-2); min-width:0; }
.fab-rc-v { display:flex; align-items:baseline; gap:10px; margin-left:auto; text-align:right; }
.fab-rc-v b { font-size:var(--fs-md); font-weight:var(--fw-dato); font-variant-numeric:tabular-nums;
  color:var(--tx); white-space:nowrap; }
.fab-rc-v input { width:72px; text-align:right; background:var(--bg); border:1px solid var(--br);
  border-radius:8px; padding:4px 8px; font:inherit; font-weight:var(--fw-dato);
  font-variant-numeric:tabular-nums; color:var(--tx); }
.fab-rc-v input:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.fab-rc-v i { font-style:normal; color:var(--tx-2); font-size:var(--fs-sm); }
.fab-rc-v .fab-r-pct { color:var(--tx-3); font-size:var(--fs-sm); min-width:46px; text-align:right;
  font-variant-numeric:tabular-nums; }
.fab-rc-v b.fab-rc-mal { color: var(--estado-ojo-ink); }
.fab-masa-det-cab { display:flex; align-items:center; gap:12px; }
.fab-masa-det-foto { width:52px; height:52px; flex:none; }
.fab-masa-det-t { min-width:0; }
.fab-masa-det-t b { display:block; font-size:var(--fs-lg); font-weight:var(--fw-fuerte); }
.fab-masa-det-t span { display:block; font-size:var(--fs-sm); color:var(--tx-3); }
.fab-masa-det-cab .fab-srvm-x { margin-left:auto; }
.fab-lote-acc { display: inline-flex; gap: 6px; margin-left: auto; }
.fab-lote-btn { border: 1.5px solid var(--br); border-radius: 9px; background: var(--sf); color: var(--tx-2);
  font: inherit; font-size: 12px; font-weight: var(--fw-dato); padding: 4px 10px; cursor: pointer;
  transition: transform 120ms var(--ease-out), background 120ms var(--ease-out); }
.fab-lote-btn:hover { background: var(--sf2); color: var(--tx); }
.fab-lote-btn:active { transform: scale(.96); }
.fab-alm-top--suelta { position: relative; }
.fab-stk-acciones { position: absolute; right: 0; top: -5px; display: flex; gap: var(--sp-2); z-index: 2; }
.fab-stk-declarar, .fab-stk-etiq { height: 50px; white-space: nowrap; border-radius: 999px; box-shadow: 0 0 0 7px var(--bg); }
.fab-stk-etiq { background: var(--sf); font-weight: var(--fw-detalle); font-size: var(--fs-md); padding: 0 var(--sp-5); }
.fab-stk-etiq:hover { background: var(--sf2); }
@media (max-width: 860px){
  .fab-stk-acciones { position: static; margin: 0 0 var(--sp-3); flex-wrap: wrap; }
  .fab-stk-declarar, .fab-stk-etiq { box-shadow: none; }
}
.fab-k-step { display: flex; align-items: center; background: var(--sf2); border-radius: 10px;
  overflow: hidden; width: fit-content; }
.fab-k-step button { width: 38px; height: 38px; border: 0; background: transparent; font-size: var(--fs-lg);
  font-weight: var(--fw-fuerte); color: var(--tx-2); cursor: pointer; }
.fab-k-step b { min-width: 36px; text-align: center; font-size: var(--fs-md); font-variant-numeric: tabular-nums; }
.fab-k-res { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.fab-k-res .fab-k-chip { padding: 10px 12px; }
.fab-k-res .fab-k-chip b { font-size: var(--fs-md); }
.fab-k-r2 { display: flex; gap: 10px; margin-top: 12px; }
.fab-k-r2 button { flex: 1; border: 2px solid var(--br2, var(--br)); background: var(--sf); border-radius: 12px;
  padding: 10px 14px; font-size: 14px; font-weight: var(--fw-dato); cursor: pointer; text-align: center;
  color: var(--tx-2); font-family: inherit; }
.fab-k-r2 button.on { border-color: var(--accent); background: var(--accent-bg); color: var(--tx); }
.fab-k-r2 small { display: block; font-weight: var(--fw-body); font-size: 12px; color: var(--tx-3); }
.fab-k-dir { display: flex; align-items: flex-start; gap: 12px; font-size: 14px; line-height: 1.5; }
.fab-k-dir .txt { flex: 1; min-width: 0; }
.fab-k-dir b { display: block; font-weight: var(--fw-fuerte); }
.fab-k-dir textarea { width: 100%; border: 1px solid var(--br2, var(--br)); border-radius: 10px;
  padding: 8px 10px; font: inherit; background: var(--sf); color: var(--tx); resize: vertical; }
.fab-k-btn-g { background: var(--sf); border: 1px solid var(--br2, var(--br)); border-radius: 999px;
  padding: 8px 16px; font-size: 14px; font-weight: var(--fw-detalle); color: var(--tx); cursor: pointer; flex: none; }
.fab-k-conf-velo { position: fixed; inset: 0; z-index: 100002; background: var(--scrim);
  display: grid; place-items: center; padding: var(--sp-4); }
.fab-k-conf { background: var(--sf); border-radius: 20px; padding: 24px 26px; max-width: 430px; width: 100%;
  box-shadow: 0 18px 50px rgba(0,0,0,.28); }
.fab-k-conf-cab { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.fab-k-conf-cab b { font-size: 18px; letter-spacing: -.01em; }
.fab-k-conf-cab .sub { font-size: 13px; color: var(--tx-3); }
.fab-k-conf p { margin: 0 0 16px; font-size: 14px; color: var(--tx-2); line-height: 1.5; }
.fab-k-conf-cj { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; }
.fab-k-conf-cj .et { font-size: 12px; font-weight: var(--fw-fuerte); letter-spacing: .05em;
  text-transform: uppercase; color: var(--tx-3); }
.fab-k-conf-pie { display: flex; gap: 10px; justify-content: flex-end; }
.fab-k-btn-oro { background: var(--accent); border: 0; border-radius: 999px; padding: 11px 22px;
  font-size: 15px; font-weight: var(--fw-dato); color: #231a00; cursor: pointer; }
.fab-k-sen .fab-k-doc-t b { white-space: normal; }
.fab-k-sen .fab-k-foto { width: 46px; height: 46px; }
@media (max-width: 760px){
  .fab-k-tcab { display: none; }
  .fab-k-prod, .fab-k-total { grid-template-columns: 48px minmax(0,1fr); }
  .fab-k-prod .fab-k-n, .fab-k-prod .fab-k-queda { text-align: left; }
  .fab-k-log { grid-template-columns: 1fr; }
  .fab-k-srv-l { grid-template-columns: minmax(0,1fr); }
  .fab-k-res { grid-template-columns: repeat(2,1fr); }
}
.fab-k-dot--si, .fab-k-dot--ojo, .fab-k-dot--rojo, .fab-k-dot--negro {
  display: inline-block; width: 9px; height: 9px; border-radius: 50%; flex: none; font-style: normal; }
.fab-k-dot--si { background: var(--estado-bien); }
.fab-k-dot--ojo { background: #e8853a; }
.fab-k-dot--rojo { background: #d64545; }
.fab-k-dot--negro { background: #7c1010; }
.fab-k-reglas { font-size: 13px; color: var(--tx-2); line-height: 1.6; }
.fab-k-dir-sub { color: var(--tx-3); }
.fab-k-dirform { margin-top: 10px; padding: 12px 14px; border-radius: var(--radius); background: var(--sf2); }
.fab-k-dirform-par { display: grid; grid-template-columns: 1fr 2fr; gap: var(--sp-3); }
.fab-k-dirform-pie { display: flex; gap: var(--sp-2); flex-wrap: wrap; justify-content: flex-end; margin-top: var(--sp-2); }
.fab-k-dir-tx { width: 100%; border: 1px solid var(--br2, var(--br)); border-radius: 10px; margin-top: 10px;
  padding: 8px 10px; font: inherit; background: var(--sf); color: var(--tx); resize: vertical; box-sizing: border-box; }
.fab-k-mi{ display:flex; align-items:center; gap:10px; width:100%; text-align:left; }
.fab-k-mi b{ font-variant-numeric:tabular-nums; font-weight:var(--fw-fuerte); }
.fab-k-mi > span{ flex:1; text-align:left; color:var(--tx-3); font-size:var(--fs-2xs); white-space:nowrap; }
.fab-k-mi .fa-check{ color:var(--gold-ink); }
#fab-k-menu .bx-menu-i:nth-child(even){ background:color-mix(in srgb, var(--tx) 2.5%, transparent); }
#fab-k-menu .bx-menu-i:hover{ background:var(--sf3); }
[data-theme="dark"] #fab-k-menu .bx-menu-i:nth-child(even){ background:color-mix(in srgb, #fff 4%, transparent); }
.fab-fab-lin{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.fab-fab-lin .fab-fab-nom{ font-size:var(--fs-base); font-weight:var(--fw-fuerte); letter-spacing:-.01em;
  min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fab-fab-n{ font-size:var(--fs-md); font-weight:var(--fw-fuerte); font-variant-numeric:tabular-nums;
  white-space:nowrap; flex:none; }
.fab-fab-n span{ font-size:.8em; font-weight:var(--fw-detalle); }
.fab-gh-alm{ margin-bottom: var(--sp-3); }
.seur-logo { display:inline-flex; align-items:center; gap:7px; vertical-align:middle; line-height:1; }
.seur-barras { display:flex; height:1em; }
.seur-barras i { width:.42em; height:100%; }
.seur-barras i:nth-child(1) { background:#bdd7ee; }
.seur-barras i:nth-child(2) { background:#6699d8; }
.seur-barras i:nth-child(3) { background:#1d5fa8; width:.62em; }
.seur-txt { color:#e9542a; font-weight:var(--fw-black); letter-spacing:-.01em; }
.seur-logo--sm { font-size:15px; } .seur-logo--md { font-size:21px; }
.seur-logo--btn { font-size:13px; }
.seur-logo--btn .seur-txt { color:#fff; }
.seur-logo--btn .seur-barras i:nth-child(1) { background:rgba(255,255,255,.45); }
.seur-logo--btn .seur-barras i:nth-child(2) { background:rgba(255,255,255,.72); }
.seur-logo--btn .seur-barras i:nth-child(3) { background:#fff; }
.fab-ped-seur { display:inline-flex; align-items:center; gap:9px; background:#1d5fa8; color:#fff;
  border:2px solid #1d5fa8; border-radius:var(--radius-pill); padding:7px 16px; font:inherit;   
  font-size:var(--fs-base); font-weight:var(--fw-dato); cursor:pointer; white-space:nowrap;
  transition:transform var(--dur-press) var(--ease-out); }
.fab-ped-seur:hover { background:#1a5496; }
.fab-ped-seur:active { transform:scale(.97); }
.fab-ped-seur:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.fab-decm.fab-seur { width:min(1760px, 97vw); max-height:94vh; padding:0; overflow:hidden;
  display:flex; flex-direction:column; }
.fab-seur-cab { display:flex; align-items:center; gap:16px; padding:14px 18px;
  border-bottom:1px solid var(--br); flex:none; }
.fab-seur-pests { display:flex; min-width:0; flex:1; }
.fab-seur-pests .bx-vistas { margin:0; width:100%; }
.fab-seur-cab .fab-srvm-x { margin-left:auto; flex:none; }
.fab-seur-coste { display:flex; flex-direction:column; gap:var(--sp-1); margin:var(--sp-2) 0 var(--sp-3); font-size:var(--fs-sm); font-weight:var(--fw-medium); }
.fab-seur-coste small { color:var(--tx-3); font-size:var(--fs-xs); }
.fab-seur--pagina { width:100%; }
.fab-seur-banda { display:flex; align-items:center; gap:9px; flex:none;
  background:repeating-linear-gradient(45deg, #fdf3e0 0 12px, #fbeacd 12px 24px);
  color:var(--estado-ojo-ink); font-size:var(--fs-sm); font-weight:var(--fw-dato);
  padding:9px 18px; border-bottom:1px solid var(--br); }
.fab-seur-banda-btn{ margin-left:auto; border:0; border-radius:var(--radius-pill); padding:6px 12px; background:var(--tx); color:var(--sf);
  font:inherit; font-size:var(--fs-xs); font-weight:var(--fw-dato); cursor:pointer; display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
.fab-seur-banda-btn:active{ transform:scale(.97); }
.fab-seur-cajon{ margin-top:var(--sp-4); }
.fab-seur-cajon-cab{ width:100%; display:flex; align-items:center; gap:8px; padding:var(--sp-3) var(--sp-4); border:0; border-radius:var(--radius-sm);
  background:var(--sf2); color:var(--tx-2); font:inherit; font-size:var(--fs-sm); cursor:pointer; text-align:left; }
.fab-seur-cajon-cab b{ color:var(--tx); }
.fab-seur-cajon-cab .fa-chevron-down, .fab-seur-cajon-cab .fa-chevron-up{ margin-left:auto; }
#fab-seur-cuerpo { display:flex; flex-direction:column; flex:1; min-height:0; }
.fab-seur-tit { margin:0; font-size:var(--fs-xl); font-weight:var(--fw-fuerte); letter-spacing:-.01em; white-space:nowrap; }
.fab-seur-zt { font-size:var(--fs-xs); font-weight:var(--fw-fuerte); letter-spacing:.07em;
  color:var(--tx-3); margin-bottom:10px; text-transform:uppercase; }
.fab-seur-nada { color:var(--tx-3); font-size:var(--fs-sm); padding:var(--sp-6) 0; text-align:center; }
.fab-seur-crear { display:grid; grid-template-columns:20rem minmax(0,1fr) minmax(340px, 26rem); gap:var(--sp-4);
  padding:var(--sp-4) var(--sp-5); flex:1; min-height:0; }
.fab-seur-previa { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding-right:4px; container-type:inline-size; }
.fab-seur-zt--pliego { margin-top:var(--sp-4); }
.fab-seur-anadir { display:flex; flex-direction:column; min-height:0; }
.fab-seur-busca { position:relative; margin-bottom:var(--sp-2); }
.fab-seur-busca input { appearance:none; -webkit-appearance:none; width:100%; font:inherit; font-size:var(--fs-base);
  color:var(--tx); background:var(--sf); border:1px solid var(--br); border-radius:var(--radius-sm); padding:9px 12px; }
.fab-seur-busca input::placeholder { color:var(--tx-3); }
.fab-seur-busca input:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.fab-seur-cands { border:1px solid var(--br); border-radius:var(--radius-sm); overflow-y:auto; overscroll-behavior:contain;
  flex:1; min-height:0; background:var(--sf); }
.fab-seur--pagina .fab-seur-cands { max-height:55vh; }
.fab-seur-cand { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-2); width:100%; text-align:left;
  padding:var(--sp-2) var(--sp-3); border:0; border-bottom:1px solid var(--br); background:transparent; font:inherit; color:var(--tx); cursor:pointer; }
.fab-seur-cand:last-child { border-bottom:0; }
@media (hover:hover) { .fab-seur-cand:not([disabled]):hover { background:var(--sf2); } }
.fab-seur-cand[disabled] { opacity:.5; cursor:default; }
.fab-seur-cand-t { min-width:0; font-size:var(--fs-base); }
.fab-seur-cand-t > b { font-weight:var(--fw-dato); font-variant-numeric:tabular-nums; }
.fab-seur-cand-t > span { color:var(--tx-2); }
.fab-seur-cand-t > .bx-est { margin-left:var(--sp-2); }
.fab-seur-cand-t > small { display:block; font-size:var(--fs-xs); color:var(--tx-3); margin-top:2px; }
.fab-seur-cand-a { flex:none; font-size:var(--fs-xs); font-weight:var(--fw-dato); color:var(--gold-ink); }
.fab-seur-cand-nada { margin:0; padding:var(--sp-4); text-align:center; font-size:var(--fs-xs); color:var(--tx-3); }
.fab-seur-lote-col { display:flex; flex-direction:column; min-height:0; }
.fab-seur-lote-cab { flex:none; display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3); margin-bottom:var(--sp-2); }
.fab-seur-lote-cab .fab-seur-zt { margin:0; }
.fab-seur-previa-toca { flex:none; white-space:nowrap; }
.fab-seur-crear.fab-seur-crear--sinprevia { grid-template-columns:20rem minmax(0,1fr); }
.fab-seur-lote { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding-right:4px;
  display:flex; flex-direction:column; gap:var(--sp-3); }
.fab-seur-lote-nada { margin:0; padding:var(--sp-10) var(--sp-4); text-align:center; font-size:var(--fs-base); color:var(--tx-2);
  border:1px dashed var(--br-2); border-radius:var(--radius-sm); }
.fab-seur-tarj { border:1px solid var(--br); border-radius:var(--radius-sm); padding:var(--sp-4); background:var(--sf); flex:none; }
.fab-seur-tarj-cab { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-2); margin-bottom:var(--sp-2); }
.fab-seur-tarj-t { min-width:0; font-size:var(--fs-base); }
.fab-seur-tarj-t > b { font-weight:var(--fw-dato); font-variant-numeric:tabular-nums; }
.fab-seur-tarj-t > span:not(.fab-seur-og) { color:var(--tx-2); }
.fab-seur-quitar { flex:none; width:28px; height:28px; border-radius:50%; border:1px solid var(--br); background:var(--sf);
  color:var(--tx-3); font:inherit; cursor:pointer; display:grid; place-items:center; }
@media (hover:hover) { .fab-seur-quitar:hover { background:var(--sf2); color:var(--tx); } }
.fab-seur-quitar:active { transform:scale(.94); }
.fab-seur-og { display:inline-block; font-size:var(--fs-xs); font-weight:var(--fw-detalle); padding:2px 8px;
  border-radius:var(--radius-pill); margin-left:6px; vertical-align:1px; background:var(--sf2); color:var(--tx-2); border:1px solid var(--br); }
.fab-seur-og--ellos { background:#fdf0e6; color:#96501a; }
.fab-seur-og--mal { color:var(--estado-urgente-ink); }
.fab-seur-aviso { margin:0 0 var(--sp-2); padding:var(--sp-3); font-size:var(--fs-sm); }
.fab-seur-aviso-l { margin:0; padding-left:1.1em; }
.fab-seur-tarj-accs { display:flex; justify-content:flex-end; margin-bottom:var(--sp-2); }
.fab-seur-form { display:flex; flex-direction:column; gap:var(--sp-3); }
.fab-seur-form .fab-seur-zt { margin-bottom:var(--sp-1); }
.fab-seur-form .fab-seur-zt > span { text-transform:none; letter-spacing:0; font-weight:var(--fw-medium); color:var(--tx-3); }
.fab-seur-campo2 { display:block; min-width:0; }
.fab-seur-campo2 > span { display:block; font-size:var(--fs-base); color:var(--tx-2); margin-bottom:6px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fab-seur-campo2 > span > span { font-weight:var(--fw-medium); }
.fab-seur-campo2 input {
  appearance:none; -webkit-appearance:none; width:100%;
  padding:var(--sp-3) 14px; background:color-mix(in srgb, var(--sf2) 45%, var(--sf));
  border:1.5px solid var(--br-2); border-radius:var(--radius-sm);
  font:inherit; font-size:var(--fs-md); color:var(--tx);
}
.fab-seur-campo2 input:focus { outline:2px solid var(--accent); outline-offset:1px; border-color:var(--accent); }
.fab-seur-campo2 input[readonly] { color:var(--tx-2); }
.fab-seur-campo2 input.mal { border-color:var(--estado-urgente); }
.fab-seur-campo2:has(input.mal) > span { color:var(--estado-urgente-ink); }
.fab-seur-campo2 input.ojo { border-color:var(--estado-ojo); }
.fab-seur-campo2:has(input.ojo) > span { color:var(--estado-ojo-ink); }
.fab-seur-err--ojo { color:var(--estado-ojo-ink); }
.fab-seur-campo2 input[data-k="pais"] { text-align:center; text-transform:uppercase; }
.fab-seur-campo2--sel .dist-selector-btn { background:color-mix(in srgb, var(--sf2) 45%, var(--sf)); border:1.5px solid var(--br-2); border-radius:var(--radius-sm); padding:var(--sp-3) 14px; min-height:0; font-size:var(--fs-md); font-weight:var(--fw-medium); }
.fab-seur-cuenta--ojo { color:var(--estado-ojo-ink) !important; font-weight:var(--fw-fuerte) !important; }
.fab-seur-cuenta--mal { color:var(--estado-urgente-ink) !important; font-weight:var(--fw-fuerte) !important; }
.fab-seur-err { display:block; font-size:var(--fs-xs); font-weight:var(--fw-medium); color:var(--estado-urgente-ink); margin-top:2px; }
.fab-seur-err:empty { display:none; }
.fab-seur-cpnota { display:block; font-size:var(--fs-xs); color:var(--tx-3); }
.fab-seur-cpnota--ojo { color:var(--estado-ojo-ink); font-weight:var(--fw-dato); }   
.fab-seur-cpinfo:empty { display:none; }
.fab-seur-cpchip { border:1px solid var(--br-2); background:var(--sf2); border-radius:var(--radius-pill); padding:2px 9px;
  font:inherit; font-size:var(--fs-xs); font-weight:var(--fw-dato); color:var(--tx); cursor:pointer; }
.fab-seur-srvfila { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,.65fr) minmax(0,.65fr); gap:8px; align-items:start; }
.fab-seur-form .dist-selector-btn { padding:8px 12px; min-height:42px; font-size:var(--fs-base); border-width:1px; }   
.fab-seur-form .fab-seur-coste { margin:var(--sp-1) 0 0; }
.fab-seur-form .fab-seur-coste:empty { display:none; }
.fab-seur-lote-col .fab-seur-pie { background:transparent; padding:var(--sp-3) 0 0; margin-top:var(--sp-3); }
.fab-seur-cuenta-mal { color:var(--estado-urgente-ink); }
.fab-seur-falta { background:var(--sf2); border-radius:var(--radius-sm); padding:10px 12px; font-size:var(--fs-sm); color:var(--tx-2); }
.fab-seur-falta b { color:var(--estado-urgente-ink); }
.fab-seur-zonas { display:grid; grid-template-columns:250px minmax(0,1fr) minmax(560px, 640px);
  flex:1; min-height:0; overflow:hidden; }
.fab-seur-zona { padding:16px; min-width:0; overflow-y:auto; }
.fab-seur-zona + .fab-seur-zona { border-left:1px solid var(--br); }
.fab-seur-zona--cola { display:flex; flex-direction:column; overflow:hidden; }
.fab-seur-cola { display:flex; flex-direction:column; gap:7px; flex:1; min-height:0;
  max-height:761px; overflow-y:auto; overscroll-behavior:contain; padding-right:3px; }
.fab-seur-ped { display:flex; align-items:center; gap:8px; width:100%; text-align:left;
  background:var(--sf2); border:2px solid transparent; border-radius:var(--radius-sm);
  padding:9px 10px; font:inherit; color:var(--tx); cursor:pointer; }
.fab-seur-ped:hover { background:var(--sf3); }
.fab-seur-ped.sel { border-color:var(--accent); background:var(--sf); }
.fab-seur-ped-c { min-width:0; flex:1; }
.fab-seur-ped-c > b { font-size:var(--fs-base); font-weight:var(--fw-fuerte); font-variant-numeric:tabular-nums; }
.fab-seur-ped-n { display:block; font-size:var(--fs-sm); color:var(--tx-2); margin-top:2px;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fab-seur-ped-a { display:block; font-size:var(--fs-xs); color:var(--tx-3); font-variant-numeric:tabular-nums; }
.fab-seur-mas { flex:none; width:28px; height:28px; border-radius:8px; background:var(--sf);
  border:1px solid var(--br-2); display:grid; place-items:center; color:var(--tx-2); font-weight:var(--fw-dato); }
.fab-seur-ped.on .fab-seur-mas { background:var(--accent); border-color:var(--accent); color:var(--ink); }
@media (max-width:1200px) {
  .fab-seur-zonas { grid-template-columns:1fr; }
  .fab-seur-zona + .fab-seur-zona { border-left:0; border-top:1px solid var(--br); }
}
.fab-seur-campo { display:block; margin-bottom:10px; }
.fab-seur-campo > span { display:block; font-size:var(--fs-xs); font-weight:var(--fw-dato);
  letter-spacing:.04em; color:var(--tx-3); text-transform:uppercase; margin-bottom:4px; }
.fab-seur-campo input { width:100%; background:var(--sf2); border:1px solid var(--br);
  border-radius:var(--radius-sm); padding:10px 12px; font:inherit; font-size:var(--fs-base);
  font-weight:var(--fw-detalle); color:var(--tx); }
.fab-seur-campo input:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.fab-seur-campo input[readonly] { color:var(--tx-2); }
.fab-seur-f2 { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.fab-seur-f3 { display:grid; grid-template-columns:104px 1fr 64px; gap:8px; }
.fab-seur-nota { font-size:var(--fs-sm); color:var(--estado-ojo-ink); margin:-4px 0 10px; }
.fab-seur-via.real .fab-seur-via-t b { color:var(--estado-bien-ink); }   
.fab-seur-pie { display:flex; align-items:center; gap:12px; padding:13px 18px; flex:none;
  border-top:1px solid var(--br); background:var(--sf2); }
.fab-seur-cuenta { font-size:var(--fs-base); color:var(--tx-2); }
.fab-seur-cuenta b { color:var(--tx); font-variant-numeric:tabular-nums; }
.fab-seur-der { margin-left:auto; display:flex; gap:10px; align-items:center; }
.fab-seur-lista { padding:16px; overflow-y:auto; flex:1; min-height:0; }
.fab-seur-b { background:var(--sf); border:1px solid var(--br-2); border-radius:8px;
  padding:6px 11px; font:inherit; font-size:var(--fs-sm); font-weight:var(--fw-dato);
  color:var(--tx-2); cursor:pointer; }
.fab-seur-b:hover { border-color:var(--accent); color:var(--tx); }
.fab-seur-b--mal { color:var(--estado-urgente-ink); }
.fab-seur-rec { background:var(--sf2); border-radius:var(--radius-sm); padding:14px; margin-bottom:10px; }
.fab-seur-rec.off { opacity:.6; }
.fab-seur-rec-top { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.fab-seur-rec-top > b { font-size:var(--fs-base); font-weight:var(--fw-fuerte); }
.fab-seur-tipo { font-size:var(--fs-sm); font-weight:var(--fw-detalle); padding:3px 9px;
  border-radius:var(--radius-pill); background:var(--sf); border:1px solid var(--br-2); color:var(--tx-2); }
.fab-seur-rec-est { margin-left:auto; display:flex; gap:8px; align-items:center; }
.fab-seur-marca { display:inline-flex; align-items:center; gap:6px; font:inherit;
  font-size:var(--fs-sm); font-weight:var(--fw-detalle); color:var(--tx-2); background:var(--sf);
  border:1px solid var(--br-2); border-radius:var(--radius-pill); padding:5px 11px; cursor:pointer; }
.fab-seur-marca i { width:13px; height:13px; border-radius:4px; border:1.5px solid var(--br-2); }
.fab-seur-marca.si i { background:var(--estado-bien); border-color:var(--estado-bien); }
.fab-seur-rec-m { font-size:var(--fs-sm); color:var(--tx-3); margin-top:3px; }
.fab-seur-rec-f { display:grid; grid-template-columns:120px 120px 1fr; gap:8px; margin-top:10px; }
.fab-seur-rec-f .fab-seur-campo { margin-bottom:0; }
.fab-seur-rec-f input { background:var(--sf); }
.fab-seur-aj { padding:18px; max-width:680px; overflow-y:auto; }
.fab-seur-via { display:flex; align-items:center; gap:16px; background:var(--sf);
  border:1px solid var(--br);   
  border-radius:var(--radius); padding:16px 18px; margin-bottom:16px; }
.fab-seur-sw { flex:none; width:74px; height:38px; border-radius:var(--radius-pill);
  background:var(--estado-ojo); border:none; position:relative; cursor:pointer; }
.fab-seur-sw::after { content:''; position:absolute; top:4px; left:4px; width:30px; height:30px;
  border-radius:50%; background:#fff; box-shadow:0 1px 4px rgba(0,0,0,.25);
  transition:left var(--dur-fast) var(--ease-out); }
.fab-seur-sw.real { background:var(--estado-bien); }
.fab-seur-sw.real::after { left:40px; }
.fab-seur-via-t b { display:block; font-size:var(--fs-lg); font-weight:var(--fw-fuerte); margin-bottom:2px; }
.fab-seur-via-t span { font-size:var(--fs-sm); color:var(--tx-2); line-height:1.5; }
.fab-seur-via-e { margin-left:auto; flex:none; font-size:var(--fs-sm); font-weight:var(--fw-fuerte);
  letter-spacing:.05em; padding:5px 11px; border-radius:var(--radius-pill);
  background:#fdf3e0; color:var(--estado-ojo-ink); }
.fab-seur-via-e.real { background:#e6f4ea; color:var(--estado-bien-ink); }
.fab-seur-nota2 { background:var(--sf2); border-radius:var(--radius-sm); padding:10px 12px;
  font-size:var(--fs-sm); color:var(--tx-2); margin-bottom:16px; }
.fab-seur-sel2 { display:flex; gap:6px; flex-wrap:wrap; }
.fab-seur-rem { background:var(--sf2); border:2px solid transparent; border-radius:var(--radius-sm);
  padding:8px 12px; font:inherit; font-size:var(--fs-sm); font-weight:var(--fw-detalle);
  color:var(--tx); cursor:pointer; }
.fab-seur-rem.on { border-color:#1d5fa8; background:color-mix(in srgb, #1d5fa8 8%, var(--sf)); }
.fab-seur-ok { display:inline-flex; align-items:center; gap:6px; font-size:var(--fs-xs);
  font-weight:var(--fw-dato); color:var(--estado-bien-ink); margin-top:5px; }
.fab-seur-ok i { width:7px; height:7px; border-radius:50%; background:var(--estado-bien); }
.fab-seur-vacio { display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:8px; padding:var(--sp-10) var(--sp-6); text-align:center; flex:1; }
.fab-seur-vacio > i { font-size:32px; color:var(--tx-3); margin-bottom:4px; }
.fab-seur-vacio b { font-size:var(--fs-lg); font-weight:var(--fw-fuerte); }
.fab-seur-vacio span { font-size:var(--fs-sm); color:var(--tx-2); max-width:44ch; line-height:1.5; }
.fab-seur-creados-col { display:flex; flex-direction:column; flex:1; min-height:0; }
.fab-seur-cr-cab { display:flex; align-items:center; gap:var(--sp-3); padding:var(--sp-4) var(--sp-5) 0; }
.fab-seur-cr-cab .fab-seur-busca { flex:1; max-width:440px; margin:0; }
.fab-seur-cr-n { font-size:var(--fs-xs); color:var(--tx-3); white-space:nowrap; }
.fab-seur-cr-n b { color:var(--tx); font-variant-numeric:tabular-nums; }
.fab-seur-cr-cab .fab-seur-b { margin-left:auto; }
.fab-seur-cr-lista { flex:1; min-height:0; overflow-y:auto; padding:var(--sp-3) var(--sp-5) var(--sp-4); }
.fab-seur-creados { flex:none; }
.fab-seur-cr-fila { display:flex; align-items:center; gap:var(--sp-3); padding:var(--sp-3); border-bottom:1px solid var(--br); font-size:var(--fs-base); }
.fab-seur-cr-fila:last-child { border-bottom:0; }
.fab-seur-cr-fila.off { opacity:.6; }
.fab-seur-cr-t { min-width:0; flex:1; }
.fab-seur-cr-l1 { display:flex; align-items:center; gap:var(--sp-2); flex-wrap:wrap; min-width:0; }
.fab-seur-cr-l1 > b { font-weight:var(--fw-dato); }
.fab-seur-cr-l1 > span:not(.fab-seur-og):not(.bx-est) { color:var(--tx-2); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fab-seur-cr-l1 .fab-seur-og { margin-left:0; }
.fab-seur-cr-l2 { font-size:var(--fs-xs); color:var(--tx-3); margin-top:2px; }
.fab-seur-mono { font-family:ui-monospace, 'SF Mono', Menlo, monospace; }
.fab-seur-cr-accs { display:flex; align-items:center; gap:6px; flex:none; }
.fab-seur-cajon-lista { margin-top:var(--sp-2); }
#content:has(.fab-seur--pagina) { overflow: visible; }
.fab-k-atras:disabled { opacity:.45; cursor:default; }
@media (max-width:1200px) {
  .fab-seur-crear { grid-template-columns:20rem minmax(0,1fr); }
  .fab-seur-previa { grid-column:1 / -1; }
}
@media (max-width:900px) {
  .fab-seur-crear { grid-template-columns:1fr; }
  .fab-seur-srvfila { grid-template-columns:1fr; }
  .fab-seur-cr-fila { flex-wrap:wrap; }
}
.fab-carta-wrap { flex:1; min-height:0; overflow-y:auto; padding:18px;
  display:flex; flex-direction:column; align-items:center; gap:18px; background:var(--sf3); }
.fab-carta-pg { flex:none; padding:10mm 12mm 0; color:#111; box-shadow:var(--shadow); }
.fab-seur-a4p.fab-carta-pg { width:296.5mm; height:209.5mm; }
.fab-carta-cab { display:flex; align-items:flex-start; justify-content:space-between; gap:8mm;
  padding-bottom:4mm; border-bottom:0.6mm solid #111; }
.fab-carta-marca { font-size:17pt; font-weight:var(--fw-black); letter-spacing:.02em; color:#111; }
.fab-carta-marca i { font-style:normal; color:#8a6700; font-weight:var(--fw-detalle); }
.fab-carta-tit { text-align:right; }
.fab-carta-tit b { display:block; font-size:12.5pt; font-weight:var(--fw-fuerte); letter-spacing:.03em; }
.fab-carta-tit span { display:block; font-size:7.5pt; color:#555; margin-top:1mm; letter-spacing:.02em; }
.fab-carta-tabla { width:100%; border-collapse:collapse; margin-top:5mm; }
.fab-carta-tabla th { font-size:7pt; font-weight:var(--fw-fuerte); letter-spacing:.06em;
  text-align:left; color:#333; padding:1.6mm 2mm; border-bottom:0.5mm solid #111; }
.fab-carta-tabla td { padding:1.7mm 2mm; border-bottom:0.2mm solid #ddd; vertical-align:middle; }
.fab-carta-tabla tbody tr:nth-child(even) td { background:#f4f4f4; }
.fc-ref { font-size:8pt; font-variant-numeric:tabular-nums; color:#444; white-space:nowrap; width:17mm; }
.fc-mixto { display:block; font-size:6.5pt; font-weight:800; letter-spacing:.06em; color:#000; }
.fc-cli { font-size:9.5pt; font-weight:var(--fw-dato); }
.fc-dir b { display:block; font-size:8.5pt; font-weight:var(--fw-medium); white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis; max-width:92mm; }
.fc-dir span { display:block; font-size:7.5pt; color:#555; white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis; max-width:92mm; }
th.fc-n, td.fc-n { text-align:right; }
td.fc-n { font-size:9.5pt; font-weight:var(--fw-dato); font-variant-numeric:tabular-nums; width:13mm; }
.fab-carta-tabla tbody tr.fc-total td { border-top:0.5mm solid #111; border-bottom:0;
  font-size:9.5pt; font-weight:var(--fw-fuerte); padding-top:2.4mm; background:#fff; }
.fab-carta-firma { position:absolute; left:12mm; right:12mm; bottom:8mm;
  display:grid; grid-template-columns:minmax(0,1fr) 44mm 34mm; gap:6mm; align-items:end;
  border-top:0.5mm solid #111; padding-top:3mm; }
.fab-carta-f1 b { display:block; font-size:8.5pt; font-weight:var(--fw-fuerte); }
.fab-carta-f1 span { display:block; font-size:7pt; color:#555; margin-top:0.8mm; }
.fab-carta-f2 span { display:block; font-size:6.5pt; color:#555; letter-spacing:.04em; }
.fab-carta-f2 i { display:block; height:9mm; border-bottom:0.3mm solid #999; }
.fab-carta-np { position:absolute; right:0; top:-6mm; font-size:7pt; color:#777; }
.fab-carta-pru::after { content:'PRUEBA'; position:absolute; inset:0; display:grid;
  place-items:center; font-size:90pt; font-weight:var(--fw-black); color:rgba(180,30,30,.06);
  transform:rotate(-22deg); pointer-events:none; }
.fab-seur-et { background:#fff; border:1px solid #999; aspect-ratio:432/288; padding:2.1cqw 2.3cqw; position:relative;
  font-family:ui-monospace,"SF Mono",Menlo,monospace; color:#000; display:flex; flex-direction:column; }
.fab-seur-et--pru::after { content:'PRUEBA'; position:absolute; inset:0; display:grid; place-items:center; font-size:10cqw;
  font-weight:var(--fw-black); color:rgba(230,140,20,.16); letter-spacing:.1em; transform:rotate(-16deg); pointer-events:none; font-family:var(--font); }
.et2-f1 { display:flex; align-items:flex-start; gap:1.85cqw; }
.et2-serv { background:#000; color:#fff; font-size:3.5cqw; font-weight:var(--fw-fuerte); padding:.7cqw 1.85cqw;
  letter-spacing:-.04em; transform:scaleX(.72); transform-origin:left center; }
.et2-logo { margin-left:auto; font-size:3.2cqw; }
.et2-f2 { display:flex; align-items:flex-end; gap:2.3cqw; margin-top:.7cqw; }
.et2-ruta { font-size:2cqw; line-height:1.25; }
.et2-fecha { font-size:1.6cqw; line-height:1.3; text-align:right; }
.et2-fecha b { font-size:2.1cqw; }
.et2-pp { margin-left:auto; font-size:3cqw; font-weight:var(--fw-fuerte); letter-spacing:-.02em; }
.et2-n1 { font-size:6.9cqw; font-weight:var(--fw-fuerte); border:.35cqw solid #000; width:7.9cqw; text-align:center; line-height:1; }
.et2-zona { font-size:7.2cqw; font-weight:var(--fw-fuerte); letter-spacing:-.06em; transform:scaleX(.55);
  transform-origin:right center; text-align:right; margin:.25cqw 0 .7cqw; white-space:nowrap; }
.et2-cuerpo { display:grid; grid-template-columns:1fr 1fr; gap:1.85cqw; border-top:.25cqw solid #000; padding-top:.9cqw; }
.et2-rem b { font-size:2.3cqw; font-weight:var(--fw-fuerte); display:block; line-height:1.15; }
.et2-rem span, .et2-dst span { font-size:1.5cqw; display:block; line-height:1.35; }
.et2-ccc { font-size:1.5cqw; text-align:right; }
.et2-refs { font-size:1.5cqw; line-height:1.4; margin-top:.9cqw; }
.et2-obs { font-size:1.25cqw; line-height:1.3; }
.et2-dst { margin-top:1.15cqw; }
.et2-dst .grande { font-size:2.3cqw; font-weight:var(--fw-fuerte); display:block; margin-top:.25cqw; }
.et2-bar { height:7.9cqw; margin-top:auto;
  background:repeating-linear-gradient(90deg,#000 0 1.5px,#fff 1.5px 3px,#000 3px 4.5px,#fff 4.5px 7px); }
.et2-cod { font-size:2.1cqw; letter-spacing:.22em; text-align:center; margin-top:.5cqw; }
.et2-pie { display:flex; justify-content:space-between; font-size:1.6cqw; margin-top:.5cqw; }
.fab-seur-pliego { display:flex; flex-wrap:wrap; gap:var(--sp-3); }
.fab-seur-hoja { flex:none; width:210px; }
.fab-seur-a4 { background:#fff; border:1px solid var(--br-2); border-radius:5px; aspect-ratio:210/297; padding:4px;
  display:flex; flex-direction:column; box-shadow:0 3px 14px rgba(0,0,0,.09); }
.fab-seur-banda2 { flex:1; padding:6px 8px; display:flex; flex-direction:column; justify-content:center; gap:2px; min-width:0; }
.fab-seur-banda2 + .fab-seur-banda2 { border-top:1.5px dashed var(--br-2); }
.fab-seur-banda2.vacia { display:grid; place-items:center; color:var(--tx-3); font-size:var(--fs-xs); }
.fab-seur-banda2 .cinta { font-size:var(--fs-2xs); font-weight:var(--fw-fuerte); color:#1d5fa8; }
.fab-seur-banda2 .l1 { font-size:var(--fs-sm); font-weight:var(--fw-fuerte); line-height:1.15;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fab-seur-banda2 .l2 { font-size:var(--fs-xs); color:var(--tx-2); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fab-seur-banda2 .l3 { height:14px; margin-top:3px;
  background:repeating-linear-gradient(90deg,#111 0 1.5px,#fff 1.5px 3px,#111 3px 4px,#fff 4px 6.5px); }
.fab-seur-hn { font-size:var(--fs-sm); font-weight:var(--fw-dato); color:var(--tx-2); text-align:center; margin-top:7px; }
.fab-seur-hn span { display:block; font-weight:var(--fw-body); color:var(--tx-3); font-size:var(--fs-xs); }
.fab-seur-hueco { margin-top:10px; background:var(--sf2); border-radius:var(--radius-sm); padding:10px 12px; font-size:var(--fs-sm); color:var(--tx-2); }
.fab-seur-banda2.mal { background:var(--estado-urgente); color:#fff; }
.fab-seur-banda2.mal .cinta, .fab-seur-banda2.mal .l2 { color:#fff; }
.fab-seur-banda2.mal .l3 { background:repeating-linear-gradient(90deg,#fff 0 1.5px,transparent 1.5px 3px,#fff 3px 4px,transparent 4px 6.5px); }
.i2-logo { font-weight:var(--fw-black); font-size:19px; letter-spacing:-.5px; color:#1b4a9b; }
.i2-logo b { color:#d93a35; font-weight:var(--fw-black); }
.i2-logo--md { font-size:23px; flex:none; }
.fab-i2-cabt { font-size:var(--fs-sm); color:var(--tx-2); font-weight:var(--fw-detalle); }
#fab-i2-cuerpo { display:flex; flex-direction:column; flex:1; min-height:0; }
.fab-ped-i2 { display:inline-flex; align-items:center; gap:9px; background:var(--sf); color:#1b4a9b;
  border:2px solid #1b4a9b; border-radius:var(--radius-pill); padding:7px 16px; font:inherit;
  font-size:var(--fs-base); font-weight:var(--fw-dato); cursor:pointer; white-space:nowrap;
  transition:transform var(--dur-press) var(--ease-out); }
.fab-ped-seur, .fab-ped-i2 { box-sizing:border-box; min-height:44px; }
.fab-ped-i2 .i2-logo { line-height:1; }
.fab-ped-i2:hover { background:#eef3fb; }
.fab-ped-i2:active { transform:scale(.97); }
.fab-ped-i2:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.fab-i2-cta { display:inline-flex; align-items:center; gap:9px; background:#1b4a9b; color:#fff;
  border:none; border-radius:12px; padding:12px 18px; font:inherit; font-size:var(--fs-base);
  font-weight:var(--fw-fuerte); cursor:pointer; white-space:nowrap;
  transition:transform var(--dur-press) var(--ease-out); }
.fab-i2-cta:disabled { opacity:.45; cursor:default; }
.fab-i2-cta:not(:disabled):active { transform:scale(.97); }
.fab-i2-sitio { display:flex; gap:8px; }
.fab-i2-op { flex:1; border:2px solid var(--br-2); border-radius:10px; padding:9px 6px;
  text-align:center; font:inherit; font-size:var(--fs-sm); font-weight:var(--fw-fuerte);
  background:var(--sf); color:var(--tx); cursor:pointer; }
.fab-i2-op small { display:block; font-weight:var(--fw-detalle); font-size:11px; color:var(--tx-3); }
.fab-i2-op.on { border-color:#1b4a9b; background:#eef3fb; color:#1b4a9b; }
.fab-i2-chip { display:inline-flex; align-items:center; gap:8px; border:2px solid var(--br-2);
  background:var(--sf); border-radius:var(--radius-pill); padding:8px 14px; font:inherit;
  font-size:var(--fs-sm); font-weight:var(--fw-dato); color:var(--tx); cursor:pointer; }
.fab-i2-chip.on { border-color:var(--tx); background:var(--tx); color:var(--sf); }
.fab-i2-nueva { display:flex; align-items:center; justify-content:center; gap:var(--sp-2); width:100%; min-height:44px;
  flex:none; margin-bottom:var(--sp-3); border:2px dashed var(--br-2); border-radius:var(--radius-sm); background:var(--sf);
  font:inherit; font-size:var(--fs-base); font-weight:var(--fw-dato); color:var(--tx); cursor:pointer;
  transition:transform var(--dur-press) var(--ease-out), border-color var(--dur-fast) var(--ease-out); }
@media (hover:hover) { .fab-i2-nueva:hover { border-color:var(--tx-3); } }
.fab-i2-nueva:active { transform:scale(.97); }
.fab-i2-nueva:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.fab-i2-carga { flex:none; font-size:var(--fs-sm); color:var(--estado-ojo-ink); margin-bottom:var(--sp-2); }
.fab-seur-cola > .fab-seur-zt { margin:var(--sp-2) 0 0; }
.fab-seur-cola > .fab-seur-zt:first-child { margin-top:0; }
.fab-i2-marcas { display:flex; flex-wrap:wrap; gap:4px var(--sp-2); margin-top:4px; }
.fab-i2-marca { display:inline-flex; align-items:center; gap:4px; font-size:var(--fs-xs); font-weight:var(--fw-dato);
  color:var(--tx-2); white-space:nowrap; }
.fab-i2-marca::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--azul-apple); }
.fab-i2-marca--impresa::before { background:var(--tx-3); }
.fab-i2-ficha-t { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-2); }
.fab-i2-guardado { font-size:var(--fs-xs); font-weight:var(--fw-dato); letter-spacing:0; text-transform:none; color:var(--tx-3); white-space:nowrap; }
.fab-i2-guardado--va { color:var(--tx-3); }
.fab-i2-guardado--ok { color:var(--estado-bien-ink); }
.fab-i2-guardado--fallo { color:var(--estado-urgente-ink); }
.fab-i2-hist { font-size:var(--fs-sm); color:var(--tx-2); margin:-4px 0 10px; }
.fab-i2-f3n { grid-template-columns:repeat(3, minmax(0, 1fr)); }
.fab-i2-op { white-space:nowrap; }
.fab-i2-acc { display:flex; justify-content:space-between; gap:var(--sp-2); margin-top:var(--sp-2); }
.fab-i2-acc > .btn:only-child { margin-left:auto; }
.fab-i2-borrar { color:var(--estado-urgente-ink); }
.fab-i2-mini { border:1px solid var(--br); border-radius:var(--radius-sm); background:var(--sf2);
  padding:12px 14px; }
.fab-i2-mini-l { display:flex; flex-direction:column; gap:5px; font-size:var(--fs-sm); color:var(--tx-2); }
.fab-i2-mini-l b { color:var(--tx); }
.fab-i2-mini-t { margin-top:10px; padding-top:9px; border-top:1px solid var(--br);
  font-size:var(--fs-sm); color:var(--tx-2); }
.fab-i2-mini-t b { color:var(--tx); font-variant-numeric:tabular-nums; }
.fab-i2-peg { display:flex; justify-content:center; }
.fab-i2-pegatina { background:#fff; border:1px solid var(--br-2); border-radius:6px;
  padding:26px 20px 22px; text-align:center; color:#111; position:relative; overflow:hidden; }
.fab-i2-pegatina--mini { width:min(300px, 100%); box-shadow:var(--shadow); }
.fab-i2-pegatina, .fab-carta-pg { position: relative; }
.fab-i2-pegatina .pap-prueba, .fab-carta-pg .pap-prueba {
  position: absolute; inset: 0; display: grid; place-items: center;
  pointer-events: none; z-index: 9;
  overflow: hidden;
}
.fab-i2-pegatina .pap-prueba span, .fab-carta-pg .pap-prueba span {
  font-size: 150px; font-weight: 900; color: rgba(0,0,0,.14);
  letter-spacing: .06em; transform: rotate(-28deg);
}
.fab-carta-pg .pap-prueba span { font-size: 220px; }
.fab-i2-pegatina--mini .pap-prueba span { font-size: 62px; }
.fab-i2-peg .fab-k-peg-folio { zoom:.42; }
.fab-env { display:block; }
.fab-env-tit { margin:0 0 var(--sp-4); }
.fab-env-tit b { display:block; font-size:var(--fs-lg); font-weight:var(--fw-fuerte); color:var(--tx); }
.fab-env-tit span { display:block; margin-top:2px; font-size:var(--fs-sm); color:var(--tx-2); }
.fab-env-cias { display:grid; gap:var(--sp-4); grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); }
.fab-env-cuerpo { display:flex; flex-direction:column; gap:var(--sp-5); margin-top:var(--sp-4); }
.fab-env-cuerpo > .fab-env-cia { max-width:640px; }
.fab-env--puerta .fab-seur ~ .fab-env-cia { display:none; }
.fab-env--puerta .fab-seur-tit { display:none; }
.fab-env--puerta .fab-seur-cab { padding-top:var(--sp-2); }
.fab-env--puerta .fab-seur-pests .bx-vistas { background:transparent; border:0; padding:0; }
.fab-env--puerta .fab-seur-pests .bx-vistas-pista { background:transparent; gap:var(--sp-2); padding:0; }
.fab-env--puerta .fab-seur-pests .bx-vistas-ind { display:none; }
.fab-env--puerta .fab-seur-pests .bx-vista {
  border:1px solid var(--br); border-radius:999px; background:var(--sf);
  padding:6px var(--sp-3); font-size:var(--fs-sm); min-height:34px; }
.fab-env--puerta .fab-seur-pests .bx-vista.on {
  background:var(--tx); color:var(--sf); border-color:var(--tx); font-weight:var(--fw-dato); }
@media (hover:hover) { .fab-env--puerta .fab-seur-pests .bx-vista:not(.on):hover { border-color:var(--tx-3); } }
.bx-vista-marca { display:inline-flex; align-items:center; }
.bx-vista-marca .seur-logo, .bx-vista-marca .i2-logo { font-size:var(--fs-sm); }
.bx-vista--marca > .bx-vista-tx { position:absolute; width:1px; height:1px; overflow:hidden;
  clip-path:inset(50%); white-space:nowrap; }
.fab-env-prev { background:var(--sf); border:1px solid var(--br); border-radius:var(--radius); padding:var(--sp-4); }
.fab-env-prev--vacia { color:var(--tx-2); font-size:var(--fs-sm); }
.fab-env-prev-cab { display:flex; align-items:center; gap:var(--sp-2); margin-bottom:var(--sp-3);
  font-size:var(--fs-sm); font-weight:var(--fw-dato); color:var(--tx-2); }
.fab-env-folios { display:flex; flex-direction:column; align-items:center; gap:var(--sp-4);
  overflow-x:auto; }
.fab-env-folios .fab-seur-a4p { zoom:.62; box-shadow:0 0 0 1.5px var(--br-2), 0 10px 28px rgba(0,0,0,.16);
  break-after:auto; page-break-after:auto; }
@media (max-width: 1650px){ .fab-env-folios .fab-seur-a4p { zoom:.50; } }
@media (max-width: 1360px){ .fab-env-folios .fab-seur-a4p { zoom:.40; } }
@media (max-width: 1150px){ .fab-env-folios .fab-seur-a4p { zoom:.30; } }
.fab-env-cia { display:flex; flex-direction:column; gap:var(--sp-3);
  background:var(--sf); border:1px solid var(--br); border-radius:var(--radius); padding:var(--sp-4); }
.fab-env-cia--vacia { opacity:.72; }
.fab-env-cab { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3); flex-wrap:wrap; }
.fab-env-nom { font-size:var(--fs-base); font-weight:var(--fw-fuerte); letter-spacing:.04em; color:var(--tx); white-space:nowrap; }
.fab-env-cifras { display:flex; gap:var(--sp-4); }
.fab-env-c { display:flex; flex-direction:column; }
.fab-env-c b { font-size:var(--fs-2xl); font-weight:var(--fw-fuerte); line-height:1.05; color:var(--tx); font-variant-numeric:tabular-nums; }
.fab-env-c span { font-size:var(--fs-sm); color:var(--tx-2); }
.fab-env-c--ojo b { color:var(--estado-ojo-ink); }
.fab-env-lista { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.fab-env-l { display:flex; align-items:center; gap:var(--sp-2); padding:6px var(--sp-2);
  font-size:var(--fs-sm); color:var(--tx); border-radius:6px; }
.fab-env-l:nth-child(even) { background:color-mix(in srgb, var(--tx) 2.5%, transparent); }
.fab-env-l-c { flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fab-env-l-r { flex:0 0 auto; font-size:var(--fs-xs); font-weight:var(--fw-dato); white-space:nowrap;
  color:var(--estado-ojo-ink); }
.fab-env-l-n { flex:0 0 auto; font-variant-numeric:tabular-nums; color:var(--tx-2); }
.fab-env-l--mas { color:var(--tx-3); font-style:italic; }
.fab-env-nada { font-size:var(--fs-sm); color:var(--tx-2); padding:var(--sp-2) 0; }
.fab-env-imp { margin-top:auto; min-height:44px; width:100%; justify-content:center; }
@media (prefers-color-scheme: dark) { .fab-env-l:nth-child(even) { background:rgba(255,255,255,.04); } }
[data-theme="dark"] .fab-env-l:nth-child(even) { background:rgba(255,255,255,.04); }
.i2p-banda { position:absolute; left:0; top:0; right:0; height:6px;
  background:linear-gradient(90deg, #1b4a9b 72%, #d93a35 72%); }
.i2p-logo { height:16px; width:auto; display:block; margin:0 auto 8px; }   
.i2p-rem { font-size:13px; font-weight:var(--fw-fuerte); letter-spacing:.04em; }
.i2p-fecha { font-size:12px; font-weight:var(--fw-dato); color:#333; margin-top:3px; }
.i2p-salida { font-size:12px; font-weight:var(--fw-fuerte); margin-top:2px; }
.i2p-quien { font-size:24px; line-height:1.15; font-weight:var(--fw-black); margin:14px 0 9px;
  letter-spacing:-.3px; }
.i2p-dir { font-size:13px; font-weight:var(--fw-detalle); color:#222; line-height:1.45; }
.i2p-tel { font-size:12.5px; font-weight:var(--fw-dato); margin-top:8px; }
.i2p-palet { font-size:21px; font-weight:var(--fw-black); margin-top:13px; }
.i2p-kg { font-size:18px; font-weight:var(--fw-black); margin-top:2px; }
.fab-i2-pegp { display:grid; place-items:center; }
.fab-i2-pegp .fab-i2-pegatina { width:170mm; border:0; border-radius:0; padding:24mm 10mm; }
.fab-i2-pegp .i2p-banda { height:5mm; }
.fab-i2-pegp .i2p-logo { height:6.5mm; margin-bottom:4mm; }   
.fab-i2-pegp .pap-prueba span { font-size: 26mm; }
.fab-i2-pegp .i2p-rem { font-size:13pt; }
.fab-i2-pegp .i2p-fecha, .fab-i2-pegp .i2p-salida { font-size:15pt; }
.fab-i2-pegp .i2p-quien { font-size:44pt; margin:12mm 0 8mm; overflow-wrap:anywhere; text-wrap:balance; }
.fab-i2-pegp .i2p-dir { font-size:24pt; }
.fab-i2-pegp .i2p-tel { font-size:19pt; margin-top:8mm; }
.fab-i2-pegp .i2p-palet { font-size:50pt; margin-top:12mm; }
.fab-i2-pegp .i2p-kg { font-size:40pt; }
.fc-via { display:inline-block; font-size:10.5pt; font-weight:var(--fw-black); letter-spacing:-.3px;
  color:#1b4a9b; margin-top:2mm; }
.fc-via b { color:#d93a35; }
.fc-via--sx, .fc-via--seur { color:#111; }
.fc-via--sx b { color:#111; }
.fc-grupo td { background:#111 !important; color:#fff; font-weight:var(--fw-black); font-size:8.5pt;
  letter-spacing:.05em; padding:2mm 2mm; }
.fc-nota { display:inline-block; font-style:normal; background:#fdf3e0; color:#7a5000;
  font-weight:var(--fw-fuerte); font-size:7.5pt; padding:.4mm 1.6mm; border-radius:1.2mm; margin-top:.8mm; }
.fc-rec { font-size:8pt; font-weight:var(--fw-dato); color:#333; white-space:nowrap; }
.fc-rec--fricom { color:#d93a35; }
.fab-eq-cab { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.fab-eq-resumen { font-size:var(--fs-base); color:var(--tx-2); margin-right:auto; }
.fab-eq-resumen b { color:var(--tx); font-variant-numeric:tabular-nums; }
.fab-eq-vivo { color:var(--estado-bien-ink); }
.fab-eq-accs { display:flex; gap:9px; }
.fab-eq-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(250px, 1fr)); gap:14px; }
.fab-eq-busca { position:relative; max-width:440px; margin:var(--sp-2) 0 var(--sp-4); }
.fab-eq-busca > i { position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--tx-3); pointer-events:none; }
.fab-eq-busca input { appearance:none; -webkit-appearance:none; width:100%; font-family:inherit; font-size:var(--fs-md);
  font-weight:var(--fw-medium); color:var(--tx-1); background:var(--sf); border:1.5px solid var(--br-2);
  border-radius:var(--radius-sm); padding:11px 14px 11px 40px;
  transition:border-color .16s var(--ease-out), box-shadow .16s var(--ease-out); }
.fab-eq-busca input::placeholder { color:var(--tx-3); font-weight:var(--fw-body); }
.fab-eq-busca input:focus { outline:none; border-color:var(--azul-apple);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--azul-apple) 22%, transparent); }
.fab-eq-tarj { background:var(--sf); border-radius:var(--radius); border:1.5px solid var(--br-2); box-shadow:var(--shadow);
  padding:18px; display:flex; flex-direction:column; gap:11px; }
.fab-eq-arriba { display:flex; align-items:center; gap:13px; }
.fab-eq-foto { width:54px; height:54px; border-radius:16px; background:var(--sidebar-bg, #111);
  color:var(--accent); display:grid; place-items:center; font-size:21px;
  font-weight:var(--fw-black); flex:none; }
.fab-eq-quien { min-width:0; }
.fab-eq-quien b { display:block; font-size:var(--fs-lg); font-weight:var(--fw-black); line-height:1.2;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fab-eq-quien span { font-size:var(--fs-sm); color:var(--tx-2); }
.fab-eq-est { display:inline-flex; align-items:center; gap:7px; font-size:var(--fs-sm);
  font-weight:var(--fw-dato); }
.fab-eq-est i { width:9px; height:9px; border-radius:50%; flex:none; }
.fab-eq-est--v { color:var(--estado-bien-ink); } .fab-eq-est--v i { background:var(--estado-bien); }
.fab-eq-est--g { color:var(--tx-3); } .fab-eq-est--g i { background:var(--tx-3); }
.fab-eq-est--a { color:var(--estado-ojo-ink); } .fab-eq-est--a i { background:var(--estado-ojo); }
.fab-eq-pin { display:inline-flex; align-items:center; gap:7px; font-size:var(--fs-xs);
  font-weight:var(--fw-detalle); color:var(--estado-bien-ink); }
.fab-eq-pin--no { color:var(--tx-3); }
.fab-eq-ver { border:0; border-radius:11px; background:var(--sf2);
  box-shadow:inset 0 0 0 1.5px var(--br-2); padding:11px; font:inherit; font-size:var(--fs-sm);
  font-weight:var(--fw-fuerte); color:var(--tx); cursor:pointer; margin-top:auto; }
.fab-eq-ver:active { transform:scale(.98); }
.fab-eq-sinf { font-size:var(--fs-sm); color:var(--tx-3); line-height:1.5; }
.fab-eq-sem { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; margin-bottom:13px; }
.fab-eq-sem-n { background:var(--sf2); border-radius:var(--radius-sm); padding:12px 14px; }
.fab-eq-sem-n b { display:block; font-size:var(--fs-2xl); font-weight:var(--fw-black);
  font-variant-numeric:tabular-nums; line-height:1.1; }
.fab-eq-sem-n small { font-size:var(--fs-xs); color:var(--tx-2); font-weight:var(--fw-detalle); }
.fab-eq-sem-n--2 b { color:var(--tx-2); }
.fab-eq-dia { display:flex; flex-direction:column; gap:4px; padding:9px 2px;
  border-bottom:1px solid var(--br); }
.fab-eq-dia:last-child { border-bottom:0; }
.fab-eq-dia-cab { display:flex; align-items:baseline; justify-content:space-between; }
.fab-eq-dia-cab b { font-size:var(--fs-base); font-weight:var(--fw-fuerte); text-transform:capitalize; }
.fab-eq-dia-cab span { font-size:var(--fs-sm); font-weight:var(--fw-dato);
  font-variant-numeric:tabular-nums; color:var(--tx-2); }
.fab-eq-dia-tramos { display:flex; flex-wrap:wrap; gap:6px; }
.fab-eq-tramo { font-size:var(--fs-sm); font-variant-numeric:tabular-nums; color:var(--tx-2);
  background:var(--sf2); border-radius:8px; padding:3px 9px; white-space:nowrap; }
.fab-eq-tramo--v { color:var(--estado-bien-ink); font-weight:var(--fw-dato); }
.fab-eq-tramo--a { color:var(--estado-ojo-ink); font-weight:var(--fw-dato); }
.fab-eq-carne { background:#111; border-radius:18px; color:#fff; padding:20px; overflow:hidden; }
.fab-eq-c-cab { display:flex; justify-content:space-between; font-size:10.5px;
  font-weight:var(--fw-fuerte); letter-spacing:.08em; color:var(--accent); margin-bottom:14px; }
.fab-eq-c-cuerpo { display:flex; gap:14px; align-items:center; }
.fab-eq-c-foto { width:52px; height:52px; border-radius:14px; background:var(--accent); color:#111;
  display:grid; place-items:center; font-size:20px; font-weight:var(--fw-black); flex:none; }
.fab-eq-c-quien b { display:block; font-size:19px; font-weight:var(--fw-black); }
.fab-eq-c-quien span { font-size:12.5px; color:#bbb; }
.fab-eq-c-pie { margin-top:15px; border-top:1px dashed #444; padding-top:13px;
  display:flex; align-items:center; gap:13px; }
.fab-eq-c-pin { flex:1; min-width:0; }
.fab-eq-c-pin small { display:block; font-size:9.5px; letter-spacing:.08em;
  font-weight:var(--fw-fuerte); color:#999; }
.fab-eq-c-pin b { display:block; font-size:24px; font-weight:var(--fw-black); letter-spacing:.14em;
  font-variant-numeric:tabular-nums; margin-top:2px; }
.fab-eq-c-pin span { display:block; font-size:11px; color:#888; margin-top:3px; }
.fab-eq-c-qr { width:66px; height:66px; background:#fff; border-radius:10px;
  display:grid; place-items:center; overflow:hidden; flex:none; }
.fab-eq-c-qr img { width:58px; height:58px; image-rendering:pixelated; }
.fab-eq-cartab { display:flex; align-items:center; gap:3mm; width:85.6mm; height:54mm;
  background:#fff; border:1px solid #ccc; border-radius:4mm; padding:4mm; overflow:hidden;
  box-sizing:border-box; break-inside:avoid; page-break-inside:avoid; }
.fab-eq-ct-datos { display:flex; flex-direction:column; gap:2.5mm; flex:1; min-width:0; }
.fab-eq-ct-logo { width:34mm; height:auto; }
.fab-eq-ct-nombre { font-size:4mm; font-weight:var(--fw-dato); color:#1a1a1a; line-height:1.2; }
.fab-eq-ct-pin { font-size:3mm; color:#555; letter-spacing:.08em; }
.fab-eq-ct-pin b { font-family:ui-monospace, 'Courier New', monospace; font-size:4.5mm;
  font-weight:var(--fw-dato); letter-spacing:.18em; color:#1a1a1a; margin-left:1mm; }
.fab-eq-ct-qr { width:38mm; height:38mm; flex:none; image-rendering:pixelated; }
.fab-eq-ct-nota { font-size:8pt; color:#555; max-width:150mm; text-align:center; }
.fab-eq-carnep { display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:6mm; padding:10mm; box-sizing:border-box; }
.fab-eq-pliego { display:grid; grid-template-columns:repeat(2, 85.6mm); gap:6mm;
  justify-content:center; align-content:start; max-width:190mm; }
.fab-eq-prev { position:fixed; inset:0; z-index:100010; display:grid; place-items:center;
  background:rgba(0,0,0,.55); padding:var(--sp-4); }
.fab-eq-prev-caja { background:var(--bg); border:1px solid var(--br); border-radius:var(--radius);
  box-shadow:var(--shadow-lg); max-width:min(94vw,720px); max-height:90vh; overflow:auto;
  display:flex; flex-direction:column; }
.fab-eq-prev-cab { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3);
  padding:var(--sp-3) var(--sp-4); border-bottom:1px solid var(--br); }
.fab-eq-prev-cab b { font-size:var(--fs-md); font-weight:var(--fw-fuerte); }
.fab-eq-prev-x { border:none; background:none; color:var(--tx-3); cursor:pointer; font-size:var(--fs-lg);
  width:36px; height:36px; border-radius:var(--radius-sm); }
.fab-eq-prev-x:hover { background:var(--sf); color:var(--tx); }
.fab-eq-prev-lienzo { padding:var(--sp-5); background:var(--sf2); display:flex; flex-wrap:wrap;
  gap:var(--sp-4); justify-content:center; }
.fab-eq-prev-pie { display:flex; justify-content:flex-end; gap:var(--sp-2);
  padding:var(--sp-3) var(--sp-4); border-top:1px solid var(--br); }
.fab-eq-prev-carne .fab-eq-cartab, .fab-eq-prev-pliego .fab-eq-cartab { box-shadow:0 4px 16px rgba(0,0,0,.18); }
.fab-eq-prev-caja--ancho { width:min(96vw,1220px); max-width:96vw; }
.fab-eq-prev-pliego { max-width:100%; display:grid; justify-content:center;
  grid-template-columns:repeat(auto-fill,85.6mm); gap:var(--sp-7) var(--sp-6); }
.fab-eq-prev-a4 { position:relative; margin:0 auto; --a4s:.5;
  width:calc(210mm * var(--a4s)); height:calc(297mm * var(--a4s)); }
.fab-eq-prev-a4 .fab-seur-a4p { position:absolute; top:0; left:0; transform:scale(var(--a4s));
  transform-origin:top left; background:#fff; box-shadow:0 8px 30px rgba(0,0,0,.22); }
@media (max-height:840px){ .fab-eq-prev-a4 { --a4s:.38; } }
.fab-eq-prev-caja--a4 { width:fit-content; max-width:min(94vw,560px); }
.fab-eq-pingen-caja { max-width:min(94vw,420px); text-align:center; }
.fab-eq-pingen-num { font-family:ui-monospace,'Courier New',monospace; font-size:var(--fs-3xl);
  font-weight:var(--fw-fuerte); letter-spacing:.14em; color:var(--tx);
  padding:var(--sp-5) var(--sp-4) var(--sp-2); }
.fab-eq-pingen-nota { font-size:var(--fs-base); color:var(--tx-2); line-height:1.5;
  padding:0 var(--sp-5) var(--sp-4); }
.fab-eq-carne-accs { display:flex; gap:var(--sp-2); margin-top:var(--sp-3); flex-wrap:wrap; }
@media print {
  body.bx-imprime-pliego > * { display: none !important; }
  body.bx-imprime-pliego > #fab-seur-print {
    display: block !important; position: static; width: 210mm; margin: 0; }
  @page { size: A4 portrait; margin: 0; }
  .fab-carta-pg { page: cartaH; }
  @page cartaH { size: A4 landscape; margin: 0; }
  body.bx-imprime-pliego > #fab-seur-print:has(.fab-carta-pg) { width: 297mm; }
}
#fab-seur-print { display: none; }
.fab-seur-a4p { width: 210mm; height: 296.5mm; page-break-after: always; break-after: page;
  position: relative; background: #fff; overflow: hidden; }
.fab-seur-a4p:last-child { page-break-after: auto; break-after: auto; }
.ig-seg-b, .acc-rol-btn { min-height: 36px; }
.bx-ck-chip { min-height: 36px; }
.com-seg, .rncal-navbtn, .rncal-hoy, .cm-secret-copy, .rn-meet-link, .rn-meet-copy { min-height: 36px; }
.hist-wrap { display: flex; flex-direction: column; gap: var(--sp-4); min-height: 0; }
.hist-barra { display: flex; flex-direction: column; gap: var(--sp-3); }
.hist-buscar { position: relative; display: flex; align-items: center; }
.hist-buscar > i { position: absolute; left: var(--sp-3); color: var(--tx-3); pointer-events: none; }
.hist-buscar input {
  width: 100%; min-height: 44px; padding: var(--sp-2) var(--sp-3) var(--sp-2) calc(var(--sp-3) * 2 + 14px);
  border: 1px solid var(--br); border-radius: var(--radius); background: var(--sf);
  color: var(--tx); font: inherit; font-size: var(--fs-md);
}
.hist-buscar input:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; border-color: transparent; }
.hist-filtros { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); }
.hist-sel {
  appearance: none; -webkit-appearance: none;
  min-height: 44px; padding: 0 calc(var(--sp-5) + 6px) 0 var(--sp-3);
  border: 1px solid var(--br); border-radius: 999px; background: var(--sf);
  color: var(--tx); font: inherit; font-size: var(--fs-sm); font-weight: var(--fw-detalle); cursor: pointer;
  background-image: linear-gradient(45deg, transparent 50%, currentColor 50%),
                    linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-position: right var(--sp-3) center, calc(100% - var(--sp-3) + 5px) center;
  background-size: 5px 5px, 5px 5px; background-repeat: no-repeat;
}
.hist-sel:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.hist-lista .bx-fila {
  display: grid; grid-template-columns: 34px minmax(0, 1fr) auto auto 14px;
  align-items: center; gap: var(--sp-3);
}
.hist-fila > .bx-desp-cab { padding: var(--sp-2) var(--sp-3); }
.hist-ficha {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: var(--sp-3);
}
.hist-ico {
  display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px;
  background: var(--sf2); color: var(--tx-2); font-size: var(--fs-sm);
}
.hist-ico--borro { background: var(--estado-urgente); color: var(--estado-urgente-ink); }
.hist-frase { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--fs-md); }
.hist-frase b { font-weight: var(--fw-dato); }
.hist-etq { color: var(--tx); }
.hist-verbo { color: var(--tx-2); }
.hist-verbo--borro { color: var(--estado-urgente-ink); font-weight: var(--fw-detalle); }
.hist-campos { display: flex; gap: 4px; flex-shrink: 0; }
.hist-campo {
  font-size: var(--fs-xs); font-weight: var(--fw-detalle); color: var(--tx-2);
  background: var(--sf2); border-radius: 5px; padding: 2px 6px; white-space: nowrap;
}
.hist-campo--mas { color: var(--tx-3); }
.hist-cuando { font-size: var(--fs-sm); color: var(--tx-3); white-space: nowrap; flex-shrink: 0; }
.hist-cambios { display: flex; flex-direction: column; gap: var(--sp-2); }
.hist-cambio {
  display: grid; grid-template-columns: minmax(90px, 130px) minmax(0, 1fr) 16px minmax(0, 1fr);
  align-items: baseline; gap: var(--sp-3);
  padding: var(--sp-2) var(--sp-3); background: var(--sf2); border-radius: var(--radius-sm);
}
.hist-cambio-k { font-size: var(--fs-xs); font-weight: var(--fw-detalle); color: var(--tx-2); text-transform: none; }
.hist-cambio-a { color: var(--tx-3); text-decoration: line-through; word-break: break-word; font-size: var(--fs-sm); }
.hist-cambio-f { color: var(--tx-3); font-size: var(--fs-xs); }
.hist-cambio-d { color: var(--tx); font-weight: var(--fw-detalle); word-break: break-word; font-size: var(--fs-sm); }
.hist-cambio .vacio { color: var(--tx-3); font-style: italic; text-decoration: none; }
.hist-meta { display: flex; flex-wrap: wrap; gap: var(--sp-2) var(--sp-4); margin-top: var(--sp-3); }
.hist-agente { margin-top: var(--sp-2); font-size: var(--fs-xs); color: var(--tx-3); word-break: break-all; }
.hist-mas { display: flex; justify-content: center; padding: var(--sp-4) 0; }
.hist-vacio {
  display: flex; flex-direction: column; align-items: center; gap: var(--sp-2);
  padding: var(--sp-7) var(--sp-4); color: var(--tx-3); text-align: center;
}
.hist-vacio > i { font-size: var(--fs-2xl); }
.hist-vacio small { font-size: var(--fs-xs); }
@media (max-width: 900px) {
  .hist-lista .bx-fila { grid-template-columns: 34px minmax(0, 1fr) 14px; row-gap: 4px; }
  .hist-frase { white-space: normal; }
  .hist-campos { grid-column: 2; }
  .hist-cuando { grid-column: 2; }
  .hist-cambio { grid-template-columns: 1fr; row-gap: 2px; }
  .hist-cambio-f { transform: rotate(90deg); }
}
.bx-firma { display: flex; flex-direction: column; gap: var(--sp-3); margin-top: var(--sp-4); }
.bx-firma-c { display: flex; flex-direction: column; gap: 4px; }
.bx-firma-c > span { font-size: var(--fs-xs); font-weight: var(--fw-detalle); color: var(--tx-2); }
.bx-firma-c > input {
  min-height: 44px; padding: var(--sp-2) var(--sp-3);
  border: 1px solid var(--br); border-radius: var(--radius-sm);
  background: var(--sf); color: var(--tx); font: inherit; font-size: var(--fs-md);
}
.bx-firma-c > input:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; border-color: transparent; }
.fab-falso{ display:flex; align-items:center; gap:var(--sp-3); padding:var(--sp-3) var(--sp-4);
  background:var(--sf2); border-radius:var(--radius); margin-bottom:var(--sp-4); }
.fab-falso > i{ font-size:22px; color:var(--estado-urgente-ink); flex:0 0 auto; }
.fab-falso-t{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:2px; }
.fab-falso-t b{ font-size:var(--fs-md); font-weight:var(--fw-fuerte); }
.fab-falso-t span{ font-size:var(--fs-sm); color:var(--tx-2); line-height:1.45; }
.fab-falso .btn{ flex:0 0 auto; }
@media (max-width:640px){
  .fab-falso{ flex-wrap:wrap; }
  .fab-falso .btn{ width:100%; }
}
.fab-arranque{ display:flex; align-items:center; gap:var(--sp-3); padding:var(--sp-3) var(--sp-4);
  background:var(--sf2); border-radius:var(--radius); margin-bottom:var(--sp-4); }
.fab-arranque > i{ font-size:22px; color:var(--accent); flex:0 0 auto; }
.fab-arranque-t{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:2px; }
.fab-arranque-t b{ font-size:var(--fs-md); font-weight:var(--fw-fuerte); }
.fab-arranque-t span{ font-size:var(--fs-sm); color:var(--tx-2); line-height:1.45; }
.fab-arranque .btn{ flex:0 0 auto; }
@media (max-width:640px){
  .fab-arranque{ flex-wrap:wrap; }
  .fab-arranque .btn{ width:100%; }
}
.tb-real{ position:relative; width:100%; height:calc(100dvh - 144px); min-height:0;
  display:flex; flex-direction:column; background:var(--sf); border-radius:var(--radius);
  overflow:hidden; container-type:size; }
.tb-real > *{ flex:1 1 auto; min-height:0; }
.tb-real > .tb-cab, .tb-pantalla > .tb-cab{ flex:0 0 auto; }
.bx-nave .topbar{ display:none; }
.bx-nave .main{ margin-left:0; }
.bx-nave .content{ padding:0; overflow:hidden; }
.bx-nave .sidebar{ transform:translateX(-100%); transition:transform .26s var(--ease-out); box-shadow:none; overflow-y:auto; }
.bx-nave .sidebar.open{ transform:translateX(0); box-shadow:var(--shadow-lg); }
.bx-nave .tb-real{ height:100dvh; border-radius:0; }
.bx-nave .tb-cab-donde{ cursor:pointer; }
html.bx-nave::before{ content:''; position:fixed; top:0; left:0; width:100vw; height:100vh; z-index:10000; pointer-events:none;
  background:#111 url("/assets/images/LOGO%20HORIZONTAL%20BRIOX%20BAKER.png?v=2f076b0c3d") center 36% / min(54vw, 620px) auto no-repeat;
  opacity:1; transition:opacity .28s var(--ease-out); }
html.bx-nave::after{ content:attr(data-nave); position:fixed; left:0; right:0; top:54%; z-index:10001; pointer-events:none; text-align:center;
  color:#fff; font-family:var(--font); font-size:clamp(40px, 7vw, 92px); font-weight:var(--fw-black); letter-spacing:-.02em; line-height:1.1;
  opacity:1; transition:opacity .28s var(--ease-out); }
html.bx-nave.bx-nave-lista::before, html.bx-nave.bx-nave-lista::after{ opacity:0; }
@container (max-height: 640px) {
  .tb-cuerpo { padding:var(--sp-3) var(--sp-5); gap:var(--sp-2); }
  .tb-clic-teclas { --tk:74px; --tkg:6px; grid-template-columns:repeat(3, var(--tk)); gap:var(--tkg); }
  .tb-previa { --tb-previa-k:.27; gap:var(--sp-4); }
  .tb-previa-txt { font-size:var(--fs-md); }
  .tb-clic-teclas .tb-pin-k { height:var(--tk); }   
  .tb-clic-pin { gap:4px; padding:var(--sp-1) 0; }
  .tb-clic-reloj { font-size:var(--fs-base); }
  .tb-clic-reloj b { font-size:var(--fs-lg); }
  .tb-clic-foto { width:40px; height:40px; border-radius:10px; }
  .tb-clic-h b { font-size:var(--fs-lg); }
  .tb-clic-num { gap:0; }
  .tb-clic-num span { font-size:var(--fs-sm); line-height:1.1; }
  .fab-imp-aviso { padding:var(--sp-2) var(--sp-4); gap:var(--sp-2); font-size:var(--fs-base); margin-bottom:var(--sp-2); }
  .fab-imp-aviso i { font-size:var(--fs-lg); }
  .fab-imp-aviso .fab-imp-como { display:none; }
  .tb-clic-num b { font-size:var(--fs-2xl); line-height:1; }   
  .tb-cabsup { margin-bottom:0; }
  .tb-amasada-estado { margin:0; gap:var(--sp-1); }
  .tb-amasada-estado .tb-amasadas b { font-size:var(--fs-3xl); }
  .tb-que span, .tb-que em { font-size:var(--fs-sm); }
  .tb-que b { font-size:var(--fs-2xl); }
  .tb-paso-n b { font-size:var(--fs-3xl); }
  .tb-paso-n span { font-size:var(--fs-sm); }
  .tb-preg-q { margin:0; }
  .tb-accion { min-height:64px; font-size:var(--fs-xl); }   
  .tb-accion-sub { font-size:var(--fs-sm); }
  .tb-preg-btn { min-height:72px; font-size:var(--fs-xl); }
  .tb-accion--flojo { min-height:44px; }
  .tb-atras-top { min-height:44px; }
  .tb-amasada-estado { min-height:24px; }
  .tb-paso { grid-template-columns:56px minmax(0,1fr) 56px; gap:var(--sp-2); }
  .tb-paso > button { width:56px; height:56px; min-height:0; }
  .tb-que { gap:0; }
  .tb-fila { min-height:84px; }
  .tb-fila-q b { font-size:var(--fs-2xl); }
  .tb-fila-q span { font-size:var(--fs-base); }
  .tb-vista { min-height:56px; font-size:var(--fs-lg); }
  .tb-clic-empezar { min-height:96px; font-size:var(--fs-2xl); box-shadow:0 6px 0 var(--accent-deep); }
  .tb-clic-empezar:active { transform:translateY(4px); }
  .tb-fh-fila { padding:var(--sp-3); }
  .tb-fh-nom b { font-size:var(--fs-3xl); }
  .tb-fh-mm { width:56px; height:56px; font-size:var(--fs-2xl); }
  .tb-fh-num b { min-width:58px; font-size:var(--fs-3xl); }
  .tb-fh-slider { height:24px; margin-inline:16px; }
  .tb-fh-slider::-webkit-slider-runnable-track { height:24px; }
  .tb-fh-slider::-webkit-slider-thumb { width:32px; height:32px; margin-top:-4px; }
  .tb-fh-slider::-moz-range-thumb { width:32px; height:32px; }
  .tb-fh-merma, .tb-accion--fh { min-height:60px; font-size:var(--fs-lg); }
}
@container (max-height: 520px) {
  .tb-cuerpo { padding:var(--sp-2) var(--sp-4); gap:var(--sp-2); }
  .tb-clic-teclas { --tk:68px; --tkg:6px; grid-template-columns:repeat(3, var(--tk)); gap:var(--tkg); }
  .tb-previa { --tb-previa-k:.22; }
  .tb-clic-teclas .tb-pin-k { height:var(--tk); font-size:var(--fs-xl); }
  .tb-clic-num b { font-size:var(--fs-3xl); }
  .tb-clic-num span { font-size:var(--fs-sm); }
  .tb-que span, .tb-que em { font-size:var(--fs-sm); }
  .tb-que b { font-size:var(--fs-xl); }
  .tb-paso-n b { font-size:var(--fs-2xl); }
  .tb-paso-n span, .tb-cron span { font-size:var(--fs-sm); }
  .tb-accion { min-height:52px; font-size:var(--fs-lg); }
  .tb-amasada-estado .tb-amasadas b { font-size:var(--fs-3xl); }
  .tb-atras-top { min-height:40px; }
  .tb-fila { min-height:72px; }
  .tb-fila-q b { font-size:var(--fs-xl); }
  .tb-vista { min-height:48px; font-size:var(--fs-md); }
  .tb-clic-empezar { min-height:76px; font-size:var(--fs-xl); box-shadow:0 5px 0 var(--accent-deep); }
  .tb-fh-nom b { font-size:var(--fs-2xl); }
  .tb-fh-mm { width:48px; height:48px; font-size:var(--fs-xl); }
  .tb-fh-num b { min-width:52px; font-size:var(--fs-2xl); }
  .tb-fh-slider { height:20px; margin-inline:14px; }
  .tb-fh-slider::-webkit-slider-runnable-track { height:20px; }
  .tb-fh-slider::-webkit-slider-thumb { width:28px; height:28px; margin-top:-4px; }
  .tb-fh-slider::-moz-range-thumb { width:28px; height:28px; }
  .tb-fh-merma, .tb-accion--fh { min-height:52px; font-size:var(--fs-md); }
}
.fab-eq-tarj { position: relative; }
.fab-eq-ck {
  position: absolute; top: var(--sp-2); right: var(--sp-2);
  display: grid; place-items: center;
  width: 44px; height: 44px;                 
  margin: calc(var(--sp-2) * -1);            
  cursor: pointer; z-index: 1;
}
.fab-eq-tarj--sel { box-shadow: var(--shadow-lg); outline: 2px solid var(--accent); outline-offset: -2px; }
.fab-eq-selbar {
  display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap;
  padding: var(--sp-2) var(--sp-3); margin-bottom: var(--sp-3);
  background: var(--sf); border: 1.5px solid var(--br-2); border-radius: var(--radius);
}
.fab-eq-selbar--on { background: var(--sf2); }
.fab-eq-seln { font-weight: var(--fw-dato); }
.fab-eq-seln b { color: var(--gold-ink); }
.fab-eq-selpista { color: var(--tx-3); font-size: var(--fs-sm); }
.fab-eq-selacc { margin-left: auto; display: flex; gap: var(--sp-2); }
@media (max-width: 640px) { .fab-eq-selacc { margin-left: 0; width: 100%; } }
.fab-eq-prev-hojas { display:flex; flex-direction:column; gap:var(--sp-5); align-items:center; }
.fab-eq-carnep:has(.fab-eq-pliego) { justify-content: flex-start; }
.cm-robots-cargando { padding: var(--sp-5) 0; color: var(--tx-3); font-size: var(--fs-sm); }
.cm-rb-cab { display: flex; align-items: flex-end; gap: var(--sp-4); margin-bottom: var(--sp-4); }
.cm-err-cab { display: grid; grid-template-columns: 64px minmax(0, 1fr) 20px; align-items: center; gap: var(--sp-3); cursor: pointer; }
.cm-err-n { display: flex; flex-direction: column; align-items: center; line-height: 1.05; }
.cm-err-n b { font-size: var(--fs-xl); font-weight: var(--fw-dato); color: var(--estado-urgente-ink, var(--tx-1)); }
.cm-err-n span { font-size: var(--fs-xs); color: var(--tx-3); font-weight: var(--fw-detalle); }
.cm-err-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.cm-err-msg { font-weight: var(--fw-detalle); color: var(--tx-1); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cm-err-meta { font-size: var(--fs-sm); color: var(--tx-3); }
.cm-err-pila { margin: var(--sp-3) 0 0; padding: var(--sp-3); background: var(--sf); border-radius: var(--radius-sm); font-size: var(--fs-sm); line-height: 1.4; white-space: pre-wrap; word-break: break-all; color: var(--tx-2); max-height: 260px; overflow: auto; }
.cm-rb-hero { flex: 1; min-width: 0; }
.cm-rb-hero b { font-size: var(--fs-3xl); font-weight: var(--fw-fuerte); letter-spacing: -.02em; }
.cm-rb-hero > span { font-size: var(--fs-md); color: var(--tx-2); font-weight: var(--fw-detalle); }
.cm-rb-hero-s { font-size: var(--fs-sm); color: var(--tx-2); margin-top: 3px; }
.cm-rb-refrescar { flex: 0 0 auto; }
.cm-rb-tira { display: grid; grid-template-columns: repeat(60, minmax(0, 1fr)); gap: 2px;
  align-items: end; height: 46px; }
.cm-rb-min { height: 30%; border-radius: 2px; background: var(--sf2); }
.cm-rb-min--hay { height: 100%; background: var(--accent); }
.cm-rb-min--choque { height: 100%; background: var(--estado-urgente-ink); }
.cm-rb-min--ahora { outline: 2px solid var(--tx); outline-offset: 1px; }
.cm-rb-reglas { display: flex; justify-content: space-between; font-size: var(--fs-xs);
  color: var(--tx-3); margin: 6px 2px var(--sp-5); font-variant-numeric: tabular-nums; }
.cm-rb-lista { display: grid; }
.cm-rb-fila { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: var(--sp-3); align-items: baseline; padding: 9px var(--sp-3); border-radius: var(--radius-sm);
  font-size: var(--fs-sm); }
.cm-rb-fila--cab { font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: .06em;
  color: var(--tx-3); font-weight: var(--fw-dato); padding-bottom: 6px; }
.cm-rb-n { font-weight: var(--fw-dato); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cm-rb-c { color: var(--tx-2); }
.cm-rb-u { color: var(--tx-2); }
.cm-rb-l { font-variant-numeric: tabular-nums; }
.cm-rb-bien { color: var(--estado-bien-ink); font-weight: var(--fw-dato); }
.cm-rb-mal { color: var(--estado-urgente-ink); font-weight: var(--fw-dato); }
.cm-rb-nose { color: var(--tx-3); font-size: var(--fs-xs); }
@media (max-width: 760px) {
  .cm-rb-fila { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); row-gap: 2px; }
  .cm-rb-fila--cab { display: none; }
  .cm-rb-tira { height: 34px; }
}
.acc-zpill--lee .acc-zpill-b { cursor: default; opacity: .55; }
.acc-zpill--lee .acc-zpill-b.on { opacity: 1; background: var(--accent); color: #111; }
.acc-perm-quien { font-style: normal; font-weight: var(--fw-fuerte); color: var(--tx); margin-left: 6px; }
.acc-etiq { display: inline-flex; align-items: center; gap: 5px; font-weight: var(--fw-detalle); color: var(--gold-ink); }
.acc-etiq::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); }
.bx-fecha {
  display: inline-flex; align-items: center; gap: 8px;
  height: 40px; padding: 0 12px; border: 0; cursor: pointer;
  font-family: var(--font); font-size: var(--fs-md); font-weight: var(--fw-detalle);
  color: var(--tx); background: var(--sf2); border-radius: var(--radius-sm);
  font-variant-numeric: tabular-nums; white-space: nowrap;
  transition: background .15s var(--ease-out);
}
.bx-fecha:hover { background: var(--sf3); }
.bx-fecha:active { transform: scale(.985); }
.bx-fecha svg { width: 15px; height: 15px; flex: none; color: var(--tx-3); }
.bx-fecha.abierto { background: var(--sf3); box-shadow: inset 0 0 0 1.5px var(--accent); }
.bx-fecha:focus-visible { outline: 2px solid color-mix(in srgb, var(--accent) 55%, transparent); outline-offset: 2px; }
.bx-cal {
  position: absolute; z-index: 9000; width: 292px; padding: 12px;
  background: var(--sf); border: 1px solid var(--br); border-radius: 16px;
  box-shadow: var(--shadow-lg); color: var(--tx);
  transform-origin: top left;
  animation: bxCalIn 160ms var(--ease-out) both;
}
.bx-cal[data-lado="derecha"] { transform-origin: top right; }
@keyframes bxCalIn { from { opacity: 0; transform: translateY(-6px) scale(.97); } }
.bx-cal-top { display: flex; align-items: center; gap: 4px; margin-bottom: 10px; }
.bx-cal-tit {
  flex: 1; min-width: 0; border: 0; background: transparent; cursor: pointer;
  font-family: var(--font); font-size: var(--fs-md); font-weight: var(--fw-dato); color: var(--tx);
  text-align: left; padding: 6px 8px; border-radius: 9px; text-transform: capitalize;
  transition: background .14s var(--ease-out);
}
.bx-cal-tit:hover { background: var(--sf2); }
.bx-cal-fl {
  width: 32px; height: 32px; flex: none; display: grid; place-items: center;
  border: 0; background: transparent; border-radius: 9px; cursor: pointer; color: var(--tx-2);
  transition: background .14s var(--ease-out), color .14s var(--ease-out);
}
.bx-cal-fl:hover { background: var(--sf2); color: var(--tx); }
.bx-cal-fl:active { transform: scale(.9); }
.bx-cal-fl svg { width: 16px; height: 16px; }
.bx-cal-sem, .bx-cal-dias { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.bx-cal-sem { margin-bottom: 4px; }
.bx-cal-sem span {
  text-align: center; font-size: var(--fs-2xs); font-weight: var(--fw-detalle);
  color: var(--tx-3); text-transform: uppercase; letter-spacing: .4px; padding: 4px 0;
}
.bx-cal-dias { row-gap: 2px; }
.bx-cal-c { position: relative; display: grid; place-items: center; height: 36px; }
.bx-cal-c.enrango { background: color-mix(in srgb, var(--accent) 14%, transparent); }
.bx-cal-c.ini { border-radius: 999px 0 0 999px; }
.bx-cal-c.fin { border-radius: 0 999px 999px 0; }
.bx-cal-c.ini.fin { border-radius: 999px; }
.bx-cal-d {
  width: 34px; height: 34px; border: 0; border-radius: 50%; cursor: pointer;
  display: grid; place-items: center; background: transparent; color: var(--tx);
  font-family: var(--font); font-size: var(--fs-sm); font-weight: var(--fw-detalle);
  font-variant-numeric: tabular-nums;
  transition: background .13s var(--ease-out), color .13s var(--ease-out), transform .1s var(--ease-out);
}
.bx-cal-d:hover { background: var(--sf2); }
.bx-cal-d:active { transform: scale(.88); }
.bx-cal-d.fuera { color: var(--tx-3); opacity: .55; }
.bx-cal-d.hoy { box-shadow: inset 0 0 0 1.5px var(--accent); }
.bx-cal-d.sel {
  background: var(--accent); color: var(--accent-ink, #1c1c1c); font-weight: var(--fw-dato);
}
.bx-cal-d.sel:hover { background: var(--accent); }
.bx-cal-d:focus-visible { outline: 2px solid color-mix(in srgb, var(--accent) 60%, transparent); outline-offset: 1px; }
.bx-cal-meses { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
.bx-cal-m {
  height: 44px; border: 0; border-radius: 10px; cursor: pointer; background: transparent;
  color: var(--tx); font-family: var(--font); font-size: var(--fs-sm); font-weight: var(--fw-detalle);
  text-transform: capitalize; transition: background .13s var(--ease-out);
}
.bx-cal-m:hover { background: var(--sf2); }
.bx-cal-m.sel { background: var(--accent); color: var(--accent-ink, #1c1c1c); font-weight: var(--fw-dato); }
.bx-cal-pie { display: flex; justify-content: flex-end; margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--br); }
.bx-cal-hoy {
  border: 0; background: transparent; cursor: pointer; padding: 7px 12px; border-radius: 9px;
  font-family: var(--font); font-size: var(--fs-sm); font-weight: var(--fw-dato);
  color: var(--azul-apple); transition: background .14s var(--ease-out);
}
.bx-cal-hoy:hover { background: var(--sf2); }
@media (prefers-reduced-motion: reduce) {
  .bx-cal { animation: none; }
  .bx-fecha, .bx-cal-d, .bx-cal-fl, .bx-cal-m, .bx-cal-tit { transition: none; }
}
@media (max-width: 768px) {
  .topbar {
    display: grid; grid-template-columns: 44px minmax(0, 1fr) auto;
    grid-template-areas: "menu titulo acciones" "ambito ambito ambito";
    align-items: center; height: auto; min-height: var(--mv-barra-h); padding: 0 2px; gap: 0;
    background: #111111; border-bottom: 0;
  }
  body.web-zen .topbar { height: 0; min-height: 0; padding: 0; }
  #menu-toggle { grid-area: menu; }
  .topbar-title, #mobile-topbar-logo { grid-area: titulo; }
  .topbar-actions { grid-area: acciones; gap: 0; }
  #cm-topscope { grid-area: ambito; }
  .topbar .icon-btn { width: 44px; height: 44px; border-radius: 12px; background: transparent; border: 0; box-shadow: none; color: rgba(249,249,249,.92); }
  .topbar .icon-btn i { font-size: var(--fs-xl); color: rgba(249,249,249,.92); }
  .topbar-title { display: flex; align-items: center; justify-content: center; min-width: 0; padding: 0; text-align: center; }
  .topbar-title h1 { font-size: var(--mv-fs-titulo); line-height: 22px; font-weight: var(--fw-detalle); letter-spacing: -.2px; color: #ffffff; margin: 0; }
  .topbar-title p, .topbar-actions .sync-badge-slot { display: none; }
  #cm-topscope { width: auto; max-width: none; overflow: visible; padding: 0 var(--sp-3) var(--sp-3); }
  #cm-topscope .bx-vistas { width: 100%; background: transparent; border: 0; box-shadow: none; }
  #cm-topscope .bx-vistas-pista { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 3px;
    height: var(--mv-seg-h); padding: 3px; border-radius: 10px; background: rgba(255,255,255,.16); overflow: visible; }
  #cm-topscope .bx-vistas-ind { display: none; }
  #cm-topscope .bx-vista { display: flex; align-items: center; justify-content: center; gap: 6px; height: 30px; min-height: 30px;
    padding: 0 4px; border-radius: 8px; font-size: var(--mv-fs-seg); font-weight: var(--fw-detalle); letter-spacing: 0;
    color: rgba(255,255,255,.85); background: transparent; white-space: nowrap; }
  #cm-topscope .bx-vista i { font-size: var(--fs-sm); opacity: .85; }
  #cm-topscope .bx-vista.on, #cm-topscope .bx-vista.on:hover { background: #ffffff; color: #111111; box-shadow: 0 2px 6px rgba(0,0,0,.25); }
  body:not(.web-zen) .content { padding: var(--sp-3) var(--mv-margen) calc(var(--mv-tab-h) + var(--sp-4) + env(safe-area-inset-bottom)); }
  body:has(#fabrica-switcher) #content, body:has(#view-switcher) #content { padding-bottom: calc(var(--mv-tab-h) + var(--sp-4) + env(safe-area-inset-bottom)); }
  .page-header.cm-header { margin: 0 0 var(--sp-3); }
  .cm-head-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-2); align-items: stretch; }
  .cm-head-row > * { width: 100%; max-width: none; min-width: 0; }
  .cm-head-row > div { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-2); justify-items: stretch; }
  .cm-island { display: flex; align-items: center; gap: 10px; width: 100%; max-width: none; min-height: var(--mv-fila-h); margin: 0;
    padding: 0 var(--sp-4); border-radius: var(--mv-radio); font-size: var(--fs-md); font-weight: var(--fw-detalle); }
  .cm-island::after { content: '\f054'; font-family: 'Font Awesome 6 Free'; font-weight: 900; font-size: var(--fs-2xs); color: var(--tx-3); margin-left: auto; }
  .cm-toolbar { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; margin: 0; }
  .cm-live-wrap { width: 100%; padding: 0; border: 0; background: transparent; min-height: 0; }
  .cm-live, button.cm-live { width: 100%; height: auto; min-height: var(--mv-fila-h); display: flex; align-items: center; gap: 10px; justify-content: flex-start;
    padding: 0 var(--sp-4); border-radius: var(--mv-radio); font-size: var(--fs-md); box-sizing: border-box; }
  .cm-live .cm-live-chev { margin-left: auto; }
  .cm-pulso-kpis { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .cm-kpi { padding: 14px var(--sp-4); border-radius: var(--mv-radio); gap: 2px; border: 1px solid var(--br); }
  .cm-kpi-head { gap: 8px; margin-bottom: 4px; }
  .cm-kpi-ico { width: 28px; height: 28px; border-radius: 8px; font-size: var(--mv-fs-nota); }
  #cm-root.cm-mode-esencial .cm-pulso-kpis .cm-kpi-lbl, .cm-mode-esencial .cm-kpi-lbl, .cm-kpi-lbl { font-size: var(--mv-fs-nota); line-height: 18px; letter-spacing: .03em; }
  .cm-mode-esencial .cm-pulso .cm-kpi-val, .cm-mode-esencial .cm-pulso-kpis .cm-pulso-kpis .cm-kpi-val,
  .cm-mode-esencial .cm-pulso-kpis .cm-kpi-val, .cm-pulso-kpis .cm-kpi-val, .cm-kpi-val { font-size: var(--mv-fs-heroe); line-height: var(--mv-lh-heroe); letter-spacing: -.3px; }
  .cm-kpi-spark, .cm-kpi-spark svg { height: 40px; }
  .cm-kpi-spark { margin: 4px 0 6px; }
  .cm-kpi-sub { font-size: var(--mv-fs-cuerpo); line-height: 20px; }
  .kpi-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .kpi-card { padding: 14px var(--sp-4); border-radius: var(--mv-radio); gap: 2px; box-shadow: none; border: 1px solid var(--br);
    background: var(--sf); -webkit-backdrop-filter: none; backdrop-filter: none; }
  .kpi-value { font-size: var(--mv-fs-heroe); line-height: var(--mv-lh-heroe); letter-spacing: -.3px; margin-bottom: 4px; }
  .kpi-footer, .kpi-period { font-size: var(--mv-fs-cuerpo); line-height: 20px; }
  .kpi-spark { height: 40px; }
  .kpi-card .cm-kpi-head { gap: 8px; margin-bottom: 4px; }
  .cm-kpi:not(:has(.cm-kpi-head)) { display: grid; grid-template-columns: 28px minmax(0, 1fr); grid-template-areas: "ico lbl" "val val" "sub sub";
    column-gap: 8px; row-gap: 2px; align-items: center; }
  .cm-kpi:not(:has(.cm-kpi-head)) > .cm-kpi-ico { grid-area: ico; margin: 0; }
  .cm-kpi:not(:has(.cm-kpi-head)) > .cm-kpi-lbl { grid-area: lbl; }
  .cm-kpi:not(:has(.cm-kpi-head)) > .cm-kpi-val { grid-area: val; margin-top: 4px; }
  .cm-kpi:not(:has(.cm-kpi-head)) > .cm-kpi-sub { grid-area: sub; }
  .cm-kpi:not(:has(.cm-kpi-head)) > :not(.cm-kpi-ico):not(.cm-kpi-lbl):not(.cm-kpi-val):not(.cm-kpi-sub) { grid-column: 1 / -1; }
  .bx-ck-chips, .lp-chips, .filter-bar, .hist-filtros, .fab-alm-filtros, .catalog-view-toggle { display: flex; flex-wrap: nowrap; overflow-x: auto; gap: var(--sp-2); padding-bottom: 2px;
    scrollbar-width: none; -webkit-overflow-scrolling: touch; max-width: 100%; }
  .bx-ck-chips::-webkit-scrollbar, .lp-chips::-webkit-scrollbar, .filter-bar::-webkit-scrollbar, .hist-filtros::-webkit-scrollbar, .fab-alm-filtros::-webkit-scrollbar { display: none; }
  .bx-ck-chips > *, .lp-chips > *, .filter-bar > *, .hist-filtros > *, .fab-alm-filtros > *, .catalog-view-toggle > * { flex: 0 0 auto; }
  .bx-ck-chip { min-height: 44px; padding-top: 0; padding-bottom: 0; }
  .conv-header { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-2); }
  .conv-head-actions, .page-header .cm-toolbar, .page-header .bx-acciones { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-2); width: 100%; }
  .conv-head-actions > .btn, .page-header .btn.btn-sm, .cm-toolbar .btn { width: 100%; min-height: 44px; justify-content: center; font-size: var(--fs-md); }
  .lucia-switch { width: 100%; min-height: 44px; justify-content: flex-start; background: var(--sf); border: 1px solid var(--br); border-radius: var(--mv-radio); }
  .lucia-switch-lbl, .lucia-switch.on .lucia-switch-lbl { color: var(--tx); font-weight: var(--fw-detalle); }
  .lucia-switch.off, .lucia-switch.on, .lucia-switch:hover { background: var(--sf); border-color: var(--br); }
  .btn.btn-sm, .bx-btn2, .bx-select, .acc-act, .acc-demo-copy, .rncal-navbtn, .rncal-hoy, .rncal-add, .rn-meet-link, .firma-tpl-b,
  .com-seg, .com-excl-chip, .cm-secret-copy, .conv-new, .tk-sel-enter, .ig-seg-b, .ig-seg-add, .ig-check, .cm-alert-menu-btn, .cm-ipop-menu,
  .ev-prop-si, .ev-prop-no, .lp-chip { min-height: 44px; }
  .rncal-navbtn, .cm-ipop-menu, .cm-alert-menu-btn { min-width: 44px; width: auto; height: auto; }
  .lp-f-chk { width: 44px; height: 44px; }
  .tk-msg-del { width: 32px; height: 32px; }
  .fabcli-tsel { min-height: 44px; }
  #fab-banco-chip { position: fixed; top: var(--mv-barra-h); left: 0; right: 0; z-index: 99; margin: 0; max-width: none; width: auto;
    border-radius: 0; height: 40px; display: flex; align-items: center; gap: var(--sp-2); padding: 0 var(--mv-margen);
    overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
  #fab-banco-chip::-webkit-scrollbar { display: none; }
  #fab-banco-chip > * { flex: 0 0 auto; }
  body:has(#fab-banco-chip):not(.web-zen) .content { padding-top: calc(40px + var(--sp-3)); }
  .card table.tbl-cards > tbody > tr, .cm-card table.tbl-cards > tbody > tr, .card table.bxt > tbody > tr, .cm-card table.bxt > tbody > tr {
    background: transparent; border: 0; border-top: 1px solid var(--br); border-radius: 0; box-shadow: none; margin: 0; padding: var(--sp-2) 0; }
  .card table.tbl-cards > tbody > tr:first-child, .cm-card table.tbl-cards > tbody > tr:first-child, .card table.bxt > tbody > tr:first-child, .cm-card table.bxt > tbody > tr:first-child { border-top: 0; }
  .card table.tbl-cards > tbody > tr:nth-child(odd), .cm-card table.tbl-cards > tbody > tr:nth-child(odd), .card table.bxt > tbody > tr:nth-child(odd), .cm-card table.bxt > tbody > tr:nth-child(odd) { background: color-mix(in srgb, var(--tx) 2.5%, transparent); }
  .card table.tbl-cards td.tc-title, .cm-card table.tbl-cards td.tc-title { font-size: var(--fs-md); font-weight: var(--fw-dato); border-bottom: 0; padding-bottom: 0; margin-bottom: 0; }
  #content:has(> .conv-split) { display: flex; flex-direction: column; }
  #content > #conv-funnel { order: 10; margin-top: var(--sp-3); }
  #content .page-header .page-title, #content .page-header .page-subtitle { display: none; }
  .topbar .bx-directo { padding-left: 14px; gap: 0; font-size: 0; }
  .topbar .bx-fuente { padding: 4px 6px; gap: 0; }
  .topbar .bx-fuente b, .topbar .bx-fuente small { display: none; }
  #content .page-header > div:first-child:empty { display: none; }
  .gst-heroes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-2); }
  .gst-heroes > * { min-width: 0; }
  #content .form-input[type="search"], #content input.form-input { width: 100%; max-width: none; min-height: 44px; }
  #view-switcher, #fabrica-switcher {
    position: fixed; left: 0; right: 0; bottom: 0 !important; width: auto; margin: 0;
    padding: 0 0 env(safe-area-inset-bottom); height: calc(var(--mv-tab-h) + env(safe-area-inset-bottom));
    border-radius: 0; border: 0; border-top: 1px solid rgba(255,255,255,.10); box-shadow: none;
    background: #111111; -webkit-backdrop-filter: none; backdrop-filter: none;
    display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 0;
  }
  #view-switcher .ds-tag, #fabrica-switcher .ds-tag { display: none; }
  #view-switcher .ds-btn, #fabrica-switcher .ds-btn {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
    height: var(--mv-tab-h); min-height: 0; padding: 0; margin: 0; border-radius: 0; background: transparent; box-shadow: none;
    color: rgba(255,255,255,.66); font-size: var(--mv-fs-tab); line-height: 14px; font-weight: var(--fw-detalle); letter-spacing: 0;
  }
  #view-switcher .ds-btn .ds-ico, #fabrica-switcher .ds-btn .ds-ico { display: block; font-size: var(--mv-fs-ico); line-height: 24px; }
  #view-switcher .ds-btn:hover, #fabrica-switcher .ds-btn:hover { background: transparent; color: rgba(255,255,255,.66); }
  #view-switcher .ds-btn.on, #fabrica-switcher .ds-btn.on, #view-switcher .ds-btn.on:hover, #fabrica-switcher .ds-btn.on:hover { background: transparent; color: var(--accent); }
  #view-switcher .ds-btn:active, #fabrica-switcher .ds-btn:active { transform: none; opacity: .7; }
}
.fab-ref .fab-ref-fila { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-3); }
.fab-ref .fab-ref-prev { margin-top: var(--sp-3); font-size: var(--fs-sm); color: var(--tx-2); font-variant-numeric: tabular-nums; }
.fab-ref .fab-ref-prev b { color: var(--tx); }
.fab-ref .fab-ref-recetas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-3); }
.fab-ref .fab-ref-recetas .fab-k-losa { min-height: 76px; }
.fab-ref .fab-ref-como .bx-ck-chip { font-size: var(--fs-base); padding: 10px 14px; }
.fab-ref .fab-ref-como .bx-ck-chip small { margin-left: 8px; font-size: var(--fs-sm); font-weight: var(--fw-medium); opacity: .75; }
.fab-ref .fab-ref-como .bx-ck-chip--nueva { box-shadow: inset 0 0 0 1.5px var(--gold-ink); }
@media (max-width: 640px) { .fab-ref .fab-ref-fila { grid-template-columns: 1fr; } }
.fab-ref-cab { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4); flex-wrap: wrap; margin-bottom: var(--sp-4); }
.fab-ref-resumen { display: flex; align-items: center; gap: var(--sp-4); flex-wrap: wrap; }
.fab-ref-accs { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; margin-top: var(--sp-3); }
.fab-ref-accs--cab { margin-top: 0; }
.fab-ref-sel, .fab-ref-sel-todos { cursor: pointer; vertical-align: middle; }
.fab-ref-libro th:first-child, .fab-ref-libro td:first-child { width: 44px; padding-right: 0; }
.fab-ref-selbar { display: flex; align-items: center; gap: var(--sp-4); flex-wrap: wrap; width: 100%;
  padding: var(--sp-3) var(--sp-4); margin-bottom: var(--sp-4); background: var(--sf2); border-radius: var(--radius); }
.fab-ref-selbar[hidden] { display: none; }
.fab-ref-selbar > b { font-size: var(--fs-lg); }
.fab-ref-selbar .bx-ck-chip small { font-weight: var(--fw-body); opacity: .8; }
.fab-ref-selbar .fab-ref-bajar { margin-left: auto; }
.fab-ref-selbar .fab-k-btn-oro[disabled] { opacity: .5; cursor: default; }
.fab-rec-usar .fa-clipboard-check { margin-right: var(--sp-1); }
.fab-ref-accs .fab-k-btn-oro, .fab-ref-accs .fab-k-btn-g { padding: var(--sp-2) var(--sp-4); font-size: var(--fs-sm); text-decoration: none; }
.fab-ref-hcard { margin-bottom: var(--sp-4); }   
.fab-ref-h i { color: var(--estado-ojo-ink); margin-right: var(--sp-1); }
.fab-ref-huerf { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--sp-2) var(--sp-4); }   
.fab-ref-huerf-it { display: grid; grid-template-columns: subgrid; grid-column: 1 / -1; align-items: center; padding: var(--sp-3) var(--sp-4); border-radius: var(--radius); background: var(--sf2); }
.fab-ref-huerf-t { min-width: 0; display: flex; align-items: baseline; gap: var(--sp-3); flex-wrap: wrap; }
.fab-ref-huerf-t b { font-size: var(--fs-lg); font-weight: var(--fw-fuerte); white-space: nowrap; }
.fab-ref-huerf-t small { color: var(--tx-2); font-size: var(--fs-sm); white-space: nowrap; }
.fab-ref-huerf-it .fab-k-btn-oro { padding: 10px 18px; font-size: var(--fs-base); white-space: nowrap; }
.fab-ref-pan { display: inline-flex; align-items: baseline; gap: var(--sp-2); min-width: 0; }
.fab-ref-pan b { font-size: var(--fs-md); font-weight: var(--fw-fuerte); color: var(--tx); white-space: nowrap; }
.fab-ref-pan small { font-size: var(--fs-xs); font-weight: var(--fw-fuerte); letter-spacing: .04em; color: var(--tx-3); }
.fab-ref-como { color: var(--tx-2); font-size: var(--fs-sm); }
.fab-ref-ean { display: inline-flex; flex-direction: column; align-items: center; gap: 2px; }
.fab-ref-ean-b { display: block; width: 92px; height: 26px; }
.fab-ref-ean-b svg { width: 100%; height: 100%; fill: var(--tx); }
.fab-ref-ean small { font-size: var(--fs-xs); letter-spacing: .04em; font-variant-numeric: tabular-nums; color: var(--tx); }
.fab-ref-losas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-4); }
@media (max-width: 1100px) { .fab-ref-losas { grid-template-columns: minmax(0, 1fr); } }
.fab-ref-losa { background: var(--sf2); border-radius: var(--radius); padding: var(--sp-4) var(--sp-5); min-width: 0; }
.fab-ref-lh { display: flex; align-items: center; gap: var(--sp-2); margin: 0 0 var(--sp-3); font-size: var(--fs-xs); font-weight: var(--fw-fuerte); letter-spacing: .06em; text-transform: uppercase; color: var(--tx-3); }
.fab-ref-lh svg { height: 12px; width: auto; }
.fab-ref-losa dl { margin: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--sp-2) var(--sp-4); font-size: var(--fs-sm); }
.fab-ref-losa dt { color: var(--tx-2); }
.fab-ref-losa dd { margin: 0; font-weight: var(--fw-dato); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.fab-ref-losa dd small { font-weight: var(--fw-body); color: var(--tx-2); }
.fab-ref-falta { color: var(--estado-urgente-ink); font-weight: var(--fw-dato); }
.fab-ref-papel { margin: 0; color: var(--tx-2); font-size: var(--fs-sm); }
.bx-ocupado { opacity: .8; cursor: progress; }
.fab-k-card--oro { box-shadow: inset 0 0 0 2px var(--accent); border-color: transparent; }
.fab-k-pago { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--sp-5); }
.fab-k-pago-dl { margin: 0; display: grid; grid-template-columns: auto minmax(0,1fr); gap: var(--sp-2) var(--sp-4); font-size: var(--fs-sm); align-content: start; }
.fab-k-pago-dl dt { color: var(--tx-2); }
.fab-k-pago-dl dd { margin: 0; font-weight: var(--fw-dato); }
.fab-k-pago-tot { text-align: right; flex: none; }
.fab-k-pago-tot b { display: block; font-size: var(--fs-2xl); font-weight: var(--fw-black); letter-spacing: -.02em; line-height: 1; font-variant-numeric: tabular-nums; color: var(--tx); }
.fab-k-pago-tot span { display: block; font-size: 12px; color: var(--tx-3); margin-top: 6px; }
.fab-k-transp { display: flex; align-items: center; gap: var(--sp-3); margin-top: var(--sp-3); font-size: var(--fs-sm); font-weight: var(--fw-dato); }
.fab-k-transp i { color: var(--azul-apple); }
.fab-k-transp span { color: var(--tx-2); font-weight: var(--fw-medium); }
.fab-k-carne-card { padding: 0 !important; background: transparent !important; border: 0 !important; }
.fab-k-carne { cursor: pointer; transition: none; }
.fab-k-carne::after, .fab-k-carne:hover::after { opacity: 0 !important; display: none; }
.fab-k-carne:hover { transform: none; box-shadow: none; }
.fab-k-carne:focus-visible { outline: 3px solid var(--azul-apple); outline-offset: 2px; }
.fab-k-carne-cifras { display: flex; justify-content: space-between; gap: var(--sp-4); margin-top: var(--sp-3); padding-top: var(--sp-3); border-top: 1px solid rgba(35,26,0,.14); }
.fab-k-carne-cifras b { display: block; font-size: var(--fs-md); font-weight: var(--fw-fuerte); font-variant-numeric: tabular-nums; color: #231a00; }
.fab-k-carne-cifras span { font-size: 12px; color: rgba(35,26,0,.62); }
.fab-k-carne-der { text-align: right; }
.fab-k-carne-con { display: flex; gap: var(--sp-4); flex-wrap: wrap; margin-top: var(--sp-3); font-size: 13px; font-weight: var(--fw-dato); }
.fab-k-carne-con a { color: #231a00; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.fab-k-nave { background: var(--sf2); border-radius: var(--radius); padding: 12px 14px; margin-bottom: var(--sp-3); }
.fab-k-nave-cab { display: flex; align-items: center; gap: 6px; margin-bottom: 6px; }
.fab-k-nave-cab > i { color: var(--tx-3); font-size: 12px; }
.fab-k-nave-cab small { font-size: 12px; color: var(--tx-3); font-weight: var(--fw-detalle); text-transform: uppercase; letter-spacing: .04em; }
.fab-k-nave-quien { margin-left: auto; font-size: 12px; color: var(--tx-3); }
.fab-k-nave p { margin: 0; font-size: var(--fs-base); line-height: 1.45; color: var(--tx); white-space: pre-wrap; overflow-wrap: anywhere; }
.fab-k-nave-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.fab-nave-chip { display: inline-flex; align-items: center; padding: 3px 9px; border: 1px solid var(--br-2);
  border-radius: 999px; font-size: 12px; font-weight: var(--fw-dato); color: var(--tx-2); white-space: nowrap; }
.fab-nave-chip--ojo { border-color: var(--estado-ojo); color: var(--estado-ojo-ink); }
.fab-k-fac { padding: var(--sp-4); }
.fab-k-fac-cab { display: flex; align-items: center; gap: var(--sp-2); margin-bottom: var(--sp-3); }
.fab-k-fac-cab > i { font-size: var(--fs-md); color: var(--tx-2); }
.fab-k-fac-cab > b { font-size: var(--fs-base); font-weight: var(--fw-fuerte); }
.fab-fac-ok, .fab-fac-no { margin-left: auto; padding: 4px 10px; border-radius: 999px; font-size: 12px;
  font-weight: var(--fw-fuerte); color: #fff; white-space: nowrap; }
.fab-fac-ok { background: var(--estado-bien); }
.fab-fac-no { background: var(--estado-urgente); }
.fab-k-fac-datos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-3); }
.fab-fac-d { min-width: 0; }
.fab-fac-d small { display: block; font-size: 12px; color: var(--tx-3); font-weight: var(--fw-detalle); }
.fab-fac-d b { display: block; font-size: var(--fs-base); font-weight: var(--fw-dato); color: var(--tx);
  overflow-wrap: anywhere; }
.fab-fac-av { display: flex; gap: var(--sp-2); align-items: flex-start; margin-top: var(--sp-3);
  padding: 10px 12px; border-radius: var(--radius); background: var(--sf2); font-size: 13px;
  line-height: 1.45; color: var(--tx); }
.fab-fac-av > i { color: var(--estado-ojo-ink); font-size: var(--fs-base); flex: none; margin-top: 1px; }
.fab-fac-av--mal > i { color: var(--estado-urgente-ink); }
.fab-fac-av b { font-weight: var(--fw-fuerte); }
@media (max-width: 560px) { .fab-k-fac-datos { grid-template-columns: minmax(0, 1fr); } }
.fab-k-doc { padding: 12px 0; }
.fab-k-doc-ico { width: 44px; height: 44px; font-size: var(--fs-md); }
.fab-k-doc-t b { font-size: var(--fs-base); }
.fab-k-doc-t span { font-size: 13px; }
.fab-k-desp { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); width: 100%; padding: 14px 16px; border: 1.5px solid var(--br-2); border-radius: var(--radius); background: var(--sf2); color: var(--tx); font: inherit; text-align: left; cursor: pointer; }
.fab-k-desp span { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.fab-k-desp b { font-weight: var(--fw-fuerte); }
.fab-k-desp small { font-size: 12px; color: var(--tx-2); font-weight: var(--fw-medium); }
.fab-k-desp i { transition: transform var(--dur-fast, .18s) var(--ease-out); }
.fab-k-desp--on i { transform: rotate(180deg); }
.fab-k-desp:active { transform: scale(.985); }
.fab-k-desp-cuerpo { margin-top: var(--sp-3); }
.fab-k-desp-cuerpo { overflow-x: auto; max-width: 100%; }
.bxt .fab-plan-tabla-fricom { color: var(--azul-apple); }
.bxt .fab-plan-tabla-queda { color: var(--estado-bien-ink); }
.fab-k-seg { display: flex; flex-direction: column; gap: var(--sp-4); min-width: 0; }
.fab-k-env-slot:empty { display: none; }
.fab-k-env-slot, .fab-k-crono-slot { min-width: 0; }
.fab-k-env-hero { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; gap: var(--sp-4); align-items: center; }
.fab-k-env-ico { width: 52px; height: 52px; border-radius: calc(var(--radius) - 2px); display: grid; place-items: center; font-size: var(--fs-xl); color: #fff; }
.fab-k-env-ico i { line-height: 1; }
.fab-k-env-ico--bien { background: var(--estado-bien); }
.fab-k-env-ico--azul { background: var(--azul-apple); }
.fab-k-env-ico--mal  { background: var(--estado-urgente); }
.fab-k-env-ico--sin  { background: var(--sf2); color: var(--tx-2); }
.fab-k-env-txt { min-width: 0; }
.fab-k-env-t { font-size: var(--fs-2xl); font-weight: var(--fw-fuerte); letter-spacing: -.02em; line-height: 1.1; color: var(--tx); }
.fab-k-env-t--bien { color: var(--estado-bien-ink); }
.fab-k-env-t--azul { color: var(--azul-apple); }
.fab-k-env-t--mal  { color: var(--estado-urgente-ink); }
.fab-k-env-t--sin  { color: var(--tx); }   
.fab-k-env-cuando { font-size: var(--fs-md); font-weight: var(--fw-dato); margin-top: 4px; }
.fab-k-env-ctx { font-size: var(--fs-sm); color: var(--tx-2); margin-top: 2px; }
.fab-k-env-b { display: inline-flex; align-items: center; gap: var(--sp-2); min-height: 44px; padding: 0 var(--sp-4); border: 1.5px solid var(--br-2);
  border-radius: 12px; background: var(--sf); color: var(--tx); font: inherit; font-weight: var(--fw-dato); white-space: nowrap; cursor: pointer; }
.fab-k-env-b:active { transform: scale(.97); }
.fab-k-env-b:disabled { opacity: .6; cursor: default; }
@media (hover: hover) { .fab-k-env-b:hover { background: var(--sf2); } }
.fab-k-env-llamar { display: flex; align-items: center; justify-content: center; gap: var(--sp-3); margin-top: var(--sp-4); text-decoration: none;
  background: var(--estado-urgente); color: #fff; box-shadow: 0 3px 0 color-mix(in srgb, var(--estado-urgente) 72%, #000); }
.fab-k-env-firma { display: block; max-width: 100%; margin-top: var(--sp-3); border-radius: var(--radius-sm); border: 1.5px solid var(--br); }
.fab-k-env-nota { margin-top: var(--sp-3); font-size: var(--fs-sm); color: var(--tx-3); }
.fab-k-env-pie { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); margin-top: var(--sp-4); padding-top: var(--sp-3);
  border-top: 1.5px solid var(--br); font-size: var(--fs-sm); color: var(--tx-3); }
.fab-k-env-seur { color: var(--marca-seur); font-weight: var(--fw-black); }
.fab-k-env-otra { background: none; border: 0; padding: 6px 0; font: inherit; font-weight: var(--fw-fuerte); color: var(--azul-apple); cursor: pointer; white-space: nowrap; }
.fab-crono-ev--seur > i { background: var(--marca-seur); }
.fab-crono-ev--bien > i { background: var(--estado-bien); }
.fab-crono-seur { font-size: 12px; font-weight: var(--fw-black); color: var(--marca-seur); letter-spacing: .02em; }
.fab-ref-libro { min-width: 0; overflow-x: auto; }   
.fab-k-srv-l2 { padding: var(--sp-5) 4px; }   
.fab-k-srv-l2 + .fab-k-srv-l2 { border-top: 1px solid var(--br); }
.fab-k-srv-l2--off .fab-k-pi { opacity: .55; }
.fab-k-srv-ficha { display: grid; grid-template-columns: 60px minmax(0,1fr) auto; gap: var(--sp-4); align-items: center; }
.fab-k-srv-ficha .fab-k-pi b { font-size: var(--fs-lg); }
.fab-k-srv-ficha .fab-k-pi .sub { font-size: var(--fs-sm); }
.fab-k-srv-cuenta { text-align: right; display: flex; align-items: baseline; justify-content: flex-end; gap: 6px; }
.fab-k-srv-cuenta b { display: inline; font-size: var(--fs-3xl); font-weight: var(--fw-black); letter-spacing: -.02em; font-variant-numeric: tabular-nums; line-height: 1; }   
.fab-k-srv-cuenta b.fab-k-srv-cuenta--ok { color: var(--estado-bien-ink); }
.fab-k-srv-cuenta span { display: inline; font-size: var(--fs-md); color: var(--tx-3); margin-top: 0; }
.fab-k-avance { display: grid; gap: var(--sp-2); margin: 0 0 var(--sp-5); }
.fab-k-avance-t { display: flex; align-items: baseline; gap: var(--sp-2); }
.fab-k-avance-t b { font-size: var(--fs-2xl); font-weight: var(--fw-black); letter-spacing: -.02em; font-variant-numeric: tabular-nums; line-height: 1; }
.fab-k-avance-t span { font-size: var(--fs-md); color: var(--tx-2); font-weight: var(--fw-detalle); }
.fab-k-avance-t em { margin-left: auto; font-style: normal; font-size: var(--fs-md); font-weight: var(--fw-dato); color: var(--tx-3); }
.fab-k-avance--medio .fab-k-avance-t em { color: var(--estado-ojo-ink); }
.fab-k-avance--ok .fab-k-avance-t b, .fab-k-avance--ok .fab-k-avance-t em { color: var(--estado-bien-ink); }
.fab-k-avance-bar { height: var(--bar-h); border-radius: 999px; background: color-mix(in srgb, var(--tx) 10%, transparent); overflow: hidden; }
.fab-k-avance-bar > i { display: block; height: 100%; border-radius: inherit; background: var(--estado-ojo); transition: width .36s var(--ease-out); }
.fab-k-avance--ok .fab-k-avance-bar > i { background: var(--estado-bien); }
.fab-k-lotes { display: grid; grid-template-columns: repeat(auto-fill, minmax(420px, 1fr)); gap: var(--sp-4); margin-top: var(--sp-5); align-items: start; }   
.fab-k-lote { display: grid; grid-template-columns: 14px minmax(0,1fr) auto; gap: var(--sp-4); align-items: center; padding: 18px 22px; min-height: 112px; border-radius: var(--radius); border: 2px solid var(--br); background: var(--sf); }
.fab-k-lote--on { border-color: var(--accent); background: var(--accent-bg); }
.fab-k-lote em { width: 14px; height: 14px; border-radius: 50%; font-style: normal; }
.fab-k-lote-t { min-width: 0; }
.fab-k-lote-t b { display: block; font-size: var(--fs-xl); font-weight: var(--fw-black); font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.fab-k-lote-t > span { display: block; font-size: var(--fs-base); color: var(--tx-2); font-weight: var(--fw-detalle); line-height: 1.35; margin-top: 2px; }
.fab-k-lote-cab { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }   
.fab-k-lote-alm { display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: 6px; background: var(--sf2); font-size: 11px; font-weight: var(--fw-fuerte); letter-spacing: .04em; color: var(--tx-2); vertical-align: 2px; font-style: normal; }
.fab-k-lote--fuera { border-style: dashed; }
.fab-k-lote .fab-k-step button { width: 64px; height: 64px; font-size: var(--fs-2xl); touch-action: manipulation; user-select: none; -webkit-user-select: none; }
.fab-k-lote .fab-k-step b { min-width: 72px; font-size: var(--fs-2xl); }
.fab-k-lote--sitios { align-items: start; align-content: start; }
.fab-k-lote--sitios, .fab-k-lotes > .fab-k-lote:only-child { grid-column: 1 / -1; }
.fab-k-lote-n { text-align: right; display: flex; align-items: baseline; justify-content: flex-end; gap: 6px; }   
.fab-k-lote-n b { display: inline; font-size: var(--fs-2xl); font-weight: var(--fw-black); font-variant-numeric: tabular-nums; line-height: 1; }
.fab-k-lote-n span { display: inline; font-size: var(--fs-sm); color: var(--tx-2); font-weight: var(--fw-detalle); margin-top: 0; }
.fab-k-sitios { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--sp-2); margin-top: var(--sp-2); }
.fab-k-sitio { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); padding: 8px 8px 8px 16px; border-radius: var(--radius-sm); background: var(--sf); border: 1.5px solid var(--br); min-width: 0; }
.fab-k-sitio--on { border-color: var(--accent); }
.fab-k-sitio-t { min-width: 0; }
.fab-k-sitio-t b { display: block; font-size: var(--fs-md); font-weight: var(--fw-fuerte); font-variant-numeric: tabular-nums; white-space: nowrap; }
.fab-k-sitio-t small { display: block; font-size: var(--fs-sm); color: var(--tx-2); font-weight: var(--fw-detalle); }
.fab-k-lote .fab-k-sitio .fab-k-step button { width: 52px; height: 52px; font-size: var(--fs-xl); }
.fab-k-lote .fab-k-sitio .fab-k-step b { min-width: 56px; font-size: var(--fs-xl); }
.fab-k-losas:not(.fab-k-losas--alm) { grid-template-columns: repeat(auto-fit, minmax(168px, 1fr)); }
.fab-k-losas.fab-k-losas--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fab-k-losas.fab-k-losas--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fab-k-sub { margin-top: var(--sp-4); padding-top: var(--sp-4); border-top: 1px solid var(--br); }
.fab-k-sub-t { font-size: var(--fs-base); font-weight: var(--fw-fuerte); color: var(--tx-2); margin: var(--sp-4) 0 var(--sp-2); }
.fab-k-sub > .fab-k-sub-t:first-child { margin-top: 0; }
.fab-k-p2 { display: flex; flex-direction: column; gap: var(--sp-6); }
.fab-k-p2 > .bx-sep, .fab-k-p2 > .cm-card { margin: 0; }
.fab-k-p2--folio { display: grid; align-items: start; }
.fab-k-p2-izq { display: flex; flex-direction: column; gap: var(--sp-6); min-width: 0; }
.fab-k-p2-izq > .bx-sep, .fab-k-p2-izq > .cm-card, .fab-k-p2--folio > .cm-card { margin: 0; }
.fab-k-p2 .fab-k-dir2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-6); align-items: stretch; }
.fab-k-p2--folio .fab-k-dir2 { grid-template-columns: minmax(0, 1fr); }
.fab-k-p2 .fab-k-sub { margin-top: 0; padding-top: 0; border-top: 0; }
.fab-k-p2 .fab-k-envio-campos { grid-template-columns: minmax(0, 1fr); }   
@media (max-width: 1100px) { .fab-k-p2--folio { grid-template-columns: minmax(0, 1fr); } }
.fab-k-losas--mini .fab-k-losa { min-height: 56px; padding: 10px 14px; }
.fab-k-losas--mini .fab-k-losa > b { font-size: var(--fs-md); }
.fab-k-losas--mini .fab-k-losa > span { font-size: var(--fs-sm); }
.fab-k-peg-folio { zoom: .3; width: 210mm; }
.fab-k-peg-folio .fab-seur-a4p { box-shadow: 0 0 0 1.5px var(--br-2), 0 10px 28px rgba(0, 0, 0, .16); break-after: auto; page-break-after: auto; }
.fab-k-papeles--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fab-k-peg-zona { display: grid; grid-template-columns: minmax(320px, 1fr) auto; gap: var(--sp-5); align-items: start; margin-top: var(--sp-3); }
@media (max-width: 900px) { .fab-k-peg-zona { grid-template-columns: minmax(0, 1fr); } }
.fab-k-peg-form { display: grid; gap: 8px; }
.fab-k-peg-form > .fab-k-sub-t { margin-top: 0; }
.fab-k-peg-par { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }   
.fab-k-peg-guardar { justify-self: start; margin-top: 4px; }
.fab-k-otros .fab-k-peg-zona { grid-template-columns: minmax(300px, 1fr) auto; margin-top: 0; }
.fab-k-peg-izq { display: grid; gap: 8px; min-width: 0; align-content: start; }
.fab-k-peg-izq > .fab-k-sub-t { margin-top: 0; }
.fab-k-transp-chips { flex-wrap: nowrap; margin-bottom: var(--sp-2); }
.fab-k-transp-chip > .i2-logo { flex: none; }
.fab-k-transp-chip > .fab-k-ico { font-size: var(--fs-md); }
.fab-k-otros .fab-k-peg-folio { zoom: .56; }
.fab-k-otros { container-type: inline-size; }
@container (max-width: 800px) {
  .fab-k-otros .fab-k-peg-zona { grid-template-columns: minmax(0, 1fr); }
}
@container (max-width: 470px) {
  .fab-k-otros .fab-k-peg-folio { zoom: .40; }   
}
@media (max-width: 900px) {
  .fab-k-losas.fab-k-losas--3, .fab-k-losas.fab-k-losas--2 { grid-template-columns: repeat(auto-fit, minmax(168px, 1fr)); }
  .fab-k-papeles--4 { grid-template-columns: 1fr; }
}
.fab-k-dir2 { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.4fr); gap: var(--sp-6); }
.fab-k-dir2 .fab-k-dir { font-size: var(--fs-lg); line-height: 1.4; }
.fab-k-dir2 .fab-k-dir b { font-size: var(--fs-2xl); line-height: 1.15; margin-bottom: 6px; }
.fab-k-dir2 .fab-k-dir-sub { font-size: var(--fs-base); }
@media (max-width: 760px) { .fab-k-dir2 { grid-template-columns: minmax(0,1fr); } }
.fab-k-dirs { display: flex; flex-direction: column; gap: var(--sp-2); }
.fab-k-dirop { display: flex; align-items: center; gap: var(--sp-3); width: 100%; text-align: left; padding: 12px 14px; border-radius: var(--radius); border: 2px solid var(--br); background: var(--sf); color: var(--tx); font: inherit; cursor: pointer; }
.fab-k-dirop i { font-size: 18px; color: var(--tx-3); flex: none; }
.fab-k-dirop--on { border-color: var(--accent); background: var(--accent-bg); }
.fab-k-dirop--on i { color: var(--gold-ink); }
.fab-k-dirop span { min-width: 0; }
.fab-k-dirop b { display: block; font-size: var(--fs-base); font-weight: var(--fw-fuerte); line-height: 1.3; }
.fab-k-dirop small { display: block; font-size: 12px; color: var(--tx-2); margin-top: 2px; }
.fab-k-dirop--otra { border-style: dashed; }
.fab-k-dirop:active { transform: scale(.99); }
.fab-k-res4--oro { background: var(--accent) !important; }
.fab-k-res4-linea { display: inline-flex; align-items: baseline; justify-content: center; gap: 8px; flex-wrap: wrap; }
.fab-k-res4-linea > b { font-size: var(--fs-2xl); font-weight: var(--fw-black); font-variant-numeric: tabular-nums; letter-spacing: -.02em; white-space: nowrap; }
.fab-k-res4-linea > span { font-size: var(--fs-sm); font-weight: var(--fw-detalle); }
.fab-k-res4-linea > span::before { content: '· '; }
.fab-k-res4--oro b, .fab-k-res4--oro span { color: #16161a !important; }
.fab-k-conf3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-6); align-items: start; }
.fab-pedm:has(.fab-k-conf2) { width: min(1920px, 98vw); max-height: 96vh; }
.fab-pedm:has(.fab-k-p2--folio) { width: min(1560px, 96vw); max-height: 96vh; }
.fab-k-conf2, .fab-k-p2--folio { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 720px); gap: var(--sp-6); align-items: start; }
.fab-k-conf2 .fab-k-previa-hoja, .fab-k-p2--folio .fab-k-previa-hoja { zoom: .8; }   
@media (max-width: 1500px) { .fab-k-conf2, .fab-k-p2--folio { grid-template-columns: minmax(0, 1fr) minmax(0, 560px); }
  .fab-k-conf2 .fab-k-previa-hoja, .fab-k-p2--folio .fab-k-previa-hoja { zoom: .62; } }
.fab-k-conf2 .cm-card, .fab-k-p2--folio .cm-card { margin: 0; }
.fab-k-conf-izq { display: flex; flex-direction: column; gap: var(--sp-6); min-width: 0; }
.fab-k-conf-par { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-6); align-items: stretch; }
@media (max-width: 760px) { .fab-k-conf-par { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 1100px) { .fab-k-conf2 { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 900px) { .fab-k-conf3 { grid-template-columns: minmax(0, 1fr); } }
.fab-k-conf3 .cm-card { margin: 0; }
.fab-k-sale { padding: 8px 0; }
.fab-k-sale + .fab-k-sale { border-top: 1px solid var(--br); }
.fab-k-sale b { display: block; font-weight: var(--fw-fuerte); }
.fab-k-sale span { font-size: 13px; color: var(--tx-2); font-variant-numeric: tabular-nums; }
.fab-k-resumen .fab-k-sale { padding: 8px 0; }
.fab-k-res-filas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--sp-5); }
.fab-k-res-filas .fab-k-sale + .fab-k-sale { border-top: 0; }
.fab-k-res-filas .fab-k-sale:nth-child(n + 3) { border-top: 1px solid var(--br); }
.fab-k-sale--oro b { color: var(--gold-ink); font-size: var(--fs-xl); font-variant-numeric: tabular-nums; }
.fab-k-sale .seur-logo { font-size: var(--fs-sm); } .fab-k-sale .i2-logo { font-size: var(--fs-base); display: inline-flex; white-space: nowrap; }   
.fab-k-vivo { display: inline-flex; align-items: center; gap: 6px; margin-left: 8px; font-size: 11px; font-weight: var(--fw-fuerte); letter-spacing: .05em; text-transform: uppercase; color: var(--estado-bien-ink); vertical-align: middle; }
.fab-k-vivo::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--estado-bien); box-shadow: 0 0 0 3px color-mix(in srgb, var(--estado-bien) 20%, transparent); }
.fab-k-stk .mov s { color: var(--tx-3); margin-right: 4px; }
.fab-k-cambio { display: flex; align-items: flex-start; gap: 8px; margin-top: var(--sp-3); padding: 10px 12px; border-radius: 10px; background: var(--sf2); font-size: 13px; font-weight: var(--fw-dato); color: var(--tx); }
.fab-k-cambio i { color: var(--estado-ojo-ink); margin-top: 2px; }
.fab-k-factura-a { margin-top: var(--sp-3); padding-top: var(--sp-3); border-top: 1px solid var(--br); font-size: 13px; color: var(--tx-2); }
.fab-k-factura-a small { display: block; font-size: 11px; font-weight: var(--fw-fuerte); letter-spacing: .06em; text-transform: uppercase; color: var(--tx-3); margin-bottom: 2px; }
.fab-k-previa { display: flex; justify-content: center; padding: var(--sp-2) 0; }
.fab-k-previa-hoja { width: 840px; max-width: none; zoom: .6; padding: 0; border-radius: 6px; box-shadow: 0 0 0 1px var(--br); overflow: hidden; }
.fab-k-saldran { display: flex; flex-wrap: wrap; gap: var(--sp-2) var(--sp-5); font-size: 13px; font-weight: var(--fw-dato); color: var(--tx-2); }
.fab-k-saldran span { display: inline-flex; align-items: center; gap: 6px; }
.fab-k-saldran i { color: var(--tx-3); }
.fab-nue--pasos { width: min(94vw, 1000px); max-width: min(94vw, 1000px); }
.fab-nue-pasos { margin: var(--sp-4) var(--sp-5) 0; }
.fab-nue-buscar { position: relative; margin-bottom: var(--sp-4); }
.fab-nue-buscar > i { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--tx-3); font-size: var(--fs-md); }
.fab-nue-busca { padding: 16px 16px 16px 48px; font-size: var(--fs-lg); border-radius: var(--radius); }
.fab-nue-nuevo { margin-bottom: var(--sp-4); }
.fab-nue-tjs { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--sp-3); }
.fab-nue-tj { text-align: left; }
.fab-nue-tj--nuevo { border-style: dashed; }
.fab-nue-imp { color: var(--estado-urgente-ink); font-weight: var(--fw-dato); font-style: normal; }
.fab-nue-tj--nuevo > b i { color: var(--gold-ink); margin-right: 4px; }
.fab-nue-mas-cli { grid-column: 1 / -1; text-align: center; }
.fab-nue-lins { display: flex; flex-direction: column; gap: var(--sp-3); margin-bottom: var(--sp-5); }
.fab-nue-lin { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto 232px 120px 32px; gap: var(--sp-4); align-items: center; padding: 12px 16px; border-radius: var(--radius); border: 1px solid var(--br); background: var(--sf); }
.fab-nue-lin--on { border-color: var(--accent); }
.fab-nue-lin { border: 1.5px solid var(--br-2); border-radius: var(--radius-sm); background: var(--sf); }
.fab-nue-h--fila { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); }
.fab-nue-add { min-height: 44px; }
.fab-nue-vacio { width: 100%; display: grid; justify-items: center; gap: var(--sp-2); padding: var(--sp-8) var(--sp-4); border-style: dashed; margin-bottom: var(--sp-5); }
.fab-nue-vacio i { font-size: var(--fs-3xl); color: var(--gold-ink); }
.fab-nue-vacio b { font-size: var(--fs-xl); font-weight: var(--fw-fuerte); }
.fab-nue-vacio span { color: var(--tx-3); font-size: var(--fs-sm); }
.fab-nue-suele { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--sp-3); }
.fab-nue-sug { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: var(--sp-3); text-align: left; padding: 10px 14px; }
.fab-nue-sug .fab-k-foto { width: 48px; height: 48px; }
.fab-nue-sug-t { display: grid; min-width: 0; }
.fab-nue-sug-t b { font-size: var(--fs-md); font-weight: var(--fw-dato); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fab-nue-sug-t span { font-size: var(--fs-sm); color: var(--tx-3); }
.fab-nue-sug > i { color: var(--gold-ink); font-size: var(--fs-lg); }
.fab-nue-picker { display: grid; gap: var(--sp-3); }
.fab-nue-tiles { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: var(--sp-3); margin-top: var(--sp-4); }
.fab-nue-tile { min-height: 150px; }
.fab-nue-losas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-4); align-items: start; }   
.fab-nue-losa { border: 1.5px solid var(--br-2); border-radius: var(--radius-sm); background: var(--sf); padding: var(--sp-4) var(--sp-5); display: grid; gap: var(--sp-3); align-content: start; min-width: 0; }
.fab-nue-losa--ancha { grid-column: 1 / -1; }
.fab-nue-losa-t { margin: 0; display: flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-lg); font-weight: var(--fw-fuerte); }
.fab-nue-losa-t i { color: var(--gold-ink); font-size: var(--fs-md); }
.fab-nue-losa .fab-nue-g { margin-bottom: 0; }
.fab-nue-losa .fab-nue-chips { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.fab-nue-losa .fab-nue-chips .bx-ck-chip { justify-content: flex-start; white-space: nowrap; }
.fab-nue-losa .fab-nue-notas { margin: 0; }
@media (max-width: 900px) { .fab-nue-losas { grid-template-columns: 1fr; } }
.fab-nue-lin .fab-k-foto { width: 56px; height: 56px; }
.fab-nue-lin .fab-k-step button { width: 44px; height: 44px; }
.fab-nue-lin .fab-k-step b { min-width: 44px; font-size: var(--fs-lg); }
.fab-nue-precio { display: grid; grid-template-columns: 96px 1fr; gap: var(--sp-2); align-items: center; margin: 0; }
.fab-nue-precio > span { font-size: 12px; color: var(--tx-3); }
.fab-nue-precio .fab-nue-in.n { padding: 10px; }
.fab-nue-iva { grid-column: 1 / -1; padding: 8px 10px; font-size: var(--fs-sm); }
.fab-nue-precio--sug { display: block; text-align: right; }
.fab-nue-precio--sug b { display: block; font-size: var(--fs-md); font-weight: var(--fw-fuerte); font-variant-numeric: tabular-nums; }
.fab-nue-precio--sug span { color: var(--tx-3); font-size: 12px; }
.fab-nue-imp { text-align: right; }
.fab-nue-imp b { display: block; font-size: var(--fs-lg); font-weight: var(--fw-fuerte); font-variant-numeric: tabular-nums; }
.fab-nue-imp span { font-size: 12px; color: var(--tx-3); }
.fab-nue-chips { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.fab-nue-chips .bx-ck-chip { font-size: var(--fs-base); padding: 10px 14px; }
.fab-nue-total { display: flex; flex-direction: column; }
.fab-nue-total b { font-size: var(--fs-xl); font-weight: var(--fw-black); letter-spacing: -.02em; line-height: 1; font-variant-numeric: tabular-nums; }
.fab-nue-total span { font-size: 12px; color: var(--tx-2); margin-top: 4px; }
.fab-nue-cta { margin: 0; width: auto; padding: 14px 22px; font-size: var(--fs-md); }
.fab-nue-dirs { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: var(--sp-3); }
.fab-nue-dirform { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-3) var(--sp-4); padding: var(--sp-4); border-radius: var(--radius); background: var(--sf2); }
.fab-nue-dirform .fab-nue-c { margin: 0; }
.fab-nue-dirform-pie { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: var(--sp-2); }
@media (max-width: 900px) { .fab-nue-lin { grid-template-columns: 56px minmax(0, 1fr) auto; } .fab-nue-precio, .fab-nue-imp { grid-column: 2 / -1; } .fab-nue-dirform { grid-template-columns: minmax(0, 1fr); } }
.tb-vistas { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-2); }
.tb-vista { display: flex; align-items: center; justify-content: center; gap: var(--sp-2); min-height: 72px; border: 0; border-radius: var(--radius-sm); background: var(--sf3); color: var(--tx-2); font-family: var(--font); font-size: var(--fs-xl); font-weight: var(--fw-fuerte); cursor: pointer; }
.tb-vista.on { background: var(--ink); color: #fff; }
.tb-vista-n { display: inline-grid; place-items: center; min-width: 26px; height: 26px; padding: 0 8px; border-radius: 999px; background: var(--accent); color: var(--ink); font-size: var(--fs-sm); }
.tb-lista--sueltas { gap: var(--sp-3); }
.tb-lista--sueltas { display: grid; grid-template-columns: calc(56px + var(--sp-4)) minmax(0, 1fr) auto auto auto; }
.tb-suelta { display: grid; grid-column: 1 / -1; grid-template-columns: subgrid; column-gap: var(--sp-4); align-items: center; padding: var(--sp-3) var(--sp-4); border-radius: var(--radius-sm); background: var(--sf3); }
.tb-suelta--ojo { box-shadow: inset 0 0 0 3px var(--estado-ojo); }
.tb-suelta-foto { width: 56px; height: 56px; }
.tb-suelta-nom { min-width: 0; }
.tb-suelta-nom b { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; font-size: var(--fs-xl); font-weight: var(--fw-black); letter-spacing: -.01em; }
.tb-suelta-nom > span { display: block; font-size: var(--fs-base); color: var(--tx-2); font-weight: var(--fw-detalle); margin-top: 2px; }
.tb-suelta-ojo { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-sm); font-weight: var(--fw-fuerte); color: var(--estado-ojo-ink); font-style: normal; white-space: nowrap; }
.tb-suelta-ojo::before { content: ''; width: 9px; height: 9px; border-radius: 50%; background: var(--estado-ojo); }
.tb-suelta-cif { display: flex; flex-direction: column; gap: 2px; margin-top: var(--sp-2); font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx-2); }
.tb-suelta-cif span::before { content: ''; display: inline-block; width: 9px; height: 9px; border-radius: 2px; margin-right: 6px; vertical-align: 1px; background: var(--sf); }
.tb-suelta-cif .l::before { background: var(--azul-apple); }
.tb-suelta-cif .a::before { background: var(--estado-ojo); }
.tb-suelta-cif .r::before { background: var(--tx-3); }
.tb-mp { display: grid; grid-template-columns: repeat(4, 9px); gap: 2px; padding: 3px; background: var(--sf); border-radius: 4px; border-bottom: 3px solid var(--tx-3); }
.tb-mp i { display: block; height: 8px; border-radius: 1px; background: var(--sf3); }
.tb-mp i.l { background: var(--azul-apple); }
.tb-mp i.a { background: var(--estado-ojo); }
.tb-suelta-falta { text-align: center; min-width: 96px; }
.tb-suelta-falta b { display: block; font-size: var(--fs-3xl); font-weight: var(--fw-black); letter-spacing: -.02em; line-height: 1; font-variant-numeric: tabular-nums; }
.tb-suelta-falta span { display: block; font-size: var(--fs-sm); color: var(--tx-2); font-weight: var(--fw-detalle); margin-top: 4px; }
.tb-suelta-falta--ok b { color: var(--estado-bien-ink); }
.tb-suelta-acc { min-width: 200px; display: flex; justify-content: flex-end; }
.tb-accion--sm { min-height: 56px; font-size: var(--fs-md); padding: 0 var(--sp-4); }
.tb-accion--azul { background: var(--azul-apple); color: #fff; }
.tb-accion--verde { background: var(--estado-bien); color: #fff; }
.fab-pal-dests { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-2); width: 100%; }
.fab-pal-dest { text-align: left; padding: 12px 14px; }
.fab-pal-dest > b { font-size: var(--fs-base); }
.fab-pal-dest > span { font-size: var(--fs-sm); }
.fab-pal-dest.on { border-color: var(--accent); background: var(--accent-bg); }
.fab-decm-f--col { flex-direction: column; align-items: flex-start; gap: var(--sp-2); }
.tb-completar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-3); align-items: stretch; }
.tb-completar > .tb-completar-suma, .tb-completar > .tb-completar-btns { grid-column: 1 / -1; }
.tb-ofrecer { display: flex; flex-direction: column; gap: var(--sp-3); }
@media (max-width: 700px) { .tb-completar { grid-template-columns: minmax(0, 1fr); } }
.tb-completar-losa { padding: var(--sp-4) var(--sp-5); border-radius: var(--radius-sm); background: var(--sf3); box-shadow: inset 0 0 0 2px var(--accent); }
.tb-completar-losa small { display: block; font-size: var(--fs-sm); font-weight: var(--fw-fuerte); letter-spacing: .06em; text-transform: uppercase; color: var(--tx-3); margin-bottom: var(--sp-1); }
.tb-completar-losa b { display: block; font-size: var(--fs-3xl); font-weight: var(--fw-black); letter-spacing: -.02em; line-height: 1.1; font-variant-numeric: tabular-nums; }
.tb-completar-losa span { display: block; font-size: var(--fs-base); color: var(--tx-2); font-weight: var(--fw-detalle); margin-top: var(--sp-1); }
.tb-completar-step { display: inline-flex; align-items: center; border-radius: var(--radius-sm); background: var(--sf); overflow: hidden; margin: var(--sp-1) 0; }
.tb-completar-step button { width: 64px; height: 64px; border: 0; background: transparent; font-family: var(--font); font-size: var(--fs-2xl); font-weight: var(--fw-fuerte); color: var(--tx-2); cursor: pointer; touch-action: manipulation; }
.tb-completar-step b { min-width: 84px; text-align: center; font-size: var(--fs-3xl); font-weight: var(--fw-black); font-variant-numeric: tabular-nums; }
.tb-completar-suma { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4); padding: var(--sp-4) var(--sp-5); border-radius: var(--radius-sm); background: var(--ink); color: #fff; }
.tb-completar-suma b { font-size: var(--fs-2xl); font-weight: var(--fw-black); font-variant-numeric: tabular-nums; }
.tb-completar-suma span { font-size: var(--fs-base); opacity: .8; font-weight: var(--fw-detalle); text-align: right; }
.tb-completar-suma--ok { background: var(--estado-bien); }
.tb-completar-btns { display: grid; grid-template-columns: 1fr 1.6fr; gap: var(--sp-3); }
.tb-completar-btns .tb-accion[disabled] { opacity: .45; cursor: default; }
.tb-completar--kiosco { grid-template-columns: minmax(0, 260px) minmax(0, 1fr); grid-template-rows: 1fr auto; align-items: start; }
.tb-completar--kiosco > .tb-completar-palet { grid-column: 1; grid-row: 1 / 3; align-self: stretch; }
.tb-completar--kiosco > .tb-completar-col { grid-column: 2; grid-row: 1; }
.tb-completar--kiosco > .tb-completar-btns { grid-column: 2; grid-row: 2; }
.tb-completar-palet { display: grid; justify-items: center; align-content: center; gap: var(--sp-3); padding: var(--sp-4); border-radius: var(--radius-sm); background: var(--sf3); }
.tb-completar-col { display: grid; gap: var(--sp-3); align-content: start; }
.tb-completar-col--2 { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); align-items: stretch; }
.tb-mp--xl { grid-template-columns: repeat(4, clamp(22px, 6cqh, 46px)); gap: clamp(2px, .6cqh, 5px); padding: clamp(4px, 1cqh, 8px); border-radius: 8px; border-bottom-width: clamp(4px, 1cqh, 8px); }
.tb-mp--xl i { height: clamp(10px, 2.2cqh, 30px); border-radius: 3px; }
.tb-mp i.n { background: var(--estado-bien); }
.tb-completar-cuenta { text-align: center; }
.tb-completar-cuenta b { display: block; font-size: var(--fs-4xl); font-weight: var(--fw-black); line-height: 1; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.tb-completar-cuenta span { display: block; font-size: var(--fs-base); color: var(--tx-2); font-weight: var(--fw-detalle); margin-top: 4px; }
.tb-completar-cuenta em { display: block; font-size: var(--fs-sm); color: var(--tx-3); font-style: normal; margin-top: 2px; }
.tb-completar-cuenta.ok b { color: var(--estado-bien-ink); }
.tb-completar-losa--flojo { box-shadow: none; }
.tb-completar-losa--pide small { color: var(--tx-2); }
.tb-completar-step--xl button { width: clamp(56px, 11cqh, 88px); height: clamp(56px, 11cqh, 88px); font-size: var(--fs-3xl); }
.tb-completar-step--xl b { min-width: clamp(84px, 15cqh, 120px); font-size: var(--fs-4xl); }
.tb-completar-palet { padding: clamp(8px, 1.6cqh, 16px); gap: clamp(6px, 1.6cqh, 12px); }
.tb-completar--kiosco .tb-completar-losa { padding: clamp(8px, 2cqh, 20px) var(--sp-5); }
.tb-completar-cuenta b { font-size: clamp(28px, 7cqh, 44px); }
.fab-adop-chip { display: inline-flex; align-items: center; gap: 5px; padding: 2px 8px; border-radius: 999px; background: var(--estado-ojo); color: var(--ink); font-size: var(--fs-xs); font-weight: var(--fw-fuerte); white-space: nowrap; }
.fab-adop-chip i { font-size: .85em; }
.tb-medias { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4); padding: var(--sp-3) var(--sp-4); border-radius: var(--radius-sm); background: var(--sf3); box-shadow: inset 0 0 0 3px var(--estado-ojo); }
.tb-medias-q { min-width: 0; }
.tb-medias-q b { display: block; font-size: var(--fs-lg); font-weight: var(--fw-black); letter-spacing: -.01em; }
.tb-medias-q span { display: block; font-size: var(--fs-base); color: var(--tx-2); font-weight: var(--fw-detalle); margin-top: 2px; }
.tb-medias-cta, .tb-suelta-cta { min-height: 64px; font-size: var(--fs-lg); padding: 0 var(--sp-5); white-space: nowrap; }
@media (max-width: 700px) { .tb-completar--kiosco { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
  .tb-completar--kiosco > .tb-completar-palet, .tb-completar--kiosco > .tb-completar-col, .tb-completar--kiosco > .tb-completar-btns { grid-column: 1; grid-row: auto; } }
@container (max-height: 640px) { .tb-suelta { padding: var(--sp-2) var(--sp-3); } .tb-suelta-foto { width: 44px; height: 44px; } .tb-completar-step button { width: 52px; height: 52px; }
  .tb-medias-cta, .tb-suelta-cta { min-height: 54px; } }
.fab-k-p3d-caja { min-width: 0; }
.fab-k-p3d-cab { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); }
.fab-k-p3d-ojo { flex: none; }
.fab-k-saldran-caja .fab-k-saldran { margin-top: var(--sp-2); }
.fab-k-p3d-cab .fab-h { margin: 0; }
.fab-k-p3d-minis { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin-top: var(--sp-3); }
.fab-k-p3d-mini { margin: 0; width: 84px; }
.fab-k-p3d-mini .fab-k-p3d-cv { width: 84px; max-width: none; pointer-events: none; cursor: default; }
.fab-k-p3d-mini figcaption { text-align: center; font-size: var(--fs-xs); color: var(--tx-2); font-weight: var(--fw-detalle); margin-top: 2px; font-variant-numeric: tabular-nums; }
.fab-k-p3d-mini figcaption b { color: var(--tx); font-weight: var(--fw-black); }
.fab-k-p3d-velo { position: fixed; inset: 0; z-index: 100010; background: var(--scrim); display: grid; place-items: center; padding: 2vh 2vw; opacity: 0; transition: opacity .18s var(--ease-out); }
.fab-k-p3d-velo.abierto { opacity: 1; }
.fab-k-p3d-grande { background: var(--sf); border-radius: var(--radius); box-shadow: 0 24px 70px rgba(0,0,0,.32); width: min(1500px, 96vw); max-height: 94vh; overflow: auto;
  padding: var(--sp-5) var(--sp-6); display: flex; flex-direction: column; gap: var(--sp-4); }
.fab-k-p3d-gcab { display: flex; align-items: center; gap: var(--sp-4); }
.fab-k-p3d-gcab .fab-h { margin: 0; flex: none; }
.fab-k-p3d-gcab .fab-k-p3d-leg { flex: 1; }
.fab-k-p3d-grande .fab-k-p3d-palets { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.fab-k-p3d-orden { display: flex; justify-content: center; gap: var(--sp-3); margin-top: 4px; font-size: var(--fs-sm); color: var(--tx-2); font-variant-numeric: tabular-nums; }
.fab-k-p3d-orden span { display: inline-flex; align-items: center; gap: 5px; }
.fab-k-p3d-orden i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
.fab-k-p3d-orden b { color: var(--tx); font-weight: var(--fw-dato); }
.fab-k-p3d-palets { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: var(--sp-3); }
.fab-k-p3d-uno { margin: 0; max-width: 360px; }
.fab-k-p3d-uno figcaption { text-align: center; font-size: var(--fs-sm); color: var(--tx-2); font-weight: var(--fw-detalle); margin-top: 6px; font-variant-numeric: tabular-nums; }
.fab-k-p3d-uno figcaption b { color: var(--tx); font-weight: var(--fw-black); font-size: var(--fs-md); }
.fab-k-p3d-cv { display: block; width: 100%; max-width: 360px; height: auto; border-radius: var(--radius); background: var(--sf2); touch-action: none; cursor: grab; }
.fab-k-p3d-cv:active { cursor: grabbing; }
.fab-k-p3d-lado { display: flex; flex-direction: column; gap: var(--sp-3); }
.fab-k-p3d-n b { display: block; font-size: var(--fs-3xl); font-weight: var(--fw-black); letter-spacing: -.02em; line-height: 1; font-variant-numeric: tabular-nums; }
.fab-k-p3d-n span { font-size: var(--fs-sm); color: var(--tx-2); font-weight: var(--fw-detalle); }
.fab-k-p3d-leg { display: flex; flex-direction: column; gap: 6px; }
.fab-k-p3d-lote { display: inline-flex; align-items: center; gap: 8px; font-size: var(--fs-sm); font-weight: var(--fw-dato); font-variant-numeric: tabular-nums; }
.fab-k-p3d-lote i { width: 14px; height: 14px; border-radius: 4px; flex: none; }
.fab-k-p3d-txt { padding: 12px 14px; border-radius: var(--radius); background: var(--sf2); min-height: 56px; }
.fab-k-p3d-txt b { display: block; font-weight: var(--fw-fuerte); }
.fab-k-p3d-txt span { font-size: var(--fs-sm); color: var(--tx-2); }
.fab-k-p3d-vacio { color: var(--tx-3); font-size: var(--fs-sm); }
.fab-k-p3d-gira { align-self: flex-start; }
.fab-ref-idiomas, .prod-ficha-idiomas { margin-top: var(--sp-2); }
a.bx-ck-chip { text-decoration: none; }
.fab-ref-env { display: grid; gap: var(--sp-3); text-align: left; }
.fab-ref-env-c { display: grid; gap: var(--sp-1); }
.fab-ref-env-c > span { font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-2); }
.fab-ref-env-to, .fab-ref-env-nota { width: 100%; box-sizing: border-box; }
.fab-ref-env-idiomas { margin-top: 0; }
.fab-ref-nota-mal { color: var(--estado-ojo-ink); font-weight: var(--fw-detalle); }
.fab-pm { padding: var(--sp-3) var(--sp-3) 0; display: block; position: relative; overflow: visible; }   
.fab-pm > * + * { margin-top: var(--sp-3); }
.fab-pm-cinta { display: flex; align-items: center; gap: var(--sp-2); }
.fab-pm-dia { font-size: var(--fs-base); font-weight: var(--fw-fuerte); }
.fab-pm-cinta .bx-est { margin-left: auto; }
.fab-pm-jor { background: var(--sf); border: var(--trazo-modulo); border-radius: var(--radius-sm);
  padding: 9px 10px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.fab-pm-tur { min-width: 0; display: grid; gap: 4px; align-content: start; }
.fab-pm-tur-t { font-size: var(--fs-xs); font-weight: var(--fw-detalle); color: var(--tx-2);
  display: flex; align-items: center; gap: 4px; white-space: nowrap; }
.fab-pm-tur-t i { font-size: 12px; color: var(--tx-3); }
.fab-pm-tur-n { font-size: var(--fs-base); font-weight: var(--fw-fuerte); line-height: 1; font-variant-numeric: tabular-nums; }
.fab-pm-tur-n small { font-size: var(--fs-xs); font-weight: var(--fw-detalle); color: var(--tx-3); }
.fab-pm-tur-b { height: 7px; border-radius: 99px; background: var(--sf3); overflow: hidden; }
.fab-pm-tur-b > i { display: block; height: 100%; }
.fab-pm-tur-b--ok { background: var(--estado-bien); }
.fab-pm-tur-b--lleno { background: var(--estado-ojo); }
.fab-pm-lista { display: grid; gap: 7px; }
.fab-pm-pan { width: 100%; text-align: left; font: inherit; color: inherit;
  background: var(--sf); border: var(--trazo-modulo); border-radius: var(--radius-sm); padding: 9px 11px;
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2px 10px; }
.fab-pm-pan:active { transform: scale(.985); }
.fab-pm-n { grid-area: 1 / 1; font-size: var(--fs-base); font-weight: var(--fw-fuerte); letter-spacing: -.01em; line-height: 1.15; }
.fab-pm-sub { grid-area: 2 / 1; font-size: var(--fs-xs); color: var(--tx-2); display: flex; gap: 8px; flex-wrap: wrap; }
.fab-pm-sub b { color: var(--tx); font-weight: var(--fw-detalle); font-variant-numeric: tabular-nums; }
.fab-pm-rep { grid-area: 3 / 1; display: flex; gap: 5px; margin-top: 5px; }
.fab-pm-rep:empty { display: none; }
.fab-pm-rep > i { font-style: normal; font-size: 12px; font-weight: var(--fw-fuerte); padding: 2px 8px;
  border-radius: var(--radius-pill); background: var(--sf3); color: var(--tx-2); font-variant-numeric: tabular-nums; }
.fab-pm-rep > i.fab-pm-rep--m { background: color-mix(in srgb, var(--accent) 22%, transparent); color: var(--gold-ink); }
.fab-pm-rep > i.fab-pm-rep--t { background: color-mix(in srgb, var(--azul-apple) 13%, transparent); color: var(--azul-apple); }
.fab-pm-rep > i.fab-pm-rep--n { background: color-mix(in srgb, var(--tx) 8%, transparent); color: var(--tx); }
.fab-pm-am { grid-area: 1 / 2 / span 3 / 3; align-self: center; display: flex; align-items: center; gap: 9px; }
.fab-pm-cif { text-align: right; }
.fab-pm-cif b { font-size: var(--fs-2xl); font-weight: var(--fw-black); line-height: 1; font-variant-numeric: tabular-nums; }
.fab-pm-cif small { display: block; font-size: 12px; color: var(--tx-3); font-weight: var(--fw-detalle); }
.fab-pm-go { width: 38px; height: 38px; border-radius: 11px; background: var(--sf2); display: grid; place-items: center;
  color: var(--tx-2); font-size: 14px; flex: none; }
.fab-pm-pan--cero { opacity: .62; }
.fab-pm-pan--cero .fab-pm-cif b { color: var(--tx-3); }
.fab-pm-add { width: 100%; min-height: 56px; font: inherit; font-size: var(--fs-base); font-weight: var(--fw-fuerte);
  color: var(--tx-2); background: var(--sf); border: 1.2px dashed color-mix(in srgb, var(--tx) 26%, transparent);
  border-radius: var(--radius-sm); padding: 9px 11px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.fab-pm-add .fab-pm-go { background: var(--accent); color: #231a00; font-size: 16px; }
.fab-pm-add:active { transform: scale(.985); }
#content:has(#fab-pm) { overflow: visible; }
.fab-pm-pie { position: sticky; bottom: calc(var(--mv-tab-h) + env(safe-area-inset-bottom, 0px)); z-index: 3;
  margin: 0 calc(var(--sp-3) * -1); background: var(--sf); border-top: 1px solid var(--br);
  padding: 9px var(--sp-3); display: flex; align-items: center; gap: 10px; }
.fab-pm-pie-r { flex: 1; min-width: 0; }
.fab-pm-pie-r b { display: block; font-size: var(--fs-base); font-weight: var(--fw-fuerte); line-height: 1.2; font-variant-numeric: tabular-nums; }
.fab-pm-pie-r small { font-size: var(--fs-xs); color: var(--tx-2); }
.fab-pm-nocabe { color: var(--estado-urgente-ink); font-weight: var(--fw-detalle); }
.fab-pm-cta { background: var(--accent); color: #231a00; border: 0; border-radius: 14px; padding: 0 18px; height: 48px;
  font: inherit; font-size: var(--fs-base); font-weight: var(--fw-fuerte); display: flex; align-items: center; gap: 8px; }
.fab-pm-cta2 { background: var(--sf2); color: var(--tx); border: 0; border-radius: 14px; width: 48px; height: 48px;
  display: grid; place-items: center; font-size: 16px; font-family: inherit; flex: none; }
.fab-pm-cta:active, .fab-pm-cta2:active { transform: scale(.97); }
.fab-pm-velo { position: fixed; inset: 0; z-index: 100002; background: var(--scrim); display: flex; align-items: flex-end; }
.fab-pm-hoja { width: 100%; background: var(--sf); border-radius: 22px 22px 0 0; padding: 18px 16px calc(26px + env(safe-area-inset-bottom, 0px));
  display: grid; gap: 14px; animation: fabPmSube var(--dur-fast) var(--ease-out); }
@keyframes fabPmSube { from { transform: translateY(16px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .fab-pm-hoja { animation: none; } }
.fab-pm-hoja-t { text-align: center; }
.fab-pm-hoja-t b { display: block; font-size: var(--fs-lg); font-weight: var(--fw-fuerte); }
.fab-pm-hoja-t small { font-size: var(--fs-sm); color: var(--tx-2); }
.fab-pm-ft { display: flex; align-items: center; gap: 12px; }
.fab-pm-ft-et { flex: 1; display: flex; align-items: center; gap: 8px; font-size: var(--fs-base); font-weight: var(--fw-detalle); }
.fab-pm-ft-et i { width: 20px; text-align: center; color: var(--tx-3); }
.fab-pm-stp { display: flex; align-items: center; gap: 10px; }
.fab-pm-stp button { width: 46px; height: 46px; border: 0; border-radius: 13px; background: var(--sf2);
  font: inherit; font-size: var(--fs-xl); font-weight: var(--fw-fuerte); color: var(--tx); display: grid; place-items: center; }
.fab-pm-stp button:active { transform: scale(.97); }
.fab-pm-stp b { min-width: 34px; text-align: center; font-size: var(--fs-2xl); font-weight: var(--fw-black); font-variant-numeric: tabular-nums; }
.fab-pm-cif2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.fab-pm-cif2 span { background: var(--sf2); border-radius: 10px; padding: 8px 11px; font-size: var(--fs-sm); color: var(--tx-2); text-align: center; }
.fab-pm-cif2 b { color: var(--tx); font-weight: var(--fw-fuerte); font-variant-numeric: tabular-nums; }
.fab-pm-hoja-pie { display: flex; gap: 10px; }
.fab-pm-no { flex: none; background: var(--sf); border: 1px solid var(--br); border-radius: 14px; height: 50px; padding: 0 18px;
  font: inherit; font-size: var(--fs-base); font-weight: var(--fw-detalle); color: var(--tx); }
.fab-pm-si { flex: 1; height: 50px; border: 0; border-radius: 14px; background: var(--accent); color: #231a00;
  font: inherit; font-size: var(--fs-base); font-weight: var(--fw-fuerte); }
.fab-pm-no:active, .fab-pm-si:active { transform: scale(.98); }
.fab-pm-hoja .fab-esp-env-t { flex: none; }
.fab-pm-hoja .fab-pe-step { gap: 10px; }
.fab-pm-hoja .fab-pe-b { width: 46px; height: 46px; border-radius: 13px; font-size: var(--fs-xl); }
.fab-pm-hoja .fab-pe-in { width: 52px; height: 46px; font-size: var(--fs-2xl); font-weight: var(--fw-black); }
.fab-pm-jor .fab-esp-cap-mas { font-size: var(--fs-sm); }
.acc-cp .acc-cp-buscar { width: 100%; margin: var(--sp-3) 0 var(--sp-2); }
.acc-cp-lista { display: grid; gap: 6px; max-height: 46vh; overflow-y: auto; padding: 2px; }
.acc-cp-fila { position: relative; display: flex; align-items: center; gap: var(--sp-3); min-height: 56px;
  padding: 10px 12px; border: var(--trazo-modulo); border-radius: var(--radius-sm); background: var(--sf);
  cursor: pointer; transition: background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out); }
.acc-cp-fila input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.acc-cp-fila::before { content: ''; width: 20px; height: 20px; flex: none; border-radius: 6px;
  border: 1.5px solid color-mix(in srgb, var(--tx) 30%, transparent); background: var(--sf); }
.acc-cp-fila:has(input:checked) { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 10%, var(--sf)); }
.acc-cp-fila:has(input:checked)::before { background: var(--accent); border-color: var(--accent);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23231a00' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-size: 16px; background-position: center; background-repeat: no-repeat; }
.acc-cp-fila:active { transform: scale(.995); }
.acc-cp-nom { flex: 1; min-width: 0; display: grid; gap: 2px; }
.acc-cp-nom b { font-size: var(--fs-base); font-weight: var(--fw-fuerte); }
.acc-cp-nom small { font-size: var(--fs-sm); color: var(--tx-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fab-stock-banco { margin-bottom: var(--sp-4); }
.fab-k-banco { display: block; margin-top: var(--sp-3); padding: 10px 14px; border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--estado-ojo) 12%, var(--sf)); color: var(--tx); font-size: var(--fs-base); max-width: 640px; }
.fab-k-banco i { color: var(--estado-ojo-ink); margin-right: 6px; }
.fab-ped-gh { width: 100%; font: inherit; color: inherit; background: transparent; border: 0; text-align: left; cursor: pointer; }
.fab-ped-gh-chev { color: var(--tx-3); font-size: var(--fs-sm); transition: transform var(--dur-fast) var(--ease-out); }
.fab-ped-grupo--plegado .fab-ped-gh-chev { transform: rotate(-90deg); }
.fab-ped-grupo--plegado { padding-bottom: var(--sp-2); }
@media (hover: hover) { .fab-ped-gh:hover .fab-ped-gh-chev { color: var(--tx); } }
#bx-fallos-btn { position: relative; }
.bx-fallos-dot { position: absolute; top: 3px; right: 3px; min-width: 9px; width: 9px; height: 9px;
  padding: 0; display: block; border-radius: 50%; background: var(--estado-urgente);
  font-size: 0; color: transparent; line-height: 0;
  box-shadow: 0 0 0 2px var(--sf); }
.bx-fallos { width: min(680px, 94vw); max-height: 88vh; overflow-y: auto; }
.bx-fallos-campo { display: grid; gap: 6px; margin: var(--sp-4) 0 var(--sp-2); }
.bx-fallos-campo label { font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-2); }
.bx-fallos-tx { width: 100%; min-height: 96px; padding: 12px 14px; font-family: var(--font); font-size: var(--fs-base);
  color: var(--tx); background: var(--sf3); border: 1.5px solid var(--br-2);
  border-radius: var(--radius-sm); resize: vertical; }
.bx-fallos-tx:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-bg); background: var(--sf); }
.bx-fallos-tx::placeholder { color: var(--tx-3); }
.bx-fallos-donde { margin: 0 0 var(--sp-3); font-size: var(--fs-sm); color: var(--tx-2); }
.bx-fallos-donde i { color: var(--azul-apple); margin-right: 4px; }
.bx-fallos-pie { margin-bottom: var(--sp-4); }
.bx-fallos-lista { display: grid; gap: var(--sp-2); border-top: 1px solid var(--br); padding-top: var(--sp-4); }
.bx-fallos-h { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); margin-bottom: 2px; }
.bx-fallos-h small { font-size: var(--fs-sm); color: var(--tx-3); }
.bx-fallo { display: grid; gap: 6px; padding: 12px 14px; border: 1.5px solid var(--br-2);
  border-radius: var(--radius-sm); background: var(--sf); }
.bx-fallo--ok { opacity: .62; }
.bx-fallo-cab { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); flex-wrap: wrap; }
.bx-fallo-cab small { font-size: var(--fs-sm); color: var(--tx-3); }
.bx-fallo-tx { margin: 0; font-size: var(--fs-base); color: var(--tx); font-weight: var(--fw-medium); }
.bx-fallo-donde { font-size: var(--fs-sm); color: var(--tx-3); }
.bx-fallo-nota { margin: 0; font-size: var(--fs-sm); color: var(--tx-2); }
.bx-fallo-acc { display: flex; gap: var(--sp-2); flex-wrap: wrap; margin-top: 2px; }
.fab-k-mano { flex: none; white-space: nowrap; }
.fab-k-mano--on { background: var(--accent-bg); border-color: var(--accent); color: var(--gold-ink); }
.fab-k-srv-l2--mano .fab-k-srv-ficha { opacity: 1; }
.fab-lote-btn--pal { color: var(--gold-ink); border-color: var(--accent); }
.fab-lote-btn--pal i { margin-right: 4px; }
.fab-fri-chip { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap;
  margin-left: 6px; padding: 2px 9px; border-radius: 999px;
  background: var(--azul-apple); color: #fff;
  font-size: var(--fs-xs); font-weight: var(--fw-dato); font-variant-numeric: tabular-nums; }
.fab-fri-chip i { font-size: 10px; opacity: .9; }
.fab-lote-btn--fri { color: var(--azul-apple); border-color: color-mix(in srgb, var(--azul-apple) 45%, var(--br)); }
.fab-lote-btn--fri i { margin-right: 2px; }
.fab-fri-rot { display: block; margin: var(--sp-3) 0 var(--sp-1); font-size: var(--fs-sm);
  color: var(--tx-2); font-weight: var(--fw-dato); }
.fab-fri-in { height: 48px; font-size: var(--fs-lg); font-weight: var(--fw-fuerte);
  font-variant-numeric: tabular-nums; letter-spacing: .02em; text-transform: uppercase; }
.fab-fri-in:focus-visible { outline: none; border-color: var(--azul-apple);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--azul-apple) 22%, transparent); }
.fab-fri-cuadre i { color: var(--azul-apple); }
.fab-fri-lista { display: flex; flex-wrap: wrap; gap: var(--sp-1); margin-top: var(--sp-2); }
.fab-tr-ruta { display: flex; align-items: center; gap: var(--sp-3); margin-bottom: var(--sp-4);
  font-size: var(--fs-md); font-weight: var(--fw-dato); color: var(--tx-2); flex-wrap: wrap; }
.fab-tr-ruta b { color: var(--tx); font-weight: var(--fw-fuerte); }
.fab-tr-vacia { display: flex; align-items: center; gap: var(--sp-4); flex-wrap: wrap; }
.fab-tr-vacia > i { font-size: var(--fs-2xl); color: var(--tx-3); flex: none; }
.fab-tr-vacia > div { flex: 1 1 260px; min-width: 0; }
.fab-tr-vacia b { display: block; font-size: var(--fs-lg); font-weight: var(--fw-fuerte); }
.fab-tr-vacia span { display: block; color: var(--tx-2); font-size: var(--fs-sm); margin-top: 2px; }
.fab-tr-hoja { margin: var(--sp-4) 0 var(--sp-2); display: flex; justify-content: center; }
.fab-tr-a4 { border: 1px solid var(--br); border-radius: 14px; background: var(--sf);
  padding: var(--sp-4); margin-bottom: var(--sp-3); }
.fab-tr-a4-cab { display: flex; align-items: flex-start; justify-content: space-between;
  gap: var(--sp-4); flex-wrap: wrap; margin-bottom: var(--sp-3); }
.fab-tr-a4-cab b { display: block; font-size: var(--fs-lg); font-weight: var(--fw-fuerte); }
.fab-tr-a4-cab span { color: var(--tx-2); font-size: var(--fs-sm); }
.fab-tr-a4-tot { text-align: right; }
.fab-tr-a4-tot b { font-size: var(--fs-2xl); font-variant-numeric: tabular-nums; }
.fab-tr-sueltas { color: var(--tx-2); }
.fab-tr-pdte { color: var(--tx-3); font-size: var(--fs-xs); }
.fab-tr-pie { display: flex; align-items: center; gap: var(--sp-3); margin-top: var(--sp-4); flex-wrap: wrap; }
.fab-tr-b { padding: 15px 24px; font-size: var(--fs-md); border-radius: 12px; white-space: nowrap; }
.fab-tr-b--der { margin-left: auto; }
@media (max-width: 560px) {
  .fab-tr-b { flex: 1 1 auto; justify-content: center; }
  .fab-tr-b--der { margin-left: 0; }
}
.fab-decm-nota { margin: var(--sp-2) 0 var(--sp-3); font-size: var(--fs-sm); color: var(--tx-2); }
.ficha-ed-heredada { margin: 0 0 var(--sp-4); }
.fab-nave { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:18px; align-items:start; }
.fab-nave-col { display:grid; gap:18px; align-content:start; min-width:0; }
.fab-nave-card { background:var(--sf); border:1px solid var(--br); border-radius:var(--radius);
  padding:20px 22px; display:flex; flex-direction:column; gap:14px; min-width:0; }
.fab-nave-h { margin:0; font-size:var(--fs-sm); font-weight:var(--fw-dato); color:var(--tx-2);
  text-transform:uppercase; letter-spacing:.08em; display:flex; align-items:center; gap:10px; }
.fab-nave-n { margin-left:auto; font-weight:var(--fw-dato); color:var(--tx-3); letter-spacing:0; font-variant-numeric:tabular-nums; }
.fab-nave-ahora { display:grid; grid-template-columns:auto minmax(0,1fr); gap:26px; align-items:center; }
.fab-nave-pv { width:300px; height:300px; border-radius:12px; background:var(--sf2, var(--sf));
  border:1px solid var(--br); display:grid; grid-template-columns:minmax(0,1fr); place-items:center;
  overflow:hidden; padding:16px; color:var(--tx-3); text-align:center; font-size:var(--fs-sm); }
.fab-nave-pv .et-lupa { --et-esc:.42; height:auto; display:grid; place-items:center; }
.fab-nave-pv .et-lupa > * { transform:none; zoom:var(--et-esc); }
.fab-nave-pv .et-lupa--a4 { --et-esc:.22; }
.fab-nave-pv .et-lupa--caja { --et-esc:.34; }
.fab-nave-pv--nada { color:var(--tx-3); font-weight:var(--fw-detalle); }
.fab-nave-tit { font-size:var(--fs-2xl); font-weight:var(--fw-fuerte); line-height:1.05; letter-spacing:-.01em; overflow-wrap:anywhere; }
.fab-nave-ahora--quieto .fab-nave-tit { color:var(--tx-2); font-size:var(--fs-xl); }
.fab-nave-sub { margin-top:10px; font-size:var(--fs-lg); color:var(--tx-2); }
.fab-nave-sub b { color:var(--tx); font-weight:var(--fw-fuerte); }
.fab-nave-desde { margin-top:14px; }
.fab-nave-kpis { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; }
.fab-nave-kpi { display:flex; align-items:center; gap:10px; padding:14px 12px; border-radius:12px; min-width:0;
  background:color-mix(in srgb, var(--tx) 4%, transparent); }
.fab-nave-kpi > i { width:22px; flex:none; text-align:center; color:var(--azul-apple, var(--tx-2)); font-size:var(--fs-base); }
.fab-nave-kpi b { display:block; font-size:var(--fs-xl); font-weight:var(--fw-fuerte); line-height:1; font-variant-numeric:tabular-nums; }
.fab-nave-kpi span { display:block; color:var(--tx-2); font-size:var(--fs-sm); font-weight:var(--fw-detalle); white-space:nowrap; }
.fab-nave-kpi > div { min-width:0; }
.fab-nave-kpi--mal > i, .fab-nave-kpi--mal b { color:var(--estado-urgente-ink); }
.fab-nave-lista { display:flex; flex-direction:column; min-width:0; }
.fab-nave-fila { display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; gap:14px;
  align-items:center; padding:10px 12px; border-radius:10px; font-size:var(--fs-base); }
.fab-nave-que { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:var(--fw-detalle); }
.fab-nave-vacio { margin:0; padding:var(--sp-2) 0; color:var(--tx-2); font-size:var(--fs-base); }
.fab-alm-h-n { margin-left:auto; font-variant-numeric:tabular-nums; color:var(--tx-2); font-weight:var(--fw-dato); }
@media (max-width: 1180px) {
  .fab-nave { grid-template-columns:minmax(0,1fr); }
  .fab-nave-ahora { grid-template-columns:minmax(0,1fr); }
  .fab-nave-pv { width:100%; height:240px; }
}
.tk-tareas { width: 320px; flex-shrink: 0; display: flex; flex-direction: column; min-height: 0;
  background: var(--sf); border: 1px solid var(--br); border-radius: var(--radius);
  padding: var(--sp-3); overflow: hidden; }
.tk-col-t { display: flex; align-items: center; gap: 7px; margin-bottom: var(--sp-3);
  font-size: var(--fs-xs); font-weight: var(--fw-fuerte); letter-spacing: .06em;
  text-transform: uppercase; color: var(--tx-3); }
.tk-col-t i { color: var(--accent); }
.tk-col-n { margin-left: auto; background: var(--sf3); border-radius: 999px; padding: 1px 8px;
  font-size: var(--fs-xs); color: var(--tx-2); font-variant-numeric: tabular-nums; }
.tk-tareas-lista { flex: 1 1 auto; overflow-y: auto; min-height: 0; }
.tk-tareas-add { margin-top: var(--sp-3); width: 100%; justify-content: center; }
.tk-task.es-cita { border-color: color-mix(in srgb, var(--blue-accent) 30%, var(--br)); }
.tk-cita-ico { width: 22px; height: 22px; flex: 0 0 auto; border-radius: 6px; display: grid;
  place-items: center; background: color-mix(in srgb, var(--blue-accent) 14%, transparent);
  color: var(--blue-accent); font-size: var(--fs-xs); }
.tk-sug { border: 1.5px dashed var(--blue-accent); border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--blue-accent) 5%, var(--sf));
  padding: var(--sp-3); margin-bottom: var(--sp-2); }
.tk-sug-t { display: flex; align-items: center; gap: 6px; font-size: var(--fs-2xs);
  font-weight: var(--fw-fuerte); letter-spacing: .05em; text-transform: uppercase;
  color: var(--blue-accent); margin-bottom: 6px; }
.tk-sug b { display: block; font-size: var(--fs-sm); font-weight: var(--fw-dato); line-height: 1.35;
  margin-bottom: 6px; }
.tk-sug-meta { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
.tk-sug-p { background: var(--sf3); border-radius: 999px; padding: 2px 8px; font-size: var(--fs-2xs);
  color: var(--tx-2); font-weight: var(--fw-detalle); }
.tk-sug-p--q { background: var(--accent); color: #1a1500; }
.tk-sug-p--f { background: color-mix(in srgb, var(--blue-accent) 14%, transparent); color: var(--blue-accent); }
.tk-sug-dos { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: var(--sp-3); }
.tk-sug-dos .btn { justify-content: center; }
.tk-wrap--mesa { height: min(620px, max(400px, calc(100dvh - 400px))); min-height: 0; }
.tk-wrap--mesa > .tk-side, .tk-wrap--mesa > .tk-main, .tk-wrap--mesa > .tk-tareas { max-height: 100%; }
.tk-mesacal { margin-top: var(--sp-4); }
.tk-mesacal-h { display: flex; align-items: center; gap: var(--sp-3); flex-wrap: wrap;
  margin-bottom: var(--sp-3); }
.tk-mesacal-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.tk-mesacal-fechas { display: flex; align-items: center; gap: var(--sp-2); margin-left: auto; }
.tk-mesacal-fechas[hidden] { display: none; }
.tk-mesacal-fechas label { display: flex; align-items: center; gap: 6px; font-size: var(--fs-sm);
  color: var(--tx-2); }
.tk-tira { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 7px; }
.tk-tira-dia { background: var(--sf2); border: 1px solid var(--br); border-radius: var(--radius-sm);
  padding: 8px; min-height: 82px; cursor: pointer;
  transition: border-color .15s var(--ease-out), background .15s var(--ease-out); }
@media (hover: hover) { .tk-tira-dia:hover { border-color: var(--accent); } }
.tk-tira-dia.tk-over { border-color: var(--accent); background: var(--accent-bg); }
.tk-tira-dia.es-hoy { border-color: var(--accent); border-width: 1.5px; padding: 7.5px; }
.tk-tira-d { font-size: var(--fs-2xs); color: var(--tx-3); font-weight: var(--fw-dato);
  margin-bottom: 5px; text-transform: uppercase; letter-spacing: .03em; }
.tk-tira-dia.es-hoy .tk-tira-d { color: var(--gold-ink); }
.tk-tira-ev { display: block; width: 100%; text-align: left; appearance: none; border: 0;
  background: var(--tx); color: var(--bg); border-radius: 6px; padding: 3px 6px;
  font-size: var(--fs-2xs); font-weight: var(--fw-dato); font-family: inherit; line-height: 1.3;
  margin-bottom: 4px; cursor: pointer; overflow: hidden; text-overflow: ellipsis;
  white-space: nowrap; transition: transform .12s var(--ease-out); }
.tk-tira-ev:active { transform: scale(.96); }
.tk-tira-ev.es-cita { background: var(--blue-accent); color: #fff; }
.tk-tira-ev.hecha { opacity: .45; text-decoration: line-through; }
@media (max-width: 1400px) { .tk-tareas { width: 280px; } }
@media (max-width: 1180px) {
  .tk-wrap--mesa { flex-wrap: wrap; }
  .tk-tareas { width: 100%; max-height: 420px; }
}
@media (max-width: 760px) {
  .tk-tira { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tk-mesacal-fechas { margin-left: 0; width: 100%; }
}
.tk-msg--espera { opacity: .62; }
.tk-msg--espera .tk-msg-time { opacity: .9; }
.eq-avatar { position: relative; overflow: hidden; }
.eq-avatar img[data-avatar] { position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; border-radius: inherit; }
.eq-avatar--foto { background: var(--sf3); box-shadow: inset 0 0 0 1.5px var(--c, var(--accent)); }
.eq-avatar--grande { width: 46px; height: 46px; font-size: var(--fs-md); }
.eq-avatar--losa { border-radius: var(--radius-sm); }
.bx-foto-cambiar { position: relative; display: inline-flex; cursor: pointer; }
.bx-foto-cambiar input[type="file"] { display: none; }
.bx-foto-cambiar .bx-foto-lapiz { position: absolute; right: -3px; bottom: -3px; width: 22px; height: 22px;
  border-radius: 50%; background: var(--accent); color: #1a1500; display: grid; place-items: center;
  font-size: var(--fs-2xs); box-shadow: var(--shadow); transition: transform .12s var(--ease-out); }
.bx-foto-cambiar:active .bx-foto-lapiz { transform: scale(.9); }
@media (hover: hover) { .bx-foto-cambiar .bx-foto-lapiz { opacity: 0; transition: opacity .15s; }
  .bx-foto-cambiar:hover .bx-foto-lapiz, .bx-foto-cambiar:focus-within .bx-foto-lapiz { opacity: 1; } }
.bx-foto-cambiar { flex: none; }
.sync-badge { min-width: 96px; justify-content: center; font-variant-numeric: tabular-nums; }
.tk-mesacal-quien { padding-right: var(--sp-3); margin-right: var(--sp-1);
  border-right: 1px solid var(--br); }
.tk-mesacal-rango { flex-wrap: wrap; }
.tk-tira-ev i { font-style: normal; opacity: .72; font-weight: var(--fw-detalle); margin-right: 5px; }
.tk-conv-lista .tk-conv, .tk-priv-lista .tk-conv {
  background: var(--sf); border: 1px solid var(--br); margin-bottom: 5px;
  padding: 6px var(--sp-3); }
.tk-conv-lista .tk-conv:nth-child(even) { background: var(--sf); }
@media (hover: hover) { .tk-conv-lista .tk-conv:hover, .tk-priv-lista .tk-conv:hover {
  background: var(--sf2); border-color: var(--br-2); } }
.tk-conv-lista .tk-conv.active, .tk-priv-lista .tk-conv.active {
  border-color: var(--accent); border-width: 1.5px; padding: 5.5px calc(var(--sp-3) - .5px); }
@media (hover: hover) { .bx-foto-cambiar .bx-foto-lapiz { opacity: .92; }
  .bx-foto-cambiar:hover .bx-foto-lapiz, .bx-foto-cambiar:focus-within .bx-foto-lapiz { opacity: 1; } }
.tk-side-pie { flex-direction: row; align-items: center; gap: var(--sp-2); }
.tk-side-pie .tk-nuevo { flex: 1 1 auto; }
.tk-side-menor { flex: 0 0 auto; gap: 4px; }
.tk-side-menor .btn-icono { min-height: 34px; width: 34px; padding: 0; justify-content: center; }
.tk-chat { border-radius: 12px; overflow: hidden;
  background: var(--tkbg, transparent); background-size: var(--tkbg-size, auto); }
.tk-msgs { background: transparent; border-radius: 0; }
.tk-compose { margin-top: 0; padding: 8px 10px 10px; align-items: center; }
.tk-compose textarea { background: var(--sf); border: 0; border-radius: 20px; padding: 9px 14px;
  min-height: 38px; box-shadow: 0 1px 2px rgba(0,0,0,.14); }
.tk-fondo--oscuro .tk-compose textarea { background: #2a3942; color: #e9edef; }
.tk-fondo--oscuro .tk-compose textarea::placeholder { color: rgba(233,237,239,.5); }
.tk-fondo--oscuro .tk-compose .btn-icono, .tk-fondo--oscuro .tk-compose label.btn-icono {
  color: rgba(233,237,239,.72); background: transparent; border-color: transparent; box-shadow: none; }
@media (hover: hover) { .tk-fondo--oscuro .tk-compose .btn-icono:hover { color: #e9edef;
  background: rgba(255,255,255,.08); } }
.tk-fondo--oscuro .tk-selbar, .tk-fondo--oscuro .tk-chat-tools { color: rgba(233,237,239,.8); }
.tk-fondo--oscuro .tk-day-sep span { background: rgba(0,0,0,.35); color: rgba(233,237,239,.72); }
.tk-fondo--oscuro .tk-empty { color: rgba(233,237,239,.55); }
.tk-compose .tk-bgsel { display: inline-flex; gap: 3px; flex: 0 0 auto; }
.tk-compose .tk-bgsel button { width: 15px; height: 15px; }
.tk-compose-pie { display: none; }
.tk-cab { min-height: 0; }
.tk-cab .tk-cab-acciones { flex: 1 1 100%; justify-content: flex-end; min-height: 44px; }
.tk-cab--priv .tk-cab-acciones { justify-content: space-between; }
.tk-cab--priv .tk-priv-ahora { flex: 1 1 auto; margin-top: 0; min-width: 0; }
.fab-doc-enl { display: flex; align-items: center; gap: 4px var(--sp-2); flex-wrap: wrap; max-width: 300px; }
.fab-doc-enl-b { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 8px; border: 1px solid var(--br);
  border-radius: 8px; background: var(--bg); color: var(--tx); font: inherit; font-size: var(--fs-sm); font-weight: var(--fw-dato);
  font-variant-numeric: tabular-nums; white-space: nowrap; cursor: pointer;
  transition: transform .12s var(--ease-out), border-color .12s var(--ease-out); }
.fab-doc-enl-b:active { transform: scale(.97); }
@media (hover: hover) { .fab-doc-enl-b:hover { border-color: var(--azul-apple); } }
.fab-doc-enl-b:focus-visible { outline: 2px solid var(--azul-apple); outline-offset: 1px; }
.fab-doc-enl-b--proforma i { color: var(--azul-apple); }
.fab-doc-enl-b--pedido i { color: var(--gold-ink); }
.fab-doc-enl-b--albaran i { color: var(--tx-2); }
.fab-doc-enl-b--factura i { color: var(--estado-bien-ink); }
.fab-doc-enl-b--anulado { color: var(--tx-3); text-decoration: line-through; }
.fab-doc-enl-b--probable { border-style: dashed; border-color: var(--br-2, var(--br)); }
.fab-doc-enl-dudosa { font-weight: var(--fw-detalle); color: var(--tx-2); }
.fab-doc-enl-espera { display: inline-block; width: 96px; height: 30px; border-radius: 8px; background: var(--sf2); }
.fab-pf-cli b { display: flex; align-items: center; gap: var(--sp-2); }
.fab-pf-cli-n { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.fab-pf-cli .fab-doc-enl { margin-top: var(--sp-2); }
.fab-alb-visor--pdf { width: min(1100px, 96vw); height: 94vh; }
.fab-pdf-hojas { display: flex; flex-direction: column; align-items: center; gap: var(--sp-4); }
.fab-pdf-hoja { display: block; flex: none; max-width: 100%; height: auto; background: #fff; box-shadow: 0 4px 18px rgba(0,0,0,.14); }
.fab-pdf-hoja--espera { width: min(840px, 100%); aspect-ratio: 210 / 297; display: grid; place-items: center;
  font-size: var(--fs-sm); color: var(--tx-3); }
.fab-pdf-bajar[aria-disabled="true"] { opacity: .45; pointer-events: none; }
.fab-pdf-fallo { margin: auto; display: flex; flex-direction: column; align-items: center; gap: var(--sp-2); max-width: 440px;
  text-align: center; font-size: var(--fs-base); color: var(--tx-2); }
.fab-pdf-fallo > i { font-size: var(--fs-2xl); color: var(--tx-3); }
.fab-pdf-fallo > b { color: var(--tx); font-weight: var(--fw-fuerte); }
.gst-filtros { display: flex; flex-direction: column; gap: var(--sp-2); margin-bottom: var(--sp-3); }
.gst-filtros-der { display: flex; align-items: flex-end; gap: var(--sp-2); flex-wrap: wrap; }
.gst-filtro-campo { display: flex; flex-direction: column; gap: 3px; }
.gst-filtro-rot { font-size: var(--fs-xs); font-weight: var(--fw-detalle); color: var(--tx-3);
  letter-spacing: .02em; padding-left: 2px; }
.gst-filtro-sel { max-width: 210px; width: auto; min-width: 148px; }
@media (max-width: 640px) { .gst-filtro-sel { max-width: none; flex: 1 1 46%; } }
.fab-n3 { display: flex; flex-direction: column; gap: var(--sp-3); }
.fab-n3-mandos { display: flex; align-items: center; justify-content: space-between;
  gap: var(--sp-3); flex-wrap: wrap; }
.fab-n3-mandos-der { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; }
.fab-n3-cifras { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-2); }
.fab-n3-cifra { display: flex; align-items: center; gap: var(--sp-2);
  background: var(--sf3); border: 1px solid var(--br); border-radius: var(--radius);
  padding: var(--sp-2) var(--sp-3); min-width: 0; }
.fab-n3-cifra i { font-size: var(--fs-md); color: var(--tx-3); flex: none; }
.fab-n3-cifra b { font-size: var(--fs-xl); font-weight: var(--fw-fuerte); color: var(--tx);
  font-variant-numeric: tabular-nums; }
.fab-n3-cifra span { font-size: var(--fs-sm); color: var(--tx-2); min-width: 0;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fab-n3-cifra--ojo b, .fab-n3-cifra--ojo i { color: var(--estado-ojo-ink, #b45309); }
@media (max-width: 820px) { .fab-n3-cifras { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.fab-n3-lienzo-caja { position: relative; border: 1px solid var(--br); border-radius: var(--radius);
  overflow: hidden; background: #fff; }
.fab-n3-lienzo { display: block; width: 100%; height: auto; touch-action: none; cursor: grab; }
.fab-n3-lienzo:active { cursor: grabbing; }
.fab-n3-ficha { position: absolute; top: var(--sp-3); left: var(--sp-3); width: min(310px, 46%);
  background: var(--sf, #fff); border: 1px solid var(--br); border-radius: var(--radius);
  box-shadow: var(--shadow-lg); padding: var(--sp-3); max-height: calc(100% - var(--sp-6));
  overflow: auto; }
.fab-n3-f-x { position: absolute; top: 6px; right: 6px; width: 28px; height: 28px;
  display: grid; place-items: center; border: 0; background: transparent; color: var(--tx-3);
  border-radius: var(--radius-sm); cursor: pointer; }
@media (hover: hover) { .fab-n3-f-x:hover { background: var(--sf3); color: var(--tx); } }
.fab-n3-f-cab { display: flex; align-items: center; gap: var(--sp-2); margin-bottom: var(--sp-2); }
.fab-n3-f-cab b { display: block; font-size: var(--fs-md); font-weight: var(--fw-fuerte); color: var(--tx); }
.fab-n3-f-cab span { display: block; font-size: var(--fs-sm); color: var(--tx-3); }
.fab-n3-punto { width: 12px; height: 12px; border-radius: 50%; flex: none; display: inline-block; }
.fab-n3-f-datos { display: flex; flex-direction: column; gap: 1px; }
.fab-n3-f-fila { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-2);
  padding: 5px var(--sp-2); border-radius: var(--radius-sm); font-size: var(--fs-sm); }
.fab-n3-f-fila:nth-child(even) { background: color-mix(in srgb, var(--tx) 2.5%, transparent); }
.fab-n3-f-fila span { color: var(--tx-2); }
.fab-n3-f-fila b { color: var(--tx); font-weight: var(--fw-dato); font-variant-numeric: tabular-nums; }
.fab-n3-ojo { color: var(--estado-ojo-ink, #b45309) !important; }
.fab-n3-f-t { margin: var(--sp-3) 0 var(--sp-2); font-size: var(--fs-xs);
  font-weight: var(--fw-fuerte); color: var(--tx-3); letter-spacing: .04em; text-transform: uppercase; }
.fab-n3-f-tomas { display: flex; flex-direction: column; gap: var(--sp-1); }
.fab-n3-f-toma { display: flex; align-items: baseline; gap: var(--sp-2);
  background: var(--sf3); border: 1px solid var(--br); border-radius: var(--radius-sm);
  padding: var(--sp-2); font-size: var(--fs-sm); }
.fab-n3-f-toma b { font-size: var(--fs-md); font-weight: var(--fw-fuerte); color: var(--tx);
  font-variant-numeric: tabular-nums; }
.fab-n3-f-toma span { color: var(--tx-2); flex: 1 1 auto; }
.fab-n3-f-toma i { font-style: normal; font-size: var(--fs-xs); color: var(--tx-3); white-space: nowrap; }
.fab-n3-f-toma.es-tarde b { color: var(--estado-ojo-ink, #b45309); }
.fab-n3-f-nota { margin-top: var(--sp-2); font-size: var(--fs-sm); color: var(--tx-2); line-height: 1.45; }
.fab-n3-f-nota i { color: var(--tx-3); margin-right: 4px; }
.fab-n3-tiempo { display: flex; align-items: center; gap: var(--sp-3); flex-wrap: wrap; }
.fab-n3-rango { -webkit-appearance: none; appearance: none; flex: 1 1 240px; height: 4px;
  background: var(--br); border-radius: 999px; outline: none; cursor: pointer; }
.fab-n3-rango::-webkit-slider-thumb { -webkit-appearance: none; appearance: none;
  width: 20px; height: 20px; border-radius: 50%; background: var(--accent);
  border: 2px solid #fff; box-shadow: var(--shadow); cursor: grab; }
.fab-n3-rango::-moz-range-thumb { width: 20px; height: 20px; border-radius: 50%;
  background: var(--accent); border: 2px solid #fff; box-shadow: var(--shadow); cursor: grab; }
.fab-n3-rango:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.fab-n3-dia { font-size: var(--fs-md); font-weight: var(--fw-fuerte); color: var(--tx);
  min-width: 74px; text-align: right; font-variant-numeric: tabular-nums; }
.fab-n3-leyenda { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.fab-n3-ref { display: inline-flex; align-items: center; gap: var(--sp-2);
  background: var(--sf3); border: 1px solid var(--br); border-radius: 999px;
  padding: 6px var(--sp-3); font: inherit; font-size: var(--fs-sm); color: var(--tx-2); cursor: pointer; }
.fab-n3-ref.on { border-color: var(--tx); color: var(--tx); font-weight: var(--fw-dato); }
@media (hover: hover) { .fab-n3-ref:hover { border-color: var(--tx-3); color: var(--tx); } }
.fab-n3-ref-n { max-width: 15ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fab-n3-ref-c { font-weight: var(--fw-fuerte); color: var(--tx); font-variant-numeric: tabular-nums; }
.fab-n3-vacio { font-size: var(--fs-sm); color: var(--tx-3); }
.fab-ini { display: flex; flex-direction: column; gap: var(--sp-4); }
.fab-ini-caja-cab { display: flex; align-items: center; justify-content: space-between;
  gap: var(--sp-3); padding: var(--sp-3) var(--sp-4); border-bottom: 1px solid var(--br); flex-wrap: wrap; }
.fab-ini-caja-cab h2 { margin: 0; font-size: var(--fs-md); font-weight: var(--fw-fuerte);
  display: flex; align-items: center; gap: var(--sp-2); }
.fab-ini-caja-cab h2 i { color: var(--tx-3); font-size: var(--fs-base); }
.fab-ini-sello { font-size: var(--fs-sm); color: var(--tx-3); }
.fab-ini-link { border: 0; background: transparent; font: inherit; font-size: var(--fs-sm);
  font-weight: var(--fw-dato); color: var(--azul-apple, #0067c2); cursor: pointer; padding: 0; white-space: nowrap; }
@media (hover: hover) { .fab-ini-link:hover { text-decoration: underline; } }
.fab-ini-cadena { padding: 0; overflow: hidden; }
.fab-ini-parte .fab-ini-caja-cab { margin-bottom: var(--sp-4); }
.fab-ini-parte--carga { opacity: .72; }
.fab-ini-rango { display: flex; align-items: center; gap: 6px; background: var(--sf3);
  border: 1px solid var(--br); border-radius: var(--radius-sm); padding: 4px; flex-wrap: wrap; }
.fab-ini-rango button { font: inherit; font-size: var(--fs-sm); font-weight: var(--fw-dato);
  color: var(--tx-2); background: transparent; border: 0; border-radius: 7px; padding: 6px 11px;
  cursor: pointer; white-space: nowrap; }
.fab-ini-rango button.on { background: var(--tx); color: var(--sf); }
@media (hover: hover) { .fab-ini-rango button:not(.on):hover { color: var(--tx); } }
.fab-ini-rango button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.fab-ini-rango-cal { display: inline-flex; align-items: center; gap: 7px; border-left: 1px solid var(--br);
  margin-left: 2px; padding-left: 9px; color: var(--tx-2); font-size: var(--fs-sm); font-weight: var(--fw-dato); white-space: nowrap; }
.fab-ini-mods { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3);
  align-items: start; }
.fab-ini-mod { background: var(--sf3); border: 1px solid var(--br); border-radius: var(--radius);
  overflow: hidden; min-width: 0; }
.fab-ini-mod-cab { width: 100%; text-align: left; font: inherit; color: inherit; background: none;
  border: 0; padding: var(--sp-4) var(--sp-5); display: flex; gap: var(--sp-4); align-items: center; cursor: pointer; }
.fab-ini-mod-cab:focus-visible { outline: 2px solid var(--accent); outline-offset: -3px; }
.fab-ini-mod-ico { width: 52px; height: 52px; flex: none; border-radius: 14px; display: grid;
  place-items: center; background: var(--sf); border: 1px solid var(--br);
  font-size: var(--fs-xl); color: var(--azul-apple); }
.fab-ini-mod-tx { min-width: 0; flex: 1; }
.fab-ini-mod-t { display: block; font-size: var(--fs-xs); font-weight: var(--fw-black);
  letter-spacing: .06em; color: var(--tx-2); text-transform: uppercase; }
.fab-ini-mod-n { display: flex; align-items: baseline; gap: 7px; margin-top: 3px; }
.fab-ini-mod-n b { font-size: var(--fs-2xl); font-weight: var(--fw-black); letter-spacing: -.02em;
  font-variant-numeric: tabular-nums; line-height: 1.05; }
.fab-ini-mod-n > span { font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx-2); }
.fab-ini-mod-chev { flex: none; color: var(--tx-3); font-size: var(--fs-sm); transition: transform var(--dur-fast) var(--ease-out); }
.fab-ini-mod.abierto .fab-ini-mod-chev { transform: rotate(180deg); }
.fab-ini-mod-des { display: none; padding: 0 var(--sp-5) var(--sp-4); border-top: 1px solid var(--br); }
.fab-ini-mod.abierto .fab-ini-mod-des { display: block; }
.fab-ini-vs { display: block; margin-top: 3px; font-size: var(--fs-sm); font-weight: var(--fw-fuerte);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fab-ini-vs em { font-style: normal; font-weight: var(--fw-detalle); color: var(--tx-3); }
.fab-ini-vs--bien { color: var(--estado-bien-ink); }
.fab-ini-vs--mal { color: var(--estado-urgente-ink); }
.fab-ini-vs--igual, .fab-ini-vs--sin { color: var(--tx-2); font-weight: var(--fw-dato); }
.fab-ini-li { display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-3);
  font-size: var(--fs-sm); padding: 7px 0; border-bottom: 1px solid var(--br); }
.fab-ini-li:last-child { border-bottom: 0; }
.fab-ini-li span { color: var(--tx-2); font-weight: var(--fw-detalle); }
.fab-ini-li b { font-weight: var(--fw-black); font-variant-numeric: tabular-nums; }
.fab-ini-li--eur b { color: var(--tx-1); }
.fab-ini-li--falta button { font: inherit; font-size: var(--fs-sm); font-weight: var(--fw-fuerte);
  color: var(--azul-apple); background: none; border: 0; padding: 0; cursor: pointer; text-decoration: underline; }
.fab-ini-sub { font-size: var(--fs-xs); font-weight: var(--fw-black); letter-spacing: .06em;
  text-transform: uppercase; color: var(--tx-3); margin: var(--sp-3) 0 2px; }
.fab-ini-li--eur, .fab-ini-li--falta { display: grid; grid-template-columns: 1fr auto;
  align-items: baseline; row-gap: 1px; }
.fab-ini-li--eur > b, .fab-ini-li--falta > button { white-space: nowrap; }
.fab-ini-de, .fab-ini-li--falta em { grid-column: 1 / -1; font-size: var(--fs-2xs); font-style: normal;
  color: var(--tx-3); font-weight: var(--fw-detalle); line-height: 1.45; }
.fab-ini-sello { display: inline-block; margin-left: var(--sp-1); padding: 0 var(--sp-1);
  border-radius: var(--radius-sm); font-size: var(--fs-2xs); font-weight: var(--fw-dato);
  letter-spacing: .01em; background: var(--bg); color: var(--tx-2); }
.fab-ini-sello--ok { color: var(--tx-2); }
.fab-ini-sello--aviso { color: var(--estado-ojo-ink); }
.fab-ini-sello--neutro { color: var(--tx-3); }
.fab-ini-de button { font: inherit; font-size: var(--fs-2xs); font-weight: var(--fw-fuerte);
  color: var(--azul-apple); background: none; border: 0; padding: 0; margin-left: 2px; cursor: pointer; }
@media (hover: hover) { .fab-ini-de button:hover { text-decoration: underline; } }
.fab-ini-nota { display: flex; gap: var(--sp-2); align-items: flex-start; margin-top: var(--sp-3);
  padding-top: var(--sp-3); border-top: 1px solid var(--br);
  font-size: var(--fs-2xs); color: var(--tx-3); line-height: 1.5; }
.fab-ini-nota i { color: var(--tx-3); margin-top: 2px; }
.fab-ini-cal { width: 52px; height: 52px; flex: none; border-radius: 12px; overflow: hidden;
  border: 1px solid var(--br); background: var(--sf); display: grid; grid-template-rows: 19px 1fr; }
.fab-ini-cal u { background: var(--estado-urgente); color: var(--sf); font-size: var(--fs-2xs);
  font-weight: var(--fw-black); text-decoration: none; display: grid; place-items: center; letter-spacing: .06em; }
.fab-ini-cal s { text-decoration: none; display: grid; place-items: center;
  font-size: var(--fs-lg); font-weight: var(--fw-black); }
@media (max-width: 1180px) { .fab-ini-mods { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .fab-ini-mods { grid-template-columns: minmax(0, 1fr); } }
.fab-ini-eslabones { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--sp-2); padding: var(--sp-4); }
.fab-ini-esl { background: var(--sf3); border: 1px solid var(--br); border-radius: var(--radius);
  padding: var(--sp-3); display: flex; flex-direction: column; gap: var(--sp-2); min-width: 0; }
.fab-ini-esl-t { display: flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-xs);
  font-weight: var(--fw-fuerte); color: var(--tx-2); letter-spacing: .03em;
  text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fab-ini-esl-t i { flex: none; font-size: var(--fs-sm); }
.fab-ini-esl-n { display: flex; align-items: baseline; gap: var(--sp-2); flex-wrap: wrap; }
.fab-ini-esl-n b { font-size: var(--fs-2xl); font-weight: var(--fw-black);
  line-height: 1; font-variant-numeric: tabular-nums; }
.fab-ini-esl-n u { text-decoration: none; font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx-2); }
.fab-ini-esl-p { font-size: var(--fs-sm); color: var(--tx-2); }
.fab-ini-esl--mal { background: var(--sf, #fff); border-color: var(--estado-urgente); }
.fab-ini-esl--mal .fab-ini-esl-t, .fab-ini-esl--mal .fab-ini-esl-p { color: var(--estado-urgente-ink); }
.fab-ini-esl--off .fab-ini-esl-n b { color: var(--tx-3); }
.fab-ini-mirar-cab { display: flex; align-items: center; gap: var(--sp-2); margin-bottom: var(--sp-2); }
.fab-ini-mirar-cab h2 { margin: 0; font-size: var(--fs-md); font-weight: var(--fw-fuerte); }
.fab-ini-mirar-cab > i { color: var(--estado-urgente); font-size: var(--fs-base); }
.fab-ini-n { background: var(--estado-urgente); color: #fff; border-radius: 999px; min-width: 22px;
  height: 22px; display: inline-grid; place-items: center; padding: 0 7px;
  font-size: var(--fs-xs); font-weight: var(--fw-black); }
.fab-ini-avisos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-2); }
.fab-ini-av { background: var(--sf, #fff); border: 1px solid var(--br); border-radius: var(--radius);
  padding: var(--sp-3); display: flex; gap: var(--sp-3); align-items: flex-start; min-width: 0; }
.fab-ini-av-ic { width: 36px; height: 36px; border-radius: var(--radius-sm); display: grid;
  place-items: center; flex: none; background: var(--sf3); }
.fab-ini-av--mal .fab-ini-av-ic i { color: var(--estado-urgente-ink); }
.fab-ini-av--ojo .fab-ini-av-ic i { color: var(--estado-ojo-ink); }
.fab-ini-av-tx { min-width: 0; flex: 1; }
.fab-ini-av-tx > b { display: block; font-size: var(--fs-md); font-weight: var(--fw-fuerte);
  line-height: 1.3; margin-bottom: 3px; }
.fab-ini-av-tx p { margin: 0; font-size: var(--fs-sm); color: var(--tx-2); line-height: 1.45; }
.fab-ini-cif { font-weight: var(--fw-black); }
.fab-ini-av--mal .fab-ini-cif { color: var(--estado-urgente-ink); }
.fab-ini-av--ojo .fab-ini-cif { color: var(--estado-ojo-ink); }
.fab-ini-av-ir { margin-top: var(--sp-2); display: inline-flex; align-items: center; gap: var(--sp-2);
  background: var(--tx); color: var(--sf, #fff); border: 0; border-radius: 999px;
  padding: 7px 14px; font: inherit; font-size: var(--fs-sm); font-weight: var(--fw-fuerte);
  cursor: pointer; white-space: nowrap; }
.fab-ini-av-ir i { font-size: var(--fs-xs); }
@media (hover: hover) { .fab-ini-av-ir:hover { opacity: .88; } }
.fab-ini-av-ir:active { transform: scale(.97); }
.fab-ini-calma { display: flex; align-items: center; gap: var(--sp-2); grid-column: 1 / -1;
  background: var(--sf3); border: 1px solid var(--br); border-radius: var(--radius);
  padding: var(--sp-3) var(--sp-4); font-size: var(--fs-sm); color: var(--tx-2); }
.fab-ini-calma i { color: var(--estado-ok, #16a34a); }
.fab-ini-dos { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: var(--sp-4); align-items: start; }
.fab-ini-caja { padding: 0; overflow: hidden; }
.fab-n3--mini { gap: 0; }
.fab-n3--mini .fab-n3-lienzo-caja { border: 0; border-radius: 0; }
.fab-n3--mini .fab-n3-leyenda { padding: var(--sp-3) var(--sp-4); border-top: 1px solid var(--br); }
.fab-ini-sal { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--sp-3);
  align-items: center; padding: 10px var(--sp-4); border-bottom: 1px solid var(--br); }
.fab-ini-sal:nth-child(even) { background: color-mix(in srgb, var(--tx) 2.5%, transparent); }
.fab-ini-sal:last-child { border-bottom: 0; }
.fab-ini-sal-tr { width: 38px; height: 38px; border-radius: var(--radius-sm); display: grid;
  place-items: center; font-size: 12px; letter-spacing: -.04em; font-weight: var(--fw-black); color: #fff; flex: none; }
.fab-ini-tr--seur { background: #c8102e; }
.fab-ini-tr--i2 { background: #0a7d4f; }
.fab-ini-tr--rec { background: #555555; }
.fab-ini-sal-q { min-width: 0; }
.fab-ini-sal-q b { display: block; font-size: var(--fs-base); font-weight: var(--fw-fuerte);
  line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fab-ini-sal-q span { font-size: var(--fs-sm); color: var(--tx-2); }
.fab-ini-sal-e { font-size: var(--fs-sm); font-weight: var(--fw-dato); white-space: nowrap;
  display: inline-flex; align-items: center; gap: var(--sp-2); }
.fab-ini-sal-e i { width: 8px; height: 8px; border-radius: 50%; display: inline-block; flex: none; }
.fab-ini-e--ok { color: var(--estado-ok-ink, #15803d); } .fab-ini-e--ok i { background: var(--estado-ok, #16a34a); }
.fab-ini-e--va { color: var(--tx-2); } .fab-ini-e--va i { background: var(--tx-3); }
.fab-ini-e--no { color: var(--estado-urgente-ink); } .fab-ini-e--no i { background: var(--estado-urgente); }
.fab-ini-vacio, .fab-ini-mas { padding: var(--sp-4); font-size: var(--fs-sm); color: var(--tx-3); }
.fab-ini-mas { border-top: 1px solid var(--br); }
.fab-ini-cifras { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-2); }
.fab-ini-cf { background: var(--sf, #fff); border: 1px solid var(--br);
  border-radius: var(--radius); padding: var(--sp-3) var(--sp-4); min-width: 0; }
.fab-ini-cf-t { display: flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-xs);
  font-weight: var(--fw-fuerte); color: var(--tx-2); text-transform: uppercase;
  letter-spacing: .03em; margin-bottom: var(--sp-2); white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis; }
.fab-ini-cf-t i { flex: none; }
.fab-ini-cf-n { display: flex; align-items: baseline; gap: var(--sp-2); flex-wrap: wrap; }
.fab-ini-cf-n b { font-size: var(--fs-xl); font-weight: var(--fw-black); line-height: 1;
  font-variant-numeric: tabular-nums; }
.fab-ini-cf-n u { text-decoration: none; font-size: var(--fs-sm); font-weight: var(--fw-dato);
  color: var(--tx-2); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fab-ini-cf--ojo .fab-ini-cf-n b, .fab-ini-cf--ojo .fab-ini-cf-t i { color: var(--estado-ojo-ink); }
@media (max-width: 1100px) {
  .fab-ini-eslabones { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fab-ini-avisos { grid-template-columns: 1fr; }
  .fab-ini-dos { grid-template-columns: 1fr; }
  .fab-ini-cifras { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .fab-ini-eslabones { grid-template-columns: 1fr; }
  .fab-ini-cifras { grid-template-columns: 1fr; }
}
.fab-seg{ display:flex; flex-direction:column; gap:var(--sp-3); }
.fab-seg-cab{ background:var(--sf); border:var(--trazo-modulo); border-radius:var(--radius);
  padding:var(--sp-4) var(--sp-5); }
.fab-seg-cab h2{ font-size:var(--fs-xl); font-weight:var(--fw-black); margin:0 0 2px; letter-spacing:-.01em; }
.fab-seg-cab p{ margin:0; font-size:var(--fs-sm); color:var(--tx-2); }
.fab-seg-cab--mal{ border-color:var(--estado-urgente); border-width:2px; }
.fab-seg-cab--mal h2{ color:var(--estado-urgente-ink); }
.fab-seg-cab--sin h2{ color:var(--tx-2); }
.fab-seg-chips{ display:flex; gap:var(--sp-2); flex-wrap:wrap; }
.fab-seg-sinnum{ display:flex; align-items:flex-start; gap:var(--sp-3);
  background:var(--sf); border:var(--trazo-modulo); border-radius:var(--radius); padding:var(--sp-4) var(--sp-5); }
.fab-seg-sinnum > i{ color:var(--estado-ojo-ink); font-size:var(--fs-lg); margin-top:2px; }
.fab-seg-sinnum b{ display:block; font-size:var(--fs-base); font-weight:var(--fw-fuerte); }
.fab-seg-sinnum span{ display:block; font-size:var(--fs-sm); color:var(--tx-2); }
.fab-seg-grupo-t{ display:flex; align-items:baseline; justify-content:space-between; gap:var(--sp-3);
  margin:var(--sp-4) 0 var(--sp-1); }
.fab-seg-grupo-t h3{ font-size:var(--fs-base); font-weight:var(--fw-black); margin:0; }
.fab-seg-grupo-t span{ font-size:var(--fs-sm); color:var(--tx-3); font-variant-numeric:tabular-nums; }
.fab-seg-fila{ display:grid; grid-template-columns:38px minmax(0,1fr) 168px 132px 176px;
  gap:var(--sp-3); align-items:center;
  background:var(--sf); border:var(--trazo-modulo); border-radius:var(--radius);
  padding:var(--sp-3) var(--sp-4); margin-bottom:var(--sp-2); }
.fab-seg-fila--mal{ border-color:var(--estado-urgente); }
.fab-seg-fila--ok{ border-color:color-mix(in srgb, var(--estado-bien-ink) 45%, transparent); }
.fab-seg-q{ min-width:0; }
.fab-seg-q b{ display:block; font-size:var(--fs-base); font-weight:var(--fw-fuerte);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fab-seg-q span{ display:block; font-size:var(--fs-xs); color:var(--tx-3);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fab-seg-losa{ display:inline-flex; align-items:center; gap:6px; border-radius:9px;
  padding:5px 10px; color:#fff; font-size:var(--fs-xs); font-weight:var(--fw-fuerte);
  width:max-content; max-width:100%; white-space:nowrap; }
.fab-seg-losa i{ font-size:var(--fs-2xs); }
.fab-seg-losa--bien{ background:var(--estado-bien-ink); }
.fab-seg-losa--azul{ background:var(--blue-ink); }
.fab-seg-losa--mal{ background:var(--estado-urgente-ink); }
.fab-seg-losa--ojo{ background:var(--estado-ojo-ink); }   
.fab-tl{ list-style:none; margin:0; padding:var(--sp-4) var(--sp-2) var(--sp-2); }
.fab-k-env-hero + .fab-k-desp,
.fab-k-env-hero ~ .fab-k-desp{ margin-top:var(--sp-5); }
.fab-tl-p{ position:relative; display:grid; grid-template-columns:44px minmax(0,1fr);
  align-items:center; gap:var(--sp-4); padding:var(--sp-3) 0; }
.fab-tl-p::before,
.fab-tl-h::before{ content:''; position:absolute; left:21px; top:0; bottom:0; width:2px;
  background:var(--br); }
.fab-tl-p:first-child::before{ top:50%; }
.fab-tl-p:last-child::before{ bottom:50%; }
.fab-tl-nodo{ position:relative; z-index:1; width:36px; height:36px; margin-inline:4px;
  border-radius:50%; display:grid; place-items:center; background:var(--sf); color:var(--tx-2);
  box-shadow:0 0 0 2px var(--br) inset; font-size:var(--fs-sm); }
.fab-tl-txt{ min-width:0; }
.fab-tl-txt b{ display:block; color:var(--tx); font-weight:var(--fw-fuerte);
  font-size:var(--fs-sm); }
.fab-tl-txt small{ display:block; color:var(--tx-2); font-size:var(--fs-xs);
  font-variant-numeric:tabular-nums; margin-top:3px; }
.fab-tl-h{ position:relative; display:flex; align-items:center; min-height:30px;
  padding-left:calc(44px + var(--sp-4)); }
.fab-tl-h span{ color:var(--tx-3); font-size:var(--fs-2xs); font-variant-numeric:tabular-nums;
  letter-spacing:.02em; }
.fab-tl-p--ahora .fab-tl-nodo{ width:44px; height:44px; margin-inline:0;
  font-size:var(--fs-base); color:#fff; box-shadow:none; }
.fab-tl-p--ahora .fab-tl-txt b{ font-size:var(--fs-base); }
.fab-tl-p--ahora.fab-tl-p--bien .fab-tl-nodo{ background:var(--estado-bien-ink); }
.fab-tl-p--ahora.fab-tl-p--azul .fab-tl-nodo{ background:var(--blue-ink); }
.fab-tl-p--ahora.fab-tl-p--mal  .fab-tl-nodo{ background:var(--estado-urgente-ink); }
.fab-tl-p--ahora.fab-tl-p--ojo  .fab-tl-nodo{ background:var(--estado-ojo-ink); }
.fab-tl-p--ahora.fab-tl-p--sin  .fab-tl-nodo{ background:#6b6b6b; }
.fab-tl-p--ahora.fab-tl-p--bien .fab-tl-txt b{ color:var(--estado-bien-ink); }
.fab-tl-p--ahora.fab-tl-p--mal  .fab-tl-txt b{ color:var(--estado-urgente-ink); }
.fab-tl-p--ahora.fab-tl-p--ojo  .fab-tl-txt b{ color:var(--estado-ojo-ink); }
.fab-tl-p--mal:not(.fab-tl-p--ahora) .fab-tl-nodo{ color:var(--estado-urgente-ink);
  box-shadow:0 0 0 2px var(--estado-urgente-ink) inset; }
.fab-tl-p--ojo:not(.fab-tl-p--ahora) .fab-tl-nodo{ color:var(--estado-ojo-ink);
  box-shadow:0 0 0 2px var(--estado-ojo-ink) inset; }
.fab-k-env-pasos-acc{ display:flex; justify-content:flex-end; padding-top:var(--sp-3);
  margin-top:var(--sp-2); border-top:1px solid var(--br); }
.fab-k-env-seurb{ text-decoration:none; }
.fab-k-desp-cuerpo:has(> .fab-k-env-viaje){ container-type:inline-size; }
.fab-k-env-viaje{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:var(--sp-4);
  align-items:stretch; }
.fab-k-env-viaje-pasos{ min-width:0; }
.fab-k-env-viaje > .fab-via-mapa{ margin-top:var(--sp-4); align-self:start; }
@container (max-width: 640px){
  .fab-k-env-viaje{ grid-template-columns:minmax(0,1fr); }
  .fab-k-env-viaje > .fab-via-mapa{ margin-top:0; }
}
.fab-i2-mapa.fab-via-mapa{ min-height:0; height:auto; }
.fab-i2-mapa.fab-via-mapa:not([data-listo]){ aspect-ratio:640 / 552; }   
.fab-i2-panel--mapa .fab-i2-mapa.fab-via-mapa{ min-height:0; }
.fab-via-lienzo{ position:relative; aspect-ratio:640 / 512; }
.fab-via-foto{ display:block; width:100%; height:100%; object-fit:cover; }
.fab-via-lienzo > .fab-via-pin, .fab-via-lienzo > .fab-via-rot{ position:absolute; z-index:1; transform:translate(-50%, -50%); }
.fab-via-lienzo > .fab-via-rot--arriba{ transform:translate(-50%, calc(-100% - 14px)); }
.fab-via-lienzo > .fab-via-rot--abajo{ transform:translate(-50%, 14px); }
.fab-via-pie{ display:flex; align-items:center; gap:8px; padding:10px 14px; border-top:1px solid var(--br);
  background:var(--sf); color:var(--tx-2); font-size:var(--fs-sm); }
.fab-via-pie b{ color:var(--tx); font-weight:var(--fw-dato); font-variant-numeric:tabular-nums; }
.fab-via-pie i{ color:var(--tx-3); }
.fab-via-pin{ width:16px; height:16px; border-radius:50%; background:var(--tx);
  box-shadow:0 0 0 3px var(--sf); display:grid; place-items:center; cursor:default; }
.fab-via-pin::after{ content:''; width:6px; height:6px; border-radius:50%; background:var(--sf); }
.fab-via-pin--ini{ border-radius:50%; }
.fab-via-pin--fin{ border-radius:4px; }
.fab-via-pin--fin::after{ border-radius:1px; }
.fab-via-pin--gris{ background:var(--tx-3); }
.fab-via-pin--paso{ width:10px; height:10px; background:var(--sf); box-shadow:0 0 0 2px var(--tx-3); }
.fab-via-pin--paso.fab-via-pin--hecho{ box-shadow:0 0 0 2px var(--tx); }
.fab-via-pin--paso::after{ display:none; }
.fab-via-pin--bien, .fab-via-pin--mal, .fab-via-pin--reparto{ width:24px; height:24px; }
.fab-via-pin--bien{ background:var(--estado-bien); }
.fab-via-pin--mal{ background:var(--estado-urgente); }
.fab-via-pin--bien::after, .fab-via-pin--mal::after, .fab-via-pin--reparto::after{ display:none; }
.fab-via-pin i{ font-size:12px; line-height:1; color:#fff; }
.fab-via-pin--reparto i{ font-size:11px; }
.fab-via-rot{ display:inline-flex; align-items:center; gap:6px; padding:5px 10px; border-radius:999px;
  background:var(--tx); color:var(--sf); font-size:12px; font-weight:var(--fw-dato); line-height:1.2;
  white-space:nowrap; pointer-events:none; }
.fab-via-rot--bien{ background:var(--estado-bien); color:#fff; }
.fab-via-rot--mal{ background:var(--estado-urgente); color:#fff; }
.fab-via-rot--ruta{ background:var(--sf); color:var(--tx); box-shadow:0 0 0 1.5px var(--tx); }
.fab-via-rot i{ font-size:11px; }
.fab-seg-losa--sin{ background:#6b6b6b; }
.fab-seg-donde{ min-width:0; font-size:var(--fs-xs); }
.fab-seg-donde b{ display:block; font-weight:var(--fw-fuerte); color:var(--tx);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fab-seg-donde span{ display:block; color:var(--tx-3); font-variant-numeric:tabular-nums; }
.fab-seg-acc{ display:flex; justify-content:flex-end; min-width:0; }
.fab-seg-enl{ font-size:var(--fs-xs); font-weight:var(--fw-fuerte); color:var(--blue-ink);
  text-decoration:none; display:inline-flex; align-items:center; gap:6px; white-space:nowrap;
  border:1px solid var(--br); border-radius:999px; padding:6px 12px; background:var(--sf); }
.fab-seg-enl i{ font-size:var(--fs-2xs); }
.fab-seg-nada{ font-size:var(--fs-xs); color:var(--tx-3); white-space:nowrap; }
@media (max-width:1180px){ .fab-seg-fila{ grid-template-columns:38px minmax(0,1fr) 168px 176px; }
  .fab-seg-donde{ display:none; } }
@media (max-width:820px){ .fab-seg-fila{ grid-template-columns:38px minmax(0,1fr) 176px; }
  .fab-seg-losa{ display:none; } }
.fab-ini-calle{ margin-top:var(--sp-4); }
.fab-ini-calle--mal{ border-color:var(--estado-urgente); }
.fab-ini-calle--mal .fab-ini-caja-cab h2{ color:var(--estado-urgente-ink); }
.fab-ini-calle--mal .fab-ini-caja-cab h2 i{ color:var(--estado-urgente); }
.fab-ini-calle-f{ display:flex; align-items:center; gap:var(--sp-3);
  padding:10px var(--sp-4); border-bottom:1px solid var(--br); }
.fab-ini-calle-f:last-of-type{ border-bottom:0; }
.fab-ini-calle-f .fab-ini-sal-q{ flex:1; min-width:0; }
.fab-ini-calle-est{ font-size:var(--fs-xs); font-weight:var(--fw-fuerte);
  color:var(--estado-urgente-ink); white-space:nowrap; flex:none; }
.fab-ini-calle-mas{ padding:8px var(--sp-4) 10px; font-size:var(--fs-xs); color:var(--tx-3); }
.fab-i2-crono{ margin-top:var(--sp-3); border-top:1px solid var(--br); padding-top:var(--sp-3); }
.fab-i2-crono--esp, .fab-i2-crono--mal{ font-size:var(--fs-sm); color:var(--tx-2); padding-bottom:2px; }
.fab-i2-crono--mal{ color:var(--estado-urgente-ink); font-weight:var(--fw-dato); }
.fab-i2-paso{ display:grid; grid-template-columns:14px minmax(0,1fr) auto; gap:var(--sp-3);
  align-items:baseline; padding:5px 0; font-size:var(--fs-sm); }
.fab-i2-paso b{ font-weight:var(--fw-fuerte); }
.fab-i2-paso span{ color:var(--tx-2); }
.fab-i2-paso time{ color:var(--tx-3); font-size:var(--fs-xs); font-variant-numeric:tabular-nums; white-space:nowrap; }
.fab-i2-punto{ width:9px; height:9px; border-radius:50%; background:var(--sf3);
  border:2px solid var(--br); position:relative; top:3px; }
.fab-i2-paso--fin .fab-i2-punto{ background:var(--estado-bien-ink); border-color:var(--estado-bien-ink); }
.fab-i2-pie{ margin-top:var(--sp-2); font-size:var(--fs-xs); color:var(--tx-3);
  font-variant-numeric:tabular-nums; }
.fab-i2-fuera{ display:inline-block; margin-top:var(--sp-2); font-size:var(--fs-xs);
  color:var(--tx-3); text-decoration:none; }
.fab-i2-fuera i{ font-size:var(--fs-2xs); }
.fab-i2-panel{ margin-top:var(--sp-3); border-top:1px solid var(--br); padding-top:var(--sp-3); }
.fab-i2-panel > .fab-i2-crono{ margin-top:0; border-top:0; padding-top:0; }
.fab-i2-panel--mapa{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  gap:var(--sp-4); align-items:start; }
@media (max-width:820px){ .fab-i2-panel--mapa{ grid-template-columns:minmax(0,1fr); } }
.fab-i2-mapa{ position:relative; min-height:300px; height:100%; min-width:0;
  border-radius:var(--radius); overflow:hidden; background:var(--sf2);
  border:1px solid var(--br); }
.fab-i2-panel--mapa .fab-i2-mapa{ min-height:380px; }
.fab-i2-mapa .mapboxgl-ctrl-bottom-left, .fab-i2-mapa .mapboxgl-ctrl-bottom-right,
.fab-i2-mapa .mapboxgl-ctrl-logo, .fab-i2-mapa .mapboxgl-ctrl-attrib{ display:block !important; opacity:.8; }
.fab-i2-mapa .mapboxgl-ctrl-attrib-inner{ font-size:10px; }
.fab-i2-mapa-lz{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  gap:var(--sp-2); font-size:var(--fs-sm); color:var(--tx-3); text-align:center; padding:var(--sp-3); }
.fab-i2-mapa-nota{ position:absolute; left:0; right:0; bottom:0; padding:5px var(--sp-3);
  background:var(--sf); border-top:1px solid var(--br);
  font-size:var(--fs-2xs); color:var(--tx-3); }
.fab-i2-pin{ width:11px; height:11px; border-radius:50%; background:var(--pin,var(--tx-3));
  box-shadow:0 0 0 2.5px var(--sf); cursor:pointer; }
.fab-i2-pin--ini{ width:13px; height:13px; }
.fab-i2-pin--fin{ width:17px; height:17px; background:transparent;
  border:4px solid var(--pin,var(--tx-3)); box-shadow:0 0 0 2.5px var(--sf); }
.com-pantalla { background: var(--sf3); border: 1px solid var(--br); border-radius: var(--radius);
  overflow: hidden; }
.com-pantalla-barra { display: flex; align-items: center; gap: 7px; padding: 10px var(--sp-4);
  background: var(--sf2); border-bottom: 1px solid var(--br); }
.com-pantalla-barra i { width: 10px; height: 10px; border-radius: 50%; background: var(--br); flex: none; }
.com-pantalla-barra span { margin-left: var(--sp-2); font-size: var(--fs-2xs); color: var(--tx-3);
  font-weight: var(--fw-dato); }
.com-pantalla .com-marco { background: var(--bg); border: 0; border-radius: 0; padding: 22px;
  display: flex; justify-content: center; align-items: flex-start;
  min-height: min(56.25vw, 520px); }
.com-pantalla.movil .com-marco { padding: 14px; min-height: 560px; }
.com-pantalla.movil { max-width: 420px; margin: 0 auto; }
.com-piezas { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-2); }
.com-pieza { flex-direction: row; align-items: center; gap: 10px; justify-content: flex-start;
  background: var(--sf3); border-radius: 14px; padding: 10px; font-size: var(--fs-xs); text-align: left; }
.com-pieza em { font-style: normal; width: 38px; height: 38px; flex: none; border-radius: 11px;
  background: var(--sf); border: 1px solid var(--br); display: grid; place-items: center; }
.com-pieza em i { font-size: var(--fs-md); color: var(--azul-apple); }
.com-pieza b { font-weight: var(--fw-fuerte); min-width: 0; }
.com-fotos { gap: var(--sp-2); }
.com-foto-t { border-radius: 12px; background: var(--sf3); }
.com-foto-t img { aspect-ratio: 1; }
.com-resumen { background: var(--sf3); border: 1px solid var(--br); border-radius: 14px;
  padding: var(--sp-3) var(--sp-4); gap: 0; margin: var(--sp-4) 0; }
.com-rr { display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-3);
  font-size: var(--fs-sm); padding: 8px 0; border-bottom: 1px solid var(--br); }
.com-rr:last-child { border-bottom: 0; }
.com-rr span { color: var(--tx-2); }
.com-rr b { font-weight: var(--fw-fuerte); text-align: right; }
.com-rr-falta { color: var(--azul-apple); }
.com-enviar { min-height: 54px; border-radius: var(--radius); }
.com-aud-test { min-height: 46px; border-radius: var(--radius); }
.com-ver-todas, .com-subir { border-radius: var(--radius); min-height: 46px; }
.com-hoja-vacia { display: flex; flex-direction: column; align-items: center; gap: 6px;
  padding: 48px 28px 56px; text-align: center; color: var(--tx-3); }
.com-hoja-vacia i { font-size: var(--fs-xl); color: var(--br); }
.com-hoja-vacia b { font-size: var(--fs-md); font-weight: var(--fw-black); color: var(--tx-2); }
.com-hoja-vacia span { font-size: var(--fs-sm); max-width: 320px; }
.com-paso .bx-ck-chip, .com-paso .com-seg { background: var(--sf3); }
.com-gente-fila:nth-child(even), .com-res .com-res-fila:nth-child(even) { background: transparent; }
.com-gente-fila { border-bottom: 1px solid var(--br); }
.com-gente-fila:last-child { border-bottom: 0; }
.com-quien-dos { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-3); align-items: start; }
.com-quien-col { display: flex; flex-direction: column; gap: var(--sp-3); min-width: 0; }
.com-apagada { opacity: .62; }
.com-apagada:hover { opacity: 1; }
@media (max-width: 860px) { .com-quien-dos { grid-template-columns: minmax(0, 1fr); } }
.com-pub-ic, .com-dedo-ic, .com-sit-ic {
  background: var(--sf); border: 1px solid var(--br); }
.com-pantalla-barra { background: var(--sf3); }
.com-ver-todas { background: var(--sf); }
.com-foto-t { position: relative; }
.com-foto-uso { position: absolute; top: 6px; left: 6px; font-style: normal;
  font-size: var(--fs-2xs); font-weight: var(--fw-black); letter-spacing: .01em;
  padding: 3px 8px; border-radius: 999px; background: var(--tx); color: var(--sf); }
.com-foto-uso--reciente { background: var(--estado-ojo); color: var(--estado-ojo-ink); }
.com-segs { flex-direction: column; align-items: stretch; }
.com-segs-fila { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.com-segs-nota { font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-3); margin-top: var(--sp-2); }
.com-seg--muerto { cursor: not-allowed; color: var(--tx-3); background: var(--sf2); border-style: dashed; }
.com-seg--muerto:hover { color: var(--tx-3); }
.com-provs { margin-top: var(--sp-3); padding: var(--sp-3); border: 1px solid var(--br); border-radius: var(--radius); background: var(--sf2); }
.com-provs-t { display: flex; align-items: center; gap: var(--sp-3); font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx-2); margin-bottom: var(--sp-3); }
.com-provs-x { font-size: var(--fs-xs); font-weight: var(--fw-detalle); color: var(--azul-apple); background: none; border: 0; cursor: pointer; padding: 0; }
.com-provs-chips { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.com-prov b { font-variant-numeric: tabular-nums; }
.com-provs-sin, .com-provs-vacio { font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-3); margin-top: var(--sp-3); }
.com-gente-src { color: var(--tx-3); font-weight: var(--fw-fino); }
.com-gente-src::before { content: '·'; margin: 0 .4em; }
.com-provs-mas { margin-top: var(--sp-3); }
.com-provs-mas > summary { cursor: pointer; font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-3); list-style: none; }
.com-provs-mas > summary::-webkit-details-marker { display: none; }
.com-provs-mas > summary::before { content: '›'; display: inline-block; margin-right: var(--sp-2); transition: transform var(--dur-fast) var(--ease-out); }
.com-provs-mas[open] > summary::before { transform: rotate(90deg); }
.com-provs-mas > summary:hover { color: var(--tx-2); }
.com-provs-mas .com-provs-chips { margin-top: var(--sp-3); }
.com-folleto { display: none; align-items: center; gap: var(--sp-3); padding: var(--sp-3) var(--sp-4);
  border: 1px solid var(--br); border-radius: var(--radius); background: var(--sf2); margin-bottom: var(--sp-3); }
.com-folleto.avisa, .com-folleto.bien { display: flex; }
.com-folleto-ic { color: var(--bx-ojo-ink); font-size: var(--fs-base); }
.com-folleto-ok { color: var(--bx-bien-ink); }
.com-folleto-tx { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.com-folleto-tx b { font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx); }
.com-folleto-tx span { font-size: var(--fs-xs); font-weight: var(--fw-detalle); color: var(--tx-3); }
.com-folleto-m { background: #fde68a; color: #1c1917; border-radius: 3px; box-shadow: 0 0 0 2px #fde68a; }
.com-news-voz-btns { display: flex; gap: var(--sp-2); flex-shrink: 0; }
.com-voz-mal { color: var(--tx-2); }
.com-news-yaestas { display: flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-sm);
  font-weight: var(--fw-detalle); color: var(--tx-3); padding: var(--sp-2) 0; }
.com-news-otra { display: inline-flex; align-items: center; justify-content: center; gap: var(--sp-2);
  background: none; border: 0; cursor: pointer; padding: var(--sp-2); font-size: var(--fs-sm);
  font-weight: var(--fw-detalle); color: var(--azul-apple); }
.com-news-varias { display: flex; align-items: center; gap: var(--sp-3); padding: var(--sp-3) var(--sp-4);
  border: 1px solid var(--br); border-radius: var(--radius); background: var(--sf2);
  font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-2); margin-bottom: var(--sp-3); }
.com-cambio { display: flex; align-items: flex-start; gap: var(--sp-3); margin-top: var(--sp-3);
  padding: var(--sp-3); border: 1px solid var(--br); border-radius: var(--radius); background: var(--sf2); }
.com-cambio-ic { font-size: var(--fs-base); line-height: 1.3; }
.com-cambio.baja .com-cambio-ic { color: var(--bx-urgente-ink); }
.com-cambio.sube .com-cambio-ic { color: var(--bx-ojo-ink); }
.com-cambio-tx { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.com-cambio-tx b { font-size: var(--fs-sm); font-weight: var(--fw-dato); color: var(--tx); }
.com-cambio-tx span { font-size: var(--fs-xs); font-weight: var(--fw-detalle); color: var(--tx-3); }
.com-news-sin-correo #com-paso-envia { display: none; }
#com-news-cal:empty, #com-news-prop:empty, #com-news-pedir:empty { display: none; }
.com-news-espera--sin-previa { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.com-news-espera--sin-previa .com-news-lado { flex-direction: row; align-items: center; flex-wrap: wrap; gap: var(--sp-5); }
.com-news-espera--sin-previa .com-news-acciones { flex-direction: row; align-items: center; margin-top: 0; flex-wrap: wrap; }
.com-news-espera--sin-previa .com-news-yaestas { width: 100%; order: 3; padding: 0; }
@media (max-width: 900px) {
  .com-news-espera--sin-previa { grid-template-columns: minmax(0, 1fr); }
  .com-news-espera--sin-previa .com-news-lado,
  .com-news-espera--sin-previa .com-news-acciones { flex-direction: column; align-items: stretch; }
}
.cm-vc { display: block; }
.cm-vc-cuerpo { margin-top: var(--sp-4); container-type: inline-size; }
.cm-vc-bloque + .cm-vc-bloque { margin-top: var(--sp-6); }
.cm-vc-ini { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 34px;
  border-radius: var(--radius-sm); background: var(--sf3); color: var(--tx-2);
  font-size: var(--fs-xs); font-weight: var(--fw-fuerte); letter-spacing: .02em; }
.cm-vc-fila { align-items: center; gap: var(--sp-3); }
.cm-vc-fila .cm-rank-name { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-width: 0; }
.cm-vc-chip { display: inline-flex; align-items: center; padding: 1px 7px; border-radius: 6px;
  font-size: var(--fs-2xs); font-weight: var(--fw-fuerte); letter-spacing: .04em; white-space: nowrap; }
.cm-vc-ctx { flex-basis: 100%; color: var(--tx-3); font-size: var(--fs-xs); font-weight: var(--fw-body); }
.cm-vc-fila--frio .cm-vc-ctx { color: var(--estado-ojo-ink); font-weight: var(--fw-dato); }
.cm-vc-mas { margin-top: var(--sp-3); color: var(--tx-3); font-size: var(--fs-xs); }
.cm-vc-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@container (max-width: 900px) { .cm-vc-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container (max-width: 460px) { .cm-vc-kpis { grid-template-columns: minmax(0, 1fr); } }
.cm-vc-montaje { min-width: 0; }
.cm-vc-montaje[data-vista="mapa"] { min-height: 520px; }
.cm-vc-montada .page-header,
.cm-vc-montada .mobile-logo { display: none; }
.cm-vc-montada + .cm-vc-montada { margin-top: var(--sp-6); }
:root { --air-block: 16px; }          
.cm-block {
  background: var(--sf);
  border-radius: 20px;
  padding: var(--sp-6);
  min-width: 0;
}
.cm-block:empty { display: none; padding: 0; background: none; }
.cm-section-h {
  font-size: var(--fs-lg);
  font-weight: var(--fw-detalle);
  text-transform: none;
  letter-spacing: 0;
  color: var(--tx);
  margin: 0 0 var(--sp-4);
  gap: 9px;
}
.cm-section-h i { color: var(--azul-apple); font-size: var(--fs-lg); }
.cm-section-sub { font-size: var(--fs-base); color: var(--tx-2); font-weight: var(--fw-detalle); }
.cm-block .cm-kpi,
.cm-block .cm-health,
.cm-block .cm-alert,
.cm-block .cm-comova,
.cm-block .cm-cap,
.cm-block .cm-recon,
.cm-block .cm-team,
.cm-block .cm-area,
.cm-block .cm-bank-recon,
.cm-block .kpi-card {
  background: var(--sf3);
  border: 0;
  border-radius: var(--radius);
  box-shadow: none;
  padding: 14px 16px;
}
.cm-block .cm-live, .cm-block .cm-park { border: 0; }
.cm-kpi-head { gap: 7px; margin-bottom: 0; }
.cm-block .cm-kpi-ico, .cm-block .kpi-card .cm-kpi-ico {
  width: auto; height: auto; background: none; border: 0; border-radius: 0;
  color: var(--azul-apple); font-size: var(--fs-md); margin: 0;   
}
.cm-block .cm-kpi-lbl, .cm-block .kpi-card .cm-kpi-lbl {
  font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-2);
}
.cm-block .cm-kpi-val, .cm-block .kpi-card .kpi-value {
  font-size: var(--fs-2xl); font-weight: var(--fw-dato); letter-spacing: -.02em; line-height: 1.05;
  font-variant-numeric: tabular-nums; color: var(--tx); margin: 0;
}
.cm-block .cm-kpi-sub, .cm-block .kpi-card .kpi-footer {
  font-size: var(--fs-sm); color: var(--tx-2); font-weight: var(--fw-detalle);
}
.cm-block .cm-kpi-seg { height: 7px; border-radius: 4px; background: var(--sf2); }
[data-theme="dark"] .cm-block .cm-kpi,
[data-theme="dark"] .cm-block .cm-health,
[data-theme="dark"] .cm-block .cm-alert,
[data-theme="dark"] .cm-block .cm-comova,
[data-theme="dark"] .cm-block .cm-cap,
[data-theme="dark"] .cm-block .cm-recon,
[data-theme="dark"] .cm-block .cm-team,
[data-theme="dark"] .cm-block .cm-area,
[data-theme="dark"] .cm-block .cm-bank-recon,
[data-theme="dark"] .cm-block .kpi-card { background: var(--sf2); }
.cm-block { container-type: inline-size; }
.cm-kpis-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@container (max-width: 900px) { .cm-kpis-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container (max-width: 460px) { .cm-kpis-4 { grid-template-columns: minmax(0, 1fr); } }
.cm-block .cm-movers {
  border-left: 0; padding-left: 0; margin-top: var(--sp-4);
  display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--sp-2);
}
.cm-block .cm-movers-h {
  grid-column: 1 / -1; margin: 0 0 2px; font-size: var(--fs-sm); color: var(--tx-2);
  text-transform: none; letter-spacing: 0; font-weight: var(--fw-detalle);
}
.cm-block .cm-mover {
  flex-direction: column; align-items: flex-start; gap: 3px; min-width: 0;
  background: var(--sf); border-radius: var(--radius-sm); border-bottom: 0; padding: 9px 12px;
}
[data-theme="dark"] .cm-block .cm-mover { background: var(--sf3); }
.cm-block .cm-mover-name { font-size: var(--fs-sm); max-width: 100%; }
@container (max-width: 900px) { .cm-block .cm-movers { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@container (max-width: 460px) { .cm-block .cm-movers { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.cm-block .cm-vc-fila {
  grid-template-columns: 34px minmax(0, 1fr) auto;
  background: var(--sf3); border-radius: var(--radius-sm); padding: 10px 14px; min-height: 0;
}
.cm-block .cm-vc-fila + .cm-vc-fila { margin-top: 6px; }
.cm-block .cm-rank > :nth-child(odd of .cm-vc-fila) { background: var(--sf3); }   
[data-theme="dark"] .cm-block .cm-vc-fila,
[data-theme="dark"] .cm-block .cm-rank > :nth-child(odd of .cm-vc-fila) { background: var(--sf2); }
.bxa .bxa-quieta{ margin:0 0 var(--sp-4); padding:var(--sp-3) var(--sp-4); border-radius:12px;
  background:var(--surface-2, #f2f2f2); color:var(--tx-2, #555); font-size:var(--fs-sm, 13px);
  line-height:1.5; border-left:none }
.bxa .bxa-quieta b{ color:var(--tx, #141414); font-weight:var(--fw-fuerte, 600) }
.bxa .bxa-cargando{ padding:var(--sp-6); color:var(--tx-2,#555); font-size:var(--fs-sm,13px) }
.fab-ini-cero { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--sp-4);
  align-items: center; padding: var(--sp-4) var(--sp-5); }
.fab-ini-cero > i { font-size: var(--fs-lg); color: var(--tx-3); }
.fab-ini-cero b { display: block; font-size: var(--fs-md); font-weight: var(--fw-fuerte); color: var(--tx); }
.fab-ini-cero small { display: block; margin-top: 2px; font-size: var(--fs-sm);
  font-weight: var(--fw-detalle); color: var(--tx-2); }
.fab-ini-cero--pregunta > i { color: var(--estado-ojo-ink); }
.fab-ini-porque { display: grid; gap: var(--sp-3); }
.fab-ini-porque label { font-size: var(--fs-sm); font-weight: var(--fw-detalle); color: var(--tx-2); }
.fab-ini-porque input { appearance: none; -webkit-appearance: none; width: 100%;
  padding: var(--sp-3) 14px; background: color-mix(in srgb, var(--sf2) 45%, var(--sf));
  border: 1.5px solid var(--br-2); border-radius: var(--radius-sm);
  font: inherit; font-size: var(--fs-md); color: var(--tx); }
.fab-ini-porque input:focus { outline: 2px solid var(--accent); outline-offset: 1px; border-color: var(--accent); }
.fab-ini-porque-chips { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
@media (max-width: 560px) {
  .fab-ini-cero { grid-template-columns: auto minmax(0, 1fr); }
  .fab-ini-cero > button { grid-column: 1 / -1; justify-self: start; }
}
.bx-sin-llave{
  padding: var(--sp-3) var(--sp-4);
  background: var(--estado-aviso, #9a5b00); color: #fff;
  font-size: var(--fs-sm); font-weight: var(--fw-dato, 600);
  text-align: center; line-height: 1.35;
}
