    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    :root {
      --navy:     #0B1929;
      --mid:      #112240;
      --off-white:#F0EDE6;
      --muted:    #7A8FA6;
      --accent:   #1E6FD9;
      --green:    #00C896;
      --border:   rgba(240,237,230,0.08);
      --border-mid:rgba(240,237,230,0.14);
    }
    html, body {
      height: 100%;
      background: var(--navy);
      color: var(--off-white);
      font-family: 'Space Grotesk', sans-serif;
      -webkit-font-smoothing: antialiased;
    }
    body {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      min-height: 100vh;
      padding: 40px 24px;
    }

    .logo {
      font-size: 13px;
      font-weight: 600;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      margin-bottom: 48px;
      color: var(--off-white);
    }
    .logo span { color: var(--accent); }
    .logo sub {
      font-family: 'JetBrains Mono', monospace;
      font-size: 9px;
      font-weight: 400;
      letter-spacing: 0.16em;
      color: var(--muted);
      text-transform: uppercase;
      vertical-align: baseline;
      margin-left: 6px;
    }

    .card {
      width: 100%;
      max-width: 380px;
      background: var(--mid);
      border: 1px solid var(--border-mid);
      border-radius: 12px;
      padding: 40px 36px;
      display: flex;
      flex-direction: column;
      gap: 20px;
    }

    .card-title {
      font-size: 20px;
      font-weight: 500;
      letter-spacing: -0.01em;
      margin-bottom: 4px;
    }

    .field {
      display: flex;
      flex-direction: column;
      gap: 7px;
    }
    label {
      font-family: 'JetBrains Mono', monospace;
      font-size: 10px;
      letter-spacing: 0.13em;
      text-transform: uppercase;
      color: var(--muted);
    }
    input {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 14px;
      color: var(--off-white);
      background: var(--navy);
      border: 1px solid var(--border-mid);
      border-radius: 6px;
      padding: 11px 14px;
      outline: none;
      transition: border-color 0.2s;
      width: 100%;
    }
    input::placeholder { color: var(--muted); opacity: 0.5; }
    input:focus { border-color: var(--accent); }

    .btn {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 14px;
      font-weight: 500;
      letter-spacing: 0.04em;
      padding: 12px;
      background: var(--accent);
      color: #fff;
      border: none;
      border-radius: 6px;
      cursor: pointer;
      width: 100%;
      margin-top: 4px;
      transition: background 0.2s;
    }
    .btn:hover { background: #1a5fc0; }

    .contact-line {
      text-align: center;
      font-size: 12.5px;
      color: var(--muted);
      margin-top: 28px;
    }
    .contact-line a {
      color: var(--off-white);
      text-decoration: none;
      border-bottom: 1px solid rgba(240,237,230,0.2);
      transition: color 0.2s, border-color 0.2s;
    }
    .contact-line a:hover { color: var(--accent); border-color: var(--accent); }

    .error {
      font-family: 'JetBrains Mono', monospace;
      font-size: 11px;
      color: #e05a5a;
      letter-spacing: 0.05em;
      display: none;
    }
