.login-page {

  display: flex;

  min-height: 100vh;

}



.login-brand {

  flex: 1.1;

  display: flex;

  flex-direction: column;

  justify-content: center;

  padding: 64px;

  background: linear-gradient(145deg, #0f2744 0%, #1558ad 45%, #2a9d6e 120%);

  color: #fff;

  position: relative;

  overflow: hidden;

}



.login-brand::before {

  content: "";

  position: absolute;

  inset: 0;

  background:

    radial-gradient(circle at 20% 80%, rgba(42, 157, 110, 0.35), transparent 50%),

    radial-gradient(circle at 80% 20%, rgba(30, 111, 217, 0.3), transparent 45%);

}



.login-brand-content {

  position: relative;

  max-width: 420px;

}



.login-brand h1 {

  margin: 0 0 16px;

  font-size: 42px;

  font-weight: 700;

  letter-spacing: -0.03em;

  line-height: 1.1;

}



.login-brand p {

  margin: 0;

  font-size: 16px;

  line-height: 1.7;

  color: rgba(255, 255, 255, 0.82);

}



.login-brand-badge {

  display: inline-flex;

  align-items: center;

  gap: 8px;

  margin-bottom: 32px;

  padding: 8px 14px;

  border-radius: 999px;

  background: rgba(255, 255, 255, 0.12);

  font-size: 13px;

  font-weight: 600;

}



.login-form-panel {

  flex: 1;

  display: flex;

  align-items: center;

  justify-content: center;

  padding: 48px 32px;

  background: var(--surface);

}



.login-form-wrap {

  width: 100%;

  max-width: 400px;

}



.login-form-wrap h2 {

  margin: 0 0 8px;

  font-size: 28px;

  font-weight: 700;

  letter-spacing: -0.02em;

}



.login-form-wrap .subtitle {

  margin: 0 0 32px;

  color: var(--muted);

}



.login-field {

  display: flex;

  flex-direction: column;

  gap: 8px;

  margin-bottom: 20px;

}



.login-field span {

  font-size: 13px;

  font-weight: 600;

}



.login-input-wrap {

  display: flex;

  align-items: center;

  gap: 12px;

  padding: 0 16px;

  border: 1px solid var(--border);

  border-radius: 12px;

  background: var(--surface-2);

  transition: border-color 0.15s, box-shadow 0.15s;

}



.login-input-wrap:focus-within {

  border-color: var(--primary, #1e6fd9);

  box-shadow: 0 0 0 3px rgba(30, 111, 217, 0.15);

}



.login-input-wrap input {

  flex: 1;

  border: 0;

  background: transparent;

  padding: 14px 0;

  outline: none;

}



.login-input-wrap svg {

  color: var(--muted);

  flex-shrink: 0;

}



.login-options {

  display: flex;

  align-items: center;

  justify-content: space-between;

  margin-bottom: 24px;

  font-size: 13px;

}



.login-remember {

  display: flex;

  align-items: center;

  gap: 8px;

  color: var(--muted);

  cursor: pointer;

}



.login-submit {

  width: 100%;

  padding: 14px;

  border: 0;

  border-radius: 12px;

  background: var(--primary, #1e6fd9);

  color: #fff;

  font-weight: 700;

  font-size: 15px;

  cursor: pointer;

  transition: transform 0.15s, background 0.15s;

}



.login-submit:hover {

  background: var(--primary-dark, #1558ad);

}



.login-submit:active {

  transform: scale(0.98);

}



.login-error {

  margin-bottom: 20px;

  padding: 12px 16px;

  border-radius: 10px;

  background: rgba(245, 83, 95, 0.1);

  color: var(--red);

  font-size: 13px;

  font-weight: 600;

}



@media (max-width: 900px) {

  .login-page {

    flex-direction: column;

  }



  .login-brand {

    padding: 40px 32px;

  }



  .login-brand h1 {

    font-size: 28px;

  }

}

