 :root{--sn-blue:#0088db;--sn-blue-dark:#003b7a;--sn-red:#ff003c;--sn-red-dark:#d80032;--sn-dark:#001b44;--sn-light:#f4f8fd;--sn-border:#dce7f3;--sn-text:#10203f;--sn-muted:#6b7a90}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:linear-gradient(135deg,#f7fbff,#edf5ff);color:var(--sn-text)}
a{color:var(--sn-blue-dark);text-decoration:none;font-weight:700}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:42% 58%}
.auth-brand{background:linear-gradient(145deg,var(--sn-dark),var(--sn-blue-dark),var(--sn-blue));color:white;padding:42px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.auth-brand:after{content:"";position:absolute;right:-90px;bottom:-90px;width:330px;height:330px;border:55px solid rgba(255,255,255,.08);border-radius:50%}
.brand-top{display:flex;align-items:center;gap:14px;font-size:30px;font-weight:900}
.brand-logo{width:58px;height:58px;object-fit:contain}
.brand-safe{color:white}.brand-net{color:var(--sn-red)}
.brand-center h1{font-size:38px;margin:0 0 14px}.brand-center p{font-size:18px;line-height:1.6;max-width:440px}
.brand-badges{display:flex;gap:14px;flex-wrap:wrap}.brand-badges span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);padding:10px 14px;border-radius:999px;font-size:14px}
.auth-main{display:flex;align-items:center;justify-content:center;padding:35px}
.auth-card{width:100%;max-width:560px;background:white;border:1px solid var(--sn-border);box-shadow:0 18px 60px rgba(0,35,80,.12);border-radius:24px;padding:34px}
.auth-card.compact{max-width:480px}
.auth-title{font-size:30px;color:var(--sn-dark);margin:0 0 8px}.auth-subtitle{margin:0 0 26px;color:var(--sn-muted);line-height:1.5}
.flash{padding:12px 14px;border-radius:12px;margin-bottom:14px;font-size:14px}.flash.success{background:#e8fff2;color:#087037}.flash.danger{background:#ffeaf0;color:#a50025}.flash.warning{background:#fff6df;color:#8a5a00}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-group{margin-bottom:15px}.form-group.full{grid-column:1/-1}
label{display:block;font-weight:800;font-size:13px;margin-bottom:7px;color:var(--sn-dark)}
input,select{width:100%;height:48px;border:1px solid #cfdced;border-radius:12px;padding:0 14px;font-size:15px;outline:none;background:white;color:var(--sn-text)}
input:focus,select:focus{border-color:var(--sn-blue);box-shadow:0 0 0 4px rgba(0,136,219,.12)}
.auth-help{background:#edf7ff;color:#07346e;border-left:4px solid var(--sn-blue);padding:12px;border-radius:12px;font-size:13px;margin:8px 0 18px;line-height:1.5}
.btn-primary{width:100%;height:50px;border:0;border-radius:13px;background:linear-gradient(90deg,var(--sn-red),#ff315e);color:white;font-weight:900;font-size:15px;cursor:pointer;box-shadow:0 10px 24px rgba(255,0,60,.25)}
.btn-primary:hover{background:linear-gradient(90deg,var(--sn-red-dark),var(--sn-red))}
.auth-links{display:flex;justify-content:space-between;gap:10px;margin-top:18px;font-size:14px;flex-wrap:wrap}.remember{display:flex;align-items:center;gap:8px;font-size:14px;margin-bottom:16px}.remember input{width:auto;height:auto}
.otp-box{display:flex;gap:10px;justify-content:center;margin:18px 0}.otp-box input{text-align:center;font-size:24px;letter-spacing:8px;font-weight:900}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-brand{min-height:330px}.auth-main{padding:20px}.form-grid{grid-template-columns:1fr}.auth-card{padding:24px}.brand-center h1{font-size:30px}}
