/* ══════════════════════════════════════════════════════════════════
   TirguaCloud · Tema «Tinta» (v352)
   ──────────────────────────────────────────────────────────────────
   Papel blanco, tinta casi negra y un solo azul de la marca. Sin
   cristal, sin degradados, sin sombras de adorno: líneas finas y
   esquinas discretas. Todo color, letra y espacio sale de aquí, y
   cambiar de tema (claro · oscuro · visión) cambia la pantalla entera.

   Escalas (mismos nombres que antes, para no tocar pantallas):
     --n*  grises neutros (blanco → tinta)   --a*  azul de la marca
     --g*  verde (bien / cobrado)   --r*  rojo (error)   --y*  naranja (aviso)
     --v*  violeta (notas, crédito) --c*  turquesa (ubicaciones) --p* rosa

   Letras:
     Títulos y cifras grandes → --f-titulo (Garamond, del servidor).
       Para cambiarla basta con tocar la línea --f-titulo de abajo.
     Texto de pantalla → la letra propia del sistema de cada equipo
       (Segoe UI en Windows, San Francisco en Mac/iPhone, Roboto en
       Android): cero descargas y la más legible en cada pantalla.
     Visión → Atkinson Hyperlegible.
   Iconos: paquete propio TirguaCloud.
   ══════════════════════════════════════════════════════════════════ */

/* Garamond: su ojo es pequeño; size-adjust la iguala al resto sin tocar tamaños */
@font-face{font-family:'TC Serif';font-weight:300;font-style:normal;font-display:swap;size-adjust:116%;src:url('fonts/garamond-300.woff2') format('woff2');}
@font-face{font-family:'TC Serif';font-weight:400 500;font-style:normal;font-display:swap;size-adjust:116%;src:url('fonts/garamond-400.woff2') format('woff2');}
@font-face{font-family:'TC Serif';font-weight:400 500;font-style:italic;font-display:swap;size-adjust:116%;src:url('fonts/garamond-400i.woff2') format('woff2');}
@font-face{font-family:'TC Serif';font-weight:600 900;font-style:normal;font-display:swap;size-adjust:116%;src:url('fonts/garamond-700.woff2') format('woff2');}
@font-face{font-family:'Atkinson';font-weight:400 500;font-style:normal;font-display:swap;src:url('fonts/atkinson-400.woff2') format('woff2');}
@font-face{font-family:'Atkinson';font-weight:600 900;font-style:normal;font-display:swap;src:url('fonts/atkinson-700.woff2') format('woff2');}

/* ── TEMA CLARO «Tinta» (por defecto) ─────────────────────────── */
:root,[data-tema="claro"]{
  color-scheme:light;
  --bg:#f4f5f6;--n0:#ffffff;--n50:#f8f9fa;--n100:#f0f1f3;--n200:#e2e4e8;--n300:#cbcfd5;--n400:#949aa3;--n500:#626872;--n600:#4a5059;--n700:#363b43;--n800:#24282e;--n900:#14171b;
  --a50:#eef2f9;--a100:#dde5f3;--a200:#bccbe6;--a300:#8ea8d6;--a500:#2451a6;--a600:#1d4590;--a700:#163674;
  --g50:#edf6f1;--g100:#d6ece0;--g200:#acd8c0;--g300:#72b994;--g500:#1d7a4c;--g600:#186a41;--g700:#135635;--g800:#0e4328;
  --r50:#fbefee;--r100:#f6dcd9;--r200:#ebb6b0;--r300:#da877e;--r500:#b8382c;--r600:#9e2f24;--r800:#6c1f18;
  --y50:#fdf2ea;--y100:#f9e0cf;--y300:#e9a374;--y500:#b5500e;--y600:#9b440b;--y800:#6b2f07;
  --v50:#f2f1f8;--v100:#e4e2f1;--v200:#c9c4e3;--v600:#4e44a6;
  --c50:#eaf5f6;--c100:#cfe8eb;--c700:#0d6672;
  --p50:#fbf0f4;--p200:#efc3d4;--p600:#a2345f;--p800:#6e1f3e;
  --on:#ffffff;
  --rail:#ffffff;--rail-tx:#4a5059;--rail-hi:#f0f1f3;--rail-on:#14171b;--rail-line:#e2e4e8;
  --vidrio:#ffffff;--vidrio-fuerte:#ffffff;--vidrio-borde:#e2e4e8;--vidrio-linea:#e2e4e8;
  --velo:rgba(20,23,27,.40);--campo:#8a919b;
  --fondo-img:none;
  --sombra:none;
  --sombra-alta:0 1px 2px rgba(20,23,27,.06),0 16px 40px rgba(20,23,27,.14);
  --brillo:0 0 #0000;
  --ring:0 0 0 3px rgba(36,81,166,.20);
  --blur:none;
  --f:-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',Roboto,Arial,sans-serif;
  --f-titulo:'TC Serif',Georgia,'Times New Roman',serif;
  --mono:ui-monospace,'SF Mono','Cascadia Mono',Consolas,'Liberation Mono',monospace;
  --r-s:4px;--r-m:6px;--r-l:8px;--r-xl:10px;
  --borde:1px;
}

