/* ========================================================
   CITRINE V2 • AUTH (layar login/setup, avatar & menu user)
   Form, tombol, checkbox, menu memakai v2_ui.css.
   ======================================================== */
html.auth-locked body > *:not(#authGate) { visibility: hidden; }
html.auth-locked body { overflow: hidden; }
#authGate {
  position: fixed; inset: 0; z-index: 5000; display: flex; align-items: safe center; justify-content: center; padding: 16px; overflow-y: auto;
  background: radial-gradient(1200px 600px at 50% -10%, rgba(212, 163, 58, 0.12), transparent 60%), #0c0c0d;
  visibility: visible !important; font-weight: 400;
}
.ag-card { width: min(400px, 100%); background: #151517; border: 1px solid var(--c-line); border-radius: 18px; padding: 28px 26px 24px; box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55); }
.ag-brand { display: flex; align-items: center; gap: 10px; color: var(--c-gold); font-size: 13px; letter-spacing: 0.32em; margin-bottom: 22px; }
.ag-brand img { width: 26px; height: 26px; object-fit: contain; }
.ag-title { font-size: 20px; font-weight: 500; color: var(--c-text-strong); letter-spacing: -0.01em; }
.ag-sub { margin-top: 6px; font-size: 13px; line-height: 1.5; color: var(--c-muted); }
.ag-notice { margin-top: 14px; padding: 9px 12px; border-radius: var(--c-r); background: rgba(224, 176, 74, 0.08); color: var(--c-gold); font-size: 12.5px; }
#agForm { margin-top: 20px; }
#agForm input:not([type=checkbox]) { height: 40px; font-size: 14px; }
.ag-hint { margin-top: -4px; }
.ag-hint code { font-size: 11px; word-break: break-all; }
.ag-error { min-height: 16px; font-size: 12.5px; color: var(--c-neg-text); }

/* avatar + menu user */
.analyst-avatar.has-user { display: flex; align-items: center; justify-content: center; cursor: pointer; background: linear-gradient(160deg, var(--c-gold), var(--c-gold-dark)) !important; }
.ag-initial { color: #fff; font-size: 14px; font-weight: 500; }
.um-head { padding: 10px 10px 12px; border-bottom: 1px solid var(--c-line); margin-bottom: 4px; }
.um-name { font-size: 13.5px; color: var(--c-text-strong); }
.um-meta { margin-top: 3px; font-size: 11.5px; color: var(--c-muted); }
.um-role.admin { color: var(--c-gold); }

/* sembunyikan kontrol admin untuk viewer */
html.role-viewer .admin-only { display: none !important; }
