/* Fuentes propias (licencia OFL, ver assets/fonts): no dependen de lo instalado en cada computadora */
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/Inter-Regular.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/Inter-Medium.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/Inter-SemiBold.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/Inter-Bold.woff2") format("woff2")}
@font-face{font-family:"Outfit";font-style:normal;font-weight:300 500;font-display:swap;src:url("fonts/Outfit-Regular.woff") format("woff")}
/* Polartik CONNECT 1.1 — Colores oficiales: Azul #32CAFE · Oxford #606060 · Gris claro #E6E6E6
   Tipografía: Outfit (títulos) + Inter (textos). */
:root{
  --azul:#32CAFE; --azul-osc:#0B8FC4; --azul-claro:#E6F7FE; --oxford:#606060; --oxford-2:#4d4d4d; --gris:#E6E6E6;
  --fondo:#E6E6E6; --papel:#ffffff; --tinta:#2b2b2b; --tenue:#6f6f6f; --linea:#dcdcdc; --borde:#cfcfcf;
  --ok:#17804a; --ok-bg:#e3f5ea; --warn:#9a6200; --warn-bg:#fff2d6; --bad:#c0392b; --bad-bg:#fde7e5; --info-bg:#E6F7FE;
  --radio:8px; --sombra:0 1px 2px rgba(0,0,0,.06),0 2px 10px rgba(0,0,0,.05);
  --lateral:250px; --barra:62px; --pie:30px;
  --f-texto:"Inter","Helvetica Neue",Helvetica,Arial,sans-serif;
  --f-titulo:"Outfit","Inter","Helvetica Neue",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fondo);color:var(--tinta);font:15px/1.55 var(--f-texto);font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
a{color:var(--azul-osc)}
h1,h2,h3{font-family:var(--f-titulo);font-weight:400;line-height:1.25;margin:0 0 .6em;letter-spacing:.005em}
h1{font-size:1.4rem;color:var(--azul-osc)} h2{font-size:1.12rem} h3{font-size:1rem}
small,.tenue{color:var(--tenue)}
code,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}
svg.ic{width:18px;height:18px;flex:0 0 18px;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;overflow:visible}
svg.ic *{vector-effect:non-scaling-stroke}

