/* Análisis de compra asociativa: toma de calculadora.css lo base de .calc-tool
   (campos, tablas, FAQ) y lo lleva a un look más sobrio bajo .ap-tool. */
.ap-tool [hidden]{display:none!important;}
.ap-tool .card{border-radius:12px;box-shadow:none;padding:24px;}
.ap-tool .ap-txt{font-size:14px;color:#475569;line-height:1.6;margin-bottom:16px;}
.ap-tool .ap-txt strong{color:#1e293b;}

/* Encabezado y títulos de cada paso */
.ap-tool .ap-hdr{margin:8px 0 28px;}
.ap-tool .ap-hdr h1{font-size:clamp(26px,4.5vw,34px);font-weight:800;color:#1e293b;line-height:1.2;margin-bottom:10px;letter-spacing:-.01em;}
.ap-tool .ap-hdr p{font-size:15.5px;color:#475569;line-height:1.6;max-width:620px;}
.ap-tool .ap-h{font-size:18px;font-weight:800;color:#1e293b;margin-bottom:8px;}

/* Ejemplo del formato */
.ap-tool .ap-ejemplo{border:1px solid var(--brd);border-radius:8px;overflow-x:auto;margin-bottom:18px;}
.ap-tool .ap-ejemplo table{width:100%;border-collapse:collapse;font-size:12.5px;}
.ap-tool .ap-ejemplo th{background:var(--bg);color:var(--gray);font-weight:700;text-align:left;padding:8px 12px;border-bottom:1px solid var(--brd);}
.ap-tool .ap-ejemplo td{padding:7px 12px;color:#334155;border-bottom:1px solid #f1f5f9;white-space:nowrap;}

/* Zona para soltar el archivo */
.ap-tool .ap-drop{display:flex;flex-direction:column;align-items:center;gap:4px;border:1.5px dashed #cbd5e1;border-radius:10px;background:var(--bg);padding:26px 16px;cursor:pointer;text-align:center;transition:border-color .18s,background .18s;}
.ap-tool .ap-drop:hover,.ap-tool .ap-drop.sobre{border-color:var(--p);background:var(--pl);}
.ap-tool .ap-drop-t{font-size:14.5px;font-weight:700;color:#1e293b;}
.ap-tool .ap-drop-s{font-size:12.5px;color:var(--gray);}
.ap-tool .ap-links{margin-top:14px;font-size:13.5px;color:#475569;line-height:1.6;}
.ap-tool .ap-link{background:none;border:none;padding:0;color:var(--p);font-weight:600;font-size:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-family:var(--f);}
.ap-tool .ap-error{margin-top:14px;background:var(--rl);border:1px solid rgba(232,68,90,.25);color:#9f1239;border-radius:8px;padding:12px 14px;font-size:13.5px;line-height:1.5;}

/* Formularios */
.ap-tool .ap-label{display:block;font-size:13px;font-weight:700;color:#334155;margin-bottom:6px;}
.ap-tool .ap-input,.ap-tool .ap-sel{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:11px 14px;font-size:15px;color:#1e293b;background:#fff;font-family:var(--f);}
.ap-tool .ap-input:focus,.ap-tool .ap-sel:focus{border-color:var(--p);outline:none;box-shadow:0 0 0 3px rgba(109,40,217,.12);}
.ap-tool .ap-check{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:13.5px;color:#475569;line-height:1.5;cursor:pointer;}
.ap-tool .ap-check input{margin-top:3px;accent-color:var(--p);width:16px;height:16px;flex-shrink:0;}
.ap-tool .ap-legal{font-size:12px;color:#64748b;line-height:1.5;margin-top:12px;}
.ap-tool .ap-legal a{color:var(--p);}
.ap-tool .ap-btn{display:block;width:100%;margin-top:18px;background:var(--p);color:#fff;border:none;border-radius:8px;padding:13px;font-size:15px;font-weight:700;cursor:pointer;font-family:var(--f);text-align:center;text-decoration:none;transition:background .18s;}
.ap-tool .ap-btn:hover{background:var(--pd);color:#fff;}
.ap-tool .ap-btn:disabled{opacity:.6;cursor:wait;}
.ap-tool .ap-btn-sec{display:inline-flex;align-items:center;gap:6px;margin-top:14px;background:#fff;color:var(--p);border:1px solid #c4b5fd;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:700;cursor:pointer;font-family:var(--f);}
.ap-tool .ap-minimo{margin-bottom:16px;}
.ap-tool .ap-minimo label{font-size:13px;font-weight:700;color:#334155;}
.ap-tool .ap-minimo input{width:90px;flex:0 0 90px;border:1px solid #cbd5e1;border-radius:8px;padding:8px 12px;font-size:14px;font-weight:700;font-family:var(--f);}

/* Cifras del resumen: número y rótulo, sin tarjetas de colores */
.ap-tool .ap-cifras{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:8px 0 16px;}
@media(max-width:640px){.ap-tool .ap-cifras{grid-template-columns:1fr 1fr;}}
.ap-tool .ap-cifra{border-left:3px solid var(--brd);padding-left:12px;}
.ap-tool .ap-cifra.fuga{border-left-color:var(--r);}
.ap-tool .ap-cifra-v{font-size:26px;font-weight:800;color:#1e293b;line-height:1.1;}
.ap-tool .ap-cifra-l{font-size:13px;font-weight:700;color:#334155;margin-top:4px;}
.ap-tool .ap-cifra-s{font-size:12px;color:var(--gray);line-height:1.4;margin-top:2px;}

/* Después de cada paquete: un bloque por paquete con barras */
.ap-tool .ap-paq{border-top:1px solid var(--brd);padding:16px 0 8px;}
.ap-tool .ap-paq:first-child{border-top:none;padding-top:4px;}
.ap-tool .ap-paq-h{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin-bottom:10px;}
.ap-tool .ap-paq-n{font-size:15px;font-weight:700;color:#1e293b;}
.ap-tool .ap-paq-m{font-size:12.5px;color:var(--gray);}
.ap-tool .ap-pocos{display:inline-block;color:#92400e;font-size:12px;font-weight:600;margin-left:8px;}
.ap-tool .ap-bar{display:grid;grid-template-columns:minmax(0,38%) 1fr 48px;align-items:center;gap:10px;margin-bottom:7px;font-size:13.5px;}
.ap-tool .ap-bar-l{color:#334155;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ap-tool .ap-bar-t{display:block;height:8px;border-radius:4px;background:#f1f5f9;overflow:hidden;}
.ap-tool .ap-bar-f{display:block;height:100%;border-radius:4px;background:var(--p);}
.ap-tool .ap-bar.mismo .ap-bar-f{background:#047857;}
.ap-tool .ap-bar.fuga .ap-bar-f{background:var(--r);}
.ap-tool .ap-bar.fuga .ap-bar-l{color:#9f1239;}
.ap-tool .ap-bar-v{text-align:right;font-weight:700;color:#1e293b;}
@media(max-width:560px){
  .ap-tool .card{padding:20px 16px;}
  .ap-tool .ap-bar{grid-template-columns:1fr 44px;gap:4px 10px;}
  .ap-tool .ap-bar-l{grid-column:1/-1;white-space:normal;}
}

/* Tablas: misma estructura que la comparativa de la calculadora */
.ap-tool .sc{border-radius:8px;border-width:1px;}
.ap-tool .sc thead th{text-transform:none;letter-spacing:0;font-size:12px;font-weight:700;}
.ap-tool .sc td.ap-izq{text-align:left;}
.ap-tool .sc tbody td{font-weight:500;}
.ap-tool .sc tbody td strong{color:#1e293b;}
.ap-tool .ap-vacio{font-size:13.5px;color:var(--gray);background:var(--bg);border-radius:8px;padding:14px 16px;line-height:1.6;}
.ap-tool .ap-mas{font-size:12.5px;color:var(--gray);margin-top:8px;}
@media(max-width:560px){
  .ap-tool .sc tbody td::before{text-transform:none;letter-spacing:0;font-size:12px;}
  .ap-tool .sc tbody td.sc-rowlabel{text-transform:none;letter-spacing:0;font-size:14px;}
}

/* FAQ y cierre */
.ap-tool .faq h2{font-weight:800;}
.ap-tool .fi{border-radius:8px;border-width:1px;}

/* Cargando: mientras el servidor lee el archivo o calcula */
.ap-tool .ap-cargando{display:flex;align-items:center;gap:14px;font-size:14.5px;font-weight:600;color:#334155;}
.ap-tool .ap-spinner{width:22px;height:22px;border-radius:50%;border:3px solid var(--pl);border-top-color:var(--p);animation:ap-gira .8s linear infinite;flex-shrink:0;}
@keyframes ap-gira{to{transform:rotate(360deg);}}
@media(prefers-reduced-motion:reduce){.ap-tool .ap-spinner{animation-duration:2.4s;}}
