.find-password { width: 100%; color: #1e293b; padding-bottom: 56px; }
.find-password, .find-password * { box-sizing: border-box; }
.find-password .fp-heading { margin: 0 0 40px; text-align: center; }
.find-password .fp-title { margin: 0 0 24px; font-size: 36px; font-weight: 700; line-height: 1.4; letter-spacing: -1px; }
.find-password .fp-heading .txt { margin: 0; color: #64748b; font-size: 15px; line-height: 1.7; word-break: keep-all; }
.find-password .fp-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); max-width: 1120px; margin: 0 auto; padding: 56px 0; border-top: 1px solid #e2e8f0; border-bottom: 1px solid #e2e8f0; }
.find-password .fp-form { min-width: 0; margin: 0; padding: 0 60px 0 0; border-right: 1px solid #e2e8f0; }
.find-password fieldset { min-width: 0; border: 0; margin: 0; padding: 0; }
.find-password legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.find-password .fp-fields { display: flex; flex-direction: column; gap: 24px; }
.find-password .form-group { display: flex; flex-direction: column; gap: 8px; margin: 0; }
.find-password .fp-label { display: block; margin: 0 0 8px; font-size: 15px; font-weight: 600; }
.find-password .fp-label label { font: inherit; }
.find-password .fp-input { width: 100%; height: 48px; border: 1px solid #ced6dd; border-radius: 6px; padding: 8px 14px; background: #fff; color: #1e293b; font: inherit; font-size: 15px; }
.find-password .fp-input::placeholder { color: #94a3b8; }
.find-password .fp-button { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 52px; padding: 12px; border-radius: 8px; font: inherit; font-size: 16px; font-weight: 700; cursor: pointer; }
.find-password .fp-cert { border: 1px solid #c9dbfb; background: #eff5ff; color: #246beb; }
.find-password .fp-cert:hover { background: #e3edff; }
.find-password .fp-primary { border: 1px solid #256ef4; background: #256ef4; color: #fff; }
.find-password .fp-primary:hover { background: #1f5fd6; }
.find-password .fp-links { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px; margin: 0; padding: 0; list-style: none; }
.find-password .fp-links li { display: flex; align-items: center; margin: 0; padding: 0; }
.find-password .fp-links li + li::before { content: ''; width: 1px; height: 12px; background: #cbd5e1; margin-right: 10px; }
.find-password .fp-links a { display: inline-flex; align-items: center; min-height: 28px; padding: 0 4px; font-size: 14px; font-weight: 600; color: #64748b; text-decoration: none; }
.find-password .fp-links .fp-join { color: #256ef4; }
.find-password .fp-links a:hover { text-decoration: underline; }
.find-password .fp-notes { min-width: 0; padding: 6px 0 0 60px; }
.find-password .fp-note-list { display: flex; flex-direction: column; gap: 18px; margin: 0; padding: 0; list-style: none; }
.find-password .fp-note-list li { position: relative; margin: 0; padding-left: 16px; color: #33404f; font-size: 15px; line-height: 1.7; word-break: keep-all; }
.find-password .fp-note-list li::before { content: '·'; position: absolute; left: 0; color: #64748b; }
.find-password .emph_notice { margin: 0 0 12px; font-size: 13px; line-height: 1.6; color: #64748b; }
.find-password .wrong .emph_notice { color: #c73535; }
.find-password .fp-fields > .txt { margin: 0; font-size: 16px; line-height: 1.7; text-align: center; }
.find-password :is(input, button, a):focus-visible { outline: 2px solid #256ef4; outline-offset: 3px; }
@media (max-width: 767px) {
    .find-password .fp-title { font-size: 28px; }
    .find-password .fp-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; padding: 32px 0; }
    .find-password .fp-form { padding: 0; border: 0; }
    .find-password .fp-notes { padding: 0; }
}
