.iw-login-body{background:var(--iw-offwhite);min-height:100vh;margin:0;}

/* ---------- Split screen: form left, animated brand panel right ---------- */
.iw-split{display:flex;min-height:100vh;}
.iw-split-form{flex:1;display:flex;align-items:center;justify-content:center;padding:24px;}
.iw-login-card{width:100%;max-width:420px;background:var(--iw-white);border-radius:16px;box-shadow:var(--iw-shadow);padding:36px 36px 40px;animation:iwFadeUp .55s cubic-bezier(.22,1,.36,1) both;}
.iw-login-brand{text-align:center;margin-bottom:10px;}

.iw-split-aside{
    flex:1;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg, var(--iw-blue), var(--iw-blue-dark));
    background-size:200% 200%;animation:iwGradientShift 14s ease infinite;
    color:#fff;padding:48px;
}
.iw-split-aside-shapes{position:absolute;inset:0;}
.iw-shape{position:absolute;border-radius:50%;background:rgba(255,255,255,0.12);animation:iwBlobFloat 16s ease-in-out infinite;}
.iw-shape-1{width:260px;height:260px;top:-60px;left:-60px;}
.iw-shape-2{width:180px;height:180px;bottom:10%;right:-40px;animation-delay:3s;}
.iw-shape-3{width:120px;height:120px;bottom:-30px;left:20%;animation-delay:6s;}
.iw-split-aside-content{position:relative;z-index:1;max-width:380px;text-align:center;}
.iw-split-quote{font-size:22px;line-height:1.5;font-weight:600;margin:0 0 14px;}
.iw-split-quote-by{font-size:13px;color:rgba(255,255,255,0.8);margin:0;}
@media (max-width:860px){ .iw-split-aside{display:none;} }

/* ---------- Lookout-inspired watching eyes ---------- */
.iw-lookout{display:flex;justify-content:center;margin-bottom:6px;}

/* ---------- Password show/hide ---------- */
.iw-password-wrap{position:relative;}
.iw-password-wrap input{width:100%;padding-right:42px;}
.iw-password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--iw-muted);cursor:pointer;padding:4px;display:flex;}
.iw-password-toggle:hover{color:var(--iw-text);}
.iw-login-brand-fallback{font-size:22px;font-weight:700;color:var(--iw-blue);}
.iw-login-title{font-size:24px;font-weight:700;margin:0 0 6px;color:var(--iw-text);text-align:center;}
.iw-login-sub{color:var(--iw-muted);text-align:center;margin:0 0 28px;font-size:14px;}
.iw-login-form{display:flex;flex-direction:column;gap:16px;}
.iw-field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--iw-muted);font-weight:600;}
.iw-field input{padding:12px 14px;border:1px solid var(--iw-border);border-radius:8px;font-size:15px;transition:border-color .2s ease, box-shadow .2s ease;}
.iw-field input:focus{outline:none;border-color:var(--iw-blue);box-shadow:0 0 0 3px rgba(26,86,219,0.15);}
.iw-btn-block{width:100%;margin-top:4px;}
.iw-divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:var(--iw-muted);font-size:13px;}
.iw-divider::before,.iw-divider::after{content:"";flex:1;height:1px;background:var(--iw-border);}
.iw-btn-google{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px;border:1px solid var(--iw-border);border-radius:8px;background:var(--iw-white);color:var(--iw-text);font-weight:600;transition:background .2s ease, transform .15s ease;}
.iw-btn-google:hover{background:#f9fafb;transform:translateY(-1px);color:var(--iw-text);}
.iw-alert{padding:12px 14px;border-radius:8px;font-size:14px;margin-bottom:18px;}
.iw-alert-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;}
.iw-alert-success{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0;}
