/* Page header */
.vrpmf-header { margin:0 0 20px; padding:0 0 16px; border-bottom:1px solid #dcdcde; }
.vrpmf-header h1 { font-size:23px; font-weight:600; line-height:1.3; margin:0 0 4px; padding:0; }
.vrpmf-subtitle { color:#646970; margin:0 0 14px; font-size:13px; }
.vrpmf-actions { display:flex; gap:6px; align-items:center; }

/* Two-pane layout */
.vrpmf-wrap { display:flex; gap:24px; align-items:flex-start; }
.vrpmf-left { width:280px; min-width:220px; background:#f6f7f7; border:1px solid #dcdcde; border-radius:8px; padding:12px; }
.vrpmf-left-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; padding-bottom:8px; border-bottom:1px solid #dcdcde; gap:8px; }
.vrpmf-left-head strong { font-size:12px; text-transform:uppercase; letter-spacing:0.5px; color:#3c434a; }
.vrpmf-left-actions { display:flex; align-items:center; gap:2px; }
.vrpmf-icon-btn { display:inline-flex; align-items:center; justify-content:center; min-width:28px; padding:0 2px !important; }
.vrpmf-icon-btn .dashicons { font-size:14px; width:14px; height:14px; }

/* Refresh spin */
.vrpmf-refresh-text { display:none; font-size:11px; }
.vrpmf-refresh-btn.refreshing { pointer-events:none; }
.vrpmf-refresh-btn.refreshing .dashicons { animation:vrpmf-spin 1s linear infinite; }
.vrpmf-refresh-btn.refreshing .vrpmf-refresh-text { display:inline; margin-left:2px; }
@keyframes vrpmf-spin { 100% { transform:rotate(360deg); } }

/* Folder tree with connecting lines */
.vrpmf-tree { max-height:65vh; overflow-y:auto; margin-top:4px; }
.vrpmf-tree ul { list-style:none; margin:0; padding-left:0; position:relative; }
.vrpmf-tree li { position:relative; padding-left:22px; list-style:none; }
.vrpmf-tree a { text-decoration:none; display:block; padding:6px 8px; border-radius:6px; color:#3c434a; font-size:13px; line-height:1.4; transition:background 0.15s; position:relative; z-index:1; }
.vrpmf-tree a:hover { background:#e2e4e7; }
.vrpmf-tree a.active { background:#2271b1; color:#fff; font-weight:500; }
.vrpmf-root > a { font-weight:500; }

/* Vertical connector line */
.vrpmf-tree li::before { content:''; position:absolute; left:0; top:0; bottom:0; border-left:2px solid #787c82; }
/* Horizontal branch */
.vrpmf-tree li::after { content:''; position:absolute; left:0; top:15px; width:16px; border-top:2px solid #787c82; }
/* Last child: vertical line stops at the branch */
.vrpmf-tree li:last-child::before { height:15px; bottom:auto; }
/* Root item: no connectors */
.vrpmf-root > li::before, .vrpmf-root > li::after { display:none; }
/* Nested lists: proper indentation */
.vrpmf-tree ul ul { margin-left:0; }

/* Right panel */
.vrpmf-right { flex:1; min-width:0; }
.vrpmf-right .title { font-size:16px; font-weight:600; margin:0 0 4px; padding:0; }
.vrpmf-right .description { font-size:13px; color:#646970; margin:0 0 16px; }

/* Target folder display */
#vrpmf-target { display:flex; align-items:center; gap:8px; margin:0 0 16px; padding:10px 12px; background:#f0f6fc; border:1px solid #c5d9ed; border-radius:6px; }
#vrpmf-target span { font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:0.5px; color:#1d2327; white-space:nowrap; }
#vrpmf-target code { font-size:13px; background:#fff; padding:3px 8px; border-radius:4px; border:1px solid #c5d9ed; word-break:break-all; }

/* Drop zone */
#vrpmf-drop { border:2px dashed #c3c4c7; padding:32px 24px; border-radius:8px; text-align:center; cursor:pointer; margin-bottom:12px; transition:border-color 0.2s, background 0.2s; }
#vrpmf-drop:hover { border-color:#787c82; }
#vrpmf-drop.dragover { border-color:#2271b1; background:#f0f6fc; }
#vrpmf-drop p { margin:8px 0 0; font-size:14px; color:#646970; }
.vrpmf-drop-icon { font-size:36px; width:36px; height:36px; color:#a7aaad; margin-top:4px; }
.vrpmf-drop-status { margin-top:8px; font-size:12px; font-weight:500; color:#2271b1; min-height:1.4em; }
#vrpmf-file { display:none; }

/* Upload button */
#vrpmf-upload-btn { min-width:120px; }

/* Notices */
.vrpmf-notice .notice { margin:0 0 12px; }

/* Upload results */
.vrpmf-results .item { padding:10px 12px; border:1px solid #dcdcde; border-radius:6px; margin:8px 0; background:#fff; }
.vrpmf-results .item:first-child { margin-top:0; }
.vrpmf-results code { background:#f0f0f1; padding:2px 6px; border-radius:3px; font-size:12px; }
.vrpmf-results .item a { text-decoration:none; font-weight:500; }
.vrpmf-results .item a:hover { text-decoration:underline; }
.vrpmf-results .item strong { color:#1d2327; }
.vrpmf-item-error { color:#b32d2e; background:#fcf0f1 !important; border-color:#b32d2e !important; font-size:13px; }
