/* LINKFLOW stabilisation: guided setup + connections */
.conversational-setup .form-step{min-height:430px}
.conversational-setup .form-step h2{margin:.25rem 0 .55rem;font-size:clamp(1.65rem,3vw,2.2rem);letter-spacing:-.025em}
.conversational-setup .form-step h3{margin:1.4rem 0 .65rem}
.setup-fieldset{margin:18px 0 0;padding:0;border:0}
.setup-fieldset legend{margin-bottom:10px;font-weight:750;color:var(--text)}
.setup-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.setup-check-grid label{display:flex;align-items:center;gap:10px;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:rgba(6,23,38,.76);cursor:pointer}
.setup-check-grid input{min-height:auto;width:18px;height:18px}
.setup-review{display:grid;gap:10px;margin:18px 0}
.setup-review-row{display:grid;grid-template-columns:minmax(130px,.42fr) minmax(0,1fr);gap:14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(6,23,38,.76)}
.setup-review-row b{color:#bfeeff}
.setup-review-row span{color:var(--muted);line-height:1.5}
.step-dot.done{background:var(--teal)!important}
.setup-after-plan{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding:20px;border:1px solid rgba(71,193,240,.28);border-radius:14px;background:rgba(7,42,63,.65)}
.setup-after-plan h3{margin:.25rem 0 .4rem}

.connection-readiness{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:20px;align-items:center;padding:22px;margin-bottom:20px}
.connection-readiness h2{margin:.2rem 0 .45rem}
.connection-progress{display:grid;gap:3px;min-width:145px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:rgba(6,23,38,.76);text-align:center}
.connection-progress strong{font-size:1.55rem;color:var(--teal)}
.connection-progress span{font-size:.72rem;color:var(--muted);line-height:1.35}
.guided-connection-card .connection-card-action{margin-top:auto;width:100%}
.connection-guide-steps{display:grid;gap:18px;margin:18px 0}
.connection-provider-choice,.connection-step-list{display:grid;gap:10px}
.setup-provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.setup-provider-grid .choice{text-align:left}
.connection-step-list{gap:8px}
.connection-step{display:grid;grid-template-columns:32px minmax(0,1fr);gap:11px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:12px;background:rgba(6,23,38,.76)}
.connection-step>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(36,149,216,.18);color:#9fe8ff;font-weight:800}
.connection-step p{margin:.2rem 0 0;line-height:1.5}
.connection-guide-dialog .safe-box{margin-top:14px}
.connection-guide-dialog .safe-box span{display:block;margin-top:4px}
.first-use-dialog .guided-onboarding-detail{min-height:120px}
#linkflow-tour-nav[hidden],#connection-grid[hidden],#connection-readiness[hidden],#connection-control[hidden]{display:none}

@media(max-width:900px){
  .connection-readiness{grid-template-columns:1fr 1fr}
  #connection-next-action{grid-column:1/-1}
  #connection-next-action .btn{width:100%}
}
@media(max-width:680px){
  .conversational-setup .form-step{min-height:0}
  .setup-check-grid,.setup-provider-grid{grid-template-columns:1fr}
  .setup-review-row{grid-template-columns:1fr;gap:5px}
  .setup-after-plan{display:grid}
  .setup-after-plan .btn{width:100%}
  .connection-readiness{grid-template-columns:1fr}
  #connection-next-action{grid-column:auto}
  .connection-progress{text-align:left}
}

/* Official service artwork */
.provider-icons{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:38px}
.connection-service-logo{width:34px;height:34px;object-fit:contain;display:block}
.guided-connection-card .connection-service-logo + .service-logo-fallback{display:none}
.related-service-logos{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 10px}
.related-service{display:inline-flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid var(--line);border-radius:10px;background:rgba(6,23,38,.64);font-size:.76rem;color:var(--muted)}
.related-service-logo{width:22px;height:22px;object-fit:contain;display:block}
.provider-choice{display:flex!important;align-items:center;gap:10px}
.provider-choice-logo{width:28px;height:28px;object-fit:contain;flex:0 0 auto}
.provider-choice span{min-width:0}
@media(max-width:680px){
  .connection-service-logo{width:32px;height:32px}
  .provider-choice-logo{width:26px;height:26px}
}
