:root{--ink:#24211f;--muted:#746d68;--line:#e3ddd7;--sand:#c2ac99;--sans:"Plus Jakarta Sans",Arial,sans-serif}
*{box-sizing:border-box}
body{margin:0;font-family:var(--sans);color:var(--ink);letter-spacing:-.012em}
main{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}
.login-visual{background:#2b2826;color:#fff;padding:48px 6vw;display:flex;flex-direction:column;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px}.brand span{width:42px;height:42px;border:1px solid #81766e;border-radius:9px;display:grid;place-items:center;font-weight:700}.brand strong{font-size:14px;letter-spacing:-.015em}
.login-visual p,.eyebrow{font-size:9px;letter-spacing:.14em;font-weight:700}
.login-visual h1{font-family:var(--sans);font-size:clamp(58px,6vw,90px);font-weight:600;line-height:.88;letter-spacing:-.04em;margin:18px 0}.login-visual h1 em{color:#c9b3a0}.login-visual small{color:#a9a19b}
.login-form{display:grid;place-items:center;padding:40px;background:#faf9f8}.login-form form{width:min(390px,100%)}.login-form h2{font-family:var(--sans);font-size:42px;font-weight:600;line-height:1;letter-spacing:-.035em;margin:8px 0}.login-form form>p:not(.eyebrow):not(.error){color:var(--muted);margin:0 0 35px}.login-form label{font-size:10px;font-weight:600}.login-form input{display:block;width:100%;border:1px solid var(--line);border-radius:7px;padding:13px;margin-top:7px;outline:0;font-family:var(--sans)}.login-form input:focus{border-color:var(--ink);box-shadow:0 0 0 3px #ece9e6}.login-form button{width:100%;border:0;border-radius:7px;background:var(--ink);color:#fff;padding:13px;margin-top:14px;font:600 12px var(--sans);cursor:pointer}.login-form a{display:block;text-align:center;color:var(--muted);font-size:10px;margin-top:22px;text-decoration:none}.error{min-height:18px;color:#9a413b;font-size:10px;margin:7px 0}
@media(max-width:760px){main{grid-template-columns:1fr}.login-visual{min-height:38vh;padding:30px}.login-visual h1{font-size:48px}.login-visual small{display:none}.login-form{padding:45px 24px}.login-form h2{font-size:37px}}

/* Satu keluarga font untuk seluruh halaman login */
html,body,button,input,select,textarea,.login-visual h1,.login-form h2{font-family:"Plus Jakarta Sans",Arial,sans-serif!important}
em,i{font-style:normal!important}

.login-brand-logo{display:inline-flex;width:194px;padding:7px 10px 8px;background:#fffdfb;border:1px solid rgba(255,255,255,.4);border-radius:2px;line-height:0;text-decoration:none}.login-brand-logo img{display:block;width:100%;height:auto}
@media(max-width:760px){.login-brand-logo{width:168px}}

.demo-access{margin-top:28px;padding:18px;background:#f4f1ed;border:1px dashed var(--sand);border-radius:9px;text-align:center}
.demo-label{margin:0 0 6px;font-size:9px;font-weight:700;letter-spacing:.12em;color:var(--sand)}
.demo-desc{margin:0 0 12px;font-size:11px;color:var(--muted);line-height:1.5}
.demo-credential{display:flex;align-items:center;justify-content:space-between;width:100%;border:1px solid var(--line);border-radius:7px;background:#fff;padding:12px 14px;cursor:pointer;transition:.18s ease}
.demo-credential:hover{border-color:var(--ink);background:var(--ink);color:#fff}
.demo-credential:hover code{color:#fff}
.demo-credential:hover span{color:rgba(255,255,255,.7)}
.demo-credential code{font-family:"SF Mono","Fira Code",monospace;font-size:13px;font-weight:600;color:var(--ink);letter-spacing:.02em}
.demo-credential span{font-size:9px;color:var(--muted);letter-spacing:.04em;font-weight:500}
