/* Naho — el panel. v2: arquitectura de aplicacion (barra lateral fija con
   grupos, contenido anclado, cifras editoriales con filetes) sobre el mismo
   lenguaje de la tienda: papel, serifa Didot, versalitas, negro y un acento
   verde profundo. El contrato de clases historico se mantiene. */

:root {
  --tinta:  #1b1a18;
  --gris:   #8a857e;
  --linea:  #e7e3dd;
  --filete: #efece7;
  --fondo:  #f6f4f0;
  --blanco: #ffffff;
  --acento: #31584a;
  --error:  #a63d2f;
  --error-fondo: #faf1ef;
  --ambar-fondo: #fbf6ea;
  --ambar-linea: #eadfc3;
  --pie: var(--gris);
  --serifa: Didot, "Bodoni MT", "Bodoni 72", Georgia, serif;
}
* { box-sizing: border-box; }
html, body { margin:0; }
body { font:14.5px/1.55 "Helvetica Neue", Helvetica, -apple-system, Arial, sans-serif;
       color:var(--tinta); background:var(--fondo); -webkit-font-smoothing:antialiased;
       min-height:100vh; }
body.con-lateral { display:flex; }

/* ── barra lateral ── */
.lateral { width:232px; flex-shrink:0; background:var(--blanco);
           border-right:1px solid var(--linea); padding:1.9rem 1.6rem 1.4rem;
           display:flex; flex-direction:column; position:sticky; top:0;
           height:100vh; overflow-y:auto; }
.lateral .marca { font-family:var(--serifa); font-size:1.28rem; letter-spacing:.12em;
                  text-transform:uppercase; color:var(--tinta); text-decoration:none;
                  line-height:1.25; display:block; }
.lateral nav { margin-top:2.2rem; }
.lateral nav a { display:block; padding:.44rem .6rem; margin:0 -.6rem; font-size:.86rem;
                 color:#5c5851; text-decoration:none; border-radius:3px;
                 border-left:2px solid transparent; }
