/* RUSHINGWIND V33 — login / register / reset (same look as the RUSHINGWIND app account pages) */
:root {
  --rw-red: #F60938; --rw-red-hover: #F73058; --rw-red-press: #CA072E;
  --rw-carbon: #1A1A1A; --rw-raised: #2B292A; --rw-border: rgba(255, 255, 255, .14); --rw-subtle: #939393;
  --rw-heading: Oswald, "Roc Grotesk", "Helvetica Neue", Arial, sans-serif;
}

/* Top-bar account button */
.account-btn {
  display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: .45rem .9rem; border: 1px solid rgba(255, 255, 255, .28); border-radius: 4px;
  background: rgba(11, 11, 12, .45); color: var(--white); font-family: var(--mono); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; cursor: pointer;
  transition: background .2s, border-color .2s, color .2s;
}
.account-btn:hover { background: var(--rw-red); border-color: var(--rw-red); color: var(--black); }
.account-btn.is-in { border-color: var(--rw-red); }
.account-btn.is-in::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: var(--rw-red); }
.account-btn svg { width: 16px; height: 16px; flex: none; }
@media (max-width: 600px) { .account-btn { padding: .45rem .6rem; } .account-btn [data-account-label] { display: none; } }

/* Dialog */
.auth-modal { border: 0; padding: 0; background: transparent; color: var(--white); max-width: none; max-height: none; width: 100%; height: 100%; }
.auth-modal::backdrop { background: rgba(0, 0, 0, .82); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.auth-modal[open] { display: grid; place-items: center; padding: var(--gutter); }
.auth-panel {
  position: relative; width: min(100%, 30rem); max-height: calc(100vh - 2 * var(--gutter)); overflow: auto;
  padding: clamp(1.6rem, 4vw, 2.2rem) clamp(1.3rem, 4vw, 1.9rem) 1.6rem; background: var(--rw-carbon); border: 1px solid var(--rw-border); border-top: 4px solid var(--rw-red); border-radius: 6px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .6); font-family: var(--body);
}
.auth-close { position: absolute; top: .55rem; right: .55rem; width: 44px; height: 44px; border: 0; border-radius: 999px; background: transparent; color: var(--grey); font-size: 1.6rem; line-height: 1; display: grid; place-items: center; cursor: pointer; }
.auth-close:hover { background: rgba(255, 255, 255, .08); color: var(--white); }
.auth-logo { display: block; height: 26px; width: auto; margin: 0 auto 1.4rem; }
.auth-eyebrow { margin: 0 0 .5rem; font-family: var(--rw-heading); font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: var(--rw-subtle); }
.auth-title { margin: 0; font-family: var(--rw-heading); font-weight: 700; font-size: clamp(1.6rem, 5vw, 1.9rem); line-height: 1.25; letter-spacing: .02em; text-transform: uppercase; }
.auth-lead { margin: .7rem 0 0; color: var(--grey); font-size: .93rem; line-height: 1.5; }
.auth-gate { margin: 0 0 1.1rem; padding: .8rem .9rem; border-left: 3px solid var(--rw-red); background: rgba(246, 9, 56, .1); border-radius: 0 4px 4px 0; }
.auth-gate strong { display: block; font-family: var(--rw-heading); text-transform: uppercase; letter-spacing: .06em; font-weight: 600; margin-bottom: .2rem; }
.auth-gate span { color: var(--grey); font-size: .9rem; }

