    /* --- Ensure theme flips on this page (local safeguards) --- */
    :root{
      --bg:#0e1218; --bg-elev:#151922; --bg-elev-2:#101521;
      --border:#232a3a; --muted:#9aa7bd; --text:#e8eaed; --text-soft:#cfd3dc; --brand:#9fb2ff;
      --radius:12px; --radius-sm:8px; --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem;
      --shadow:0 8px 20px rgba(0,0,0,.25);
    }
    html[data-theme="light"]{
      --bg:#f6f7fb; --bg-elev:#ffffff; --bg-elev-2:#f2f4f8;
      --border:#dfe3ea; --text:#0e1116; --text-soft:#3b4453; --muted:#5d6b7e; --brand:#3859ff;
    }

    /* Page-scoped layout for a comfy, centered sign-in */
    html, body{ height:100%; background:var(--bg); color:var(--text); }
    .auth-wrap{
      min-height:100dvh;
      display:grid;
      place-items:center;
      padding:1.25rem;
    }
    .auth-card{
      width:min(420px, 100%);
      padding:1.1rem 1rem 1rem;
      background:var(--bg-elev);
      border:1px solid var(--border);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
    }
    .auth-card h1{ margin:.25rem 0 .25rem; font-size:1.35rem; }
    .auth-sub{ margin:0 0 .6rem; color:var(--muted); }

    /* Form */
    .form{ display:grid; gap:.8rem; margin-top:.2rem; }
    .form label span{ display:block; margin-bottom:.25rem; color:var(--text-soft); font-size:.92rem; }
    input, button, select, textarea{
      font:inherit;
    }
    input[type="text"], input[type="password"]{
      width:100%;
      background:var(--bg-elev-2);
      color:var(--text);
      border:1px solid var(--border);
      border-radius:var(--radius-sm);
      padding:.45rem .55rem;
    }
    input::placeholder{ color:#6e7a93; }

    /* Password reveal control */
    .input-row{ position:relative; display:flex; align-items:center; }
    .input-row input{ padding-right:3.25rem; } /* room for toggle */
    .pw-toggle{
      position:absolute; right:.35rem; top:50%; transform:translateY(-50%);
      padding:.25rem .45rem; font-size:.82rem; border-radius:6px;
      background:var(--bg-elev-2); border:1px solid var(--border); color:var(--text);
      cursor:pointer;
    }
    .pw-toggle:hover{ background: color-mix(in srgb, var(--bg-elev-2), white 6%); }

    /* Alerts */
    .alert{
      background:#2a1111; border:1px solid #4a2626; color:#ffb3b3;
      border-radius:10px; padding:.6rem .7rem; margin:.6rem 0 .4rem;
    }

    .actions{ display:flex; align-items:center; gap:.6rem; margin-top:.25rem; }
    .actions .muted{ font-size:.92rem; color:var(--muted); }

    /* Use the same ghost-style theme button used on other pages */
    .login-theme {
      position:fixed; top:.75rem; right:.75rem; z-index:3000;
      display:inline-flex; align-items:center; justify-content:center; gap:.35rem;
      background:transparent;
      border:1px solid var(--border);
      color:var(--text);
      padding:.35rem .5rem;
      border-radius:8px;
    }
    .login-theme:hover{ background: color-mix(in srgb, var(--bg-elev-2), white 6%); }
    .login-theme svg{ width:18px; height:18px; display:block; }
