/* member.css 배포일:2026.08.29 11:05:43 */ 
@charset "utf-8";

/* 로그인: 레이아웃 */
.member-login,
.member-recovery,
.member-password-reset {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 48px;
    padding: 100px 0;
    background: var(--color-surface-soft);
}

.member-login__brand,
.member-password-reset__brand {
    width: 206px;
    height: 64px;
    object-fit: contain;
}

/* 로그인: 카드·폼 */
.member-login__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 48px;
    width: 480px;
    padding: 60px 0;
    border-radius: 20px;
    background: var(--color-surface);
    box-shadow: var(--shadow-login-card);
}

.member-login__notice {
    color: var(--color-text);
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4;
    text-align: center;
    word-break: keep-all;
}

.member-login__body {
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 360px;
}

.member-login__group,
.member-login__fields,
.member-login__field,
.member-login__actions,
.member-password-reset__group,
.member-password-reset__fields,
.member-password-reset__field,
.member-password-reset__messages {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.member-login__group,
.member-password-reset__group {
    gap: 10px;
}

.member-login__group > form .member-form-error {
    margin-top: 10px;
}

.member-login__fields,
.member-password-reset__fields,
.member-login__actions {
    gap: 24px;
}

.member-login__field,
.member-password-reset__field {
    gap: 8px;
}

.member-login__label,
.member-password-reset__label {
    color: var(--color-text-muted);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
}

.member-login__input,
.member-password-reset__input {
    width: 100%;
    height: 56px;
    padding: 0 16px;
    border: 1px solid var(--color-line-input);
    border-radius: 8px;
    background: var(--color-surface);
    color: var(--color-text);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.4;
}

.member-login__input::placeholder,
.member-password-reset__input::placeholder {
    color: var(--color-text-disabled);
}

.member-login__password {
    position: relative;
    width: 100%;
}

.member-login__password .member-login__input {
    padding-right: 56px;
}

.member-login__password-toggle {
    position: absolute;
    top: 50%;
    right: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 8px;
    transform: translateY(-50%);
}

.member-login__password-toggle:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: -2px;
}

.member-login__password-icon {
    width: 24px;
    height: 24px;
}

.member-login__password-icon--visible,
.member-login__password-toggle[aria-pressed="true"] .member-login__password-icon--hidden {
    display: none;
}

.member-login__password-toggle[aria-pressed="true"] .member-login__password-icon--visible {
    display: block;
}

/* 회원 공통: 폼 상태 메시지 */
.member-form-error,
.member-signup-account__success {
    display: flex;
    align-items: flex-start;
    gap: 4px;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
    word-break: keep-all;
}

.member-form-error {
    color: var(--color-danger);
}

.member-form-error > img,
.member-signup-account__success > img {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin-top: 2px;
}

.member-login__submit,
.member-password-reset__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 64px;
    padding: 0 24px;
    border-radius: 10px;
    background: var(--color-primary);
    color: var(--color-surface);
    font-size: 19px;
    font-weight: 600;
    line-height: 1.4;
}

.member-login__links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.member-login__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 32px;
    padding: 0 2px;
    color: var(--color-text);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.4;
    word-break: keep-all;
}

.member-login__divider {
    flex: 0 0 auto;
    width: 1px;
    height: 16px;
    background: var(--color-line-gray);
}

/* 회원 공통: 페이지 제목 */
.member-page-title {
    width: 100%;
    color: var(--color-text);
    font-size: 36px;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    word-break: keep-all;
}

.member-page-title--large {
    color: var(--color-text-strong);
    font-size: 40px;
    letter-spacing: -0.01em;
}

@media (max-width: 900px) {
    .member-page-title {
        font-size: 24px;
    }

    .member-page-title--large {
        padding: 48px 16px;
        font-size: 28px;
        letter-spacing: 0;
    }
}

/* 계정 찾기: 레이아웃 */

.member-recovery__body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    width: 800px;
    max-width: calc(100% - 32px);
}

.member-recovery__body--form {
    width: 1008px;
}

/* 계정 찾기: 탭·인증 카드 */
.member-recovery__card {
    width: 100%;
    overflow: hidden;
    border-radius: 16px;
    background: var(--color-surface);
    box-shadow: var(--shadow-login-card);
}

.member-recovery__body--form .member-recovery__card {
    overflow: visible;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    filter: drop-shadow(0 0 1px rgba(0, 0, 0, 0.05)) drop-shadow(0 4px 4px rgba(0, 0, 0, 0.08));
}

.member-recovery__tabs {
    display: flex;
    align-items: stretch;
    width: 100%;
    height: 56px;
    background: var(--color-line-light);
}

.member-recovery__body--form .member-recovery__tabs {
    width: 400px;
    overflow: hidden;
    border-radius: 16px 16px 0 0;
}

.member-recovery__tab {
    display: inline-flex;
    flex: 1 1 50%;
    align-items: center;
    justify-content: center;
    min-width: 120px;
    height: 100%;
    padding: 0 8px;
    color: var(--color-text-muted);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    white-space: nowrap;
}

.member-recovery__tab.is-active {
    background: var(--color-surface);
    color: var(--color-text);
}

.member-recovery__tab:first-child.is-active {
    border-radius: 16px 0 0;
}

.member-recovery__tab:last-child.is-active {
    border-radius: 0 16px 0 0;
}

.member-recovery__panel {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    width: 100%;
    padding: 40px;
}

.member-recovery__panel[hidden],
.member-recovery__inline-action[hidden],
.member-recovery__inline-action[data-recovery-mobile-only],
.member-recovery__verification[data-recovery-mobile-only],
.member-recovery__error[data-recovery-mobile-only] {
    display: none;
}

/* 계정 찾기: 입력 폼 */
.member-recovery__panel--form {
    align-items: stretch;
    gap: 0;
    padding: 64px 40px;
    border-radius: 0 16px 16px;
    background: var(--color-surface);
}

.member-recovery__fields {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 100%;
}

/* 회원 공통: 폼 필드 */
.member-form-field {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    gap: 8px;
    min-width: 0;
}

.member-recovery__field {
    align-items: start;
}

.member-recovery__field--id,
.member-recovery__field--name {
    width: 420px;
}

.member-recovery__field--birth {
    width: 550px;
}

.member-recovery__field--email {
    width: 100%;
}

.member-form-label {
    display: flex;
    align-items: center;
    gap: 2px;
    min-height: 40px;
    color: var(--color-text);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
    word-break: keep-all;
}

.member-recovery__birth {
    display: grid;
    grid-template-columns: minmax(0, 252px) 120px;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.member-recovery__email-state {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
}

.member-recovery__email-row {
    display: grid;
    grid-template-columns: minmax(0, 646px) 106px;
    align-items: start;
    gap: 8px;
    min-width: 0;
}

.member-recovery__email {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto repeat(2, minmax(0, 1fr));
    grid-template-areas: "id at domain preset";
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.member-recovery__email > :nth-child(1) {
    grid-area: id;
}

.member-recovery__email > span {
    grid-area: at;
    color: var(--color-text);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.4;
}

.member-recovery__email > :nth-child(3) {
    grid-area: domain;
}

.member-recovery__email-preset {
    grid-area: preset;
}

.member-recovery__panel--form .member-form-control:disabled {
    border-color: var(--color-line-input);
    background-color: var(--color-line);
    color: var(--color-text-light);
    opacity: 1;
}

.member-recovery__inline-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 106px;
    height: 40px;
    padding: 0 12px;
    border-radius: 6px;
    background: var(--color-primary);
    color: var(--color-surface);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    white-space: nowrap;
}

.member-recovery__inline-action:disabled {
    background: var(--color-line-input);
    color: var(--color-text-light);
}

.member-recovery__verification {
    display: grid;
    grid-template-columns: 320px 106px;
    gap: 8px;
    width: 434px;
}

.member-recovery__verification-control {
    position: relative;
    min-width: 0;
}

.member-recovery__verification-control .member-form-control {
    padding-right: 76px;
}

.member-recovery__verification-status {
    position: absolute;
    top: 50%;
    right: 16px;
    color: var(--color-text-muted);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    transform: translateY(-50%);
    white-space: nowrap;
}

.member-recovery__error {
    width: 352px;
}

.member-recovery__actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.member-recovery__next {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 160px;
    height: 56px;
    padding: 0 20px;
    border-radius: 8px;
    background: var(--color-primary);
    color: var(--color-surface);
    font-size: 19px;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
}

.member-recovery__primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 360px;
    max-width: 100%;
    height: 64px;
    padding: 0 24px;
    border-radius: 10px;
    background: var(--color-primary);
    color: var(--color-surface);
    font-size: 19px;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    word-break: keep-all;
}

