:root{--text:#1f2430;--text-h:#08060d;--bg:#eceff1;--bg-alt:#fff;--border:#e5e4e7;--input-border:#b0b6bd;--table-border:#8a9099;--accent:#005a9e;--accent-contrast:#fff;--error:#c0392b;--sans:system-ui, "Segoe UI", Roboto, sans-serif;font:16px/145% var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{min-height:100svh;margin:0}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2,h3{color:var(--text-h);font-weight:600}table{border-collapse:collapse;width:100%}th,td{border:2px solid var(--table-border);text-align:left;padding:6px 10px}label{flex-direction:column;gap:4px;margin-bottom:12px;font-size:14px;display:flex}input,select,button{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:4px;padding:6px 10px}input,select{border:1px solid var(--input-border);background:var(--bg-alt)}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}button{cursor:pointer;background:var(--accent);color:var(--accent-contrast);border:none}button:disabled{opacity:.6;cursor:not-allowed}.error{color:var(--error)}.spinner{vertical-align:-2px;border:2px solid;border-right-color:#0000;border-radius:50%;width:12px;height:12px;margin-right:6px;animation:.6s linear infinite girar;display:inline-block}@keyframes girar{to{transform:rotate(360deg)}}.pantalla-login{flex:1;justify-content:center;align-items:center;display:flex}.pantalla-login form{border:1px solid var(--border);background:var(--bg-alt);border-radius:8px;width:320px;padding:32px}.pantalla-login button{width:100%}.layout{height:100svh;display:flex}.sidebar{background:var(--bg-alt);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:240px;height:100%;transition:width .18s;display:flex;overflow:hidden}.sidebar-cerrada{border-right:none;width:0}.sidebar-marca{border-bottom:1px solid var(--border);padding:16px 20px;font-weight:600}.sidebar nav{flex-direction:column;flex:1;gap:2px;min-height:0;padding:8px;display:flex;overflow-y:auto}.sidebar-enlace{width:100%;color:var(--text);text-align:left;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:8px 12px;text-decoration:none;display:block}.sidebar-enlace:hover{background:var(--bg)}.sidebar-enlace.active{color:var(--accent);font-weight:600}.sidebar-enlace-boton{font-weight:600}.sidebar-seccion{margin-top:4px}.sidebar-seccion-titulo{width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:space-between;align-items:center;padding:8px 12px;font-weight:600;display:flex}.sidebar-seccion-titulo:hover{background:var(--bg)}.sidebar-seccion-flecha{color:var(--text);opacity:.6}.sidebar-seccion-items{flex-direction:column;padding-left:12px;display:flex}.sidebar-seccion-items .sidebar-enlace{font-size:14px}.layout-contenido{flex-direction:column;flex:1;min-width:0;height:100%;display:flex;overflow:hidden}.layout-topbar{background:var(--accent);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:10px 24px;display:flex;position:relative}.topbar-espaciador{align-items:center;display:flex}.sidebar-toggle{color:var(--accent-contrast);background:0 0;border:1px solid #ffffff8c;padding:6px 10px;font-size:16px;line-height:1}.sidebar-toggle:hover{background:#ffffff26}.topbar-titulo{font-family:"Montserrat", var(--sans);letter-spacing:.01em;white-space:nowrap;color:var(--accent-contrast);text-shadow:0 1px 1px #00000073,0 2px 3px #0000004d,0 0 1px #00000080;z-index:1;margin:0;font-size:42px;font-weight:900;position:fixed;top:16px;left:calc(50% - 28px);transform:translate(-50%)}.topbar-usuario{flex-direction:column;justify-content:flex-end;align-items:flex-end;gap:6px;display:flex}.layout-topbar .nav-usuario{color:var(--accent-contrast);font-size:14px}.topbar-usuario button{background:var(--accent-contrast);color:var(--accent)}.layout-contenido main{flex:1;padding:24px;overflow:auto}.agregar-producto{align-items:center;gap:8px;margin-bottom:16px;display:flex}.tabs{gap:16px;margin-bottom:16px;display:flex}.ayuda-edicion{color:var(--text);opacity:.7;margin:-8px 0 8px;font-size:13px}.celda-editable{cursor:text}.celda-editable:hover{background:var(--bg-alt);outline:1px dashed var(--input-border);outline-offset:-3px}.celda-editando{padding:4px 6px}.celda-editando input{width:100%}.celda-editando .error{margin:4px 0 0;font-size:12px}.confirmar-descuento{gap:6px;display:flex}.confirmar-descuento input{width:90px}.resultado{background:var(--bg-alt);border-radius:4px;margin-top:12px;padding:10px}.celda-precio-moneda{gap:4px;display:flex}.celda-precio-moneda input{width:90px}.celda-precio-moneda select{width:66px}.aviso-cotizacion{background:var(--bg-alt);border-bottom:1px solid var(--table-border);justify-content:space-between;align-items:center;margin:0;padding:8px 20px;font-size:14px;display:flex}.aviso-cotizacion button{cursor:pointer;background:0 0;border:none;font-size:16px;line-height:1}section{margin-bottom:24px}.modal-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-alt);border:1px solid var(--border);border-radius:8px;width:min(92vw,480px);max-height:85vh;padding:24px;overflow-y:auto}.modal-wide{width:min(94vw,900px)}.modal-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.modal-cerrar{color:var(--text);background:0 0;border:none;padding:0 4px;font-size:22px;line-height:1}.comprobante{width:420px;max-width:100%}.comprobante-titulo{align-items:center;gap:10px;display:flex}.comprobante-titulo h3{margin:0}.comprobante-x{border:2px solid;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;font-weight:700;display:inline-flex}.comprobante-aviso{color:var(--error);font-style:italic}.comprobante-acciones{gap:8px;margin-top:16px;display:flex}@media print{body *{visibility:hidden}.comprobante,.comprobante *{visibility:visible}.comprobante{border:none;width:100%;max-height:none;position:absolute;top:0;left:0}.comprobante-acciones{display:none}}
