.herramientas-portada h1 { max-width: 850px; margin-top: 1rem; }
.herramientas-intro { max-width: 760px; line-height: 1.7; }
.herramientas-etiqueta { display: inline-block; padding: .45rem .85rem; border: 1px solid #ffffff40; border-radius: 99px; font-size: .8rem; font-weight: 600; }
.herramientas-contador { color: var(--azul-osc); background: var(--azul-claro); padding: .5rem .85rem; border-radius: 99px; font-size: .85rem; font-weight: 600; }
.herramienta-tarjeta p { font-size: .9rem; line-height: 1.65; }
.herramienta-tarjeta h3 { line-height: 1.45; }
.herramientas-privacidad { font-size: .85rem; color: var(--gris); line-height: 1.6; }
.herramienta-cabecera { padding-bottom: 3rem; }
.herramienta-cabecera h1 { font-size: clamp(1.7rem, 4vw, 2.7rem); margin-top: 1rem; }
.herramienta-zona { padding-top: 3rem; }
.herramienta-panel { background: #fff; border: 1px solid var(--borde); border-radius: var(--radio); padding: clamp(1.2rem, 3vw, 2rem); box-shadow: var(--sombra); }
.herramienta-panel h2 { font-size: 1.2rem; margin-bottom: 1.2rem; }
.herramienta-panel .form-label { font-size: .85rem; font-weight: 600; color: var(--marino); }
.herramienta-panel .form-control, .herramienta-panel .form-select { min-height: 44px; border-color: #cad8e6; border-radius: 8px; }
.herramienta-panel textarea.form-control { min-height: 90px; }
.herramienta-panel .form-text { font-size: .78rem; }
.herramienta-resultado { background: var(--marino); color: #fff; border-radius: var(--radio); padding: clamp(1.2rem, 3vw, 2rem); }
.herramienta-resultado h2, .herramienta-resultado h3 { color: #fff; }
.herramienta-resultado h2 { font-size: 1.2rem; }
.herramienta-cifra { display: block; font-size: clamp(1.7rem, 4vw, 2.5rem); font-weight: 700; overflow-wrap: anywhere; }
.herramienta-desglose { margin-top: 1rem; border-top: 1px solid #ffffff30; padding-top: 1rem; }
.herramienta-desglose p { display: flex; justify-content: space-between; gap: 1rem; }
.herramienta-formula { font-size: .85rem; background: #ffffff12; padding: 1rem; border-radius: 8px; line-height: 1.7; }
.herramienta-panel .table-responsive { position: relative; }
.herramienta-tabla { min-width: 600px; }
.herramienta-tabla th { font-size: .8rem; color: var(--gris); }
.herramienta-tabla td { vertical-align: middle; }
.herramienta-tabla .col-cantidad { width: 105px; }
.herramienta-tabla .col-precio { width: 140px; }
.herramienta-tabla .col-importe { width: 125px; text-align: right; white-space: nowrap; }
.herramienta-resumen { max-width: 360px; margin-left: auto; }
.herramienta-resumen p { display: flex; justify-content: space-between; gap: 1rem; }
.herramienta-resumen .total { font-size: 1.3rem; color: var(--marino); border-top: 1px solid var(--borde); padding-top: .8rem; }
.herramienta-qr { background: #fff; padding: 1rem; border-radius: 12px; display: inline-block; max-width: 100%; }
.herramienta-qr canvas { display: block; width: 256px; max-width: 100%; height: auto; }
.herramienta-archivo { display: flex; align-items: center; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--borde); }
.herramienta-archivo img { width: 64px; height: 64px; object-fit: contain; border-radius: 8px; background: var(--azul-suave); flex-shrink: 0; }
.herramienta-archivo .archivo-datos { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.herramienta-archivo .archivo-acciones { display: flex; flex-wrap: wrap; justify-content: end; gap: .3rem; }
.herramienta-archivo small { display: block; color: var(--gris); }
.herramienta-estado { min-height: 1.5rem; font-size: .85rem; }
.herramienta-url { overflow-wrap: anywhere; word-break: break-word; }
@media (max-width: 575px) {
    .herramienta-archivo { flex-wrap: wrap; }
    .herramienta-archivo .archivo-acciones { width: 100%; }
}
