.sw-win { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.sw-pane { flex: 1; min-width: 0; min-height: 0; height: 100%; display: flex; flex-direction: column; background: var(--face); }
.sw-bar { flex: none; display: flex; flex-wrap: wrap; align-items: center; gap: 3px 8px; padding: 2px 4px; }
.sw-bar .sw-btn { min-width: 0; height: 21px; padding: 0 8px; }
.sw-lab { display: inline-flex; align-items: center; gap: 4px; }
.sw-grp { display: inline-flex; align-items: center; gap: 8px; }
.sw-chk { display: inline-flex; align-items: center; gap: 3px; }
.sw-chk input { margin: 0; }
.sw-sel { height: 20px; min-width: 60px; max-width: 220px; padding: 0 2px; border: 0; outline: 0; background: #fff; box-shadow: var(--sunk); font: inherit; }
.sw-fld { width: 90px; height: 20px; padding: 0 3px; border: 0; outline: 0; background: #fff; box-shadow: var(--sunk); font: inherit; cursor: text; -webkit-user-select: text; user-select: text; }
.sw-fld.sw-short { width: 56px; }
.sw-body { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 2px; margin: 0 2px; }
.sw-cell { flex: 1 1 0; min-height: 60px; position: relative; }
.sw-fcell { flex: 1 1 0; min-height: 90px; display: flex; flex-direction: column; }
.sw-phead { flex: none; display: flex; align-items: center; gap: 6px; padding: 1px 2px; }
.sw-phead .sw-btn { min-width: 0; height: 19px; padding: 0 6px; }
.sw-pane .status { margin: 2px; }
.sw-pane .status span:nth-child(1) { flex: 3 1 0; overflow: hidden; white-space: nowrap; }
.sw-pane .status span:nth-child(2) { flex: 3 1 0; overflow: hidden; white-space: nowrap; }
.sw-pane .status span:nth-child(3) { flex: 4 1 0; overflow: hidden; white-space: nowrap; }

.sw-dlg { width: 560px; max-width: 96vw; }
.sw-dpane { display: flex; flex-direction: column; gap: 6px; padding: 8px; }
.sw-dlist { flex: none; height: 300px; }
.sw-trow { display: flex; align-items: center; gap: 6px; padding: 1px 2px; }
.sw-trow .sw-tname { flex: 1; min-width: 110px; overflow: hidden; white-space: nowrap; }
.sw-trow .sw-btn { min-width: 0; height: 19px; padding: 0 6px; }
.sw-col { width: 34px; height: 18px; padding: 0; border: 0; background: none; }
.sw-lims { display: grid; grid-template-columns: max-content 1fr 1fr; align-items: center; gap: 4px 8px; }
.sw-lims .sw-fld { width: 100%; }
.sw-dbtn { display: flex; justify-content: center; gap: 8px; padding: 0 0 8px; }

.sw-tblhost { flex: 1; min-height: 0; }
.sw-tbl { border-collapse: collapse; margin: 0 0 8px; white-space: nowrap; }
.sw-tbl th { padding: 1px 6px; font-weight: normal; text-align: left; background: var(--face); box-shadow: var(--button); }
.sw-tbl td { padding: 0 6px; }
.sw-tbl .sw-num { text-align: right; }
