*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto,Arial;color:#111;background:#f8f6f4;}
.page-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px}
.card{width:100%;max-width:480px;background:#fff;border-radius:14px;padding:34px 40px;box-shadow:0 20px 50px rgba(17,24,39,0.08)}
.brand{text-align:center;margin-bottom:16px}
.brand .logo{height:62px;margin-bottom:8px}
.brand h1{font-size:22px;color:#21314a;margin-bottom:6px}
.lead{color:#556;}
.login-form .row{margin-bottom:14px}
.login-form label{display:block;font-weight:600;margin-bottom:8px}
.login-form input[type="email"],.login-form input[type="password"]{width:100%;padding:12px 14px;border-radius:8px;border:1px solid #e6e6e6;font-size:15px}
.two-col{display:flex;justify-content:space-between;align-items:center;font-size:14px}
.checkbox{display:flex;align-items:center;gap:8px}
.recaptcha{background:#f3f6fb;border:1px dashed #d6e3fb;padding:12px;border-radius:8px;color:#3b5fa9;text-align:center}
.btn-primary{display:inline-block;background:linear-gradient(90deg,#4CA5CF,#8967D2,#F18A57);color:#fff;padding:12px 20px;border-radius:10px;border:0;font-weight:700;cursor:pointer;width:100%}
.small{margin-top:12px;color:#666;text-align:center}
.small a{color:#355;text-decoration:none;font-weight:700}
.forgot{color:#4CA5CF;text-decoration:none;font-weight:600}
.forgot:hover{text-decoration:underline}
@media (max-width:720px){.card{padding:22px}.brand h1{font-size:20px}}
