.erp-grid-frame { border: 1px solid var(--border-default); border-radius: var(--radius-sm); overflow: hidden; }
.erp-grid-scroll { max-height: 330px; overflow: auto; scrollbar-gutter: stable; }
.erp-grid { border-collapse: separate; border-spacing: 0; width: 100%; font-size: var(--font-caption); white-space: nowrap; }
.erp-grid th { position: sticky; top: 0; z-index: var(--z-sticky); height: var(--grid-header-height); background: var(--surface-grid-header); color: var(--text-secondary); border-bottom: 1px solid var(--border-default); font-weight: 600; text-align: left; }
.erp-grid td { height: var(--grid-row-height); border-bottom: 1px solid var(--border-subtle); }
.erp-grid th, .erp-grid td { padding: 0 var(--space-2); }.erp-grid th.numeric { text-align: right; }
.erp-grid tbody tr:hover { background: var(--hover); }.erp-grid tbody tr.is-selected { background: var(--selection); }
.erp-grid tbody tr.is-selected td:first-child { box-shadow: inset 3px 0 var(--action-primary); }
.erp-grid .selection-column { width: 32px; text-align: center; padding: 0 var(--space-2); }
.erp-grid .code-cell { color: var(--text-secondary); font-variant-numeric: tabular-nums; }
.description-cell { min-width: 190px; }
.grid-footer { display: flex; align-items: center; gap: var(--space-4); height: 29px; padding: 0 var(--space-2); background: var(--surface-subtle); border-top: 1px solid var(--border-default); font-size: 11px; color: var(--text-secondary); }
.erp-grid .grid-state { height: 288px; text-align: center; }
.grid-state > div { display: flex; flex-direction: column; align-items: center; gap: var(--space-2); color: var(--text-secondary); white-space: normal; padding: var(--space-4); }
.grid-state .erp-icon { width: 24px; height: 24px; }.grid-state [role="alert"] > .erp-icon { color: var(--state-danger); }
.grid-tools { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); margin-bottom: var(--space-2); }
.section-hint { color: var(--text-muted); font-size: 11px; }.state-switch { display: inline-flex; }
.state-switch button { height: var(--control-height-sm); border: 1px solid var(--border-default); background: var(--surface-panel); color: var(--text-secondary); padding: 0 9px; font-size: 11px; }
.state-switch button + button { margin-left: -1px; }.state-switch button[aria-pressed="true"] { background: var(--selection); color: var(--action-primary); border-color: var(--selection-border); z-index: 1; }.state-switch button:focus-visible { z-index: 2; }