/* Clear hierarchy and consistent action/state treatment across all screens. */
:root { --surface-soft: #edf3ff; --text-main: #162849; --text-secondary: #53647d; }
body { color: var(--text-main); }
input, select, textarea { border-color: #cad5e7; }
input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #2454d62b; outline-offset: 1px; border-color: #2454d6; }
button, .btn, input, select, textarea { font-size: .93rem; }
.btn { min-height: 44px; transition: background .15s, box-shadow .15s; }
.btn:not(.primary):not(.danger):not(.cta):not(.wa):not(.ghost):not(.promo) { background: #eaf0fc; color: #2149a8; }
.btn.primary { box-shadow: 0 4px 10px #2454d61a; }
.btn.danger { color: #b42318; }
.topbar { position: sticky; top: 0; z-index: 6; gap: 18px; }
.topbar .tab { border-radius: 10px; font-weight: 650; border: 1px solid transparent; }
.topbar .tab.active { background: white; color: #1941b0; border-color: white; box-shadow: 0 3px 10px #142b6d19; }
.topbar .tab:not(.active):hover { background: #ffffff20; }
.bienvenida { align-items: center; }
.bienvenida h2 { font-size: clamp(1.65rem,2.8vw,2.25rem); }
.bienvenida p { max-width: 70ch; }
.toolbar { box-shadow: 0 4px 15px #243e7506; }
.toolbar label { color: #405678; font-weight: 600; }
.metric { position: relative; box-shadow: 0 5px 14px #243e7505; }
.metric strong { color: #234dc0; }
.metric span { font-size: .86rem; }
.inventario-tabla th { padding: 16px; font-size: .78rem; letter-spacing: .025em; }
.inventario-tabla td { padding: 15px 16px; }
.inventario-tabla td:first-child strong { font-size: .92rem; line-height: 1.45; }
.inventario-tabla td small { font-size: .76rem; }
.inventario-tabla .btn { white-space: nowrap; padding: 8px 12px; }
.badge { display: inline-flex; align-items: center; font-size: .73rem; padding: 5px 9px; font-weight: 650; border-radius: 7px; }
.badge.pendiente { background: #fff0cb; color: #8b5400; }
.badge.confirmado { background: #dcf6eb; color: #076b49; }
.badge.entregado { background: #e8edff; color: #2846b6; }
.badge.cancelado, .badge.off { background: #e9edf3; color: #526078; }
.badge.bajo { background: #fff0dc; color: #a14b0a; }
.pedido { border-left: 4px solid #91aaf3; box-shadow: 0 5px 15px #243e7507; padding: 20px; }
.pedido:has(.pendiente) { border-left-color: #eea426; }
.pedido:has(.confirmado) { border-left-color: #18a779; }
.pedido .pedido-acciones { border-top: 1px solid #e7ecf5; padding-top: 14px; margin-top: 14px; }
.grupo-categorias > summary { padding: 14px 10px; font-size: 1rem; }
.fila-categoria:focus-within { background: #f6f8ff; }
dialog form { padding: 24px; }
.grupo-form { color: #234dc0; font-size: 1rem; padding-top: 20px; }
.form-grid label { display: flex; flex-direction: column; gap: 7px; color: #405678; font-weight: 600; }
.form-grid label.check { flex-direction: row; align-items: center; }
.form-grid small { line-height: 1.5; }
.dialog-actions .btn.primary { min-width: 130px; }
.error-campo { background: #fff0ee; padding: 10px 12px; border-radius: 8px; border-left: 3px solid #d92d20; }
.error-campo:empty { padding: 0; border: 0; }
.importados-resumen { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin: 20px 0; }
.importados-resumen > div { padding: 20px; border: 1px solid #dbe4f5; border-radius: 16px; background: white; }
.importados-resumen strong { display: block; color: #234dc0; font-size: 2rem; letter-spacing: -.04em; }
.importados-resumen span { color: #53647d; font-size: .85rem; }
.importados-resumen > div:nth-child(2) { border-top: 4px solid #f5ae35; }
.nota-importacion { background: #fff8e8; color: #744a0c; padding: 16px 18px; border: 1px solid #f1dfb0; border-radius: 12px; margin: 16px 0; font-size: .86rem; }
.nota-importacion p { margin-top: 5px; line-height: 1.55; }
.nota-importacion small { display: block; margin-top: 8px; color: #7f6b4b; }
.estado-privado { background: #e8edff; color: #234dc0; padding: 8px 13px; border-radius: 25px; font-weight: 650; font-size: .8rem; white-space: nowrap; }
.banner-importados { display: flex; align-items: center; justify-content: space-between; gap: 18px; background: #eaf1ff; border: 1px solid #cddcfc; border-radius: 16px; padding: 18px 20px; margin: 20px 0; }
.banner-importados strong { color: #234dc0; font-size: 1.05rem; }
.banner-importados p { color: #53647d; font-size: .85rem; margin-top: 4px; }
.banner-importados .btn { flex-shrink: 0; }
.buscar-importado { flex: 1; }
#buscar-importados { align-items: end; }
#estado-importados { margin: 15px 0; color: #53647d; }
.costo-proveedor { color: #234dc0; }
.selector-categorias { display: flex; gap: 22px; align-items: center; padding: 16px 18px; margin: 12px 0 18px; background: white; border: 1px solid #dbe4f5; border-radius: 14px; }
.selector-categoria-label { display: grid; gap: 6px; flex: 0 1 340px; min-width: 0; color: #405678; font-size: .79rem; font-weight: 650; }
.selector-categoria-label select { width: 100%; min-width: 0; height: 44px; background: #f7f9ff; color: #2149a8; font-weight: 600; }
.selector-categoria-ayuda { display: grid; gap: 4px; flex: 1; }
.selector-categoria-ayuda strong { color: #243e75; font-size: .86rem; }
.selector-categoria-ayuda span { color: #66758e; font-size: .78rem; }
.selector-categorias > button { flex-shrink: 0; }
.acceso-card { border-top: 5px solid #2454d6; }
.acceso-card .eyebrow { color: #2454d6; font-weight: 700; opacity: 1; }
.acceso-card label { color: #405678; font-weight: 650; }
.pasos-pedido [aria-current] { background: #edf2ff; border-radius: 8px 8px 0 0; }
.cajon-cabeza { background: #f2f6ff; border-bottom: 1px solid #dae4f7; }
.cajon-cabeza h2 { color: #234dc0; }
.linea { padding: 15px 0; }
.total { border-radius: 12px; background: #edf2ff; padding: 15px 12px; }
.envio-nota { padding: 0 4px; }
.card .info .cat { color: #53647d; font-size: .7rem; font-weight: 650; }
.stock-line { font-size: .8rem; }
.pie a { color: #2454d6; font-weight: 600; }
@media(max-width:800px) {
  .selector-categorias { flex-wrap: wrap; gap: 12px; }
  .selector-categoria-label { flex-basis: 100%; }
  .selector-categoria-ayuda { min-width: 150px; }
  .topbar .tabs { flex-basis: 100%; order: 3; flex-wrap: nowrap; overflow-x: auto; }
  .topbar .tab { flex: 0 0 auto; }
  .topbar { position: static; }
  .importados-resumen { gap: 8px; }
  .importados-resumen > div { padding: 12px; }
  .importados-resumen strong { font-size: 1.5rem; }
  .importados-resumen span { font-size: .72rem; }
  .banner-importados { align-items: flex-start; flex-direction: column; }
  #buscar-importados { flex-wrap: wrap; }
  #buscar-importados label { flex-basis: 100%; }
  dialog form { padding: 18px; }
}
#datos-proveedor .datos-excel-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:16px 0; }
#datos-proveedor h3 { margin:0; color:#1948b5; }
#datos-proveedor label { display:flex; flex-direction:column; gap:6px; font-size:.82rem; font-weight:600; color:#344764; }
#datos-proveedor input[readonly] { width:100%; min-width:0; box-sizing:border-box; background:#f2f6ff; border:1px solid #cbd8f5; border-radius:8px; padding:10px; color:#172c4d; }
#datos-proveedor label:nth-child(2) { grid-column:1 / -1; }
@media(max-width:500px) { #datos-proveedor .datos-excel-grid { grid-template-columns:1fr; } }
.preparacion-masiva { border:1px solid #bfd0f5; border-top:4px solid #2454d6; background:white; border-radius:16px; padding:20px; margin:20px 0; }
.preparacion-masiva header,.calculadora-lote,.lote-acciones { display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
.preparacion-masiva header { justify-content:space-between; }
.preparacion-masiva h3 { margin:4px 0; font-size:1.3rem; color:#1948b5; }
.calculadora-lote { background:#edf3ff; border-radius:12px; padding:16px; margin-top:16px; align-items:end; }
.calculadora-lote label { display:flex; flex-direction:column; gap:7px; font-weight:600; }
.preparacion-masiva input[type=number] { width:125px; padding:10px; border:1px solid #aebfdf; border-radius:8px; font:inherit; }
.preparacion-masiva input[type=checkbox],.seleccion-lote input { width:19px; height:19px; accent-color:#2454d6; }
.preparacion-masiva select { padding:10px; border:1px solid #aebfdf; border-radius:8px; background:white; }
.preparacion-masiva .ayuda-lote,#formula-lote { color:#52627b; font-size:.87rem; line-height:1.5; }
.lote-acciones { margin-top:16px; justify-content:flex-end; }.lote-acciones strong { margin-right:auto; }
.seleccion-lote { display:flex; align-items:center; gap:8px; margin-bottom:10px; color:#2454d6; font-size:.85rem; font-weight:600; }
#mensaje-lote { margin-bottom:0; } #revision-lote { max-width:650px; border:1px solid #cbd8f5; border-radius:18px; padding:24px; } #revision-lote::backdrop { background:#14213d99; }
@media(max-width:600px) { .preparacion-masiva { padding:14px; }.calculadora-lote label,.calculadora-lote button { width:100%; }.calculadora-lote input[type=number] { width:100%; box-sizing:border-box; } }
.almacen-columnas { display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0; }
.panel-almacen { background:white;border:1px solid #d7e1f2;border-radius:16px;padding:20px;margin:16px 0; }
.panel-almacen h3 { color:#1948b5;margin:0 0 12px; }.panel-almacen p { color:#52627b;line-height:1.5; }
.panel-almacen form { display:grid;gap:14px; }.panel-almacen label { display:flex;flex-direction:column;gap:7px;font-weight:600; }
.panel-almacen input,.panel-almacen select,#producto-almacen { padding:11px;border:1px solid #b9c9e5;border-radius:9px;font:inherit;background:white;max-width:100%; }
.presentaciones-lista { list-style:none;padding:0; }.presentaciones-lista li { display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 0;border-bottom:1px solid #e1e8f3; }.presentaciones-lista small { display:block;margin-top:6px;color:#52627b; }
.mov-entrada { color:#087958; }.mov-salida { color:#b33725; } #saldo-almacen { padding:15px;background:#edf3ff;border-radius:10px;font-weight:700;color:#1948b5; }
#confirmar-movimiento { max-width:600px;border:1px solid #cbd8f5;border-radius:18px;padding:24px; } #confirmar-movimiento::backdrop { background:#14213d99; }
@media(max-width:800px) { .almacen-columnas { grid-template-columns:1fr; }.panel-almacen { padding:15px; } }
/* Product lists: compact overview, clear search and progressive detail. */
.lista-amigable .bienvenida { margin-bottom:22px; }
.archivo-origen { padding:9px 13px;border:1px solid #d6e2f5;border-radius:9px;color:#526581;background:#fff;font-size:.8rem;white-space:nowrap; }
#importados-resumen { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 22px; }
.resumen-filtro { display:flex;align-items:center;gap:14px;text-align:left;padding:18px;border:1px solid #d8e2f3;border-radius:14px;background:white;cursor:pointer;color:#233652;min-width:0;font:inherit; }
.resumen-filtro.elegido { border:2px solid #2454d6;background:#f0f5ff;padding:17px;box-shadow:0 3px 10px #2454d60b; }
.resumen-filtro:hover { border-color:#2454d6; }.resumen-filtro:focus-visible { outline:3px solid #7b9fff;outline-offset:3px; }
.resumen-filtro .paso-resumen { display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#edf2ff;color:#2454d6;font-size:.82rem;font-weight:700;flex-shrink:0; }
.resumen-filtro[data-estado-lista=pendiente] .paso-resumen { background:#fff1db;color:#a35a00; }.resumen-filtro[data-estado-lista=publicado] .paso-resumen { background:#def6ed;color:#087958; }
.resumen-filtro div { display:flex;flex-direction:column;gap:4px; }.resumen-filtro strong { font-size:1.65rem;line-height:1.1; }.resumen-filtro div>span { font-size:.82rem;color:#526581; }.resumen-flecha { margin-left:auto;color:#8496b1; }
.buscador-productos { display:flex;align-items:end;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid #d9e3f3;border-radius:14px;padding:18px;scroll-margin-top:150px; }
.buscador-productos label { display:flex;flex-direction:column;gap:7px;color:#526581;font-size:.78rem;font-weight:600; }.buscador-productos .campo-busqueda { flex:1;min-width:230px; }
.campo-busqueda>div { display:flex;align-items:center;gap:10px;border:1px solid #bbcce6;background:#fff;border-radius:9px;padding:0 12px; }.campo-busqueda svg { width:20px;height:20px;fill:none;stroke:#6a7d98;stroke-width:1.8;flex-shrink:0; }
.buscador-productos .campo-busqueda input { width:100%;min-width:0;border:0!important;outline:none!important;background:transparent;box-shadow:none!important;padding:12px 0;font:inherit;font-size:.94rem;height:44px; }
.campo-busqueda>div:focus-within { outline:3px solid #b5caff;border-color:#2454d6; }.buscador-productos select { border:1px solid #bbcce6;border-radius:9px;padding:11px;background:white;color:#253b5d;font:inherit;font-size:.88rem;height:44px; }
.lista-utilidades { display:flex;justify-content:space-between;align-items:center;gap:14px;margin:18px 0; }.lista-utilidades p { margin:0;color:#60708a;font-size:.86rem; }.lista-utilidades>div { display:flex;gap:10px; }
.lista-productos-excel { border-radius:14px;overflow:hidden;border:1px solid #dbe4f4;background:white; }.lista-productos-excel table { width:100%;border-collapse:collapse; }.lista-productos-excel table th { background:#f0f4fc;color:#526581;font-size:.75rem;letter-spacing:.02em;font-weight:650;padding:15px 18px; }.lista-productos-excel table td { padding:18px;vertical-align:middle;border-bottom:1px solid #e7edf6; }.lista-productos-excel tbody tr:last-child td { border-bottom:0; }.lista-productos-excel tbody tr:hover { background:#fafcff; }.lista-productos-excel[aria-busy=true] { opacity:.55;pointer-events:none; }
.identidad-producto { display:flex;align-items:center;gap:14px;min-width:0; }.identidad-producto>div { min-width:0; }.identidad-producto strong { color:#213551;display:block;line-height:1.5;font-size:.91rem;overflow-wrap:anywhere; }
.mini-producto { display:grid;place-items:center;width:50px;height:54px;flex:0 0 50px;border-radius:11px;background:#edf3ff;color:#607cbd;overflow:hidden; }.mini-producto svg { width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round; }.mini-producto img { width:100%;height:100%;object-fit:contain; }
.meta-producto { display:flex;gap:9px;align-items:center;margin-top:6px;flex-wrap:wrap; }.codigo-producto { display:inline-block;color:#718098;font-size:.76rem;letter-spacing:.02em; }.ume-producto { background:#edf2f8;color:#586a85;font-size:.68rem;padding:3px 7px;border-radius:5px;font-weight:700; }
.costo-principal { color:#204bc4;font-size:1.08rem;display:block;white-space:nowrap; }.lista-productos-excel td>small { display:block;margin-top:4px;color:#718098;font-size:.73rem; }
.detalle-costo { margin-top:7px;font-size:.72rem; }.detalle-costo summary { cursor:pointer;color:#526b9a; }.detalle-costo>div { padding:10px;margin-top:6px;border-radius:8px;background:#eef3fb;line-height:1.7;min-width:170px; }
.presentacion-origen { display:flex;gap:7px;flex-wrap:wrap;max-width:210px; }.presentacion-origen>span { display:flex;gap:9px;padding:7px 9px;border:1px solid #e1e7f1;border-radius:7px;color:#738099;font-size:.73rem; }.presentacion-origen b { color:#344c6d; }
.acciones-producto { display:flex;align-items:flex-start;flex-direction:column;gap:9px; }.acciones-producto .btn { white-space:nowrap;font-size:.8rem;padding:9px 13px;min-height:40px; }.estado-producto { display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:600; }.estado-producto.pendiente { color:#99601b; }.estado-producto.pendiente:before { content:'';width:6px;height:6px;background:#e5a344;border-radius:50%; }.estado-producto.preparado { color:#087958; }
.ayuda-lista { color:#63738d;font-size:.82rem;margin:22px 0;line-height:1.7; }.ayuda-lista summary { cursor:pointer; }.ayuda-lista p { padding:12px;background:#edf3ff;border-radius:9px; }
.lista-amigable:not(.seleccionando) .seleccion-lote { display:none; }.lista-amigable .seleccion-lote { margin:0 0 12px;font-size:.75rem; }.preparacion-masiva[hidden] { display:none!important; }
.vacio-amigable { text-align:center;padding:45px 20px;background:white;border-radius:14px;color:#64748b; }.vacio-amigable>svg { width:54px;height:54px;fill:none;stroke:#8da6d5;stroke-width:1.3; }.vacio-amigable h3 { color:#233b5b;font-size:1.2rem;margin:16px 0 10px; }.vacio-amigable p { max-width:490px;margin:0 auto 22px;line-height:1.7; }.icono-vacio { display:inline-grid;place-items:center;width:60px;height:60px;background:#edf3ff;color:#2454d6;border-radius:16px;font-size:2rem; }
#catalogo .identidad-producto .codigo-producto { margin-top:5px; } #catalogo .identidad-producto small { display:block;font-size:.7rem;color:#8793a7;margin-top:4px; }
@media(min-width:1000px) { .lista-productos-excel th:first-child { width:40%; }.lista-productos-excel th:last-child { width:175px; } }
@media(max-width:800px) {
 #importados-resumen { gap:8px; }.resumen-filtro { padding:12px;gap:8px; }.resumen-filtro.elegido { padding:11px; }.resumen-filtro .paso-resumen,.resumen-flecha { display:none; }.resumen-filtro strong { font-size:1.4rem; }.resumen-filtro div>span { font-size:.7rem; }
 .buscador-productos { padding:14px;gap:12px;scroll-margin-top:15px; }.buscador-productos .campo-busqueda { flex-basis:100%; }.buscador-productos label:not(.campo-busqueda) { flex:1;min-width:100px; }.buscador-productos button[type=submit] { display:none; }
 .lista-productos-excel { overflow:visible;border:0;background:transparent; }.lista-productos-excel table,.lista-productos-excel tbody { display:block; }.lista-productos-excel thead { display:none; }.lista-productos-excel tbody tr { display:grid;grid-template-columns:1fr 1fr;gap:14px;background:white;border:1px solid #dbe4f4;border-radius:14px;padding:16px;margin-bottom:12px; }.lista-productos-excel table td { display:block;padding:0;border:0!important; }.lista-productos-excel td:before { display:none!important; }.lista-productos-excel td:first-child { grid-column:1/-1; }.lista-productos-excel td:last-child { grid-column:1/-1;border-top:1px solid #e7edf6!important;padding-top:12px; }.acciones-producto { flex-direction:row;justify-content:space-between;align-items:center; }.presentacion-origen { justify-content:flex-end;max-width:none; }.lista-utilidades { align-items:flex-start;flex-wrap:wrap; }.archivo-origen { display:none; }
}
@media(prefers-reduced-motion:reduce) { .lista-amigable * { scroll-behavior:auto!important; } }
