/* my.css — the front door. Small on purpose: one field, one button. The
   colours come from the tenant's brand record through /auth/door/config and
   are applied as custom properties; nothing here names a tenant. No inline
   style= anywhere: the vhost's CSP is style-src 'self'. */
:root { --primary: #11409c; --accent: #2e6ee8; --ink: #1b1b1b; --muted: #5b6270; --line: #d9dee7; --bg: #f6f7fa; }
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: var(--bg); color: var(--ink);
  font: 16px/1.45 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
header { display: flex; align-items: center; gap: 14px; padding: 18px 20px; background: #fff; border-bottom: 3px solid var(--primary); }
header img { height: 44px; width: auto; }
#brand { font-weight: 700; font-size: 18px; color: var(--primary); }
main { max-width: 440px; margin: 28px auto; padding: 0 20px; }
h1 { font-size: 28px; margin: 0 0 18px; color: var(--primary); }
h2 { font-size: 20px; margin: 0 0 8px; }
label { display: block; font-weight: 600; margin: 14px 0 6px; }
label.remember { font-weight: 400; margin-top: 14px; display: flex; gap: 8px; align-items: center; }
input[type="text"] { width: 100%; font-size: 18px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 8px; background: #fff; min-height: 48px; }
input:focus { outline: 3px solid var(--accent); outline-offset: 1px; }
button { display: block; width: 100%; margin-top: 14px; min-height: 48px; font-size: 17px; font-weight: 700; color: #fff;
  background: var(--primary); border: 0; border-radius: 8px; cursor: pointer; }
button:disabled { opacity: .6; cursor: default; }
/* `DOOR.F15`: a console button can now carry a SECOND small — the marker for
   the one picked last time — so the padding is vertical as well as horizontal.
   `min-height: 48px` on `button` keeps the one-line case the size it was. */
button.console { background: #fff; color: var(--primary); border: 2px solid var(--primary); text-align: left; padding: 10px 16px; }
button.console small { display: block; font-weight: 400; color: var(--muted); font-size: 14px; }
/* the marker reads as a marker, not as a second description: the brand colour
   rather than the muted grey the description uses. */
button.console small.last { color: var(--primary); font-weight: 600; }
.msg { min-height: 1.4em; margin: 12px 0 0; }
.msg.err { color: #9b1c1c; }
.msg.ok { color: #14532d; }
.hint { color: var(--muted); font-size: 14px; margin: 10px 0 0; }
/* PARTNER.F7 — quiet, below the fold of the form, and never competing with
   the one button. It sits above the rule rather than in the footer because
   the footer is where "Back to the site" lives and a stranger reading a
   sign-in prompt does not scroll to a footer to look for a way in. The link
   is a 48px row so a thumb can hit it. */
.register { margin: 22px 0 0; padding-top: 18px; border-top: 1px solid var(--line);
  color: var(--muted); font-size: 15px; }
.register a { display: inline-block; min-height: 24px; padding: 12px 0; font-weight: 700; }
a { color: var(--accent); }
footer { max-width: 440px; margin: 40px auto 30px; padding: 0 20px; color: var(--muted); font-size: 13px;
  display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
