/* login.css */
.login-main {
    display:flex; align-items:center; justify-content:center;
    min-height:calc(100vh - var(--hh) - 80px);
    padding:40px 20px;
}
.login-card {
    background:#fff; border-radius:22px;
    padding:44px 40px; width:100%; max-width:520px;
    box-shadow:0 6px 32px rgba(0,0,0,.09);
    border:2px solid var(--primary);  /* 이 줄 추가 */
    text-align:center;
}
.login-room-badge { margin-bottom:32px; }
.login-room-num {
    display:block; font-size:1.5rem; font-weight:900;
    color:var(--primary); margin-bottom:8px;
}
.login-room-title {
    display:block; font-size:1.2rem; color:var(--primary);
    font-weight:800; min-height:1.5em;
}
.login-error {
    background:#fee2e2; color:#dc2626;
    padding:10px 16px; border-radius:10px;
    font-size:.88rem; margin-bottom:18px; line-height:1.5;
}
.login-card form input {
    width:100%; padding:15px 18px;
    border:2px solid var(--border);
    border-radius:12px; font-size:1.05rem;
    text-align:center; letter-spacing:1.5px;
    margin-bottom:16px;
}
.btn-login {
    width:100%; padding:16px;
    background:var(--primary); color:#fff;
    border:none; border-radius:14px;
    font-size:1.1rem; font-weight:700;
    cursor:pointer; transition:background .2s, transform .1s;
}
.btn-login:hover  { background:var(--primary-h); }
.btn-login:active { transform:scale(.98); }

@media(max-width:520px) {
    .login-card {
        max-width: 100%;
        padding: 32px 20px;
        border-radius: 14px;
    }
}