/* iOutlet Diagnostic — Apple-inspired */
#io-diag-app{
  max-width:680px;margin:48px auto;padding:0 24px;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",Inter,sans-serif;
  color:#1d1d1f;
}
.io-diag-loading{padding:80px 0;text-align:center;color:#86868b}
.io-diag-step{animation:dgfade .35s ease}
@keyframes dgfade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.io-diag-eyebrow{
  display:inline-block;font-size:13px;letter-spacing:.04em;text-transform:uppercase;
  color:#0071e3;font-weight:600;margin-bottom:12px;
}
.io-diag-h1{font-size:40px;line-height:1.1;font-weight:600;letter-spacing:-.02em;margin:0 0 16px}
.io-diag-sub{font-size:18px;line-height:1.5;color:#424245;margin:0 0 28px;max-width:560px}
.io-diag-progress{height:4px;background:#f5f5f7;border-radius:2px;margin:0 0 36px;overflow:hidden}
.io-diag-progress > span{display:block;height:100%;background:#0071e3;border-radius:2px;transition:width .4s cubic-bezier(.4,0,.2,1)}
.io-diag-q{font-size:26px;font-weight:600;letter-spacing:-.01em;margin:0 0 24px;line-height:1.25}
.io-diag-options{display:grid;gap:12px;margin-bottom:32px}
.io-diag-opt{
  display:block;width:100%;text-align:left;padding:18px 20px;
  background:#fff;border:1.5px solid #d2d2d7;border-radius:14px;
  font-size:17px;color:#1d1d1f;cursor:pointer;
  transition:border-color .2s,background .2s;
}
.io-diag-opt:hover{border-color:#0071e3;background:#f5f9ff}
.io-diag-opt.is-selected{border-color:#0071e3;background:#f0f7ff;color:#0071e3;font-weight:500}
.io-diag-actions{display:flex;justify-content:space-between;align-items:center}
.io-diag-back{background:none;border:none;color:#0071e3;cursor:pointer;font-size:16px}
.io-diag-back:hover{text-decoration:underline}
.io-diag-cta{
  background:#0071e3;color:#fff;border:none;border-radius:980px;
  padding:14px 28px;font-size:17px;font-weight:500;cursor:pointer;
  transition:background .2s;text-decoration:none;display:inline-block;
}
.io-diag-cta:hover{background:#0077ed}
.io-diag-cta.is-secondary{background:#f5f5f7;color:#1d1d1f}
.io-diag-cta.is-secondary:hover{background:#eaeaef}
.io-diag-cta:disabled{background:#d2d2d7;color:#86868b;cursor:not-allowed}

.io-diag-gate{max-width:480px;margin:0 auto;text-align:left}
.io-diag-gate-icon{width:64px;height:64px;border-radius:50%;background:#f0f7ff;display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.io-diag-gate-icon svg{width:28px;height:28px;color:#0071e3}
.io-diag-form{display:grid;gap:14px;margin-top:24px}
.io-diag-form input[type=email]{
  width:100%;padding:14px 16px;border:1.5px solid #d2d2d7;border-radius:12px;
  font-size:16px;font-family:inherit;color:#1d1d1f;background:#fff;
}
.io-diag-form input[type=email]:focus{outline:none;border-color:#0071e3}
.io-diag-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#424245;line-height:1.45}
.io-diag-consent input{margin-top:2px;flex-shrink:0}
.io-diag-msg{margin-top:14px;padding:12px 16px;border-radius:10px;font-size:14px}
.io-diag-msg.is-error{background:#fff0f0;color:#b71c1c}

.io-diag-verdict{text-align:center;padding:32px 0}
.io-diag-verdict-badge{
  display:inline-flex;align-items:center;gap:8px;font-size:13px;letter-spacing:.04em;text-transform:uppercase;
  font-weight:600;padding:6px 14px;border-radius:999px;margin-bottom:20px;
}
.io-diag-verdict-badge.change{background:#fff0f0;color:#b71c1c}
.io-diag-verdict-badge.medium{background:#fff8e1;color:#8a6d00}
.io-diag-verdict-badge.keep  {background:#e8f5e9;color:#1b5e20}
.io-diag-verdict h2{font-size:36px;font-weight:600;margin:0 0 16px;letter-spacing:-.015em}
.io-diag-verdict-body{font-size:18px;line-height:1.5;color:#424245;margin:0 auto 28px;max-width:520px}
.io-diag-coupon-card{
  background:linear-gradient(135deg,#0071e3,#005bbb);color:#fff;border-radius:18px;
  padding:24px;margin:24px auto;max-width:420px;text-align:center;
}
.io-diag-coupon-card .label{font-size:13px;opacity:.85;letter-spacing:.05em;text-transform:uppercase}
.io-diag-coupon-card .code{font-size:32px;font-weight:600;letter-spacing:.04em;margin:6px 0 4px;font-family:"SF Mono",Menlo,monospace}
.io-diag-coupon-card .terms{font-size:13px;opacity:.85}
.io-diag-reco{
  background:#f5f5f7;border-radius:18px;padding:24px;margin:24px auto;max-width:520px;text-align:left;
}
.io-diag-reco h3{font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:#86868b;margin:0 0 8px;font-weight:600}
.io-diag-reco p{font-size:17px;color:#1d1d1f;margin:0 0 16px;line-height:1.45}
.io-diag-actions-grid{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:24px}
.io-diag-restart{background:none;border:none;color:#0071e3;cursor:pointer;font-size:14px;margin-top:18px}
.io-diag-restart:hover{text-decoration:underline}

@media (max-width:560px){
  #io-diag-app{margin:24px auto;padding:0 18px}
  .io-diag-h1{font-size:30px}
  .io-diag-q{font-size:22px}
  .io-diag-verdict h2{font-size:28px}
}
