.sidebar{width:var(--sidebar-w);min-width:160px;max-width:480px;display:flex;flex-direction:column;background:var(--bg1);border-right:1px solid var(--bd);overflow:hidden;flex-shrink:0;position:relative;transition:width .15s}
.sidebar.collapsed{width:0!important;min-width:0;border-right:none;overflow:hidden}
.sb-header{height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 6px 0 12px;border-bottom:1px solid var(--bd);flex-shrink:0}
.sb-title{font-size:10px;font-weight:700;color:var(--tx2);letter-spacing:1.5px}
.sb-actions{display:flex;gap:1px}
.sb-section{border-bottom:1px solid var(--bd);flex-shrink:0}
.sb-section-header{display:flex;align-items:center;justify-content:space-between;padding:5px 12px;font-size:10px;font-weight:600;color:var(--tx2);letter-spacing:1px}
#project-list{max-height:110px;overflow-y:auto}
.proj-item{display:flex;align-items:center;justify-content:space-between;padding:5px 12px;cursor:pointer;font-size:12px;color:var(--tx1);transition:background .08s}
.proj-item:hover{background:var(--bg3);color:var(--tx0)}
.proj-item.active{color:var(--ac);background:var(--ac-glow)}
.proj-item-left{display:flex;align-items:center;gap:7px;flex:1;overflow:hidden}
.proj-item-left span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.proj-del{opacity:0;font-size:10px;color:var(--rd);background:none;border:none;cursor:pointer;padding:2px 4px}
.proj-item:hover .proj-del{opacity:1}
.sb-search{border-bottom:1px solid var(--bd);padding:5px 8px;flex-shrink:0}
.sb-search-input{width:100%;background:var(--bg2);border:1px solid var(--bd);color:var(--tx0);border-radius:var(--r2);padding:5px 8px;font-size:12px;font-family:var(--font);outline:none;transition:border-color .12s}
.sb-search-input:focus{border-color:var(--ac)}
.sb-search-input::placeholder{color:var(--tx2)}
.file-tree-wrap{flex:1;overflow-y:auto;overflow-x:hidden}
.file-tree{padding:3px 0;min-height:100%}
.empty-msg{padding:20px 12px;color:var(--tx2);font-size:12px;text-align:center;line-height:1.7}
.ti{display:flex;align-items:center;gap:2px;padding:2px 0;cursor:pointer;font-size:12px;color:var(--tx1);transition:background .07s,color .07s;min-height:22px;user-select:none;padding-right:5px}
.ti:hover{background:var(--bg3);color:var(--tx0)}
.ti.active{background:var(--bg2);color:var(--tx0)}
.ti.hidden-search{display:none}
.ti-indent{flex-shrink:0}
.ti-arrow{width:14px;height:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--tx2);transition:transform .12s}
.ti-arrow.open{transform:rotate(90deg)}
.ti-arrow svg{width:9px;height:9px}
.ti-icon{font-family:var(--mono);font-size:9px;color:var(--tx2);flex-shrink:0;width:26px;text-align:center}
.ti-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ti-actions{display:none;gap:2px;flex-shrink:0;align-items:center}
.ti:hover .ti-actions{display:flex}
.ti-act{width:16px;height:16px;border:none;background:transparent;color:var(--tx2);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:2px;padding:0}
.ti-act:hover{background:var(--bg3);color:var(--tx0)}
.ti-act:hover{background:var(--bg2);color:var(--tx0)}
.ti-children{display:none}
.ti-children.open{display:block}
.ti-rename{flex:1;background:var(--bg2);border:1px solid var(--ac);color:var(--tx0);border-radius:2px;padding:1px 4px;font-size:12px;font-family:var(--font);outline:none}

/* ---- SIDEBAR MOBILE ---- */
@media (max-width: 768px) {
  .sb-header { height: 42px !important; padding: 0 8px 0 14px !important; }
  .sb-title { font-size: 11px !important; letter-spacing: 1.2px !important; }
  .sb-search { padding: 7px 10px !important; }
  .sb-search-input { font-size: 14px !important; padding: 8px 10px !important; }

  .ti { min-height: 34px !important; font-size: 13px !important; padding-right: 8px !important; }
  .ti-icon { font-size: 10px !important; width: 28px !important; }
  .ti-act { width: 24px !important; height: 24px !important; }

  /* Project list items taller */
  .proj-item { padding: 9px 14px !important; font-size: 13px !important; }
  .sb-section-header { padding: 7px 14px !important; font-size: 11px !important; }
}
