*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    body {
      font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace;
      background: #0d1117;
      color: #c9d1d9;
      min-height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .card {
      width: 100%;
      max-width: 380px;
      padding: 40px 36px;
      background: #161b22;
      border: 1px solid #30363d;
      border-radius: 8px;
    }

    .logo {
      text-align: center;
      margin-bottom: 28px;
    }

    .logo h1 {
      font-size: 13px;
      font-weight: 600;
      color: #58a6ff;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .logo p {
      font-size: 11px;
      color: #8b949e;
      margin-top: 4px;
    }

    label {
      display: block;
      font-size: 12px;
      color: #8b949e;
      margin-bottom: 6px;
    }

    input {
      display: block;
      width: 100%;
      padding: 9px 12px;
      font-size: 13px;
      font-family: inherit;
      background: #0d1117;
      border: 1px solid #30363d;
      border-radius: 6px;
      color: #c9d1d9;
      outline: none;
      transition: border-color 0.15s;
    }

    input:focus { border-color: #58a6ff; }

    .field { margin-bottom: 16px; }

    button {
      width: 100%;
      padding: 10px;
      margin-top: 8px;
      font-family: inherit;
      font-size: 13px;
      font-weight: 600;
      background: #238636;
      color: #fff;
      border: none;
      border-radius: 6px;
      cursor: pointer;
      transition: background 0.15s;
    }

    button:hover:not(:disabled) { background: #2ea043; }
    button:disabled { opacity: 0.5; cursor: not-allowed; }

    .error {
      margin-top: 14px;
      padding: 10px 12px;
      background: rgba(248, 81, 73, 0.1);
      border: 1px solid rgba(248, 81, 73, 0.4);
      border-radius: 6px;
      font-size: 12px;
      color: #f85149;
      display: none;
    }

    .error.visible { display: block; }
