:root{--navy:#06284a;--navy-deep:#031a31;--orange:#ff5a0a;--orange-2:#ff7a16;--text:#122033;--muted:#718096;--line:#e7edf4;--surface:#fff;--bg:#f3f7fb;--danger:#e83f3f;--success:#219c67;--shadow:0 28px 70px rgba(18,43,70,.14)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:var(--bg)}body{min-height:100vh}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(500px,1.08fr) minmax(440px,.92fr);overflow:hidden}.login-hero{position:relative;padding:48px clamp(44px,6vw,92px);background:linear-gradient(145deg,var(--navy-deep),#073762 72%,#0a4d7c);color:#fff;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.login-hero:after{content:"";position:absolute;right:-120px;bottom:-170px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(255,107,20,.35),rgba(255,90,10,0) 70%)}.hero-orbit{position:absolute;border:1px solid rgba(255,255,255,.09);border-radius:50%}.hero-orbit-one{width:440px;height:440px;right:-160px;top:90px}.hero-orbit-two{width:620px;height:620px;right:-250px;top:0}.hero-brand{position:relative;z-index:2;display:flex;align-items:center;gap:15px}.hero-logo{width:64px;height:64px;filter:drop-shadow(0 8px 20px rgba(0,0,0,.2))}.hero-brand div{display:flex;flex-direction:column}.hero-brand strong{font-size:28px;letter-spacing:.4px}.hero-brand span{font-size:12px;color:rgba(255,255,255,.72);margin-top:2px}.hero-copy{position:relative;z-index:2;max-width:650px;margin:40px 0}.eyebrow{display:inline-flex;padding:8px 13px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.08);font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.hero-copy h1{font-size:clamp(42px,5vw,72px);line-height:1.02;letter-spacing:-.05em;margin:22px 0 20px;max-width:720px}.hero-copy>p{font-size:17px;line-height:1.7;color:rgba(255,255,255,.75);max-width:620px}.hero-points{display:grid;gap:12px;margin-top:32px}.hero-points div{display:flex;align-items:center;gap:11px;font-size:14px;color:rgba(255,255,255,.86)}.point-icon{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:rgba(255,104,16,.22);color:#ff9c62;font-weight:900}.hero-footer{position:relative;z-index:2;display:flex;align-items:center;gap:9px;font-size:12px;color:rgba(255,255,255,.58)}.pulse-dot{width:8px;height:8px;border-radius:50%;background:#46d895;box-shadow:0 0 0 6px rgba(70,216,149,.12);animation:pulse 2s infinite}.login-main{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:44px;background:radial-gradient(circle at 80% 10%,rgba(255,96,11,.07),transparent 35%),#f7f9fc}.login-card{width:min(100%,480px);padding:40px;border:1px solid rgba(218,228,238,.9);background:rgba(255,255,255,.94);box-shadow:var(--shadow);border-radius:28px;backdrop-filter:blur(18px)}.login-kicker{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--orange);text-transform:uppercase}.login-card-head h2{font-size:32px;line-height:1.12;margin:8px 0 9px;letter-spacing:-.035em}.login-card-head p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}.office-chip{display:flex;align-items:center;gap:12px;margin:26px 0;padding:13px 14px;border:1px solid #edf1f6;border-radius:15px;background:#f8fafc}.office-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#fff1e8;color:var(--orange);font-size:19px}.office-chip div{min-width:0;display:flex;flex-direction:column}.office-chip strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.office-chip span:last-child{margin-top:3px;color:#8896a8;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-label{display:block;font-size:12px;font-weight:750;color:#38485b;margin:17px 0 8px}.field-wrap{position:relative;display:flex;align-items:center}.field-wrap input{width:100%;height:52px;border:1px solid #dfe7ef;border-radius:14px;background:#fff;padding:0 48px 0 46px;font-size:14px;color:var(--text);outline:none;transition:.2s}.field-wrap input::placeholder{color:#a3afbc}.field-wrap input:focus{border-color:#ff7b36;box-shadow:0 0 0 4px rgba(255,90,10,.09)}.field-icon{position:absolute;z-index:2;left:15px;width:20px;height:20px;color:#7c8b9c}.field-icon svg,.password-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.password-toggle{position:absolute;right:10px;width:36px;height:36px;border:0;background:transparent;border-radius:10px;color:#8b98a8;cursor:pointer}.password-toggle:hover,.password-toggle.active{background:#f4f6f9;color:var(--orange)}.form-message{min-height:20px;margin:14px 0 2px;font-size:12px;line-height:1.45}.form-message.error{color:var(--danger)}.form-message.success{color:var(--success)}.login-button{width:100%;height:54px;margin-top:8px;border:0;border-radius:15px;background:linear-gradient(135deg,var(--orange),var(--orange-2));color:#fff;font-size:14px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;box-shadow:0 14px 28px rgba(255,90,10,.25);transition:.2s}.login-button:hover{transform:translateY(-1px);box-shadow:0 18px 34px rgba(255,90,10,.29)}.login-button:disabled{cursor:wait;opacity:.75;transform:none}.button-arrow{font-size:20px;transition:.2s}.login-button:hover .button-arrow{transform:translateX(4px)}.login-button.is-loading .button-arrow{animation:slide 1s infinite}.login-security{margin-top:22px;padding-top:19px;border-top:1px solid var(--line);display:flex;align-items:flex-start;gap:9px;color:#8492a3;font-size:11px;line-height:1.5}.security-icon{flex:0 0 20px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#e9f8f0;color:var(--success);font-weight:900}.login-copyright{margin:22px 0 0;color:#9aa7b6;font-size:11px;text-align:center}.mobile-brand{display:none}@keyframes pulse{50%{box-shadow:0 0 0 10px rgba(70,216,149,0)}}@keyframes slide{50%{transform:translateX(5px)}}@media(max-width:980px){.login-shell{grid-template-columns:1fr}.login-hero{display:none}.login-main{min-height:100vh;padding:24px;background:linear-gradient(180deg,#ff5a0a 0,#ff7215 205px,#f5f8fc 205px)}.mobile-brand{width:min(100%,480px);display:flex;align-items:center;gap:11px;color:#fff;margin:8px 0 25px;padding:0 10px}.mobile-brand img{width:54px;height:54px}.mobile-brand div{display:flex;flex-direction:column}.mobile-brand strong{font-size:22px}.mobile-brand span{font-size:11px;color:rgba(255,255,255,.82)}.login-card{padding:30px 24px;border-radius:24px;box-shadow:0 22px 55px rgba(31,44,61,.16)}.login-card-head h2{font-size:27px}.login-copyright{color:#8492a3}}@media(max-width:480px){.login-main{padding:18px 14px;background:linear-gradient(180deg,#ff5a0a 0,#ff7215 180px,#f5f8fc 180px)}.mobile-brand{margin-bottom:14px}.login-card{padding:25px 19px}.office-chip{margin:21px 0}.field-wrap input{height:50px}.login-button{height:52px}.login-copyright{font-size:10px}}

/* Verifikasi keamanan geser gambar */
.slide-captcha{margin-top:18px;padding:12px;border:1px solid #e1e9f1;border-radius:16px;background:#f8fbfd;transition:.22s ease}.slide-captcha-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.slide-captcha-head>div{display:flex;flex-direction:column;gap:2px}.slide-captcha-head strong{font-size:11px;color:#35495f}.slide-captcha-head span{font-size:9px;color:#8593a3}.captcha-refresh{width:32px;height:32px;border:1px solid #dce5ed;border-radius:10px;background:#fff;color:#547089;font-size:18px;cursor:pointer;transition:.18s}.captcha-refresh:hover{transform:rotate(25deg);color:var(--orange);border-color:#ffc4a2}.captcha-stage{position:relative;width:100%;aspect-ratio:320/142;border-radius:13px;overflow:hidden;background:#dce8f0;isolation:isolate}.captcha-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.captcha-piece{position:absolute;z-index:3;width:14.375%;height:auto;filter:drop-shadow(0 4px 6px rgba(0,0,0,.32));pointer-events:none;transition:filter .18s}.captcha-skeleton{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;background:linear-gradient(120deg,#e9f0f5,#f6f9fb,#e9f0f5);background-size:240% 100%;animation:captchaShimmer 1.3s infinite}.captcha-skeleton[hidden]{display:none}.captcha-skeleton span{width:24px;height:24px;border:3px solid #d7e2eb;border-top-color:var(--orange);border-radius:50%;animation:captchaSpin .8s linear infinite}.captcha-skeleton em{font-style:normal;font-size:9px;color:#74869a}.captcha-slider{position:relative;height:45px;margin-top:9px;border:1px solid #dce5ed;border-radius:13px;background:#fff;overflow:hidden;user-select:none;touch-action:none}.captcha-slider-progress{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,rgba(255,90,10,.12),rgba(255,122,22,.24));transition:background .2s}.captcha-slider-handle{position:absolute;z-index:3;left:4px;top:4px;width:37px;height:37px;border:0;border-radius:10px;background:linear-gradient(135deg,var(--orange),var(--orange-2));color:#fff;box-shadow:0 7px 16px rgba(255,90,10,.22);cursor:grab;will-change:transform}.captcha-slider-handle:active,.is-dragging .captcha-slider-handle{cursor:grabbing;box-shadow:0 9px 20px rgba(255,90,10,.3)}.captcha-slider-text{position:absolute;inset:0;display:grid;place-items:center;padding-left:38px;color:#8290a1;font-size:10px;font-weight:700;pointer-events:none;transition:.2s}.slide-captcha.is-ready{border-color:#bcdccf;background:#f7fcf9}.slide-captcha.is-ready .captcha-slider-text{color:#297a57}.slide-captcha.is-ready .captcha-slider-progress{background:rgba(48,164,109,.12)}.slide-captcha.is-error{border-color:#f2b9b9;background:#fffafa;animation:captchaShake .25s ease}.slide-captcha.is-error .captcha-slider-text{color:#b84343}.slide-captcha.is-verified{border-color:#92d4b8;background:#f2fbf6}.slide-captcha.is-verified .captcha-slider-handle{background:#219c67}.slide-captcha.is-verified .captcha-slider-text{color:#18784e}.slide-captcha.is-loading .captcha-refresh{opacity:.5;pointer-events:none}@keyframes captchaSpin{to{transform:rotate(360deg)}}@keyframes captchaShimmer{to{background-position:-240% 0}}@keyframes captchaShake{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
@media(max-width:480px){.slide-captcha{padding:10px}.captcha-slider{height:43px}.captcha-slider-handle{width:35px;height:35px}.slide-captcha-head span{font-size:8.5px}}
