/* Comportamiento del inventario independiente sobre los estilos del restaurante. */
:root {
  --ui-tinta: #15263e;
  --ui-secundario: #43566f;
  --ui-borde: #bccbdc;
  --ui-fondo: #eaf0f6;
  --ui-azul: #2349a0;
  --ui-azul-claro: #e3edfc;
  --ui-azul-oscuro: #173d84;
}

body:not([data-sesion="activa"]) > .sidebar,
body:not([data-sesion="activa"]) > .main-wrapper,
body[data-rol="operador"] [data-admin] { display: none !important; }
.pantalla-acceso {
  width: 100%;
  min-height: 100dvh;
  padding: 20px;
  display: grid;
  place-items: center;
  overflow: auto;
  background: #f8fafc;
}
.login-card {
  width: min(100%, 430px);
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 15px 35px #1a1f331a;
  overflow: hidden;
}
.login-header { background: #1a1f33; color: #fff; text-align: center; padding: 22px 16px 18px; }
.login-header img { width: 86px; height: 86px; padding: 4px; object-fit: contain; background: #fff; border-radius: 10px; }
.login-header strong { display: block; font-size: 1.2rem; margin-top: 8px; overflow-wrap: anywhere; }
.login-header p { margin: 3px 0 0; color: #d8dcee; font-size: .78rem; }
.login-body { padding: 22px clamp(18px, 5vw, 38px); }
.login-body h1 { color: #334155; font-size: 1.2rem; text-align: center; font-weight: 750; }
.login-body > p { color: #526078; font-size: .79rem; text-align: center; }
.login-body .form-label { font-weight: 700; font-size: .75rem; color: #475569; }
.login-body .form-control { background: #f1f5f9; min-height: 40px; }
.login-body .login-boton { display: flex; justify-content: center; width: 100%; margin-top: 15px; }
.login-enlace { display: block; margin: 12px auto 0; padding: 3px; border: 0; background: transparent; color: #3e35a5; font-size: .78rem; font-weight: 700; }
.login-body .login-confirmacion { margin: 12px 0 0; padding: 8px; border-radius: 6px; background: #e9f7f0; color: #0f654e; }
.codigo-recuperacion { font-family: Consolas, monospace; }
.login-footer { text-align: center; margin-top: 20px; color: #526078; font-size: .7rem; }
.usuarios-tabla { min-width: 630px; }
.usuario-rol { display: inline-block; font-size: .72rem; font-weight: 700; border-radius: 6px; padding: 4px 8px; color: #284b63; background: #e7f1f8; }
.usuario-rol.usuario-rol-admin { color: #4d3691; background: #efebff; }

.inventario-tabla .acciones-fila, .inventario-tabla th:last-child {
  position: sticky;
  right: 0;
  background: #fff;
}
.inventario-tabla .btn-eliminar {
  border: 1px solid #f1cccc;
  color: #a92733;
  font-size: .72rem !important;
  font-weight: 700;
  margin-left: 3px;
}
.inventario-tabla .btn-eliminar i { margin-right: 2px; }

.costos-resumen {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 12px;
}
.costos-total {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 20px 24px;
  border-radius: 12px;
  background: linear-gradient(115deg, #3730a3, #5145cd);
  color: #fff;
  box-shadow: var(--panel-shadow);
}
.costos-total-venta { background: linear-gradient(115deg, #0f5c49, #14755c); }
.costos-total > i {
  flex: 0 0 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #ffffff26;
  font-size: 1.3rem;
}
.costos-total span, .costos-total small { display: block; color: #eeecff; font-size: .82rem; }
.costos-total-venta span, .costos-total-venta small { color: #d7fff0; }
.costos-total strong {
  display: block;
  margin: 3px 0 5px;
  font-size: clamp(1.25rem, 2.6vw, 2.25rem);
  line-height: 1.15;
  overflow-wrap: anywhere;
  font-variant-numeric: tabular-nums;
}
.costos-contexto {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 18px;
  padding: 10px 14px;
  margin-bottom: 18px;
  background: #fff;
  color: #526078;
  border: 1px solid #e0e3f2;
  border-radius: 8px;
  font-size: .8rem;
}
.costos-contexto i { color: #5145cd; margin-right: 3px; }
.costos-panel { margin-bottom: 18px; }
.costos-panel h3 { margin: 0 0 4px; font-size: 1rem; font-weight: 750; color: #2c3142; }
.costos-panel p { margin: 0; font-size: .8rem; color: #5d6c82; }
.costos-categorias {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 205px), 1fr));
  gap: 10px;
  margin-top: 12px;
  padding: 4px;
  max-height: 254px;
  overflow: auto;
}
.costos-categoria {
  border: 1px solid #e0e3f2;
  border-radius: 8px;
  background: #f8f9fe;
  color: #373e55;
  display: grid;
  gap: 5px;
  padding: 10px 13px;
  text-align: left;
  font-size: .8rem;
  overflow-wrap: anywhere;
}
.costos-categoria:hover, .costos-categoria[aria-pressed=true] { border-color: #6761d3; background: #efedff; }
.costos-categoria-nombre { font-weight: 750; }
.costos-categoria-importe { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0 8px; }
.costos-categoria strong { color: #3e35a5; }
.costos-categoria progress { width: 100%; height: 8px; accent-color: #5145cd; }
.costos-categoria progress.valor-venta { accent-color: #14755c; }
.costos-articulos-header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.costos-articulos-header .buscador { flex: 0 1 290px; }
.costos-tabla-scroll { max-height: 440px; overflow: auto; }
.costos-tabla { min-width: 790px; font-variant-numeric: tabular-nums; }
.costos-tabla thead { position: sticky; top: 0; background: #fff; z-index: 1; }
.costos-tabla .text-end { white-space: nowrap; }
.costos-tabla .costo-compra, .costos-pie strong { color: #3e35a5; font-weight: 750; }
.costos-tabla td.valor-venta, .costos-categoria strong.valor-venta, .costos-pie strong.valor-venta { color: #0f654e; font-weight: 750; }
.costos-pie { flex-wrap: wrap; }
.ventas-tabla { min-width: 660px; }
.ventas-tabla .text-end { white-space: nowrap; }
.ventas-tabla td.valor-venta { color: #0f654e; font-weight: 750; }
.venta-numero { display: block; white-space: nowrap; color: var(--ui-tinta); }
.venta-anulada { display: inline-block; border-radius: 4px; padding: 2px 6px; background: #fff1ed; color: #812622; font-weight: 700; }
.venta-anulacion-nota { margin-top: 4px; white-space: normal; overflow-wrap: anywhere; }
.movimientos-informe-controles { display: flex; flex-wrap: wrap; align-items: end; gap: 12px 18px; margin-bottom: 15px; }
.movimientos-informe-controles label { flex: 1 1 220px; max-width: 430px; font-size: .8rem; font-weight: 700; }
.movimientos-informe-controles label input { margin-top: 5px; }
.movimientos-agrupados { border: 1px solid var(--ui-borde); border-radius: 10px; margin-bottom: 15px; padding: 0 12px; }
.movimientos-agrupados summary { padding: 10px 0; color: var(--ui-tinta); font-size: .88rem; font-weight: 700; cursor: pointer; }
.movimientos-agrupados summary span { font-weight: 500; color: var(--ui-secundario); margin-left: 4px; }
#vista-movimientos .table.movimientos-resumen-tabla { min-width: 0; }
.medio-editar {
  padding: 6px 9px; border: 1px solid var(--ui-borde); border-radius: 6px;
  background: var(--ui-azul-claro); color: var(--ui-azul-oscuro); font-size: .78rem; font-weight: 700;
}
.caja-estado {
  padding: 10px 12px; border: 1px solid var(--ui-borde); border-radius: 8px;
  background: var(--ui-azul-claro); color: var(--ui-azul-oscuro); font-weight: 750;
}
#caja-pendientes {
  padding: 10px 12px; border: 1px solid #e7c48c; border-radius: 8px; background: #fff8e9; color: #734807;
}
#caja-pendientes p { margin-bottom: 6px; }
.caja-resultados { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.caja-resultados > div { padding: 9px; border-radius: 8px; background: var(--ui-fondo); color: var(--ui-tinta); }
.caja-resultados span, .caja-resultados strong { display: block; overflow-wrap: anywhere; }
.caja-resultados span { font-size: .8rem; }
.caja-resultados .negativo { color: #912c28; }
.caja-historial-controles { display: flex; align-items: end; flex-wrap: wrap; gap: 10px; }
.caja-historial-tabla { min-width: 880px; }
.caja-historial-tabla .caja-diferencia-negativa { color: #912c28 !important; font-weight: 700; }
.caja-historial-tabla small { color: var(--ui-secundario); }
.caja-historial-acciones { white-space: nowrap; }
.enlace-comprobante {
  display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 5px 8px;
  border-radius: 7px; background: #e3edfc; color: #173d84; font-size: .8rem; font-weight: 750;
  text-decoration: none;
}
.enlace-comprobante:hover { background: #d3e4fc; color: #173d84; }
.toast-comprobante { display: block; padding-top: 5px; color: #173d84; font-weight: 750; }
.costos-total.gastos-total { background: linear-gradient(115deg, #713514, #8c461d); }
.costos-total.gastos-total span { color: #fff2e4; }
.ventas-tabla td.gasto-importe { color: #8c461d; font-weight: 750; }
.gastos-filtros .btn-filtro-limpiar { flex-shrink: 0; }
.auditoria-filtros { flex-wrap: wrap; }
.auditoria-filtros label { min-width: 115px; }
.auditoria-filtros .btn-filtro-limpiar { flex-shrink: 0; }
.auditoria-tabla { min-width: 760px; }
.auditoria-detalle-tabla { font-size: .82rem; }
.auditoria-detalle-tabla td, .auditoria-detalle-tabla th { overflow-wrap: anywhere; white-space: pre-wrap; }
.identidad-negocio { min-width: 0; overflow-wrap: anywhere; }
.identidad-negocio p { margin: 3px 0 0; color: #526078; font-size: .76rem; }
.identidad-negocio .cabecera-sucursal { margin: 2px 0 0; color: #43566f; font-weight: 650; }
.cabecera-negocio { min-width: 0; }
.sucursales-tabla { min-width: 740px; }
.sucursales-tabla tfoot { border-top: 2px solid #e1e6ef; background: #f5f6fd; font-weight: 750; }
.cuenta-cabecera {
  display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center;
  gap: 8px; min-width: 0; max-width: 44%; margin-left: 10px;
}
.cuenta-movil { display: none; }
.cuenta-datos {
  position: static; display: grid; gap: 2px; min-width: 0; padding: 0; margin: 0; border: 0;
  background: transparent; text-align: start; line-height: 1.3; overflow-wrap: anywhere;
}
.cuenta-datos strong { color: #26354c; font-size: .84rem; }
.cuenta-datos span { color: #596981; font-size: .72rem; }
.cuenta-avatar { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #edebff; color: #4c42b3; font-size: .78rem; font-weight: 750; }
.iconos-menu { position: absolute; overflow: hidden; pointer-events: none; }
.sidebar .menu-icono {
  width: 22px; height: 22px; flex: 0 0 22px;
  fill: none; stroke: currentColor; stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round;
}
.sidebar-footer .menu-icono { width: 18px; height: 18px; flex-basis: 18px; }
.sidebar-footer .acerca-enlace {
  display: flex; align-items: center; gap: 8px; width: 100%; min-height: 44px;
  padding: 4px 6px; border: 0; border-radius: 6px; background: transparent;
  color: #e2e6f0; font-size: .8rem; text-align: start;
}
.sidebar-footer .acerca-enlace:hover { background: #29324c; color: #fff; }
#nombre-negocio { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
#vista-configuracion { max-width: 900px; margin-inline: auto; }
.configuracion-form fieldset { min-width: 0; }
.configuracion-form fieldset + fieldset { border-top: 1px solid #e2e7ee; margin-top: 19px; padding-top: 17px; }
.configuracion-form legend { float: none; margin: 0 0 12px; font-size: 1rem; color: #3e35a5; font-weight: 750; }
.configuracion-form .form-label { font-size: .8rem; font-weight: 650; color: #334155; margin-bottom: 5px; }
.configuracion-form .form-control, .configuracion-form .form-select { background-color: #f8f9fb; font-size: .84rem; min-height: 40px; }
.configuracion-form .form-text { color: #526078; font-size: .74rem; }
.configuracion-logo { display: grid; grid-template-columns: minmax(0, 1fr) 92px; align-items: center; gap: 16px; }
.configuracion-logo img { width: 92px; height: 82px; border: 1px solid #e2e7ee; border-radius: 8px; padding: 5px; object-fit: contain; background: #f8f9fb; }
.config-restaurar { display: block; color: #3e35a5; background: transparent; border: 0; padding: 5px 0 0; font-size: .75rem; font-weight: 650; }
.configuracion-pie { display: flex; justify-content: flex-end; margin-top: 18px; }
.venta-datos-titulo, .venta-icono-cabecera { display: none; }
#modal-movimiento[data-modo="venta"] {
  --brand-primary: #2349a0;
  --brand-primary-dark: #183878;
}
#modal-movimiento[data-modo="venta"] .modal-dialog { max-width: min(640px, calc(100vw - 24px)); }
#modal-movimiento[data-modo="venta"] .modal-header { gap: 10px; background: #15263e; color: #fff; }
#modal-movimiento[data-modo="venta"] .venta-icono-cabecera {
  display: grid; place-items: center; width: 34px; height: 34px; flex-shrink: 0;
  border-radius: 9px; background: #294b77; color: #e7efff;
}
#modal-movimiento[data-modo="venta"] .modal-header .btn-close { filter: invert(1); opacity: .9; }
#modal-devolucion .modal-header { background: #15263e; color: #fff; }
#modal-devolucion .modal-header .btn-close { filter: invert(1); opacity: .9; }
#modal-anulacion .modal-header { background: #631f24; color: #fff; }
#modal-anulacion .modal-header .btn-close { filter: invert(1); opacity: .9; }
#devolucion-venta { color: #d8e3f2; }
#devolucion-diferencia { background: #e9f0fb; color: #173453; }
#modal-movimiento[data-modo="venta"] .modal-body { background: #eaf0f6; }
#modal-movimiento[data-modo="venta"] .venta-bloque {
  padding: 12px; margin: 12px 0 0; border: 1px solid #bccbdc; border-radius: 10px;
  background: #fff; color: #15263e;
}
#modal-movimiento[data-modo="venta"] .venta-datos-titulo {
  display: block; float: none; width: auto; margin: 0; padding: 0 5px;
  color: #15263e; font-size: .9rem; font-weight: 750;
}
#modal-movimiento[data-modo="venta"] :is(.form-control, .form-select, .input-group-text) {
  min-width: 0; background-color: #fff !important; border-color: #bccbdc; color: #15263e;
}
#modal-movimiento[data-modo="venta"] .stock-actual-panel {
  display: grid; grid-template-areas: "foto elegido elegido" "stock stock cantidad";
  grid-template-columns: auto minmax(0, 1fr) auto;
  margin: 0; padding: 10px; background: #fff; border-color: #bccbdc; color: #354963;
}
#modal-movimiento[data-modo="venta"] .stock-actual-panel > i { display: none; }
#modal-movimiento[data-modo="venta"] .stock-actual-panel > span { grid-area: stock; padding: 7px 0 0; border-top: 1px solid #e0e6ee; }
#modal-movimiento[data-modo="venta"] .stock-actual-panel > strong {
  grid-area: cantidad; margin: 0; padding-top: 7px; border-top: 1px solid #e0e6ee; text-align: end;
}
#modal-movimiento[data-modo="venta"] .stock-preview {
  padding: 9px; margin-top: 10px; background: #edf3fa; color: #354963;
}
#modal-movimiento[data-modo="venta"] .stock-preview strong { color: #15263e; }
#modal-movimiento[data-modo="venta"] .stock-preview.negativo { background: #fff0ee; }
#modal-movimiento[data-modo="venta"] .stock-preview.negativo strong { color: #912c28; }
#modal-movimiento[data-modo="venta"] .nota-fecha { color: #43566f; }
#modal-movimiento[data-modo="venta"] .modal-footer { gap: 7px; background: #fff; }
#modal-movimiento[data-modo="venta"] .modal-footer > * { margin: 0; }
#modal-movimiento[data-modo="venta"] .venta-importe-panel {
  flex: 0 0 100%; gap: 8px; padding: 9px 12px; background: #e3edfc; color: #173d84;
  border-left: 4px solid #2349a0; font-size: .85rem; font-weight: 750;
}
#modal-movimiento[data-modo="venta"] .venta-importe-panel strong { color: inherit; text-align: end; }
.venta-catalogo h6 { margin: 0 0 8px; color: #15263e; font-size: 1.1rem; font-weight: 800; }
.venta-carrito {
  margin-bottom: 12px; padding: 10px 12px; border: 1px solid var(--ui-borde);
  border-radius: 10px; background: #fff; color: var(--ui-tinta);
}
.venta-carrito h6 { margin: 0; font-size: .9rem; font-weight: 800; }
.venta-carrito ul { padding: 0; margin: 0; list-style: none; }
.venta-carrito li {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 4px 8px;
  margin-top: 7px; padding-top: 7px; border-top: 1px solid #dce5ef;
  font-size: .8rem; overflow-wrap: anywhere;
}
.venta-carrito small { display: block; color: var(--ui-secundario); }
.venta-carrito li > strong { color: var(--ui-azul-oscuro); }
.venta-carrito-acciones { grid-column: 1 / -1; display: flex; gap: 5px; }
.venta-carrito-acciones button, .venta-agregar-otro {
  min-height: 36px; padding: 5px 9px; border: 0; border-radius: 7px;
  background: var(--ui-azul-claro); color: var(--ui-azul-oscuro); font-size: .78rem; font-weight: 750;
}
.venta-carrito-acciones [data-quitar-articulo-venta] { background: #fff0ee; color: #912c28; }
.venta-agregar-otro { display: block; margin-top: 10px; }
.venta-detalle-articulos > div + div { margin-top: 6px; padding-top: 6px; border-top: 1px solid #dce5ef; }
.venta-catalogo-busqueda { position: relative; }
.venta-catalogo-busqueda i { position: absolute; top: 50%; left: 12px; transform: translateY(-50%); color: #43566f; }
.venta-catalogo-busqueda input { padding-left: 34px; min-height: 44px; }
.venta-resultado-estado { margin: 9px 0 6px; color: #43566f; font-size: .78rem; font-weight: 700; }
.venta-resultados {
  display: grid;
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}
@media (min-width: 620px) { .venta-resultados { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.venta-resultados button {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) 28px;
  gap: 9px;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 8px;
  border: 1px solid #bccbdc;
  border-radius: 10px;
  background: #fff;
  color: #15263e;
  text-align: left;
  overflow-wrap: anywhere;
}
.venta-resultado-foto {
  display: grid; place-items: center; width: 58px; height: 58px;
  border: 1px solid #e0e6ee; border-radius: 8px; background: #f2f5fa; color: #43566f;
}
.venta-resultado-foto img { width: 100%; height: 100%; object-fit: contain; border-radius: inherit; }
.venta-resultado-info { display: grid; gap: 2px; justify-items: start; line-height: 1.3; }
.venta-resultado-info strong { font-size: .85rem; }
.venta-resultado-codigo { color: #43566f; font-size: .71rem; }
.venta-resultado-precio { color: #173d84; font-size: .84rem; font-weight: 800; }
.venta-resultado-stock {
  padding: 2px 5px; border-radius: 5px; background: #e5f4ec; color: #12543f;
  font-size: .69rem; font-weight: 750;
}
.venta-resultado-elegir {
  display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px;
  background: #e3edfc; color: #173d84; font-size: .75rem;
}
.venta-resultados button:disabled { background: #f5f7fa; }
.venta-resultados button:disabled .venta-resultado-stock { background: #fcebe6; color: #8a3729; }
.venta-resultados button:disabled .venta-resultado-elegir { background: #e5eaf0; color: #526078; }
.venta-resultados button:not(:disabled):hover, .venta-resultados button:focus-visible {
  background: #e3edfc;
  outline-offset: -3px;
}
.venta-articulo-elegido { grid-area: elegido; display: grid; justify-items: start; gap: 2px; overflow-wrap: anywhere; }
.venta-articulo-elegido > span { color: #43566f; font-size: .72rem; }
.stock-actual-panel .venta-articulo-elegido > strong { margin: 0; color: #15263e; font-size: .95rem; }
#venta-cambiar-producto {
  min-height: 44px; padding: 5px 8px; border: 0; border-radius: 7px;
  background: #e3edfc; color: #173d84; font-size: .75rem; font-weight: 750;
}
#venta-cambiar-producto i { color: inherit; }
.venta-producto-foto {
  grid-area: foto;
  flex: 0 0 104px;
  width: 104px;
  height: 92px;
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid #e0e6ee;
  border-radius: 8px;
  background: #fff;
}
.venta-producto-foto button {
  position: absolute;
  inset: 0;
  border: 0;
  background: #fff;
  cursor: zoom-in;
}
.venta-producto-foto button:focus-visible { outline-offset: -3px; }
.venta-producto-foto img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.venta-foto-lupa {
  position: absolute;
  right: 4px;
  bottom: 4px;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background: #15263e;
  color: #fff;
  font-size: .75rem;
}
.venta-foto-dialogo {
  width: min(calc(100% - 24px), 720px);
  max-height: calc(100% - 24px);
  padding: 12px;
  border: 0;
  border-radius: 12px;
  background: #fff;
  color: #15263e;
}
.venta-foto-dialogo::backdrop { background: #101a2bdd; }
.venta-foto-cabecera {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding-bottom: 8px;
  overflow-wrap: anywhere;
}
.venta-foto-cabecera .btn-close { flex: 0 0 auto; padding: 14px; }
.venta-foto-dialogo img { display: block; width: 100%; max-height: min(64dvh, 560px); object-fit: contain; }
.venta-producto-sin-imagen { display: grid; gap: 5px; justify-items: center; font-size: .7rem; color: #59677c; }
.venta-producto-sin-imagen i { font-size: 1.2rem; }
@media (max-width: 760px) {
  .costos-resumen { grid-template-columns: 1fr; }
  .costos-total { padding: 15px; gap: 12px; }
}

.brand .marca-logo{width:42px;height:47px;object-fit:contain;flex-shrink:0;border-radius:6px;background:white}.sidebar .brand.brand-with-logo{gap:11px}.sidebar .brand.brand-with-logo>div{font-size:.88rem}.sidebar .brand.brand-with-logo small{font-size:.51rem;letter-spacing:.8px}.acerca-cuerpo{padding:14px 28px 12px;text-align:center}.acerca-logo{display:block;margin:0 auto 15px;width:78px;height:86px;object-fit:contain;border-radius:7px}.acerca-cuerpo>h2{font-size:1.22rem;font-weight:750;color:#2c3142;margin-bottom:9px}.acerca-version{display:inline-block;background:#f0efff;color:#7772b1;border:1px solid #e6e2ff;border-radius:5px;font-size:.67rem;padding:5px 9px}.acerca-descripcion{font-size:.79rem;line-height:1.7;color:#8b96a7;margin:18px auto;max-width:365px}.acerca-desarrollador{border:1px solid #e6e9f0;border-radius:10px;background:#fafbfe;padding:18px 20px;text-align:left}.acerca-desarrollador small{font-size:.61rem;color:#919caf;font-weight:650;letter-spacing:.6px}.acerca-desarrollador strong{display:block;font-size:1.08rem;color:#374861;margin:6px 0 12px;font-weight:700}.acerca-desarrollador a{display:flex;gap:9px;align-items:center;color:#5d5fef;text-decoration:none;font-size:.91rem;font-weight:600}.acerca-desarrollador a i:first-child{font-size:.8rem}.acerca-desarrollador a i:last-child{margin-left:auto;font-size:.68rem;color:#9f9ccc}.acerca-detalles{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 16px;margin-top:21px;font-size:.65rem;color:#8b96a8}.acerca-detalles i{color:#aca8d7;margin-right:4px}.acerca-copyright{font-size:.64rem;color:#a5aebb;margin:18px 0 0}@media(max-height:700px){.sidebar-footer{padding:13px 19px}.acerca-logo{width:56px;height:62px}.acerca-cuerpo{padding-top:5px}.acerca-descripcion{margin:12px auto}.acerca-desarrollador{padding:13px 18px}}
.precios-producto{border:1px solid #e4e3fa;background:#fafaff;border-radius:9px;padding:16px}.modal .precios-producto .form-control{font-size:1rem;background:white!important;min-height:44px}.modal .precios-producto .input-group-text{background:#f0f0ff!important;color:#6d6ac1}
.inventario-tabla{min-width:880px}.inventario-tabla .producto-col{width:30%}.inventario-tabla .costo-compra{white-space:nowrap;font-size:.82rem;color:#64748b!important}
.table-container .table td.precio-azul{color:#5d5fef!important;font-weight:700}.table-container .table td.cantidad-entrada{color:#15936f!important}.table-container .table td.cantidad-salida{color:#cf8b67!important}
:root{color-scheme:light}button,input,select,textarea{font:inherit}button{touch-action:manipulation}button:focus-visible,a:focus-visible,th:focus-visible{outline:3px solid #a6a7ff;outline-offset:3px}[hidden]{display:none!important}.sidebar .nav-link-custom{width:calc(100% - 30px);border:0;background:none;text-align:left}.sidebar .nav-link-custom.active{background:#5d5fef}.brand.brand-with-logo{gap:12px;justify-content:flex-start;font-size:1rem;white-space:nowrap}.brand small{display:block;color:#828ba7;font-size:.57rem;font-weight:600;letter-spacing:1.1px;margin-top:5px}.marca-icono{background:#5d5fef;color:white;border-radius:11px;width:39px;height:39px;display:grid;place-items:center;font-size:1.25rem;flex-shrink:0}.sidebar-footer{padding:20px;color:#a5adc2;font-size:.7rem;border-top:1px solid #252b45}.sidebar-footer small{display:block;color:#66718e;font-size:.65rem;margin:6px 0 0 12px}.punto-verde,.punto-ambar{display:inline-block;width:6px;height:6px;border-radius:50%;background:#10b981;margin-right:5px}.punto-ambar{background:#d79a29}.menu-toggle{display:none}.header-actions{flex-shrink:0}.admin-role{white-space:nowrap}.barra-estado{display:flex;align-items:center;justify-content:space-between;padding:9px 24px;background:#f4f7f6;color:#8a93a3;font-size:.68rem;border-top:1px solid #e9edf0;flex-shrink:0}.barra-estado i{font-size:5px;color:#10b981;margin-right:4px}.page-title h2 i{font-size:.88em;color:#5d5fef}.filtros-inventario{display:flex;gap:12px;align-items:center;margin-bottom:15px}.buscador{position:relative;flex:1;min-width:180px}.buscador>.fa-search{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9ba2af;font-size:.85rem;pointer-events:none}.buscador input{padding:11px 65px 11px 39px;background:#f8f9fb;border:1px solid #e8ecf0;border-radius:8px;font-size:.82rem}.buscador kbd{position:absolute;right:11px;top:50%;transform:translateY(-50%);background:white;border:1px solid #e2e7ed;color:#9ca3af;font:10px 'Segoe UI',sans-serif;border-radius:4px;padding:2px 5px}.form-select,.form-control{font-size:.86rem;border-radius:8px;border-color:#e4e8ee;box-shadow:none}.form-control:focus,.form-select:focus{border-color:#8c8df3;box-shadow:0 0 0 3px #5d5fef12}.filtros-inventario>.form-select{max-width:190px;padding-top:11px;padding-bottom:11px;font-size:.8rem;background-color:#f8f9fb}.btn-filtro-limpiar{border:1px solid #e8ecf0;border-radius:8px;padding:10px 13px;background:#f8f9fb;color:#8892a2}.btn-filtro-limpiar:hover{background:#eeeffe;color:#5d5fef}.resumen-linea{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}.fichas-stock{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ficha-stock{font-size:.72rem;border:1px solid #e9ecf2;background:#fff;border-radius:6px;padding:5px 9px;color:#768194;transition:.15s}.ficha-stock.seleccionada{background:#f0f0ff;border-color:#e3e2fc;color:#5d5fef}.ficha-stock span:first-child{font-weight:700}.valor-stock{font-size:.73rem;color:#8a94a3;margin-left:4px}.valor-stock strong{color:#526078;font-weight:600}.btn-exportar{background:none;border:0;color:#758197;font-size:.75rem;display:flex;align-items:center;gap:7px;white-space:nowrap}.btn-exportar:hover{color:#5d5fef}.tabla-scroll{overflow:auto}.inventario-tabla{min-width:760px}.table thead th{white-space:nowrap;padding:12px 10px 17px!important}.table tbody td{padding:17px 10px!important}.table th[data-sort]{cursor:pointer;user-select:none}.table th[data-sort] i{font-size:.65rem;color:#b9c0cb;margin-left:6px}.table th[data-sort].ordenado i{color:#5d5fef}.table tbody tr{transition:background .15s}.table tbody tr:hover{background:#f9faff}.producto-col{width:35%}.producto-celda{display:flex;align-items:center;gap:13px;min-width:220px}.producto-celda img,.producto-sin-foto{width:49px;height:49px;border-radius:9px;border:1px solid #e5e9f0;object-fit:cover;background:#f3f5f8;flex-shrink:0}.producto-celda img{cursor:zoom-in}.producto-celda img:hover{box-shadow:0 0 0 3px #5d5fef1a}.producto-sin-foto{display:grid;place-items:center;color:#a4adbb;font-size:1.15rem}.producto-nombre{font-size:.8rem;font-weight:750;text-transform:uppercase;line-height:1.4;max-width:370px;white-space:normal;color:#2c3142}.producto-descripcion{font-size:.71rem;color:#8a94a4;max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.producto-codigo{font-size:.68rem;color:#9da5b2;margin-top:2px}.producto-codigo i{margin-right:5px}.precio-azul{color:#5d5fef!important;white-space:nowrap;font-size:.86rem!important}.badge-categoria{font-size:.63rem;white-space:nowrap;display:inline-block;font-weight:750;max-width:180px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.stock-box{background:#f4fbf8;min-width:42px;cursor:pointer;font-size:.8rem}.stock-box.bajo{border-color:#e5b864;background:#fffaf0;color:#b48226}.stock-box.agotado{border-color:#efb8af;background:#fff5f3;color:#cf7868}.estado-activo{white-space:nowrap;font-size:.66rem}.estado-activo::before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:#10b981;vertical-align:middle;margin-right:5px}.estado-inactivo{font-size:.66rem;color:#9da5b2;font-weight:700}.acciones-fila{white-space:nowrap}.btn-accion{font-size:1rem!important;border-radius:6px;padding:5px 7px!important;min-width:29px}.btn-accion:hover{background:#eff0ff}.btn-accion.delete:hover{background:#fff1f0}.paginador{border-top:1px solid #eff1f5;margin-top:8px;padding:15px 4px 0;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.7rem;color:#96a0ae}.paginador #filas-pagina{width:61px;font-size:.7rem;min-height:30px}.btn-pagina{width:29px;height:29px;border:1px solid #e5e9ef;background:#fff;color:#798596;border-radius:6px;font-size:.65rem}.btn-pagina:disabled{opacity:.35}.btn-pagina:hover:not(:disabled){background:#eeefff;color:#5d5fef}.vacio{text-align:center!important;padding:65px 20px!important;color:#94a0b0!important}.vacio i{font-size:2rem;display:block;margin-bottom:15px;color:#c0c5dc}.vacio strong{display:block;font-size:.9rem;font-weight:600;color:#6f7e91;margin-bottom:5px}.vacio p{font-size:.79rem;margin:0}.btn-entrada{background:#119c7b!important;box-shadow:0 6px 14px #119c7b20!important}.btn-entrada:hover{background:#0e8468!important}.btn-salida{background:#2c3142!important;box-shadow:none!important}.mov-resumen{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.mov-resumen-card{display:flex;gap:14px;align-items:center;border:1px solid #e2e8f0;background:white;border-radius:12px;padding:17px 20px;box-shadow:var(--panel-shadow)}.mov-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:10px}.mov-icon.entrada{background:#eaf9f2;color:#159a76}.mov-icon.salida{background:#fff2eb;color:#d78c61}.mov-icon.ajuste{background:#eeeefe;color:#5d5fef}.mov-resumen-card small{font-size:.73rem;color:#8b96a7;display:block}.mov-resumen-card strong{font-size:1.3rem;color:#334155;font-weight:750;display:block;margin-top:3px}.mov-resumen-card strong small{font-size:.68rem;display:inline;font-weight:500}.filtros-fechas{display:flex;gap:14px;align-items:end}.filtros-fechas label{font-size:.72rem;font-weight:650;color:#68788d;flex:1}.filtros-fechas input,.filtros-fechas select{margin-top:7px;height:41px;background:#f8f9fb}.filtros-fechas .filtro-producto{flex:1.5}.filtros-fechas .btn-nuevo{height:41px}.filtros-secundarios{display:flex;gap:15px;align-items:center;margin:18px 0}.periodos{display:flex;gap:5px;flex-wrap:wrap}.periodos button{border:0;background:none;font-size:.69rem;padding:6px 8px;border-radius:5px;color:#8c97a8}.periodos button.activo,.periodos button:hover{background:#eeefff;color:#5d5fef}.buscador-mov{margin-left:auto;max-width:320px}.buscador-mov input{font-size:.74rem;padding-top:8px;padding-bottom:8px;padding-right:10px}.tipo-mov{font-size:.67rem;font-weight:700;display:inline-flex;gap:5px;align-items:center;border-radius:5px;padding:5px 8px;background:#f0f1fb;color:#5d5fef}.tipo-mov.Entrada{color:#15936f;background:#eaf8f1}.tipo-mov.Salida{color:#cc865e;background:#fff2e9}.cantidad-entrada{color:#15936f!important;font-weight:650}.cantidad-salida{color:#cf8b67!important;font-weight:650}.motivo-celda{max-width:260px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.modal-content{border-radius:12px!important}.modal-title{font-size:1.12rem}.modal-header .btn-close{font-size:.7rem}.modal .form-label{font-size:.76rem;color:#374151;font-weight:650;margin-bottom:7px}.modal .form-label>span{color:#e47676}.modal .form-control,.modal .form-select{font-size:.84rem;min-height:40px}.modal .form-control.bg-light,.modal .form-select.bg-light{background:#f8f9fb!important;border:1px solid #e8ecf1}.modal .form-control:disabled{color:#8894a3;background:#eff2f5!important}.modal .text-primary{color:#5d5fef!important}.modal .switch-pos{padding:14px;gap:9px;cursor:pointer;align-items:start}.modal .switch-pos .form-check{margin-bottom:0}.switch-pos strong{display:block;font-size:.77rem;font-weight:650}.switch-pos small{font-size:.67rem;color:#91a0af;display:block;margin-top:3px;line-height:1.5}.form-check-input:checked{background-color:#5d5fef;border-color:#5d5fef}.foto-selector{height:160px;border:1.5px dashed #d8dce6;border-radius:9px;background:#f8f9fb;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;transition:.2s}.foto-selector:hover,.foto-selector.arrastrando{border-color:#5d5fef;background:#f0f0ff}.foto-vacia{display:flex;align-items:center;flex-direction:column;color:#a0a9b8;gap:7px}.foto-vacia i{font-size:1.7rem;color:#abaed7}.foto-vacia strong{font-size:.72rem;color:#757fa0}.foto-vacia small{font-size:.58rem}.foto-selector img{width:100%;height:100%;object-fit:contain;background:white}.foto-selector.con-foto .foto-vacia{display:none}.foto-ayuda{display:flex;gap:3px;align-items:center;justify-content:space-between;margin-top:7px}.foto-ayuda small{font-size:.57rem;color:#9ba5b4}.foto-ayuda button{border:0;background:none;font-size:.62rem;color:#cf8b8b;padding:0}.selector-tipo{display:flex;background:#f5f6fa;padding:4px;border-radius:8px;margin:6px 0 22px;gap:4px}.selector-tipo button{flex:1;padding:9px;border:0;background:none;border-radius:6px;font-size:.77rem;color:#8c95a8;font-weight:600}.selector-tipo button.active{background:white;color:#5d5fef;box-shadow:0 2px 6px #1a1f3310}.selector-tipo button[data-tipo=Entrada].active{color:#159a76}.selector-tipo button[data-tipo=Salida].active{color:#ce865e}.stock-actual-panel{display:flex;align-items:center;gap:10px;background:#f5f8fb;border:1px solid #e6edf3;padding:13px 15px;border-radius:8px;margin:15px 0 20px;font-size:.77rem;color:#8593a8}.stock-actual-panel i{color:#95a0bc}.stock-actual-panel strong{margin-left:auto;color:#354963;font-size:.9rem}.saldo-preview{background:#f3f2ff;display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:14px 15px;margin-top:17px;color:#8c88af;font-size:.73rem}.saldo-preview strong{color:#5d5fef;font-size:1rem}.saldo-preview.negativo{background:#fff2f0}.saldo-preview.negativo strong{color:#dc7665}.nota-fecha{font-size:.65rem;color:#a0a8b5;margin:10px 0 0}.error-form,.error-inline{background:#fff3f0;border:1px solid #f7d6d0;color:#b76454;font-size:.77rem;padding:10px 13px;border-radius:7px;margin-top:14px}.error-inline{margin-bottom:15px}.detalle-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px}.detalle-grid small{display:block;color:#8e9caf;font-size:.72rem;margin-bottom:5px}.detalle-grid strong{font-size:.9rem;color:#394d67}.detalle-motivo{background:#f7f9fc;border-radius:8px;padding:15px;font-size:.83rem;white-space:pre-wrap;word-break:break-word}.foto-ampliada{max-width:100%;max-height:60vh;object-fit:contain}.alerta-respaldo{background:#f0f9f6;border:1px solid #d7ede4;border-radius:10px;display:flex;gap:15px;padding:18px 22px;margin-bottom:22px;color:#478c75;font-size:.84rem}.alerta-respaldo>i{font-size:1.5rem;margin-top:3px}.alerta-respaldo p{margin:5px 0 0;color:#81a393;font-size:.75rem}.toast{border:1px solid #e1e7ed;border-left:4px solid #10b981;border-radius:8px;box-shadow:0 7px 25px #1e293b14;background:white;color:#47556c}.toast-body{display:flex;gap:10px;align-items:center;font-size:.8rem}.toast-body>i{color:#10b981}.toast.error{border-left-color:#db7c6c}.toast.error .toast-body>i{color:#db7c6c}.progreso{position:fixed;top:0;left:0;right:0;height:3px;z-index:3000;background:linear-gradient(90deg,transparent,#5d5fef,transparent);animation:progreso 1s ease-in-out infinite}.btn-nuevo:disabled{opacity:.6;cursor:wait}.categoria-nombre{display:flex;align-items:center;gap:12px;font-weight:650}.categoria-icono{display:grid;place-items:center;width:34px;height:34px;background:#f0f0ff;color:#7775da;border-radius:8px}.vista{animation:entrada-vista .16s ease-out}#vista-movimientos .table{min-width:900px}.table-container .table thead th{border-bottom:2px solid #f3f4f6}.nav-link-custom i{flex-shrink:0}.modal-dialog{max-width:min(800px,calc(100vw - 32px))}.modal-dialog:not(.modal-lg):not(.modal-sm){max-width:min(500px,calc(100vw - 32px))}.modal-sm{max-width:340px}.modal-footer .btn-light{font-size:.82rem;border-radius:8px}.modal .input-group-text{border-color:#e8ecf1;color:#78869a;font-size:.78rem}@keyframes entrada-vista{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes progresso{from{background-position:-400px 0}to{background-position:400px 0}}@media(max-width:1200px){.valor-stock{display:none}.filtros-inventario>.form-select{max-width:160px}.header-actions .btn-nuevo,.btn-kardex{font-size:.78rem!important}.filtros-secundarios{flex-wrap:wrap}.filtros-fechas{gap:10px}.filtros-fechas .filtro-producto{flex:1}.filtros-fechas label{min-width:110px}.filas-label{display:none}}@media(max-width:1024px){.sidebar{width:190px;min-width:190px}.page-header{flex-direction:row!important;align-items:center!important}.page-title h2{font-size:1.25rem!important}.page-title p{font-size:.76rem!important}.header-actions{gap:7px}.btn-nuevo,.btn-kardex{padding:9px 12px!important}.filtros-inventario{flex-wrap:wrap}.filtros-inventario .buscador{flex-basis:100%}.filtros-inventario>.form-select{max-width:none;flex:1}.filtros-fechas{flex-wrap:wrap}.mov-resumen-card{padding:12px;gap:8px}.mov-resumen-card small{font-size:.65rem}.mov-icon{width:32px;height:32px}.mov-resumen{gap:10px}}@media(max-width:760px){.sidebar{position:fixed;z-index:1040;left:-220px;transition:left .2s;height:100vh;width:210px}.sidebar.abierta{left:0}.menu-toggle{display:block}.main-wrapper{width:100vw}.admin-text{display:none}.admin-profile{min-width:0!important}.top-header{min-height:55px!important}.admin-avatar{width:33px!important;height:33px!important;min-width:33px!important}.header-title{font-size:.9rem!important}.page-header{flex-direction:column!important;align-items:stretch!important}.header-actions{justify-content:flex-start}.mov-resumen{grid-template-columns:1fr}.mov-resumen-card{padding:11px 16px}.mov-resumen-card strong{font-size:1rem}.paginador{font-size:.62rem}.barra-estado{font-size:.58rem;padding:8px 14px}.barra-estado #reloj-local{display:none}.resumen-linea{margin-bottom:14px}.buscador-mov{max-width:none;flex-basis:100%;order:2}.table-container{padding:13px!important}.modal .row{--bs-gutter-x:1rem}.filtros-fechas .btn-nuevo{margin-top:10px}.filtros-fechas label{flex-basis:40%}.filtros-fechas .filtro-producto{flex-basis:60%}.btn-nuevo{justify-content:center}.buscador kbd{display:none}.sidebar .brand{min-height:90px!important}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media (min-width: 761px) {
  :root {
    --app-bg: var(--ui-fondo);
    --panel-border: var(--ui-borde);
    --text-main: var(--ui-tinta);
    --text-soft: var(--ui-secundario);
    --brand-primary: var(--ui-azul);
    --brand-primary-dark: var(--ui-azul-oscuro);
  }

  .sidebar .section-title { color: #a6b6cc; }
  .sidebar .nav-link-custom { color: #d4dfec; }
  .sidebar .nav-link-custom.active { background: var(--ui-azul); color: #fff; }
  .sidebar .nav-link-custom:hover:not(.active) { background: #293953; color: #fff; }
  .page-title h2 i { color: var(--ui-azul); }

  .vista :is(.filtros-inventario, .filtros-fechas) {
    padding: 10px 12px; border: 1px solid var(--ui-borde);
    border-radius: 9px; background: #edf3fa;
  }
  .vista :is(.form-control, .form-select, .btn-filtro-limpiar) {
    border-color: var(--ui-borde); background-color: #fff; color: var(--ui-tinta);
  }
  .vista :is(.form-control, .form-select):focus {
    border-color: var(--ui-azul); box-shadow: 0 0 0 3px #2349a02b;
  }
  .filtros-fechas label, .buscador > .fa-search, .buscador kbd, .btn-exportar {
    color: var(--ui-secundario);
  }
  .ficha-stock { background: #fff; border-color: var(--ui-borde); color: var(--ui-tinta); }
  .ficha-stock.seleccionada { background: var(--ui-azul); border-color: var(--ui-azul); color: #fff; }

  .table-container .table thead th {
    padding-top: 12px; padding-bottom: 12px; background: #edf3fa;
    border-bottom: 2px solid var(--ui-borde); color: var(--ui-tinta) !important;
  }
  .table-container .table tbody td { border-bottom: 1px solid #dce5ef; }
  .table-container .producto-codigo, .table-container .producto-descripcion { color: var(--ui-secundario); }

  #vista-inventario .inventario-tabla :is(td.costo-compra, td.precio-azul) {
    text-align: right; font-variant-numeric: tabular-nums; font-weight: 750;
  }
  .inventario-tabla th:is([data-sort="costo_compra"], [data-sort="precio"]) { text-align: right; }
  #vista-inventario .inventario-tabla td.costo-compra { background: #f0f3f7; color: var(--ui-tinta) !important; }
  #vista-inventario .inventario-tabla td.precio-azul { background: var(--ui-azul-claro); color: var(--ui-azul-oscuro) !important; }
  .producto-stock-valor { display: flex; align-items: center; flex-wrap: wrap; gap: 5px 8px; }
  .inventario-tabla .stock-box { border-color: #75a991; color: #12543f; }
  .inventario-tabla .stock-box.bajo { border-color: #d9a858; color: #734807; }
  .inventario-tabla .stock-box.agotado { border-color: #d59993; color: #912c28; }
  .inventario-tabla .stock-aviso { display: inline; font-size: .72rem; font-weight: 750; }
  .inventario-tabla .stock-aviso.bajo { color: #734807; }
  .inventario-tabla .stock-aviso.agotado { color: #912c28; }
  .inventario-tabla :is(.estado-activo, .estado-inactivo) { display: inline-block; padding: 5px 8px; border-radius: 5px; }
  .inventario-tabla .estado-activo { background: #e5f4ec; color: #12543f; }
  .inventario-tabla .estado-inactivo { background: #edf1f5; color: var(--ui-secundario); }
  .inventario-tabla .btn-accion:not(.btn-eliminar) { color: var(--ui-secundario); }
  .inventario-tabla .btn-accion:not(.btn-eliminar):hover { color: var(--ui-azul); }

  #vista-costos .costos-total:not(.costos-total-venta) { background: var(--ui-azul-oscuro); }
  .table-container .table td.cantidad-entrada { color: #12543f !important; }
  .table-container .table td.cantidad-salida { color: #912c28 !important; }
  .table-container .ventas-tabla td.valor-venta { color: #12543f !important; }
  .table-container .ventas-tabla td.gasto-importe { color: #713514 !important; }
}
