.ds-development{margin-top:var(--space-8);min-width:0}
.ds-development>h3{margin-bottom:var(--space-2)}
.ds-development>.note{margin-bottom:var(--space-4)}
ds-data-table,ds-choice,ds-business-form,ds-file-queue{display:block;min-width:0;color:var(--color-text-primary)}
.ds-component{padding:var(--space-5);border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-reflection),var(--surface-glass-strong);box-shadow:var(--shadow-1)}
.ds-toolbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4)}
.ds-toolbar label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-caption)}
.ds-toolbar .control{width:auto;max-width:100%}
.ds-toolbar details{position:relative}
.ds-columns{position:absolute;z-index:var(--layer-popover);top:calc(100% + var(--space-2));right:0;width:min(320px,calc(100vw - 48px));max-height:min(480px,60vh);overflow:auto;padding:var(--space-4);border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-reflection),var(--surface-glass-strong);box-shadow:var(--shadow-2);backdrop-filter:blur(var(--glass-blur-compact)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--glass-blur-compact)) saturate(var(--glass-saturation));--energy-tone:var(--color-primary)}
.ds-columns__header{padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}
.ds-columns__header strong{font-size:var(--text-body-small);font-weight:var(--weight-semibold)}
.ds-columns__header p{margin:var(--space-1) 0 0;font-size:var(--text-caption);color:var(--color-text-secondary)}
.ds-columns__item{padding-top:var(--space-3)}
.ds-columns__item+.ds-columns__item{border-top:1px solid var(--color-border)}
.ds-columns__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}
.ds-columns .ds-columns__choice{display:flex;align-items:center;gap:var(--space-2);margin:0;min-width:0;font-size:var(--text-body-small);font-weight:var(--weight-medium);cursor:pointer}
.ds-columns__choice>input{flex:none;margin:0}
.ds-columns__head output{flex:none;font-variant-numeric:tabular-nums;font-size:var(--text-body-small);color:var(--color-text-primary)}
.ds-columns__head output>span{font-size:var(--text-caption);color:var(--color-text-secondary)}
.ds-columns .energy-range{display:block;width:100%}
@media(prefers-reduced-transparency:reduce){.ds-columns{background:var(--color-surface);backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(forced-colors:active){.ds-columns{background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none}}
.ds-data-scroll{max-height:440px;overflow:auto;scrollbar-gutter:stable;border:1px solid var(--table-border);border-radius:var(--radius-md)}
.ds-data-scroll:focus-visible{outline:var(--focus-width) solid var(--color-primary);outline-offset:var(--space-1)}
.ds-table{width:100%;min-width:800px;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:var(--text-body-small)}
.ds-table th,.ds-table td{height:var(--table-row-height);padding:var(--table-cell-block) var(--table-cell-inline);border-bottom:1px solid var(--table-border);text-align:left;overflow-wrap:anywhere;background:var(--surface-data)}
.ds-table:not(.ds-table--read-only) thead th{position:sticky;top:0;z-index:2;background:var(--color-surface)}
.ds-table .ds-fixed{position:sticky;left:52px;z-index:1}
.ds-table .ds-check{position:sticky;left:0;z-index:2;width:52px}
.ds-table thead .ds-fixed,.ds-table thead .ds-check{z-index:3}
.ds-table:not(.ds-table--read-only) tbody tr:hover>td{background:var(--color-surface)}
.ds-table tbody tr[data-selected=true]>td{background:var(--color-primary-light)}
.ds-table tbody tr[data-selected=true]:hover>td{background:var(--table-row-selected-hover)}
.ds-table .control{width:100%;height:var(--density-control-height)}
.ds-table td .row{gap:var(--space-1)}
.ds-table th .btn{padding-inline:0;justify-content:flex-start}
.ds-table-detail{padding:var(--space-4);background:var(--surface-inset)}
.ds-page{margin-top:var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}
.ds-state{padding:var(--space-6);display:grid;gap:var(--space-2);justify-items:start;background:var(--field-readonly-surface);border-radius:var(--radius-md)}
.ds-state h4{margin:0;font-size:var(--text-title)}
.ds-state p{margin:0;font-size:var(--text-body-small)}
.ds-state[hidden],.ds-component [hidden]{display:none!important}
.ds-choice-list{display:grid;gap:var(--space-2);max-height:230px;overflow:auto;margin-top:var(--space-3)}
.ds-choice-list label{display:flex;align-items:center;gap:var(--space-2);min-height:36px}
.ds-choice-list details{padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm)}
.ds-choice-list details label{padding-left:var(--space-4)}
.ds-choice-readout{margin-top:var(--space-3);font-size:var(--text-caption)}
.ds-choice-list summary,.ds-toolbar summary{cursor:pointer}
.ds-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--field-group-gap)}
.ds-field{display:grid;align-content:start;gap:var(--field-gap);min-width:0}
.ds-field .control{width:100%}
.ds-field label{font-size:var(--text-label);font-weight:var(--weight-medium)}
.ds-field small{font-size:var(--text-caption);color:var(--color-text-secondary)}
.ds-field .ds-error,.ds-error{color:var(--color-error);font-size:var(--text-caption)}
.ds-form-error{padding:var(--space-4);border:1px solid var(--color-error);border-radius:var(--radius-sm);margin-bottom:var(--space-4)}
.ds-form-error ul{margin:var(--space-2) 0 0;padding-left:var(--space-5)}
.ds-form-error a{color:var(--color-error)}
.ds-repeated{margin:var(--space-5) 0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md)}
.ds-repeated legend{font-size:var(--text-body-small);margin:0}
.ds-repeat-row{display:flex;gap:var(--space-2);align-items:center;margin-bottom:var(--space-2)}
.ds-repeat-row input{flex:1;min-width:0}
.ds-form-grid input:read-only{background:var(--field-readonly-surface)}
.ds-files{list-style:none;padding:0;margin:var(--space-4) 0;display:grid;gap:var(--space-3)}
.ds-files li{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:var(--space-2)}
.ds-files strong{overflow-wrap:anywhere}
.ds-files progress{width:100%;height:8px;accent-color:var(--color-primary)}
.ds-file-preview{margin-top:var(--space-4);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md)}
.ds-file-preview img{max-width:100%;max-height:280px;display:block;margin-top:var(--space-3)}
.ds-file-preview iframe{width:100%;height:320px;border:0;margin-top:var(--space-3)}


