*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  background: #0d0d1a;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  background-image:
    radial-gradient(ellipse at 15% 50%, rgba(192, 80, 32, .1) 0%, transparent 55%),
    radial-gradient(ellipse at 85% 15%, rgba(192, 80, 32, .06) 0%, transparent 50%);
}

.login-wrap {
  width: 100%;
  max-width: 420px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}

.login-card {
  width: 100%;
  background: #161627;
  border: 1px solid rgba(255, 255, 255, .07);
  border-radius: 18px;
  padding: 2.5rem;
  box-shadow: 0 30px 70px rgba(0, 0, 0, .55);
}

/* Brand */
.login-brand {
  text-align: center;
  margin-bottom: 2rem;
}
.brand-logo {
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: .18em;
  color: #C05020;
  line-height: 1;
  margin-bottom: .45rem;
}
.brand-sub {
  font-size: .73rem;
  color: rgba(255, 255, 255, .3);
  letter-spacing: .1em;
  text-transform: uppercase;
}

/* Alert */
.alert-error {
  background: rgba(239, 68, 68, .1);
  border: 1px solid rgba(239, 68, 68, .35);
  color: #f87171;
  border-radius: 9px;
  padding: .75rem 1rem;
  font-size: .84rem;
  margin-bottom: 1.25rem;
  line-height: 1.5;
}

/* Fields */
.field { margin-bottom: 1.25rem; }

.field label {
  display: block;
  font-size: .72rem;
  font-weight: 600;
  color: rgba(255, 255, 255, .38);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: .4rem;
}

.field input {
  width: 100%;
  background: rgba(0, 0, 0, .3);
  border: 1px solid rgba(255, 255, 255, .1);
  color: #fff;
  padding: .7rem 1rem;
  border-radius: 10px;
  font-size: .92rem;
  font-family: inherit;
  transition: border-color .2s, box-shadow .2s;
}
.field input::placeholder { color: rgba(255, 255, 255, .18); }
.field input:focus {
  outline: none;
  border-color: #C05020;
  box-shadow: 0 0 0 3px rgba(192, 80, 32, .15);
}

/* Eye toggle */
.field-eye { position: relative; }
.field-eye input { padding-right: 3rem; }
.eye-btn {
  position: absolute;
  right: .8rem;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  color: rgba(255, 255, 255, .28);
  display: flex;
  align-items: center;
  padding: .25rem;
  transition: color .2s;
}
.eye-btn:hover { color: #C05020; }
.eye-btn svg { width: 17px; height: 17px; }

/* Submit button */
.btn-enter {
  width: 100%;
  background: #C05020;
  color: #fff;
  border: none;
  padding: .8rem 1.5rem;
  border-radius: 10px;
  font-size: .95rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  margin-top: .35rem;
  letter-spacing: .02em;
  transition: background .2s, transform .1s, box-shadow .2s;
  box-shadow: 0 4px 18px rgba(192, 80, 32, .35);
}
.btn-enter:hover {
  background: #a04018;
  box-shadow: 0 4px 22px rgba(192, 80, 32, .45);
}
.btn-enter:active { transform: scale(.98); }

/* Footer */
.login-copy {
  font-size: .71rem;
  color: rgba(255, 255, 255, .15);
  letter-spacing: .05em;
  text-align: center;
}