/* «Relleno sólido» (fondo de botón o etiqueta con texto blanco encima). */
:root{--g500s:var(--g500);--r500s:var(--r500);--y500s:var(--y500);--p600s:var(--p600);--a600s:var(--a600);--a700s:var(--a700);--g600s:var(--g600);--g700s:var(--g700);--g800s:var(--g800);
  --r600s:var(--r600);--r800s:var(--r800);--y600s:var(--y600);--y800s:var(--y800);--n800s:var(--n800);--n900s:var(--n900);
  --c700s:var(--c700);--p800s:var(--p800);--v600s:var(--v600);--a500s:var(--a500);}
[data-tema="oscuro"]{--g500s:#1f7a4c;--r500s:#b8413a;--y500s:#b0561a;--p600s:#9e3a62;--a500s:#3563bd;--a600s:#3563bd;--a700s:#2b55a6;--g600s:#1f7a4c;--g700s:#1b6c43;--g800s:#175c39;--r600s:#b8413a;--r800s:#9c3530;
  --y600s:#b0561a;--y800s:#934714;--n800s:#2e3036;--n900s:#3a3c43;--c700s:#167480;--p800s:#9e3a62;--v600s:#5a50b8;}

/* ── TEMA OSCURO «Grafito» — gris neutro, nada de azul marino ─── */
[data-tema="oscuro"]{
  color-scheme:dark;
  --bg:#0f1012;--n0:#17181b;--n50:#1c1d21;--n100:#222328;--n200:#2c2e33;--n300:#3b3d44;--n400:#62656d;--n500:#8f929a;--n600:#b0b3ba;--n700:#cacdd2;--n800:#e0e2e6;--n900:#f2f3f5;
  --a50:#18213a;--a100:#1d2a4a;--a200:#28396a;--a300:#37508f;--a500:#7099e8;--a600:#93b2ef;--a700:#bcd0f6;
  --g50:#13221a;--g100:#172e22;--g200:#1f4431;--g300:#2d6647;--g500:#45b07c;--g600:#68c696;--g700:#9adbb8;--g800:#c3ebd5;
  --r50:#2a1716;--r100:#3a1d1b;--r200:#5a2b27;--r300:#86423b;--r500:#e8695e;--r600:#f08c82;--r800:#f8c3bd;
  --y50:#2a1b11;--y100:#3c2616;--y300:#8c4f27;--y500:#ef8c4f;--y600:#f5a676;--y800:#fad3b9;
  --v50:#1e1c33;--v100:#27244a;--v200:#39347a;--v600:#a69ff0;
  --c50:#10252a;--c100:#143339;--c700:#82d0da;
  --p50:#2a1620;--p200:#58263e;--p600:#e47ea9;--p800:#f5bfd6;
  --on:#ffffff;
  --rail:#17181b;--rail-tx:#b0b3ba;--rail-hi:#222328;--rail-on:#f2f3f5;--rail-line:#2c2e33;
  --vidrio:#17181b;--vidrio-fuerte:#17181b;--vidrio-borde:#2c2e33;--vidrio-linea:#2c2e33;
  --velo:rgba(0,0,0,.62);--campo:#62656d;
  --fondo-img:none;
  --sombra:none;
  --sombra-alta:0 0 0 1px #2c2e33,0 18px 48px rgba(0,0,0,.6);
  --brillo:0 0 #0000;
  --ring:0 0 0 3px rgba(112,153,232,.32);
}

/* ── TEMA VISIÓN (letra grande, contraste alto) ───────────────── */
[data-tema="vision"]{
  color-scheme:light;
  --bg:#f2f3f5;--n0:#ffffff;--n50:#f7f8f9;--n100:#eceef1;--n200:#d3d7dd;--n300:#a3a9b2;--n400:#4f555e;--n500:#383d45;--n600:#2a2e35;--n700:#1d2026;--n800:#121419;--n900:#05070a;
  --a50:#e9eefa;--a100:#d4def5;--a200:#a9bdeb;--a300:#6f8fd6;--a500:#1640a0;--a600:#103383;--a700:#0b2765;
  --g50:#e4f3ea;--g100:#c9e7d5;--g200:#9bd1b1;--g300:#5cab7f;--g500:#0f6237;--g600:#0b512d;--g700:#084223;--g800:#06341b;
  --r50:#fae8e6;--r100:#f4d0cc;--r200:#e7a69f;--r300:#cf7469;--r500:#9b2417;--r600:#831d11;--r800:#57130b;
  --y50:#fcebdf;--y100:#f7d5bd;--y300:#d9864f;--y500:#8a3a05;--y600:#733003;--y800:#4d2002;
  --v50:#eeecf8;--v100:#dcd8f1;--v200:#bbb3e4;--v600:#3a2f96;
  --c50:#e2f1f3;--c100:#c5e3e7;--c700:#064a53;
  --p50:#f8e7ee;--p200:#e8b0c6;--p600:#871f4a;--p800:#5a1431;
  --on:#ffffff;
  --rail:#ffffff;--rail-tx:#1d2026;--rail-hi:#e9eefa;--rail-on:#05070a;--rail-line:#a3a9b2;
  --vidrio:#ffffff;--vidrio-fuerte:#ffffff;--vidrio-borde:#a3a9b2;--vidrio-linea:#a3a9b2;
  --velo:rgba(5,7,10,.55);--campo:#4f555e;
  --fondo-img:none;
  --sombra:none;
  --sombra-alta:0 0 0 2px #05070a,0 18px 50px rgba(5,7,10,.28);
  --brillo:0 0 #0000;
  --ring:0 0 0 4px rgba(22,64,160,.42);
  --blur:none;
  --f:'Atkinson',-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --f-titulo:'Atkinson',-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --borde:1.5px;
}
html[data-tema="vision"]{font-size:18px;}
[data-tema="vision"] *:not(.spin){animation-duration:0s!important;transition-duration:0s!important;}
[data-tema="vision"] :focus-visible{outline:3px solid var(--a500)!important;outline-offset:2px;}
[data-tema="vision"] .btn,[data-tema="vision"] button.pm-btn{min-height:2.75rem;}

/* ── BASE ─────────────────────────────────────────────────────── */
html{font-size:16px;-webkit-text-size-adjust:100%;}
*,*::before,*::after{box-sizing:border-box;}
.tc,.tc *{font-family:var(--f);}
.tc{margin:0;background-color:var(--bg);background-image:var(--fondo-img);background-attachment:fixed;color:var(--n900);
  font-size:.9375rem;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:'tnum' 1;}
.tc h1,.tc h2,.tc h3,.tc p{margin:0;}
.tc h1,.tc h2,.tc .titulo,.tc .cifra{font-family:var(--f-titulo);letter-spacing:0;}
.tc h1{font-weight:400;} .tc h2{font-weight:400;}
.tc ::selection{background:var(--a200);color:var(--n900);}
.tc .num,.tc .mono{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:0;}
.tc [style*="monospace"]{font-family:var(--mono)!important;}
:where(.tc) a:not([class]){color:var(--a600);}
.tc ::-webkit-scrollbar{width:10px;height:10px;}
.tc ::-webkit-scrollbar-thumb{background:var(--n300);border-radius:10px;border:3px solid transparent;background-clip:content-box;}
.tc ::-webkit-scrollbar-thumb:hover{background-color:var(--n400);}
.tc ::-webkit-scrollbar-track{background:transparent;}

/* Cristal: úsalo en barras, menús y paneles flotantes (no en listas largas) */
.tc .vidrio{background:var(--vidrio);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  border:var(--borde) solid var(--vidrio-borde);box-shadow:var(--sombra),var(--brillo);}
.tc .panel{background:var(--n0);border:var(--borde) solid var(--n200);border-radius:var(--r-l);box-shadow:var(--sombra);}

/* Iconos «Trazo Tirgua» (los pinta tc.js) */
.tc .sym,.tc .material-symbols-outlined{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;
  font-size:1.15rem;line-height:1;flex-shrink:0;vertical-align:middle;overflow:hidden;color:inherit;user-select:none;}
.tc .sym:not(.ic-ok),.tc .material-symbols-outlined:not(.ic-ok){color:transparent!important;}
.tc svg.ic{width:1em;height:1em;display:block;stroke-width:1.75;overflow:visible;}
.tc .spin{animation:tc-gira .9s linear infinite;}
@keyframes tc-gira{to{transform:rotate(360deg);}}

/* Campos y botones: con :where() para que las clases de cada pantalla manden si hay choque */
html :where(.tc) input:where(:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden])),html :where(.tc) select,html :where(.tc) textarea{
  font:inherit;font-size:.9rem;color:var(--n900);background:var(--n0);
  border:var(--borde) solid var(--n300);border-radius:var(--r-m);padding:.55rem .75rem;width:100%;outline:none;
  transition:border-color .12s,box-shadow .12s;}