.lateral nav a:hover { color:var(--tinta); background:#faf8f5; }
.lateral nav a.activa { color:var(--tinta); font-weight:600;
                        border-left:2px solid var(--acento); background:#f7f5f1;
                        border-radius:0 3px 3px 0; }
.lateral .grupo { margin-top:1.5rem; }
.lateral .grupo > span { display:block; font-size:.6rem; color:#b5b0a8;
                         letter-spacing:.22em; text-transform:uppercase;
                         margin-bottom:.45rem; }
.lateral .abajo { margin-top:auto; padding-top:1.5rem; border-top:1px solid var(--filete);
                  display:flex; flex-direction:column; gap:.4rem; }
.lateral .quien { color:var(--gris); font-size:.64rem; letter-spacing:.16em;
                  text-transform:uppercase; }
.lateral .abajo form { margin:0; }
.lateral .firma { font-family:var(--serifa); color:#c9c4bc; font-size:.85rem;
                  letter-spacing:.4em; text-transform:uppercase; margin-top:.8rem; }

/* ── contenido ── */
.contenido { flex:1; min-width:0; }
main { max-width:1060px; margin:0 auto; padding:2.4rem clamp(1.2rem, 4vw, 3rem) 3.5rem; }
body:not(.con-lateral) .contenido { width:100%; }
footer.pie-producto { text-align:center; color:#c6c1ba; padding:2.5rem 0 1.5rem;
                      font-family:var(--serifa); font-size:.95rem; letter-spacing:.35em;
                      text-transform:uppercase; }

/* ── titulos ── */
h1 { font-family:var(--serifa); font-size:1.65rem; font-weight:500; letter-spacing:.02em;
     margin:0 0 1.1rem; }
h1.portada { font-size:2.1rem; margin-bottom:.2rem; }
h1 small { color:var(--gris); font-weight:400; font-size:.72rem;
           font-family:"Helvetica Neue", Helvetica, sans-serif; letter-spacing:.12em;
           text-transform:uppercase; }
h2 { font-size:.72rem; margin:0 0 .9rem; color:var(--gris); font-weight:600;
     letter-spacing:.17em; text-transform:uppercase; }
h2 small { color:#b5b0a8; font-weight:400; letter-spacing:.08em; text-transform:none;
           font-size:.72rem; margin-left:.3rem; }
.pie { color:var(--gris); font-size:.82rem; }
a { color:var(--tinta); }
.pie a { color:var(--gris); }
a.enlace { margin-left:1rem; color:var(--gris); }
.encabezado-inicio { margin-bottom:1.8rem; }

/* ── inicio: cifras editoriales ── */
.resumen-cifras { display:grid; grid-template-columns:repeat(3, 1fr);
                  border-top:2px solid var(--tinta); border-bottom:1px solid var(--linea);
                  background:var(--blanco); margin-bottom:2rem; }
.dato { display:flex; flex-direction:column; gap:.25rem; padding:1.15rem 1.25rem 1.25rem;
        border-left:1px solid var(--filete); border-top:1px solid var(--filete);
        color:inherit; text-decoration:none; }
.dato:first-child { border-left:0; }
a.dato:hover { background:#fbfaf7; }
.dato .rotulo { font-size:.62rem; color:var(--gris); letter-spacing:.16em;
                text-transform:uppercase; }
.dato .valor { font-size:1.55rem; font-weight:650; font-variant-numeric:tabular-nums;
               letter-spacing:0; }
.dato .nota { font-size:.75rem; color:var(--gris); }
.dato.alerta .valor { color:var(--error); }
.dato.alerta .nota { color:var(--error); }

.dos-columnas { display:grid; grid-template-columns:repeat(auto-fit, minmax(19rem, 1fr));
                gap:1.4rem; margin-bottom:1.6rem; align-items:start; }
.bloque { background:var(--blanco); border:1px solid var(--linea); border-radius:4px;
          padding:1.4rem 1.5rem; }
.lista .talla { color:var(--gris); font-weight:400; font-size:.8em; margin-left:.25rem; }
table.tabla-quieta td { padding:.5rem .35rem; font-size:.88rem; white-space:nowrap; }
table.tabla-quieta td:first-child { white-space:normal; width:100%; }
details.permisos { margin-top:.5rem; }
details.permisos summary { cursor:pointer; color:#b5b0a8; font-size:.66rem;
                           letter-spacing:.16em; text-transform:uppercase; }
details.permisos .chips { margin-top:.6rem; }

/* ── tarjetas ── */
.tarjeta { background:var(--blanco); border:1px solid var(--linea); border-radius:4px;
           padding:1.6rem 1.7rem; margin-bottom:1.3rem; }
.angosta { max-width:23rem; margin:4.5rem auto; }
.angosta-media { max-width:36rem; margin:1rem auto; }
.dos { display:grid; grid-template-columns:repeat(auto-fit, minmax(18rem, 1fr)); gap:1.3rem; }

/* la marca del producto en el login */
.marca-naho { font-family:var(--serifa); text-align:center; font-size:2.5rem;
              letter-spacing:.32em; text-transform:uppercase; margin:.4rem 0 .2rem;
              color:var(--tinta); text-indent:.32em; }
.marca-naho + .lema { text-align:center; color:var(--gris); font-size:.66rem;
                      letter-spacing:.24em; text-transform:uppercase; margin:0 0 1.8rem; }

/* ── formularios ── */
label { display:block; font-size:.68rem; color:var(--gris); margin-top:.95rem;
        letter-spacing:.14em; text-transform:uppercase; }
input[type=text], input[type=email], input[type=password] {
  width:100%; padding:.6rem .1rem; border:0; border-bottom:1px solid #cfcac2;
  border-radius:0; font-size:1rem; background:transparent; margin-top:.15rem; }
input:focus, select:focus, textarea:focus { outline:none; border-color:var(--tinta); }
button { margin-top:1.1rem; padding:.68rem 1.5rem; border:0; border-radius:0;
         background:var(--tinta); color:#fff; font-size:.7rem; letter-spacing:.18em;
         text-transform:uppercase; cursor:pointer; }
button:hover { background:#000; }
button.suave { background:transparent; color:var(--gris); margin:0; padding:.25rem 0;
               letter-spacing:.14em; text-align:left; }
button.suave:hover { color:var(--tinta); background:transparent; }
a.boton { display:inline-block; padding:.6rem 1.15rem; border-radius:0;
          background:var(--tinta); color:#fff; text-decoration:none; font-size:.7rem;
          letter-spacing:.15em; text-transform:uppercase; }
.fila { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.fila h1 { margin:0; }
.fila .boton { margin-left:auto; }
.buscar { display:flex; gap:.7rem; margin:1.1rem 0; align-items:end; }
.buscar input { flex:1; padding:.55rem .1rem; border:0; border-bottom:1px solid #cfcac2;
                border-radius:0; background:transparent; font-size:.95rem; }
.buscar button { margin:0; }
.en-linea { display:grid; grid-template-columns:repeat(auto-fit, minmax(11rem, 1fr));
            gap:.9rem; align-items:end; }
.en-linea label { margin:0; }
.en-linea input, .en-linea select { width:100%; padding:.5rem .4rem; border:1px solid var(--linea);
  border-radius:2px; font-size:.92rem; background:var(--blanco); margin-top:.2rem; }
.en-linea button { margin:0; }
.en-linea-chica { display:flex; gap:.4rem; align-items:center; }
.en-linea-chica select { padding:.35rem .4rem; border:1px solid var(--linea); border-radius:2px; }
select { font:inherit; color:inherit; }
textarea.mensaje { width:100%; padding:.6rem .7rem; border:1px solid var(--linea);
                   border-radius:2px; font:inherit; font-size:.95rem; background:var(--blanco); }

/* ── avisos ── */
.error { color:var(--error); background:var(--error-fondo); border:1px solid #e5c4bc;
         border-radius:2px; padding:.6rem .8rem; margin-top:.85rem; font-size:.9rem; }
.ok { color:var(--acento); } .mal { color:var(--error); }
.temporal { background:var(--ambar-fondo); border:1px solid var(--ambar-linea);
            border-radius:2px; padding:.6rem .8rem; margin:.75rem 0; }
.temporal code { font-size:1.05rem; }
.aviso { background:var(--ambar-fondo); border:1px solid var(--ambar-linea);
         border-radius:4px; padding:1rem 1.25rem; margin-bottom:1.25rem; }
.aviso h2 { margin-top:0; }

/* ── listas ── */
.lista { list-style:none; padding:0; margin:0; }
.lista li { display:flex; align-items:center; gap:1rem; padding:.72rem 0;
            border-top:1px solid var(--filete); }
.lista li:first-child { border-top:0; }
.lista .nombre { font-weight:500; }
.lista .rol { color:var(--gris); font-size:.84rem; }
.lista form { margin-left:auto; }
.lista form button { margin:0; }
.lista.compacta li { padding:.48rem 0; }
.lista.compacta .rol { margin-left:auto; white-space:nowrap; }
.chips span { display:inline-block; background:var(--fondo); border:1px solid var(--linea);
              border-radius:2px; padding:.16rem .55rem; margin:.14rem; font-size:.76rem;
              letter-spacing:.04em; color:#6d6862; }

/* ── tablas ── */
table { width:100%; border-collapse:collapse; font-size:.9rem; }
th, td { text-align:left; padding:.62rem .45rem; border-bottom:1px solid var(--filete); }
th { color:var(--gris); font-weight:600; font-size:.65rem; letter-spacing:.15em;
     text-transform:uppercase; border-bottom:1px solid var(--linea); }
td.num, th.num { text-align:right; font-variant-numeric:tabular-nums; }
tbody tr:hover td { background:#fbfaf7; }
tr.agotado td, tr.archivado td { color:var(--gris); }
tr.anulada td { color:var(--gris); text-decoration:line-through; }
tr.vencida td { background:var(--error-fondo); }
tr.pagada td, tr.suspendida td { color:var(--gris); }
tr.suelta td { background:var(--ambar-fondo); }
tr.apagado td { color:var(--pie, #888); }
tfoot td { border-top:1px solid var(--linea); border-bottom:0; color:var(--gris); }
table.captura input, table.captura select { width:100%; padding:.42rem .45rem;
  border:1px solid var(--linea); border-radius:2px; font-size:.9rem; background:var(--blanco); }
table.captura td { padding:.25rem .3rem; border-bottom:0; }
table.medios input[type="text"] { width:6rem; margin:0; text-align:right;
  border:1px solid var(--linea); border-radius:2px; padding:.35rem .45rem; }
table.medios td { vertical-align:middle; }

/* ── compatibilidad: cifras viejas en otras pantallas ── */
.cifras { display:grid; grid-template-columns:repeat(auto-fit, minmax(11.5rem, 1fr));
          gap:.9rem; margin-top:1.2rem; }
.cifra { display:flex; flex-direction:column; gap:.2rem; padding:1rem 1.1rem;
         border:1px solid var(--linea); border-radius:4px; background:var(--blanco);
         color:inherit; text-decoration:none; }
a.cifra:hover { border-color:#cfcac2; }
.cifra .rotulo { font-size:.64rem; color:var(--gris); letter-spacing:.15em;
                 text-transform:uppercase; }
.cifra .valor { font-size:1.4rem; font-weight:650; font-variant-numeric:tabular-nums; }
.cifra .nota { font-size:.77rem; color:var(--gris); }
.cifra.alerta { border-color:#e5c4bc; background:var(--error-fondo); }

/* ── pestanas y botones sueltos ── */
.pestanas { margin-left:auto; display:flex; gap:.4rem; }
.pestanas a { padding:.35rem .9rem; border-radius:0; text-decoration:none;
              color:var(--gris); border:1px solid var(--linea); font-size:.7rem;
              letter-spacing:.13em; text-transform:uppercase; }
.pestanas a.activa { background:var(--tinta); color:#fff; border-color:var(--tinta); }
.botones form { display:inline-block; margin:0 .25rem .25rem 0; }
.botones button { margin:0; padding:.42rem .8rem; font-size:.68rem; }

/* ── fotos de producto ── */
img.mini { width:42px; height:53px; object-fit:cover; border-radius:2px; display:block;
           background:#f4f2ef; }
img.producto-foto { float:right; max-width:220px; max-height:280px; object-fit:contain;
                    border-radius:2px; margin:0 0 .8rem .8rem; background:#f4f2ef; }

/* ── movil ── */
@media (max-width: 880px) {
  body.con-lateral { display:block; }
  .lateral { width:100%; height:auto; position:static; flex-direction:row;
             flex-wrap:wrap; align-items:center; gap:.4rem 1.2rem;
             padding:.9rem 1.1rem; border-right:0; border-bottom:1px solid var(--linea); }
  .lateral nav { margin-top:0; display:flex; flex-wrap:wrap; gap:0 .3rem; }
  .lateral nav a { padding:.3rem .5rem; margin:0; border-left:0; font-size:.82rem; }
  .lateral nav a.activa { border-left:0; background:#efece7; border-radius:3px; }
  .lateral .grupo { margin-top:0; display:contents; }
  .lateral .grupo > span { display:none; }
  .lateral .abajo { margin:0 0 0 auto; padding:0; border:0; flex-direction:row;
                    align-items:center; gap:.8rem; }
  .lateral .firma { display:none; }
  main { padding:1.4rem 1rem 2.5rem; }
  .resumen-cifras { grid-template-columns:repeat(2, 1fr); }
  .dato { border-left:0; border-top:1px solid var(--filete); }
}

/* ── graficas (SVG del servidor) ── */
.dato .visual { display:block; margin:.35rem 0 .1rem; }
.grafica-bloque { margin-bottom:1.4rem; }
.fila-grafica { display:flex; align-items:baseline; justify-content:space-between; }
.grafica-linea { width:100%; height:150px; display:block; margin-top:.4rem; }
.grafica-eje { display:flex; justify-content:space-between; margin-top:.3rem;
               color:#b5b0a8; font-size:.68rem; letter-spacing:.08em; }
.barra-apilada { display:block; margin:.4rem 0 .8rem; }
.leyenda { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap;
           gap:.35rem 1.6rem; }
.leyenda li { display:flex; align-items:center; gap:.45rem; font-size:.84rem; }
.leyenda .nombre { font-weight:500; }
.bloque { margin-bottom:0; }
main > .bloque + .dos-columnas, main > .bloque + .bloque,
main > .resumen-cifras + .bloque { margin-top:1.4rem; }
.dos-columnas > .bloque { margin-top:0; }
.grafica-caja { width:100%; height:120px; display:block; margin-top:.4rem; }
.barra-cartera { display:block; margin:.5rem 0 .9rem; }

/* ── barras horizontales (medios de pago, categorias, top clientes) ── */
.barras-h { list-style:none; padding:0; margin:.5rem 0 1.2rem; display:flex;
            flex-direction:column; gap:.6rem; }
.barras-h li { display:grid; grid-template-columns:minmax(7rem, 12rem) 1fr auto;
               gap:1rem; align-items:center; font-size:.86rem; }
.barras-h .nombre { font-weight:500; white-space:nowrap; overflow:hidden;
                    text-overflow:ellipsis; }
.barras-h svg { display:block; }
.barras-h .monto { font-variant-numeric:tabular-nums; color:#5c5851;
                   white-space:nowrap; font-size:.8rem; }
.chip-estado { font-size:.74rem; letter-spacing:.06em; }
.chip-estado.ok { color:var(--acento); }
.chip-estado.mal { color:var(--error); }
.tarjeta .resumen-cifras { margin-top:1rem; margin-bottom:1.6rem; }
@media (max-width:880px) { .barras-h li { grid-template-columns:minmax(5rem, 7rem) 1fr auto; gap:.6rem; } }

/* ── grafica interactiva: una columna de lectura por dia (sin JS) ── */
.grafica-zona { position:relative; }
.grafica-zona .columnas { position:absolute; inset:0; display:flex; }
.grafica-zona .col { flex:1; position:relative; }
.grafica-zona .col::after { content:""; position:absolute; left:50%; top:0; bottom:0;
                            width:1px; background:transparent; }
.grafica-zona .col:hover { background:rgba(49,88,74,.05); }
.grafica-zona .col:hover::after { background:rgba(49,88,74,.35); }
.grafica-zona .tip { display:none; position:absolute; top:.2rem; left:50%;
                     transform:translateX(-50%); background:var(--tinta); color:#fff;
                     padding:.32rem .6rem; font-size:.74rem; line-height:1.25;
                     border-radius:2px; white-space:nowrap; z-index:5;
                     font-variant-numeric:tabular-nums; text-align:center; }
.grafica-zona .tip small { display:block; color:#c9c4bc; font-size:.62rem;
                           letter-spacing:.06em; }
.grafica-zona .col:hover .tip { display:block; }
.grafica-zona .col:nth-child(-n+4) .tip { left:0; transform:none; }
.grafica-zona .col:nth-last-child(-n+4) .tip { left:auto; right:0; transform:none; }

/* ── fichas de producto (inicio: se acaba / estancado) ── */
.fichas { display:grid; grid-template-columns:repeat(3, 1fr);
          gap:1.1rem .9rem; }
.ficha-prod { display:flex; flex-direction:column; gap:.12rem; position:relative;
              color:inherit; text-decoration:none; font-size:.78rem; min-width:0; }
.ficha-prod img, .ficha-prod .sin-foto { width:100%; aspect-ratio:4 / 5;
              object-fit:contain; border-radius:2px; background:#f1efeb; display:block; }
.ficha-prod .sin-foto { display:flex; align-items:center; justify-content:center;
              text-align:center; padding:.5rem; color:#b5b0a8;
              font-family:var(--serifa); font-size:.82rem; }
.ficha-prod:hover img { opacity:.9; }
.ficha-prod .sello { position:absolute; top:.4rem; left:.4rem;
              background:rgba(166,61,47,.88); color:#fff; font-size:.56rem;
              letter-spacing:.14em; text-transform:uppercase; padding:.16rem .42rem;
              border-radius:2px; }
.ficha-prod .sello.queda { background:rgba(27,26,24,.82); }
.ficha-prod .nombre { font-weight:500; margin-top:.3rem; white-space:nowrap;
              overflow:hidden; text-overflow:ellipsis; }
.ficha-prod .datos { color:#5c5851; font-variant-numeric:tabular-nums;
              white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ficha-prod .dias { color:var(--gris); font-size:.72rem; }

/* ── barra de filtros (chips + mes puntual) ── */
.filtros { display:flex; gap:.4rem; align-items:center; flex-wrap:wrap;
           margin:0 0 1.2rem; }
.filtros a { padding:.32rem .8rem; border:1px solid var(--linea); color:var(--gris);
             text-decoration:none; font-size:.68rem; letter-spacing:.12em;
             text-transform:uppercase; white-space:nowrap; }
.filtros a:hover { color:var(--tinta); border-color:#cfcac2; }
.filtros a.activa { background:var(--tinta); color:#fff; border-color:var(--tinta); }
.filtros form { display:flex; gap:.5rem; align-items:center; margin-left:auto;
                flex-wrap:wrap; }
.filtros input[type=month], .filtros select, .filtros input[type=text],
.filtros input[type=search] { padding:.34rem .5rem; border:1px solid var(--linea);
                border-radius:2px; background:var(--blanco); font:inherit;
                font-size:.85rem; color:inherit; }
.filtros label { margin:0; display:flex; align-items:center; gap:.45rem; }
.filtros button { margin:0; }
@media (max-width:880px) { .filtros form { margin-left:0; } }

/* ── acceso personalizado (usuarios) ── */
details.acceso-areas { margin-top:1rem; }
details.acceso-areas summary { cursor:pointer; color:var(--gris); font-size:.7rem;
                               letter-spacing:.14em; text-transform:uppercase; }
label.casilla { display:flex; gap:.55rem; align-items:center; text-transform:none;
                letter-spacing:0; font-size:.9rem; color:var(--tinta);
                margin-top:.55rem; }
label.casilla input { accent-color:var(--acento); width:1rem; height:1rem; }

/* ── punto de venta ── */
.pos { display:grid; grid-template-columns:1fr 21rem; gap:1.4rem;
       align-items:start; }
.pos-catalogo { background:var(--blanco); border:1px solid var(--linea);
                border-radius:4px; padding:1.4rem 1.5rem; }
.pos-catalogo .fila { gap:.8rem; margin-bottom:1rem; }
.pos-catalogo input[type=search], .pos-catalogo select { padding:.45rem .6rem;
                border:1px solid var(--linea); border-radius:2px;
                background:var(--blanco); font:inherit; }
.pos-catalogo input[type=search] { flex:1; min-width:8rem; }
.pos-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(8.6rem, 1fr));
            gap:1.1rem .9rem; }
.pos-item { display:flex; flex-direction:column; gap:.25rem; font-size:.8rem;
            min-width:0; }
.pos-item img, .pos-item .sin-foto { width:100%; aspect-ratio:4 / 5;
            object-fit:contain; background:#f1efeb; border-radius:2px; display:block; }
.pos-item .sin-foto { display:flex; align-items:center; justify-content:center;
            text-align:center; color:#b5b0a8; font-family:var(--serifa);
            padding:.5rem; }
.pos-item .nombre { font-weight:500; margin-top:.2rem; white-space:nowrap;
            overflow:hidden; text-overflow:ellipsis; }
.pos-item .tallas { display:flex; flex-wrap:wrap; gap:.3rem; }
.pos-item .talla { margin:0; padding:.3rem .6rem; background:var(--fondo);
            color:var(--tinta); border:1px solid var(--linea); font-size:.72rem;
            letter-spacing:.04em; text-transform:none; }
.pos-item .talla:hover { background:var(--tinta); color:#fff;
            border-color:var(--tinta); }
.pos-ticket { background:var(--blanco); border:1px solid var(--linea);
              border-radius:4px; padding:1.3rem 1.4rem; position:sticky; top:1rem; }
.pos-ticket .pos-total { display:flex; justify-content:space-between;
              align-items:baseline; border-top:2px solid var(--tinta);
              margin-top:1rem; padding-top:.7rem; font-size:1.05rem; }
.pos-ctl { display:flex; align-items:center; gap:.45rem;
           font-variant-numeric:tabular-nums; }
.pos-ctl button { margin:0; padding:.05rem .5rem; background:var(--fondo);
                  color:var(--tinta); border:1px solid var(--linea);
                  font-size:.85rem; }
.pos-aviso { margin-bottom:1rem; }
@media (max-width:880px) {
  .pos { grid-template-columns:1fr; }
  .pos-ticket { position:static; }
}

/* ── conciliacion bancaria: pasos y movimientos legibles ── */
.pasos { margin:.5rem 0 1.3rem; padding-left:1.25rem; display:flex;
         flex-direction:column; gap:.5rem; font-size:.88rem; color:#5c5851; }
.pasos li::marker { color:var(--acento); font-weight:600; }
.movs { list-style:none; padding:0; margin:.4rem 0 0; }
.mov { display:grid; grid-template-columns:1fr auto minmax(17rem, 23rem);
       gap:1.3rem; padding:1.05rem 0; border-top:1px solid var(--filete);
       align-items:start; }
.mov:first-child { border-top:0; }
.mov .cuando { display:block; color:var(--gris); font-size:.72rem;
               letter-spacing:.08em; }
.mov .desc { font-weight:500; overflow-wrap:anywhere; }
.mov .desc small { color:var(--gris); font-weight:400; }
.mov .monto { font-variant-numeric:tabular-nums; font-weight:650;
              font-size:1.05rem; text-align:right; white-space:nowrap; }
.mov .monto small { display:block; font-weight:400; font-size:.62rem;
                    letter-spacing:.16em; text-transform:uppercase; }
.mov .monto.entra { color:var(--acento); }
.mov .monto.sale { color:var(--error); }
.mov .pareja { margin:0 0 .45rem; font-size:.8rem; color:var(--acento); }
.mov .pareja.sin { color:var(--gris); }
.mov .accion form { display:flex; gap:.5rem; flex-wrap:wrap;
                    align-items:center; margin:0; }
.mov .accion select, .mov .accion input[type=text] { padding:.38rem .5rem;
     border:1px solid var(--linea); border-radius:2px; background:var(--blanco);
     font:inherit; font-size:.84rem; max-width:100%; }
.mov .accion select { width:100%; }
.mov .accion input[type=text] { flex:1; min-width:8rem; }
.mov .accion form.ignorar { margin-top:.35rem; }
button.chico { margin:0; padding:.44rem .9rem; font-size:.64rem; }
@media (max-width:880px) {
  .mov { grid-template-columns:1fr; gap:.5rem; }
  .mov .monto { text-align:left; }
}
