*{box-sizing:border-box}
:root{--primary:#12a86b;--secondary:#02208b;--heading:#02307f;--accent:#e5f6ec;--accent-lite:#e7f6f0;--bg:#f3f7ff;--muted:#767682;--line:#f1f4f9;--danger:#cf2e2e}
body{margin:0;font-family:"Albert Sans",Arial,sans-serif;color:var(--heading);background:var(--secondary)}
.login-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}
.login-brand{padding:9vw;display:flex;flex-direction:column;justify-content:center;color:#fff;background:radial-gradient(circle at 18% 12%,rgba(110,203,166,.32),transparent 34%),radial-gradient(circle at 82% 82%,rgba(18,168,107,.22),transparent 34%),linear-gradient(145deg,#02208b,#02307f 58%,#12a86b 145%)}
.brand-mark{width:68px;height:68px;border:1px solid rgba(255,255,255,.28);border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#12a86b,#59ab8a);font-weight:900;box-shadow:0 18px 45px rgba(0,0,0,.18)}
.login-brand>p{font-size:11px;letter-spacing:2px;color:#e5f6ec;margin:28px 0 12px;font-weight:800}
.login-brand h1{max-width:560px;font-size:48px;line-height:1.1;margin:0;letter-spacing:0}
.route{display:flex;align-items:center;margin-top:50px;color:#e5f6ec;font-size:11px;font-weight:800}
.route span{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);border-radius:8px;padding:10px}.route i{width:42px;height:1px;background:rgba(255,255,255,.28)}
.login-panel{display:grid;place-items:center;background:linear-gradient(180deg,#f3f7ff,#f8fbff 55%,#eef8f3);padding:30px}
.login-panel form{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;padding:42px;box-shadow:0 28px 70px rgba(2,32,139,.12)}.login-panel form[hidden]{display:none}.reset-form{max-height:92vh;overflow:auto}
.mobile-logo{display:none}.eyebrow{font-size:10px;letter-spacing:1.4px;color:var(--primary);font-weight:800}.login-panel h2{font-size:28px;margin:8px 0;color:var(--heading);letter-spacing:0}.subtitle{font-size:13px;color:var(--muted);margin:0 0 30px}
.login-panel label{display:grid;gap:8px;margin:16px 0;font-size:11px;font-weight:800;color:#425066}.login-panel input{height:46px;border:1px solid #ddebe4;border-radius:9px;padding:0 13px;font:13px "Albert Sans",Arial,sans-serif;color:var(--heading);outline:0;background:#fbfdfc}.login-panel input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(18,168,107,.13);background:#fff}
.login-panel button{width:100%;height:48px;border:0;border-radius:9px;background:linear-gradient(135deg,#12a86b,#59ab8a);color:#fff;font-weight:800;cursor:pointer;margin-top:8px;box-shadow:0 9px 20px rgba(18,168,107,.22)}.login-panel button:disabled{opacity:.65}.login-panel .link-button{background:transparent!important;color:#0d5fff;box-shadow:none;border:1px solid transparent;height:34px;margin-top:9px}.login-panel .link-button:hover{background:#f4f8ff!important;border-color:#dfe8f2}.login-panel small{display:block;text-align:center;color:#99a3b1;font-size:9px;margin-top:18px}
.login-error{display:none;background:#fff4f4;color:var(--danger);border:1px solid #ffd3d3;border-radius:7px;padding:10px;font-size:11px}.login-error.show{display:block}
.reset-code-box{border:1px solid #d7f3e2;background:#f2fff7;border-radius:12px;padding:12px;margin:12px 0;color:#1f2937}.reset-code-box strong,.reset-code-box span,.reset-code-box b{display:block}.reset-code-box strong{font-size:12px;color:#090b10}.reset-code-box span{font-size:10px;color:#667085;margin-top:4px}.reset-code-box b{font-size:18px;color:#0d5fff;margin-top:8px;letter-spacing:1px}
@media(max-width:800px){.login-shell{grid-template-columns:1fr}.login-brand{display:none}.login-panel{min-height:100vh;padding:18px}.login-panel form{padding:30px 24px}.mobile-logo{display:block;color:var(--primary);font-size:16px;font-weight:900;margin-bottom:30px}}

/* Gayatri.net.id finishing layer */
:root{--primary:#25d366;--secondary:#090b10;--heading:#090b10;--accent:#e9fbf1;--accent-lite:#f6fff9;--bg:#f4f7fb;--muted:#767682;--line:#e5edf5;--danger:#ef4155;--brand-blue:#0d5fff}
body{background:#090b10;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}
.login-shell{background:linear-gradient(135deg,#090b10,#101828)}
.login-brand{position:relative;isolation:isolate;background:linear-gradient(145deg,#090b10 0%,#101828 50%,#07321f 132%);overflow:hidden}.login-brand:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 15%,rgba(37,211,102,.26),transparent 30%),radial-gradient(circle at 82% 24%,rgba(13,95,255,.38),transparent 28%),linear-gradient(120deg,rgba(255,255,255,.08),transparent 34%);z-index:-2}.login-brand:after{content:"";position:absolute;right:-120px;bottom:-180px;width:520px;height:360px;border-radius:50%;border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 0 0 34px rgba(255,255,255,.035);z-index:-1}.brand-mark{width:190px;height:76px;padding:10px 14px;border-radius:22px;background:#fff;box-shadow:0 22px 58px rgba(13,95,255,.26),0 12px 28px rgba(37,211,102,.18)}.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}.login-brand>p{color:#25d366;letter-spacing:2.4px}.login-brand h1{font-size:clamp(38px,4.6vw,64px);font-weight:900;color:#fff}.route span{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.09);border-radius:999px}.route i{background:linear-gradient(90deg,rgba(255,255,255,.22),rgba(37,211,102,.72))}
.login-panel{background:linear-gradient(180deg,#f7faff,#f4f8fb 54%,#eef9f3)}.login-panel form{border-radius:24px;border-color:#e5edf5;box-shadow:0 34px 90px rgba(9,11,16,.14)}.eyebrow{color:#0d5fff;font-weight:900}.login-panel h2{color:#090b10;font-size:30px;font-weight:900}.login-panel label{color:#1f2937}.login-panel input{height:48px;border-color:#dfe8f2;border-radius:12px;background:#fff;color:#090b10}.login-panel input:focus{border-color:#0d5fff;box-shadow:0 0 0 3px rgba(13,95,255,.12)}.login-panel button{height:50px;border-radius:12px;background:linear-gradient(135deg,#0d5fff 0%,#25d366 100%);box-shadow:0 18px 40px rgba(13,95,255,.18),0 10px 28px rgba(37,211,102,.18);font-weight:900}.login-error{border-color:#ffd8df;background:#fff6f7;color:#d72143}.mobile-logo{width:145px;height:46px;margin-bottom:24px}.mobile-logo img{display:block;width:100%;height:100%;object-fit:contain}
