#ganttWrap { overflow-x:hidden; grid-template-columns:var(--plan-table-width,var(--table-width)) minmax(0,1fr); border-radius:0; }
#ganttWrap > .task-head,#ganttWrap > .task-list { width:var(--plan-table-width,var(--table-width)); }
#ganttWrap > .task-list .task-row { width:var(--table-content-width); }
#ganttWrap > .pane-resizer { left:calc(var(--plan-table-width,var(--table-width)) - 5px); }
#ganttWrap.table-collapsed { grid-template-columns:48px minmax(0,1fr); }
#ganttWrap.table-collapsed > .task-head,#ganttWrap.table-collapsed > .task-list { width:48px; }
#ganttWrap.table-collapsed > .pane-resizer { left:43px; }
#planScrollbars { display:grid; flex:none; min-width:0; border-top:1px solid var(--line); background:#fafbfc; }
.plan-scroll-control { min-width:0; overflow:hidden; border-right:1px solid var(--line); }
.plan-scroll-control > span { display:block; padding:3px 8px; font-size:11px; color:#697286; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
/* Hidden scroll tracks retain native clamping; visible sliders work with mouse,
   touch and keyboard even on systems that hide native scrollbars. */
.plan-scroll-control { position:relative; padding-bottom:3px; }
.plan-horizontal-scroll { position:absolute; left:0; right:0; height:1px; overflow:hidden; visibility:hidden; }
.plan-horizontal-scroll > div { height:1px; }
.plan-scroll-control > input[type="range"] { display:block; width:calc(100% - 12px); height:18px; margin:0 6px; padding:0; border:0; background:transparent; accent-color:var(--primary); cursor:ew-resize; }
.plan-scroll-control > input:disabled { cursor:default; opacity:.4; }
.plan-scroll-control > input:focus-visible { outline:2px solid var(--primary); outline-offset:1px; }
