/* 중앙 정렬 래퍼 */
.wrap {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 16px;
}

/* 로그인/회원가입 카드 */
.card {
    background: white;
    border-radius: 14px;
    padding: 36px 40px;
    width: 100%;
    max-width: 420px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.07);
}

.card h2 {
    font-size: 26px;
    font-weight: 800;
    color: #1a237e;
    margin-bottom: 6px;
}

.sub {
    color: #888;
    font-size: 13px;
    margin-bottom: 28px;
}

/* 입력창 스타일 */
.form-group { margin-bottom: 16px; }
.form-group label {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #333;
    margin-bottom: 6px;
}

.form-control {
    width: 100%;
    padding: 11px 14px;
    border: 1.5px solid #e0e0e0;
    border-radius: 8px;
    font-size: 13px;
    outline: none;
}

.form-control:focus { border-color: #1565c0; }

/* 버튼 및 구분선 */
.btn {
    border: none;
    border-radius: 8px;
    padding: 9px 20px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

.btn-primary {
    background: #1565c0;
    color: white;
    width: 100%;
    padding: 13px;
    font-size: 15px;
    margin-top: 4px;
}

.divider {
    height: 1px;
    background: #e8eaf6;
    margin: 20px 0;
}