/* ═══════════════════════════════════════════
   De Niro Extranjería — Herramientas CSS
   4 tools: calculadora, checklist, evaluador, simulador
   ═══════════════════════════════════════════ */

.te-tool-app{max-width:var(--max-w,1180px);margin:0 auto 2rem}

/* Shared form elements */
.te-tool-section{background:var(--bg-card,#fff);border:1px solid var(--border-light,#e5e7eb);border-radius:12px;padding:1.5rem;margin-bottom:1.25rem}
.te-tool-section h3{margin:0 0 .75rem;font-size:1.1rem;color:var(--text-1,#1a1a2e)}
.te-tool-label{display:block;font-size:.85rem;font-weight:600;color:var(--text-2,#4a5568);margin-bottom:.35rem}
.te-tool-select,.te-tool-input{width:100%;padding:.65rem .85rem;border:1.5px solid var(--border-light,#d1d5db);border-radius:8px;font-size:.95rem;background:#fff;transition:border-color .2s}
.te-tool-select:focus,.te-tool-input:focus{outline:none;border-color:var(--primary,#0C4B8E);box-shadow:0 0 0 3px rgba(12,75,142,.1)}
.te-tool-field{margin-bottom:1rem}
.te-tool-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:540px){.te-tool-row{grid-template-columns:1fr}}

/* Toggle switches */
.te-tool-toggle{display:flex;align-items:center;gap:.75rem;padding:.5rem 0}
.te-tool-toggle input[type=checkbox]{width:40px;height:22px;appearance:none;-webkit-appearance:none;background:#ccc;border-radius:12px;position:relative;cursor:pointer;transition:background .2s}
.te-tool-toggle input[type=checkbox]:checked{background:var(--primary,#0C4B8E)}
.te-tool-toggle input[type=checkbox]::after{content:'';position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s}
.te-tool-toggle input[type=checkbox]:checked::after{transform:translateX(18px)}

/* Primary button */
.te-tool-btn{display:block;width:100%;padding:.85rem;background:var(--primary,#0C4B8E);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,transform .1s}
.te-tool-btn:hover{background:var(--primary-dark,#093a6e)}
.te-tool-btn:active{transform:scale(.98)}

/* Results box */
.te-tool-result{background:linear-gradient(135deg,#f0f7ff 0%,#e8f4fd 100%);border:2px solid var(--primary,#0C4B8E);border-radius:12px;padding:1.5rem;margin-top:1.25rem;animation:teFadeIn .4s ease}
@keyframes teFadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.te-tool-result-amount{font-size:1.8rem;font-weight:800;color:var(--primary,#0C4B8E);text-align:center;margin-bottom:.5rem}
.te-tool-result-detail{font-size:.9rem;color:var(--text-2,#4a5568);line-height:1.7}
.te-tool-result-detail strong{color:var(--text-1,#1a1a2e)}
.te-tool-result-row{display:flex;justify-content:space-between;padding:.4rem 0;border-bottom:1px dashed var(--border-light,#d1d5db)}
.te-tool-result-row:last-child{border:none}
.te-tool-result-total{display:flex;justify-content:space-between;padding:.65rem 0;border-top:2px solid var(--primary,#0C4B8E);margin-top:.5rem;font-weight:700;font-size:1.1rem;color:var(--primary,#0C4B8E)}

/* Updated badge */
.te-tool-updated{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--text-3,#718096);background:var(--bg-soft,#f7fafc);padding:.25rem .65rem;border-radius:20px;margin-bottom:1rem}

/* CTA box */
.te-tool-cta{background:var(--bg-card,#fff);border:2px solid var(--accent,#1B8F5A);border-radius:12px;padding:1.25rem;margin-top:1rem;text-align:center}
.te-tool-cta p{margin:0 0 .75rem;color:var(--text-2,#4a5568);font-size:.9rem}
.te-tool-cta-btn{display:inline-block;padding:.7rem 1.5rem;background:var(--accent,#1B8F5A);color:#fff;border-radius:8px;text-decoration:none;font-weight:600;font-size:.95rem;transition:background .2s}
.te-tool-cta-btn:hover{background:#157a4a;color:#fff}

/* Cross-links */
.te-tool-crosslinks{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-top:1.25rem}
.te-tool-crosslink{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-soft,#f7fafc);border:1px solid var(--border-light,#e5e7eb);border-radius:8px;text-decoration:none;color:var(--text-1,#1a1a2e);font-size:.85rem;font-weight:500;transition:border-color .2s,box-shadow .2s}
.te-tool-crosslink:hover{border-color:var(--primary,#0C4B8E);box-shadow:0 2px 8px rgba(12,75,142,.08)}
.te-tool-crosslink-icon{font-size:1.2rem}

/* Lead capture */
.te-tool-lead{background:var(--bg-soft,#f7fafc);border:1px solid var(--border-light,#e5e7eb);border-radius:10px;padding:1.25rem;margin-top:1rem}
.te-tool-lead-title{font-weight:700;font-size:.95rem;display:block;margin-bottom:.5rem;color:var(--text-1,#1a1a2e)}
.te-tool-lead input[type=text],.te-tool-lead input[type=email],.te-tool-lead input[type=tel]{width:100%;padding:.55rem .75rem;border:1.5px solid var(--border-light,#d1d5db);border-radius:8px;font-size:.9rem;margin-bottom:.5rem;box-sizing:border-box}
.te-tool-lead button{width:100%;padding:.7rem;background:var(--primary,#0C4B8E);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;font-size:.9rem}
.te-tool-lead button:disabled{opacity:.5;cursor:default}
.te-tool-lead-msg{margin-top:.5rem;font-size:.85rem;text-align:center}
.te-tool-lead-gdpr{font-size:.75rem;color:var(--text-3,#718096);margin:.35rem 0 .5rem;display:flex;align-items:start;gap:.35rem}
.te-tool-lead-gdpr input{margin-top:3px}

/* Checklist specific */
.te-checklist-progress{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}
.te-checklist-bar{flex:1;height:10px;background:#e5e7eb;border-radius:5px;overflow:hidden}
.te-checklist-bar-fill{height:100%;background:var(--accent,#1B8F5A);border-radius:5px;transition:width .4s ease}
.te-checklist-count{font-size:.85rem;font-weight:600;color:var(--text-2,#4a5568);white-space:nowrap}
.te-checklist-item{display:flex;align-items:start;gap:.75rem;padding:.75rem;border:1px solid var(--border-light,#e5e7eb);border-radius:8px;margin-bottom:.5rem;cursor:pointer;transition:background .2s,border-color .2s}
.te-checklist-item:hover{background:var(--bg-soft,#f7fafc)}
.te-checklist-item.checked{background:#f0fdf4;border-color:#86efac}
.te-checklist-item input[type=checkbox]{width:20px;height:20px;margin-top:2px;accent-color:var(--accent,#1B8F5A);cursor:pointer}
.te-checklist-item-body{flex:1}
.te-checklist-item-name{font-weight:600;font-size:.9rem;color:var(--text-1,#1a1a2e)}
.te-checklist-item-tag{display:inline-block;font-size:.7rem;padding:.1rem .4rem;border-radius:4px;margin-left:.35rem;font-weight:600}
.te-checklist-item-tag.required{background:#fef2f2;color:#dc2626}
.te-checklist-item-tag.optional{background:#eff6ff;color:#2563eb}
.te-checklist-item-note{font-size:.8rem;color:var(--text-3,#718096);margin-top:.25rem}

/* Evaluador specific */
.te-eval-question{font-size:1rem;font-weight:600;color:var(--text-1,#1a1a2e);margin-bottom:.75rem}
.te-eval-options{display:flex;gap:.75rem;flex-wrap:wrap}
.te-eval-opt{flex:1;min-width:100px;padding:.75rem 1rem;border:2px solid var(--border-light,#d1d5db);border-radius:10px;text-align:center;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s}
.te-eval-opt:hover{border-color:var(--primary,#0C4B8E)}
.te-eval-opt.yes{border-color:#22c55e;background:#f0fdf4;color:#166534}
.te-eval-opt.no{border-color:#ef4444;background:#fef2f2;color:#991b1b}
.te-eval-summary{text-align:center;padding:1rem}
.te-eval-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:12px;font-size:1.15rem;font-weight:700;margin-bottom:.75rem}
.te-eval-badge.pass{background:#f0fdf4;color:#166534;border:2px solid #22c55e}
.te-eval-badge.partial{background:#fffbeb;color:#92400e;border:2px solid #f59e0b}
.te-eval-badge.fail{background:#fef2f2;color:#991b1b;border:2px solid #ef4444}
.te-eval-detail{text-align:left;margin-top:1rem}
.te-eval-detail-row{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;font-size:.9rem}

/* Simulador specific */
.te-timeline{position:relative;padding-left:2rem}
.te-timeline::before{content:'';position:absolute;left:.7rem;top:0;bottom:0;width:2px;background:var(--border-light,#d1d5db)}
.te-timeline-item{position:relative;padding-bottom:1.25rem}
.te-timeline-dot{position:absolute;left:-1.3rem;top:.15rem;width:12px;height:12px;background:var(--primary,#0C4B8E);border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 2px var(--primary,#0C4B8E)}
.te-timeline-item.active .te-timeline-dot{background:var(--accent,#1B8F5A);box-shadow:0 0 0 2px var(--accent,#1B8F5A)}
.te-timeline-title{font-weight:600;font-size:.9rem;color:var(--text-1,#1a1a2e)}
.te-timeline-time{font-size:.8rem;color:var(--text-3,#718096);margin-top:.15rem}
.te-timeline-dates{font-size:.8rem;color:var(--primary,#0C4B8E);font-weight:500;margin-top:.1rem}
.te-timeline-total{background:var(--primary,#0C4B8E);color:#fff;padding:1rem;border-radius:10px;text-align:center;margin-top:1rem;font-size:1.1rem;font-weight:700}
