.ob-sandbox-page{background:#f7f8fd;color:#11143b}.sbx-hero{padding:72px 0 38px;background:radial-gradient(circle at 78% 8%,rgba(101,79,255,.15),transparent 34%),linear-gradient(180deg,#fff 0,#f7f8fd 100%)}.sbx-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:48px;align-items:center}.sbx-hero h1{font-size:clamp(42px,5vw,72px);line-height:1.02;letter-spacing:-.055em;margin:16px 0 18px;max-width:760px}.sbx-hero p{font-size:18px;line-height:1.7;color:#59607d;max-width:760px}.sbx-safety{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.sbx-safety span{font-size:11px;font-weight:800;letter-spacing:.06em;padding:8px 10px;border-radius:999px;background:#eeefff;color:#4135a9}.sbx-connect-card,.sbx-card,.sbx-journey,.sbx-console{background:#fff;border:1px solid #e1e3f1;border-radius:24px;box-shadow:0 18px 50px rgba(31,26,87,.07)}.sbx-connect-card{padding:26px}.sbx-connect-card label,.sbx-card label{display:grid;gap:8px;font-size:13px;font-weight:800;color:#2b2f54}.sbx-token-row{display:grid;grid-template-columns:1fr auto;gap:10px;margin:9px 0}.sbx-token-row input,.sbx-card select{width:100%;border:1px solid #d8dbea;border-radius:12px;padding:13px 14px;background:#fbfbfe;font:inherit}.sbx-token-row button,.sbx-card button,.sbx-scenario button,#sbx-certify{border:0;border-radius:12px;background:#2820ce;color:#fff;font-weight:800;padding:13px 18px;cursor:pointer}.sbx-connect-card small{color:#7c829b}.sbx-connection{margin-top:16px;padding:12px 14px;border-radius:12px;background:#f2f3fa;font-size:13px;font-weight:800}.sbx-connection.is-ok{background:#ebf8f0;color:#167447}.sbx-connection.is-bad{background:#fff0f0;color:#b82f42}.sbx-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:start}.sbx-sidebar{position:sticky;top:100px;display:grid;gap:8px}.sbx-sidebar button,.sbx-sidebar a{display:block;text-align:left;border:0;background:transparent;color:#5d6380;text-decoration:none;padding:12px 14px;border-radius:12px;font:inherit;font-weight:750;cursor:pointer}.sbx-sidebar button.is-active{background:#ececff;color:#2820ce}.sbx-main{min-width:0}.sbx-panel{display:none}.sbx-panel.is-active{display:block}.sbx-panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}.sbx-panel-head h2{font-size:clamp(30px,4vw,46px);letter-spacing:-.04em;margin:8px 0 0}.sbx-ghost{border:1px solid #dfe1ec!important;background:#fff!important;color:#373b59!important;padding:10px 13px!important;border-radius:10px!important}.sbx-scenario-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.sbx-scenario{background:#fff;border:1px solid #e1e3f1;border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:9px}.sbx-scenario h3{margin:0;font-size:17px}.sbx-scenario p{margin:0;color:#70758d;font-size:13px;line-height:1.55;min-height:62px}.sbx-scenario small{font-weight:800;color:#2820ce}.sbx-scenario button{margin-top:auto}.sbx-result-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:16px;margin-top:20px}.sbx-journey,.sbx-console{padding:20px;min-height:420px}.sbx-journey h3,.sbx-console h3{margin:0 0 14px}.sbx-steps{display:grid;gap:8px}.sbx-step{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:11px 12px;border-radius:12px;background:#f5f6fb}.sbx-step .dot{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#e3e5f2;font-size:12px;font-weight:900}.sbx-step.is-ok .dot{background:#dff4e7;color:#147044}.sbx-step.is-warn .dot{background:#fff1d9;color:#9a6012}.sbx-step small{color:#747991}.sbx-console-head{display:flex;align-items:center;justify-content:space-between}.sbx-console{background:#101329;color:#dfe3ff;overflow:hidden}.sbx-console h3{color:#fff}.sbx-console .sbx-ghost{background:#1b2040!important;color:#fff!important;border-color:#33395e!important}.sbx-console pre{white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.6;max-height:560px;overflow:auto;margin:0}.sbx-card{padding:24px}.sbx-card>p{color:#646a84;line-height:1.7}.sbx-card label{max-width:520px;margin:18px 0}.sbx-callout{margin-top:18px;padding:15px;border-radius:12px;background:#f3f4fa;font-weight:700}.sbx-cert-result{margin-top:20px;display:grid;gap:8px}.sbx-cert-check{display:flex;justify-content:space-between;gap:20px;padding:12px 14px;border:1px solid #e6e7f0;border-radius:12px;background:#fff}.sbx-cert-check b.is-pass{color:#147044}.sbx-cert-check b.is-fail{color:#b82f42}@media(max-width:980px){.sbx-hero-grid,.sbx-layout,.sbx-result-grid{grid-template-columns:1fr}.sbx-sidebar{position:static;display:flex;overflow:auto}.sbx-sidebar button,.sbx-sidebar a{white-space:nowrap}.sbx-scenario-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.sbx-hero{padding-top:42px}.sbx-token-row,.sbx-scenario-grid{grid-template-columns:1fr}.sbx-connect-card,.sbx-card,.sbx-journey,.sbx-console{border-radius:18px}.sbx-panel-head{align-items:flex-start;flex-direction:column}.sbx-step{grid-template-columns:28px 1fr}.sbx-step small{grid-column:2}}

/* Stage 7.34 FIX1 — harden interactive layers and visible busy state. */
.sbx-layout,.sbx-sidebar,.sbx-main,.sbx-panel,.sbx-scenario-grid,.sbx-scenario,.sbx-card,.sbx-result-grid,.sbx-journey,.sbx-console{position:relative;z-index:2}
.sbx-main button,.sbx-sidebar button,.sbx-scenario button,.sbx-connect-card button{pointer-events:auto!important;touch-action:manipulation}
.sbx-main button:disabled,.sbx-sidebar button:disabled,.sbx-scenario button:disabled,.sbx-connect-card button:disabled{cursor:wait;opacity:.66}
.sbx-inline-error{padding:14px 16px;border-radius:12px;background:#fff0f0;color:#b82f42;font-weight:750}
/* Stage 7.35 — self-service onboarding, recovery, webhook setup and production review. */
.sbx-access-prompt{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 14px;border-radius:12px;background:#f0f0ff;margin-bottom:18px;font-size:12px}.sbx-access-prompt a{color:#2c24c8;font-weight:850;text-decoration:none}.sbx-mini-note{margin-top:12px;padding:11px 12px;border-radius:10px;font-size:12px;font-weight:700}.sbx-mini-note.is-good{background:#eaf8ef;color:#147044}.sbx-mini-note.is-bad{background:#fff0f0;color:#b82f42}.sbx-recovery{margin-top:14px;border-top:1px solid #eceef5;padding-top:12px}.sbx-recovery summary{cursor:pointer;color:#4f5574;font-size:12px;font-weight:800}.sbx-recovery form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}.sbx-recovery input{border:1px solid #d8dbea;border-radius:10px;padding:10px 11px;font:inherit;min-width:0}.sbx-recovery button{border:0;border-radius:10px;background:#2820ce;color:#fff;font-weight:800;padding:10px 12px;cursor:pointer}.sbx-card input[type=url]{width:100%;border:1px solid #d8dbea;border-radius:12px;padding:13px 14px;background:#fbfbfe;font:inherit}.sbx-webhook-actions{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0 18px}.sbx-callout code{word-break:break-all}.sbx-production-button{margin-left:8px;background:#12845a!important}.sbx-production-button[hidden]{display:none!important}@media(max-width:640px){.sbx-access-prompt{align-items:flex-start;flex-direction:column}.sbx-recovery form{grid-template-columns:1fr}.sbx-production-button{margin-left:0;margin-top:8px}.sbx-webhook-actions{display:grid}.sbx-webhook-actions button{width:100%}}
/* Stage 7.35 FIX1 — code-based credential recovery (no secret-bearing email links). */
.sbx-recovery form{grid-template-columns:1fr auto}.sbx-recovery-confirm{grid-template-columns:1fr 150px auto!important;padding-top:10px;border-top:1px solid #eceef5}.sbx-recovery-confirm input[name=recovery_code]{text-align:center;letter-spacing:.14em;font-weight:800}@media(max-width:760px){.sbx-recovery form,.sbx-recovery-confirm{grid-template-columns:1fr!important}}
