/* CHATROOM — auth.css */
/* AUTH */
#screen-auth{align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% -20%,rgba(59,130,246,0.18) 0%,transparent 65%),var(--bg);padding:24px;overflow-y:auto}
.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border2);border-radius:28px;padding:40px 32px;box-shadow:0 32px 80px rgba(0,0,0,0.6)}
.auth-logo{display:flex;align-items:center;gap:12px;margin-bottom:32px}
.auth-logo-icon{width:48px;height:48px;border-radius:16px;background:var(--accent);display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:0 8px 24px rgba(59,130,246,0.4)}
.auth-logo h1{font-size:22px;font-weight:900;letter-spacing:-0.5px}
.auth-logo span{color:var(--accent)}
.auth-tabs{display:flex;background:var(--bg3);border-radius:14px;padding:4px;margin-bottom:28px;gap:4px}
.auth-tab{flex:1;padding:10px;border-radius:10px;font-size:13px;font-weight:700;color:var(--text2);cursor:pointer;border:none;background:transparent;transition:.2s}
.auth-tab.active{background:var(--surface2);color:var(--text);box-shadow:0 2px 8px rgba(0,0,0,0.3)}
.field{position:relative;margin-bottom:14px}
.field i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--text3);font-size:14px;pointer-events:none}
.field input{width:100%;padding:15px 16px 15px 44px;background:var(--bg3);border:1px solid var(--border2);border-radius:14px;color:var(--text);font-size:14px;font-family:inherit;outline:none;transition:.2s}
.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(59,130,246,0.12)}
.field input::placeholder{color:var(--text3)}
.btn-primary{width:100%;padding:16px;border-radius:14px;background:var(--accent);color:#fff;font-size:14px;font-weight:800;border:none;cursor:pointer;transition:.2s;font-family:inherit;box-shadow:0 8px 24px rgba(59,130,246,0.35)}
.btn-primary:hover{background:var(--accent2);transform:translateY(-1px)}
.btn-primary:disabled{opacity:.5;pointer-events:none}

/* ── Base tombol kecil (dipakai di kartu ban: Ajukan Banding, Logout,
   Kirim/Batal banding, Tutup popup) — sebelumnya class ini dipanggil
   di JS (banInfoHTML) tapi nggak pernah didefinisikan di CSS manapun,
   jadi renderin tombol browser default polos / ketarik full-width
   ikut .btn-primary. Ini yang bikin kartu ban kelihatan berantakan. ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-family:inherit;border:none;transition:.15s;border-radius:10px;font-weight:700}
.btn:active{transform:translateY(1px)}
.btn-sm{width:auto!important;padding:8px 14px;font-size:12px;box-shadow:none;border-radius:9px}
.btn-ghost{background:rgba(255,255,255,.06);color:#e2e8f0;border:1px solid rgba(255,255,255,.14)}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn-danger{background:rgba(239,68,68,.15);color:#fca5a5;border:1px solid rgba(239,68,68,.3)}
.btn-danger:hover{background:rgba(239,68,68,.25)}

.auth-error{background:rgba(239,68,68,0.12);border:1px solid rgba(239,68,68,0.25);color:#fca5a5;border-radius:10px;padding:10px 14px;font-size:12px;margin-bottom:14px;display:none}

/* ── Kartu info ban (dipakai di layar login & overlay lockout) ── */
.ban-info-card{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.25);border-radius:12px;padding:12px 14px;color:#f1f5f9}
.ban-info-row{display:flex;justify-content:space-between;gap:10px;font-size:12px;padding:5px 0;border-bottom:1px dashed rgba(255,255,255,.08)}
.ban-info-row:last-of-type{border-bottom:none}
.ban-info-row span{color:#94a3b8}
.ban-info-row b{color:#f1f5f9;font-weight:700;text-align:right;word-break:break-word}
.ban-appeal-status{margin-top:8px;font-size:12px;border-radius:8px;padding:8px 10px;display:flex;align-items:center;gap:6px}
.ban-appeal-pending{background:rgba(245,158,11,.12);color:#fbbf24}
.ban-appeal-rejected{background:rgba(148,163,184,.12);color:#cbd5e1}

/* ── Durasi ban: badge Permanen/Sementara + hitung mundur realtime ── */
.ban-duration-badge{display:inline-block;font-size:10px;font-weight:800;padding:2px 8px;border-radius:99px;letter-spacing:.3px}
.ban-duration-badge.permanent{background:rgba(239,68,68,.18);color:#f87171}
.ban-duration-badge.temporary{background:rgba(245,158,11,.15);color:#fbbf24}
.ban-countdown-box{margin-top:2px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 12px;text-align:center}
.ban-countdown-label{font-size:10px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}
.ban-countdown-val{font-size:17px;font-weight:900;color:#fbbf24;font-variant-numeric:tabular-nums}
.ban-standard-note{margin-top:8px;font-size:12px;line-height:1.6;color:#cbd5e1;background:rgba(255,255,255,.04);border-radius:8px;padding:8px 10px}
.auth-success{background:rgba(34,197,94,0.12);border:1px solid rgba(34,197,94,0.25);color:#86efac;border-radius:10px;padding:10px 14px;font-size:12px;margin-bottom:14px;display:none}
.notice{background:rgba(251,191,36,0.1);border:1px solid rgba(251,191,36,0.25);color:#fde68a;border-radius:10px;padding:10px 14px;font-size:12px;margin-bottom:14px;display:none}

/* RESET PASSWORD SCREEN */
#screen-reset-password{align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% -20%,rgba(59,130,246,0.18) 0%,transparent 65%),var(--bg);padding:24px}
.reset-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border2);border-radius:28px;padding:40px 32px;box-shadow:0 32px 80px rgba(0,0,0,0.6)}
.reset-card h2{font-size:20px;font-weight:900;margin-bottom:6px}
.reset-card p{font-size:13px;color:var(--text2);margin-bottom:24px;line-height:1.5}
.pass-strength{height:4px;border-radius:99px;background:var(--surface2);margin-top:6px;overflow:hidden;margin-bottom:6px}
.pass-strength-bar{height:100%;border-radius:99px;transition:width .3s,background .3s;width:0}
.pass-strength-label{font-size:10px;color:var(--text3);margin-bottom:8px}
