/* ============================================================
   RESET EJECUTIVO v7.0 · Estilos del escáner (formulario)
   ============================================================ */

*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;background:#f1f5f9;color:#0f172a;line-height:1.6;padding:1rem}
.app{max-width:760px;margin:0 auto;background:#fff;border-radius:1.5rem;box-shadow:0 20px 40px -20px rgba(15,23,42,.25);overflow:hidden;min-height:90vh}

/* HEADER */
header{background:linear-gradient(135deg,#0f172a,#2563eb);color:#fff;padding:1.1rem 1.75rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.85rem}
.logo{font-size:1.05rem;font-weight:800;letter-spacing:-.02em;cursor:pointer}
.logo span{color:#93c5fd}
.social{display:flex;gap:.5rem}
.social a{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:rgba(255,255,255,.15);color:#fff;text-decoration:none;font-size:.7rem;font-weight:700;transition:.2s}
.social a:hover{background:rgba(255,255,255,.3)}
.progress-wrap{flex-basis:100%;display:flex;flex-direction:column;gap:.35rem;margin-top:.35rem}
.progress-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;opacity:.85}
.progress-bar{height:6px;background:rgba(255,255,255,.2);border-radius:999px;overflow:hidden}
.progress-fill{height:100%;width:0;background:linear-gradient(90deg,#60a5fa,#a78bfa);border-radius:999px;transition:width .4s ease}

/* SCREENS */
.screen{display:none;padding:2.5rem 2rem}
.screen.active{display:block;animation:slideIn .35s ease}
@keyframes slideIn{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}

/* TEXTOS */
.eyebrow{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#2563eb;margin-bottom:.75rem}
h1{font-size:2rem;font-weight:800;line-height:1.15;letter-spacing:-.02em;margin-bottom:1rem}
h2{font-size:1.5rem;font-weight:700;line-height:1.25;margin-bottom:1rem}
h3{font-size:1.1rem;font-weight:700;line-height:1.35;margin-bottom:.75rem}
.subtitle{font-size:1rem;color:#475569;margin-bottom:1.5rem;max-width:620px}
.subtitle strong{color:#0f172a;font-weight:700}

/* INFO GRID (welcome) */
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem;margin:1.5rem 0 2rem}
.info-card{background:linear-gradient(145deg,#f8fafc,#fff);border:1px solid #e2e8f0;border-radius:1.15rem;padding:1.25rem 1rem;text-align:left}
.info-card .ic-icon{font-size:1.5rem;display:block;margin-bottom:.5rem}
.info-card h4{font-size:.9rem;font-weight:800;margin-bottom:.35rem;color:#0f172a}
.info-card p{font-size:.8rem;color:#64748b;line-height:1.5;margin:0}

/* CALIBRATION */
.calibration{background:linear-gradient(145deg,#eff6ff,#fff);border:2px solid #bfdbfe;border-radius:1.35rem;padding:1.75rem 1.5rem;margin:1.5rem 0;text-align:center}
.calibration .icon{font-size:2.5rem;display:block;margin-bottom:.75rem}
.calibration h3{font-size:1.15rem;color:#1e3a8a;margin-bottom:.5rem}
.calibration p{font-size:.9rem;color:#64748b;margin:0 0 1rem 0}
.timer{display:inline-block;background:#dbeafe;color:#1e40af;font-weight:800;font-size:.9rem;padding:.5rem 1.1rem;border-radius:999px}

/* OPTIONS */
.option{display:block;width:100%;text-align:left;background:#fff;border:2px solid #e2e8f0;border-radius:1rem;padding:1.1rem 1.25rem;margin-bottom:.75rem;cursor:pointer;font-family:inherit;transition:all .2s ease}
.option:hover{border-color:#2563eb;background:#eff6ff;transform:translateY(-1px);box-shadow:0 8px 20px -10px rgba(37,99,235,.4)}
.option:active{transform:translateY(0)}
.opt-text{font-size:.95rem;font-weight:600;color:#1e293b;line-height:1.5;display:block}
.opt-hint{font-size:.78rem;color:#94a3b8;margin-top:.35rem;display:block;font-style:italic}

/* FORM */
.form-group{margin-bottom:1.15rem}
.form-group label{display:block;font-size:.85rem;font-weight:700;color:#334155;margin-bottom:.5rem}
.form-group input,
.form-group select{width:100%;padding:.95rem 1.15rem;border:2px solid #e2e8f0;border-radius:.85rem;font-family:inherit;font-size:.95rem;color:#0f172a;background:#fff;outline:none;transition:border-color .2s ease}
.form-group input:focus,
.form-group select:focus{border-color:#2563eb}
.form-group select{cursor:pointer}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;border-radius:999px;padding:1rem 2rem;font-weight:700;font-size:.95rem;cursor:pointer;transition:.25s;font-family:inherit;text-align:center;text-decoration:none}
.btn-primary{background:linear-gradient(135deg,#2563eb,#1e3a8a);color:#fff;box-shadow:0 10px 24px -8px rgba(37,99,235,.5)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 32px -8px rgba(37,99,235,.6)}
.btn-block{width:100%}
.btn-secondary{background:#f1f5f9;color:#475569;border:1.5px solid #cbd5e1;padding:1rem 1.5rem;border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer;font-family:inherit}
.btn-secondary:hover{background:#e2e8f0;transform:translateY(-2px)}
.mt-3{margin-top:1.5rem}

/* RESULT SCREEN (uso interno) */
.result-hero{padding:2rem 0;text-align:center}
.score-ring{width:160px;height:160px;margin:0 auto 1rem;position:relative}
.score-ring svg{transform:rotate(-90deg)}
.score-value{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column}
.score-num{font-size:2.5rem;font-weight:900;line-height:1;color:#2563eb}
.score-max{font-size:.8rem;color:#64748b;font-weight:600}
.level-badge{display:inline-block;padding:.5rem 1.25rem;border-radius:999px;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem}
.badge-a{background:#dcfce7;color:#15803d}
.badge-b{background:#fef3c7;color:#b45309}
.badge-c{background:#fee2e2;color:#b91c1c}

.ejes-resumen{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin:1.5rem 0}
.eje-mini{background:linear-gradient(145deg,#f8fafc,#fff);border:1px solid #e2e8f0;border-radius:1rem;padding:1rem .75rem;text-align:center}
.eje-mini.dominante{border-color:#8b5cf6;background:linear-gradient(145deg,#ede9fe,#fff)}
.eje-mini-icon{font-size:1.5rem;margin-bottom:.25rem}
.eje-mini-label{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:.25rem}
.eje-mini.dominante .eje-mini-label{color:#6d28d9}
.eje-mini-value{font-size:1.4rem;font-weight:900;color:#0f172a}
.eje-mini.dominante .eje-mini-value{color:#6d28d9}

.body-map{background:#f8fafc;border-radius:1rem;padding:1.25rem;margin:1.5rem 0}
.map-title{font-size:.85rem;font-weight:700;color:#475569;margin-bottom:1rem}
.body-zones{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem}
.zone{background:#fff;border:2px solid #e2e8f0;border-radius:.85rem;padding:.85rem .5rem;text-align:center;transition:.2s}
.zone.activa{border-color:#2563eb;background:#eff6ff}
.zone .z-icon{font-size:1.35rem;display:block;margin-bottom:.25rem}
.zone .z-label{font-size:.75rem;font-weight:700;color:#475569}
.zone.activa .z-label{color:#1e3a8a}

.audio-card{background:linear-gradient(135deg,#0f172a,#1e3a8a);color:#fff;border-radius:1.35rem;padding:1.5rem;display:flex;align-items:center;gap:1.25rem;margin:1.5rem 0;position:relative;overflow:hidden}
.audio-card::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,rgba(96,165,250,.2),transparent 60%)}
.play-btn{width:56px;height:56px;border-radius:999px;background:linear-gradient(135deg,#60a5fa,#a78bfa);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;flex-shrink:0;position:relative;z-index:1;box-shadow:0 8px 20px -4px rgba(96,165,250,.5)}
.play-btn:hover{transform:scale(1.08)}
.audio-info{flex:1;position:relative;z-index:1}
.audio-title{font-weight:700;font-size:.95rem;margin-bottom:.25rem}
.audio-meta{font-size:.8rem;opacity:.75}

/* WA PREVIEW */
.wa-preview{background:#f0fdf4;border:2px solid #bbf7d0;border-radius:1rem;padding:1.25rem;margin:1.5rem 0}
.wa-label{font-size:.82rem;font-weight:700;color:#166534;margin-bottom:.75rem}
#waMessages{font-size:.88rem;color:#14532d;line-height:1.7;white-space:pre-line}

/* FOOTER DEL SCREEN */
.screen-footer{font-size:.78rem;color:#94a3b8;text-align:center;padding:1.5rem 0 0;border-top:1px solid #f1f5f9;margin-top:2rem}

/* RESPONSIVE */
@media (max-width:640px){
  body{padding:.5rem}
  header{padding:1rem 1.25rem}
  .screen{padding:1.75rem 1.25rem}
  h1{font-size:1.6rem}
  h2{font-size:1.25rem}
  .info-grid{grid-template-columns:1fr}
  .ejes-resumen{grid-template-columns:repeat(2,1fr)}
  .body-zones{grid-template-columns:repeat(2,1fr)}
  .score-ring{width:130px;height:130px}
  .score-num{font-size:2rem}
}
/* ===== INFORME 1 · DISEÑO PREMIUM ===== */
.informe1-wrap { max-width: 680px; margin: 0 auto; padding: 1rem 0 2rem; }
.inf1-kicker { text-transform: uppercase; font-size: .7rem; font-weight: 700; color: #2563eb; letter-spacing: .1em; margin-bottom: .5rem; }
.inf1-title { font-size: 2rem; font-weight: 800; color: #1e3a8a; line-height: 1.15; margin-bottom: .75rem; letter-spacing: -.02em; }
.inf1-intro { color: #475569; font-size: 1rem; line-height: 1.7; margin-bottom: 1.75rem; }
.inf1-hero { display: flex; align-items: center; gap: 1.25rem; background: linear-gradient(135deg, #2563eb 0%, #1e3a8a 100%); border-radius: 20px; padding: 1.75rem; margin-bottom: 1.5rem; box-shadow: 0 10px 30px rgba(37,99,235,.25); position: relative; overflow: hidden; }
.inf1-hero::before { content: ''; position: absolute; top: -50%; right: -10%; width: 200px; height: 200px; background: radial-gradient(circle, rgba(139,92,246,.4), transparent 70%); border-radius: 50%; }
.inf1-hero-badge { font-size: 2.6rem; background: rgba(255,255,255,.15); backdrop-filter: blur(10px); width: 84px; height: 84px; border-radius: 20px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; border: 1px solid rgba(255,255,255,.25); position: relative; z-index: 1; }
.inf1-hero-body { position: relative; z-index: 1; }
.inf1-hero-kicker { text-transform: uppercase; font-size: .7rem; font-weight: 700; color: rgba(255,255,255,.75); letter-spacing: .1em; margin-bottom: .35rem; }
.inf1-hero-zona { font-size: 2rem; font-weight: 800; color: #fff; line-height: 1.05; letter-spacing: -.02em; }
.inf1-desc { color: #334155; font-size: 1rem; line-height: 1.75; font-style: italic; padding: 1.25rem 1.5rem; border-left: 4px solid #8b5cf6; background: linear-gradient(90deg, #faf5ff 0%, #f5f3ff 100%); border-radius: 0 14px 14px 0; margin-bottom: 1.75rem; }
.inf1-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-bottom: 1.75rem; }
.inf1-stat { background: #fff; border: 1.5px solid #e2e8f0; border-radius: 16px; padding: 1.25rem 1rem; text-align: center; transition: all .25s; }
.inf1-stat:hover { border-color: #2563eb; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(37,99,235,.12); }
.inf1-stat-label { text-transform: uppercase; font-size: .65rem; font-weight: 700; color: #2563eb; letter-spacing: .08em; margin-bottom: .6rem; }
.inf1-stat-value { font-size: 1.6rem; font-weight: 800; color: #1e3a8a; line-height: 1.1; margin-bottom: .5rem; }
.inf1-stat-max { font-size: .9rem; color: #94a3b8; font-weight: 600; }
.inf1-stat-note { font-size: .78rem; color: #64748b; font-weight: 500; line-height: 1.4; }
.inf1-gauge { height: 6px; background: #e2e8f0; border-radius: 999px; overflow: hidden; margin-top: .5rem; }
.inf1-gauge-fill { height: 100%; border-radius: 999px; transition: width .6s ease; }
.inf1-gauge-alto { background: linear-gradient(90deg, #ef4444, #dc2626); }
.inf1-gauge-medio { background: linear-gradient(90deg, #f59e0b, #d97706); }
.inf1-gauge-bajo { background: linear-gradient(90deg, #10b981, #059669); }
.inf1-riesgo-alto { color: #dc2626 !important; }
.inf1-riesgo-medio { color: #d97706 !important; }
.inf1-riesgo-bajo { color: #059669 !important; }
.inf1-cierre { background: linear-gradient(135deg, #f5f3ff 0%, #ede9fe 100%); border-radius: 18px; padding: 1.75rem; border-left: 4px solid #8b5cf6; }
.inf1-cierre p { color: #4c1d95; font-size: .98rem; line-height: 1.7; margin-bottom: 1.25rem; }
.inf1-cierre strong { color: #5b21b6; font-weight: 700; }
.inf1-cta { width: 100%; background: linear-gradient(135deg, #2563eb 0%, #1e3a8a 100%); color: #fff; border: none; padding: 1rem 1.5rem; border-radius: 12px; font-size: 1rem; font-weight: 700; cursor: pointer; transition: all .25s; box-shadow: 0 6px 18px rgba(37,99,235,.3); font-family: inherit; }
.inf1-cta:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(37,99,235,.4); }
@media (max-width: 560px) {
  .inf1-title { font-size: 1.6rem; }
  .inf1-hero { padding: 1.4rem; gap: 1rem; }
  .inf1-hero-badge { width: 68px; height: 68px; font-size: 2rem; }
  .inf1-hero-zona { font-size: 1.5rem; }
  .inf1-stats { grid-template-columns: 1fr; }
  .inf1-desc { padding: 1rem 1.25rem; }
  .inf1-cierre { padding: 1.4rem; }
}