/* ══ Log in, sign up, password reset and payment pages in the new website look ═══════
   Loaded after site.css on those pages only (body.w-auth); their markup and scripts are
   unchanged. Terminal greys, orange, Helvetica for reading, normal case, white text. */
.w-auth { background-color: var(--bg); }
.w-auth .form-wrap, .w-auth .signup-page { min-height: calc(100vh - 58px - 120px); }
.w-auth .form-wrap *, .w-auth .signup-page *, .w-auth #forgot-password-modal * { text-transform: none !important; letter-spacing: normal !important; }
.w-auth .form-wrap, .w-auth .signup-page, .w-auth #forgot-password-modal { font-family: var(--sans) !important; }
.w-auth .form-panel { background: var(--panel); border: 1px solid var(--line); border-top: 2px solid var(--or); padding: 36px 34px; box-shadow: 0 24px 70px rgba(0,0,0,.4); }
.w-auth .form-title { color: var(--w); font: 700 28px/1.2 var(--sans) !important; border: 0; padding: 0; margin: 0 0 6px; display: block; }
.w-auth .form-title::after { content: none; }
.w-auth .form-subtitle { color: var(--w); font: 15px/1.5 var(--sans) !important; margin-bottom: 18px; }
.w-auth .form-intro { color: var(--w); font-size: 15px; border-bottom: 1px solid var(--line); }
.w-auth .form-label { color: var(--w); font: 600 14px var(--sans) !important; margin-bottom: 7px; }
.w-auth .form-input, .w-auth .form-select, .w-auth input[type="text"], .w-auth input[type="email"], .w-auth input[type="password"] {
  background: var(--card) !important; border: 1px solid var(--line2) !important; color: var(--w) !important; font: 16px var(--sans) !important; padding: 12px 14px; }
.w-auth .form-input:focus, .w-auth input:focus { border-color: var(--or) !important; outline: none; }
.w-auth .form-input::placeholder, .w-auth input::placeholder { color: var(--w); opacity: .55; }
.w-auth .form-error { color: var(--w); background: var(--orbg); border-left: 3px solid var(--or); font-size: 14px; }
.w-auth .form-links, .w-auth .form-disclaimer { font-size: 14px; }
.w-auth .form-links a, .w-auth .form-disclaimer, .w-auth .form-disclaimer a { color: var(--w); }
.w-auth .form-links a:hover { color: var(--or2); }
.w-auth .form-links .sep { color: var(--line2); }
.w-auth .btn { font: 600 15px var(--sans) !important; padding: 13px 24px; border: 1px solid var(--line2); color: var(--w); background: var(--card); }
.w-auth .btn:hover { border-color: var(--or); background: var(--card); color: var(--w); }
.w-auth .btn-solid, .w-auth .btn-submit { background: var(--or) !important; border-color: var(--or) !important; color: var(--w) !important; font-weight: 700 !important; }
.w-auth .btn-solid:hover, .w-auth .btn-submit:hover { background: #d4652b !important; border-color: #d4652b !important; }
.w-auth .checkbox-label { border-color: var(--line2); color: var(--w); font-size: 14px; }
/* sign-up plan cards and side panel */
.w-auth .signup-page [class*="card"] { border-color: var(--line2); }
.w-auth .signup-page [class*="card"].selected, .w-auth .signup-page [class*="card"][aria-checked="true"] { border-color: var(--or); }
.w-auth .signup-page, .w-auth .signup-page p, .w-auth .signup-page li, .w-auth .signup-page span, .w-auth .signup-page div { color: var(--w); }
.w-auth .signup-headline { font: 700 clamp(28px, 3.4vw, 40px)/1.15 var(--sans) !important; }
.w-auth .signup-eyebrow { color: var(--or) !important; font: 700 12px var(--mono) !important; letter-spacing: .16em !important; text-transform: uppercase !important; }
/* the forgot-password window */
.w-auth #forgot-password-modal { background: rgba(26,26,26,.94) !important; }
.w-auth #forgot-password-modal > div { background: var(--panel) !important; border: 1px solid var(--line) !important; border-top: 2px solid var(--or) !important; }
/* sign-up: readable sizes */
.w-auth .step-label { font: 700 15px var(--sans) !important; }
.w-auth .step-num { border-color: var(--or) !important; color: var(--w) !important; }
.w-auth .plan-card-label, .w-auth .market-card-name { font: 700 17px var(--sans) !important; }
.w-auth .plan-card-freq { font-size: 13.5px !important; }
.w-auth .plan-card-desc, .w-auth .market-card-desc { font-size: 14.5px !important; line-height: 1.55 !important; }
.w-auth .plan-card-new, .w-auth .market-card { background: var(--card) !important; border-color: var(--line2) !important; }
.w-auth .plan-card-new.selected, .w-auth .market-card.selected { border-color: var(--or) !important; box-shadow: inset 0 0 0 1px var(--or); }
.w-auth .signup-submit { font: 700 16px var(--sans) !important; }
.w-auth .signup-micro { font-size: 13.5px !important; }
.w-auth .signup-login-link { font-size: 14.5px !important; }
.w-auth .value-tag { color: var(--or) !important; font: 700 12px var(--mono) !important; letter-spacing: .16em !important; text-transform: uppercase !important; }
.w-auth .value-list-text, .w-auth .value-quote { font-size: 15.5px !important; line-height: 1.55 !important; }
.w-auth .value-quote-attr, .w-auth .value-trust-sub { font-size: 13.5px !important; }
.w-auth .value-trust-line { font: 700 16px var(--sans) !important; }
.w-auth .value-trust { background: var(--card) !important; border: 1px solid var(--line) !important; }
/* short pages (log in, reset password): the page fits the window exactly, no scrolling (owner, 18 Oct 2026).
   Header at the top, the box in the middle, a compact footer at the bottom; small or short screens still scroll. */
body.w-fit { height: 100vh; height: 100dvh; display: flex; flex-direction: column; overflow: hidden; }
body.w-fit > .w-nav { flex: none; }
body.w-fit .form-wrap { flex: 1 1 auto; min-height: 0 !important; display: flex; align-items: center; justify-content: center; padding-top: 0; padding-bottom: 0; overflow: auto; }
body.w-fit .w-foot { flex: none; padding: 14px 0 16px; font-size: 12px; }
body.w-fit .w-foot .row { padding-bottom: 10px; margin-bottom: 10px; }
body.w-fit .w-foot .w-legal { margin-top: 4px; }
@media (max-height: 760px), (max-width: 700px) { body.w-fit { height: auto; overflow: visible; display: block; } body.w-fit .form-wrap { min-height: 0 !important; padding: 40px 16px; } }