/* 계정 찾기: 아이디 조회 결과 */
.member-recovery__panel--lookup-result {
    gap: 48px;
    padding: 64px 0 40px;
}

.member-recovery__lookup-result {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    width: 100%;
    color: var(--color-text);
    text-align: center;
}

.member-recovery__lookup-image,
.member-complete__image {
    flex: 0 0 auto;
    width: 282px;
    height: 188px;
    object-fit: cover;
}

.member-recovery__account-id {
    width: 100%;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.member-recovery__lookup-message {
    width: 100%;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4;
    word-break: keep-all;
}

.member-recovery__lookup-message span {
    display: block;
}

.member-recovery__return {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    height: 64px;
    padding: 0 24px;
    border-radius: 10px;
    color: var(--color-text-muted);
    font-size: 19px;
    font-weight: 600;
    line-height: 1.4;
    word-break: keep-all;
}

.member-recovery__return img {
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
}

/* 계정 찾기: 반응형 */
@media (max-width: 900px) {
    .member-recovery {
        align-items: stretch;
        gap: 32px;
        padding: 48px 16px 64px;
    }

    .member-recovery__body {
        gap: 16px;
        width: 100%;
        max-width: none;
    }

    .member-recovery__body--form {
        gap: 10px;
    }

    .member-recovery__body--form .member-recovery__card {
        display: flex;
        flex-direction: column;
        gap: 16px;
        filter: none;
    }

    .member-recovery__body--form .member-recovery__tabs {
        width: 100%;
        padding: 4px;
        border-radius: 12px;
    }

    .member-recovery__tab {
        min-width: 0;
        font-size: 18px;
    }

    .member-recovery__body--form .member-recovery__tab:first-child.is-active,
    .member-recovery__body--form .member-recovery__tab:last-child.is-active {
        border-radius: 12px;
    }

    .member-recovery__panel {
        gap: 24px;
        padding: 40px 24px;
    }

    .member-recovery__panel--form {
        gap: 0;
        padding: 0 0 48px;
        border-radius: 0;
        background: transparent;
    }

    .member-form-field {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
        width: 100%;
    }

    .member-form-label {
        min-height: 48px;
        padding: 12px 0;
    }

    .member-recovery__birth {
        grid-template-columns: minmax(0, 1fr) 120px;
        gap: 8px;
    }

    .member-recovery__birth .calendar-field__input {
        color: var(--color-text-disabled);
    }

    .member-recovery__birth .calendar-field__input.is-user-entered {
        color: var(--color-text);
    }

    .member-recovery__email-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
    }

    .member-recovery__email {
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        grid-template-areas:
            "id at domain"
            "preset preset preset";
        row-gap: 10px;
    }

    .member-recovery__email .member-form-control::placeholder {
        color: transparent;
    }

    [data-recovery-failed] .member-recovery__email > :first-child:disabled,
    [data-recovery-failed] .member-recovery__email-preset:disabled {
        background-color: var(--color-surface);
        color: var(--color-text);
    }

    .member-recovery__inline-action[data-recovery-desktop-only],
    .member-recovery__verification[data-recovery-desktop-only],
    .member-recovery__error[data-recovery-desktop-only] {
        display: none;
    }

    .member-recovery__inline-action[data-recovery-mobile-only] {
        display: inline-flex;
    }

    .member-recovery__verification[data-recovery-mobile-only] {
        display: grid;
    }

    .member-recovery__error[data-recovery-mobile-only] {
        display: flex;
    }

    .member-recovery__inline-action {
        width: 100%;
        height: 40px;
        border-radius: 6px;
        font-size: 15px;
    }

    .member-recovery__verification {
        grid-template-columns: minmax(0, 1fr) 78px;
        gap: 10px;
        width: 100%;
        margin-top: 40px;
    }

    .member-recovery__verification .member-recovery__inline-action {
        width: 78px;
        height: 48px;
        border-radius: 8px;
        font-size: 17px;
        font-weight: 400;
    }

    .member-recovery__error {
        width: 100%;
    }

    .member-recovery__primary {
        width: 100%;
        height: 56px;
        padding: 0 20px;
        border-radius: 8px;
        font-size: 17px;
        font-weight: 400;
    }

    .member-recovery__lookup-image {
        width: 250px;
        height: 166px;
    }

    .member-recovery__lookup-message {
        font-size: 16px;
    }

    .member-recovery__return {
        height: 56px;
        padding: 0 20px;
        border-radius: 8px;
        font-size: 17px;
        font-weight: 500;
    }

    .member-recovery__actions {
        align-items: center;
        flex-direction: column-reverse;
        gap: 16px;
        width: 100%;
    }

    .member-recovery__next {
        width: 100%;
    }
}

/* 비밀번호 재설정: 레이아웃 */
/* 비밀번호 재설정: 카드·폼 */
.member-password-reset__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 64px;
    width: 800px;
    max-width: calc(100% - 32px);
    padding: 40px 0 60px;
    border-radius: 20px;
    background: var(--color-surface);
    box-shadow: var(--shadow-login-card);
}

.member-password-reset__notice {
    width: 100%;
    color: var(--color-text);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    word-break: keep-all;
}

.member-password-reset__form {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    width: 360px;
}

.member-password-reset__form > form {
	display: inherit;
    flex-direction: inherit;
    align-items: inherit;
    gap: inherit;
    width: inherit;
}

.member-password-reset__messages {
    gap: 4px;
}

.member-password-reset__message {
    width: 100%;
}

/* 로그인·비밀번호 재설정: 반응형 */
@media (max-width: 900px) {
    .member-login,
    .member-password-reset {
        gap: 32px;
        padding: 48px 16px;
    }

    .member-login__brand,
    .member-password-reset__brand {
        width: 155px;
        height: 48px;
    }

    .member-login__card,
    .member-password-reset__card {
        gap: 40px;
        width: 100%;
        padding: 48px 20px 60px;
        border-radius: 16px;
    }

    .member-password-reset__card {
        max-width: none;
    }

    .member-login__notice,
    .member-password-reset__notice {
        font-size: 16px;
    }

    .member-password-reset__notice {
        font-weight: 400;
    }

    .member-login__body,
    .member-password-reset__form {
        width: 100%;
    }

    .member-login__group,
    .member-password-reset__group {
        gap: 24px;
    }

    .member-login__input,
    .member-password-reset__input {
        height: 48px;
    }

    .member-login__error,
    .member-password-reset__message {
        line-height: 1.4;
    }

    .member-password-reset__messages {
        gap: 10px;
    }

    .member-login__submit,
    .member-password-reset__submit {
        height: 48px;
        padding: 0 16px;
        border-radius: 8px;
        font-size: 17px;
    }

    .member-login__submit {
        font-weight: 400;
    }

    .member-password-reset__submit {
        font-weight: 500;
    }

    .member-login__link {
        height: 24px;
        font-size: 15px;
    }
}

/* 회원가입: 레이아웃 */
.member-signup,
.member-consent {
    width: min(100% - var(--layout-gutter), var(--layout-max));
    margin: 0 auto;
    padding: 100px 0 120px;
}

/* 회원가입: 안내 */
.member-signup__guide {
    display: flex;
    margin-top: 64px;
    padding: 32px;
    border-radius: 12px;
    background: var(--color-surface-soft);
    box-shadow: inset 0 0 0 1px var(--color-line);
}

.member-signup__guide-content {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}

.member-signup__guide-title {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--color-text-strong);
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;
}

.member-signup__guide-title img {
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
}

.member-signup__guide-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
    color: var(--color-text-muted);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;
}

.member-signup__guide-list li {
    position: relative;
    padding-left: 14px;
    word-break: keep-all;
}

.member-signup__guide-list li::before {
    content: "";
    position: absolute;
    top: 0.65em;
    left: 4px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: currentColor;
    transform: translateY(-50%);
}