html :where(.tc) input:where(:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden])):hover,html :where(.tc) select:hover,html :where(.tc) textarea:hover{border-color:var(--campo);}
html :where(.tc) input::placeholder,html :where(.tc) textarea::placeholder{color:var(--n400);}
:where(.tc) input:focus,:where(.tc) select:focus,:where(.tc) textarea:focus{border-color:var(--a500)!important;box-shadow:var(--ring);}
html :where(.tc) input:where([type=number]){font-family:var(--mono);}
html :where(.tc) input:where([type=checkbox],[type=radio]){accent-color:var(--a500);}
:where(.tc) .lbl{display:block;font-size:.74rem;font-weight:600;color:var(--n500);letter-spacing:.01em;margin-bottom:.35rem;text-transform:none;}

/* Botones */
:where(.tc) .btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.6rem 1rem;
  border-radius:var(--r-m);border:var(--borde) solid transparent;font:inherit;font-size:.875rem;font-weight:600;
  line-height:1.15;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background .12s,border-color .12s,color .12s,box-shadow .12s,transform .06s;}

:where(.tc) .btn:disabled{opacity:.5;cursor:not-allowed;transform:none;}
:where(.tc) .btn .sym{font-size:1.05rem;}
:where(.tc) .btn-primary{background:var(--a500s);color:var(--on);}
:where(.tc) .btn-primary:hover{background:var(--a600s);}
:where(.tc) .btn-success{background:var(--g600s);color:var(--on);}
:where(.tc) .btn-success:hover{background:var(--g700s);}
:where(.tc) .btn-ghost,:where(.tc) .btn-sec{background:var(--n0);color:var(--n800);border-color:var(--n300);}
:where(.tc) .btn-ghost:hover,:where(.tc) .btn-sec:hover{background:var(--n0);border-color:var(--campo);}
:where(.tc) .btn-danger{background:transparent;color:var(--r500);border-color:transparent;}
:where(.tc) .btn-danger:hover{background:var(--r50);}
:where(.tc) .btn-quiet{background:transparent;color:var(--n600);border-color:transparent;}
:where(.tc) .btn-quiet:hover{background:var(--rail-hi);color:var(--a600);}
:where(.tc) .btn:focus-visible,:where(.tc) button:focus-visible,:where(.tc) a:focus-visible{outline:2px solid var(--a500);outline-offset:2px;}

