/* ── Bookmark layout (folder panel + results area) ── */
.bm-layout{display:flex;flex-direction:column;flex:1;overflow-y:auto;min-width:0;}
.bm-layout::-webkit-scrollbar{width:4px;}
.bm-layout::-webkit-scrollbar-thumb{background:var(--border2);border-radius:4px;}
.bm-layout.hidden{display:none;}
.folder-panel{width:180px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);overflow-y:auto;flex-direction:column;display:none;}
.folder-panel.visible{display:flex;}
.folder-list{display:flex;flex-direction:column;padding:8px 6px;flex:1;}
.folder-item{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:var(--radius-xs);cursor:pointer;font-size:12px;color:var(--text2);transition:background .12s;user-select:none;}
.folder-item:hover{background:var(--bg3);}
.folder-item.active{background:var(--accent-bg);color:var(--accent);font-weight:500;}
.folder-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.folder-item-count{font-size:10px;color:var(--text3);flex-shrink:0;}
.folder-item.active .folder-item-count{color:var(--accent);opacity:.7;}
.folder-dot{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
.folder-sep{height:1px;background:var(--border);margin:6px 4px;}
.folder-new-btn{margin:4px 2px 0;padding:6px 8px;background:none;border:1px dashed var(--border2);border-radius:var(--radius-xs);color:var(--text3);font-size:11px;cursor:pointer;text-align:left;transition:all .13s;}
.folder-new-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg);}

/* ── Folder inline create / rename form ── */
.folder-edit-form{padding:6px 4px;display:flex;flex-direction:column;gap:6px;}
.fef-colors{display:flex;gap:5px;padding:2px 0;}
.fef-dot{width:14px;height:14px;border-radius:50%;cursor:pointer;flex-shrink:0;border:2px solid transparent;transition:border-color .12s;}
.fef-dot.sel{border-color:var(--text);}
.fef-input{background:var(--bg3);border:1px solid var(--border2);border-radius:var(--radius-xs);padding:5px 8px;color:var(--text);font-family:inherit;font-size:12px;outline:none;width:100%;transition:border-color .13s;}
.fef-input:focus{border-color:var(--accent);}
.fef-actions{display:flex;gap:4px;justify-content:flex-end;}
.fef-cancel{padding:3px 8px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius-xs);color:var(--text3);font-size:11px;cursor:pointer;}
.fef-save{padding:3px 8px;background:var(--accent);border:none;border-radius:var(--radius-xs);color:#fff;font-size:11px;font-weight:500;cursor:pointer;}

/* ── Folder context menu ── */
.folder-ctx-menu{position:fixed;background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius-xs);box-shadow:var(--shadow-lg);z-index:500;overflow:hidden;min-width:120px;}
.folder-ctx-menu button{display:block;width:100%;padding:8px 14px;background:none;border:none;color:var(--text2);font-size:12px;cursor:pointer;text-align:left;transition:background .1s;}
.folder-ctx-menu button:hover{background:var(--bg3);}
.folder-ctx-menu button.danger{color:var(--danger);}
.folder-ctx-menu button.danger:hover{background:rgba(192,57,43,.07);}

/* ── Move-to-folder button on card ── */
.folder-move-btn{background:none;border:none;cursor:pointer;font-size:13px;color:var(--text3);padding:2px 4px;border-radius:var(--radius-xs);transition:color .12s;line-height:1;}
.folder-move-btn:hover{color:var(--accent);}
.folder-move-btn.in-folder{color:var(--accent);}