/* 회원가입: 기본 정보 폼 */
.member-signup__form {
    margin-top: 80px;
}

.member-signup__required-note {
    margin-bottom: 24px;
    color: var(--color-text-muted);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.4;
    text-align: right;
}

.member-signup__fields-card {
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding: 40px;
    border-radius: 12px;
    background: var(--color-surface);
    box-shadow: inset 0 0 0 1px var(--color-line);
}

/* 회원 공통: 본문 섹션 제목 */
.member-section-title {
    padding-bottom: 20px;
    color: var(--color-text-strong);
    font-size: 28px;
    font-weight: 700;
    line-height: 1.5;
}

.member-signup__fields-title {
    box-shadow: inset 0 -1px 0 var(--color-text);
}

.member-signup__fields {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.member-signup__field {
    align-items: center;
    width: min(100%, 420px);
}

.member-signup__field--phone {
    width: min(100%, 480px);
}

.member-signup__field--email {
    width: min(100%, 928px);
}

.member-signup__field--birth {
    width: min(100%, 550px);
}

/* 회원 공통: 폼 컨트롤 */
.member-form-control {
    min-width: 0;
    width: 100%;
    height: 40px;
    padding: 0 16px;
    border: 1px solid var(--color-line-input);
    border-radius: 6px;
    background-color: var(--color-surface);
    color: var(--color-text);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
}

.member-form-control::placeholder,
.member-form-control[readonly] {
    color: var(--color-text-disabled);
}

select.member-form-control {
    appearance: none;
    padding-right: 40px;
    background-image: url("/common/images/icn_arrow_down.svg");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 16px;
}

.member-signup__phone,
.member-signup__email,
.member-signup__birth {
    display: grid;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.member-signup__phone {
    grid-template-columns: 90px auto minmax(0, 1fr) auto minmax(0, 1fr);
}

.member-signup__email {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) minmax(0, 1fr);
}

.member-signup__birth {
    grid-template-columns: minmax(0, 1fr) 120px;
    gap: 10px;
}

.member-signup__phone > span,
.member-signup__email > span {
    color: var(--color-text);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
}

/* 회원가입: 본인 확인 및 로그인 계정 */
.member-signup__verification-action {
    display: flex;
    justify-content: center;
    padding-top: 48px;
}

.member-signup__verification-complete:disabled {
    border: 0;
    background: var(--color-line);
    color: var(--color-text-disabled);
    cursor: default;
}

.member-signup__registration {
    display: flex;
    flex-direction: column;
    gap: 48px;
    width: 100%;
    margin-top: 80px;
}

.member-signup__registration-content {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.member-signup-account .member-signup__field {
    align-items: start;
    width: min(100%, 928px);
}

.member-signup-account__fields {
    gap: 40px;
}

.member-signup-account__field--hinted > .member-form-label {
    align-items: flex-start;
    min-height: 68px;
    padding-top: 28px;
}

.member-signup-account__body {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
    width: min(100%, 760px);
}

.member-signup-account__hint {
    color: var(--color-text-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
}

.member-signup-account__input-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.member-signup-account__input,
.member-signup-account__message {
    width: 252px;
}

.member-signup-account__input-row .member-signup-account__input {
    flex: 0 1 252px;
}

.member-signup-account__input-row .action-button {
    align-self: stretch;
    flex: 0 0 auto;
    height: auto;
}

.member-signup-account__success {
    color: var(--color-success);
}

.member-signup-account__success[aria-hidden="true"] {
    visibility: hidden;
}

/* 회원가입: 개인정보 동의 */
.member-agreement {
    margin-top: 24px;
    padding: 40px;
    border: 1px solid var(--color-line);
    border-radius: 12px;
    background: var(--color-surface);
}

.member-agreement__title {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
    color: var(--color-text-strong);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    word-break: keep-all;
}

.member-agreement__content {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 32px;
    color: var(--color-text-muted);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;
}

.member-agreement__group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.member-agreement__group h3 {
    font-weight: 600;
}

.member-agreement__group ul {
    padding-left: 24px;
    list-style: disc;
}

.member-agreement__options,
.member-agreement__choices {
    display: flex;
    align-items: center;
    gap: 40px;
}

.member-agreement__options {
    justify-content: flex-end;
    margin-top: 32px;
    padding: 16px 24px;
    border-radius: 12px;
    background: var(--color-surface-soft);
}

.member-agreement__option {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    color: var(--color-text);
    font-size: 19px;
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;
}

.member-agreement__option input {
    appearance: none;
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    border: 1px solid var(--color-line-input);
    border-radius: 6px;
    background: var(--color-surface);
}

.member-agreement__option input:checked {
    border-color: var(--color-primary);
    background-color: var(--color-primary);
    box-shadow: inset 0 0 0 5px var(--color-surface);
}

.member-signup__registration .member-agreement {
    margin-top: 0;
}

.member-alumni-info {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 48px;
    padding: 32px;
    border-radius: 12px;
    background: var(--color-bg-soft);
    color: var(--color-text);
}

.member-alumni-info h2 {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
}

.member-alumni-info p {
    color: var(--color-text-muted);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
    word-break: keep-all;
}

.member-form-actions {
    display: flex;
    justify-content: center;
    padding-top: 40px;
}

.member-form-actions--split {
    gap: 10px;
}

.member-primary-action,
.member-form-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 160px;
    height: 56px;
    padding: 0 20px;
    border-radius: 8px;
    font-size: 19px;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
}

.member-primary-action,
.member-form-action--primary {
    background: var(--color-primary);
    color: var(--color-surface);
}

.member-form-action--secondary {
    border: 1px solid var(--color-text-disabled);
    background: transparent;
    color: var(--color-text-muted);
}

@media (min-width: 901px) {
    .member-signup__registration .member-agreement__content {
        gap: 32px;
    }

    .member-signup__registration .member-agreement__option {
        font-size: 18px;
        font-weight: 700;
    }

    .member-agreement__policy-link {
        margin-right: auto;
    }

    .member-signup .member-form-actions {
        padding-top: 48px;
    }
}

/* 회원가입: 반응형 */
@media (max-width: 900px) {
    .member-signup,
    .member-consent {
        width: 100%;
        padding: 0;
    }

    .member-signup__guide {
        align-items: flex-start;
        flex-direction: column;
        gap: 40px;
        margin: 0 16px;
        padding: 16px;
    }

    .member-signup__guide-title {
        font-size: 16px;
    }

    .member-signup__guide-title img {
        width: 20px;
        height: 20px;
    }

    .member-signup__guide-list {
        font-size: 14px;
    }

    .member-signup__form {
        margin-top: 0;
    }

    .member-signup__fields-wrap {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        padding: 48px 16px;
    }

    .member-signup__required-note {
        grid-row: 2;
        margin: 12px 0 0;
        padding-bottom: 20px;
        box-shadow: inset 0 -1px 0 var(--color-text);
        font-size: 15px;
        font-weight: 500;
        text-align: left;
    }

    .member-signup__fields-card {
        display: contents;
    }

    .member-signup__fields-title {
        grid-row: 1;
        padding-bottom: 0;
        box-shadow: none;
        font-size: 24px;
        line-height: 1.4;
    }

    .member-signup__fields {
        grid-row: 3;
        margin-top: 24px;
    }

    .member-signup__field {
        width: 100%;
    }

    .member-form-control {
        height: 48px;
        border-radius: 8px;
        font-size: 17px;
        font-weight: 400;
    }

    select.member-form-control {
        background-size: 20px;
    }

    .member-signup__email {
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        row-gap: 10px;
    }

    .member-signup__phone {
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
    }

    .member-signup__birth {
        gap: 8px;
    }

    .member-signup__email-preset {
        grid-column: 1 / -1;
    }

    .member-signup__email .member-form-control::placeholder {
        color: transparent;
    }

    .member-signup__verification-action {
        padding: 40px 16px;
    }

    .member-signup__registration {
        gap: 0;
        margin-top: 48px;
    }

    .member-signup-account__fields {
        gap: 24px;
    }

    .member-signup-account__field--hinted > .member-form-label {
        align-items: center;
        min-height: 48px;
        padding: 12px 0;
    }

    .member-signup-account__body,
    .member-signup-account__input,
    .member-signup-account__message {
        width: 100%;
    }

    .member-signup-account__input-row {
        flex-wrap: nowrap;
        width: 100%;
    }

    .member-signup-account__input-row .member-signup-account__input {
        flex: 1 1 0;
    }

    .member-agreement {
        margin-top: 0;
        padding: 48px 24px;
        border: 0;
        border-radius: 0;
        background: var(--color-surface-soft);
    }

    .member-agreement__content {
        gap: 24px;
        font-size: 14px;
    }

    .member-agreement__options {
        justify-content: center;
        gap: 20px;
        padding: 16px 0 0;
        background: transparent;
    }

    .member-agreement__option {
        font-size: 17px;
        font-weight: 500;
    }

    .member-signup__registration .member-agreement__option {
        font-weight: 700;
    }

    .member-agreement--policy .member-agreement__options {
        align-items: flex-start;
        flex-direction: column;
        gap: 16px;
        margin-top: 24px;
        padding-top: 0;
    }

    .member-agreement--policy .member-agreement__choices {
        justify-content: flex-start;
        gap: 20px;
        width: 100%;
    }

    .member-alumni-info {
        margin-top: 0;
        padding: 24px;
    }

    .member-alumni-info h2 {
        font-size: 16px;
    }

    .member-alumni-info p {
        font-size: 14px;
        font-weight: 400;
    }

    .member-alumni-info p br {
        display: none;
    }

    .member-form-actions {
        padding: 40px 16px;
    }

    .member-primary-action,
    .member-form-action {
        width: 100%;
        height: 48px;
        padding: 0 16px;
        font-size: 17px;
        font-weight: 700;
    }

    .member-signup .member-form-action--secondary {
        font-weight: 400;
    }
}

/* 회원가입 완료: 레이아웃 */
.member-complete {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 48px;
    width: 792px;
    max-width: calc(100% - 32px);
    margin: 0 auto;
    padding: 140px 0 120px;
}

.member-complete__heading {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    width: 100%;
}

/* 회원가입 완료: 승인 안내 */
.member-complete__notice {
    width: 100%;
    padding: 40px;
    border-radius: 12px;
    background: var(--color-bg-soft);
    color: var(--color-text);
    font-size: 20px;
    font-weight: 400;
    line-height: 1.4;
    text-align: center;
    word-break: keep-all;
}

.member-complete__notice p + p {
    margin-top: 1.4em;
}

.member-complete__main-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 98px;
    height: 64px;
    padding: 0 24px;
    border-radius: 10px;
    background: var(--color-primary);
    color: var(--color-surface);
    font-size: 19px;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    word-break: keep-all;
}

/* 회원가입 완료: 반응형 */
@media (max-width: 900px) {
    .member-complete {
        gap: 32px;
        width: 100%;
        max-width: none;
        padding: 80px 16px 40px;
    }

    .member-complete__image {
        width: 232px;
        height: 154px;
    }

    .member-complete__notice {
        padding: 40px 16px;
        font-size: 18px;
    }

    .member-complete__main-link {
        min-width: 78px;
        height: 48px;
        padding: 0 16px;
        border-radius: 8px;
        font-size: 17px;
        font-weight: 700;
    }
}

/* 동문찾기 개인정보 동의: 레이아웃 */
.member-consent__form {
    display: flex;
    flex-direction: column;
    gap: 48px;
    margin-top: 80px;
}

/* 동문찾기 개인정보 동의: 동의·안내 */
.member-agreement--standalone,
.member-alumni-info--standalone {
    margin-top: 0;
}

.member-agreement--standalone .member-agreement__content {
    gap: 32px;
}

.member-consent__required {
    display: none;
}

.member-alumni-info--standalone p {
    font-weight: 600;
}

/* 동문찾기 개인정보 동의: 반응형 */
@media (max-width: 900px) {
    .member-consent__form {
        gap: 0;
        margin-top: 0;
    }

    .member-agreement--standalone .member-agreement__content {
        gap: 24px;
    }

    .member-agreement--standalone .member-agreement__options {
        justify-content: flex-start;
    }

    .member-consent__required {
        display: inline;
    }

    .member-alumni-info--standalone p {
        font-weight: 400;
    }
}

/* 개인정보관리: 탭·본문 레이아웃 */
.member-privacy-tabs {
    height: 66px;
    background: var(--color-surface-soft);
    box-shadow: inset 0 -1px 0 var(--color-line);
}

.member-privacy-tabs__inner {
    display: flex;
    align-items: flex-end;
    height: 100%;
    padding-top: 16px;
    overflow-x: auto;
}

.member-privacy-tabs__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 120px;
    height: 50px;
    padding: 0 32px;
    color: var(--color-text-disabled);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
    white-space: nowrap;
}