.auth-form { display: grid; gap: .95rem; margin-top: 1.3rem; }
.auth-field { display: grid; gap: .35rem; }
.auth-field label { font-family: var(--rw-heading); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--rw-subtle); }
.auth-input { position: relative; }
.auth-input input {
  width: 100%; min-height: 48px; padding: .8rem 2.9rem .8rem .9rem; border: 1px solid var(--rw-border); border-radius: 4px; background: var(--rw-raised); color: var(--white);
  font-family: var(--body); font-size: 1rem; line-height: 1.3; -webkit-appearance: none; appearance: none;
}
.auth-input input:not([type=password]):not(.has-toggle) { padding-right: .9rem; }
.auth-input input::placeholder { color: var(--rw-subtle); }
.auth-input input:focus { outline: 2px solid var(--rw-red); outline-offset: 1px; border-color: transparent; box-shadow: none; }
.auth-input .toggle-pw { position: absolute; top: 50%; right: .3rem; transform: translateY(-50%); width: 40px; height: 40px; border: 0; background: transparent; color: var(--rw-subtle); display: grid; place-items: center; cursor: pointer; border-radius: 4px; }
.auth-input .toggle-pw:hover { color: var(--white); }
.auth-input .toggle-pw.is-on { color: var(--rw-red); }
.auth-row { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
.auth-link { background: none; border: 0; padding: 0; color: var(--white); font-family: var(--body); font-size: .9rem; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
.auth-link:hover { color: var(--rw-red); }
.auth-btn {
  width: 100%; min-height: 50px; padding: .9rem 1.5rem; border: 0; border-radius: 4px; background: var(--rw-red); color: var(--black);
  font-family: var(--rw-heading); font-weight: 600; font-size: .95rem; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; transition: background .2s;
}
.auth-btn:hover { background: var(--rw-red-hover); }
.auth-btn:active { background: var(--rw-red-press); }
.auth-btn:disabled { opacity: .5; cursor: default; }
.auth-btn--ghost { background: transparent; color: var(--white); border: 1px solid rgba(255, 255, 255, .3); }
.auth-btn--ghost:hover { background: rgba(255, 255, 255, .06); border-color: var(--white); }
.auth-google { display: inline-flex; align-items: center; justify-content: center; gap: .7rem; width: 100%; min-height: 50px; padding: .8rem 1.2rem; border: 1px solid rgba(255, 255, 255, .3); border-radius: 4px; background: var(--white); color: #1f1f1f; font-family: var(--body); font-weight: 600; font-size: .95rem; cursor: pointer; }
.auth-google:hover { background: #f1f1f1; }
.auth-google:disabled { opacity: .5; }
.auth-google svg { width: 18px; height: 18px; flex: none; }
.auth-apple { background: #000; color: #fff; border-color: rgba(255, 255, 255, .35); }
.auth-apple:hover { background: #151515; }
.auth-apple svg { width: 16px; height: 19px; }
.auth-sep { display: flex; align-items: center; gap: .8rem; color: var(--rw-subtle); font-family: var(--rw-heading); font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; }
.auth-sep::before, .auth-sep::after { content: ""; flex: 1; height: 1px; background: var(--rw-border); }
.auth-error { margin: 0; padding: .7rem .9rem; border-left: 3px solid var(--rw-red); background: rgba(246, 9, 56, .1); color: var(--white); font-size: .9rem; border-radius: 0 4px 4px 0; }
.auth-note { margin: 0; color: var(--grey); font-size: .9rem; }
.auth-switch { margin: 1.2rem 0 0; color: var(--grey); font-size: .9rem; text-align: center; }
.auth-legal { margin: 1.1rem 0 0; color: var(--rw-subtle); font-size: .78rem; line-height: 1.5; text-align: center; }
.auth-legal a { color: var(--grey); }
.auth-legal a:hover { color: var(--white); }
.auth-footer { margin: 1.4rem 0 0; font-family: var(--rw-heading); font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--rw-subtle); text-align: center; }

/* Account view */
.account-card { margin-top: 1.2rem; padding: 1rem 1.1rem; background: var(--rw-raised); border: 1px solid var(--rw-border); border-radius: 4px; display: grid; gap: .25rem; }
.account-card .who { font-family: var(--rw-heading); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--rw-subtle); }
.account-card .name { font-weight: 600; font-size: 1.05rem; }
.account-card .email { color: var(--grey); word-break: break-all; }
.account-card .status { margin-top: .4rem; display: inline-flex; align-items: center; gap: .5rem; font-size: .82rem; color: var(--grey); }
.account-card .status::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: var(--rw-subtle); }
.account-card .status.is-ok::before { background: #35A66F; }
.account-actions { display: grid; gap: .7rem; margin-top: 1.2rem; }

@media (prefers-reduced-motion: reduce) { .account-btn, .auth-btn { transition: none; } }
