/* L2: shared HTML contracts and states, independent of a CSS framework. */
.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);min-height:var(--control-height);padding:var(--space-sm) var(--control-padding);border:var(--border-line);border-radius:var(--radius-field);background:var(--surface);color:var(--ink);font-size:var(--text-sm);font-weight:var(--weight-strong);line-height:var(--leading-heading);text-decoration:none;white-space:nowrap;transition:background var(--motion-fast),border-color var(--motion-fast)}.ui-button:hover{background:var(--color-base-300)}.ui-button--primary{background:var(--action);border-color:var(--action);color:var(--action-ink)}.ui-button--primary:hover{background:color-mix(in oklab,var(--action) 85%,var(--ink))}.ui-button--secondary{background:var(--surface)}.ui-button--ghost{border-color:transparent;background:transparent}.ui-button--danger{color:var(--danger);border-color:var(--danger)}.ui-button--sm{min-height:var(--control-sm);padding:var(--space-xs) var(--space-md)}.ui-button--xs{min-height:var(--control-xs);padding:var(--space-xs) var(--space-sm);font-size:var(--text-xs)}.ui-button:disabled{opacity:.45;cursor:not-allowed;background:var(--color-base-300);border-color:var(--line);color:var(--muted)}.ui-field{display:grid;gap:var(--space-sm)}.ui-field__label{font-size:var(--text-sm);font-weight:var(--weight-strong)}.ui-input,.ui-select,.ui-textarea{width:100%;min-width:0;min-height:var(--control-height);padding:var(--space-sm) var(--space-md);border:var(--border-line);border-radius:var(--radius-field);background:var(--surface);color:var(--ink);font-size:var(--text-sm)}.ui-textarea{resize:vertical}.ui-input:disabled,.ui-select:disabled,.ui-textarea:disabled{background:var(--color-base-300);color:var(--muted)}.ui-input[aria-invalid=true]{border-color:var(--danger)}.ui-field__hint{font-size:var(--text-xs);color:var(--muted)}.ui-field__error{font-size:var(--text-xs);color:var(--danger)}.ui-card{display:grid;gap:var(--space-md);padding:var(--space-xl);border:var(--border-line);border-radius:var(--radius-md);background:var(--surface)}.ui-card__title{font-size:var(--text-lg);font-weight:var(--weight-strong)}.ui-badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border:var(--border-line);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--weight-strong);line-height:var(--leading-heading);width:fit-content}.ui-badge--pending{color:var(--muted)}.ui-dialog{border:var(--border-line);border-radius:var(--radius-md);padding:0;max-width:var(--customer-modal-width);width:calc(100% - var(--space-3xl));color:var(--ink);background:var(--surface)}.ui-dialog:not([open]){display:none}.ui-dialog::backdrop{background:#10182766}.ui-dialog__body{padding:var(--space-xl)}.ui-dialog__backdrop{position:absolute;right:var(--space-sm);top:var(--space-sm)}.ui-dialog__backdrop button{border:0;background:var(--surface);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm)}.ui-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.ui-table th,.ui-table td{text-align:left;padding:var(--space-md);border-bottom:var(--border-line)}
