/* Halaman login & register — memakai variabel warna dari style.css */
.auth-body{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px 16px;position:relative}
.auth-theme{position:fixed;top:14px;right:14px;z-index:5}
.auth-card{width:100%;max-width:400px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px 22px 20px;box-shadow:0 18px 50px -20px var(--shadow-1),var(--shadow-soft)}
.auth-brand{font-family:var(--font-mono);font-size:.82rem;color:var(--cyan);margin-bottom:14px;display:flex;align-items:center;gap:6px}
.auth-brand .brand-caret{color:var(--text-dim)}
.auth-title{font-family:var(--font-display);font-size:1.45rem;line-height:1.2;margin:0 0 6px;color:var(--text)}
.auth-sub{font-size:.88rem;color:var(--text-dim);margin:0 0 18px}
.auth-form{display:flex;flex-direction:column;gap:12px}
.field{display:flex;flex-direction:column;gap:5px}
.field label{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;color:var(--text-dim);text-transform:uppercase}
.field input{width:100%;font:inherit;font-size:16px;color:var(--text);background:var(--void-2);border:1px solid var(--line);border-radius:10px;padding:11px 12px;outline:none;transition:border-color .2s,box-shadow .2s}
.field input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px var(--cyan-dim)}
.field.has-error input{border-color:var(--red)}
.field-error{font-size:.78rem;color:var(--red)}
.field-hint{font-size:.75rem;color:var(--text-dimmer)}
.pw-wrap{position:relative}
.pw-wrap input{padding-right:64px}
.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--text-dim);font-family:var(--font-mono);font-size:.72rem;padding:6px 8px;cursor:pointer;border-radius:6px;-webkit-tap-highlight-color:transparent}
.pw-toggle:hover{color:var(--text)}
.auth-btn{margin-top:4px;width:100%;justify-content:center;cursor:pointer;font-size:.95rem}
.auth-alert{font-size:.85rem;border-radius:10px;padding:10px 12px;margin-bottom:14px;border:1px solid var(--line)}
.auth-alert.error{color:var(--red);border-color:var(--red);background:rgba(255,92,92,.08)}
.auth-alert.ok{color:var(--cyan);border-color:var(--cyan);background:var(--cyan-dim)}
.auth-alt{margin:16px 0 0;text-align:center;font-size:.86rem;color:var(--text-dim)}
.auth-alt a{color:var(--cyan);text-decoration:none;font-weight:600}
.auth-alt a:hover{text-decoration:underline}
.hp-field{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* tombol keluar di navbar */
.logout-form{margin:0;display:flex}
.logout-btn{cursor:pointer}
.nav-user{font-family:var(--font-mono);font-size:.74rem;color:var(--text-dim);white-space:nowrap}
@media (max-width:760px){.nav-user{display:none}}
@media (max-width:380px){.auth-card{padding:20px 16px 16px}.auth-title{font-size:1.25rem}}

/* halaman maintenance */
.maint-card{text-align:center}
.maint-card .auth-brand{justify-content:center}
.maint-ico{width:54px;height:54px;margin:0 auto 12px;border-radius:50%;border:1px solid var(--line);background:var(--void-2);color:var(--cyan);display:flex;align-items:center;justify-content:center}
.maint-ico svg{width:26px;height:26px}