/* Etiquetas («chips») */
:where(.tc) .chip{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem .55rem;border-radius:var(--r-s);font-size:.72rem;font-weight:600;
  background:var(--a50);color:var(--a700);border:1px solid var(--a100);}
:where(.tc) .chip.ok{background:var(--g50);color:var(--g700);border-color:var(--g100);}
:where(.tc) .chip.aviso{background:var(--y50);color:var(--y800);border-color:var(--y100);}
:where(.tc) .chip.error{background:var(--r50);color:var(--r600);border-color:var(--r100);}

/* Ventanas (cristal casi opaco sobre velo) */
:where(.tc) .overlay{display:none;position:fixed;inset:0;background:var(--velo);z-index:60;place-items:center;padding:1rem;}
:where(.tc) .overlay.open{display:grid;animation:tc-velo .14s ease-out;}
:where(.tc) .modal{background:var(--n0);color:var(--n900);
  border-radius:var(--r-xl);box-shadow:var(--sombra-alta),var(--brillo);width:100%;max-height:92vh;overflow-y:auto;border:var(--borde) solid var(--vidrio-borde);
  animation:tc-sube .16s ease-out;}
:where(.tc) .modal h2{font-size:1.25rem;font-weight:400;letter-spacing:0;}
@keyframes tc-velo{from{opacity:0}}
@keyframes tc-sube{from{opacity:0;transform:translateY(4px)}}
@media (prefers-reduced-motion:reduce){:where(.tc) .overlay.open,:where(.tc) .modal{animation:none;}}

