/* ========================================================
   CITRINE V2 • DATA SOURCE PANEL (laci kanan)
   Hanya tata letak khusus; baris, badge, dot, saklar, tombol, input dari v2_ui.css.
   ======================================================== */
#dockBtnSources, #dockBtnStatus { position: relative; }

.src-overlay { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.45); opacity: 0; pointer-events: none; transition: opacity .2s; z-index: 1200; }
.src-overlay.open { opacity: 1; pointer-events: auto; }
.src-panel {
  position: fixed; top: 0; right: 0; bottom: 0; width: min(560px, 100vw); z-index: 1201;
  background: var(--c-bg); border-left: 1px solid var(--c-line); box-shadow: -20px 0 50px rgba(0, 0, 0, 0.45);
  transform: translateX(100%); transition: transform .25s ease; display: flex; flex-direction: column; font-weight: 400; color: var(--c-text);
}
.src-panel.open { transform: none; }
.src-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 20px 22px 14px; border-bottom: 1px solid #222225; }
.src-title { font-size: 17px; font-weight: 500; letter-spacing: -0.01em; }
.src-sub { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 8px; font-size: 12px; }
.src-upd { color: var(--c-faint); margin-left: 4px; }
.src-body { flex: 1; overflow-y: auto; padding: 6px 22px 24px; }

.src-panel .c-row-line { align-items: center; flex-wrap: wrap; gap: 8px; }
.src-panel .c-dot.src-dot { margin-top: 5px; }
.src-name { font-size: 13.5px; color: var(--c-text-strong); }
.src-last { margin-left: auto; font-size: 11.5px; color: var(--c-muted); }
.src-err { color: var(--c-neg-text); }
.src-panel .c-row-meta { overflow-wrap: anywhere; }

.src-form { background: var(--c-card); border: 1px solid var(--c-line); border-radius: 12px; padding: 14px; display: flex; flex-direction: column; gap: 10px; }
.src-actions { display: flex; gap: 8px; justify-content: flex-end; }
.src-res { font-size: 12.5px; line-height: 1.55; color: #b4b4bb; padding: 10px 12px; border-radius: var(--c-r); background: var(--c-panel); }
.src-res b { font-weight: 500; }
.src-res.ok b { color: var(--c-pos-text); }
.src-res.bad { color: #fca5a5; background: rgba(239, 68, 68, 0.08); }
.src-sample { margin-top: 6px; padding-left: 9px; border-left: 2px solid #3a3a3e; color: #9a9aa2; font-size: 12px; }
.src-panel .c-hint { margin-top: 16px; }
