.erp-button { height: var(--control-height-md); padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid var(--border-default); border-radius: var(--radius-sm); background: var(--surface-panel); color: var(--text-primary); font-size: var(--font-body); white-space: nowrap; text-decoration: none; font-weight: 500; }
.erp-button:hover:not(:disabled) { background: var(--hover); border-color: var(--border-strong); }
.erp-button:active:not(:disabled) { background: var(--selection); }
.erp-button.primary { background: var(--action-primary); color: var(--text-on-action); border-color: var(--action-primary); }
.erp-button.primary:hover:not(:disabled) { background: var(--action-primary-hover); }
.erp-button.danger { color: var(--state-danger); border-color: var(--border-danger); }
.erp-button.danger:hover:not(:disabled) { background: var(--surface-danger); }
.erp-button:disabled { background: var(--surface-disabled); color: var(--text-disabled); border-color: var(--border-default); }
.erp-button.compact { height: var(--control-height-sm); font-size: var(--font-caption); }
.erp-button.icon-button { width: var(--control-height-md); padding: 0; flex-shrink: 0; }
.erp-button .erp-icon { width: 16px; height: 16px; }
.erp-field { display: flex; flex-direction: column; gap: var(--space-1); min-width: 0; }
.erp-field label { font-size: var(--font-caption); color: var(--text-secondary); font-weight: 500; }
.erp-input { width: 100%; min-width: 0; height: var(--control-height-md); border: 1px solid var(--border-default); border-radius: var(--radius-sm); color: var(--text-primary); background: var(--surface-input); padding: 0 var(--space-2); }
.erp-input:hover:not(:disabled):not(:read-only) { border-color: var(--border-strong); }
.erp-input:focus { border-color: var(--focus-ring); outline: 2px solid var(--focus-ring); outline-offset: 1px; }
.erp-input:read-only:not(select) { background: var(--surface-readonly); }
.erp-input:disabled { background: var(--surface-disabled); color: var(--text-disabled); cursor: not-allowed; }
.erp-input::placeholder { color: var(--text-muted); font-size: var(--font-caption); }
.erp-input[aria-invalid="true"] { border-color: var(--state-danger); background: var(--surface-invalid); }
.required, .field-error { color: var(--state-danger); }.field-error { font-size: 11px; }
.erp-lookup { display: flex; align-items: center; gap: var(--space-1); }
.erp-lookup .lookup-code { flex: 0 0 100px; font-variant-numeric: tabular-nums; }
.erp-checkbox { display: inline-flex; align-items: center; gap: 6px; font-size: var(--font-caption); color: var(--text-secondary); min-height: var(--control-height-sm); }
.erp-checkbox input, .selection-column input { accent-color: var(--action-primary); width: 14px; height: 14px; margin: 0; }
.erp-checkbox:has(input:disabled) { color: var(--text-disabled); }
.erp-badge { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; min-height: 21px; padding: 1px 6px; font-size: 11px; color: var(--text-secondary); background: var(--surface-readonly); border-radius: var(--radius-sm); }
.badge-dot { width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.erp-badge.success { color: var(--state-success); background: var(--surface-success); }.erp-badge.warning { color: var(--state-warning); background: var(--surface-warning); }.erp-badge.danger { color: var(--state-danger); background: var(--surface-danger); }.erp-badge.info { color: var(--state-info); background: var(--surface-info); }