/* Страница входа. Оформление — те же токены, что и в приложении. */
  :root {
    color-scheme: light;
    --surface: #fcfcfb; --card: #ffffff; --card-2: #f5f4f1;
    --line: #e4e3de; --ink: #0b0b0b; --ink-2: #52514e; --ink-3: #7a7974;
    --accent: #2a78d6; --critical: #d03b3b; --critical-ink: #b32c2c;
    --wash-critical: #fae9e9;
    --shadow: 0 1px 2px rgba(11,11,11,.06), 0 4px 14px rgba(11,11,11,.05);
  }
  @media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
      color-scheme: dark;
      --surface: #1a1a19; --card: #232322; --card-2: #2b2b29;
      --line: #38372f; --ink: #ffffff; --ink-2: #c3c2b7; --ink-3: #96958c;
      --accent: #3987e5; --critical-ink: #e56a6a; --wash-critical: #2e1b1b;
      --shadow: 0 1px 2px rgba(0,0,0,.4), 0 4px 14px rgba(0,0,0,.3);
    }
  }
  * { box-sizing: border-box; }
  body {
    margin: 0; min-height: 100dvh;
    display: grid; place-items: center; padding: 24px;
    background: var(--surface); color: var(--ink);
    font: 16px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    -webkit-text-size-adjust: 100%;
  }
  .card {
    width: 100%; max-width: 360px;
    background: var(--card); border: 1px solid var(--line);
    border-radius: 16px; padding: 28px 24px; box-shadow: var(--shadow);
    text-align: center;
  }
  img.logo { width: 64px; height: 64px; border-radius: 15px; }
  h1 { font-size: 21px; font-weight: 650; margin: 14px 0 0; letter-spacing: -.01em; }
  p.sub { margin: 6px 0 22px; font-size: 14px; color: var(--ink-3); }

  label { display: block; text-align: left; font-size: 13px; color: var(--ink-2);
          margin-bottom: 6px; font-weight: 560; }
  input[type="password"] {
    width: 100%; font: inherit; font-size: 17px;
    padding: 13px 14px; border-radius: 11px;
    border: 1px solid var(--line); background: var(--card-2); color: var(--ink);
  }
  input[type="password"]:focus {
    outline: none; border-color: var(--accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);
  }
  button {
    width: 100%; margin-top: 14px; font: inherit; font-size: 16px; font-weight: 600;
    padding: 13px 16px; border-radius: 11px; border: 0;
    background: var(--ink); color: var(--surface); cursor: pointer;
  }
  button:disabled { opacity: .55; cursor: default; }

  .err {
    margin-top: 14px; padding: 11px 13px; border-radius: 10px;
    background: var(--wash-critical); color: var(--critical-ink);
    font-size: 14px; text-align: left;
  }
  .err[hidden] { display: none; }
  .hint { margin-top: 18px; font-size: 12.5px; color: var(--ink-3); }
