body {
        display: flex;
        flex-direction: column;
        min-height: 100vh;
        background: var(--bg);
      }

      .login-wrapper {
        flex: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 2rem;
		margin-top: 4rem;
      }

      .login-card {
        width: 100%;
        max-width: 400px;
        background: var(--surface);
        border: 1px solid var(--border);
        border-radius: 16px;
        box-shadow: 0 8px 40px rgba(3,4,94,0.08);
        overflow: hidden;
      }

      .login-header {
        text-align: center;
        padding: 2.5rem 2rem 1.5rem;
        background: linear-gradient(180deg, rgba(0,119,182,0.04) 0%, transparent 100%);
      }

      .login-logo {
        font-family: 'DM Serif Display', serif;
        font-size: 2rem;
        color: var(--blue-dark);
        margin-bottom: 0.25rem;
      }
      
      .login-logo img {
        max-width:65px;
      }

      .login-logo em {
        font-style: italic;
        color: var(--blue-mid);
      }

      .login-tagline {
        font-family: 'JetBrains Mono', monospace;
        font-size: 0.72rem;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        color: var(--muted);
      }

      .login-body {
        padding: 1.5rem 2rem 2.5rem;
      }

      .login-step {
        display: none;
      }
      .login-step.active {
        display: block;
        animation: loginFadeIn 0.25s ease;
      }

      @keyframes loginFadeIn {
        from { opacity: 0; transform: translateY(6px); }
        to { opacity: 1; transform: translateY(0); }
      }

      .login-title {
        font-family: 'DM Sans', sans-serif;
        font-size: 1.1rem;
        font-weight: 600;
        color: var(--ink);
        margin-bottom: 0.35rem;
      }

      .login-desc {
        font-size: 0.85rem;
        color: var(--muted);
        line-height: 1.5;
        margin-bottom: 1.25rem;
      }

      .login-desc strong {
        color: var(--blue-dark);
        font-weight: 600;
      }

      .login-input-group {
        margin-bottom: 1rem;
      }

      .login-input-label {
        display: block;
        font-family: 'JetBrains Mono', monospace;
        font-size: 0.7rem;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        color: var(--muted);
        margin-bottom: 0.4rem;
      }

      .login-input {
        width: 100%;
        padding: 0.7rem 0.9rem;
        border: 1px solid var(--border2);
        border-radius: 8px;
        font-family: 'JetBrains Mono', monospace;
        font-size: 0.88rem;
        color: var(--ink);
        background: var(--surface);
        outline: none;
        transition: border-color 0.2s;
        box-sizing: border-box;
      }
      .login-input:focus { border-color: var(--blue-mid); }
      .login-input::placeholder { color: var(--muted); }

      .login-input-otp {
        text-align: center;
        font-size: 1.5rem;
        letter-spacing: 0.5rem;
        padding: 0.8rem;
      }

      .login-btn {
        width: 100%;
        padding: 0.75rem;
        background: var(--blue-dark);
        color: #fff;
        border: none;
        border-radius: 8px;
        font-family: 'DM Sans', sans-serif;
        font-size: 0.92rem;
        font-weight: 600;
        cursor: pointer;
        transition: background 0.2s;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
      }
      .login-btn:hover { background: var(--blue-deepest); }
      .login-btn:disabled {
        opacity: 0.6;
        cursor: not-allowed;
      }

      .login-error {
        display: none;
        background: #fef2f2;
        border: 1px solid #fecaca;
        border-radius: 8px;
        padding: 0.6rem 0.9rem;
        font-size: 0.82rem;
        color: #b91c1c;
        margin-bottom: 1rem;
        line-height: 1.4;
      }
      .login-error.active { display: block; }

      .login-success {
        display: none;
        background: #f0f9fc;
        border: 1px solid #bae6fd;
        border-radius: 8px;
        padding: 0.6rem 0.9rem;
        font-size: 0.82rem;
        color: #0077b6;
        margin-bottom: 1rem;
        line-height: 1.4;
      }
      .login-success.active { display: block; }

      .login-link {
        display: inline-block;
        margin-top: 0.75rem;
        font-size: 0.82rem;
        color: var(--blue-dark);
        text-decoration: none;
        cursor: pointer;
        transition: color 0.15s;
      }
      .login-link:hover { color: var(--blue-deepest); }

      .login-footer {
        text-align: center;
        padding: 1.25rem 2rem;
        border-top: 1px solid var(--border);
        background: var(--surface2);
      }

      .login-footer-text {
        font-size: 0.78rem;
        color: var(--muted);
        line-height: 1.5;
      }

      .login-footer-text a {
        color: var(--blue-dark);
        text-decoration: none;
      }

      .login-spinner {
        width: 16px;
        height: 16px;
        border: 2px solid rgba(255,255,255,0.3);
        border-top-color: #fff;
        border-radius: 50%;
        animation: loginSpin 0.6s linear infinite;
      }

      @keyframes loginSpin {
        to { transform: rotate(360deg); }
      }

      /* Logged in state */
      .login-logged-in {
        text-align: center;
        padding: 1rem 0;
      }

      .login-avatar {
        width: 56px;
        height: 56px;
        border-radius: 50%;
        background: var(--bg2);
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 1rem;
        font-family: 'DM Serif Display', serif;
        font-size: 1.5rem;
        color: var(--blue-dark);
      }

      .login-user-email {
        font-family: 'JetBrains Mono', monospace;
        font-size: 0.82rem;
        color: var(--ink2);
        margin-bottom: 1.25rem;
      }

      .login-btn-outline {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        padding: 0.55rem 1.2rem;
        background: var(--surface);
        color: var(--blue-dark);
        border: 1px solid var(--border2);
        border-radius: 8px;
        font-family: 'DM Sans', sans-serif;
        font-size: 0.85rem;
        font-weight: 500;
        cursor: pointer;
        text-decoration: none;
        transition: background 0.15s, border-color 0.15s;
        margin: 0 0.25rem;
      }
      .login-btn-outline:hover { background: var(--bg2); border-color: var(--blue-mid); }

      .login-btn-danger {
        color: var(--danger);
        border-color: var(--border2);
      }
      .login-btn-danger:hover { background: #fef2f2; border-color: var(--danger); }

	/* RESPONSIVE */
	
	@media (max-width: 768px) {
		.login-wrapper {margin-top: 15%;}
	}

