/* ==========================================================
   AUTH - halaman Login & Daftar (layout polos: tanpa header/footer, tombol Kembali di pojok kiri atas)
   Isi: app/config/auth.php | View: views/pages/auth.php | Perilaku: js/pages/auth.js
   Senada dengan toko: navy/biru, kartu putih membulat, tombol biru. Mode gelap ikut variabel di theme.css
   ========================================================== */
.au{position:relative;min-height:100dvh;display:grid;place-items:center;padding:76px 16px 40px;overflow:hidden}
/* cahaya biru samar di sudut (seperti hero) */
.au::before,.au::after{content:"";position:absolute;border-radius:50%;filter:blur(70px);pointer-events:none}
.au::before{width:360px;height:360px;left:-110px;top:-90px;background:rgba(70,120,222,.18)}
.au::after{width:400px;height:400px;right:-130px;bottom:-140px;background:rgba(110,150,225,.15)}

.au-card{position:relative;width:100%;max-width:420px;padding:28px 22px 24px;background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:0 14px 34px rgba(11,23,54,.08)}
.au-brand{display:flex;justify-content:center}
.au-sub{margin:6px 0 22px;text-align:center;font-size:15px;font-weight:500;color:var(--mut)}

/* kolom isian */
.au-field{margin-bottom:16px}
.au-label{display:block;margin:0 0 6px;font-size:12.5px;font-weight:700}
.au-in{display:block;width:100%;min-height:46px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font-size:16px;transition:border-color .15s,box-shadow .15s}
.au-in::placeholder{color:var(--mut);opacity:.7}
.au-in:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(79,123,224,.18)}
.au-pass{position:relative}
.au-pass .au-in{padding-right:48px}
.au-eye{position:absolute;right:6px;top:50%;translate:0 -50%;display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:10px;background:none;color:var(--mut)}
.au-eye:hover{color:var(--brand-d)}
.au-eye-closed{display:none}
.au-eye[aria-pressed=true] .au-eye-open{display:none}
.au-eye[aria-pressed=true] .au-eye-closed{display:inline-flex}
.au-eye-open,.au-eye-closed{align-items:center;justify-content:center}

/* ingat saya */
.au-remember{display:flex;align-items:center;gap:8px;margin:-2px 0 4px;font-size:12.5px;color:var(--mut);cursor:pointer}
.au-remember input{width:16px;height:16px;margin:0;accent-color:var(--brand)}

/* kotak token reseller (opsional) */
.au-reseller{margin:4px 0 14px;padding-top:16px;border-top:1px dashed var(--line)}
.au-rs-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
.au-rs-title{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700}
.au-rs-title .ic{color:var(--brand-d)}
.au-opt{padding:2px 9px;border-radius:999px;background:var(--brand-l);font-size:10.5px;font-weight:700;color:var(--brand-d)}
.au-rs-text{margin:0 0 10px;font-size:11.5px;line-height:1.55;color:var(--mut)}
.au-token{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.au-token::placeholder{letter-spacing:.14em}
.au-cs{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:6px 12px;border-radius:999px;background:rgba(22,163,74,.1);font-size:12px;font-weight:700;color:#15803d;transition:background .15s}
.au-cs:hover{background:rgba(22,163,74,.18)}

/* pesan + tombol + link ganti halaman */
.au .form-msg{min-height:20px;margin:8px 0 10px;text-align:center;font-weight:600}
.au .form-msg.is-error{color:#dc2626}
.au-submit{width:100%;min-height:48px;font-size:15px}
.au-submit:disabled{opacity:.7;cursor:wait;transform:none;filter:none}
.au-switch{margin:18px 0 0;text-align:center;font-size:12.5px;color:var(--mut)}
.au-switch a{font-weight:700;color:var(--ink)}
.au-switch a:hover{color:var(--brand-d)}

@media (min-width:700px){
  .au{padding:64px 16px}
  .au-card{padding:32px 30px 28px}
  .au-in{font-size:14px}
  .au-token{font-size:13px}
}

/* mode gelap */
:root[data-theme="dark"] .au::before{background:rgba(70,120,222,.20)}
:root[data-theme="dark"] .au::after{background:rgba(110,150,225,.12)}
:root[data-theme="dark"] .au .form-msg.is-error{color:#f87171}
:root[data-theme="dark"] .au-cs{background:rgba(34,197,94,.14);color:#4ade80}
:root[data-theme="dark"] .au-cs:hover{background:rgba(34,197,94,.22)}

/* login dua langkah (admin): kotak kode 2FA muncul setelah kredensial benar */
.au-two{display:flex;flex-direction:column;gap:4px;margin:2px 0 2px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--brand-l)}
.au-two-t{margin:0;font-size:13px;font-weight:700;color:var(--brand-d)}
.au-two-h{margin:0;font-size:12.5px;line-height:1.5;color:var(--ink)}
.au-back{align-self:flex-start;padding:0;border:0;background:none;color:var(--mut);font-size:12.5px;font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.au-back:hover{color:var(--brand-d)}
.au-field input[readonly]{background:var(--bg);color:var(--mut)}