/* iSolución unified responsive layer v3.11.0
   Scope: Discovery, Precalificador, Calculadora de Ineficiencia and ROI/Brecha Estratégica.
   Desktop styles remain untouched; this layer only normalizes tablet/mobile behavior. */
html{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{max-width:100%;overflow-x:hidden}
img,svg,canvas{max-width:100%;height:auto}
button,input,select,textarea{max-width:100%}

@media (max-width:768px){
  body{padding-bottom:calc(22px + env(safe-area-inset-bottom))}
  .container{width:min(100% - 28px,1120px)}
  .topbar{padding-top:max(10px,env(safe-area-inset-top))}
  .brand-logo{max-width:54vw;height:auto}
  .panel,.card{max-width:100%}
  .actions{gap:10px}
}

@media (max-width:600px){
  /* Shared phone rhythm */
  .container{width:calc(100% - 24px)}
  .panel{padding:18px 16px;border-radius:16px}
  .progress-wrap{padding:12px 14px;border-radius:14px}
  .actions{margin-top:18px}
  .btn{min-height:46px;padding:12px 16px;font-size:.95rem}

  /* Discovery */
  .module-discovery .topbar{padding:8px 0}
  .module-discovery .brand-logo{width:150px;max-height:36px}
  .module-discovery .hero{padding:30px 0 42px}
  .module-discovery .hero h1{font-size:clamp(1.85rem,9vw,2.45rem);line-height:1.05}
  .module-discovery .hero-sub,.module-discovery .hero p{font-size:1rem;line-height:1.48}
  .module-discovery .hero-card{padding:18px}
  .module-discovery .journey{gap:10px}
  .module-discovery .app-shell,.module-discovery .shell{margin-top:-20px;margin-bottom:32px}
  .module-discovery .system-options{grid-template-columns:1fr!important;gap:10px}
  .module-discovery .system-option{min-height:0!important;padding:14px!important}
  .module-discovery .question-card{padding:16px 0}
  .module-discovery .question-card h3{font-size:1rem}
  .module-discovery .answer-grid,.module-discovery .grid.two{grid-template-columns:1fr!important}

  /* Precalificador: compact, content-driven cards; never force viewport height */
  .module-precalificador{padding-bottom:calc(34px + env(safe-area-inset-bottom))}
  .module-precalificador .shell{width:calc(100% - 18px);padding:10px 0 20px}
  .module-precalificador .brand{margin-bottom:10px}
  .module-precalificador .brand-logo{width:150px;max-height:36px}
  .module-precalificador .card{min-height:0!important;padding:18px 15px 24px!important;border-radius:18px}
  .module-precalificador .progress-wrap{margin-bottom:18px}
  .module-precalificador .eyebrow{font-size:11px;margin-bottom:8px;letter-spacing:.07em}
  .module-precalificador h1{font-size:clamp(27px,7.8vw,34px)!important;line-height:1.08;max-width:none}
  .module-precalificador h2{font-size:clamp(23px,6.4vw,29px)!important;line-height:1.12}
  .module-precalificador .lead{font-size:15px;line-height:1.45;margin:12px 0 18px}
  .module-precalificador .options{gap:9px;margin-top:18px}
  .module-precalificador .option{padding:12px 13px;min-height:58px;border-radius:12px;font-size:16px;line-height:1.3}
  .module-precalificador .option-key{flex-basis:32px;height:32px}
  .module-precalificador .evaluation-options{grid-template-columns:1fr;gap:10px;margin-top:16px}
  .module-precalificador .evaluation-option{min-height:0!important;padding:14px;gap:12px;border-radius:14px}
  .module-precalificador .evaluation-option strong{font-size:17px;margin-bottom:4px}
  .module-precalificador .evaluation-option small{font-size:13px;line-height:1.38}
  .module-precalificador .evaluation-icon{flex-basis:42px;height:42px;border-radius:11px}
  .module-precalificador .trust{grid-template-columns:1fr;gap:8px;margin:18px 0}
  .module-precalificador .trust div{padding:11px}
  .module-precalificador .form-grid{grid-template-columns:1fr;gap:12px;margin-top:18px}
  .module-precalificador .field.full{grid-column:auto}
  .module-precalificador .field input,.module-precalificador .field select{padding:12px}
  .module-precalificador .actions{flex-direction:column-reverse;margin-top:18px}
  .module-precalificador .actions .btn{width:100%}
  .module-precalificador footer{padding:12px 12px calc(20px + env(safe-area-inset-bottom))}

  /* Calculadora de Ineficiencia */
  .module-calculadora .topbar{padding:8px 0}
  .module-calculadora .brand-logo{width:150px;max-height:36px}
  .module-calculadora .consultant{font-size:.68rem;flex-basis:96px}
  .module-calculadora .hero{padding:30px 0 42px}
  .module-calculadora .hero h1{font-size:clamp(1.8rem,8.5vw,2.35rem)}
  .module-calculadora .hero p{font-size:.98rem}
  .module-calculadora .hero-card{padding:18px}
  .module-calculadora .app-shell{margin-top:-20px;margin-bottom:34px}
  .module-calculadora .grid.two,.module-calculadora .answer-grid,.module-calculadora .metrics,.module-calculadora .result-grid,.module-calculadora .scenario-grid{grid-template-columns:1fr}
  .module-calculadora .question-card{padding:16px 0}
  .module-calculadora .metrics{gap:10px;margin:18px 0}
  .module-calculadora .metrics article,.module-calculadora .insight,.module-calculadora .scenarios,.module-calculadora .recommendations{padding:15px}
  .module-calculadora .result-head{gap:14px}

  /* ROI / Brecha Estratégica */
  .module-roi .topbar{padding:8px 0}
  .module-roi .brand-logo{width:150px;max-height:36px}
  .module-roi .consultant{font-size:.68rem;flex-basis:96px}
  .module-roi .hero{padding:30px 0 42px}
  .module-roi .hero h1{font-size:clamp(1.8rem,8.5vw,2.35rem)}
  .module-roi .hero p{font-size:.98rem}
  .module-roi .hero-card{padding:18px}
  .module-roi .app-shell{margin-top:-20px;margin-bottom:34px}
  .module-roi .grid.two,.module-roi .answer-grid,.module-roi .metrics,.module-roi .result-grid,.module-roi .scenario-grid{grid-template-columns:1fr}
  .module-roi .question-flow-head{grid-template-columns:1fr;gap:8px}
  .module-roi .option-cards,.module-roi .option-cards.compact{grid-template-columns:1fr 1fr;gap:7px}
  .module-roi .option-card span{min-height:50px;padding:8px;font-size:.76rem}
  .module-roi .ai-analysis{padding:16px;margin:16px 0}
  .module-roi .metrics{gap:10px;margin:18px 0}
  .module-roi .metrics article,.module-roi .insight,.module-roi .scenarios,.module-roi .recommendations{padding:15px}
}

@media (max-width:390px){
  .module-precalificador h1{font-size:27px!important}
  .module-precalificador .option{font-size:15px}
  .module-roi .option-cards,.module-roi .option-cards.compact{grid-template-columns:1fr}
}

/* v3.12.0 — operational-screen density + iOS safe navigation */
@media (max-width:600px){
  body{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  .isa-chat{right:12px!important;bottom:calc(82px + env(safe-area-inset-bottom))!important}
  .isa-launch{width:auto!important;max-width:150px!important;padding:10px 14px!important;font-size:13px!important;line-height:1.1!important;white-space:nowrap!important;box-shadow:0 8px 22px rgba(23,105,170,.28)!important}
  .isa-launch::before{content:'💬 ';font-size:13px}
  .isa-panel{max-height:calc(100dvh - 120px)!important}

  /* Discovery operational screens */
  .module-discovery .shell{margin-top:-18px}
  .module-discovery .progress-wrap{padding:10px 12px;margin-bottom:10px}
  .module-discovery .panel{padding:16px 14px 24px}
  .module-discovery .block-head{gap:8px;margin-bottom:6px}
  .module-discovery .block-head h2{font-size:clamp(1.45rem,7vw,1.85rem);line-height:1.08;margin:.2rem 0}
  .module-discovery .block-head p{font-size:.9rem;line-height:1.4;margin:.35rem 0}
  .module-discovery .mini-score{min-width:68px;padding:8px;border-radius:11px}
  .module-discovery .mini-score span{font-size:1.25rem}
  .module-discovery .question-card{padding:12px 0}
  .module-discovery .question-card h3{font-size:.94rem;line-height:1.32;margin-bottom:8px}
  .module-discovery .choice-grid{gap:6px}
  .module-discovery .choice span{min-height:46px!important;padding:7px 9px;font-size:.76rem;line-height:1.2}

  /* Precalificador operational screens */
  .module-precalificador .card{padding:15px 13px 20px!important}
  .module-precalificador .progress-wrap{padding:9px 11px;margin-bottom:12px}
  .module-precalificador h1{font-size:clamp(24px,6.8vw,30px)!important;line-height:1.06}
  .module-precalificador h2{font-size:clamp(21px,5.8vw,26px)!important}
  .module-precalificador .lead{font-size:14px;line-height:1.38;margin:9px 0 13px}
  .module-precalificador .options{gap:7px;margin-top:12px}
  .module-precalificador .option{padding:9px 11px;min-height:48px;font-size:15px;line-height:1.22}
  .module-precalificador .option-key{flex-basis:29px;height:29px;font-size:14px}
  .module-precalificador .evaluation-options{gap:8px;margin-top:12px}
  .module-precalificador .evaluation-option{padding:11px;gap:10px}
  .module-precalificador .evaluation-option strong{font-size:16px;line-height:1.18}
  .module-precalificador .evaluation-option small{font-size:12px;line-height:1.3}
  .module-precalificador .evaluation-icon{flex-basis:38px;height:38px}
  .module-precalificador .actions{margin-top:13px}

  /* Calculadora + ROI operational screens */
  .module-calculadora .progress-wrap,.module-roi .progress-wrap{padding:10px 12px;margin-bottom:10px}
  .module-calculadora .panel,.module-roi .panel{padding:16px 14px 24px}
  .module-calculadora .question-flow-head,.module-roi .question-flow-head{gap:5px;margin-bottom:2px}
  .module-calculadora .question-flow-head h2,.module-roi .question-flow-head h2{font-size:clamp(1.45rem,7vw,1.85rem);line-height:1.08;margin:.15rem 0}
  .module-calculadora .question-flow-head p,.module-roi .question-flow-head p{font-size:.9rem;line-height:1.38}
  .module-calculadora .question-card,.module-roi .question-card{padding:12px 0}
  .module-calculadora .question-card h3,.module-roi .question-card h3{font-size:.94rem;line-height:1.28}
  .module-calculadora .question-card p,.module-roi .question-card p{font-size:.82rem;line-height:1.32}
  .module-calculadora .answer-grid,.module-roi .answer-grid{gap:9px;margin-top:9px}
  .module-calculadora .option-cards,.module-calculadora .option-cards.compact,.module-roi .option-cards,.module-roi .option-cards.compact{gap:6px}
  .module-calculadora .option-card span,.module-roi .option-card span{min-height:44px;padding:6px;font-size:.72rem;line-height:1.15}
  .module-calculadora .option-card span b,.module-roi .option-card span b{font-size:.9rem}
  .module-calculadora .cost-reality-card,.module-roi .cost-reality-card{margin:12px 0;padding:13px}
  .module-calculadora .cost-reality-card h3,.module-roi .cost-reality-card h3{font-size:1.05rem;line-height:1.25}
  .module-calculadora .cost-reality-card p,.module-roi .cost-reality-card p{font-size:.86rem;line-height:1.4}
}
