@import url("/fonts.css");
:root { --orange: #ff900d; --graphite: #2a2320; --linen: #f6f1ec; --sand: #d8c3b3; --muted: #6e625a; --line: #e4d9cf; --accent: #a84f00; color-scheme: light; }
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; background: var(--linen); color: var(--graphite); font: 16px/25px "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif; font-variant-numeric: tabular-nums; -webkit-font-smoothing: antialiased; }
.page { min-height: 100vh; display: grid; place-items: center; padding: 24px max(16px, env(safe-area-inset-left, 0px)); }
.card { width: min(420px, 100%); background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 36px 32px 28px; display: grid; gap: 18px; }
.logo { width: 120px; height: auto; display: block; margin-bottom: 8px; }
h1 { font-size: 22px; line-height: 28px; font-weight: 600; margin: 0; text-wrap: balance; }
p { margin: 0; }
.muted { color: var(--muted); font-size: 14px; line-height: 20px; }
label { display: grid; gap: 6px; font-size: 14px; line-height: 20px; font-weight: 500; }
input { font: inherit; color: var(--graphite); background: #fff; border: 1px solid var(--sand); border-radius: 4px; padding: 10px 12px; width: 100%; }
input:focus-visible, button:focus-visible, a:focus-visible { outline: 2px solid var(--graphite); outline-offset: 2px; }
button.primary { font: 500 15px/20px inherit; font-family: inherit; background: var(--orange); color: var(--graphite); border: 0; border-radius: 8px; padding: 12px 18px; cursor: pointer; }
button.primary:disabled { opacity: .5; }
.err { color: var(--accent); font-size: 14px; min-height: 20px; }
.foot { font-size: 12px; line-height: 16px; color: var(--muted); }
a { color: var(--accent); }