@media(max-width:620px){.ds-form-grid{grid-template-columns:1fr}.ds-component{padding:var(--space-4)}.ds-repeat-row{flex-wrap:wrap}.ds-repeat-row input{flex-basis:100%}.ds-columns{left:0;right:auto}}
@media(prefers-reduced-transparency:reduce){.ds-component{background:var(--color-surface)}}
@media(forced-colors:active){.ds-component,.ds-columns,.ds-state,.ds-table td,.ds-table th{background:Canvas;color:CanvasText;border-color:CanvasText}.ds-table tbody tr[data-selected=true]>td{outline:1px solid Highlight}}

.ds-advanced{margin-bottom:var(--space-4)}
.ds-advanced>summary{cursor:pointer;margin-bottom:var(--space-3)}
.ds-filter-group{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-3)}
.ds-filter-group legend{font-size:var(--text-body-small);margin:0}

/* Shared read-only table paint, independent of business page styles. */
.ds-data-scroll--display{border:0;border-radius:0;padding-inline:var(--space-1);scrollbar-gutter:stable;max-height:440px}
.ds-table--read-only{min-width:420px;table-layout:auto;border-spacing:0 var(--space-2);font-variant-numeric:tabular-nums}
.ds-table--read-only caption{position:static;width:auto;height:auto;clip-path:none;text-align:left;padding:var(--space-3) var(--space-3) var(--space-1);background:transparent;color:var(--color-text-secondary);font-size:var(--text-caption)}
.ds-table--read-only thead th{position:static;font-weight:var(--weight-medium)}
.ds-table--read-only tbody th{max-width:180px}
.ds-table--read-only thead th{padding:var(--space-2) var(--space-3);background:transparent;border:0;color:var(--color-text-secondary);font-size:var(--text-caption);text-transform:none;}
.ds-table--read-only tbody tr>*{height:var(--table-row-height);padding:var(--table-cell-block) var(--table-cell-inline);background:var(--surface-data);border-top:1px solid var(--glass-border);border-bottom:1px solid var(--table-border);font-size:var(--text-body-small);vertical-align:top;}
.ds-table--read-only tbody tr>*:first-child{border-left:1px solid var(--glass-border);border-radius:var(--radius-sm) 0 0 var(--radius-sm);font-weight:var(--weight-semibold);}
.ds-table--read-only tbody tr>*:last-child{border-right:1px solid var(--glass-border);border-radius:0 var(--radius-sm) var(--radius-sm) 0;}
/* Rules are read-only tables with long prose and no fixed vertical viewport. */
.ds-data-scroll--rules{max-height:none;border:0;padding-inline:var(--space-1);}
.ds-table--rules{min-width:280px;line-height:var(--line-body-small);}
.ds-table--rules th:first-child{width:18%;min-width:88px;max-width:160px;}
.ds-table--rules td{overflow-wrap:anywhere;}
.ds-table--rules code{white-space:normal;overflow-wrap:anywhere;}

@media(prefers-reduced-transparency:reduce){.ds-table--read-only tbody tr>*{background:var(--color-surface)}}
@media(forced-colors:active){.ds-table--read-only tbody tr>*{background:Canvas;color:CanvasText;border:1px solid CanvasText}.ds-table--read-only tbody tr:hover>*{background:Highlight;color:HighlightText}}

.ds-select-field{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}
.ds-select-field>.custom-select{width:100%;min-width:0}
.ds-select-field>.custom-select>.select-trigger{width:100%}
.ds-toolbar .ds-select-field{min-width:140px}

/* Keep the native value carrier out of the visible UI even under local control styles. */
.custom-select>select[data-enhanced]{display:none!important}
.ds-page .ds-select-field{min-width:120px}
.ds-field>.custom-select{width:100%;min-width:0}
.ds-field>.custom-select>.select-trigger{width:100%}