/* ── Move-to-folder dropdown ── */
.folder-move-menu{position:fixed;background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius-xs);box-shadow:var(--shadow-lg);z-index:500;overflow:hidden;min-width:200px;max-height:280px;overflow-y:auto;}
.fmm-rename-row{display:flex;align-items:center;gap:4px;padding:7px 8px 6px;}
.fmm-rename-input{flex:1;background:var(--bg3);border:1px solid var(--border2);border-radius:var(--radius-xs);padding:5px 8px;font-size:12px;color:var(--text);font-family:inherit;outline:none;min-width:0;transition:border-color .15s;}
.fmm-rename-input:focus{border-color:var(--accent);}
.fmm-rename-save{background:var(--accent-bg);border:none;border-radius:var(--radius-xs);color:var(--accent);cursor:pointer;padding:5px 8px;font-size:13px;display:flex;align-items:center;flex-shrink:0;transition:background .12s;}
.fmm-rename-save:hover{background:var(--accent-bg2);}
.fmm-item{display:flex;align-items:center;gap:7px;padding:7px 12px;font-size:12px;color:var(--text2);cursor:pointer;transition:background .1s;}
.fmm-item:hover{background:var(--bg3);}
.fmm-item.active{color:var(--accent);font-weight:500;}
.fmm-remove{color:var(--danger,#c0392b);}
.fmm-remove:hover{background:rgba(192,57,43,.07);}
.fmm-sep{height:1px;background:var(--border);margin:2px 0;}
.fmm-active{color:var(--accent);font-weight:600;}
.fmm-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.fmm-check{width:14px;text-align:center;flex-shrink:0;font-size:12px;color:var(--text3);}
.fmm-check.on{color:var(--accent);}

/* ── Bookmark search bar ── */
.bm-results-col{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;}
.bm-search-wrap{padding:12px 16px 0;flex-shrink:0;position:relative;display:flex;align-items:center;}
.bm-search-icon{position:absolute;left:26px;color:var(--text3);font-size:14px;pointer-events:none;}
.bm-search-input{flex:1;background:var(--bg3);border:1px solid var(--border2);border-radius:var(--radius-sm);padding:7px 30px 7px 32px;color:var(--text);font-family:inherit;font-size:13px;outline:none;transition:border-color .15s;box-sizing:border-box;}
.bm-search-input:focus{border-color:var(--accent);}
.bm-search-clear{position:absolute;right:22px;background:none;border:none;cursor:pointer;color:var(--text3);padding:4px;font-size:13px;line-height:1;display:flex;align-items:center;transition:color .12s;}
.bm-search-clear:hover{color:var(--text);}
.bm-search-clear.hidden{display:none;}

/* ── Bookmark save popup ── */
.bm-popup-backdrop{position:fixed;inset:0;z-index:400;background:rgba(0,0,0,.35);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;}
.bm-popup-backdrop.hidden{display:none;}
.bm-popup{background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius);padding:24px 24px 20px;width:340px;box-shadow:var(--shadow-lg);}
.bm-popup-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px;}
.bm-popup-sub{font-size:12px;color:var(--text3);margin-bottom:16px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.bm-popup input{width:100%;background:var(--bg3);border:1px solid var(--border2);border-radius:var(--radius-sm);padding:9px 11px;color:var(--text);font-family:inherit;font-size:13px;outline:none;transition:border-color .15s;}
.bm-popup input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);}
.bm-popup-actions{display:flex;gap:8px;margin-top:14px;justify-content:flex-end;}
.bm-popup-actions button{padding:7px 16px;border-radius:var(--radius-xs);font-size:13px;font-weight:500;cursor:pointer;border:none;transition:all .15s;}
.bm-popup-cancel{background:var(--bg3);color:var(--text2);}
.bm-popup-cancel:hover{background:var(--border);}
.bm-popup-save{background:var(--accent);color:#fff;}
.bm-popup-save:hover{opacity:.88;}
.bm-rename-btn{background:none;border:none;cursor:pointer;font-size:11px;color:var(--text3);padding:1px 3px;border-radius:3px;transition:color .12s;margin-left:2px;vertical-align:middle;}
.bm-rename-btn:hover{color:var(--accent);}

/* ── Folder selector inside bm-popup (multi-checkbox) ── */
.bm-popup-folder-wrap{margin-top:10px;}
.bm-popup-folder-list{display:flex;flex-direction:column;gap:1px;max-height:130px;overflow-y:auto;border:1px solid var(--border2);border-radius:var(--radius-xs);background:var(--bg3);}
.bm-popup-folder-item{display:flex;align-items:center;gap:7px;padding:6px 10px;cursor:pointer;font-size:13px;color:var(--text2);user-select:none;transition:background .1s;}
.bm-popup-folder-item:hover{background:var(--bg2);}
.bm-popup-folder-item input[type=checkbox]{accent-color:var(--accent);width:14px;height:14px;flex-shrink:0;cursor:pointer;}

/* ── Folder metadata shown on cards / doc-bar ── */
.card-folder-prefix{font-size:11px;font-weight:500;color:var(--fp-color,var(--text3));opacity:.85;}
.card-folder-sep{font-size:11px;color:var(--text3);}
.doc-bar-folder-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0;align-self:center;cursor:default;}
