/* InnovaTap Gestión — hoja de estilos.
   Colores de marca: índigo #333790, cian #15B6C8. */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --ind:#333790; --cian:#15B6C8; --tinta:#22243F; --gris:#6C708D;
  --suave:#F4F6FB; --linea:#DDE0EC; --ok:#1B7F5A; --mal:#C0392B; --ambar:#B8860B;
  --r:12px; --sombra:0 2px 10px rgba(51,55,144,.07);
}
body{font-family:'Poppins',system-ui,Arial,sans-serif;color:var(--tinta);background:var(--suave);
     -webkit-font-smoothing:antialiased;line-height:1.5}
a{color:var(--ind);text-decoration:none}

/* cabecera */
.cab{background:#fff;border-bottom:1px solid var(--linea);position:sticky;top:0;z-index:20}
.cab__in{max-width:1180px;margin:0 auto;padding:.7rem 1.1rem;display:flex;align-items:center;
         gap:1.2rem;flex-wrap:wrap}
.marca{font-weight:700;font-size:1.05rem;color:var(--ind);display:flex;align-items:center;gap:.5rem}
.marca__pt{width:11px;height:11px;border-radius:50%;background:var(--cian);flex:0 0 auto}
.nav{display:flex;gap:.3rem;flex-wrap:wrap;margin-left:.4rem}
.nav a{padding:.45rem .8rem;border-radius:999px;font-size:.92rem;font-weight:500;color:var(--gris)}
.nav a:hover{background:var(--suave);color:var(--ind)}
.cab__der{margin-left:auto;display:flex;align-items:center;gap:.6rem}
.salir{font-size:.85rem;color:var(--gris)}

.envoltorio{max-width:1180px;margin:0 auto;padding:1.6rem 1.1rem 3rem}
.tit{font-size:1.55rem;font-weight:700;color:var(--ind);letter-spacing:-.4px;margin-bottom:.2rem}
.mut{color:var(--gris)}
.peq{font-size:.83rem}
.der{text-align:right}
.ok{color:var(--ok)} .mal{color:var(--mal)}
h2{font-size:1.05rem;margin-bottom:.7rem;color:var(--tinta)}

/* botones */
.btn{display:inline-flex;align-items:center;gap:.4rem;border:0;cursor:pointer;font-family:inherit;
     font-weight:600;font-size:.9rem;padding:.6rem 1.1rem;border-radius:999px;transition:.15s}
.btn--p{background:var(--ind);color:#fff}
.btn--p:hover{background:#2a2d78}
.btn--s{background:#fff;color:var(--ind);border:1px solid var(--linea)}
.btn--s:hover{border-color:var(--ind)}
.btn--peligro{background:#fff;color:var(--mal);border:1px solid #e2b6b0;margin-top:.8rem}
.btn--bloque{width:100%;justify-content:center}

/* tarjetas de cifras */
.tarjetas{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin:1.2rem 0}
.tarjeta{background:#fff;border-radius:var(--r);padding:1.1rem 1.2rem;box-shadow:var(--sombra);
         border-left:4px solid var(--linea)}
.tarjeta--ok{border-left-color:var(--ok)}
.tarjeta--mal{border-left-color:var(--mal)}
.tarjeta--info{border-left-color:var(--cian)}
.tarjeta__et{font-size:.8rem;color:var(--gris);font-weight:500}
.tarjeta__n{font-size:1.7rem;font-weight:700;color:var(--ind);letter-spacing:-.5px;margin:.15rem 0}
.tarjeta__pie{font-size:.76rem;color:var(--gris)}

/* bloques y rejillas */
.dos{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:.6rem}
@media(max-width:820px){.dos{grid-template-columns:1fr}}
.bloque{background:#fff;border-radius:var(--r);padding:1.2rem;box-shadow:var(--sombra)}

/* tablas */
.scrollx{overflow-x:auto}
.tabla{width:100%;border-collapse:collapse;font-size:.9rem}
.tabla th{text-align:left;font-size:.76rem;text-transform:uppercase;letter-spacing:.4px;
          color:var(--gris);padding:.5rem .6rem;border-bottom:2px solid var(--linea);white-space:nowrap}
.tabla td{padding:.6rem;border-bottom:1px solid var(--linea);vertical-align:top}
.tabla tbody tr:hover{background:var(--suave)}
.tabla--datos th{text-transform:none;font-size:.9rem;color:var(--tinta);font-weight:500;border-bottom:1px solid var(--linea)}
.tabla--datos .destaca td,.tabla--datos .destaca th{background:var(--suave);font-size:1rem}

/* barras */
.barra{margin-bottom:.75rem}
.barra__t{display:flex;justify-content:space-between;font-size:.86rem;margin-bottom:.25rem}
.barra__f{height:8px;background:var(--suave);border-radius:99px;overflow:hidden}
.barra__f i{display:block;height:100%;background:linear-gradient(90deg,var(--ind),var(--cian))}

/* formularios */
label{display:block;font-size:.85rem;font-weight:500;color:var(--tinta);margin-bottom:.9rem}
input,select,textarea{width:100%;margin-top:.25rem;padding:.6rem .75rem;border:1px solid var(--linea);
       border-radius:9px;font-family:inherit;font-size:.95rem;background:#fff;color:var(--tinta)}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(21,182,200,.35);border-color:var(--cian)}
.calc{background:var(--suave);font-weight:600;color:var(--ind)}
.rejilla2{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.rejilla3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 1rem}
@media(max-width:720px){.rejilla2,.rejilla3{grid-template-columns:1fr}}
.tarjetaform{background:#fff;border-radius:var(--r);padding:1.4rem;box-shadow:var(--sombra);max-width:820px}
.acciones{display:flex;gap:.6rem;margin:.4rem 0 .8rem}
.filtros{background:#fff;border-radius:var(--r);padding:1rem 1.2rem;box-shadow:var(--sombra);
         display:flex;gap:.9rem;align-items:flex-end;flex-wrap:wrap;margin:1rem 0}
.filtros label{margin-bottom:0;font-size:.78rem}
.filtros input,.filtros select{min-width:140px}

.resumenlinea{display:flex;gap:1.4rem;flex-wrap:wrap;font-size:.9rem;color:var(--gris);
              margin:.9rem 0 .6rem;padding:0 .2rem}

/* etiquetas y avisos */
.eti{display:inline-block;background:var(--suave);color:var(--ind);padding:.1rem .55rem;
     border-radius:999px;font-size:.76rem;font-weight:600}
.eti--ok{background:#EAF7F1;color:var(--ok)}
.eti--mal{background:#FDF2F2;color:var(--mal)}
.aviso{border-radius:9px;padding:.85rem 1rem;font-size:.9rem;margin:1rem 0;border-left:3px solid}
.aviso--mal{background:#FDF2F2;border-color:var(--mal);color:#7d2820}
.aviso--info{background:#fff;border-color:var(--cian);box-shadow:var(--sombra)}

.docs{list-style:none;margin-bottom:1rem}
.docs li{padding:.5rem 0;border-bottom:1px solid var(--linea);display:flex;justify-content:space-between;gap:.6rem}
.volver{font-size:.86rem;color:var(--gris);display:inline-block;margin-bottom:.6rem}
.pestanas{display:flex;gap:.4rem;margin:1rem 0}
.pestanas a{padding:.5rem 1.1rem;border-radius:999px;background:#fff;border:1px solid var(--linea);
            font-size:.9rem;font-weight:600;color:var(--gris)}
.pestanas a.act{background:var(--ind);color:#fff;border-color:var(--ind)}

/* acceso */
.acceso{min-height:76vh;display:flex;align-items:center;justify-content:center}
.acceso__caja{background:#fff;border-radius:16px;padding:2.2rem;box-shadow:0 8px 30px rgba(51,55,144,.12);
              width:100%;max-width:390px}
.acceso__logo{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:var(--ind);margin-bottom:1.2rem}
.acceso h1{font-size:1.3rem;color:var(--ind);margin-bottom:.2rem}
.acceso .mut{margin-bottom:1.2rem;font-size:.9rem}

.pie{text-align:center;font-size:.78rem;color:var(--gris);padding:1.4rem 1rem 2rem}

/* ---- Gráfico de barras de la comparativa ---- */
.grafico{display:flex;align-items:flex-end;gap:10px;height:200px;padding:10px 0 0;overflow-x:auto}
.grafico__col{flex:1 0 46px;display:flex;flex-direction:column;align-items:center;height:100%}
.grafico__barras{flex:1;display:flex;align-items:flex-end;gap:3px;width:100%;justify-content:center}
.gb{display:block;width:14px;border-radius:4px 4px 0 0;min-height:2px}
.gb--ing{background:linear-gradient(180deg,var(--cian),#0f8fa0)}
.gb--gas{background:linear-gradient(180deg,#e8756a,var(--mal))}
.grafico__et{font-size:.7rem;color:var(--gris);margin-top:.4rem;white-space:nowrap}
.leyenda{display:flex;gap:1.2rem;font-size:.82rem;color:var(--gris);margin-top:.8rem}
.leyenda .pt{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:.3rem}
.pt--ing{background:var(--cian)} .pt--gas{background:var(--mal)}

/* Aviso de pendientes en el panel */
.chip-alerta{display:inline-flex;align-items:center;gap:.4rem;background:#FDF2F2;color:var(--mal);
  padding:.35rem .8rem;border-radius:999px;font-size:.85rem;font-weight:600;margin-bottom:.8rem}

/* Botón de quitar un justificante */
.doc-der{display:flex;align-items:center;gap:.6rem}
.btn-quitar{border:1px solid var(--linea);background:#fff;color:var(--mal);cursor:pointer;
  width:26px;height:26px;border-radius:8px;font-size:.85rem;line-height:1;font-family:inherit;
  display:inline-flex;align-items:center;justify-content:center;transition:.15s}
.btn-quitar:hover{background:#FDF2F2;border-color:#e2b6b0}

/* ---- Lector de facturas con IA ---- */
.lector{background:linear-gradient(135deg,rgba(51,55,144,.06),rgba(21,182,200,.10));
  border:1px dashed rgba(51,55,144,.28);border-radius:14px;padding:1.1rem 1.2rem;
  margin-bottom:1.2rem;max-width:820px}
.lector__cab{display:flex;gap:.9rem;align-items:flex-start;margin-bottom:.9rem}
.lector__ic{font-size:1.5rem;line-height:1}
.lector__cab strong{display:block;color:var(--ind);font-size:1rem}
.lector__cab em{font-style:normal;color:var(--gris);font-size:.88rem;line-height:1.45}
.lector__estado{margin-top:.7rem;font-size:.88rem;line-height:1.45}
.lector__estado--cargando{color:var(--ind)}
.lector__estado--ok{color:var(--ok)}
.lector__estado--mal{color:var(--mal)}

/* Contador de lecturas de IA consumidas */
.lector__cuota{margin-top:.7rem;font-size:.83rem;color:var(--gris);
  background:rgba(255,255,255,.6);border-radius:8px;padding:.45rem .7rem;display:inline-block}

/* barra de periodo + descarga del dosier (ficha de cliente/proveedor) */
.barra-dosier{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:.9rem 0}
.periodos{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap}
.periodo{padding:.4rem .85rem;border-radius:999px;font-size:.87rem;font-weight:500;
         color:var(--gris);background:#fff;border:1px solid var(--linea)}
.periodo:hover{border-color:var(--ind);color:var(--ind)}
.periodo--on{background:var(--ind);border-color:var(--ind);color:#fff}
.periodos input[type=date]{font-family:inherit;font-size:.82rem;padding:.35rem .45rem;width:132px;
         border:1px solid var(--linea);border-radius:8px;color:var(--tinta);background:#fff}
.btn--fino{background:#fff;color:var(--ind);border:1px solid var(--linea);
           padding:.45rem .9rem;font-size:.87rem}
.btn--fino:hover{border-color:var(--ind)}
.btn--pdf{background:var(--ind);color:#fff}
.btn--pdf:hover{background:#2a2d78}
