Two UI fixes:
- "By existing" catalog columns were far too wide. The seltable forced the
table to width:100% (auto-layout then stretches columns) and — in the
classifier's copy — the per-column filter <input>s had no styling, so each
fell back to its ~170px intrinsic width and dictated the column width. Set
the table to width:auto (cells are already nowrap → fit header/longest cell)
and style .seltable__colfilter to fill its column (min-width:2rem,
box-sizing:border-box) so the inputs never widen a column. Applied to both
the classifier copy and shared/seltable.css (same fix for the tables tool's
"Add from archive" table).
- The left Folder Tree rendered folders and files in raw scan order. Sort both
at render — case-insensitive, natural (so "Rev 2" precedes "Rev 10") — via a
non-mutating slice().sort() at each render point in tree.js.
Tests: a new spec asserts the natural/case-insensitive tree order; 62 classify
+ classifier green (108 across classify/classifier/tables/tables-mdl).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>