.member-privacy-tabs__item:disabled {
    cursor: default;
    opacity: 1;
}

.member-privacy-tabs__item.is-active {
    position: relative;
    z-index: 1;
    border: 1px solid var(--color-line);
    border-bottom: 0;
    background: var(--color-surface);
    color: var(--color-text);
}

.member-privacy__inner {
    padding: 64px 0 120px;
}

.member-privacy__share {
    display: none;
}

.member-privacy-profile + .member-privacy-section,
.member-privacy-section + .member-privacy-section {
    margin-top: 80px;
}

.member-privacy-section__title {
    box-shadow: inset 0 -1px 0 var(--color-text-strong);
}

.member-privacy-section__notice {
    margin-top: 16px;
    color: var(--color-text-light);
    font-size: 18px;
    line-height: 1.4;
    word-break: keep-all;
}

/* 개인정보관리: 회원 프로필 */
.member-privacy-profile {
    display: grid;
    grid-template-columns: 360px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    height: 269px;
    padding: 32px 24px;
    border: 1px solid var(--color-line);
    border-radius: 16px;
    background: var(--color-surface-soft);
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05), 0 0 1px rgba(0, 0, 0, 0.05);
}

.member-privacy-profile__identity {
    display: flex;
    align-items: center;
    gap: 32px;
    height: 205px;
    padding: 0 16px;
}

.member-privacy-profile__photo {
    position: relative;
    flex-shrink: 0;
    width: 160px;
    height: 205px;
    overflow: hidden;
    border: 1px solid var(--color-line);
    border-radius: 10px;
    background: var(--color-line-light);
}

.member-privacy-profile__photo img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 270px;
    max-width: none;
    height: 213px;
    object-fit: cover;
    transform: translate(-50%, calc(-50% + 1px));
}

.member-privacy-profile__summary {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-self: stretch;
    gap: 8px;
    min-width: 0;
    padding: 20px 0;
}