/* Aviso flotante */
.tc .tc-toast{display:flex;align-items:center;gap:.6rem;background:var(--n900);color:var(--n0);padding:.75rem 1rem;
  border-radius:var(--r-l);box-shadow:var(--sombra-alta);font-size:.875rem;font-weight:500;max-width:28rem;}
.tc .tc-toast .sym{font-size:1.1rem;}
.tc .tc-toast.t-k .sym{color:var(--g300);} .tc .tc-toast.t-w .sym{color:var(--y300);} .tc .tc-toast.t-e .sym{color:var(--r300);}
[data-tema="oscuro"] .tc .tc-toast{background:var(--n800);color:var(--bg);}
[data-tema="oscuro"] .tc .tc-toast.t-k .sym{color:var(--g500);}
[data-tema="oscuro"] .tc .tc-toast.t-w .sym{color:#a06a00;}
[data-tema="oscuro"] .tc .tc-toast.t-e .sym{color:var(--r500);}

/* ── BARRA LATERAL de cristal (punto de venta) ────────────────── */
.tc .rail{width:76px;flex-shrink:0;background:var(--rail);isolation:isolate;
  color:var(--rail-tx);display:flex;flex-direction:column;height:100vh;position:relative;z-index:40;border-right:var(--borde) solid var(--rail-line);}
.tc .rail::before{content:'';position:absolute;inset:0;z-index:-1;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);pointer-events:none;}
.tc .rail-logo{display:flex;align-items:center;justify-content:center;height:60px;border-bottom:1px solid var(--rail-line);}
.tc .rail-logo span{width:38px;height:38px;border-radius:var(--r-m);background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:3px;
  box-shadow:0 0 0 1px var(--rail-line),0 2px 6px rgba(13,40,90,.08);}
