* { box-sizing: border-box; }
body { font-family: Arial, sans-serif; background:#f2f2f2; margin:0; padding:20px; color:#222; }
[hidden] { display:none !important; }
.login-view { min-height:90vh; display:flex; align-items:center; justify-content:center; }
.login-card, .contenedor { background:#fff; border-radius:10px; box-shadow:0 0 10px rgba(0,0,0,.15); }
.login-card { width:380px; padding:30px; }
.contenedor { width:94%; max-width:1100px; margin:0 auto; padding:28px; }
.encabezado { display:flex; justify-content:space-between; gap:20px; align-items:center; }
h1 { margin-top:0; text-align:center; }
.encabezado h1 { text-align:left; margin-bottom:8px; }
h2 { margin-top:0; }
.descripcion, .ayuda-login { color:#555; }
.panel { margin-top:24px; padding:20px; border:1px solid #ccc; border-radius:8px; background:#fafafa; }
.grid-form { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
label { display:block; margin-bottom:6px; font-weight:bold; }
input, select { width:100%; padding:10px; border:1px solid #ccc; border-radius:5px; font-size:15px; }
button, .boton-archivo { display:inline-block; padding:10px 14px; border:0; border-radius:5px; background:#333; color:white; font-size:15px; cursor:pointer; text-align:center; }
button:hover, .boton-archivo:hover { background:#555; }
.secundario { background:#777; }
.peligro { background:#a72b34; }
.campo-boton { display:flex; align-items:end; }
.campo-boton button { width:100%; }
.acciones-formulario { display:flex; gap:10px; align-items:end; }
.acciones-formulario button { flex:1; }
.mensaje { min-height:22px; text-align:center; font-weight:bold; margin:12px 0 0; }
.mensaje.exito { color:#217a3c; }
.mensaje.error { color:#a72b34; }
.resultado, .reporte { margin-top:15px; padding:12px; border:1px solid #ccc; border-radius:5px; background:#fff; }
.fila-busqueda { display:grid; grid-template-columns:1fr auto auto; gap:8px; }
.botones-reportes { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.filtros-reporte { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.reporte-encabezado { display:flex; flex-wrap:wrap; gap:18px; padding:10px 12px; border-left:4px solid #333; background:#f5f5f5; }
.nota-reporte { color:#666; font-size:13px; margin-bottom:0; }
.tabla-contenedor { overflow-x:auto; }
table { width:100%; border-collapse:collapse; margin-top:10px; background:#fff; }
th, td { border:1px solid #ccc; padding:10px; text-align:left; }
th { background:#333; color:#fff; }
tbody tr:nth-child(even) { background:#f5f5f5; }
.accion { margin:2px; padding:7px 10px; font-size:13px; }
.sin-productos { text-align:center; color:#666; }
.reporte-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.reporte-card { border:1px solid #ccc; border-radius:6px; padding:12px; background:#fff; }
.reporte-card strong { display:block; font-size:20px; margin-top:5px; }
ul { margin-bottom:0; }
@media (max-width:700px) {
  body { padding:8px; }
  .contenedor { width:100%; padding:18px; }
  .encabezado { flex-direction:column; align-items:stretch; }
  .grid-form { grid-template-columns:1fr; }
  .fila-busqueda { grid-template-columns:1fr; }
  .acciones-formulario { flex-direction:column; }
  .filtros-reporte { grid-template-columns:1fr; }
  .reporte-grid { grid-template-columns:1fr 1fr; }
  .reporte-encabezado { flex-direction:column; gap:6px; }
}
.alertas-configuracion { margin-top:18px; padding:16px; border:1px solid #ccc; border-radius:8px; background:#fff; }
.alertas-config-header { display:flex; justify-content:space-between; gap:15px; align-items:center; }
.alertas-config-header h3 { margin:0 0 5px; }
.alertas-config-header p { margin:0; color:#666; font-size:13px; }
.alertas-defaults { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:15px; align-items:end; }
.alerta-default-acciones { display:flex; align-items:end; }
.alerta-default-acciones button { width:100%; }
.input-alerta-min, .input-alerta-max { min-width:100px; }
.switch-alerta { display:flex; align-items:center; gap:8px; font-weight:normal; margin:0; }
.switch-alerta input { width:auto; }
.alertas-resumen { margin-top:12px; padding:10px 12px; border-radius:6px; font-size:14px; }
.alertas-resumen.hay-alertas, .alertas-banner.hay-alertas { background:#fff1f1; border:1px solid #d99; color:#8a1f1f; }
.alertas-resumen.sin-alertas, .alertas-banner.sin-alertas { background:#f0f8f2; border:1px solid #b7d5bd; color:#216a34; }
.alertas-banner { display:flex; gap:10px; flex-direction:column; margin:14px 0; padding:12px; border-radius:7px; }
.graficas-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:15px 0; }
.grafica-card { border:1px solid #ddd; border-radius:8px; background:#fff; padding:12px; min-width:0; }
.grafica-card h3 { margin:0 0 8px; }
.grafica-svg { width:100%; overflow-x:auto; }
.grafica-svg svg { display:block; width:100%; min-width:520px; height:auto; }
.svg-grid { stroke:#ddd; stroke-width:1; }
.svg-label, .svg-legend { fill:#555; font-size:11px; font-family:Arial,sans-serif; }
.svg-line { fill:none; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.svg-entrada { stroke:#333; }
.svg-salida { stroke:#888; stroke-dasharray:7 5; }
.svg-bar { fill:#555; }
.svg-min { stroke:#a72b34; stroke-width:2; }
.svg-max { stroke:#217a3c; stroke-width:2; }
.grafica-vacia { text-align:center; color:#666; padding:60px 10px; }
@media (max-width:700px) { .alertas-config-header { flex-direction:column; align-items:stretch; } .alertas-defaults { grid-template-columns:1fr; } .graficas-grid { grid-template-columns:1fr; } }

/* Menú principal */
.menu-principal {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
  margin:26px 0 8px;
}
.menu-opcion {
  min-height:125px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:12px;
  padding:18px 12px;
  border:1px solid #ccc;
  border-radius:10px;
  background:#fff;
  color:#222;
  box-shadow:0 2px 7px rgba(0,0,0,.08);
  font-weight:bold;
  transition:transform .15s, box-shadow .15s, background .15s;
}
.menu-opcion:hover {
  background:#f5f5f5;
  color:#222;
  transform:translateY(-2px);
  box-shadow:0 5px 12px rgba(0,0,0,.12);
}
.menu-icono { font-size:30px; line-height:1; }
.seccion-menu { margin-top:22px; }
.seccion-titulo {
  margin:0 0 16px;
  padding:14px 18px;
  border-radius:8px;
  background:#333;
  color:#fff;
}
.seccion-titulo h2 { margin:0; }
.volver-menu {
  margin-bottom:12px;
  background:#777;
}
.volver-menu:hover { background:#555; }

@media (max-width:900px) {
  .menu-principal { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:520px) {
  .menu-principal { grid-template-columns:1fr; }
  .menu-opcion { min-height:90px; flex-direction:row; justify-content:flex-start; }
  .menu-icono { font-size:25px; }
}

/* Selector y búsqueda de productos para movimientos */
.busqueda-movimiento { display:grid; grid-template-columns:1fr 1.5fr; gap:14px; grid-column:1 / -1; }
#movimientoCodigo[readonly] { background:#f1f1f1; cursor:not-allowed; }

.inventario-encabezado { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:10px; }
.inventario-encabezado h2 { margin:0; }
.inventario-acciones { display:flex; align-items:center; gap:12px; flex-wrap:wrap; justify-content:flex-end; }
.inventario-acciones strong { font-size:18px; }
@media (max-width:700px) { .inventario-encabezado { flex-direction:column; align-items:stretch; } .inventario-acciones { justify-content:stretch; } .inventario-acciones button { width:100%; } }

/* Últimos registros en Reportes */
.ultimos-registros-grid{display:grid;grid-template-columns:1fr;gap:18px;margin:18px 0 28px}
.ultimos-registros-grid .grafica-card{overflow:hidden}
.ultimos-registros-grid .tabla-contenedor{max-height:360px;overflow:auto}
.ultimos-registros-grid table{min-width:680px}
@media (min-width:1000px){.ultimos-registros-grid{grid-template-columns:1fr}}

/* V18.1 - identidad visual Logistics & Services JR */
body { background:#eef3f8; color:#172b3f; padding:0; }
.contenedor { width:100%; max-width:none; min-height:100vh; margin:0; padding:0 24px 24px 300px; border-radius:0; box-shadow:none; background:#f7f9fc; }
.encabezado { grid-column:1 / -1; position:relative; margin:0 -24px 0 -300px; padding:18px 30px 18px 330px; min-height:108px; background:linear-gradient(135deg,#0d2842,#174f83); color:#fff; border-bottom:3px solid #1f78d1; }
.marca { display:flex; align-items:center; gap:18px; }
.logo-header { position:absolute; left:18px; top:10px; width:255px; height:88px; object-fit:contain; object-position:left center; filter:drop-shadow(0 2px 4px rgba(0,0,0,.25)); }
.encabezado h1 { color:#fff; font-size:28px; margin:0 0 4px; letter-spacing:.4px; }
.subtitulo-header { margin:0 0 4px; color:#65b5ff; font-size:20px; font-weight:700; }
.descripcion { color:#fff; margin:0; font-size:15px; }
.encabezado .secundario { background:#fff; color:#17324c; }
.menu-principal { position:fixed; z-index:5; left:0; top:0; bottom:0; width:276px; margin:0; padding:112px 12px 20px; display:flex; flex-direction:column; gap:5px; background:linear-gradient(180deg,#10263a,#182f44); overflow:auto; }
.menu-opcion { min-height:54px; flex-direction:row; justify-content:flex-start; align-items:center; gap:14px; padding:12px 16px; border:0; border-left:4px solid transparent; border-radius:5px; background:transparent; color:#fff; box-shadow:none; font-weight:600; text-align:left; }
.menu-opcion:hover { background:#1c4264; color:#fff; transform:none; box-shadow:none; }
.menu-opcion.activo { background:#0877df; border-left-color:#6dc1ff; color:#fff; }
.menu-icono { font-size:22px; width:30px; text-align:center; }
.seccion-menu { grid-column:2; margin-top:22px; }
.seccion-titulo { background:linear-gradient(135deg,#123d63,#146bb1); color:#fff; border-radius:7px; padding:14px 18px; margin-bottom:16px; }
.seccion-titulo h2 { margin:0; color:#fff; }
.panel, .alertas-configuracion { background:#fff; border:1px solid #d7e0e9; box-shadow:0 2px 8px rgba(20,50,80,.06); }
button, .boton-archivo { background:#243b53; }
button:hover, .boton-archivo:hover { background:#0b72d0; }
.boton-archivo { cursor:pointer; }
.botones-reportes .boton-archivo { display:inline-flex; align-items:center; }
th { background:#183a59; }
.reporte-encabezado { border-left-color:#0b78dc; background:#edf5fc; }
.reporte-card { border-color:#d7e0e9; }

@media (max-width:900px) {
  .contenedor { padding:0 16px 20px; }
  .encabezado { margin:0 -16px; padding:18px 20px 18px 190px; }
  .logo-header { left:10px; width:165px; }
  .menu-principal { position:static; width:auto; margin:16px 0 8px; padding:0; flex-direction:row; flex-wrap:wrap; background:transparent; }
  .menu-opcion { flex:1 1 180px; background:#17364f; }
  .seccion-menu { grid-column:1; }
}
@media (max-width:600px) {
  .encabezado { padding:12px 16px; min-height:0; }
  .logo-header { display:none; }
  .encabezado h1 { font-size:21px; }
  .subtitulo-header { font-size:16px; }
}


/* V18.3 - Pantalla principal con marca de agua corporativa */
.contenedor { position:relative; overflow:hidden; }
.contenedor > * { position:relative; z-index:2; }
.marca-agua-inicio {
  position:absolute;
  z-index:1 !important;
  left:300px;
  right:0;
  top:112px;
  bottom:0;
  display:none;
  align-items:center;
  justify-content:center;
  pointer-events:none;
  overflow:hidden;
}
.menu-inicio .marca-agua-inicio { display:flex; }
.marca-agua-inicio img {
  width:min(760px,72vw);
  max-width:760px;
  min-width:420px;
  height:auto;
  opacity:.16;
  filter:grayscale(1) contrast(.8);
  user-select:none;
}
@media (max-width:900px) {
  .marca-agua-inicio { left:0; top:150px; }
  .marca-agua-inicio img { width:min(620px,78vw); min-width:300px; opacity:.13; }
}
@media (max-width:600px) {
  .marca-agua-inicio { top:125px; }
  .marca-agua-inicio img { width:78vw; min-width:240px; opacity:.10; }
}


/* V18.5 - Diseño corporativo definitivo LOGISTICS & SERVICES JR */
:root { --azul-oscuro:#0d2942; --azul:#174f83; --azul-brillante:#0b78dc; --azul-claro:#66b9ff; }
html, body { min-height:100%; }
body { background:#eef3f8; padding:0; color:#172b3f; }
.contenedor {
  width:100%; max-width:none; min-height:100vh; margin:0; padding:0 24px 24px 320px;
  background:#f7f9fc; border-radius:0; box-shadow:none; position:relative; overflow:hidden;
}
.encabezado {
  position:relative; z-index:10; display:flex; align-items:center; justify-content:space-between;
  min-height:138px; margin:0 -24px 0 -26px; padding:18px 30px;
  background:linear-gradient(135deg,#0c2a45 0%,#174f83 55%,#0d5b99 100%);
  border-bottom:3px solid #2586df; color:#fff;
}
.encabezado h1 { margin:0 0 4px; color:#fff; font-size:30px; line-height:1.05; letter-spacing:.3px; }
.subtitulo-header { margin:0 0 5px; color:var(--azul-claro); font-size:21px; font-weight:800; }
.descripcion { margin:0; color:#fff; font-size:16px; }
.encabezado-derecha { display:flex; align-items:center; gap:28px; }
.lema-header { color:#fff; font-size:16px; font-style:italic; white-space:nowrap; }
.encabezado .secundario { background:#fff; color:#17324c; border-radius:5px; padding:11px 18px; }
.encabezado .secundario:hover { background:#edf5fc; color:#17324c; }

.menu-principal {
  position:fixed !important; left:0 !important; top:0 !important; bottom:0 !important; z-index:1000;
  width:294px !important; height:100vh; margin:0 !important; padding:0 14px 92px !important;
  display:flex !important; flex-direction:column !important; gap:4px !important;
  background:linear-gradient(180deg,#0d2942 0%,#102f49 58%,#0c263b 100%) !important;
  overflow-y:auto; overflow-x:hidden;
}
.menu-marca { flex:0 0 214px; display:flex; align-items:center; justify-content:center; border-bottom:1px solid rgba(255,255,255,.14); margin:0 -14px 10px; }
.menu-marca img { width:230px; height:190px; object-fit:contain; filter:drop-shadow(0 3px 5px rgba(0,0,0,.35)); }
.menu-opcion { min-height:55px !important; flex:0 0 auto !important; width:100%; display:flex !important; align-items:center !important; justify-content:flex-start !important; gap:14px !important; padding:11px 14px !important; border:0 !important; border-left:4px solid transparent !important; border-radius:5px !important; background:transparent !important; color:#fff !important; box-shadow:none !important; font-size:16px; font-weight:700; text-align:left; }
.menu-opcion:hover { background:#173e5e !important; transform:none !important; box-shadow:none !important; }
.menu-opcion.activo { background:#0877df !important; border-left-color:#70c5ff !important; }
.menu-icono { width:30px; flex:0 0 30px; font-size:24px; line-height:1; text-align:center; }
.menu-pie { position:absolute; left:18px; right:18px; bottom:16px; padding-top:12px; border-top:1px solid rgba(255,255,255,.25); color:#fff; text-align:center; font-style:italic; font-size:15px; }
.menu-pie small { display:block; margin-top:12px; font-style:normal; font-size:13px; opacity:.9; }

.seccion-menu { grid-column:auto; margin-top:22px; }
.seccion-titulo { background:linear-gradient(135deg,#123d63,#146bb1); }
.panel, .alertas-configuracion { background:#fff; }
button, .boton-archivo { background:#243b53; }
button:hover, .boton-archivo:hover { background:#0b72d0; }
th { background:#183a59; }

/* Marca de agua de la pantalla de inicio: visible, centrada y sin desplazar el menú. */
.marca-agua-inicio {
  position:absolute !important; z-index:1 !important; left:294px !important; right:0 !important;
  top:138px !important; bottom:0 !important; display:none; align-items:center; justify-content:center;
  pointer-events:none; overflow:hidden;
}
.menu-inicio .marca-agua-inicio { display:flex !important; }
.marca-agua-inicio img {
  width:min(820px,72vw); max-width:820px; min-width:460px; height:auto;
  opacity:.25; filter:grayscale(.15) contrast(.9); user-select:none;
}

@media (max-width:900px) {
  .contenedor { padding:0 16px 20px; }
  .encabezado { margin:0 -16px; padding:18px 20px; }
  .encabezado-derecha { gap:12px; }
  .lema-header { display:none; }
  .menu-principal { position:relative !important; left:auto !important; top:auto !important; bottom:auto !important; width:100% !important; height:auto; margin:16px 0 8px !important; padding:0 0 12px !important; flex-direction:row !important; flex-wrap:wrap !important; background:transparent !important; }
  .menu-marca { flex:0 0 100%; height:110px; margin:0 0 8px; background:#102f49; border-radius:6px; }
  .menu-marca img { width:145px; height:100px; }
  .menu-opcion { flex:1 1 180px !important; background:#17364f !important; }
  .menu-pie { position:static; width:100%; background:#102f49; padding:10px; border-radius:6px; margin-top:4px; }
  .marca-agua-inicio { left:0 !important; top:300px !important; }
  .marca-agua-inicio img { width:min(620px,78vw); min-width:300px; opacity:.18; }
}
@media (max-width:600px) {
  .encabezado { padding:12px 16px; min-height:0; }
  .encabezado h1 { font-size:21px; }
  .subtitulo-header { font-size:16px; }
  .marca-agua-inicio img { width:78vw; min-width:240px; opacity:.15; }
}

.filtro-existencias {
  display:grid;
  grid-template-columns:repeat(2,minmax(220px,1fr));
  gap:14px;
  margin:14px 0 6px;
  padding:14px;
  border:1px solid #d7dee8;
  border-radius:8px;
  background:#f7f9fc;
}
.filtro-existencias label { margin-bottom:6px; }
.filtro-existencias select { background:#fff; }
@media (max-width:700px) { .filtro-existencias { grid-template-columns:1fr; } }


/* V18.9 - Administración de acceso */
.panel-acceso { max-width: 950px; }
.panel-acceso .nota-reporte { max-width: 760px; line-height: 1.5; }
.aviso-acceso { margin-top: 18px; padding: 14px 16px; border-left: 4px solid #0b5a8f; background: #eef6fb; border-radius: 5px; line-height: 1.45; }

/* V18.9.7 - Catálogo completo */
.catalogo-completo { margin-top: 24px; padding: 18px; border: 1px solid #d5dde7; border-radius: 9px; background: #f8fafc; }
.catalogo-completo-cabecera { display:flex; justify-content:space-between; align-items:flex-end; gap:18px; margin-bottom:14px; }
.catalogo-completo-cabecera h3 { margin:0 0 5px; color:#173a59; font-size:21px; }
.catalogo-filtros { min-width:320px; }
.catalogo-filtros label { display:block; margin-bottom:5px; font-weight:700; }
.catalogo-filtros input { width:100%; background:#fff; }
.catalogo-resumen { display:grid; grid-template-columns:repeat(5,minmax(130px,1fr)); gap:10px; margin:12px 0 16px; }
.catalogo-resumen > div { background:#fff; border:1px solid #d7dee8; border-radius:7px; padding:10px 12px; }
.catalogo-resumen span { display:block; color:#526477; font-size:13px; margin-bottom:4px; }
.catalogo-resumen strong { display:block; color:#173a59; font-size:17px; }
.catalogo-tabla-contenedor { max-height:620px; overflow:auto; background:#fff; }
.catalogo-tabla-contenedor table { min-width:1150px; }
.catalogo-tabla-contenedor th { position:sticky; top:0; z-index:2; white-space:nowrap; }
.catalogo-tabla-contenedor td { white-space:nowrap; }
.catalogo-tabla-contenedor .numero { text-align:right; }
.catalogo-sin-resultados { padding:14px; text-align:center; color:#667788; }
@media (max-width:900px) {
  .catalogo-completo-cabecera { flex-direction:column; align-items:stretch; }
  .catalogo-filtros { min-width:0; }
  .catalogo-resumen { grid-template-columns:repeat(2,minmax(140px,1fr)); }
}
@media (max-width:520px) { .catalogo-resumen { grid-template-columns:1fr; } }

/* V18.14 - Movimientos múltiples y documentación */
.acciones-movimiento { display:flex; gap:10px; align-items:flex-end; flex-wrap:wrap; }
.campo-ancho { grid-column:1 / -1; }
.campo-ancho textarea { width:100%; min-height:72px; resize:vertical; box-sizing:border-box; font:inherit; border:1px solid #cbd5df; border-radius:5px; padding:9px 10px; }
.movimientos-pendientes { margin-top:18px; padding:16px; border:1px solid #cfd9e3; border-radius:8px; background:#f7f9fc; }
.movimientos-pendientes h3 { margin:0 0 12px; color:#173a59; }
.movimientos-pendientes .tabla-contenedor { background:#fff; max-height:360px; overflow:auto; }
.movimientos-pendientes table { min-width:900px; }
.acciones-movimiento-confirmacion { display:flex; gap:10px; margin-top:14px; flex-wrap:wrap; }
.boton-eliminar-movimiento { background:#b02a37 !important; padding:7px 10px !important; }
.boton-eliminar-movimiento:hover { background:#8f1f2a !important; }
@media (max-width:700px) { .campo-ancho { grid-column:auto; } .acciones-movimiento, .acciones-movimiento-confirmacion { flex-direction:column; align-items:stretch; } }

.resumen-operacion{margin:10px 0;padding:10px 12px;border:1px solid #b9c9d8;border-radius:6px;background:#eef5fb;color:#173a5a;font-size:.95rem}
#movimientosPendientes .tabla-contenedor{max-height:360px;overflow:auto}
#movimientosPendientes table{min-width:980px}

.acciones-pendiente{display:flex;gap:6px;flex-wrap:wrap}.boton-modificar-movimiento,.boton-eliminar-movimiento{border:0;border-radius:6px;padding:7px 10px;cursor:pointer;font-weight:600}.boton-modificar-movimiento{background:#23405d;color:#fff}.boton-eliminar-movimiento{background:#b52d37;color:#fff}.acciones-movimiento button:disabled{opacity:.55;cursor:not-allowed}


/* V19.0 - Módulo de cotizaciones */
.cotizacion-panel { position:relative; }
.cotizacion-empresa-resumen {
  display:flex; justify-content:space-between; gap:18px; align-items:center;
  padding:14px 16px; margin-bottom:18px; border:1px solid #d7e0e9;
  border-radius:8px; background:#f3f8fd;
}
.cotizacion-empresa-resumen strong { display:block; color:#123d63; font-size:18px; }
.cotizacion-empresa-resumen span { display:block; color:#5d6c7b; font-size:13px; margin-top:4px; }
.cotizacion-badge {
  background:#0b78dc !important; color:#fff !important; padding:8px 12px;
  border-radius:20px; white-space:nowrap; font-weight:bold;
}
.cotizacion-captura-item { margin-top:20px; padding:16px; border:1px solid #d7e0e9; border-radius:8px; background:#f8fbfe; }
.cotizacion-captura-item h3 { margin-top:0; color:#173d60; }
.campo-ancho { grid-column:1 / -1; }
.campo-ancho input, .campo-ancho textarea { width:100%; }
.cotizacion-acciones { min-width:250px; }
.tabla-cotizacion { min-width: 1050px; }
.tabla-cotizacion th, .tabla-cotizacion td { vertical-align:top; }
.tabla-cotizacion .descripcion-cotizacion { white-space:pre-wrap; min-width:280px; }
.cotizacion-totales {
  margin:18px 0; margin-left:auto; max-width:390px; border:1px solid #d7e0e9;
  border-radius:8px; overflow:hidden; background:#fff;
}
.cotizacion-totales > div { display:flex; justify-content:space-between; gap:20px; padding:10px 14px; border-bottom:1px solid #e5ebf0; }
.cotizacion-totales > div:last-child { border-bottom:0; }
.cotizacion-totales .total { background:#edf5fc; font-size:18px; color:#123d63; }
.cotizacion-botones { display:flex; gap:10px; justify-content:flex-end; margin-top:16px; }
.cotizacion-historial-header { display:flex; justify-content:space-between; align-items:center; gap:15px; }
.cotizacion-historial-header h2 { margin-bottom:4px; }
.estado-cotizacion { display:inline-block; padding:4px 8px; border-radius:14px; background:#eef3f8; font-size:12px; font-weight:bold; }
.cotizacion-acciones-tabla { display:flex; gap:5px; flex-wrap:wrap; }
.cotizacion-acciones-tabla button { white-space:nowrap; }
@media (max-width:700px) {
  .cotizacion-empresa-resumen, .cotizacion-historial-header { flex-direction:column; align-items:stretch; }
  .cotizacion-badge { align-self:flex-start; }
  .cotizacion-botones { flex-direction:column; }
  .cotizacion-botones button { width:100%; }
  .cotizacion-totales { max-width:none; }
}

.clientes-catalogo-mini{margin:14px 0 18px;padding:14px;border:1px solid #d7e0e9;border-radius:8px;background:#fff}
.clientes-mini-header{display:flex;justify-content:space-between;align-items:center;gap:15px}.clientes-mini-header h3{margin:0;color:#0b9188}.clientes-mini-header p{margin:4px 0 0;color:#666;font-size:13px}.fila-cliente{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.fila-cliente button{white-space:nowrap}.clientes-mini-form{margin-top:12px}.clientes-mini-form .acciones-formulario{align-items:end}.clientes-mini-form .acciones-formulario button{flex:1}
@media(max-width:700px){.clientes-mini-header{flex-direction:column;align-items:stretch}.fila-cliente{grid-template-columns:1fr}.fila-cliente button{width:100%}}

/* V19.1.10 - Acciones de cotización */
.cotizacion-acciones-tabla { display:flex; flex-direction:column; gap:6px; min-width:145px; }
.cotizacion-acciones-tabla .accion { white-space:nowrap; width:100%; }
