.finish-shell { min-height: 100vh; }
.finish-trust { display: grid; gap: 14px; margin-top: 38px; }
.finish-trust p { display: flex; gap: 12px; align-items: center; margin: 0; color: var(--brand-muted); font-size: 0.9rem; }
.finish-trust span { display: grid; flex: 0 0 28px; width: 28px; height: 28px; place-items: center; border: 1px solid rgba(var(--brand-accent-rgb), 0.38); border-radius: 9px; color: var(--mint); background: rgba(var(--brand-accent-rgb), 0.08); font-weight: 700; }
.finish-panel { align-items: flex-start; overflow-y: auto; }
.finish-wrap { width: min(680px, 100%); margin: 0 auto; padding: 48px 0 64px; }
.finish-loading, .session-required { display: grid; justify-items: center; min-height: 440px; align-content: center; color: var(--ink-soft); text-align: center; }
.finish-loading[hidden], .session-required[hidden], .finish-complete[hidden] { display: none; }
.loading-mark { width: 42px; height: 42px; border: 3px solid rgba(var(--brand-accent-rgb), 0.16); border-top-color: var(--blue); border-radius: 50%; animation: finish-spin 0.8s linear infinite; }
@keyframes finish-spin { to { transform: rotate(360deg); } }
.session-required h2 { margin: 8px 0 12px; }
.session-required > p:not(.eyebrow) { max-width: 400px; margin: 0; line-height: 1.6; }
.finish-primary-link { display: flex; width: min(360px, 100%); margin-top: 28px; text-decoration: none; }
.finish-form { display: grid; gap: 24px; margin-top: 28px; }
.finish-form select { width: 100%; min-height: 54px; padding: 0 14px; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); background: rgba(255,255,255,0.78); font: inherit; }
.finish-form input[type="tel"] { width: 100%; min-height: 54px; padding: 0 14px; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); background: rgba(255,255,255,0.86); font: inherit; }
.field-hint { margin: 0; color: var(--ink-soft); font-size: var(--type-small); line-height: 1.5; }
.channel-fieldset { display: grid; gap: 12px; margin: 0; padding: 0; border: 0; }
.channel-fieldset legend { margin-bottom: 4px; color: var(--ink); font-weight: 700; }
.channel-option { display: grid; grid-template-columns: auto 1fr; gap: 13px; align-items: center; padding: 15px 16px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,0.66); cursor: pointer; }
.channel-option:has(input:checked) { border-color: rgba(var(--brand-accent-rgb),0.3); background: rgba(var(--brand-accent-rgb), 0.09); }
.channel-option input { width: 19px; height: 19px; accent-color: var(--blue); }
.channel-option strong, .channel-option small { display: block; }
.channel-option strong { color: var(--ink); }
.channel-option small { margin-top: 3px; color: var(--ink-soft); line-height: 1.4; }
.whatsapp-setup { display: grid; gap: 16px; padding: 20px; border: 1px solid rgba(var(--brand-accent-rgb), 0.24); border-radius: 16px; background: rgba(255,255,255,0.58); }
.whatsapp-setup[hidden], .whatsapp-pairing[hidden], .whatsapp-connected[hidden] { display: none; }
.whatsapp-setup h3 { margin: 0 0 4px; color: var(--ink); font-size: 1rem; }
.whatsapp-start { display: flex; width: 100%; align-items: center; justify-content: space-between; }
.whatsapp-connected { display: flex; gap: 12px; align-items: center; padding: 14px; border-radius: 12px; color: #08745e; background: var(--brand-success-soft); }
.whatsapp-connected > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 9px; background: rgba(var(--brand-success-rgb), 0.12); font-weight: 700; }
.whatsapp-connected p, .whatsapp-connected strong, .whatsapp-connected small { display: block; margin: 0; }
.whatsapp-connected small { margin-top: 3px; color: var(--ink-soft); }
.whatsapp-pairing { display: grid; gap: 12px; padding: 16px; border: 1px solid rgba(13,139,112,0.25); border-radius: 13px; background: rgba(var(--brand-accent-rgb), 0.09); }
.whatsapp-pairing p { margin: 0; color: var(--ink-soft); line-height: 1.5; }
.whatsapp-pairing .pairing-step { color: var(--ink); font-weight: 700; }
.whatsapp-pairing code { display: block; padding: 14px; overflow-wrap: anywhere; border-radius: 10px; color: var(--ink); background: #fff; font-size: 1rem; font-weight: 700; letter-spacing: 0.03em; user-select: all; }
.pairing-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.pairing-link { display: grid; place-items: center; text-decoration: none; }
.pairing-expiry { font-variant-numeric: tabular-nums; }
.pairing-status { padding: 10px 12px; border-radius: 10px; color: #08745e !important; background: var(--brand-success-soft); font-weight: 700; }
.pairing-status.is-expired { color: #9c3d10 !important; background: rgba(224,112,61,0.12); }
.secondary-button { min-height: 46px; padding: 0 16px; border: 1px solid var(--blue); border-radius: 11px; color: var(--blue); background: transparent; font: inherit; font-weight: 700; cursor: pointer; }
.secondary-button:disabled { opacity: 0.6; cursor: wait; }
.finish-submit { width: 100%; }
.finish-complete { display: grid; justify-items: center; min-height: 520px; align-content: center; text-align: center; }
.complete-mark { display: grid; width: 70px; height: 70px; margin-bottom: 24px; place-items: center; border-radius: 20px; color: #08745e; background: var(--brand-success-soft); font-size: 2rem; font-weight: 700; }
.finish-complete h2 { margin: 8px 0 14px; color: var(--ink); font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.05; }
.finish-complete > p:not(.eyebrow) { max-width: 540px; margin: 0; color: var(--ink-soft); line-height: 1.65; }
.secondary-link { margin-top: 28px; color: var(--blue); font-weight: 700; }
@media (max-width: 720px) { .finish-wrap { padding-top: 32px; } .pairing-actions { grid-template-columns: 1fr; } }

/* Connection tools share the card controls' alignment inside WhatsApp setup. */
.whatsapp-setup .connection-actions > :is(button, a.action-control) {
  width: auto; min-width: 0; max-width: 100%; min-height: 44px; margin: 0;
  white-space: normal;
}
