/* APKERNA v1.3.4 · Tema login saja; menu, transaksi, dan dashboard tidak dipengaruhi */
body:has(.masuk-layout){background:#244e42;}
.masuk-layout{min-height:100vh;min-height:100dvh;background:#244e42 url('../img/login-background.jpg') center center / cover no-repeat;position:relative;isolation:isolate;}
.masuk-layout::before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(110deg,rgba(2,26,23,.29),rgba(9,31,24,.06) 48%,rgba(1,33,24,.27));pointer-events:none}
.masuk-layout .utama{margin-left:0;min-height:100vh;min-height:100dvh}
.masuk-layout .konten{min-height:100vh;min-height:100dvh;max-width:none;padding:48px 20px;display:flex;align-items:center;justify-content:center}
.masuk-layout .notifikasi{background:rgba(105,29,35,.7);border:1px solid rgba(255,222,222,.45);color:white;position:fixed;z-index:4;top:15px;left:50%;transform:translateX(-50%);max-width:min(500px,calc(100% - 35px));box-shadow:0 8px 28px #0004}
.masuk-layout .notifikasi.sukses{background:rgba(6,94,64,.78)}
.login-glass-card{width:min(455px,100%);background:linear-gradient(135deg,rgba(254,255,255,.18),rgba(8,29,23,.34) 70%);color:#fff;border:2px solid rgba(255,255,255,.66);border-radius:20px;box-shadow:0 22px 74px #021d184c,inset 0 1px 0 #ffffff31;-webkit-backdrop-filter:blur(19px) saturate(115%);backdrop-filter:blur(19px) saturate(115%);padding:35px 32px 28px;text-shadow:0 1px 2px #0002}
.login-brand{display:flex;align-items:center;justify-content:center;gap:12px;font-size:25px;font-weight:800;margin:0 0 25px;letter-spacing:-.7px;color:white}
.login-brand-mark{height:43px;width:43px;display:inline-flex;flex:0 0 43px;align-items:center;justify-content:center;border:2px solid #ffffffc9;border-radius:50%;overflow:hidden;background:#ffffff22}
.login-brand-mark .logo-perusahaan-img{width:100%;height:100%;object-fit:contain;background:white}
.login-brand-mark .ikon-svg{width:28px;height:28px}
.login-glass-card h1{font-size:30px;line-height:1.25;letter-spacing:-.7px;margin:5px 0 9px;color:white;text-align:left}
.login-subtitle{font-size:13px;color:#fffce9;opacity:.92;line-height:1.5;margin:0 0 27px}
.login-glass-form{display:flex;flex-direction:column;gap:13px}
.login-input-wrap{display:flex;align-items:center;gap:10px;position:relative;height:51px;border:1px solid #fffd;border-radius:11px;background:rgba(4,31,24,.15);padding:0 12px;transition:.17s;min-width:0}
.login-input-wrap:focus-within{background:rgba(255,255,255,.13);border-color:#fff;box-shadow:0 0 0 3px #fff3}
.login-input-wrap>svg{width:19px;height:19px;flex:0 0 19px;color:white;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
.login-input-wrap input{width:100%;min-width:0;flex:1;background:transparent!important;border:0!important;outline:0!important;box-shadow:none!important;font-size:13px;color:#fff!important;padding:12px 0!important;letter-spacing:.2px}
.login-input-wrap input::placeholder{color:rgba(255,255,255,.92);opacity:1}
.login-input-wrap input:-webkit-autofill,.login-input-wrap input:-webkit-autofill:hover,.login-input-wrap input:-webkit-autofill:focus{-webkit-text-fill-color:white;transition:background-color 5000s ease-in-out 0s}
.login-a11y{position:absolute;clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.login-visibility{display:grid;place-items:center;flex:0 0 28px;width:28px;height:34px;background:transparent;border:0;padding:3px;color:white;cursor:pointer}
.login-visibility svg{width:21px;height:21px;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.login-visibility .login-eye-strike{display:block}
.login-visibility[aria-pressed="true"] .login-eye-strike{display:none}
.login-primary{display:flex;justify-content:center;align-items:center;height:52px;border:none;border-radius:11px;margin-top:12px;width:100%;background:linear-gradient(105deg,#cbd621 0%,#74b632 40%,#05a475 100%);color:#fff;font-weight:800;font-size:16px;text-decoration:none;text-shadow:0 1px 2px #0003;box-shadow:0 10px 28px #053e2c4d;cursor:pointer;transition:transform .15s,filter .15s}
.login-primary:hover{filter:brightness(1.07);transform:translateY(-1px)}.login-primary:focus-visible,.login-visibility:focus-visible{outline:3px solid white;outline-offset:3px}
.login-foot{display:flex;gap:13px;align-items:center;justify-content:center;margin-top:27px;color:rgba(255,255,255,.8);font-size:12px;letter-spacing:1.2px}.login-foot span{height:1px;width:52px;background:#ffffff80}
.login-note{text-align:center;font-size:11px;color:rgba(255,255,255,.88);margin-top:6px}
@media(max-width:560px){.masuk-layout .konten{padding:28px 15px;align-items:center}.login-glass-card{max-width:390px;padding:29px 23px 26px;border-radius:18px}.login-brand{font-size:22px;margin-bottom:24px}.login-glass-card h1{font-size:29px}.login-input-wrap{height:52px}.login-primary{height:51px}}
@media(prefers-reduced-motion:reduce){.login-primary,.login-input-wrap{transition:none}}
