*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    body{font-family:'Plus Jakarta Sans',system-ui,sans-serif;background:#f8f9fa;color:#1a1a2e;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:2rem 1rem 1rem}
    .page-footer{text-align:center;font-size:.75rem;color:#868e96;line-height:1.6;max-width:440px;width:100%}
    .page-footer p{margin:.25rem 0}
    .page-footer a{color:#6c5ce7;text-decoration:none;font-weight:600}
    .card{background:#fff;border-radius:16px;padding:2.5rem 2rem;max-width:440px;width:100%;box-shadow:0 2px 24px rgba(0,0,0,.06);border:1px solid #e9ecef}
    .brand{font-size:1.6rem;font-weight:800;color:#6c5ce7;margin-bottom:.25rem;text-align:center}
    .tagline{font-size:.9rem;color:#868e96;text-align:center;margin-bottom:2rem;line-height:1.5}
    label{display:block;font-size:.85rem;font-weight:600;color:#343a40;margin-bottom:.5rem}
    input[type=email]{width:100%;padding:.85rem 1rem;border:1px solid #ced4da;border-radius:10px;font-size:1rem;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s;margin-bottom:1rem}
    input:focus{border-color:#6c5ce7;box-shadow:0 0 0 4px rgba(108,92,231,.12)}
    .btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.85rem 1rem;background:#6c5ce7;color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:700;font-family:inherit;cursor:pointer;transition:background .15s}
    .btn:hover{background:#5b4bd5}
    .btn:disabled{opacity:.6;cursor:not-allowed}
    .btn-secondary{background:transparent;color:#1a1a2e;border:1px solid #ced4da}
    .btn-secondary:hover{background:#f1f3f5}
    .alert{padding:.75rem 1rem;border-radius:10px;font-size:.9rem;margin-bottom:1rem;display:none;line-height:1.5}
    .alert.shown{display:block}
    .alert-error{background:#fff5f3;border:1px solid #ffd9d2;color:#c0392b}
    .alert-success{background:#eefaf1;border:1px solid #c8eed3;color:#1d6334}
    .divider{display:flex;align-items:center;gap:.75rem;margin:1.5rem 0}
    .divider hr{flex:1;border:none;border-top:1px solid #e9ecef}
    .divider span{font-size:.8rem;color:#868e96}
    .footer-note{margin-top:1.5rem;text-align:center;font-size:.8rem;color:#868e96;line-height:1.6}
    .footer-note a{color:#6c5ce7;text-decoration:none;font-weight:600}