.tc .rail-logo img{width:100%;height:100%;object-fit:contain;}
.tc .rail-nav{flex:1;display:flex;flex-direction:column;gap:2px;padding:.6rem .45rem;overflow-y:auto;}
.tc .rail-it{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  padding:.6rem .2rem .55rem;border-radius:var(--r-m);color:var(--rail-tx);text-decoration:none;border:0;background:none;
  cursor:pointer;width:100%;font:inherit;}
.tc .rail-it .sym{font-size:1.3rem;}
.tc .rail-it span:last-child{font-size:.66rem;font-weight:600;letter-spacing:.01em;line-height:1;}
.tc .rail-it:hover{background:var(--rail-hi);color:var(--rail-on);}
.tc .rail-it.active{color:var(--a600);background:var(--rail-hi);}
.tc .rail-it.active::before{content:'';position:absolute;left:-.45rem;top:.55rem;bottom:.55rem;width:3px;border-radius:0 3px 3px 0;background:var(--a500);}
.tc .rail-pie{display:flex;flex-direction:column;align-items:stretch;gap:2px;padding:.5rem .45rem .7rem;border-top:1px solid var(--rail-line);}
.tc .rail-yo{width:34px;height:34px;margin:.25rem auto;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:.72rem;font-weight:700;color:var(--a700);background:var(--a100);letter-spacing:.03em;}
.tc .rail form{margin:0;}

/* Selector de tema */
.tema-menu{position:fixed;z-index:2100;font-family:var(--f);font-size:.9375rem;line-height:1.4;background:var(--vidrio-fuerte);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  color:var(--n900);border:var(--borde) solid var(--vidrio-borde);border-radius:var(--r-l);box-shadow:var(--sombra-alta),var(--brillo);padding:.35rem;width:16rem;}
.tema-menu .tm-tit{font-size:.72rem;font-weight:600;color:var(--n500);padding:.45rem .6rem .35rem;letter-spacing:.02em;}
.tema-op{display:flex;align-items:center;gap:.65rem;width:100%;border:0;background:none;padding:.55rem .6rem;border-radius:var(--r-m);
  cursor:pointer;font:inherit;color:var(--n900);text-align:left;}
.tema-op:hover{background:var(--n100);}
.tema-op .sym{font-size:1.1rem;color:var(--n600);}
.tema-op b{display:block;font-size:.875rem;font-weight:600;}
.tema-op small{display:block;font-size:.74rem;color:var(--n500);margin-top:1px;}
.tema-op.on{background:var(--a50);}
.tema-op.on .sym{color:var(--a500);}
.tema-muestra{width:22px;height:22px;border-radius:6px;border:1px solid var(--n300);flex-shrink:0;display:flex;overflow:hidden;}
.tema-muestra i{flex:1;}

/* ══ v352 · Limpieza: fuera los adornos «de plantilla» en todas las pantallas ══
   (cuadritos de color detrás de los iconos, botones de mil colores, etiquetas
   en mayúsculas diminutas, cifras en negrita gruesa). Solo CSS: no toca datos. */

/* Tarjetas de cifras: sin el cuadrito de color del icono; la cifra en Garamond */
.kpi > :first-child:is(div,span):has(> .sym):not(:only-child){display:none!important;}
:is(.kpi,.scard,.card) :is(.text-xl,.text-2xl,.text-3xl,.text-4xl):is(.font-black,.font-extrabold,.font-bold){
  font-family:var(--f-titulo)!important;font-weight:400!important;letter-spacing:0!important;font-size:2rem;line-height:1.1;}
body :is(.text-2xl,.text-3xl,.text-4xl).font-black{font-family:var(--f-titulo)!important;font-weight:400!important;letter-spacing:0!important;}

/* Cuadritos de color detrás de un icono → solo el icono */
:is(.w-7,.w-8,.w-9,.w-10,.w-11,.w-12).flex.items-center.justify-center:has(> .sym):is([class*="bg-"]):not([class*="bg-white"]):not(.rounded-full){
  background:transparent!important;box-shadow:none!important;}

