/* Shiftclub login page — Claude Design project d9ba8f9e-66d1-4414-b33d-
   ebfe51552d50 ("Login Page.dc.html"). Split-screen: left is a real form,
   right reuses landing.css's own .phone/.phone-screen markup (the real
   feed-post phone from the homepage hero, not a new placeholder image)
   inside a dark diagonal-red-band panel — that panel treatment is this
   page's own design (the mockup's), not copied from the homepage hero,
   which uses a lighter accent-bar/glow instead of a full dark panel.
   Loads after styles.css and landing.css (for the .phone rules it
   reuses). No footer, matching the approved mockup, which doesn't have
   one — the split screen is meant to fill the page. */

.login-body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.login-main {
  flex: 1;
  max-width: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(360px, 1fr) minmax(0, 1.15fr);
}

.login-form-col {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px 32px;
}

.login-form-wrap {
  width: 100%;
  max-width: 380px;
}

.login-eyebrow {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--red);
  margin-bottom: 10px;
}

.login-title {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 800;
  text-transform: uppercase;
  font-size: 40px;
  line-height: 1.05;
  color: var(--ink);
  margin: 0 0 10px;
}

.login-subtitle {
  font-size: 15px;
  line-height: 1.5;
  color: var(--sub);
  margin: 0 0 28px;
}

.login-error {
  background: #fdecea;
  border: 1px solid #f3c7c3;
  color: var(--red);
  font-size: 13px;
  font-weight: 500;
  border-radius: 6px;
  padding: 11px 14px;
  margin-bottom: 20px;
}

.login-success {
  background: var(--paper);
  border: 1px solid var(--line);
  color: var(--ink);
  font-size: 14px;
  border-radius: 6px;
  padding: 14px;
  margin-bottom: 20px;
}

.login-form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

/* .login-form's own `display: flex` above is equal CSS specificity to the
   browser's default `[hidden] { display: none }` UA-stylesheet rule —
   since author stylesheets load after the UA sheet, `display: flex` was
   silently winning and `form.hidden = true` (set on successful login,
   see /login's inline script) had no visual effect at all. The extra
   `[hidden]` on this selector raises specificity just enough to actually
   win. Confirmed live: without this, the form stayed fully visible
   (fields, LOG IN button) underneath the "You're logged in" message. */
.login-form[hidden] {
  display: none;
}

.login-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.login-field label {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink);
}

.login-field input {
  height: 46px;
  width: 100%;
  border: 1.5px solid var(--line);
  border-radius: 6px;
  padding: 0 14px;
  font-size: 15px;
  color: var(--ink);
  font-family: Barlow, system-ui, sans-serif;
  background: #fff;
}

.login-field input:focus {
  outline: none;
  border-color: var(--red);
  box-shadow: 0 0 0 3px rgba(179, 38, 30, 0.12);
}

.login-password-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.login-password-wrap input {
  padding-right: 44px;
}

.login-password-toggle {
  position: absolute;
  right: 12px;
  background: none;
  border: none;
  padding: 6px;
  display: flex;
  cursor: pointer;
  color: var(--sub);
}

.login-password-toggle svg {
  display: block;
}

.login-submit {
  height: 50px;
  background: var(--red);
  color: #fff;
  border: none;
  border-radius: 6px;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  margin-top: 8px;
}

.login-submit:hover {
  background: #961f19;
}

.login-submit:disabled {
  opacity: 0.6;
  cursor: default;
}

.login-visual {
  position: relative;
  background: #0a0a0a;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 520px;
}

.login-visual-band {
  position: absolute;
  top: -10%;
  right: -15%;
  width: 75%;
  height: 140%;
  background: linear-gradient(135deg, var(--red) 0%, #7a1a15 55%, #0a0a0a 100%);
  transform: rotate(18deg);
  opacity: 0.9;
}

.login-visual-band-dark {
  position: absolute;
  top: -20%;
  right: -30%;
  width: 60%;
  height: 160%;
  background: #0a0a0a;
  transform: rotate(18deg);
}

.login-visual-glow {
  position: absolute;
  width: 520px;
  height: 520px;
  background: radial-gradient(circle, rgba(179, 38, 30, 0.55) 0%, rgba(179, 38, 30, 0) 70%);
  filter: blur(10px);
  z-index: 1;
}

/* .login-visual reuses landing.css's .phone/.phone-screen for the actual
   device frame and its real feed content unmodified — this just repositions
   the whole thing (z-index above the diagonal bands, no left-aligned
   .hero-visual flex context to fight since this column only ever holds
   one phone). */
.login-visual .phone {
  position: relative;
  z-index: 2;
}

@media (max-width: 900px) {
  .login-main {
    grid-template-columns: 1fr;
  }

  .login-visual {
    order: -1;
    min-height: 420px;
    padding: 40px 0;
  }
}