.member-privacy-profile__name {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.member-privacy-profile__generation {
    display: inline-flex;
    padding: 1px 8px;
    border-radius: 20px;
    background: var(--color-primary);
    color: var(--color-surface);
    font-size: 16px;
    font-weight: 600;
}

.member-privacy-profile__name p {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 24px;
    line-height: 1.4;
}

.member-privacy-profile__name strong {
    font-weight: 700;
}

.member-privacy-profile__name p span,
.member-privacy-profile__id {
    color: var(--color-text-disabled);
    font-weight: 500;
}

.member-privacy-profile__id {
    min-width: 0;
    max-width: 100%;
    padding: 4px 0;
    font-size: 16px;
    line-height: 1.4;
    overflow-wrap: anywhere;
    white-space: normal;
}

.member-privacy-profile__account {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 4px 0;
}

.member-privacy-profile__details {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: 54px 92px;
    gap: 32px 12px;
    min-width: 0;
    height: 178px;
    padding-left: 32px;
    box-shadow: inset 1px 0 0 var(--color-line);
}

.member-privacy-profile__detail {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 2px;
    min-width: 0;
    padding: 4px 0;
    font-size: 16px;
    line-height: 1.4;
}

.member-privacy-profile__detail dt {
    width: 80px;
    color: var(--color-text-disabled);
    font-weight: 600;
}

.member-privacy-profile__detail dd {
    min-width: 0;
    max-width: 100%;
    color: var(--color-text);
    overflow-wrap: anywhere;
    white-space: normal;
}

.member-privacy-profile__detail--consent {
    grid-column: 1 / span 2;
}

.member-privacy-profile__detail--consent dt {
    width: 100%;
}

.member-privacy-profile__detail--address {
    grid-column: 3 / -1;
}

.member-privacy-profile__notice {
    width: 100%;
    color: var(--color-text-muted);
    font-size: 13px;
    line-height: 1.4;
}

.member-privacy-profile__password {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 102px;
    height: 32px;
    padding: 0 10px;
    border: 1px solid var(--color-text-disabled);
    border-radius: 4px;
    color: var(--color-text-muted);
    font-size: 15px;
    font-weight: 600;
    transition: border-color 0.16s ease, color 0.16s ease;
    white-space: nowrap;
}

.member-privacy-profile__password:hover,
.member-privacy-profile__password:focus-visible {
    border-color: var(--color-primary);
    color: var(--color-primary-dark);
}

/* 개인정보관리: 공통·조회 표 */
.member-privacy__inner .form-table thead th {
    color: #000;
    text-align: left;
}

.member-privacy__inner--view .form-table tbody td {
    background: var(--color-surface);
    color: var(--color-text-muted);
}

@media (min-width: 901px) {
    .member-privacy__inner--view .member-privacy-table--education tbody td {
        height: 56px;
    }

    .member-privacy__inner--view .member-privacy-table--family tbody td {
        height: 48px;
    }

    .member-privacy-table--stacked-list tbody td {
        height: 56px;
    }

    .member-privacy-contact ~ .member-privacy-table-wrap {
        border-top: 1px solid var(--color-text-strong);
    }

    .member-privacy-table--stacked-list.member-privacy-table--compact tbody td {
        height: 48px;
    }

    .member-privacy-table--detail th,
    .member-privacy-table--detail td {
        height: 64px;
    }

    .member-privacy__inner--view .member-privacy-table--detail .member-privacy-table__compact-row th,
    .member-privacy__inner--view .member-privacy-table--detail .member-privacy-table__compact-row td {
        height: 56px;
    }

    .member-privacy-table--edit tbody td {
        height: 64px;
    }

    .member-privacy-table--compact-edit tbody td {
        height: 56px;
        padding: 8px 12px;
    }

    .member-privacy-table--edit .member-privacy-table__control-row > th,
    .member-privacy-table--edit .member-privacy-table__control-row > td {
        height: 116px;
    }
}

.member-privacy-table--detail th {
    padding-inline: 16px;
    color: #000;
    font-weight: 400;
    text-align: left;
}

.member-privacy-table__term-col {
    width: 20.625%;
}

.member-privacy-table__date-col {
    width: 27.5%;
}

.member-privacy-table__action-col {
    width: 124px;
}

.member-privacy-contact {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
    padding-bottom: 16px;
}

.member-privacy-contact__item {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.member-privacy-contact__item dt {
    color: var(--color-text-disabled);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
}

.member-privacy-contact__item dd {
    color: var(--color-text);
    font-size: 18px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.member-privacy-section:has(> .member-privacy-contact) .member-privacy-section__title {
    box-shadow: none;
}

.member-privacy-table__education-school,
.member-privacy-table__education-major,
.member-privacy-table__education-location {
    width: 20.9375%;
}

.member-privacy-table__education-period {
    width: 27.5%;
}

.member-privacy-table__education-status {
    width: 9.6875%;
}

.member-privacy-table__family-relation,
.member-privacy-table__family-name,
.member-privacy-table__family-job {
    width: 9.375%;
}

.member-privacy-table__family-birth,
.member-privacy-table__family-disease,
.member-privacy-table__family-disability {
    width: 11.4583333333%;
}

.member-privacy-table__family-workplace {
    width: 15.625%;
}

.member-privacy-table__family-phone {
    width: 21.875%;
}

/* 개인정보관리 수정: 입력 표 */
.member-privacy-edit,
.member-privacy__inner--edit {
    min-width: 0;
}

.member-privacy-section__actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 16px;
}

.member-privacy-row-action,
.member-privacy-add {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
}

.member-privacy-row-action {
    height: 40px;
    padding: 0 12px;
    border: 1px solid var(--color-text-disabled);
    border-radius: 6px;
    background: transparent;
    color: var(--color-text-muted);
}

.member-privacy-add {
    gap: 4px;
    height: 48px;
    padding: 0 16px;
    border: 1px solid var(--color-primary-border);
    border-radius: 8px;
    background: var(--color-bg-soft);
    color: var(--color-primary-dark);
}

.member-privacy-add img {
    width: 20px;
    height: 20px;
}

.member-privacy-table--edit tbody td {
    background: var(--color-surface);
    color: var(--color-text);
}

.member-privacy-table--edit .member-form-control {
    font-weight: 400;
}

.member-privacy-table--edit select.member-form-control {
    background-position: right 16px center;
}

.member-privacy-table--edit .calendar-field__button {
    right: 16px;
}

.member-privacy-edit__multiline {
    padding-block: 8px;
    resize: none;
}

.member-privacy-edit__control-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    min-width: 0;
    width: 100%;
}

.member-privacy-edit__score {
    display: grid;
    grid-template-columns: minmax(0, 100px) auto minmax(0, 100px);
    align-items: center;
    gap: 8px;
    width: min(100%, 223px);
}

.member-privacy-edit__score-input,
.member-privacy-edit__score-scale {
    width: 100%;
}

.member-privacy-edit__date-controls {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 160px));
    gap: 8px;
    min-width: 0;
    width: 100%;
}

