:root { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #142235; background: #08111f; }
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { min-width: 320px; min-height: 100vh; margin: 0; }
.reset-layout { display: grid; min-height: 100vh; grid-template-columns: minmax(300px, 1fr) minmax(380px, 1fr); }
.reset-brand { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3rem; color: #a7c0d8; background: radial-gradient(circle at 50% 35%, #114875 0%, #0b1d35 38%, #070e19 80%); }
.reset-brand img { width: min(60%, 310px); aspect-ratio: 1; border-radius: 22%; object-fit: cover; box-shadow: 0 28px 80px #0008; }
.reset-brand p { margin-top: 2rem; font-size: .72rem; font-weight: 800; letter-spacing: .22em; }
.reset-card { align-self: center; width: min(100% - 3rem, 460px); margin: 3rem auto; padding: clamp(1.6rem, 4vw, 3rem); border: 1px solid #e2eaf1; border-radius: 24px; background: #fff; box-shadow: 0 28px 80px #0002; }
.eyebrow { margin: 0; color: #1179bd; font-size: .68rem; font-weight: 900; letter-spacing: .15em; }
h1 { margin: .7rem 0 1rem; font-size: clamp(1.8rem, 3vw, 2.35rem); line-height: 1.15; letter-spacing: -.04em; }
.intro { margin: 0 0 1.6rem; color: #617386; font-size: .94rem; line-height: 1.65; }
label { display: block; margin: 1.15rem 0 .5rem; font-size: .82rem; font-weight: 800; }
input { width: 100%; min-height: 52px; border: 1px solid #d6e1ec; border-radius: 11px; padding: .8rem .95rem; color: #142235; background: #fbfdff; font: inherit; outline: none; }
input:focus-visible, button:focus-visible, a:focus-visible { outline: 3px solid #74bfff; outline-offset: 2px; }
button { width: 100%; min-height: 52px; margin-top: 1.8rem; border: 0; border-radius: 11px; color: #fff; background: linear-gradient(125deg, #1179bd, #095d99); font: inherit; font-weight: 800; cursor: pointer; }
button:disabled { cursor: wait; opacity: .65; }
#feedback { margin: 1.2rem 0 0; border: 1px solid #d5e6f3; border-radius: 10px; padding: .85rem; color: #234862; background: #edf6fc; font-size: .9rem; line-height: 1.5; }
#feedback[data-type="error"] { border-color: #f0cbc7; color: #9f2f28; background: #fff5f4; }
#feedback[data-type="success"] { border-color: #bfe6d2; color: #116842; background: #eefbf3; }
.back-link { display: block; width: fit-content; margin: 1.5rem auto 0; color: #095d99; font-size: .85rem; font-weight: 750; text-decoration: none; }
.back-link:hover { text-decoration: underline; }
@media (max-width: 760px) { .reset-layout { display: block; min-height: 100vh; padding: 1.25rem 0 2rem; background: #f3f7fb; }.reset-brand { min-height: 180px; padding: 1.2rem; }.reset-brand img { width: 94px; border-radius: 22px; }.reset-brand p { margin: .8rem 0 0; font-size: .6rem; }.reset-card { width: min(100% - 2rem, 460px); margin: -12px auto 0; position: relative; } }
