:root { color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; --ink:#0a2732; --green:#0c806f; --soft:#edf5f2; --muted:#63747a; }
* { box-sizing: border-box; }
body { margin:0; min-height:100vh; color:var(--ink); background:#f5f7f5; }
.recovery-shell { min-height:100vh; display:flex; }
.brand-panel { width:46%; padding:54px clamp(32px,6vw,88px); background:linear-gradient(145deg,#071f29,#0b3a3c 62%,#0c806f); color:#fff; display:flex; flex-direction:column; justify-content:space-between; }
.brand-panel img { width:min(230px,75%); }
.brand-panel h1 { max-width:520px; margin:12px 0 18px; font-size:clamp(36px,4vw,62px); line-height:1.02; letter-spacing:-.045em; }
.brand-panel p { max-width:520px; color:#d7e7e3; font-size:18px; line-height:1.6; }
.brand-panel ul { padding-left:20px; color:#e8f4f1; line-height:1.9; }
.eyebrow { display:block; color:#83dfcb; font-size:12px; font-weight:800; letter-spacing:.16em; }
.eyebrow.dark { color:var(--green); }
.form-panel { flex:1; padding:36px; display:flex; align-items:center; justify-content:center; }
.card { width:min(100%,470px); padding:42px; border:1px solid #dfe8e4; border-radius:24px; background:#fff; box-shadow:0 24px 70px rgba(10,39,50,.1); }
.mobile-logo { display:none; width:180px; margin-bottom:28px; }
h2 { margin:10px 0 8px; font-size:32px; letter-spacing:-.03em; }
.intro { margin:0 0 26px; color:var(--muted); line-height:1.55; }
label { display:block; margin:18px 0 7px; font-weight:750; }
input { width:100%; min-height:52px; border:1px solid #b9c8c5; border-radius:12px; padding:0 14px; color:var(--ink); background:#fff; font:inherit; }
input:focus { outline:3px solid rgba(12,128,111,.18); border-color:var(--green); }
small { display:block; margin-top:7px; color:var(--muted); }
button,.button-link { width:100%; min-height:52px; margin-top:22px; border:0; border-radius:12px; padding:14px 18px; background:var(--green); color:#fff; font:inherit; font-weight:800; cursor:pointer; text-align:center; text-decoration:none; display:block; }
button:disabled { opacity:.62; cursor:wait; }
button.secondary { margin-top:10px; background:var(--soft); color:var(--ink); }
.error { min-height:20px; margin:10px 0 -8px; color:#a12e2e; font-size:14px; }
.support-note { margin:24px 0 10px; padding:14px; border-radius:12px; background:var(--soft); color:#44595e; font-size:13px; line-height:1.45; }
.back-link { display:block; color:var(--green); font-weight:750; text-align:center; }
.is-hidden { display:none !important; }
.success-mark { display:grid; width:54px; height:54px; place-items:center; border-radius:50%; background:#dff4ec; color:var(--green); font-size:28px; font-weight:900; }
#success-panel p { color:var(--muted); }
@media (max-width:760px) { .brand-panel{display:none}.form-panel{padding:18px}.card{padding:28px 22px;border-radius:18px}.mobile-logo{display:block}h2{font-size:28px} }
