@font-face{font-family:Clash Display;src:url(/fonts/ClashDisplay-Variable.woff2) format("woff2");font-weight:200 700;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Variable.woff2) format("woff2");font-weight:300 900;font-display:swap}:root{--navy-50:#eef1ff;--navy-100:#dfe5ff;--navy-200:#cad2ff;--navy-300:#b3bef0;--navy-400:#96a1d7;--navy-500:#7782bb;--navy-600:#555e98;--navy-700:#3c447f;--navy-800:#272d67;--navy-900:#15164c;--navy-950:#070332;--rosa-100:#f9ddeb;--rosa-200:#f6cee2;--rosa-300:#ecaacc;--neutral-600:#5b6470;--blanco:#fff;--crema-50:#fdf8ee;--error-50:#ffeded;--error-600:#ae2840;--exito-50:#def9ec;--exito-600:#007654;--warning-50:#ffefdf;--warning-600:#9a5a00;--surface-page:var(--blanco);--surface-subtle:var(--navy-50);--surface-cream:var(--crema-50);--surface-card:var(--blanco);--surface-inverse:var(--navy-800);--surface-veil:rgba(238,241,255,.08);--text-primary:var(--navy-800);--text-secondary:var(--navy-700);--text-tertiary:var(--neutral-600);--text-inverse:var(--blanco);--border-subtle:var(--navy-100);--border-strong:var(--navy-800);--font-display:"Clash Display",system-ui,sans-serif;--font-body:"Satoshi",system-ui,sans-serif;--radius-sm:8px;--radius-md:16px;--radius-lg:22px;--radius-pill:100px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:40px;--space-2xl:64px;--shadow-card:0 1px 2px rgba(39,45,103,.05),0 12px 32px -18px rgba(39,45,103,.28)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--surface-page:var(--navy-950);--surface-subtle:var(--navy-900);--surface-card:var(--navy-900);--surface-cream:var(--navy-900);--text-primary:var(--navy-50);--text-secondary:var(--navy-200);--text-tertiary:var(--navy-300);--border-subtle:var(--navy-800);--border-strong:var(--navy-300);--error-50:#42000e;--error-600:#ffa4a8;--exito-50:#002719;--exito-600:#7fd6b1;--warning-50:#3a2100;--warning-600:#ffc98a;--shadow-card:0 1px 2px rgba(0,0,0,.5),0 12px 32px -18px rgba(0,0,0,.7)}}:root[data-theme=dark]{--surface-page:var(--navy-950);--surface-subtle:var(--navy-900);--surface-card:var(--navy-900);--surface-cream:var(--navy-900);--text-primary:var(--navy-50);--text-secondary:var(--navy-200);--text-tertiary:var(--navy-300);--border-subtle:var(--navy-800);--border-strong:var(--navy-300);--error-50:#42000e;--error-600:#ffa4a8;--exito-50:#002719;--exito-600:#7fd6b1;--warning-50:#3a2100;--warning-600:#ffc98a;--shadow-card:0 1px 2px rgba(0,0,0,.5),0 12px 32px -18px rgba(0,0,0,.7)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--surface-page);color:var(--text-primary);font-family:var(--font-body);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.rojo{color:var(--error-600)}.verde{color:var(--exito-600)}.overline{font-family:var(--font-display);font-weight:600;font-size:.8125rem;letter-spacing:.16em;text-transform:uppercase}.app{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.side{background:var(--surface-inverse);color:var(--navy-50);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-xl);position:-webkit-sticky;position:sticky;top:0;height:100vh}.side img{width:106px;height:auto}.side .overline{color:var(--navy-300)}.side nav{display:flex;flex-direction:column;gap:2px}.side nav a{display:flex;align-items:center;gap:var(--space-sm);min-height:44px;padding:0 var(--space-md);border-radius:var(--radius-pill);text-decoration:none;color:var(--navy-100);font-weight:500;font-size:.9375rem;transition:background .18s}.side nav a:hover{background:var(--surface-veil)}.side nav a[aria-current=page]{background:var(--blanco);color:var(--navy-800);font-weight:700}.side nav .cnt{margin-left:auto;background:var(--rosa-200);color:var(--navy-800);font-size:.6875rem;font-weight:700;border-radius:var(--radius-pill);padding:1px 7px}.side .pie{margin-top:auto;display:flex;flex-direction:column;gap:var(--space-sm)}.side .quien{background:var(--surface-veil);border:1px solid rgba(238,241,255,.14);border-radius:var(--radius-lg);padding:var(--space-md);font-size:.875rem}.side .quien b{display:block}.side .quien span{font-size:.8125rem;color:var(--navy-300)}.salir{background:none;border:1px solid rgba(238,241,255,.2);color:var(--navy-100);border-radius:var(--radius-pill);height:38px;cursor:pointer;font-family:var(--font-body);font-size:.875rem;font-weight:600}.salir:hover{background:var(--surface-veil)}main{min-width:0}.top{border-bottom:1px solid var(--border-subtle);padding:var(--space-md) var(--space-xl);display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.top .overline{color:var(--text-tertiary)}.top h1{font-family:var(--font-display);font-weight:600;font-size:1.5rem;margin:2px 0 0;letter-spacing:-.015em}.acciones{margin-left:auto;display:flex;gap:var(--space-sm)}.acciones,.btn{align-items:center}.btn{height:40px;padding:0 var(--space-md);border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--surface-subtle);color:var(--text-primary);font-family:var(--font-body);font-weight:700;font-size:.9375rem;cursor:pointer;white-space:nowrap;text-decoration:none;display:inline-flex}.btn.pri{background:var(--navy-800);color:#fff;border-color:transparent}:root[data-theme=dark] .btn.pri{background:var(--navy-300);color:var(--navy-950)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .btn.pri{background:var(--navy-300);color:var(--navy-950)}}.wrap{padding:var(--space-xl);display:flex;flex-direction:column;max-width:1200px}.cols,.wrap{gap:var(--space-lg)}.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));grid-gap:var(--space-lg)}h2{font-weight:700;font-size:1.25rem;margin:0 0 2px;line-height:1.25}.sub{font-size:.9375rem;color:var(--text-tertiary);margin:0 0 var(--space-md)}.card{background:var(--surface-card);padding:var(--space-lg);box-shadow:var(--shadow-card)}.card,.hero{border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.hero{background:var(--surface-cream);padding:var(--space-xl);display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-2xl)}.hero .big{font-family:var(--font-display);font-weight:600;font-size:clamp(2.5rem,4.5vw,3.25rem);line-height:1.04;letter-spacing:-.015em}.hero .lbl{font-size:.8125rem;color:var(--text-tertiary);margin-top:6px}.kpis{display:flex;gap:var(--space-xl);flex-wrap:wrap;padding-bottom:4px}.kpis .k{font-family:var(--font-display);font-weight:600;font-size:1.5rem;line-height:1.05}.kpis .l{font-size:.8125rem;color:var(--text-tertiary);margin-top:4px}.pills{width:100%;display:flex;gap:var(--space-sm);flex-wrap:wrap}.pill{font-size:.8125rem;font-weight:700;padding:4px 12px;border-radius:var(--radius-pill)}.pill.rosa{background:var(--rosa-200);color:var(--navy-800)}.pill.roja{background:var(--error-50);color:var(--error-600)}.pill.gris{background:var(--surface-subtle);color:var(--text-tertiary)}.rows{display:flex;flex-direction:column}.row{display:grid;grid-template-columns:1fr auto;grid-gap:var(--space-md);gap:var(--space-md);align-items:baseline;padding:11px 0;border-bottom:1px solid var(--border-subtle)}.row:last-child{border-bottom:0}.row .n{font-size:.8125rem;color:var(--text-tertiary);display:block;margin-top:2px}.row .v{font-weight:700;white-space:nowrap}.row.tot{border-top:2px solid var(--border-strong);border-bottom:0;margin-top:6px;padding-top:14px}.row.tot .v{font-family:var(--font-display);font-weight:600;font-size:1.25rem}.alertas{display:flex;flex-direction:column;gap:var(--space-sm)}.al{display:grid;grid-template-columns:auto 1fr;grid-gap:var(--space-md);gap:var(--space-md);align-items:start;padding:var(--space-md);border-radius:var(--radius-md)}.al .bar{width:3px;border-radius:var(--radius-pill);align-self:stretch;min-height:36px}.al.alta{background:var(--error-50)}.al.alta .bar{background:var(--error-600)}.al.media{background:var(--warning-50)}.al.media .bar{background:var(--warning-600)}.al.baja{background:var(--surface-subtle)}.al.baja .bar{background:var(--navy-400)}.al h3{font-size:.9375rem;font-weight:700;margin:0 0 3px;line-height:1.3}.al p{margin:0;font-size:.875rem;color:var(--text-secondary)}.al .chip{font-family:var(--font-display);font-size:.6875rem;font-weight:600;letter-spacing:.12em;padding:2px 8px;border-radius:var(--radius-pill);margin-left:8px;white-space:nowrap}.al.alta .chip{background:var(--error-600);color:var(--surface-card)}.al.media .chip{background:var(--warning-600);color:var(--surface-card)}.al.baja .chip{background:var(--navy-400);color:var(--navy-950)}.scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.9375rem}th{text-align:left;font-family:var(--font-display);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary);padding:0 var(--space-md) 10px 0}td,th{border-bottom:1px solid var(--border-subtle);white-space:nowrap}td{padding:11px var(--space-md) 11px 0}td:first-child,th:first-child{white-space:normal}td.r,th.r{text-align:right;padding-right:0}tfoot td{border-bottom:0;border-top:2px solid var(--border-strong);padding-top:12px;font-weight:700}.tg{font-family:var(--font-display);font-size:.625rem;font-weight:600;letter-spacing:.1em;padding:2px 7px;border-radius:var(--radius-pill);margin-left:6px;white-space:nowrap}.tg.rosa{background:var(--rosa-300);color:var(--navy-900)}.tg.roja{background:var(--error-600);color:var(--surface-card)}.tg.gris{background:var(--surface-subtle);color:var(--text-tertiary)}.tg.verde{background:var(--exito-50);color:var(--exito-600)}.vacio{padding:var(--space-xl);text-align:center;color:var(--text-tertiary);border:1px dashed var(--border-subtle);border-radius:var(--radius-lg);font-size:.9375rem}.vacio b{display:block;color:var(--text-primary);margin-bottom:4px;font-size:1rem}.cal{gap:var(--space-sm);padding:var(--space-md) var(--space-xl);border-bottom:1px solid var(--border-subtle);background:var(--surface-subtle);flex-wrap:wrap}.cal,.cal .dia,.cal a{display:flex;align-items:center}.cal .dia,.cal a{width:56px;padding:6px 0;border-radius:var(--radius-md);border:1px solid transparent;text-decoration:none;flex-direction:column;gap:1px;color:var(--text-secondary);transition:.15s}.cal a:hover{background:var(--surface-card);border-color:var(--border-subtle)}.cal .dw{font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em}.cal .dn{font-family:var(--font-display);font-weight:600;font-size:1.125rem}.cal a[aria-current=date]{background:var(--navy-800);color:#fff}:root[data-theme=dark] .cal a[aria-current=date]{background:var(--navy-300);color:var(--navy-950)}.cal .nota{margin-left:auto;font-size:.8125rem;color:var(--text-tertiary)}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login .marca{background:var(--surface-inverse);color:var(--navy-50);padding:var(--space-2xl);display:flex;flex-direction:column;justify-content:space-between}.login .marca img{width:150px;height:auto}.login .marca h2{font-family:var(--font-display);font-weight:600;font-size:2.25rem;line-height:1.1;letter-spacing:-.015em;max-width:12ch}.login .marca p{color:var(--navy-300);font-size:.9375rem;max-width:38ch;margin:var(--space-md) 0 0}.login .caja{display:flex;align-items:center;justify-content:center;padding:var(--space-xl)}.login form{width:100%;max-width:360px;display:flex;flex-direction:column;gap:var(--space-md)}.login h1{font-family:var(--font-display);font-weight:600;font-size:1.75rem;margin:0}.login label{font-size:.875rem;font-weight:600;display:block;margin-bottom:6px}.login input{width:100%;height:48px;padding:0 var(--space-md);border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--surface-card);color:var(--text-primary);font-family:var(--font-body);font-size:1rem}.login input:focus{outline:2px solid var(--navy-500);outline-offset:1px;border-color:transparent}.login button{height:48px;border-radius:var(--radius-pill);border:none;background:var(--navy-800);color:#fff;font-family:var(--font-body);font-weight:700;font-size:1rem;cursor:pointer}:root[data-theme=dark] .login button{background:var(--navy-300);color:var(--navy-950)}.login .err{background:var(--error-50);color:var(--error-600)}.login .err,.login .ok{padding:var(--space-md);border-radius:var(--radius-md);font-size:.875rem}.login .ok{background:var(--exito-50);color:var(--exito-600)}.barras{display:flex;align-items:flex-end;gap:2px;margin-top:var(--space-md)}.barras .b{flex:1 1;gap:8px;position:relative;text-decoration:none;color:inherit;min-width:0}.barras .b,.barras .col{display:flex;flex-direction:column;align-items:center}.barras .col{width:100%;height:var(--alto);justify-content:flex-end;gap:4px}.barras .mark{width:100%;max-width:56px;background:var(--navy-300);border-radius:4px 4px 0 0;transition:background .16s}.barras .b.act .mark{background:var(--navy-800)}.barras .b.hov .mark{background:var(--navy-600)}:root[data-theme=dark] .barras .mark{background:var(--navy-700)}:root[data-theme=dark] .barras .b.act .mark{background:var(--navy-300)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .barras .mark{background:var(--navy-700)}:root:not([data-theme=light]) .barras .b.act .mark{background:var(--navy-300)}}.barras .et{font-size:.6875rem;font-weight:700;color:var(--text-secondary);white-space:nowrap}.barras .cl{font-size:.75rem;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.barras .b.act .cl{color:var(--text-primary);font-weight:700}.barras .tip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--surface-inverse);color:var(--text-inverse);padding:8px 10px;border-radius:var(--radius-md);font-size:.75rem;white-space:nowrap;z-index:5;display:flex;flex-direction:column;gap:2px;pointer-events:none}.barras .tip b{font-size:.875rem}.barras .tip span{color:var(--navy-300)}.grid{display:grid;grid-gap:var(--space-md);gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(196px,1fr))}.prod{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-md);display:flex;flex-direction:column;gap:10px}.prod .foto{aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;background:var(--surface-subtle);display:flex;align-items:center;justify-content:center}.prod .foto img{width:100%;height:100%;object-fit:cover;display:block}.prod .foto .pend{font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary);text-align:center;padding:var(--space-sm)}.prod h3{margin:0;font-size:.9375rem;font-weight:700;line-height:1.25}.prod .meta{font-size:.8125rem;color:var(--text-tertiary)}.prod .precio{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.prod .sku{font-size:.6875rem;color:var(--text-tertiary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mini{width:36px;height:36px;border-radius:8px;object-fit:cover;background:var(--surface-subtle);display:block}.filtros{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:var(--space-md)}.filtros input,.filtros select{height:40px;padding:0 12px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--surface-card);color:var(--text-primary);font-family:var(--font-body);font-size:.9375rem}.filtros input{flex:1 1;min-width:180px}.filtros .cta{font-size:.8125rem;color:var(--text-tertiary);margin-left:auto}@media (max-width:900px){.app{grid-template-columns:1fr}.side{position:static;height:auto;flex-direction:row;align-items:center;gap:var(--space-md);overflow-x:auto}.side .overline,.side .pie{display:none}.side nav{flex-direction:row}.cal,.top,.wrap{padding-left:var(--space-md);padding-right:var(--space-md)}.hero{padding:var(--space-lg)}.hero,.kpis{gap:var(--space-lg)}.login{grid-template-columns:1fr}.login .marca{display:none}}