/* SDVX tiers login (hosted mode): flat, square, hairline; same tokens as app.css. */
:root {
  --bg: #ffffff;
  --surface: #ffffff;
  --hover: #f2f2f2;
  --line: #e0e0e0;
  --line-2: #c4c4c4;
  --ink: #1a1a1a;
  --ink-3: #6e6e6e;
  --err: #b3141c;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #151515;
    --surface: #1c1c1c;
    --hover: #262626;
    --line: #2f2f2f;
    --line-2: #4a4a4a;
    --ink: #e9e9e9;
    --ink-3: #959595;
    --err: #ff6a70;
    color-scheme: dark;
  }
}
*, *::before, *::after { box-sizing: border-box; border-radius: 0; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font: 14px/1.4 system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Noto Sans CJK JP", "Hiragino Sans", sans-serif;
  font-weight: 400;
}
main { display: flex; justify-content: center; padding: 18vh 16px 0; }
form { display: flex; flex-direction: column; gap: 8px; width: 100%; max-width: 300px; }
.brand { color: var(--ink-3); font-size: 12px; letter-spacing: .02em; margin-bottom: 8px; }
label { color: var(--ink-3); font-size: 12px; }
input, button { font: inherit; color: inherit; border-radius: 0; }
input[type="password"] {
  height: 44px; padding: 0 10px; border: 1px solid var(--line-2); background: var(--surface);
}
button {
  height: 44px; border: 1px solid var(--ink); background: var(--ink); color: var(--bg); cursor: pointer;
}
button:hover { opacity: .9; }
:focus-visible { outline: 2px solid var(--ink); outline-offset: -2px; }
.err { margin: 4px 0 0; color: var(--err); }
