.login-container {
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 100vh;
      background: var(--bg-base);
      padding: 20px;
    }

    .login-card {
      background: var(--bg-card);
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      padding: 40px;
      width: 100%;
      max-width: 400px;
      box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
    }

    .login-header {
      text-align: center;
      margin-bottom: 30px;
    }

    .login-logo {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      margin-bottom: 20px;
    }

    .login-logo .logo-mark {
      width: 48px;
      height: 48px;
      background: var(--accent);
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .login-logo .logo-mark svg {
      width: 24px;
      height: 24px;
      color: #07090f;
    }

    .login-logo .logo-text {
      font-family: 'Syne', sans-serif;
      font-weight: 800;
      font-size: 24px;
      color: var(--text-primary);
      letter-spacing: -0.4px;
    }

    .login-logo .logo-text span {
      color: var(--accent);
    }

    .login-title {
      font-size: 18px;
      color: var(--text-secondary);
      margin: 0;
    }

    .login-form {
      display: flex;
      flex-direction: column;
      gap: 20px;
    }

    .form-group {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }

    .form-label {
      font-size: 14px;
      font-weight: 500;
      color: var(--text-primary);
    }

    .form-input {
      background: var(--bg-input);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      padding: 12px 16px;
      color: var(--text-primary);
      font-size: 14px;
      transition: border-color var(--transition);
    }

    .form-input:focus {
      outline: none;
      border-color: var(--accent);
      box-shadow: 0 0 0 3px var(--accent-glow);
    }

    .login-btn {
      background: var(--accent);
      color: #07090f;
      border: none;
      border-radius: var(--radius);
      padding: 12px 24px;
      font-size: 14px;
      font-weight: 600;
      cursor: pointer;
      transition: all var(--transition);
      margin-top: 10px;
    }

    .login-btn:hover {
      background: #7affc2;
      transform: translateY(-1px);
    }

    .login-btn:disabled {
      opacity: 0.6;
      cursor: not-allowed;
      transform: none;
    }

    .alert {
      padding: 12px 16px;
      border-radius: var(--radius);
      font-size: 14px;
      margin-bottom: 20px;
    }

    .alert-error {
      background: var(--red-dim);
      border: 1px solid var(--red);
      color: var(--red);
    }

    .alert-success {
      background: var(--accent-dim);
      border: 1px solid var(--accent);
      color: var(--accent);
    }

    .login-footer {
      text-align: center;
      margin-top: 20px;
      font-size: 12px;
      color: var(--text-muted);
    }

    .login-footer a {
      color: var(--accent);
      text-decoration: none;
    }

    .login-footer a:hover {
      text-decoration: underline;
    }