/* Botones y pestañas pastel (un color distinto cada uno) → todos iguales y sobrios */
:is(button,a):is(.bg-cyan-50,.bg-teal-50,.bg-violet-50,.bg-purple-50,.bg-indigo-50,.bg-pink-50,.bg-sky-50,.bg-emerald-50,.bg-amber-50,.bg-orange-50,.bg-blue-50):not(.tc-keep),
:is(button,a)[style*="background:var(--c50"],:is(button,a)[style*="background:var(--v50"],:is(button,a)[style*="background:var(--p50"],
:is(button,a)[style*="background:var(--g50"],:is(button,a)[style*="background:var(--y50"],:is(button,a)[style*="background:var(--a50"]{
  background:var(--n0)!important;color:var(--n800)!important;border:var(--borde) solid var(--n300)!important;box-shadow:none!important;}
:is(button,a)[style*="background:var(--r50"],:is(button,a).bg-red-50{background:var(--n0)!important;color:var(--r600)!important;border:var(--borde) solid var(--n300)!important;}
:is(button,a):is([class*="bg-"][class*="-50"],[style*="50,"]):hover{background:var(--n100)!important;}

/* Etiquetas en mayúsculas diminutas → texto normal, más fácil de leer (las cabeceras de tabla se quedan) */
:is(.text-\[9px\],.text-\[10px\],.text-\[11px\],.text-xs).uppercase:not(th):not(thead *):not(.badge):not(.chip){
  text-transform:none!important;letter-spacing:0!important;font-size:.75rem!important;font-weight:500!important;}
th,thead th{letter-spacing:.04em;}

/* Negrita gruesa → semibold */
body .font-black{font-weight:650;} body .font-extrabold{font-weight:600;}

