:root { color-scheme: light; }
* { box-sizing: border-box; }
body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #20242b; background: #fff; }
.reset-page { min-height: 100dvh; display: flex; justify-content: center; align-items: flex-start; padding: clamp(52px, 9vh, 96px) 20px 40px; }
.reset-panel { width: min(420px, 100%); text-align: center; }
.reset-logo { width: 112px; height: auto; display: block; margin: 0 auto 34px; }
h1 { margin: 0 0 12px; font-size: clamp(28px, 4.4vw, 38px); line-height: 1.14; letter-spacing: -.04em; }
.reset-copy { margin: 0 0 34px; color: #374151; font-size: clamp(16px, 2.4vw, 20px); line-height: 1.55; letter-spacing: -.03em; }
.reset-form { display: grid; gap: 14px; text-align: left; }
.reset-form-spaced { margin-top: 32px; padding-top: 28px; border-top: 1px solid #e5eaf2; }
.reset-section-title { margin: 0 0 2px; color: #111827; font-size: 18px; line-height: 1.3; letter-spacing: -.03em; }
.reset-form input { width: 100%; height: 58px; border: 1px solid #d7dee8; border-radius: 14px; padding: 0 18px; color: #111827; background: #fff; font-size: 17px; outline: none; }
.reset-form input::placeholder { color: #8b949e; font-weight: 700; }
.reset-form input:focus { border-color: #1f6fff; box-shadow: 0 0 0 4px rgba(31, 111, 255, .12); }
.reset-form input.is-invalid { border-color: #ff4d4f; color: #ff4d4f; background: #fff; box-shadow: none; }
.reset-error { margin: -2px 0 2px; color: #ff4d4f; font-size: 14px; line-height: 1.35; }
.reset-error::before { content: "×"; display: inline-block; margin-right: 8px; font-size: 18px; line-height: 1; vertical-align: -1px; }
.reset-success { margin: -2px 0 2px; color: #2643c4; font-size: 14px; line-height: 1.45; text-align: center; }
.reset-submit { width: 100%; height: 58px; border: 0; border-radius: 14px; background: #2643c4; color: #fff; cursor: pointer; font-size: 17px; font-weight: 900; }
.reset-submit:disabled { opacity: .65; cursor: wait; }
.reset-login-link { display: inline-flex; justify-content: center; color: #2643c4; font-size: 14px; font-weight: 800; text-decoration: none; }
.login-id-result { padding: 14px 16px; border-radius: 14px; background: #f4f7ff; color: #1f2937; font-size: 15px; line-height: 1.5; }
.login-id-result p { margin: 0 0 10px; }
.login-id-result ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.login-id-result button { width: 100%; min-height: 42px; border: 1px solid #d8e2ff; border-radius: 10px; background: #fff; color: #2643c4; font-weight: 900; cursor: pointer; text-align: left; padding: 0 12px; }
.reset-result-modal[hidden] { display: none !important; }
.reset-result-modal { position: fixed; inset: 0; z-index: 2147483001; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgba(15, 23, 42, .58); }
.reset-result-card { width: min(420px, 100%); padding: 34px 28px 26px; border-radius: 22px; background: #fff; box-shadow: 0 24px 70px rgba(15, 23, 42, .24); text-align: center; }
.reset-result-card h2 { margin: 0 0 22px; font-size: 26px; line-height: 1.2; letter-spacing: -.04em; }
.reset-result-email { min-height: 64px; display: flex; align-items: center; justify-content: center; gap: 12px; margin-bottom: 18px; padding: 0 16px; border-radius: 14px; background: #f4f5f7; color: #343a42; font-size: 16px; word-break: break-all; }
.reset-result-email span { width: 28px; height: 28px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; background: #eef2ff; color: #2643c4; font-size: 18px; font-weight: 1000; }
.reset-result-card p { margin: 0 0 16px; color: #4b5563; font-size: 16px; line-height: 1.55; letter-spacing: -.03em; }
.reset-temp-password { margin: 0 0 16px; padding: 15px 16px; border-radius: 14px; background: #eef2ff; color: #2643c4; font-size: 22px; font-weight: 1000; letter-spacing: .02em; }
.reset-result-note { font-size: 14px !important; color: #64748b !important; }
.reset-result-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 20px; }
.reset-secondary, .reset-primary { height: 50px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; font-size: 15px; font-weight: 900; text-decoration: none; cursor: pointer; }
.reset-secondary { border: 1px solid #cbd5e1; background: #fff; color: #1f2937; }
.reset-primary { border: 0; background: #2643c4; color: #fff; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 480px) {
  .reset-page { padding: 40px 18px 32px; }
  .reset-logo { width: 96px; margin-bottom: 28px; }
  .reset-copy { margin-bottom: 28px; }
  .reset-form input, .reset-submit { height: 54px; font-size: 16px; }
  .reset-result-card { padding: 30px 22px 24px; }
  .reset-result-actions { grid-template-columns: 1fr; }
}
