/* ===== Layout ===== */

/* ===== Shared Button Bases ===== */
/* Ghost button — border + transparent bg */
.cm-btn, .welcome-btn, .plm-btn-cancel, .bn-btn { border:1px solid var(--border); background:var(--bg-card); color:var(--text); cursor:pointer; transition:all .15s; }
.cm-btn:hover, .welcome-btn:hover, .plm-btn-cancel:hover, .bn-btn:hover { background:var(--bg-hover); }

/* Muted footer button — deep bg + muted text */
.lp-pl-footer button, .pl-footer button, .api-config .cfg-btn { color:var(--text-muted); border:1px solid var(--border); background:var(--bg-deep); cursor:pointer; transition:all .15s; }
.lp-pl-footer button:hover, .pl-footer button:hover, .api-config .cfg-btn:hover { border-color:var(--border-light); color:var(--text); }

.toolbar-panel { width:72px; min-width:72px; align-self:stretch; border-right:1px solid var(--border); background:var(--bg-base); display:flex; flex-direction:column; align-items:center; padding:10px 4px; gap:4px; z-index:10; flex-shrink:0; overflow-y:auto; overflow-x:hidden; }
.tool-btn { width:64px; min-height:48px; height:auto; border-radius:10px; border:1px solid transparent; background:transparent; color:var(--text-muted); cursor:pointer; font-size:18px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; padding:6px 2px; transition:all .15s; position:relative; }
.tool-btn:hover { background:var(--bg-hover); color:var(--text); }
.tool-btn.active { background:var(--green-bg); color:var(--green); border-color:var(--green); box-shadow:0 1px 4px rgba(34,197,94,0.2); }
.tool-btn .tool-label { position:static; left:auto; top:auto; transform:none; background:transparent; border:none; padding:0; border-radius:0; font-size:10px; line-height:1.2; color:inherit; white-space:nowrap; opacity:1; pointer-events:none; transition:none; z-index:auto; max-width:100%; overflow:hidden; text-overflow:ellipsis; text-align:center; }
.tool-btn:hover .tool-label { opacity:1; transform:none; }
.tool-btn-placeholder { opacity:0.5; }
.tool-btn-placeholder:hover { opacity:1; color:var(--blue); }
.tool-sidebar { width:320px; min-width:320px; align-self:stretch; overflow-y:auto; overflow-x:hidden; border-right:1px solid var(--border); background:var(--bg-base); display:flex; flex-direction:column; padding:8px; gap:8px; flex-shrink:0; min-height:0; }
.tool-sidebar.hidden { display:none; }
.tool-panel { flex:1; min-height:0; }
.tool-panel.hidden { display:none; }
/* ===== Task 3+4: 布局重构 - 顶部工具条横跨整屏，左侧工具条下移到 cp-body-row ===== */
.cp-body-row { flex:1 1 0; display:flex; flex-direction:row; align-items:stretch; min-height:0; width:100%; overflow:hidden; }
.cp-content-col { flex:1 1 0; display:flex; flex-direction:column; min-width:0; min-height:0; overflow:hidden; align-self:stretch; }
.right-panel { width:340px; min-width:340px; flex-shrink:0; align-self:stretch; min-height:0; overflow-y:auto; overflow-x:hidden; border-left:1px solid var(--border); background:var(--bg-base); display:flex; flex-direction:column; padding:8px; gap:8px; }
.right-panel.hidden { display:none; }
/* 桌面端隐藏移动抽屉遮罩（移动端由 responsive.css 覆盖为 display:block） */
.mobile-overlay { display:none; }

/* Scrollbar */
::-webkit-scrollbar { width:4px; }
::-webkit-scrollbar-track { background:transparent; }
::-webkit-scrollbar-thumb { background:var(--border); border-radius:2px; }

/* ===== Unified Lucide icons (yh-icon) ===== */
.yh-icon { display:inline-block; width:1em; height:1em; flex-shrink:0; vertical-align:-0.125em; }
.yh-icon-inline { width:14px; height:14px; vertical-align:-2px; }
.tool-btn .yh-icon { width:18px; height:18px; }
.theme-toggle-btn .yh-icon { width:16px; height:16px; }
.lp-pl-action-btn .yh-icon,
.pl-cat-action-btn .yh-icon,
.notes-toolbar-btn .yh-icon,
.gp-btn .yh-icon,
.bn-close-btn .yh-icon,
.cfg-modal-close .yh-icon,
.mobile-drawer-close .yh-icon,
.rts-btn .yh-icon,
.h-del .yh-icon,
.cm-icon .yh-icon,
.ria-btn-icon .yh-icon,
.bn-result-icon .yh-icon { width:14px; height:14px; }
.notes-status-btn .yh-icon { width:13px; height:13px; margin-right:2px; }
.lp-pl-title .yh-icon { width:14px; height:14px; margin-right:4px; vertical-align:-2px; }
.cfg-modal-header h3 .yh-icon,
.cfg-modal-tab .yh-icon,
.cfg-modal-section-title .yh-icon { width:14px; height:14px; margin-right:4px; vertical-align:-2px; }
.gen-panel-minimized .yh-icon { width:16px; height:16px; margin-right:4px; }
.chat-welcome-icon .yh-icon { width:28px; height:28px; }
.chat-history-item-icon .yh-icon { width:14px; height:14px; }
.ocr-upload-icon .yh-icon { width:28px; height:28px; }
.ctx-item .yh-icon { width:14px; height:14px; margin-right:6px; vertical-align:-2px; }
.toast { display:flex; align-items:center; gap:6px; }
.toast .yh-icon { width:14px; height:14px; flex-shrink:0; }
.size-card .icon .yh-icon { width:14px; height:14px; }
.sp-check .yh-icon { width:12px; height:12px; margin-right:2px; vertical-align:-1px; }
.hg-toggle .yh-icon { width:12px; height:12px; }
.cm-target-icon .yh-icon { width:14px; height:14px; }
.ref-add-btn .yh-icon { width:16px; height:16px; }
.new-task-btn .yh-icon { width:14px; height:14px; }
.btn-skill .yh-icon { width:14px; height:14px; }
.btn-generate .btn-icon .yh-icon { width:14px; height:14px; }
.chat-error-inline .yh-icon { width:13px; height:13px; margin-right:4px; vertical-align:-2px; }
