/* Reference-aligned KKIP login */
.auth-shell{min-height:100vh;position:relative;display:grid;place-items:center;overflow:hidden;padding:clamp(28px,6vh,60px) 18px;background:#17316f;isolation:isolate}
.auth-shell::before,.auth-shell::after{content:"";display:block;position:absolute;pointer-events:none;inset:0}
.auth-shell::before{z-index:0;inset:-10px;background:url("/images/kkip-masterplan-background.png") center/cover no-repeat;filter:blur(3px);transform:scale(1.015)}
.auth-shell::after{z-index:0;background:linear-gradient(135deg,rgba(12,35,86,.32),rgba(8,60,84,.2))}
.auth-shell>*{position:relative;z-index:1}
.auth-shell .map-pulses{display:none}
.login-shell{width:min(432px,100%);display:flex;flex-direction:column;align-items:stretch}
.portal-login{position:relative;width:100%;padding:24px 28px 28px;overflow:hidden;background:rgba(255,255,255,.91);border:1px solid rgba(255,255,255,.78);border-radius:15px;box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 14px 38px rgba(5,20,55,.25);backdrop-filter:blur(10px) saturate(120%);-webkit-backdrop-filter:blur(10px) saturate(120%)}
.portal-login::before{display:none}
.portal-login>*{position:relative;z-index:1}
.portal-login .system-logo--login{display:flex;width:184px;max-width:100%;margin:0 auto 6px}
.portal-login .system-logo--login .system-logo-art{width:184px;height:96px;border-radius:10px;background:rgba(255,255,255,.08);box-shadow:none}
.portal-login .system-logo--login .system-logo-art img{mix-blend-mode:multiply;filter:contrast(1.1) saturate(1.08)}
.portal-login .complete-earth-backdrop,
.portal-login .complete-earth-globe,
.portal-login .earth-link-ring{display:none}
.portal-login .login-intro{text-align:center;margin:0 0 25px}
.portal-login .login-intro h1{margin:0 0 5px;font-size:24px;line-height:1.25;font-weight:750;color:#07111b}
.portal-login .login-intro p{margin:0;color:#253541;font-size:15px}
.portal-login .login-form{display:grid;gap:0}
.portal-login .login-form>label:not(.check){margin:0 0 7px;font-size:15px;font-weight:700;color:#07111b}
.portal-login .login-form>input,.portal-login .password-field{margin-bottom:13px}
.portal-login .login-form>input,.portal-login .password-field input{width:100%;min-height:46px;margin-top:0;padding:10px 13px;border:1px solid #0b5b8e;border-radius:8px;background:#fff;color:#07111b;box-shadow:none}
.portal-login .login-form>input:focus,.portal-login .password-field input:focus{border-color:#064f7e;outline:3px solid rgba(6,79,126,.16)}
.portal-login .password-field{position:relative;border-radius:8px}
.portal-login .password-field input{margin:0;padding-right:50px}
.portal-login .password-toggle{right:7px;top:5px;bottom:5px;width:36px;padding:6px;border-radius:7px;background:transparent;color:#6b7785}
.portal-login .password-toggle:hover{background:#eef4f7;color:#064f7e}
.portal-login .password-toggle svg{width:21px;height:21px}
.portal-login .login-remember{display:flex!important;align-items:center;gap:8px;margin:2px 0 19px!important;font-size:13px;font-weight:500!important;color:#3f4d57}
.portal-login .login-remember input{width:16px;height:16px;margin:1px 0 0;accent-color:#064f7e}
.portal-login .login-submit{display:flex;width:100%;min-height:44px;gap:9px;padding:10px 15px;border:0;border-radius:8px;background:#064f7e;color:#fff;font-size:15px;font-weight:750;box-shadow:0 2px 4px rgba(6,79,126,.18)}
.portal-login .login-submit:hover{background:#043e64;text-decoration:none}
.portal-login .login-submit svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.portal-login .field-error{margin:-7px 0 12px}
.login-page-footer{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:18px;color:rgba(255,255,255,.88);font-size:10px;line-height:1.45;text-align:center;text-shadow:0 1px 4px rgba(5,20,55,.8)}
@media(max-width:560px){.auth-shell{padding:20px 14px}.login-shell{width:min(408px,100%)}.portal-login{padding:21px 22px 24px}.portal-login .system-logo--login{width:168px}.portal-login .system-logo--login .system-logo-art{width:168px;height:88px}.portal-login .login-intro{margin-bottom:22px}.portal-login .login-intro h1{font-size:23px}}
@media(max-height:690px) and (min-width:561px){.auth-shell{place-items:start center;padding-top:20px;padding-bottom:20px}.portal-login{padding-top:18px;padding-bottom:22px}.portal-login .system-logo--login{width:158px}.portal-login .system-logo--login .system-logo-art{width:158px;height:82px}.portal-login .login-intro{margin-bottom:19px}}
