body {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    background: #f5f5f5;
    font-family: sans-serif;
    margin: 0;
    padding: 0;
}

.logo {
    margin-bottom: 2vh;
    max-width: 80%;
    height: auto;
}

.login-container {
    background: white;
    border-radius: 2vh;
    box-shadow: 0 0.5vh 2vh rgba(0,0,0,0.1);
    width: 90%;
    max-width: 400px;
    text-align: center;
    overflow: hidden;
}

.header {
    background: #f96332;
    padding: 2vh;
    color: white;
    font-weight: bold;
    font-size: 2vh;
}

/* .header span {
    background: #2454d9;
    padding: 0.5vh 1vh;
    border-radius: 0.5vh;
} */

.form {
    padding: 2vh;
    display: flex;
    flex-direction: column;
    gap: 1.5vh;
}

.form label {
    text-align: left;
    font-size: 1.8vh;
    color: #2454d9;
    font-weight: bold;
}

.form input[type="text"],

.form input[type="password"] {
    padding: 1.5vh;
    font-size: 2vh;
    border: 1px solid #ddd;
    border-radius: 0.8vh;
    outline: none;
    width: 100%;
    box-sizing: border-box;
}

.form input[type="email"]{
  display:block; width:100%;
  height:52px;            /* ← 원하는 높이 */
  padding:10px 14px;
  font-size:16px;
  border:1px solid #ced4da; border-radius:10px;
  box-sizing:border-box;
}

.form button {
    background: #f96332;
    color: white;
    border: none;
    padding: 1.5vh;
    border-radius: 0.8vh;
    cursor: pointer;
    font-weight: bold;
    font-size: 2vh;
}

.form button:hover {
    background: #e65528;
}

@media (min-width: 1024px) {
    .login-container {
        width: 25%;
    }
    .header {
        font-size: 1.2vw;
    }
    .form label,
    .form input[type="text"],
    .form input[type="password"],
    .form button {
        font-size: 1vw;
    }
}
.logo-img {
    width: 30vw;      /* 화면 너비의 30%로 가변 */
    max-width: 200px; /* 최대 크기 제한 */
    height: auto;     /* 비율 유지 */
}
.card-rounded { border-radius: 18px; }
.card-top-rounded { border-top-left-radius: 18px; border-top-right-radius: 18px; }
/* 기본 EmailInput을 보기 좋게 */
input[type="email"] {
display:block; width:100%;
padding:.6rem .75rem; font-size:1rem; line-height:1.5;
color:#212529; background:#fff; border:1px solid #ced4da; border-radius:.5rem;
transition:border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
input[type="email"]:focus {
border-color:#86b7fe; outline:0; box-shadow:0 0 0 .25rem rgba(13,110,253,.25);
}

.text-center .force-left { text-align: left !important; }