.member-privacy-edit__school {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 64px;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.member-privacy-edit__score > span,
.member-privacy-edit__school span,
.member-privacy-edit__period > span {
    color: var(--color-text-muted);
    font-size: 18px;
    line-height: 1.4;
}

.member-privacy-edit__school span {
    word-break: keep-all;
}

.member-privacy-edit__period {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 12px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.member-privacy-edit__period .calendar-field {
    min-width: 0;
}

.member-privacy-edit__period > span {
    text-align: center;
}

.member-privacy-edit__phone {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 7px minmax(0, 1fr) 7px minmax(0, 1fr);
    align-items: center;
    gap: 4px;
    min-width: 0;
}

.member-privacy-edit__phone select.member-form-control {
    padding-right: 30px;
}

.member-privacy-edit__phone > span {
    color: var(--color-text);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
}

.member-privacy-edit__control {
    width: min(100%, 240px);
}

@media (min-width: 901px) {
    .member-privacy-section__footer {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 16px;
        margin-top: 16px;
    }

    .member-privacy-section__footer > .member-privacy-section__notice,
    .member-privacy-section__footer > .member-privacy-section__actions {
        margin-top: 0;
    }

    .member-privacy-section + .member-form-actions {
        margin-top: 80px;
    }
}

/* 개인정보관리: 반응형 */
@media (max-width: 1223px) {
    .member-privacy-profile {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
        height: auto;
    }

    .member-privacy-profile__details {
        height: auto;
        padding-top: 24px;
        padding-left: 0;
        box-shadow: inset 0 1px 0 var(--color-line);
    }
}

@media (max-width: 900px) {
    .member-privacy-tabs {
        height: 48px;
    }

    .member-privacy-tabs__inner {
        padding-top: 8px;
    }

    .member-privacy-tabs__item {
        min-width: 80px;
        height: 40px;
        padding: 0 16px;
        font-size: 14px;
        font-weight: 600;
    }

    .member-privacy__share {
        display: inline-flex;
        width: 48px;
        height: 48px;
    }

    .member-privacy__inner {
        padding: 40px 0 80px;
    }

    .member-privacy-section__title {
        padding-bottom: 16px;
        font-size: 24px;
        line-height: 1.4;
    }

    .member-privacy-section__notice {
        font-size: 16px;
    }

    .member-privacy-edit .member-privacy-section__notice {
        display: none;
    }

    .member-privacy__inner > .member-form-actions {
        padding-inline: 0;
    }

    .member-privacy-table-wrap .form-table {
        display: block;
    }

    .member-privacy-table-wrap .form-table colgroup {
        display: none;
    }

    .member-privacy-table-wrap .form-table thead,
    .member-submitted-documents__table thead {
        overflow: hidden;
        position: absolute;
        width: 1px;
        height: 1px;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .member-privacy-table-wrap .form-table tbody td {
        border-right: 0;
    }

    .member-privacy-table-wrap .form-table tbody,
    :is(.member-privacy-table--education, .member-privacy-table--family, .member-privacy-table--stacked-list) tr {
        display: block;
        width: 100%;
    }

    :is(.member-privacy-table--education, .member-privacy-table--family, .member-privacy-table--stacked-list) tbody tr + tr {
        margin-top: 16px;
    }

    :is(.member-privacy-table--education, .member-privacy-table--family, .member-privacy-table--stacked-list) tbody td,
    .member-privacy-table--detail th,
    .member-privacy-table--detail td {
        display: flex;
        align-items: center;
        min-height: 64px;
    }

    :is(.member-privacy-table--education, .member-privacy-table--family, .member-privacy-table--stacked-list) tbody td {
        column-gap: 12px;
        width: 100%;
        padding: 0 12px 0 0;
    }

    :is(.member-privacy-table--education, .member-privacy-table--family, .member-privacy-table--stacked-list) tbody td[data-label]::before {
        content: attr(data-label);
        display: flex;
        flex: 0 0 var(--form-table-mobile-label-width);
        align-self: stretch;
        align-items: center;
        padding: 12px;
        border-right: 1px solid var(--color-line-light);
        background: var(--color-surface-soft);
        color: #000;
        font-weight: 400;
        overflow-wrap: normal;
    }

    :is(.member-privacy-table--education, .member-privacy-table--family, .member-privacy-table--stacked-list) tbody tr:last-child td {
        border-bottom: 0;
    }

    :is(.member-privacy-table--education, .member-privacy-table--family, .member-privacy-table--stacked-list) tbody tr td:last-child {
        border-bottom: 1px solid var(--color-line-light);
    }

    .member-privacy-table--detail tr {
        display: grid;
        grid-template-columns: var(--form-table-mobile-label-width) minmax(0, 1fr);
        width: 100%;
    }

    .member-privacy-table--detail th {
        grid-column: 1;
        padding: 12px;
        overflow-wrap: normal;
    }

    .member-privacy-table--detail td {
        grid-column: 2;
    }

    .member-privacy-table--edit td > :is(
        .member-form-control,
        .calendar-field,
        .member-privacy-edit__school,
        .member-privacy-edit__period,
        .member-privacy-edit__phone
    ) {
        flex: 1 1 auto;
        min-width: 0;
    }

    .member-privacy-edit__control {
        width: 100%;
    }

    .member-privacy-edit__score {
        grid-template-columns: minmax(0, 88px) auto minmax(0, 88px);
        width: min(100%, 199px);
    }

    .member-privacy-edit__date-controls {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .member-privacy-table--stacked-list tbody tr td:has(+ .form-table__actions) {
        border-bottom: 1px solid var(--color-line-light);
    }

    .member-privacy-table--stacked-list tbody td.form-table__actions {
        min-height: 48px;
        margin-top: 16px;
        padding: 0;
        border: 0;
        background: transparent;
    }

    .member-privacy-table--stacked-list .form-table__actions .member-privacy-row-action {
        width: 100%;
        height: 48px;
    }

    .member-privacy-table--compact-edit {
        --form-table-mobile-label-width: 140px;
    }

    .member-privacy-table--compact-edit tbody td.member-privacy-table__multiline-cell {
        min-height: 144px;
    }

    .member-privacy-table--compact-edit tbody td.member-privacy-table__large-control-cell {
        min-height: 72px;
    }

    .member-privacy-table--compact-edit .member-privacy-table__multiline-cell .member-form-control {
        height: 120px;
        padding-block: 16px;
        border-radius: 8px;
    }

    .member-privacy-table--compact-edit .member-privacy-table__large-control-cell .member-form-control {
        height: 48px;
        border-radius: 8px;
    }

    .member-privacy-table--compact-edit tbody td.form-table__actions {
        display: flex;
        min-height: 40px;
        margin-top: 10px;
        border: 0;
    }

    .member-privacy-section__actions--full-mobile {
        margin-top: 24px;
    }

    .member-privacy-section__actions--full-mobile .member-privacy-add {
        width: 100%;
        font-size: 17px;
        font-weight: 500;
    }

    .member-form-actions--split .member-form-action {
        flex: 1 1 0;
        width: auto;
        max-width: 160px;
    }

    .member-privacy-table--family tbody td:has(> .member-privacy-edit__phone)::before {
        flex-basis: clamp(88px, calc(100vw - 232px), var(--form-table-mobile-label-width));
    }

    .member-privacy-edit__phone .member-form-control {
        padding-inline: 2px;
        font-size: 15px;
        text-align: center;
    }

    .member-privacy-edit__phone select.member-form-control {
        padding-right: 22px;
    }

    .member-privacy-profile {
        padding: 24px;
    }

    .member-privacy-profile__details {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: none;
        gap: 12px;
    }

    .member-privacy-profile__detail--consent,
    .member-privacy-profile__detail--address {
        grid-column: auto;
    }

    .member-privacy-contact {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    .member-privacy-profile + .member-privacy-section,
    .member-privacy-section + .member-privacy-section {
        margin-top: 56px;
    }
}

@media (max-width: 640px) {
    .member-privacy-profile {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 24px;
        padding: 32px 24px;
        box-shadow: 0 0 1px rgba(0, 0, 0, 0.05), 0 4px 4px rgba(0, 0, 0, 0.08);
    }

    .member-privacy-profile__identity {
        flex-direction: column;
        align-items: center;
        gap: 24px;
        height: auto;
        padding: 0;
    }

    .member-privacy-profile__photo {
        width: 180px;
        height: 230px;
    }

    .member-privacy-profile__photo img {
        width: 292px;
        height: 231px;
        transform: translate(-50%, calc(-50% + 0.5px));
    }

    .member-privacy-profile__summary {
        align-self: center;
        gap: 40px;
        width: 102px;
        padding: 0;
    }

    .member-privacy-profile__summary,
    .member-privacy-profile__name,
    .member-privacy-profile__account {
        align-items: center;
    }

    .member-privacy-profile__details {
        gap: 12px;
        width: 100%;
        padding-top: 0;
        box-shadow: none;
    }

    .member-privacy-profile__detail {
        width: 100%;
        font-size: 14px;
    }

    .member-privacy-profile__detail--consent {
        margin-top: 20px;
    }

    .member-privacy-profile__detail--address dd {
        min-height: 22px;
    }

    .member-privacy-profile__notice {
        font-size: 13px;
    }

}

/* 제출완료 서류확인: 목록 */
.member-submitted-documents {
    padding: 80px 0 120px;
    background: var(--color-surface);
}

.member-submitted-documents__table {
    width: 100%;
    border-top: 1px solid var(--color-line-strong);
    table-layout: fixed;
}

.member-submitted-documents__col--status {
    width: 80px;
}

.member-submitted-documents__col--title {
    width: 36.71875%;
}

.member-submitted-documents__col--file {
    width: auto;
}

.member-submitted-documents__col--date {
    width: clamp(140px, 15.625%, 200px);
}

.member-submitted-documents__col--action {
    width: clamp(120px, 10.9375%, 140px);
}

.member-submitted-documents__table th,
.member-submitted-documents__table td {
    height: 72px;
    padding: 8px 16px;
    border-bottom: 1px solid var(--color-line-light);
    font-size: 18px;
    line-height: 1.4;
    vertical-align: middle;
}

.member-submitted-documents__table th {
    height: 64px;
    border-bottom-color: var(--color-line);
    color: var(--color-text);
    font-weight: 700;
}

.member-submitted-documents__status-cell,
.member-submitted-documents__date-cell,
.member-submitted-documents__action-cell {
    text-align: center;
}

.member-submitted-documents__title-cell,
.member-submitted-documents__file-cell {
    text-align: left;
}

.member-submitted-documents__title-cell,
.member-submitted-documents__file-cell,
.member-submitted-documents__date-cell {
    overflow: hidden;
    min-width: 0;
    max-width: 100%;
}

.member-submitted-documents__file-cell,
.member-submitted-documents__date-cell {
    color: var(--color-text-muted);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.member-submitted-documents__status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 12px;
    border: 1px solid;
    border-radius: 20px;
    white-space: nowrap;
}

.member-submitted-documents__status--required {
    border-color: var(--color-primary-pressed);
    background: var(--color-bg-soft);
    color: var(--color-primary-dark);
}

.member-submitted-documents__status--optional {
    border-color: var(--color-line);
    background: var(--color-line-light);
    color: var(--color-text-light);
}

.member-submitted-documents__title {
    display: -webkit-box;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    color: var(--color-text);
    text-overflow: ellipsis;
    overflow-wrap: anywhere;
    word-break: keep-all;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.member-submitted-documents__note {
    color: var(--color-text-light);
    font-size: 16px;
}

.member-submitted-documents__view {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 6px;
}

.member-submitted-documents__view:hover,
.member-submitted-documents__view:focus-visible {
    background: var(--color-surface-soft);
}

.member-submitted-documents__view img {
    width: 24px;
    height: 24px;
}

/* 제출완료 서류확인: 반응형 */
@media (max-width: 900px) {
    .member-submitted-documents {
        padding: 80px 0;
    }

    .member-submitted-documents__table-wrap {
        overflow-x: visible;
    }

    .member-submitted-documents__table {
        display: block;
        min-width: 0;
        border-top: 1px solid var(--color-line-strong);
        table-layout: auto;
    }

    .member-submitted-documents__table colgroup {
        display: none;
    }

    .member-submitted-documents__table tbody {
        display: block;
    }

    .member-submitted-documents__table tr {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        align-content: flex-start;
        column-gap: 8px;
        row-gap: 10px;
        min-height: 130px;
        padding: 12px;
        border-bottom: 1px solid var(--color-line-light);
    }

    .member-submitted-documents__table td {
        display: flex;
        align-items: center;
        height: auto;
        padding: 0;
        border: 0;
        font-size: 14px;
        text-align: left;
    }

    .member-submitted-documents__table td:empty {
        display: none;
    }

    .member-submitted-documents__status-cell {
        order: 1;
    }

    .member-submitted-documents__action-cell {
        order: 2;
    }

    .member-submitted-documents__title-cell {
        order: 3;
        flex: 0 1 100%;
        width: 100%;
    }

    .member-submitted-documents__file-cell {
        display: -webkit-box;
        order: 4;
        flex: 1 1 0;
        align-self: flex-start;
        color: var(--color-text-disabled);
        overflow-wrap: anywhere;
        white-space: normal;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        line-clamp: 2;
    }

    .member-submitted-documents__date-cell {
        order: 5;
        flex: 0 1 auto;
        align-self: flex-start;
        max-width: 50%;
        color: var(--color-text-disabled);
    }

    .member-submitted-documents__status {
        padding: 1px 8px;
        font-size: 14px;
    }

    .member-submitted-documents__title {
        font-size: 16px;
        font-weight: 700;
    }

    .member-submitted-documents__note {
        font-size: 14px;
        font-weight: 400;
    }

    .member-submitted-documents__view,
    .member-submitted-documents__view img {
        width: 20px;
        height: 20px;
    }
}

/* 장학생 확인서: 안내 히어로 */
.member-certificate {
    position: relative;
    min-height: 36.73vw;
    overflow: hidden;
    background: var(--color-bg-soft);
}

.member-certificate__visual {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.member-certificate__visual picture {
    display: block;
    width: 100%;
    height: 100%;
}

.member-certificate__visual img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.member-certificate > .layout {
    position: relative;
    z-index: 1;
    min-height: inherit;
    padding: clamp(40px, 5.21vw, 100px) 0;
}

.member-certificate__card {
    display: flex;
    flex-direction: column;
    gap: clamp(48px, 4.17vw, 80px);
    width: min(100%, clamp(780px, 46vw, 834px));
    padding: clamp(40px, 3.39vw, 65px);
    border: 1px solid var(--color-surface);
    border-radius: 16px;
    background: linear-gradient(127.75deg, rgba(255, 255, 255, 0.4) 1.87%, rgba(255, 255, 255, 0.16) 64.12%);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.member-certificate__content,
.member-certificate__text {
    display: flex;
    flex-direction: column;
}

.member-certificate__content {
    gap: 32px;
}

.member-certificate__text {
    gap: 16px;
}

.member-certificate__text h2 {
    color: #000;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.4;
    word-break: keep-all;
}

.member-certificate__text p {
    width: min(100%, 504px);
    color: var(--color-text);
    font-size: 20px;
    line-height: 1.4;
    word-break: keep-all;
}

.member-certificate__mo-break {
    display: none;
}

.member-certificate__button {
    width: 140px;
    background: linear-gradient(144.98deg, var(--color-primary-gradient-end) 1.62%, var(--color-primary-gradient-start) 66.43%);
    box-shadow: 0 10px 10px rgba(255, 132, 0, 0.4);
    color: var(--color-surface);
    font-size: 18px;
    font-weight: 700;
}

/* 장학생 확인서: 반응형 */
@media (max-width: 1200px) {
    .member-certificate {
        min-height: clamp(559px, calc(234px + 44.1vw), 638px);
        background: var(--color-surface);
    }

    .member-certificate__visual {
        overflow: hidden;
    }

    .member-certificate__visual img {
        object-position: 62% top;
    }

    .member-certificate > .layout {
        display: flex;
        align-items: center;
    }

    .member-certificate__card {
        width: min(72%, 700px);
        padding: clamp(32px, 4vw, 48px);
    }

    .member-certificate__text h2 {
        font-size: clamp(28px, 3vw, 36px);
    }
}

@media (max-width: 640px) {
    .member-certificate {
        min-height: auto;
        aspect-ratio: 360 / 552;
    }

    .member-certificate__visual img {
        object-fit: cover;
        object-position: center center;
    }

    .member-certificate > .layout {
        display: block;
        padding: 0;
    }

    .member-certificate__card {
        justify-content: space-between;
        gap: 40px;
        width: 100%;
        min-height: inherit;
        padding: 40px 0;
        border: 0;
        border-radius: 0;
        background: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .member-certificate__content {
        align-items: center;
        gap: 24px;
    }

    .member-certificate__text {
        align-items: center;
        gap: 24px;
        width: 100%;
    }

    .member-certificate__text h2 {
        width: 100%;
        font-size: 24px;
        text-align: center;
    }

    .member-certificate__text p {
        width: 100%;
        text-align: center;
    }

    .member-certificate__button {
        width: 100%;
        height: 40px;
        padding: 0 12px;
        border-radius: 6px;
        background: linear-gradient(166deg, var(--color-primary-gradient-end) 1.62%, var(--color-primary-gradient-start) 66.43%);
        font-size: 15px;
        font-weight: 600;
    }

    .member-certificate__mo-break {
        display: inline;
    }
}

/* 장학생 확인서: DOM 뷰어 */
.member-certificate-viewer {
    width: min(calc(100% - 40px), 1180px);
    height: min(calc(100dvh - 40px), 900px);
    max-height: calc(100dvh - 40px);
    padding: 0;
    overflow: hidden;
}

.member-certificate-viewer[open] {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
}

.member-certificate-viewer__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: 72px;
    padding: 16px 24px;
    border-bottom: 1px solid var(--color-line);
}

.member-certificate-viewer__title {
    color: var(--color-text-bolder);
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;
}

.member-certificate-viewer__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 64px;
    height: 40px;
    padding: 0 14px;
    border: 1px solid var(--color-line-gray);
    border-radius: 8px;
    background: var(--color-surface);
    color: var(--color-text-bolder);
    font-size: 15px;
    font-weight: 600;
}

.member-certificate-viewer__body {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    min-height: 0;
    overflow: hidden;
}

.member-certificate-viewer__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 16px;
    padding: 12px 20px;
    border-bottom: 1px solid var(--color-line);
    background: var(--color-surface);
}

.member-certificate-viewer__zoom,
.member-certificate-viewer__actions {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 8px;
}

.member-certificate-viewer__tool {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 72px;
    height: 40px;
    padding: 0 14px;
    border: 1px solid var(--color-line-gray);
    border-radius: 8px;
    background: var(--color-surface);
    color: var(--color-text-strong);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    white-space: nowrap;
}

.member-certificate-viewer__tool:disabled {
    border-color: var(--color-line);
    background: var(--color-line-light);
    color: var(--color-text-disabled);
    cursor: not-allowed;
}

.member-certificate-viewer__tool--primary {
    border-color: var(--color-primary);
    background: var(--color-primary);
    color: var(--color-surface);
}

.member-certificate-viewer__zoom-value {
    min-width: 56px;
    color: var(--color-text);
    font-size: 15px;
    font-variant-numeric: tabular-nums;
    text-align: center;
}

.member-certificate-viewer__stage {
    min-height: 0;
    overflow: hidden;
    background: var(--color-text-muted);
}

.member-certificate-viewer__preview {
    height: 100%;
    padding: 32px;
    overflow: auto;
    overscroll-behavior: contain;
}

.member-certificate-viewer__page-shell {
    position: relative;
    width: 210mm;
    height: 297mm;
    margin: 0 auto;
}

/* 장학생 확인서: A4 문서 */
.member-certificate-document {
    --certificate-accent: #0070c0;
    --certificate-content-inset: 25.5mm;
    --certificate-content-width: 159mm;
    position: absolute;
    top: 0;
    left: 50%;
    width: 210mm;
    height: 297mm;
    background: #fff;
    color: #000;
    font-family: "Nanum Myeongjo", serif;
    font-size: 13.5pt;
    font-synthesis: none;
    line-height: 1;
    transform: translateX(-50%) scale(1);
    transform-origin: top center;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.24);
    overflow: hidden;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
}

.member-certificate-document__header {
    position: absolute;
    top: 31mm;
    left: var(--certificate-content-inset);
    width: var(--certificate-content-width);
    font-size: 11pt;
    font-style: normal;
}

.member-certificate-document__head-row {
    display: flex;
    min-height: 16mm;
    align-items: center;
    justify-content: space-between;
}

.member-certificate-document__number {
    letter-spacing: 0.02em;
    transform: translateY(1.7mm);
}

.member-certificate-document__number strong {
    color: var(--certificate-accent);
    font-weight: 400;
}

.member-certificate-document__foundation {
    display: flex;
    align-items: center;
    gap: 3mm;
    transform: translateY(-2.8mm);
}

.member-certificate-document__foundation span {
    font-size: 8pt;
    font-weight: 700;
    line-height: 1.05;
    text-align: center;
}

.member-certificate-document__foundation strong {
    font-size: 19pt;
    font-weight: 700;
    letter-spacing: -0.08em;
}

.member-certificate-document__header address {
    padding-top: 5mm;
    border-top: 0.35mm solid #000;
    font-size: 10.5pt;
    font-style: normal;
    font-weight: 700;
    letter-spacing: -0.03em;
    white-space: nowrap;
}

.member-certificate-document__title {
    position: absolute;
    top: 73.5mm;
    left: 0;
    width: 100%;
    font-size: 26pt;
    font-weight: 800;
    letter-spacing: 0.02em;
    line-height: 1;
    text-align: center;
}

.member-certificate-document__info {
    position: absolute;
    top: 96mm;
    left: 50%;
    display: grid;
    grid-auto-rows: minmax(7mm, auto);
    align-content: center;
    row-gap: 1.5mm;
    width: 119mm;
    height: 32.5mm;
    padding: 0 3mm;
    border: 0.25mm solid #000;
    font-family: "Nanum Myeongjo", serif;
    font-size: 13.5pt;
    font-weight: 800;
    line-height: 1.35;
    transform: translateX(-50%);
}

.member-certificate-document__info > div {
    display: grid;
    grid-template-columns: 24mm minmax(0, 1fr);
    align-items: center;
    min-height: 7mm;
}

.member-certificate-document__info dt,
.member-certificate-document__details dt {
    display: flex;
    width: 100%;
    min-width: 0;
    padding-right: 2.2mm;
    white-space: nowrap;
}

.member-certificate-document__info-label,
.member-certificate-document__detail-label {
    display: flex;
    flex: 1;
    min-width: 0;
    justify-content: space-between;
}

.member-certificate-document__colon {
    flex: 0 0 auto;
    margin-left: 2.2mm;
}

.member-certificate-document__info dd {
    overflow-wrap: anywhere;
    word-break: keep-all;
}

.member-certificate-document__statement {
    position: absolute;
    top: 135.3mm;
    left: var(--certificate-content-inset);
    width: var(--certificate-content-width);
    font-size: 13.5pt;
    font-weight: 700;
    letter-spacing: 0.015em;
    line-height: 9.2mm;
}

.member-certificate-document__statement span {
    display: block;
    white-space: nowrap;
}

.member-certificate-document__statement span:not(:last-child) {
    text-align: justify;
    text-align-last: justify;
}

.member-certificate-document__details {
    position: absolute;
    top: 176.7mm;
    left: var(--certificate-content-inset);
    width: var(--certificate-content-width);
    font-size: 13.5pt;
    font-weight: 700;
}

.member-certificate-document__details h4 {
    display: flex;
    justify-content: center;
    gap: 7mm;
    margin-bottom: 7.7mm;
    font-size: 13.5pt;
    font-weight: 700;
    text-align: center;
}

.member-certificate-document__details dl {
    display: grid;
    gap: 2.3mm;
}

.member-certificate-document__details dl > div {
    display: grid;
    grid-template-columns: 34.5mm minmax(0, 1fr);
    line-height: 1.5;
}

.member-certificate-document__detail-bullet {
    align-self: start;
    flex: 0 0 auto;
    margin-right: 4mm;
}

.member-certificate-document__details dd strong {
    color: var(--certificate-accent);
    font-weight: 700;
}

.member-certificate-document__details dd span {
    display: inline-block;
    margin-top: 2.2mm;
    margin-left: -10mm;
    white-space: nowrap;
}

.member-certificate-document__issuer {
    position: absolute;
    top: 241mm;
    left: 98mm;
    display: grid;
    gap: 4.5mm;
    width: 50.5mm;
    font-size: 13.5pt;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
}

.member-certificate-document__chairperson {
    display: flex;
    justify-content: center;
    gap: 3mm;
}

.member-certificate-document__seal {
    position: absolute;
    top: 232mm;
    right: var(--certificate-content-inset);
    width: 37.5mm;
    height: 37.5mm;
}

.member-certificate-document__seal img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* 장학생 확인서: DOM 뷰어 반응형 */
@media (max-width: 640px) {
    .member-certificate-viewer {
        width: 100%;
        height: 100dvh;
        max-height: none;
        border-radius: 0;
    }

    .member-certificate-viewer__header {
        min-height: 64px;
        padding: 12px 16px;
    }

    .member-certificate-viewer__title {
        font-size: 20px;
    }

    .member-certificate-viewer__preview {
        padding: 16px;
    }
}

/* 장학생 확인서: A4 인쇄 */
@page {
    size: A4 portrait;
    margin: 0;
}

@media print {
    html,
    body {
        width: 210mm;
        height: 297mm;
        margin: 0 !important;
        background: #fff !important;
        overflow: hidden !important;
    }

    body > :not(.member-certificate-viewer) {
        display: none !important;
    }

    body > .member-certificate-viewer {
        position: fixed !important;
        inset: 0 !important;
        display: block !important;
        width: 210mm !important;
        height: 297mm !important;
        max-width: none !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #fff !important;
        box-shadow: none !important;
        overflow: hidden !important;
    }

    body > .member-certificate-viewer::backdrop,
    .member-certificate-viewer__header,
    .member-certificate-viewer__toolbar,
    [data-certificate-status] {
        display: none !important;
    }

    .member-certificate-viewer__body,
    .member-certificate-viewer__stage,
    .member-certificate-viewer__preview,
    .member-certificate-viewer__page-shell {
        display: block !important;
        width: 210mm !important;
        height: 297mm !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
        overflow: hidden !important;
    }

    .member-certificate-document {
        position: absolute !important;
        top: 10mm !important;
        left: 50% !important;
        width: 210mm !important;
        height: 297mm !important;
        margin: 0 !important;
        transform: translateX(-50%) scale(0.9) !important;
        transform-origin: top center !important;
        box-shadow: none !important;
    }
}


/* 회원가입: 정보 확인 완료 후 비활성 필드 */
.member-signup__fields-card.is-verified [data-user-info_area="Y"]:disabled,
.member-signup__fields-card.is-verified .member-form-control:disabled {
    background-color: #E6E8EC;
    color: #6B7280;
    cursor: not-allowed;
}

.member-signup__fields-card.is-verified .calendar-field__button:disabled {
    pointer-events: none;
    opacity: 0.6;
}