/* Loomcart admin sign-in — premium theme (loaded after Login.aspx's own <style>) */
body {
  font-family: 'Instrument Sans', system-ui, sans-serif;
  background:
    repeating-linear-gradient(0deg,  rgba(255,255,255,.02) 0 1px, transparent 1px 5px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.02) 0 1px, transparent 1px 5px),
    linear-gradient(160deg, #1B2152 0%, #151A3D 45%, #0E1230 100%);
  background-attachment: fixed;
}
.bg-glow { background: radial-gradient(ellipse at 20% 0%, rgba(214,162,66,.12) 0%, transparent 55%); }
.login-box { max-width: 420px; }
.brand-icon {
  background: rgba(214,162,66,.12); border: 1px solid rgba(214,162,66,.4);
  box-shadow: none; color: #D6A242; border-radius: 14px;
}
.brand-name { font-family: 'Fraunces', Georgia, serif; font-weight: 600; font-size: 1.7rem; letter-spacing: .02em; color: #fff; }
.brand-sub  { color: rgba(255,255,255,.55); font-size: .86rem; }

.login-card {
  background: #fff; border: 0; border-radius: 18px; padding: 32px;
  box-shadow: 0 2px 4px rgba(14,18,48,.2), 0 28px 64px rgba(0,0,0,.4);
  backdrop-filter: none; position: relative; overflow: hidden;
}
.login-card::before {
  content: ''; position: absolute; left: 0; right: 0; top: 0; height: 3px;
  background: linear-gradient(90deg, #D6A242, rgba(214,162,66,0) 75%);
}
.card-title { font-family: 'Fraunces', Georgia, serif; font-weight: 600; font-size: 1.35rem; color: #14182E; letter-spacing: -.01em; }
.card-sub   { color: #646B8C; font-size: .88rem; margin-bottom: 24px; }

.form-label { font-family: inherit; text-transform: none; letter-spacing: 0; font-size: .82rem; font-weight: 600; color: #394060; }
.input-wrap i { color: #9299B3; }
.form-input {
  background: #fff; border: 1px solid #C9CEDD; color: #14182E;
  border-radius: 10px; font-size: .94rem; font-weight: 450;
}
.form-input:hover { border-color: #9299B3; }
.form-input:focus { border-color: #2E3A8C; box-shadow: 0 0 0 3px rgba(46,58,140,.14); background: #fff; }
.form-input::placeholder { color: #9299B3; }
select.form-input option { background: #fff; color: #14182E; }
select.form-input {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23646B8C' stroke-width='2'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat; background-position: right 12px center; background-size: 16px;
}

.btn-login {
  background: #2E3A8C; border-radius: 10px; padding: 13px; font-weight: 600; font-size: .96rem;
  box-shadow: 0 1px 2px rgba(20,24,46,.2);
}
.btn-login:hover { transform: none; background: #1F2866; box-shadow: 0 6px 16px rgba(31,40,102,.3); }
.btn-login:focus-visible, .form-input:focus-visible { outline: 2px solid #D6A242; outline-offset: 2px; }

.alert-error { background: #FCF1F0; border: 1px solid #EBC8C4; border-left: 4px solid #B3332B; color: #8E2821; font-weight: 500; }
.divider::before, .divider::after { background: #E2E5EE; }
.divider span { color: #9299B3; }
.login-footer { color: #646B8C; }
.login-footer a { color: #2E3A8C; font-weight: 600; }
.login-footer a:hover { color: #1F2866; }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
