/* 中央配置レイアウト（新パスワード設定・完了系ページ共通） */
/* password_reset.css */
.login-container.layout-centered {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: 100vh !important;
    width: 100vw !important;
    margin: 0 !important;
    padding: 0 !important;
}
.login-form-side.layout-centered {
    flex: none !important;
    width: 100% !important;
    max-width: 540px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 20px !important;
    box-sizing: border-box !important;
}
.login-form.layout-centered {
    width: 100% !important;
    max-width: 100% !important;
    padding: 40px !important;
    box-sizing: border-box !important;
}
.form-input-styled {
    width: 100% !important;
    padding: 18px !important;
    font-size: 17px !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
    margin-top: 8px !important;
}
.done-instruction-text {
    font-size: 15px;
    line-height: 1.6;
    color: #4b5563;
    margin: 0 auto 35px auto;
    text-align: center !important;
    width: 100%;
    max-width: 100%;
}
.form-group-sm { margin-bottom: 20px; }
.error-message-centered { text-align: center; margin-bottom: 24px; }
.error-message-sm { font-size: 12px; margin-top: 5px; }
.login-button-spaced { margin-top: 24px; }
.login-button-link {
    display: block;
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
}
.login-button-link.mt-20 { margin-top: 20px; }
.reset-form-wrap { width: 100%; margin: 0; padding: 0; }

.reset-instruction-text {
    /* 100%にしてマージン自動にすることで、カードの幅いっぱいに広がり中央に配置されます */
    width: 100%;
    max-width: 100%; 
    font-size: 15px;
    line-height: 1.6;
    color: #4b5563;
    margin: 0 auto 30px auto; /* 左右をautoにして完全に中央へ */
    text-align: center !important; /* 文字自体の配置も中央に強制ロック */
}

.reset-submit-btn {
    margin-top: 10px;
}

.back-to-login-area {
    margin-top: 24px;
    text-align: center;
}

.back-to-login-link {
    font-size: 14px;
    color: #007bff;
    text-decoration: none;
    /* font-weight: normal を強制して太字（600）を完全に解除する */
    font-weight: normal !important; 
    transition: color 0.15s;
}

.back-to-login-link:hover {
    color: #0056b3;
    text-decoration: underline;
}

@media (max-width: 800px) {
    .reset-instruction-text {
        max-width: 100%;
        padding: 0 10px;
        font-size: 13px;
        margin-bottom: 25px;
        text-align: center !important;
    }
    
    .back-to-login-area {
        margin-top: 30px;
    }
}