@charset "UTF-8";
 html, body {
     margin: 0;
     padding: 0;
     height: 100%;
     font-family: 'Segoe UI', sans-serif;
     background: linear-gradient(rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25)), url(/images/login/login-background.jpeg) no-repeat center center fixed;
     background-size: cover;
     display: flex;
     justify-content: center;
     align-items: center;
     box-sizing: border-box;
}
 .login-box {
     background: rgba(0, 0, 0, 0.65);
     padding: 2.5rem 1.5rem;
     border-radius: 0.75rem;
     box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4);
     width: 100%;
     max-width: 460px;
     color: white;
     backdrop-filter: blur(6px);
     text-align: center;
}
 .logo-title {
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 0.75rem;
     margin-bottom: 0.5rem;
}
 .logo-title img {
     height: 1.5em;
     vertical-align: middle;
}
 .logo-title h2 {
     margin: 0;
     font-size: 1.5rem;
     font-weight: 600;
     color: white;
}
 .login-box h3 {
     font-size: 1.3rem;
     font-weight: 700;
     margin-top: 0.5rem;
    /* 위쪽 여백 추가로 시각 밸런스 조정 */
     margin-bottom: 2rem;
     color: white;
}
 .form-group {
     position: relative;
     text-align: left;
}
 .form-group input {
     width: 100%;
     padding: 1rem;
     border-radius: 0.4rem;
     border: 1px solid #444;
     background: #1a1a1a;
     color: white;
     font-size: 0.95rem;
}
 .form-group label {
     position: absolute;
     top: 1rem;
     left: 1rem;
     color: #888;
     font-size: 0.9rem;
     pointer-events: none;
     transition: 0.2s ease all;
}
 .form-group input:focus + label, .form-group input:not(:placeholder-shown) + label {
     top: 0.2rem;
     font-size: 0.6rem;
     color: #1e88e5;
}
 .form-group input:focus {
     outline: none;
     border-color: #1e88e5;
     box-shadow: 0 0 0 2px rgba(30, 136, 229, 0.4);
}
 .actions  {
     display: flex;
     justify-content: end;
     font-size: 0.85rem;
     color: #aaa !important;
     margin-bottom: 1.5rem;
}

.actions label {
  color: #aaa !important;
}

 .btn {
     width: 100%;
     padding: 0.75rem;
     border-radius: 0.45rem;
     font-size: 0.95rem;
     font-weight: 600;
     border: none;
     cursor: pointer;
}
 .login-btn {
     background-color: #1e88e5;
     color: white;
     margin-bottom: 0.75rem;
}
 .login-btn:hover {
     background-color: #1565c0;
}
 .signup-btn {
     background-color: #e0e0e0;
     color: #000;
}
 .signup-btn:hover {
     background-color: #c7c7c7;
}
 .login-box small {
     display: block;
     text-align: center;
     margin-top: 2rem;
     font-size: 0.75rem;
     color: #bbb;
}
 .login-box a {
     color: #90caf9;
     text-decoration: none;
}
 .login-box a:hover {
     text-decoration: underline;
}
.swal2-custom-popup {
  font-size: 14px;
  border-radius: 6px;
  padding: 1.5em;
  max-width: 380px;
  width: 90%;
}

.swal2-custom-title {
  font-size: 17px;
  font-weight: 600;
  margin-bottom: 0.5em;
}

.swal2-custom-button {
  background-color: #004e9b;
  color: white;
  font-size: 13px;
  padding: 8px 20px;
  border-radius: 4px;
  border: none;
  outline: none;
}

.swal2-custom-button:hover {
  background-color: #003c7a;
}

.swal2-custom-cancel {
  background-color: #ddd;
  color: #333;
  font-size: 13px;
  padding: 8px 20px;
  border-radius: 4px;
  margin-left: 10px;
}

.swal2-custom-cancel:hover {
  background-color: #bbb;
}

 @media screen and (max-width: 375px) {
     .login-box {
         margin: 0 1rem;
         padding: 2rem 1rem;
    }
}