/* ---------------- Barra superior */
.barra{position:fixed;top:0;left:0;right:0;height:var(--barra);z-index:40;display:flex;align-items:center;background:var(--azul);color:#fff}
.barra .marca{width:var(--lateral);display:flex;align-items:center;gap:10px;padding:0 18px;color:#fff;text-decoration:none;height:100%}
.barra .marca img.logo{height:22px;width:auto;display:block}
.barra .marca img.iso{height:30px;width:30px;display:none}
.barra .marca .sep{width:1px;height:26px;background:rgba(255,255,255,.85)}
.barra .marca .connect{font-size:1.25rem;letter-spacing:.5px;font-weight:300}
.barra .hamb{background:none;border:0;color:#fff;cursor:pointer;padding:8px;margin-left:6px;display:flex}
.barra .hamb svg{width:26px;height:26px}
.barra .der{margin-left:auto;display:flex;align-items:center;gap:10px;height:100%}
.barra .icono{width:40px;height:40px;border-radius:7px;background:#fff;color:var(--oxford);display:flex;align-items:center;justify-content:center;border:0;cursor:pointer;position:relative;text-decoration:none}
.barra .icono svg{width:20px;height:20px}
.barra .icono .cuenta{position:absolute;top:-5px;right:-5px;background:var(--bad);color:#fff;font-size:.7rem;border-radius:999px;min-width:18px;height:18px;padding:0 5px;display:flex;align-items:center;justify-content:center;font-weight:600}
.barra .hola{line-height:1.2;padding:0 8px 0 4px;color:#fff;text-decoration:none;cursor:pointer;background:none;border:0;text-align:left;font:inherit}
.barra .hola b{font-weight:700}
.barra .hola small{display:block;color:#fff;opacity:.92;font-size:.8rem}
.barra .engrane{width:70px;height:100%;background:var(--oxford);display:flex;align-items:center;justify-content:center;color:#fff}
.barra .engrane svg{width:26px;height:26px}
.barra .engrane:hover{background:var(--oxford-2)}
.menu-flota{position:absolute;top:calc(var(--barra) - 4px);right:76px;background:#fff;color:var(--tinta);border-radius:8px;box-shadow:0 8px 30px rgba(0,0,0,.18);min-width:270px;padding:8px 0;display:none;z-index:60}
.menu-flota.abierto{display:block}
.menu-flota a,.menu-flota .fila{display:flex;gap:10px;align-items:center;padding:9px 16px;color:var(--tinta);text-decoration:none;font-size:.92rem}
.menu-flota a:hover{background:var(--azul-claro)}
.menu-flota .titulo{padding:6px 16px;font-size:.75rem;color:var(--tenue);text-transform:uppercase;letter-spacing:.05em}
.menu-flota select{margin:4px 16px 8px;width:calc(100% - 32px)}
.menu-flota hr{border:0;border-top:1px solid var(--linea);margin:6px 0}

/* ---------------- Menú lateral */
.lateral{position:fixed;top:var(--barra);left:0;bottom:0;width:var(--lateral);background:#fff;overflow-y:auto;z-index:30;padding:10px 0 30px;border-right:1px solid var(--linea)}
.lateral a,.lateral button.grupo{display:flex;align-items:center;gap:14px;width:100%;padding:11px 22px;color:var(--oxford);text-decoration:none;font:inherit;font-size:.97rem;background:none;border:0;cursor:pointer;text-align:left}
.lateral a:hover,.lateral button.grupo:hover{color:var(--azul-osc);background:#fafafa}
.lateral a.on,.lateral button.grupo.on{color:var(--azul-osc)}
.lateral .flecha{margin-left:auto;transition:transform .15s}
.lateral .abierto > button.grupo .flecha{transform:rotate(90deg)}
.lateral .sub{display:none;padding:2px 0 6px}
.lateral .abierto > .sub{display:block}
.lateral .sub .it{display:flex;align-items:center}
.lateral .sub a{padding:8px 10px 8px 46px;font-size:.93rem;position:relative}
.lateral .sub a::before{content:"";position:absolute;left:34px;top:50%;width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.6}
.lateral .sub a.mas{width:auto;padding:8px 22px 8px 10px;margin-left:auto;font-size:1.2rem;line-height:1}
.lateral .sub a.mas::before{display:none}
.velo{display:none}

/* ---------------- Contenido */
.contenido{margin-left:var(--lateral);padding:calc(var(--barra) + 22px) 24px 40px;min-height:100vh}
.solo-contenido .contenido{margin-left:0}
body.menu-oculto .lateral{transform:translateX(-100%)}
body.menu-oculto .contenido{margin-left:0}
.lateral,.contenido{transition:transform .2s,margin .2s}

/* ---------------- Tarjetas */
.card{background:var(--papel);border-radius:var(--radio);box-shadow:var(--sombra);padding:20px;margin-bottom:18px}
.card > h2:first-child,.card > h3:first-child{margin-top:0}
.panel{background:var(--papel);border-radius:var(--radio);box-shadow:var(--sombra);margin-bottom:18px}
.panel-cab{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:16px 22px;border-bottom:1px solid var(--linea)}
.panel-cab h1,.panel-cab h2{margin:0;color:var(--azul-osc);font-size:1.35rem;font-weight:500;margin-right:auto}
.panel-cuerpo{padding:20px 22px}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cabecera{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between;margin-bottom:14px}
.cabecera h1{margin:0}
.acciones{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.kpi{background:var(--papel);border-radius:var(--radio);box-shadow:var(--sombra);padding:16px 18px;text-decoration:none;color:inherit;display:block;border-top:3px solid var(--azul)}
.kpi .n{font-size:1.9rem;font-weight:300;line-height:1.1;color:var(--tinta)}
.kpi .l{color:var(--tenue);font-size:.85rem}
.kpi.alerta{border-top-color:var(--azul)}
.kpi.rojo{border-top-color:var(--bad)}
dl.datos{display:grid;grid-template-columns:minmax(120px,38%) 1fr;gap:6px 12px;margin:0}
dl.datos dt{color:var(--tenue)}
dl.datos dd{margin:0;word-break:break-word}

/* ---------------- Barra de herramientas de listas */
.herr{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.herr input,.herr select{width:auto;min-width:180px;height:44px}
.btn-buscar{width:44px;height:44px;border-radius:6px;background:#808080;color:#fff;border:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.btn-agregar{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 18px 0 4px;border:2px solid var(--azul);border-radius:999px;background:var(--azul);color:#fff;font-weight:700;text-decoration:none;cursor:pointer;font:inherit;font-weight:700}
.btn-agregar .circ{width:34px;height:34px;border-radius:50%;background:#fff;color:var(--azul);display:flex;align-items:center;justify-content:center;font-size:1.4rem;line-height:1}
.btn-agregar.sec{background:#fff;color:var(--azul-osc)}
.btn-agregar.sec .circ{background:var(--azul);color:#fff}
.kebab{position:relative}
.kebab > button{width:44px;height:44px;border-radius:6px;background:#808080;color:#fff;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center}
.kebab .menu,.fila-menu .menu{position:absolute;right:0;top:calc(100% + 4px);background:#fff;border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.16);min-width:200px;z-index:20;display:none;padding:6px 0}
.kebab.abierto .menu,.fila-menu.abierto .menu{display:block}
.kebab .menu a,.kebab .menu button,.fila-menu .menu a,.fila-menu .menu button{display:flex;gap:8px;align-items:center;width:100%;padding:9px 14px;color:var(--tinta);text-decoration:none;background:none;border:0;cursor:pointer;font:inherit;font-size:.92rem;text-align:left}
.kebab .menu a:hover,.fila-menu .menu a:hover,.kebab .menu button:hover,.fila-menu .menu button:hover{background:var(--azul-claro);color:var(--azul-osc)}
.fila-menu{position:relative;display:inline-block}
.fila-menu > button{width:42px;height:34px;border-radius:6px;background:var(--azul-claro);color:var(--azul-osc);border:0;cursor:pointer;font-size:1.1rem;font-weight:700;letter-spacing:1px}
.fila-menu .menu form{margin:0}
.fila-menu .menu .peligro{color:var(--bad)}

/* ---------------- Lista + panel de detalle */
.maestro{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:0}
.maestro .lista{padding:10px 22px 20px;min-width:0}
.maestro .detalle{border-left:1px solid var(--linea);padding:22px}
.detalle h3.nombre{color:var(--azul-osc);font-size:1.3rem;font-weight:500;text-transform:uppercase;border-bottom:1px solid var(--linea);padding-bottom:8px}
.detalle .rs{color:var(--azul-osc);text-transform:uppercase;font-size:.95rem}
.detalle .linea{display:flex;gap:8px;align-items:flex-start;margin:6px 0;color:var(--oxford)}
.detalle .vacio-panel{color:var(--tenue);text-align:center;padding:60px 10px}
tr.sel td{background:var(--azul-claro)}
tr.clic{cursor:pointer}

/* ---------------- Tablas */
.tabla-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse}
th,td{padding:12px 10px;text-align:left;border-bottom:1px solid var(--linea);vertical-align:middle}
th{font-weight:500;color:var(--oxford);font-size:.9rem;white-space:nowrap}
th a{color:inherit;text-decoration:none}
tr:last-child td{border-bottom:0}
td.num,th.num{text-align:right}
td.acc{text-align:right;width:56px}
tbody tr:hover{background:#fafafa}

/* ---------------- Etiquetas */
.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.78rem;font-weight:500;white-space:nowrap;background:#eee;color:var(--tenue)}
.badge.ok{background:var(--ok-bg);color:var(--ok)}
.badge.warn{background:var(--warn-bg);color:var(--warn)}
.badge.bad{background:var(--bad-bg);color:var(--bad)}
.badge.info{background:var(--azul-claro);color:var(--azul-osc)}
.badge.muted{background:#eee;color:var(--tenue)}

/* ---------------- Formularios (etiqueta flotante siempre visible) */
.campo{position:relative;margin:8px 0 16px}
.campo > label:first-child{position:absolute;top:-8px;left:10px;padding:0 5px;background:#fff;font-size:.72rem;color:var(--tenue);text-transform:uppercase;letter-spacing:.03em;z-index:1;line-height:1.2;margin:0;max-width:calc(100% - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
label{display:block;font-size:.85rem;color:var(--tenue);margin:0 0 4px}
input[type=text],input[type=email],input[type=password],input[type=date],input[type=time],input[type=number],input[type=tel],input[type=search],input[type=url],select,textarea{
  width:100%;padding:11px 12px;border:1px solid var(--borde);border-radius:6px;background:#fff;color:var(--tinta);font:inherit;font-size:16px;min-height:44px}
input[type=file]{font:inherit;font-size:.9rem;max-width:100%}
textarea{min-height:96px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--azul);border-color:var(--azul)}
input[readonly]{background:#f6f6f6}
.check{display:flex;gap:8px;align-items:flex-start;color:var(--tinta);font-size:.95rem;margin-bottom:10px;cursor:pointer}
.check input{margin-top:3px;width:18px;height:18px}
.req::after{content:" *";color:var(--bad)}
.ayuda{font-size:.8rem;color:var(--tenue);margin-top:4px}
fieldset{border:1px solid var(--linea);border-radius:var(--radio);padding:16px;margin:0 0 16px}
legend{padding:0 6px;color:var(--tenue);font-size:.88rem}
.switch{display:flex;align-items:center;gap:12px;cursor:pointer;margin:6px 0 14px;color:var(--tinta)}
.switch input{appearance:none;-webkit-appearance:none;width:44px;height:24px;border-radius:999px;background:#c9c9c9;position:relative;cursor:pointer;transition:background .15s;flex:0 0 44px;margin:0}
.switch input::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .15s;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.switch input:checked{background:var(--azul)}
.switch input:checked::after{left:23px}

/* Selector VENDIDO / DE RENTA */
.segmento{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.segmento label{margin:0;border:2px solid var(--linea);border-radius:var(--radio);padding:14px;text-align:center;cursor:pointer;color:var(--tinta);font-weight:500;letter-spacing:.06em;background:#fff;position:static;font-size:1rem;text-transform:none}
.segmento input{position:absolute;opacity:0;pointer-events:none}
.segmento input:checked + span{color:var(--azul-osc)}
.segmento label:has(input:checked){border-color:var(--azul);background:var(--azul-claro)}
.segmento small{display:block;font-weight:400;letter-spacing:0;margin-top:2px}

/* Pestañas */
.pestanas{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--borde);margin-bottom:22px}
.pestanas a,.pestanas button{display:flex;align-items:center;gap:6px;padding:10px 16px;border:1px solid transparent;border-bottom:0;border-radius:6px 6px 0 0;color:var(--oxford);text-decoration:none;background:none;cursor:pointer;font:inherit;font-size:.93rem;margin-bottom:-1px}
.pestanas a.on,.pestanas button.on{border-color:var(--borde);background:#fff;color:var(--azul-osc)}
.pestanas a.off{opacity:.45;pointer-events:none}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border-radius:999px;border:2px solid var(--azul);background:var(--azul);color:#fff;text-decoration:none;font:inherit;font-size:.95rem;font-weight:600;cursor:pointer;min-height:42px;white-space:nowrap}
.btn:hover{background:#1fb9ee;border-color:#1fb9ee}
.btn.sec{background:#fff;color:var(--azul-osc);border-color:var(--azul)}
.btn.sec:hover{background:var(--azul-claro)}
.btn.gris{background:#808080;border-color:#808080}
.btn.cyan{background:var(--azul);border-color:var(--azul);color:#fff}
.btn.wa{background:#1f9d55;border-color:#1f9d55}
.btn.peligro{background:#fff;color:var(--bad);border-color:#e6b4b0}
.btn.chico{padding:6px 12px;min-height:34px;font-size:.85rem}
.btn.block{width:100%}
.btn:disabled{opacity:.5;cursor:not-allowed}

/* Mensajes */
.flash{padding:12px 14px;border-radius:8px;margin-bottom:14px;background:var(--info-bg);color:#07506b}
.flash.ok{background:var(--ok-bg);color:var(--ok)}
.flash.error{background:var(--bad-bg);color:var(--bad)}
.flash.warn{background:var(--warn-bg);color:var(--warn)}
.aviso{padding:12px 14px;border-radius:8px;background:var(--warn-bg);color:var(--warn);margin-bottom:14px}
.nota-azul{padding:14px 16px;border-radius:6px;background:#f1f1f1;color:var(--azul-osc);margin-bottom:16px}

/* Modal */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:80;display:none;align-items:flex-start;justify-content:center;padding:6vh 14px;overflow-y:auto}
.modal.abierto{display:flex}
.modal .caja{background:#fff;border-radius:10px;width:100%;max-width:760px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.modal .caja.ancho{max-width:980px}
.modal .caja-cab{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid var(--linea)}
.modal .caja-cab h2{margin:0;font-weight:400}
.modal .cerrar{margin-left:auto;background:none;border:0;font-size:1.6rem;line-height:1;color:var(--bad);cursor:pointer}
.modal .caja-cuerpo{padding:20px}
.modal .caja-pie{display:flex;gap:10px;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--linea)}

/* Configuración: cuadros */
.cuadros{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}
.cuadro{background:#fff;border-radius:var(--radio);box-shadow:var(--sombra);padding:26px 16px;text-align:center;text-decoration:none;color:var(--oxford);display:flex;flex-direction:column;align-items:center;gap:12px;border:2px solid transparent}
.cuadro:hover{border-color:var(--azul);color:var(--azul-osc)}
.cuadro svg{width:42px;height:42px;stroke:var(--azul);stroke-width:1.5}
.cuadro span{font-weight:500}
.cuadro small{color:var(--tenue);font-size:.8rem}

/* Árbol de categorías */
.arbol{border:1px solid var(--linea);border-radius:6px;overflow:hidden}
.arbol .n1,.arbol .n2,.arbol .n3{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--linea);font-size:.93rem;text-transform:uppercase}
.arbol .n1{background:#eef1f6}
.arbol .n2{padding-left:30px}
.arbol .n3{padding-left:52px;color:var(--oxford)}
.arbol .n2::before{content:"—";color:var(--azul-osc)}
.arbol .n3::before{content:"+";color:var(--azul-osc);font-weight:700}
.arbol form{margin-left:auto}
.arbol .x{border:1px solid #e3a09a;color:var(--bad);background:#fff;border-radius:4px;width:26px;height:24px;cursor:pointer;line-height:1}

/* Bitácora */
.log{list-style:none;margin:0;padding:0;position:relative}
.log::before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:var(--linea)}
.log li{position:relative;padding:0 0 18px 28px}
.log li::before{content:"";position:absolute;left:1px;top:5px;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--azul)}
.log li.interno::before{border-color:#bdbdbd}
.log .cuando{font-size:.8rem;color:var(--tenue)}
.log .titulo{font-weight:500}
.log .detalle{white-space:pre-line;margin-top:2px}
.fotos{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.fotos a{display:block;width:92px;height:92px;border-radius:8px;overflow:hidden;background:#eee}
.fotos img{width:100%;height:100%;object-fit:cover;display:block}

.pieza{display:grid;grid-template-columns:1fr 90px 140px 40px;gap:8px;margin-bottom:8px}
.pieza button{border:0;background:#eee;border-radius:8px;cursor:pointer;font-size:1.1rem}
.paginas{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.paginas a,.paginas b,.paginas span{padding:6px 11px;border-radius:6px;background:#fff;text-decoration:none;border:1px solid var(--linea)}
.paginas b{background:var(--azul);border-color:var(--azul);color:#fff}
.vacio{color:var(--tenue);padding:18px 0;text-align:center}
.filtros{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin-bottom:12px}
.filtros > *{flex:1 1 160px}
.filtros .btn{flex:0 0 auto}
.lista-tarjetas{display:grid;gap:10px}
.item{border:1px solid var(--linea);border-radius:var(--radio);padding:12px 14px;background:#fff}
.item .fila{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;align-items:center}
.item .acciones{margin-top:10px}
details.plegable{border:1px solid var(--linea);border-radius:var(--radio);padding:10px 14px;margin-bottom:12px;background:#fff}
details.plegable summary{cursor:pointer;font-weight:500}
details.plegable[open] summary{margin-bottom:12px}

/* Inicio: publicaciones */
.pubs{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.pub{background:#fff;border-radius:var(--radio);box-shadow:var(--sombra);overflow:hidden;display:flex;flex-direction:column}
.pub .pub-cab{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid var(--linea);color:var(--azul-osc);font-weight:500}
.pub.aviso-p .pub-cab{background:var(--azul);color:#fff;border-bottom:0}
.pub.aviso-p{background:var(--azul);color:#fff}
.pub .pub-cab .tipo{margin-left:auto;font-size:.75rem;text-transform:uppercase;opacity:.8}
.pub .pub-cuerpo{padding:16px;white-space:pre-line}
.pub img{width:100%;max-height:260px;object-fit:contain;background:#fff;display:block}

/* Acceso */
.acceso{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--azul)}
.acceso .card{width:100%;max-width:400px;padding:30px}
.acceso .logo-acceso{display:block;height:34px;margin:0 auto 20px}

/* Gráficas simples */
.barras{display:flex;align-items:flex-end;gap:8px;height:180px;padding-top:10px;border-bottom:1px solid var(--linea)}
.barras .b{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}
.barras .b i{display:block;width:100%;max-width:46px;background:var(--azul);border-radius:4px 4px 0 0}
.barras .b span{font-size:.72rem;color:var(--tenue);margin-top:4px}
.barras .b em{font-style:normal;font-size:.75rem;color:var(--oxford)}

@media (max-width:1100px){ .maestro{grid-template-columns:1fr} .maestro .detalle{border-left:0;border-top:1px solid var(--linea)} }
@media (max-width:900px){
  .g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lateral{transform:translateX(-100%);box-shadow:0 0 30px rgba(0,0,0,.2)}
  body.menu-visible .lateral{transform:none}
  body.menu-visible .velo{display:block;position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:25}
  .contenido{margin-left:0}
}
@media (max-width:640px){
  :root{--barra:58px}
  .contenido{padding:calc(var(--barra) + 14px) 10px 32px}
  .barra .marca{width:auto;padding:0 10px}
  .barra .marca img.logo,.barra .marca .sep,.barra .marca .connect{display:none}
  .barra .marca img.iso{display:block}
  .barra .hola,.barra .icono.pc{display:none}
  .barra .engrane{width:54px}
  .menu-flota{right:0;left:0;min-width:0}
  .g2,.g3{grid-template-columns:1fr}
  .g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  dl.datos{grid-template-columns:1fr;gap:0}
  dl.datos dd{margin-bottom:8px}
  .pieza{grid-template-columns:1fr 70px 40px}
  .pieza .np{grid-column:1 / 3}
  .card{padding:14px}
  .panel-cab,.panel-cuerpo,.maestro .lista,.maestro .detalle{padding-left:14px;padding-right:14px}
  .herr input,.herr select{min-width:0;flex:1 1 140px}
  .ocultar-movil{display:none}
  .acciones .btn{flex:1 1 auto}
}
@media print{
  .barra,.lateral,.pie,.no-print,.acciones,.flash,.herr{display:none!important}
  body{background:#fff}
  .contenido{margin:0;padding:0}
  .card,.panel{box-shadow:none;border:1px solid #ccc;break-inside:avoid}
}

/* Ajustes de herramientas y modo lectura */
form.herr input,form.herr select{width:auto}
form.herr input[type=search]{width:220px}
fieldset:disabled input,fieldset:disabled select,fieldset:disabled textarea{background:#f4f4f4;color:var(--tinta);opacity:1;-webkit-text-fill-color:var(--tinta)}
fieldset:disabled .segmento label{cursor:default}
@media (max-width:640px){ form.herr input[type=search]{width:100%;flex:1 1 100%} form.herr{width:100%} }
@media (max-width:640px){ .pestanas{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none} .pestanas::-webkit-scrollbar{display:none} .pestanas a,.pestanas button{white-space:nowrap;flex:0 0 auto;padding:10px 12px} }

/* Pantallas a toda la altura: el panel principal llega hasta abajo */
.contenido{display:flex;flex-direction:column}
.contenido > .panel.estira{flex:1 0 auto;display:flex;flex-direction:column}
.contenido > .panel.estira > .panel-cuerpo,.contenido > .panel.estira > .maestro{flex:1 0 auto}
.kebab .menu,.fila-menu .menu{max-height:calc(100vh - 16px);overflow-y:auto;z-index:60}

/* ================= Pulido 1.1.2: tipografía, íconos, espaciado, pie ================= */
/* Títulos en Outfit */
.panel-cab h1,.panel-cab h2,.modal .caja-cab h2,.detalle h3.nombre,.pub .pub-cab,.kpi .n,.cuadro span,.barra .marca .connect,.acceso h1,.hero h1{font-family:var(--f-titulo)}
.panel-cab h1,.panel-cab h2{font-weight:400;font-size:1.45rem;letter-spacing:.01em}
.detalle h3.nombre{font-weight:400;font-size:1.3rem;letter-spacing:.02em}
.kpi .n{font-weight:300;font-size:2rem}
.barra .marca .connect{font-weight:300;font-size:1.3rem;letter-spacing:.06em}
.barra .hola{font-size:.92rem}
.barra .hola b{font-weight:600}
/* Botones: negrita real de Inter, sin negritas simuladas */
.btn,.btn-agregar{font-family:var(--f-texto);font-weight:600;letter-spacing:.01em}
.btn-agregar{font-size:.95rem;gap:12px;padding:0 20px 0 5px}
.btn-agregar .circ{font-weight:400;font-size:1.35rem}
.fila-menu > button{font-weight:600}
th{font-weight:500;letter-spacing:.01em}
.badge{font-weight:500;letter-spacing:.01em}
/* Íconos finos: trazo uniforme de 1.4 px en cualquier tamaño */
.lateral svg.ic{width:20px;height:20px;flex-basis:20px}
.barra .icono svg,.barra .engrane svg,.barra .hamb svg{stroke-width:1.4}
.cuadro svg{stroke-width:1.2}
.btn svg.ic,.btn-agregar svg.ic{width:17px;height:17px;flex-basis:17px}
/* Espaciado en múltiplos de 8 px */
.campo{margin:8px 0 20px}
.grid{gap:8px 20px}
.grid > .campo{margin-bottom:12px}
.panel-cab{padding:16px 24px;min-height:76px}
.panel-cuerpo{padding:24px}
.maestro .lista{padding:8px 24px 24px}
.maestro .detalle{padding:24px}
.pestanas{margin-bottom:24px}
.acciones{gap:8px}
/* Secciones dentro de formularios largos */
.form-seccion{display:flex;align-items:center;gap:12px;margin:16px 0 16px;color:var(--azul-osc);font-family:var(--f-titulo);font-weight:400;font-size:1.05rem;letter-spacing:.02em}
.form-seccion::after{content:"";flex:1;height:1px;background:var(--linea)}
.form-seccion:first-child{margin-top:4px}
/* Selector de recuadros (EMPLEADO / VENDEDOR EXTERNO, VENDIDO / DE RENTA): sin círculo visible */
.segmento input[type=radio],fieldset:disabled .segmento input[type=radio]{position:absolute!important;opacity:0!important;width:0!important;height:0!important;margin:0!important;pointer-events:none}
.segmento label{position:relative;font-family:var(--f-titulo);font-weight:400;letter-spacing:.08em}
.segmento small{font-family:var(--f-texto)}
/* Pie: listón gris a todo lo ancho, pegado al borde inferior */
.pie{position:fixed;left:0;right:0;bottom:0;height:var(--pie);z-index:45;background:var(--oxford);color:#fff;font-size:.75rem;letter-spacing:.02em;display:flex;align-items:center;justify-content:center;padding:0 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pie span{overflow:hidden;text-overflow:ellipsis}
.lateral{bottom:var(--pie)}
.contenido{padding-bottom:calc(var(--pie) + 22px)}
body.solo-contenido{padding-bottom:var(--pie)}
@media (max-width:640px){ .pie{font-size:.66rem} .contenido{padding-bottom:calc(var(--pie) + 14px)} .panel-cab{min-height:0;padding:14px} .panel-cuerpo,.maestro .detalle{padding:16px 14px} }
@media print{ .pie{display:none!important} }
.acceso{min-height:calc(100vh - var(--pie))}
.notificar{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.notificar .campo{flex:1 1 220px;margin:8px 0 0}
.notificar .acciones{margin:0}
.filtro-opciones{margin-bottom:8px}
.campo > input.filtro-opciones + select{margin-top:0}
/* Pestañas compactas del panel de detalle */
.pestanas.mini{gap:2px;margin-bottom:16px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.pestanas.mini::-webkit-scrollbar{display:none}
.pestanas.mini a{padding:8px 10px;font-size:.84rem;white-space:nowrap;flex:0 0 auto}
.mini-item{display:block;padding:10px 0;border-bottom:1px solid var(--linea);font-size:.86rem;color:inherit;text-decoration:none}
.mini-item:last-child{border-bottom:0}
.mini-item .rs{font-size:.8rem;letter-spacing:.03em;display:flex;align-items:center;gap:6px}
.mini-item .linea{margin:4px 0}
.mini-link:hover{background:var(--azul-claro);margin:0 -10px;padding-left:10px;padding-right:10px;border-radius:6px}
.estrella svg.ic{width:14px;height:14px;fill:#f5b301;stroke:#f5b301}
.pin-caja{display:flex;gap:20px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;background:#f7fbfd;border:1px solid var(--linea);border-radius:var(--radio);padding:16px 20px}
.pin-caja > div{flex:1 1 320px}
.pin{font-family:var(--f-titulo);font-size:2rem;font-weight:300;letter-spacing:.18em;color:var(--azul-osc)}
.confidencial{border:1px solid #e9d7a6;background:#fffbf0}
.confidencial h3{display:flex;align-items:center;gap:8px}

/* Etiquetas flotantes: altura suficiente para que se vean los acentos de las mayúsculas (RÉGIMEN, RAZÓN, TELÉFONO) */
.campo > label:first-child{line-height:1.5;top:-10px;padding:0 6px}
/* Outfit sin espaciado extra: con espaciado el navegador apaga las ligaduras (fi, fl) y se ven huecos («Perf il») */
h1,h2,h3,.panel-cab h1,.panel-cab h2,.detalle h3.nombre,.form-seccion,.modal .caja-cab h2{letter-spacing:0}
/* Campo de archivo con el mismo estilo que los demás */
.campo > input[type=file]{width:100%;padding:16px 12px 10px;border:1px solid var(--borde);border-radius:6px;background:#f4f4f4;font:inherit;font-size:.9rem;color:var(--tinta)}
.campo > input[type=file]::file-selector-button{font:inherit;font-size:.85rem;font-weight:500;border:0;border-radius:6px;background:var(--azul-claro);color:var(--azul-osc);padding:6px 12px;margin-right:12px;cursor:pointer}
/* Sin desbordes horizontales en celular: el panel de detalle no se ensancha por sus pestañas */
.maestro > *,.maestro .detalle,.maestro .lista{min-width:0}
.contenido,.panel{min-width:0;max-width:100%}
.acciones{flex-wrap:wrap}
@media (max-width:640px){ .panel-cab{flex-wrap:wrap;gap:8px} }
.maestro.maestro-izq{grid-template-columns:280px minmax(0,1fr)}
.maestro.maestro-izq .detalle{border-left:1px solid var(--linea)}
@media (max-width:1100px){ .maestro.maestro-izq{grid-template-columns:1fr} .maestro.maestro-izq .detalle{border-left:0;border-top:1px solid var(--linea)} }

/* Menú: módulos y opciones próximamente */
.lateral .it.prox{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:7px 14px 7px 44px;color:#b3b3b3;font-size:.88rem;cursor:default}
.lateral .it.prox small{font-size:.62rem;letter-spacing:.04em;text-transform:uppercase;border:1px solid #d6d6d6;border-radius:10px;padding:1px 7px;color:#9a9a9a;white-space:nowrap}
.lateral .grupo-prox > button.grupo{color:#a8a8a8}

/* ---------------- 1.1.4 · Inventarios */
.verde{color:var(--ok)} .rojo{color:var(--bad)} .centro{text-align:center}
svg.ic.verde{stroke:var(--ok)}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:20px}
.kpis-mini{display:flex;flex-wrap:wrap;gap:10px 26px;margin:14px 0 18px}
.kpis-mini > div{display:flex;flex-direction:column;line-height:1.2}
.kpis-mini b{font-family:var(--f-titulo);font-weight:400;font-size:1.35rem;color:var(--tinta)}
.kpis-mini small{font-size:.78rem}
.sub-tit{font-family:var(--f-titulo);font-weight:400;font-size:1.02rem;color:var(--azul-osc);margin:22px 0 10px}
.acciones-cab{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.acciones-cab form{margin:0}
.btn.sec.peligro{color:var(--bad);border-color:#e6b4b0}
.btn.sec.peligro:hover{background:var(--bad-bg)}
.btn-icono{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:0;border-radius:50%;background:none;color:var(--tenue);cursor:pointer}
.btn-icono:hover{background:var(--bad-bg);color:var(--bad)}
.flash.info{background:var(--info-bg);color:#07506b}
fieldset.limpio{border:0;padding:0;margin:0;min-width:0}
fieldset.limpio:disabled input,fieldset.limpio:disabled select,fieldset.limpio:disabled textarea{background:#fafafa;color:var(--tinta)}
.radios{display:flex;flex-wrap:wrap;gap:6px 18px;min-height:44px;align-items:center;padding:8px 12px;border:1px solid var(--borde);border-radius:6px}
.radios label{display:inline-flex;align-items:center;gap:6px;cursor:pointer;margin:0;font-size:.93rem}
.radios input{width:auto;height:auto;margin:0;accent-color:var(--azul-osc)}
label.chk{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:var(--tenue);cursor:pointer}
label.chk input{width:auto;height:auto}
.switch.sin-margen{margin:0}
input.corto{width:92px;text-align:right}
input.medio{width:140px;text-align:right}
td.num input{text-align:right}
.dato{min-height:44px;display:flex;align-items:center;padding:0 12px;border:1px solid var(--linea);border-radius:6px;background:#fafafa;color:var(--oxford)}
.con-sufijo{display:inline-flex;align-items:center;gap:6px}
.con-sufijo span{color:var(--tenue);min-width:12px;text-align:right}
.con-sufijo input{width:130px;text-align:right}
table.precios td,table.partidas td,table.almacenes-prod td{vertical-align:middle}
table.almacenes-prod input[type=text]{min-width:0}
/* Imagen del producto */
.con-imagen{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;align-items:start}
.img-caja{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px;border:1px dashed var(--borde);border-radius:var(--radio);text-align:center}
.img-caja img{width:100%;aspect-ratio:1;object-fit:contain;background:#fff;border-radius:6px}
.img-caja label.btn{cursor:pointer}
.img-producto{width:100%;max-height:220px;object-fit:contain;background:#fff;border-radius:var(--radio);margin-bottom:12px}
td.mini-img{width:52px;padding-top:4px;padding-bottom:4px}
td.mini-img img,td.mini-img .sin-img{width:40px;height:40px;border-radius:6px;object-fit:cover;display:flex;align-items:center;justify-content:center;background:#f3f3f3;color:#b5b5b5}
.eleccion{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.modal .caja.chica{max-width:520px}
table.compacta th,table.compacta td{padding:6px 8px;font-size:.88rem}
.herr-linea{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:12px}
.herr-linea select{width:auto;min-width:220px}
/* Buscador con sugerencias */
.auto{position:relative}
/* La lista de sugerencias flota sobre toda la pantalla (se ubica con JS junto al campo) */
.sugerencias{position:fixed;z-index:90;margin:0;padding:4px 0;list-style:none;background:#fff;border:1px solid var(--borde);border-radius:8px;box-shadow:0 10px 28px rgba(0,0,0,.16);max-height:300px;overflow:auto;overscroll-behavior:contain}
.sugerencias.arriba{box-shadow:0 -8px 24px rgba(0,0,0,.14)}
.sugerencias li{padding:8px 12px;cursor:pointer;font-size:.9rem;line-height:1.35}
.sugerencias li.on,.sugerencias li:hover{background:var(--azul-claro);color:var(--azul-osc)}
.sugerencias li.nada{color:var(--tenue);cursor:default;background:none}
td.auto.prod{min-width:300px}
/* Documentos: partidas, series y totales */
.partidas tr[data-fila-extra] > td{background:#fafcfd;border-top:0}
.series-captura{display:grid;grid-template-columns:240px minmax(0,1fr);gap:4px 18px;align-items:start;padding:6px 0 0}
.series-captura textarea{min-height:70px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88rem}
.totales-doc{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;margin-top:20px;align-items:start}
.totales-doc table td{padding:7px 10px}
.totales-doc tr.total td{font-family:var(--f-titulo);font-size:1.2rem;color:var(--azul-osc);border-top:2px solid var(--azul)}
.descuento{display:flex;align-items:center;gap:6px}
.descuento select{width:auto;height:36px;min-height:36px;padding:0 8px}
.descuento input{height:36px;min-height:36px}
.ficha-doc{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:20px}
.ficha-doc > div{display:flex;flex-direction:column;padding:12px 14px;border:1px solid var(--linea);border-radius:var(--radio);background:#fcfcfc;min-width:0}
.ficha-doc small{text-transform:uppercase;font-size:.7rem;letter-spacing:.04em}
.ficha-doc b{font-weight:500;overflow-wrap:anywhere}
.series-lista{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.series-lista span{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;padding:2px 7px;border-radius:4px;background:#f1f3f4;color:var(--oxford)}
.series-lista span.baja{background:var(--bad-bg);color:var(--bad);text-decoration:line-through}
.elige-series{margin-top:8px;border:1px solid var(--linea);border-radius:8px;padding:8px 10px;background:#fff}
.elige-series .cab{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:6px;font-size:.85rem}
.elige-series .cab input{width:200px;height:34px;min-height:34px}
.casillas{display:flex;flex-wrap:wrap;gap:4px 14px;max-height:180px;overflow:auto}
.casillas label{display:inline-flex;align-items:center;gap:5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;cursor:pointer}
.casillas input{width:auto;height:auto}
.caja-accion{margin-top:20px;padding:16px;border:1px solid var(--linea);border-radius:var(--radio);background:#fcfcfc;display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.caja-accion .campo{flex:1 1 100%;margin-bottom:6px}
/* Flujo de la transferencia */
.flujo{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;list-style:none;padding:0;margin:0 0 22px;counter-reset:paso}
.flujo li{position:relative;padding:28px 8px 0;text-align:center;display:flex;flex-direction:column;font-size:.88rem}
.flujo li::before{counter-increment:paso;content:counter(paso);position:absolute;top:0;left:50%;transform:translateX(-50%);width:24px;height:24px;border-radius:50%;background:#fff;border:2px solid var(--borde);color:var(--tenue);font-size:.75rem;line-height:20px;z-index:1}
.flujo li::after{content:"";position:absolute;top:11px;left:calc(-50% + 14px);right:calc(50% + 14px);height:2px;background:var(--borde)}
.flujo li:first-child::after{display:none}
.flujo li.hecho::before{background:var(--azul);border-color:var(--azul);color:#fff}
.flujo li.hecho::after{background:var(--azul)}
.flujo small{color:var(--tenue);font-size:.78rem}
/* Actividad */
ul.actividad{list-style:none;margin:0;padding:0}
ul.actividad li{display:flex;gap:12px;align-items:flex-start;padding:8px 0;border-bottom:1px solid #eee;font-size:.88rem}
ul.actividad li > span:first-child{flex:0 0 auto;min-width:54px;text-align:right;font-weight:600}
ul.actividad .entra{color:var(--ok)} ul.actividad .sale{color:var(--bad)}
/* Histórico de costos */
figure.grafica-costos{margin:0 0 18px}
figure.grafica-costos figcaption{font-size:.85rem;color:var(--tenue);margin-bottom:4px}
figure.grafica-costos svg{width:100%;height:auto;max-height:260px}
figure.grafica-costos .rejilla{stroke:#ececec;stroke-width:1}
figure.grafica-costos .eje{fill:var(--tenue);font:11px var(--f-texto)}
figure.grafica-costos .linea{fill:none;stroke:var(--azul-osc);stroke-width:2;stroke-linejoin:round}
figure.grafica-costos .punto circle{fill:var(--azul-osc);stroke:#fff;stroke-width:2}
figure.grafica-costos .punto circle.zona{fill:transparent;stroke:none;cursor:pointer}
figure.grafica-costos .punto:hover circle:first-child{r:6}
/* Reportes */
.reporte section{min-width:0}
.reporte table{width:100%}
td.barra-col,th.barra-col{width:22%}
.barra-h{display:block;height:8px;border-radius:0 4px 4px 0;background:var(--azul)}
/* Hoja de impresión */
body.hoja-impresion{background:#fff;padding:24px}
.hoja-impresion main{max-width:900px;margin:0 auto}
.hoja-impresion header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid var(--azul);margin-bottom:16px}
.hoja-impresion table{width:100%;border-collapse:collapse;margin-bottom:18px}
.hoja-impresion th,.hoja-impresion td{border:1px solid #ccc;padding:6px 8px;text-align:left;font-size:.88rem}
.hoja-impresion .firmas{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:60px;text-align:center}
.hoja-impresion .firmas div{display:flex;flex-direction:column;gap:2px}
.hoja-impresion .linea-firma{border-top:1px solid #333;margin-bottom:4px}
/* Menú: próximamente alineado con los enlaces */
.lateral .sub .it.prox{padding-left:46px}
@media (max-width:900px){
  .con-imagen{grid-template-columns:1fr}
  .img-caja{max-width:260px}
  .totales-doc{grid-template-columns:1fr}
  .series-captura{grid-template-columns:1fr}
  .flujo{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:14px}
  .flujo li::after{display:none}
  .eleccion{grid-template-columns:1fr}
  .g3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){ .g3{grid-template-columns:1fr} td.auto.prod{min-width:220px} }
@media print{ .hoja-impresion{padding:0} }
td.mono{white-space:nowrap}
.lateral .sub .it.prox{padding-right:10px}.lateral .it.prox small{font-size:.56rem;padding:1px 5px;letter-spacing:.02em}.lateral .it.prox span{min-width:0}

/* ================= 1.1.5 · Observaciones de Inventarios ================= */
/* Títulos de sección de los documentos con línea divisoria antes del contenido */
.sub-tit{margin:28px 0 16px;padding-bottom:8px;border-bottom:1px solid var(--linea)}
.detalle .sub-tit{margin:20px 0 10px}
/* Botón «+ Agregar …» separado de la última línea de la tabla */
[data-agregar-fila]{margin-top:14px}
/* Menú lateral: se recorre con la rueda o deslizando, sin barra de scroll visible */
.lateral{scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain}
.lateral::-webkit-scrollbar{display:none;width:0;height:0}
/* Ficha en modo consulta */
.modo-consulta{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--tenue);background:#f1f1f1;border-radius:999px;padding:3px 10px}
.modo-consulta svg.ic{width:14px;height:14px;flex-basis:14px}
fieldset.limpio:disabled .img-caja label.btn{display:none}
/* Switch bloqueado (no aplica) */
.switch.bloqueado{cursor:not-allowed;opacity:.75}
.switch.bloqueado input{cursor:not-allowed}
.switch input:disabled{background:#e3e3e3}
/* Ficha técnica */
.archivo-caja{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:12px 14px;border:1px dashed var(--borde);border-radius:var(--radio);margin:8px 0 20px}
.archivo-caja .nombre{display:flex;align-items:center;gap:8px;min-width:0;overflow-wrap:anywhere}
.archivo-caja input[type=file]{flex:1 1 240px}
.archivo-caja .ayuda{flex-basis:100%;margin:0}
/* Selección masiva en listas */
td.sel-col,th.sel-col{width:36px;padding-left:4px;padding-right:0}
td.sel-col label,th.sel-col label{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin:0;cursor:pointer}
td.sel-col input,th.sel-col input{width:18px;height:18px;margin:0;accent-color:var(--azul-osc);cursor:pointer}
tr.marcado td{background:#f3fbff}
.barra-masiva{position:sticky;top:calc(var(--barra) + 6px);z-index:15;display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:8px 0 10px;padding:8px 12px;border-radius:var(--radio);background:var(--oxford);color:#fff;box-shadow:var(--sombra)}
.barra-masiva .cuantos{font-weight:600;margin-right:6px}
.barra-masiva .btn.sec{background:#fff}
.barra-masiva .todos-filtro{color:#fff;font-size:.85rem}
.barra-masiva .todos-filtro a,.barra-masiva .quitar{color:#bfeeff;background:none;border:0;cursor:pointer;font:inherit;text-decoration:underline;padding:0}
.barra-masiva .quitar{margin-left:auto}
/* Pasos del alta de cliente */
.asistente-nota{margin-top:-8px}
.sub-tit.con-herr{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 16px}
.iva-compra{display:flex;align-items:center;gap:8px;margin:0;font-family:var(--f-texto);font-size:.8rem;color:var(--tenue);text-transform:uppercase;letter-spacing:.03em}
.iva-compra select{width:auto;min-width:170px;min-height:36px;height:36px;padding:0 10px;font-size:.9rem;text-transform:none;letter-spacing:0}
select.iva-partida{width:auto;min-width:110px;min-height:36px;height:36px;padding:0 8px;font-size:.9rem}
.archivo-caja input[type=file]{font:inherit;font-size:.9rem;color:var(--tinta)}
.archivo-caja input[type=file]::file-selector-button{font:inherit;font-size:.85rem;font-weight:500;border:0;border-radius:6px;background:var(--azul-claro);color:var(--azul-osc);padding:6px 12px;margin-right:12px;cursor:pointer}

/* 1.2.0 · Encabezado de listas: título arriba; filtros a la izquierda y «Agregar» + ⋮ a la derecha, en una sola línea */
.panel-cab.con-filtros h1{flex:1 1 100%}
.barra-herr{display:flex;flex:1 1 100%;align-items:center;gap:10px;min-width:0}
.barra-herr form.herr{flex:1 1 auto;min-width:0;gap:6px;flex-wrap:wrap}
.barra-herr form.herr input,.barra-herr form.herr select{height:36px;min-height:36px;font-size:.8rem;padding:0 8px;min-width:0;width:auto;flex:1 1 100px;max-width:210px}
.barra-herr form.herr input[type=date]{flex:0 1 124px;padding:0 6px}
.barra-herr form.herr input[type=search]{flex:1 1 130px;width:auto}
.barra-herr .btn-buscar{width:36px;height:36px;flex:0 0 36px}
.herr-acc{display:flex;align-items:center;gap:8px;margin-left:auto;flex:0 0 auto}
.herr-acc .btn-agregar{height:38px;font-size:.88rem;gap:8px;padding:0 16px 0 4px}
.herr-acc .btn-agregar .circ{width:30px;height:30px;font-size:1.2rem}
.herr-acc .kebab > button{width:38px;height:38px}
@media (max-width:900px){ .barra-herr{flex-wrap:wrap} .herr-acc{order:-1;width:100%;justify-content:flex-end} .barra-herr form.herr{flex:1 1 100%} .barra-herr form.herr input,.barra-herr form.herr select{max-width:none} }
/* Totales de las listas en recuadros (misma forma que los recuadros del detalle del documento) */
.kpis-mini{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin:4px 0 18px}
.kpis-mini > div{display:flex;flex-direction:column;padding:10px 14px;border:1px solid var(--linea);border-radius:var(--radio);background:#fcfcfc;min-width:0}
.kpis-mini small{order:-1;text-transform:uppercase;font-size:.68rem;letter-spacing:.04em;color:var(--tenue)}
.kpis-mini b{font-size:1.15rem}
.kpis-mini > div.alerta{border-color:#f0c36d;background:#fffaf0}
/* Lista desplegable con buscador en un solo campo */
select.combo-oculto{display:none!important}
input.combo-inp{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23808080' stroke-width='1.6'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='m20 20-4.2-4.2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:17px;padding-right:38px}

/* ============================================================ 1.2.0 · Ventas, gastos y órdenes de compra */
.segmento.tipo-doc{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.segmento label b{display:block;font-weight:600}
.metodo-pago .segmento{max-width:640px}
.mini-seg{display:flex;gap:6px;margin-bottom:6px}
.mini-seg label{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border:1px solid var(--linea);border-radius:999px;font-size:.82rem;cursor:pointer;margin:0;position:static;text-transform:none;letter-spacing:0;color:var(--tinta)}
.mini-seg label:has(input:checked){border-color:var(--azul);background:var(--azul-claro);color:var(--azul-osc)}
.mini-seg input{width:auto;height:auto;margin:0}
.campo-receptor > label{display:block}
table.conceptos-venta td{vertical-align:top}
table.conceptos-venta td.prod{min-width:260px}
.fila-info{font-size:.76rem;margin-top:4px;line-height:1.4}
.desc-variable{margin-top:6px}
td.acc-fila{white-space:nowrap;text-align:right}
td.acc-fila .btn-icono{width:30px;height:30px}
.btn-icono.on{background:var(--azul-claro);color:var(--azul-osc)}
[data-btn]:hover{background:var(--azul-claro)!important;color:var(--azul-osc)!important}
tr.fila-extra > td{padding-top:0;border-top:0}
tr.fila-extra .extra{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 8px;font-size:.85rem}
tr.fila-extra .extra[hidden]{display:none}
tr.fila-extra .extra select{width:auto;height:34px}
tr.fila-extra .extra textarea{width:100%;min-height:54px}
tr.fila-extra:not(:has(.extra:not([hidden]))) > td{padding:0}
.chip{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.76rem;padding:2px 7px;border-radius:4px;background:#f1f3f4;color:var(--oxford);margin:1px 2px}
.btn-agregar-fila{margin-top:14px}
.info-cliente{margin:4px 0 16px;padding:10px 14px;border-radius:var(--radio);background:#f7fbfd;border:1px solid #d6eef8;font-size:.86rem;line-height:1.5}
.autoriza{margin:16px 0;padding:14px 16px;border:1px solid #f0c36d;background:#fffaf0;border-radius:var(--radio)}
.autoriza-tit{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:.9rem}
.autoriza .ic{width:18px;height:18px}
.metodo-pago{margin-top:22px;padding-top:18px;border-top:1px solid var(--linea)}
.pagos-venta{margin-top:6px;padding:14px 16px;border:1px solid var(--linea);border-radius:var(--radio);background:#fcfcfc}
.pagos-venta.inactivo{opacity:.55}
.pagos-venta.inactivo table{pointer-events:none}
.pagos-tit{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;margin-bottom:8px}
.pagos-venta select,.pagos-venta input{height:38px}
.apartado{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;margin:4px 0 12px}
.apartado .campo{margin:0;min-width:160px}
select.solo-lectura{background:#f4f4f4;cursor:not-allowed}
.acciones-menu > button.btn{width:auto;height:44px;padding:0 16px;gap:8px;background:var(--azul);color:#fff}
.acciones-menu .menu a.peligro{color:var(--bad)}
.coment-linea{margin-top:4px;padding:6px 8px;background:#f7f7f7;border-left:3px solid var(--azul);font-size:.84rem;border-radius:3px}
.linea-tiempo{list-style:none;margin:10px 0;padding:0 0 0 16px;border-left:2px solid var(--linea)}
.linea-tiempo li{position:relative;padding:6px 0 10px 12px;font-size:.9rem}
.linea-tiempo li::before{content:"";position:absolute;left:-22px;top:11px;width:10px;height:10px;border-radius:50%;background:var(--azul)}
.xml-previa{max-height:480px;overflow:auto;background:#1f2a31;color:#d9ecf3;padding:14px;border-radius:var(--radio);font-size:.76rem;line-height:1.45;white-space:pre}
.etq-grupo{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--tenue);margin:6px 0}
.casillas-lista{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;max-height:260px;overflow:auto}
.casillas-lista label{display:flex;align-items:center;gap:8px;margin:0;position:static;text-transform:none;letter-spacing:0;font-size:.9rem;color:var(--tinta);cursor:pointer}
.casillas-lista input{width:auto;height:auto;margin:0}
.series-elegir{max-height:320px;margin-top:10px}
.recorta{max-width:320px}
.ficha-doc a{color:inherit}
.sub-tit.con-herr,h4.sub-tit.con-herr{display:flex;align-items:center;justify-content:space-between;gap:10px}
@media (max-width:640px){ table.conceptos-venta td.prod{min-width:180px} .segmento.tipo-doc{grid-template-columns:1fr} }
tr.tachado td{color:var(--tenue)}
tr.tachado td:not(:last-child){text-decoration:line-through}
.oc-elegir{max-width:520px}

/* ============================================================ 1.2.1 · Refinamiento visual (observaciones de Alejandro) */
:root{
  --azul-osc:#32CAFE;                 /* textos azules: #32CAFE en todo el sistema */
  --lateral:228px; --lat-fondo:#F3F3F3; --lat-linea:#E5E5E5;
  --alto:36px;                        /* altura única de botones, íconos de acción y filtros */
  --campo:40px;                       /* altura de los campos de captura */
  --linea:#E5E5E5;
}
body{background:#fff;font-size:14px}
a{color:var(--azul)}
/* Barra superior: logo único (con CONNECT integrado) centrado sobre el menú lateral */
.barra .marca{width:var(--lateral);justify-content:center;padding:0 10px;gap:0}
.barra .marca img.logo{height:40px;width:auto;max-width:100%}
.barra .marca img.iso,.barra .marca .sep,.barra .marca .connect{display:none!important}
.barra .hamb{margin-left:8px;padding:6px}
.barra .hamb svg{width:22px;height:22px}
.barra .der{gap:8px}
.barra .icono{width:34px;height:34px;border-radius:6px}
.barra .icono svg{width:17px;height:17px;flex-basis:17px}
.barra .icono .cuenta{top:-4px;right:-4px;min-width:16px;height:16px;font-size:.62rem;padding:0 4px}
.barra .hola{font-size:.8rem;padding:0 10px 0 4px}
.barra .hola small{font-size:.68rem}
.barra .engrane{width:62px}
.barra .engrane svg{width:22px;height:22px}
/* Menú lateral: fondo #F3F3F3, divisores #E5E5E5, letra más chica */
.lateral{width:var(--lateral);background:var(--lat-fondo);border-right:1px solid var(--lat-linea);padding:6px 0 24px}
.lateral > a,.lateral > div{margin:0 12px;border-bottom:1px solid var(--lat-linea)}
.lateral > :last-child{border-bottom:0}
.lateral a,.lateral button.grupo{gap:10px;padding:9px 6px;font-size:.84rem;color:var(--oxford)}
.lateral svg.ic{width:17px;height:17px;flex-basis:17px}
.lateral .flecha{width:14px!important;height:14px!important;flex-basis:14px!important;margin-left:auto}
.lateral a:hover,.lateral button.grupo:hover{background:none;color:var(--azul)}
.lateral a.on,.lateral button.grupo.on{color:var(--azul)}
.lateral .sub{padding:0 0 6px}
.lateral .sub a{padding:6px 6px 6px 28px;font-size:.8rem}
.lateral .sub a::before{left:19px}
.lateral .sub a.mas{padding:6px 4px 6px 8px;font-size:1.05rem}
.lateral .sub .it.prox,.lateral .it.prox{padding:5px 4px 5px 28px;font-size:.78rem}
/* Contenido a todo el espacio: sin tarjeta «flotante», sin márgenes duplicados */
.contenido{margin-left:var(--lateral);padding:var(--barra) 0 calc(var(--pie) + 16px);background:#fff}
body.menu-oculto .contenido{margin-left:0}
.contenido > .panel,.contenido > .card{border-radius:0;box-shadow:none;margin:0;border-bottom:1px solid var(--linea)}
.contenido > .panel:last-child,.contenido > .card:last-child{border-bottom:0}
.contenido > .card{padding:20px 24px}
.contenido > :not(.panel):not(.card):not(.migas):not(.modal):not(script){margin-left:24px;margin-right:24px}
.contenido > .flash:first-of-type,.contenido > .migas + .flash{margin-top:12px}
.contenido > .cuadros,.contenido > .kpis,.contenido > .grid{margin-top:16px}
.panel .card,.panel-cuerpo .card{box-shadow:none;border:1px solid var(--linea)}
.kpi{box-shadow:none;border:1px solid var(--linea);border-top:3px solid var(--azul)}
.cuadro{box-shadow:none;border:1px solid var(--linea)}
.cuadro:hover{border-color:var(--azul)}
/* Migas de pan */
.migas{display:flex;flex-wrap:wrap;align-items:center;gap:2px 4px;padding:10px 24px 0;font-size:.74rem;color:var(--tenue);line-height:1.4}
.migas a{color:var(--tenue);text-decoration:none}
.migas a:hover{color:var(--azul)}
.migas .sep{display:inline-flex;color:#b8b8b8}
.migas .sep svg.ic{width:11px;height:11px;flex-basis:11px}
.migas .aqui{color:var(--oxford)}
/* Encabezado de pantalla: título + acciones a la derecha; «Filtros» en la línea de abajo */
.panel-cab{padding:12px 24px 14px;min-height:0;gap:10px 12px;border-bottom:1px solid var(--linea)}
.panel-cab h1,.panel-cab h2{font-size:1.35rem;color:var(--azul)}
.panel-cab.con-filtros h1{flex:1 1 auto}
.panel-cab .herr-acc{margin-left:auto;display:flex;align-items:center;gap:8px}
.barra-filtros{display:flex;align-items:center;gap:10px;flex:1 1 100%;min-width:0;margin-top:2px}
.filtros-etq{flex:0 0 auto;padding-left:10px;border-left:3px solid var(--azul);font-size:.82rem;color:var(--oxford);line-height:1.6}
.barra-filtros form.herr{flex:1 1 auto;display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0}
.barra-filtros form.herr input,.barra-filtros form.herr select{height:var(--alto);min-height:var(--alto);font-size:.8rem;padding:0 10px;width:auto;min-width:0;flex:0 1 190px;max-width:230px;border-radius:6px}
.barra-filtros form.herr input[type=search]{flex:1 1 170px;max-width:260px}
.barra-filtros form.herr input[type=date]{flex:0 1 132px;padding:0 6px}
.barra-filtros .btn-buscar{flex:0 0 var(--alto)}
@media (max-width:900px){ .barra-filtros{flex-wrap:wrap} .filtros-etq{display:none} .barra-filtros form.herr input,.barra-filtros form.herr select,.barra-filtros form.herr input[type=search]{max-width:none;flex:1 1 140px} }
/* Botones: todos de la misma altura; el ancho depende del texto */
.btn,.btn.chico,.btn-agregar,.herr-acc .btn-agregar,.acciones-menu > button.btn{height:var(--alto);min-height:var(--alto);padding-top:0;padding-bottom:0;font-size:.84rem;line-height:1}
.btn{padding:0 16px;gap:6px}
.btn.chico{padding:0 12px;font-size:.8rem}
.btn svg.ic{width:15px;height:15px;flex-basis:15px;stroke-width:1.8}
.btn svg.ic + span,.btn span + svg.ic{margin:0}
.btn-agregar,.herr-acc .btn-agregar{padding:0 16px 0 3px;gap:8px}
.btn-agregar .circ,.herr-acc .btn-agregar .circ{width:calc(var(--alto) - 8px);height:calc(var(--alto) - 8px);font-size:1.15rem}
.btn-buscar,.barra-herr .btn-buscar,.kebab > button,.herr-acc .kebab > button{width:var(--alto);height:var(--alto);border-radius:6px}
.btn-buscar svg,.kebab > button svg{width:16px;height:16px}
.fila-menu > button{height:28px;width:36px;font-size:.95rem}
/* Campos más bajos y etiquetas en píldora (se ven igual en campos activos y bloqueados) */
input[type=text],input[type=email],input[type=password],input[type=date],input[type=time],input[type=number],input[type=tel],input[type=search],input[type=url],select{min-height:var(--campo);height:var(--campo);padding:0 12px;font-size:14px}
textarea{font-size:14px;padding:10px 12px;min-height:84px}
.campo{margin:10px 0 16px}
.grid > .campo{margin-bottom:10px}
.campo > label:first-child{top:-9px;left:10px;padding:0 8px;background:#fff;border:1px solid var(--borde);border-radius:999px;font-size:.64rem;line-height:15px;letter-spacing:.04em}
.campo > label:first-child.req::after{content:" *"}
.dato,.radios{min-height:var(--campo)}
.descuento select,.descuento input,.iva-compra select,select.iva-partida,.pagos-venta select,.pagos-venta input{height:34px;min-height:34px}
.campo > input[type=file]{height:auto;padding:14px 12px 8px}
@media (max-width:640px){ input[type=text],input[type=email],input[type=password],input[type=date],input[type=time],input[type=number],input[type=tel],input[type=search],input[type=url],select,textarea{font-size:16px} }
/* Secciones siempre separadas por una línea */
.form-seccion{font-size:.98rem;color:var(--azul)}
.sub-tit{color:var(--azul)}
.panel-cuerpo > section + section,.panel-cuerpo > .seccion + .seccion{margin-top:20px;padding-top:20px;border-top:1px solid var(--linea)}
.maestro .detalle{border-left:1px solid var(--linea)}
.pestanas{border-bottom:1px solid var(--linea)}
.pestanas a,.pestanas button{font-size:.86rem;padding:8px 14px}
th{font-size:.8rem}
td{font-size:.86rem}
th,td{padding:10px 10px}
h1{color:var(--azul)}
/* Móvil: mismo logo, más chico */
@media (max-width:900px){ .contenido{margin-left:0} }
@media (max-width:640px){
  .barra .marca{width:auto;padding:0 6px 0 10px}
  .barra .marca img.logo{display:block!important;height:30px}
  .barra .engrane{width:48px}
  .migas{padding:8px 14px 0}
  .contenido > :not(.panel):not(.card):not(.migas):not(.modal):not(script){margin-left:14px;margin-right:14px}
  .contenido > .card{padding:14px}
  .panel-cab{padding:10px 14px 12px}
}
@media print{ .migas{display:none!important} }

/* ---------------- 1.2.1 · Panel de inicio: 4 columnas en computadora, 1 en celular */
.tablero{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:16px 24px 24px;align-items:start}
.col-inicio{border:1px solid var(--linea);border-radius:10px;background:#fff;padding:0 16px 14px;min-width:0;min-height:320px}
.col-inicio > header{display:flex;align-items:center;gap:8px;min-height:52px;padding:8px 0;margin-bottom:10px;border-bottom:1px solid var(--linea)}
.col-inicio > header h2{margin:0;font-size:1.2rem;font-weight:300;color:var(--oxford)}
.col-inicio > header .btn-icono{margin-left:auto;color:var(--tenue);width:30px;height:30px}
.col-inicio > header .btn-icono:hover{background:var(--azul-claro);color:var(--azul)}
.col-inicio .vacio{padding:24px 0;font-size:.85rem}
.accesos{display:grid;grid-template-columns:1fr 1fr}
.acceso-r{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:104px;padding:12px 6px;text-align:center;text-decoration:none;color:var(--oxford);font-size:.82rem;line-height:1.3;border-bottom:1px solid var(--linea);border-radius:0;transition:background .12s,color .12s}
.acceso-r:nth-child(odd){border-right:1px solid var(--linea)}
.acceso-r:nth-last-child(-n+2):nth-child(odd),.acceso-r:last-child{border-bottom:0}
.acceso-r svg.ic{width:30px;height:30px;flex-basis:30px;stroke:var(--azul);stroke-width:1.2}
.acceso-r:hover{background:#f7fcff;color:var(--azul)}
.cuenta-acc{display:inline-block;min-width:20px;padding:0 6px;border-radius:999px;background:#eee;color:var(--tenue);font-size:.7rem;font-weight:600;line-height:18px}
.cuenta-acc.con{background:var(--azul);color:#fff}
.promo{display:grid;grid-template-columns:78px minmax(0,1fr);gap:12px;padding:0 0 14px;margin-bottom:14px;border-bottom:1px solid var(--linea)}
.promo:last-child{border-bottom:0;margin-bottom:0}
.promo img,.promo .sin-imagen{width:78px;height:78px;border-radius:6px;object-fit:cover;background:#bdbdbd;color:#f5f5f5;display:flex;align-items:center;justify-content:center;text-align:center;font-size:.78rem;line-height:1.2}
.promo h3,.aviso-i h3{margin:0 0 4px;font-size:1.02rem;font-weight:400;color:var(--azul);display:flex;align-items:flex-start;gap:6px}
.aviso-i h3{color:var(--tinta);font-weight:500}
.promo p,.aviso-i p{margin:0;font-size:.8rem;line-height:1.45;color:var(--oxford);overflow-wrap:anywhere}
.letra-chica{display:block;margin-top:6px;text-align:right;font-size:.64rem;line-height:1.35;color:var(--tenue)}
.editar-pub{margin-left:auto;color:var(--tenue);display:inline-flex}
.editar-pub svg.ic{width:14px;height:14px;flex-basis:14px}
.editar-pub:hover{color:var(--azul)}
.aviso-i{padding:0 0 14px;margin-bottom:14px;border-bottom:1px solid var(--linea)}
.aviso-i:last-child{border-bottom:0;margin-bottom:0}
.aviso-i img{width:100%;max-height:180px;object-fit:contain;border-radius:6px;margin:4px 0 8px}
.firma-aviso{margin-top:8px;text-align:right;font-size:.68rem;color:var(--tenue);line-height:1.3}
.recordatorios{list-style:none;margin:0;padding:0}
.recordatorios li{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--linea);font-size:.86rem;color:var(--tinta)}
.recordatorios li span{flex:1;min-width:0;overflow-wrap:anywhere}
.recordatorios form{margin:0}
.recordatorios .btn-icono{color:var(--azul)}
.nuevo-rec{display:flex;gap:6px;align-items:center;margin:10px 0 6px}
.nuevo-rec input{flex:1;min-width:0;height:34px;min-height:34px;font-size:.84rem}
.nuevo-rec .btn-icono{color:var(--azul);flex:0 0 34px}
.nuevo-rec .btn-icono:hover,.recordatorios .btn-icono:hover{background:var(--azul-claro);color:var(--azul)}
.orden-accesos{list-style:none;margin:0;padding:0;max-height:52vh;overflow:auto}
.orden-accesos li{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:1px solid var(--linea)}
.orden-accesos label{flex:1;display:flex;align-items:center;gap:8px;margin:0;position:static;font-size:.9rem;color:var(--tinta);text-transform:none;letter-spacing:0;cursor:pointer}
.orden-accesos input{width:auto;height:auto;margin:0}
.orden-accesos svg.ic{stroke:var(--azul)}
.orden-accesos .mover{display:flex}
.orden-accesos .mover .btn-icono{width:28px;height:28px}
.orden-accesos .mover .btn-icono:hover{background:var(--azul-claro);color:var(--azul)}
svg.ic.rot90{transform:rotate(90deg)}
@media (max-width:1200px){ .tablero{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:640px){ .tablero{grid-template-columns:1fr;padding:12px 14px 20px} .col-inicio{min-height:0} }

/* ---------------- 1.2.1 · Envíos y entregas */
.kpis-mini > a{display:flex;flex-direction:column;padding:10px 14px;border:1px solid var(--linea);border-radius:var(--radio);background:#fcfcfc;min-width:0;text-decoration:none;color:inherit}
.kpis-mini > a:hover{border-color:var(--azul)}
.kpis-mini > a.alerta{border-color:#f0c36d;background:#fffaf0}
.segmento.formas-entrega{grid-template-columns:repeat(5,minmax(0,1fr))}
.segmento.formas-entrega label{padding:10px 8px;font-size:.84rem;letter-spacing:.02em}
@media (max-width:900px){ .segmento.formas-entrega{grid-template-columns:repeat(2,minmax(0,1fr))} }
.nota-modalidad p{margin:18px 0 0}
.caja-guia{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:14px 16px;border:1px solid var(--linea);border-radius:var(--radio);background:#fcfcfc;margin-bottom:8px}
.caja-guia > svg.ic{width:34px;height:34px;flex-basis:34px;stroke:var(--azul)}
.caja-guia > div{flex:1 1 220px}
.caja-guia .acciones{flex:0 0 auto}
.caja-guia.pendiente{border-color:#f0c36d;background:#fffaf0}
.guia-num{font-size:1.25rem;letter-spacing:.04em}
.entregado{display:flex;flex-wrap:wrap;align-items:center;gap:20px;padding:14px 16px;border:1px solid #bfe3cc;border-radius:var(--radio);background:#f4fbf6}
.firma-img{max-width:280px;max-height:120px;background:#fff;border:1px solid var(--linea);border-radius:6px;padding:4px}
.flujo.flujo-3{grid-template-columns:repeat(3,minmax(0,1fr));max-width:620px}
.esperando{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;font-size:.84rem;animation:parpadeo 1.6s ease-in-out infinite}
@keyframes parpadeo{50%{opacity:.55}}
.aviso-wa{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.aviso-wa span{flex:1 1 240px}
.lienzo-firma{position:relative;height:220px;border:2px dashed var(--borde);border-radius:10px;background:#fafafa;margin:8px 0 16px}
.lienzo-firma canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}
.lienzo-firma .guia-firma{position:absolute;left:0;right:0;bottom:10px;text-align:center;color:#b3b3b3;pointer-events:none;font-size:.9rem}
.lienzo-firma.con-firma .guia-firma{display:none}
.lienzo-firma [data-firma-borrar]{position:absolute;top:8px;right:8px}
/* Ventana de guías pendientes */
.modal-guias .caja{max-width:860px;border-top:6px solid #f5a623}
.alerta-guias{gap:12px;background:#fffaf0}
.alerta-guias h2{font-size:1.15rem!important;color:#9a6200;letter-spacing:.02em}
.alerta-guias svg.ic{width:28px;height:28px;flex-basis:28px;stroke:#9a6200}
.modal-guias .caja-pie form{margin:0 auto 0 0}
.acciones-menu > button.btn,.herr-acc .acciones-menu > button.btn,.acciones-cab .acciones-menu > button.btn{width:auto;padding:0 16px;gap:8px}
.acciones-menu > button.btn svg{width:15px;height:15px}
/* 1.2.1 · Perfil de la empresa: logo de documentos y editor de formatos PDF */
.logo-docs{display:flex;flex-wrap:wrap;gap:20px;align-items:center;max-width:900px}
.logo-docs .muestra{padding:14px 18px;border:1px solid var(--linea);border-radius:var(--radio);background:#fff;min-width:220px;min-height:84px;display:flex;align-items:center}
.logo-docs > div:last-child{flex:1 1 320px}
textarea.editor-html{width:100%;min-height:420px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.5;white-space:pre;tab-size:2}
.barra-filtros form.herr select{flex:1 1 120px;max-width:200px}
.barra-filtros form.herr input[type=search]{flex:1.4 1 140px;max-width:280px}
.barra-filtros form.herr input[type=date]{flex:0 1 128px}
@media (max-width:900px){ .panel-cab > h1{flex:1 1 100%} .panel-cab > .herr-acc{order:0;width:auto;margin-left:auto;justify-content:flex-end;flex-wrap:wrap} }
.campo > input[type=hidden]:first-child + label{position:absolute;top:-9px;left:10px;z-index:2;margin:0;padding:0 8px;background:#fff;border:1px solid var(--borde);border-radius:999px;font-size:.64rem;line-height:15px;letter-spacing:.04em;text-transform:uppercase;color:var(--tenue);display:inline-block}

/* ================= 1.3.0 · Observaciones de la 1.2.1 ================= */
/* Línea a todo lo ancho entre el encabezado (título + botones) y el área de filtros */
.panel-cab > .barra-filtros{margin:6px -24px 0;padding:12px 24px 0;border-top:1px solid var(--linea);flex-basis:calc(100% + 48px)}
@media (max-width:640px){ .panel-cab > .barra-filtros{margin:6px -14px 0;padding:10px 14px 0;flex-basis:calc(100% + 28px)} }
.card > .barra-filtros{margin-top:10px;padding-top:12px;border-top:1px solid var(--linea)}
/* EFOS y timbrado */
.flash.efos{display:flex;gap:10px;align-items:flex-start}
.flash.efos svg.ic{flex:0 0 20px;width:20px;height:20px;margin-top:2px}
.pasos-sandbox{margin:10px 0 16px;padding-left:20px;line-height:1.6;max-width:900px}
.pasos-sandbox li{margin-bottom:10px}
.pasos-sandbox input[type=file]{max-width:220px}
.etq-archivo{display:inline-flex;flex-direction:column;gap:4px;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--tenue,#6b7780);margin-right:12px}
.etq-archivo input{font-size:.85rem;text-transform:none;letter-spacing:0}

/* ===== 1.3.1 · Captura de partidas como Bind: el renglón deja de ser buscador al elegir ===== */
table.conceptos-venta td.cod{white-space:nowrap;padding-top:14px;color:var(--oxford)}
table.conceptos-venta td.uni{padding-top:14px;color:var(--tenue,#6b7780)}
table.conceptos-venta td.prod{min-width:300px;width:46%}
.concepto-txt{padding-top:6px;line-height:1.35;color:var(--oxford)}
.concepto-txt [data-nombre]{cursor:default}
tr[data-producto*='"variable":1'] .concepto-txt [data-nombre]{cursor:text;border-bottom:1px dashed #b9c6ce}
.ver-ficha{display:inline-flex;vertical-align:-3px;margin-left:6px;padding:1px 5px;border:1px solid #9fd8a9;border-radius:5px;color:#2e9a47;background:#effaf1}
.ver-ficha svg{width:15px;height:15px}
.concepto-txt + .desc-variable,.prod .desc-variable{margin-top:4px;width:100%}
.prod .fila-info{margin-top:3px;font-size:.8rem}
.prod .fila-info .verde{color:#2e9a47;font-weight:600}
.acc-fila .btn-icono.quitar{color:#d9534f}
.agregar-partida{display:block;width:100%;margin:10px 0 4px;padding:12px;border:2px dashed #c9d3d9;border-radius:8px;background:#fff;color:var(--oxford);font:inherit;font-size:1.05rem;cursor:pointer;transition:border-color .15s,color .15s}
.agregar-partida:hover,.agregar-partida:focus{border-color:#e05252;color:#2b2b2b;outline:0}
.sugerencias li u{text-decoration:underline;text-underline-offset:2px}
@media (max-width:640px){ table.conceptos-venta td.prod{min-width:200px} }

/* ============================================================ 1.3.2 */
label.switch.resaltar, label.resaltar { outline: 2px solid var(--azul, #32CAFE); outline-offset: 4px; border-radius: 8px; transition: outline-color .3s; }
.modal.obligatoria .caja-cab h2 { font-size: 1.15rem; line-height: 1.35; }
.aviso-txt { color: #9a6700; }
.lista-grupos td.acc-iconos { width: 1%; white-space: nowrap; text-align: right; vertical-align: middle; }
.lista-grupos td.acc-iconos form { display: inline; }
.lista-grupos td.acc-iconos .btn-icono { opacity: .55; }
.lista-grupos tr:hover td.acc-iconos .btn-icono, .lista-grupos tr.sel td.acc-iconos .btn-icono { opacity: 1; }
.tit-detalle { font-family: var(--f-titulo); font-weight: 400; color: var(--azul); font-size: 1.2rem; margin: 0 0 14px; }
.renombrar-grupo { border-bottom: 1px solid #E5E5E5; padding-bottom: 14px; margin-bottom: 16px; }
.lista-grupos .btn-icono:not(.peligro):hover { background: #e9f8fe; color: var(--azul); }
.credito-campo input.bloqueado, .credito-campo input[readonly] { background: #f6f6f6; color: #555; }
.vincular-dirs .casilla { display: flex; gap: 8px; align-items: flex-start; padding: 6px 0; border-bottom: 1px solid #f0f0f0; }
.vincular-dirs .casilla small { display: block; }
.grupo-dirs { margin-bottom: 18px; }
.grupo-dirs .sub-tit { display: flex; align-items: center; gap: 10px; }
.grupo-dirs .sub-tit::after { content: ""; flex: 1; border-top: 1px solid #E5E5E5; }
.grupo-dirs .mas-dir { width: 26px; height: 26px; order: 2; }
.grupo-dirs .mas-dir:hover { background: #e9f8fe; color: var(--azul); }
.tabla-dirs th { font-weight: 400; color: #777; }

/* iPad / iPhone: el listón gris del pie queda fijo al hacer scroll (sin franja blanca debajo) */
html{background:linear-gradient(to bottom,var(--azul) 0,var(--azul) 50%,var(--oxford) 50%,var(--oxford) 100%);overscroll-behavior-y:none}
body{overscroll-behavior-y:none;min-height:100vh;min-height:100dvh}
.pie{height:calc(var(--pie) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);-webkit-transform:translateZ(0);transform:translateZ(0);will-change:transform}
.lateral{bottom:calc(var(--pie) + env(safe-area-inset-bottom,0px))}

/* Captura de ventas (1.3.2, maqueta de Alejandro): Datos generales en 5 columnas, la primera más ancha */
.grid-venta{display:grid;grid-template-columns:minmax(0,2fr) repeat(4,minmax(0,1fr));gap:14px 16px;align-items:start}
.grid-venta .campo{margin-bottom:0;min-width:0}
.grid-venta input[readonly],.tipo-entrega select:disabled{background:#f4f4f4;color:#444}
.grid-venta .ayuda{font-size:.72rem}
.info-cliente{margin-top:16px}
.segmento.tipo-doc{margin:4px 0 22px}
.seg-metodo{grid-template-columns:repeat(2,minmax(0,300px));max-width:none}
.tipo-entrega{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:end}
.tipo-entrega .segmento.formas-entrega{grid-column:1 / span 3;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:0}
.tipo-entrega .segmento.formas-entrega label{padding:12px 8px;font-size:.9rem}
.tipo-entrega .campo{margin-bottom:0}
.entrega-nuevo{margin-top:12px}
.extra-surtido{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.extra-surtido input{max-width:320px}
/* iPad horizontal (≈1024–1366 px): 3 columnas para que nada se empalme (fecha de entrega / orden de compra) */
@media (max-width:1366px){ .grid-venta{grid-template-columns:repeat(3,minmax(0,1fr))} .grid-venta .campo-receptor{grid-column:span 2} }
@media (max-width:1100px){ .tipo-entrega{grid-template-columns:repeat(2,minmax(0,1fr))} .tipo-entrega .segmento.formas-entrega{grid-column:1 / -1} }
@media (max-width:900px){ .grid-venta{grid-template-columns:repeat(2,minmax(0,1fr))} .grid-venta .campo-receptor{grid-column:1 / -1} }
@media (max-width:640px){ .grid-venta,.tipo-entrega{grid-template-columns:1fr} .seg-metodo{grid-template-columns:1fr 1fr} .tipo-entrega .segmento.formas-entrega{grid-template-columns:1fr 1fr 1fr} }
.metodo-pago{margin-top:0;padding-top:0;border-top:0}
.grupo-dirs .sub-tit{border-bottom:0;padding-bottom:0;margin:22px 0 4px}
.tipo-entrega ~ div > .grid{margin-top:14px}