/* Tema oscuro: los avisos no se vuelven «marrón»; fondo gris y texto naranja */
[data-tema="oscuro"]{--y50:#1c1d21;--y100:#26272c;--y300:#5a3a26;}

/* ══ v352 · BARRA LATERAL (admin y empleado) ═════════════════════
   Larga: icono y nombre · Corta: solo iconos (clase «lado-corto» en <html>). */
:root{--lado-w:232px;}
html.lado-corto{--lado-w:64px;}

/* Barra del portal del empleado (views/empleado/components/sidebar.php) */
.lado{position:sticky;top:0;height:100vh;width:var(--lado-w);flex-shrink:0;z-index:40;display:flex;flex-direction:column;
  background:var(--rail);color:var(--rail-tx);border-right:var(--borde) solid var(--rail-line);font-family:var(--f);overflow:hidden;}
.lado-marca{display:flex;align-items:center;gap:.65rem;height:60px;padding:0 .9rem;flex-shrink:0;text-decoration:none;color:var(--rail-on);border-bottom:1px solid var(--rail-line);}
.lado-logo{width:32px;height:32px;border-radius:var(--r-m);background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:2px;flex-shrink:0;box-shadow:0 0 0 1px var(--rail-line);}
.lado-logo img{width:100%;height:100%;object-fit:contain;}
.lado-marca-t{min-width:0;line-height:1.2;}
.lado-marca-t b{display:block;font-family:var(--f-titulo);font-weight:400;font-size:1.08rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lado-marca-t small{display:block;font-size:.66rem;color:var(--n500);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;}
.lado-nav{flex:1;display:flex;flex-direction:column;gap:1px;padding:.7rem .55rem;overflow-y:auto;overflow-x:hidden;}
.lado-it{position:relative;display:flex;align-items:center;gap:.7rem;width:100%;min-height:38px;padding:.5rem .65rem;border-radius:var(--r-m);
  color:var(--rail-tx);text-decoration:none;border:0;background:none;cursor:pointer;font:inherit;font-size:.875rem;font-weight:500;text-align:left;white-space:nowrap;}
.lado-it .sym{font-size:1.2rem;color:var(--n500);flex-shrink:0;}
.lado-it:hover{background:var(--rail-hi);color:var(--rail-on);}
.lado-it:hover .sym{color:var(--rail-on);}
.lado-it.on{background:var(--rail-hi);color:var(--rail-on);font-weight:600;}
.lado-it.on .sym{color:var(--a500);}
.lado-it.on::before{content:'';position:absolute;left:-.55rem;top:.5rem;bottom:.5rem;width:2px;background:var(--a500);}
.lado-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;}
.lado-movil{color:var(--a600);}
.lado-movil .lt-corto{display:none;}
.lado-pie{display:flex;flex-direction:column;gap:1px;padding:.55rem;border-top:1px solid var(--rail-line);}
.lado-pie form{margin:0;}
.lado-yo{cursor:default;}
.lado-yo:hover{background:none;}
.lado-ini{width:26px;height:26px;border-radius:50%;background:var(--n100);color:var(--n800);display:flex;align-items:center;justify-content:center;
  font-size:.66rem;font-weight:600;flex-shrink:0;letter-spacing:.03em;box-shadow:inset 0 0 0 1px var(--n200);}
.lado-yo .lado-t b{display:block;font-size:.8rem;font-weight:600;color:var(--rail-on);overflow:hidden;text-overflow:ellipsis;}
.lado-yo .lado-t small{display:block;font-size:.7rem;color:var(--n500);overflow:hidden;text-overflow:ellipsis;}
.lado-salir .lado-it:hover{color:var(--r600);} .lado-salir .lado-it:hover .sym{color:var(--r500);}
.lado-plegar .sym svg{transition:transform .15s;}

html.lado-corto .lado-marca{padding:0;justify-content:center;}
html.lado-corto .lado-marca-t,html.lado-corto .lado .lado-t{display:none;}
html.lado-corto .lado-nav,html.lado-corto .lado-pie{padding-left:.45rem;padding-right:.45rem;}
html.lado-corto .lado-it{justify-content:center;padding:.5rem 0;gap:0;}
html.lado-corto .lado-it.on::before{left:-.45rem;}
html.lado-corto .lado-plegar .sym svg{transform:scaleX(-1);}

/* Pantallas medianas (tableta, portátil pequeño): la barra va corta sola */
@media(min-width:761px) and (max-width:1100px){
  body:has(.lado){--lado-w:64px;}
  .lado .lado-marca{padding:0;justify-content:center;}
  .lado .lado-marca-t,.lado .lado-t{display:none;}
  .lado .lado-it{justify-content:center;padding:.5rem 0;gap:0;}
  .lado .lado-plegar{display:none;}
}
/* Teléfono: barra de pestañas abajo, con iconos y nombre corto */
@media(max-width:760px){
  body:has(.lado){--lado-w:0px;}
  .lado{position:fixed;top:auto;left:0;right:0;bottom:0;height:auto;width:auto;flex-direction:row;z-index:60;
    border-right:0;border-top:var(--borde) solid var(--rail-line);padding-bottom:env(safe-area-inset-bottom);}
  .lado-marca,.lado-plegar,.lado-yo{display:none!important;}
  .lado-movil .lt-largo{display:none;} .lado-movil .lt-corto{display:inline!important;}
  .lado-nav{flex-direction:row;padding:.3rem;gap:0;overflow-x:auto;flex:1;}
  .lado-pie{flex-direction:row;padding:.3rem;border-top:0;border-left:1px solid var(--rail-line);}
  .lado-it,html.lado-corto .lado-it{flex-direction:column;justify-content:center;gap:2px;min-width:3.6rem;padding:.35rem .3rem;font-size:.62rem;}
  .lado .lado-t,html.lado-corto .lado .lado-t{display:block;flex:none;text-align:center;}
  .lado-it.on::before{display:none;}
  body:has(> .lado),body:has(> * > .lado){padding-bottom:64px!important;}
}
