:root{--brand-400:#2aa8c4;--brand-500:#1190ac;--brand-600:#0c768d;--brand-700:#08586b;--brand-glow:rgba(17,144,172,.32);--brand-glow-strong:rgba(17,144,172,.5);--font-body:"SF Pro Text","SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-display:"SF Pro Display","SF Pro Text",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"Space Mono",ui-monospace,"Cascadia Mono","Courier New",monospace;--page-bg:radial-gradient(circle at 15% 10%,#e9f7fc 0%,#f5fafc 42%,#e3edf5 100%);--orb-1:rgba(17,144,172,.28);--orb-2:rgba(56,189,248,.24);--orb-3:rgba(129,140,248,.2);--grid-line:rgba(15,23,42,.045);--card-bg:hsla(0,0%,100%,.82);--card-border:hsla(0,0%,100%,.9);--card-shadow:0 32px 64px -34px rgba(6,40,55,.55),0 12px 28px -20px rgba(15,23,42,.28);--card-top-glow:rgba(17,144,172,.16);--text-strong:#0b1a24;--text-body:#33465a;--text-muted:#66798d;--text-placeholder:#93a3b5;--field-bg:hsla(0,0%,100%,.92);--field-bg-focus:#fff;--field-border:rgba(15,23,42,.12);--field-border-hover:rgba(17,144,172,.42);--field-icon:#8296ad;--field-focus-ring:rgba(17,144,172,.16);--captcha-bg:rgba(240,246,250,.95);--captcha-dot:rgba(148,163,184,.55);--captcha-code:#1190ac;--captcha-code-shadow:1px 1px 1px hsla(0,0%,100%,.9),-1px -1px 1px rgba(0,0,0,.06);--captcha-sheen:hsla(0,0%,100%,.6);--captcha-strike-1:rgba(17,144,172,.45);--captcha-strike-2:rgba(4,49,62,.28);--hover-tint:rgba(17,144,172,.09);--logo-plate-bg:hsla(0,0%,100%,.72);--logo-plate-border:rgba(15,23,42,.06);--alert-danger-bg:rgba(254,226,226,.95);--alert-danger-text:#9f1239;--alert-danger-accent:#f43f5e;--alert-success-bg:rgba(220,252,231,.95);--alert-success-text:#166534;--alert-success-accent:#22c55e}body.dark-mode,html.dark-mode{--page-bg:radial-gradient(circle at 50% 0%,#0e2f3d 0%,#081a24 45%,#03090d 100%);--hover-tint:rgba(56,189,248,.12);--orb-1:rgba(17,144,172,.5);--orb-2:rgba(56,189,248,.32);--orb-3:rgba(45,212,191,.22);--grid-line:rgba(148,197,224,.05);--card-bg:rgba(15,27,40,.72);--card-border:rgba(148,197,224,.16);--card-shadow:0 36px 72px -32px rgba(0,0,0,.9),0 0 0 1px hsla(0,0%,100%,.02);--card-top-glow:rgba(56,189,248,.18);--text-strong:#f8fafc;--text-body:#d7e2ec;--text-muted:#93a7bb;--text-placeholder:#64798f;--field-bg:rgba(9,18,28,.72);--field-bg-focus:rgba(9,20,31,.94);--field-border:rgba(148,197,224,.16);--field-border-hover:rgba(56,189,248,.45);--field-icon:#7f97ad;--field-focus-ring:rgba(56,189,248,.2);--captcha-bg:rgba(9,18,28,.8);--captcha-dot:rgba(148,197,224,.28);--captcha-code:#38bdf8;--captcha-code-shadow:0 1px 2px rgba(0,0,0,.65);--captcha-sheen:rgba(56,189,248,.18);--captcha-strike-1:rgba(56,189,248,.55);--captcha-strike-2:rgba(148,197,224,.3);--logo-plate-bg:rgba(8,16,26,.55);--logo-plate-border:rgba(148,197,224,.14);--alert-danger-bg:rgba(127,29,29,.32);--alert-danger-text:#fecdd3;--alert-danger-accent:#fb7185;--alert-success-bg:rgba(20,83,62,.32);--alert-success-text:#bbf7d0;--alert-success-accent:#34d399}@media (prefers-color-scheme:dark){html:not([data-theme=light]):not(.dark-mode){--page-bg:radial-gradient(circle at 50% 0%,#0e2f3d 0%,#081a24 45%,#03090d 100%);--hover-tint:rgba(56,189,248,.12);--orb-1:rgba(17,144,172,.5);--orb-2:rgba(56,189,248,.32);--orb-3:rgba(45,212,191,.22);--grid-line:rgba(148,197,224,.05);--card-bg:rgba(15,27,40,.72);--card-border:rgba(148,197,224,.16);--card-shadow:0 36px 72px -32px rgba(0,0,0,.9),0 0 0 1px hsla(0,0%,100%,.02);--card-top-glow:rgba(56,189,248,.18);--text-strong:#f8fafc;--text-body:#d7e2ec;--text-muted:#93a7bb;--text-placeholder:#64798f;--field-bg:rgba(9,18,28,.72);--field-bg-focus:rgba(9,20,31,.94);--field-border:rgba(148,197,224,.16);--field-border-hover:rgba(56,189,248,.45);--field-icon:#7f97ad;--field-focus-ring:rgba(56,189,248,.2);--captcha-bg:rgba(9,18,28,.8);--captcha-dot:rgba(148,197,224,.28);--captcha-code:#38bdf8;--captcha-code-shadow:0 1px 2px rgba(0,0,0,.65);--captcha-sheen:rgba(56,189,248,.18);--captcha-strike-1:rgba(56,189,248,.55);--captcha-strike-2:rgba(148,197,224,.3);--logo-plate-bg:rgba(8,16,26,.55);--logo-plate-border:rgba(148,197,224,.14);--alert-danger-bg:rgba(127,29,29,.32);--alert-danger-text:#fecdd3;--alert-danger-accent:#fb7185;--alert-success-bg:rgba(20,83,62,.32);--alert-success-text:#bbf7d0;--alert-success-accent:#34d399}}*,:after,:before{box-sizing:border-box}body{align-items:center;background:var(--page-bg) no-repeat fixed!important;color:var(--text-body);display:flex;font-family:var(--font-body);justify-content:center;margin:0;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;transition:color .3s ease}main.container{align-items:center!important;display:flex!important;justify-content:center!important;margin:0!important;max-width:100%!important;min-height:100vh!important;padding:24px 16px!important;position:relative;width:100%!important}.login-backdrop{inset:0;overflow:hidden;pointer-events:none;position:fixed;z-index:0}.backdrop-grid{background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:64px 64px;inset:-1px;-webkit-mask-image:radial-gradient(circle at 50% 38%,#000 0,rgba(0,0,0,.35) 45%,transparent 78%);mask-image:radial-gradient(circle at 50% 38%,#000 0,rgba(0,0,0,.35) 45%,transparent 78%);position:absolute}.backdrop-orb{animation:orbFloat 22s ease-in-out infinite;border-radius:50%;filter:blur(70px);position:absolute;will-change:transform}.orb-primary{background:radial-gradient(circle at 35% 35%,var(--orb-1),transparent 68%);height:min(46vw,520px);left:-8%;top:-12%;width:min(46vw,520px)}.orb-accent{animation-delay:-7s;background:radial-gradient(circle at 65% 65%,var(--orb-2),transparent 68%);bottom:-14%;height:min(40vw,460px);right:-8%;width:min(40vw,460px)}.orb-mint{animation-delay:-14s;background:radial-gradient(circle,var(--orb-3),transparent 70%);height:min(34vw,380px);left:54%;top:44%;width:min(34vw,380px)}@keyframes orbFloat{0%,to{transform:translateZ(0) scale(1)}33%{transform:translate3d(3%,4%,0) scale(1.06)}66%{transform:translate3d(-3%,-2%,0) scale(.96)}}.login-card-container{margin:auto;max-width:428px;position:relative;width:100%;z-index:1}.login-card{animation:cardAppear .5s cubic-bezier(.22,.8,.3,1);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);background:var(--card-bg);border:1px solid var(--card-border);border-radius:28px;box-shadow:var(--card-shadow);overflow:hidden;padding:34px 30px 28px;position:relative}.login-card>*{position:relative;z-index:2}.login-card:before{animation:railSlide 7s linear infinite;background:linear-gradient(90deg,transparent 0,var(--brand-400) 22%,var(--brand-500) 50%,var(--brand-400) 78%,transparent 100%);background-size:220% 100%;content:"";height:3px;left:0;position:absolute;right:0;top:0;z-index:1}.login-card:after{background:radial-gradient(ellipse at 50% 0,var(--card-top-glow),transparent 72%);content:"";height:170px;left:50%;pointer-events:none;position:absolute;top:0;transform:translateX(-50%);width:78%;z-index:0}@keyframes cardAppear{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes railSlide{0%{background-position:0 50%}to{background-position:220% 50%}}.login-header{animation:riseIn .5s cubic-bezier(.22,.8,.3,1) .04s backwards;margin-bottom:26px;text-align:center}.logo-container{display:flex}.logo-container,.logo-plate{align-items:center;justify-content:center}.logo-plate{background:transparent;border:none;box-shadow:none;display:inline-flex;padding:0}.app-logo-img{display:block;max-height:56px;max-width:220px;object-fit:contain;width:auto}.brand-default-flex{align-items:center;display:inline-flex;gap:12px;justify-content:center}.pln-logo-icon{max-height:40px;width:auto}.brand-divider-line{background:var(--field-border);border-radius:1px;height:30px;width:2px}.brand-title-text{color:var(--text-strong);font-family:var(--font-display);font-size:22px;font-weight:800;letter-spacing:.4px}@keyframes riseIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-card form>div{animation:riseIn .5s cubic-bezier(.22,.8,.3,1) backwards}.login-card form>div:first-of-type{animation-delay:.1s}.login-card form>div:nth-of-type(2){animation-delay:.15s}.login-card form>div:nth-of-type(3){animation-delay:.2s}.login-card form>div:nth-of-type(4){animation-delay:.25s}.login-card form>div:nth-of-type(5){animation-delay:.3s}.login-card form>div:nth-of-type(6){animation-delay:.38s}.form-group-item{margin-bottom:18px}.form-label-title{color:var(--text-body);display:block;font-family:var(--font-body);font-size:.82rem;font-weight:600;letter-spacing:.2px;margin-bottom:7px}.input-box-wrapper{align-items:center;background:var(--field-bg);border:1.5px solid var(--field-border);border-radius:14px;display:flex;position:relative;transition:border-color .2s ease,box-shadow .25s ease,background-color .2s ease}.input-box-wrapper:hover{border-color:var(--field-border-hover)}.input-box-wrapper:focus-within{background:var(--field-bg-focus);border-color:var(--brand-500);box-shadow:0 0 0 4px var(--field-focus-ring)}.input-icon-start{align-items:center;color:var(--field-icon);display:flex;font-size:1rem;justify-content:center;padding-left:15px;transition:color .2s ease}.input-box-wrapper:focus-within .input-icon-start{color:var(--brand-500)}.form-input-text{background:transparent;border:none;box-shadow:none!important;color:var(--text-strong);flex:1;font-family:var(--font-body);font-size:.925rem;min-width:0;outline:none!important;padding:15px;width:100%}.form-input-text::placeholder{color:var(--text-placeholder);font-size:.9rem;font-weight:400}.toggle-pwd-btn{align-items:center;background:none;border:none;color:var(--field-icon);cursor:pointer;display:flex;font-size:1rem;justify-content:center;padding:0 15px;transition:color .2s ease}.toggle-pwd-btn:hover{color:var(--brand-500)}.captcha-field-input:-webkit-autofill,.form-input-text:-webkit-autofill,.form-input-text:-webkit-autofill:focus,.form-input-text:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-strong);-webkit-box-shadow:0 0 0 1000px var(--field-bg-focus) inset;transition:background-color 5000s ease-in-out 0s}.captcha-row-group{align-items:center;display:flex;gap:10px;width:100%}.captcha-badge-display{align-items:center;background-color:var(--captcha-bg);background-image:radial-gradient(var(--captcha-dot) .75px,transparent .75px),radial-gradient(var(--captcha-dot) .75px,transparent .75px);background-position:0 0,5px 5px;background-size:10px 10px;border:1.5px solid var(--field-border);border-radius:14px;display:flex;flex:0 0 126px;height:52px;justify-content:center;overflow:hidden;position:relative;user-select:none}.captcha-badge-display:after{animation:captchaScan 5s ease-in-out infinite;background:linear-gradient(100deg,transparent 38%,var(--captcha-sheen) 50%,transparent 62%);content:"";inset:0;pointer-events:none;position:absolute;transform:translateX(-110%)}@keyframes captchaScan{0%{transform:translateX(-110%)}55%,to{transform:translateX(110%)}}#captchaText{color:var(--captcha-code);font-family:var(--font-mono);font-size:1.22rem;font-weight:700;letter-spacing:4px;position:relative;text-shadow:var(--captcha-code-shadow);transform:rotate(-1deg) skewX(-4deg);z-index:2}.captcha-strike-1,.captcha-strike-2{left:-10%;pointer-events:none;position:absolute;width:120%;z-index:3}.captcha-strike-1{background:var(--captcha-strike-1);height:2px;top:47%;transform:rotate(-3deg)}.captcha-strike-2{background:var(--captcha-strike-2);height:1.5px;top:55%;transform:rotate(4deg)}.captcha-reload-btn{align-items:center;background:var(--field-bg);border:1.5px solid var(--field-border);border-radius:14px;color:var(--field-icon);cursor:pointer;display:flex;flex:0 0 52px;font-size:.95rem;height:52px;justify-content:center;padding:0;transition:color .2s ease,border-color .2s ease,background-color .2s ease;width:52px}.captcha-reload-btn i{transition:transform .45s ease}.captcha-reload-btn:hover{background:var(--hover-tint);border-color:var(--brand-500);color:var(--brand-500)}.captcha-reload-btn:hover i{transform:rotate(180deg)}.captcha-input-box{flex:1;min-width:0}.captcha-field-input{background:var(--field-bg);border:1.5px solid var(--field-border);border-radius:14px;color:var(--text-strong);font-family:var(--font-body);font-size:.925rem;height:52px;outline:none;padding:0 15px;transition:border-color .2s ease,box-shadow .25s ease,background-color .2s ease;width:100%}.captcha-field-input::placeholder{color:var(--text-placeholder);font-size:.9rem;font-weight:400}.captcha-field-input:hover{border-color:var(--field-border-hover)}.captcha-field-input:focus{background:var(--field-bg-focus);border-color:var(--brand-500);box-shadow:0 0 0 4px var(--field-focus-ring)}.remember-group{margin:4px 0 22px}.custom-check-container{align-items:center;cursor:pointer;display:inline-flex;gap:10px;user-select:none}.custom-check-container input{cursor:pointer;height:0;opacity:0;position:absolute;width:0}.checkmark-box{align-items:center;background-color:var(--field-bg);border:1.5px solid var(--field-border);border-radius:6px;display:flex;flex:0 0 19px;height:19px;justify-content:center;position:relative;transition:all .2s ease;width:19px}.checkmark-box:after{border-bottom:2px solid #fff;border-left:2px solid #fff;content:"";height:5px;margin-top:-3px;opacity:0;transform:rotate(-45deg) scale(.5);transition:all .2s ease;width:9px}.custom-check-container input:checked~.checkmark-box{background-image:linear-gradient(135deg,var(--brand-400),var(--brand-600));border-color:transparent;box-shadow:0 4px 12px -4px var(--brand-glow-strong)}.custom-check-container input:checked~.checkmark-box:after{opacity:1;transform:rotate(-45deg) scale(1)}.custom-check-container input:focus-visible~.checkmark-box{box-shadow:0 0 0 4px var(--field-focus-ring)}.check-label-text{color:var(--text-muted);font-size:.875rem;font-weight:500}.btn-submit-masuk{align-items:center;background-color:var(--brand-500)!important;background-image:linear-gradient(135deg,#2aa8c4,#1190ac 48%,#0c768d)!important;background-position:0 50%;background-size:180% 180%;border:none!important;border-radius:14px;box-shadow:0 14px 28px -14px var(--brand-glow-strong),inset 0 1px 0 hsla(0,0%,100%,.22);color:#fff!important;cursor:pointer;display:flex;font-family:var(--font-display);font-size:.975rem;font-weight:700;gap:10px;height:52px;justify-content:center;letter-spacing:.3px;overflow:hidden;padding:0 18px;position:relative;transition:background-position .5s ease,box-shadow .25s ease,transform .18s ease;width:100%}.btn-submit-masuk:hover:not(:disabled){background-position:100% 50%;box-shadow:0 20px 36px -16px var(--brand-glow-strong),inset 0 1px 0 hsla(0,0%,100%,.22);transform:translateY(-2px)}.btn-submit-masuk:active:not(:disabled){transform:translateY(0) scale(.995)}.btn-submit-masuk:focus-visible{box-shadow:0 0 0 4px var(--field-focus-ring),0 14px 28px -14px var(--brand-glow-strong);outline:none}.btn-submit-masuk:disabled{cursor:not-allowed;opacity:.92}.btn-submit-masuk:after{animation:btnShimmer 3.4s ease-in-out infinite;background:linear-gradient(100deg,transparent,hsla(0,0%,100%,.4),transparent);content:"";height:100%;left:-60%;pointer-events:none;position:absolute;top:0;transform:skewX(-18deg);width:45%}.btn-submit-icon,.btn-submit-label{position:relative;z-index:1}.btn-submit-icon{transition:transform .2s ease}.btn-submit-masuk:hover:not(:disabled) .btn-submit-icon{transform:translateX(2px)}.btn-spinner{animation:spin .7s linear infinite;border:2.5px solid hsla(0,0%,100%,.45);border-radius:50%;border-top-color:#fff;display:none;height:18px;width:18px}.btn-submit-masuk.is-loading .btn-spinner{display:inline-block}.btn-submit-masuk.is-loading .btn-submit-icon,.btn-submit-masuk.is-loading:after{display:none}@keyframes spin{to{transform:rotate(1turn)}}@keyframes btnShimmer{0%{left:-60%}45%,to{left:130%}}.alert-custom-banner{align-items:flex-start;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid transparent;border-radius:14px;display:flex;font-size:.85rem;gap:10px;line-height:1.45;margin-bottom:16px;padding:12px 14px}.alert-custom-banner i{flex:0 0 auto;font-size:.95rem;margin-top:2px}.alert-custom-banner-danger{background:var(--alert-danger-bg);border-color:var(--alert-danger-accent);color:var(--alert-danger-text)}.alert-custom-banner-success{background:var(--alert-success-bg);border-color:var(--alert-success-accent);color:var(--alert-success-text)}.alert-custom-banner .text-danger{color:var(--alert-danger-accent)!important}.alert-custom-banner .text-success{color:var(--alert-success-accent)!important}.card-bottom-footer{color:var(--text-muted);font-size:.78rem;font-weight:600;letter-spacing:.2px;margin-top:22px;text-align:center;user-select:none}@media (max-width:480px){main.container{padding:18px 14px!important}.login-card{border-radius:24px;padding:28px 20px 24px}.logo-plate{padding:10px 14px}.captcha-row-group{gap:8px}.captcha-badge-display{flex:0 0 104px}#captchaText{font-size:1.08rem;letter-spacing:3px}.captcha-reload-btn{flex:0 0 46px;height:46px;width:46px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.login-card form>div,.login-card>*{opacity:1;transform:none}.backdrop-orb{animation:none}}