/* ===== 인증 화면 ===== */
body {
    height: auto !important;
    min-height: 100vh;
    overflow-y: auto !important;
}

.page.page-center {
    align-items: center;
    min-height: 100vh; /* 부모(body) height 체인에 의존하지 않고 직접 뷰포트 기준으로 지정 */
}

.page.page-center.page-signup {
    align-items: flex-start;
    min-height: 100vh; /* 이것도 같이 있어야 스크롤 가능한 공간이 확실히 생김 */
}

/* 로그인/회원가입 카드 영역 너비 */
.container-tight {
    max-width: 600px; /* 기본값보다 넉넉하게, 취향껏 480~600px 사이 조절 */
}

.sallim-auth-card {
    border-top: 3px solid var(--sallim-green);
}

.sallim-logo-box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 14px;
    background-color: var(--sallim-green);
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
}

/* 비밀번호 표시 토글 영역 배경을 입력칸이랑 맞춤 */
.input-group-flat .input-group-text {
    background-color: transparent;
}

/* 포커스 시 input-group 전체에 딥그린 테두리 */
.input-group-flat:focus-within {
    border-color: var(--sallim-green);
    box-shadow: 0 0 0 1px var(--sallim-green);
    border-radius: var(--tblr-border-radius);
}