/* Explicit primitives; the exclusion is a second guard for dynamically moved nodes.
   No table, tr, td, th, col or inherited ancestor typography is changed here. */
.ui-button.ui-button.ui-button:not(table *), .ui-field.ui-field.ui-field:not(table *) {
 box-sizing: border-box; font-family: var(--ui-font); font-size: var(--ui-text);
 line-height: 1.25; border-radius: var(--ui-radius);
 min-height: var(--ui-control); height: var(--ui-control);
 padding: var(--ui-gap) var(--ui-inline); border: var(--ui-border) solid var(--ui-line);
 max-width: 100%;
}
.ui-button.ui-button.ui-button:not(table *) {
 display: inline-flex; align-items: center; justify-content: center; gap: var(--ui-gap);
 background: var(--ui-accent); color: #fff; cursor: pointer; font-weight: 700;
 text-decoration: none; min-width: var(--ui-control); white-space: normal;
}
.ui-button.ui-button.ui-button[data-ui-variant="secondary"]:not(table *) { background: var(--ui-bg); color: var(--ui-ink); }
.ui-button.ui-button.ui-button[data-ui-variant="danger"]:not(table *) { background: var(--ui-danger-bg); color: var(--ui-danger); border-color: var(--ui-danger-line); }
.ui-button.ui-button.ui-button[data-ui-variant="text"]:not(table *) { background: transparent; color: var(--ui-accent); border-color: transparent; }
.ui-button.ui-button.ui-button[data-ui-size="compact"]:not(table *) { min-height: var(--ui-compact); height: var(--ui-compact); }
.ui-button.ui-button.ui-button[data-ui-variant="icon"]:not(table *) { width: var(--ui-control); padding: var(--ui-gap); }
.ui-button.ui-button.ui-button:not(table *):hover:not(:disabled,[aria-disabled="true"]) { filter: brightness(.95); }
.ui-button.ui-button.ui-button:not(table *):is(.active,[aria-pressed="true"]) { background: var(--ui-accent); color: #fff; border-color: var(--ui-accent); }
.ui-field.ui-field.ui-field:not(table *) { color: var(--ui-ink); background: var(--ui-bg); font-weight: 400; }
.ui-field.ui-field.ui-field:not(table *):hover { border-color: var(--ui-muted); }
textarea.ui-field.ui-field.ui-field:not(table *) { min-height: calc(var(--ui-control) * 2); height: auto; resize: vertical; }
.ui-button:not(table *):focus-visible,.ui-field:not(table *):focus-visible,.ui-choice:not(table *):focus-visible,.ui-multiselect summary:focus-visible {
 outline: 2px solid var(--ui-focus); outline-offset: var(--ui-step);
}
.ui-button:not(table *):is(:disabled,[aria-disabled="true"]),.ui-field:not(table *):disabled { opacity: var(--ui-disabled); cursor: not-allowed; }
.ui-field:not(table *)[readonly] { background: var(--ui-selected); }
.ui-field.ui-field.ui-field:not(table *):is([aria-invalid="true"],[data-ui-state="error"]) { border-color: var(--ui-danger); box-shadow: 0 0 0 1px var(--ui-danger); }
.ui-field.ui-field.ui-field:not(table *)[data-ui-state="success"] { border-color: var(--ui-success); }
.ui-button:not(table *)[aria-busy="true"],.ui-field:not(table *)[aria-busy="true"] { cursor: progress; opacity: .7; }
.ui-label.ui-label:not(table *) { gap: var(--ui-step); font-family: var(--ui-font); font-size: var(--ui-help); }
.ui-choice.ui-choice:not(table *) { accent-color: var(--ui-accent); width: 18px; height: 18px; min-height: 0; padding: 0; flex: 0 0 auto; }
.ui-label:not(table *):has(> .ui-choice) { display: flex; align-items: center; gap: var(--ui-gap); }
.ui-help,.ui-error { font: var(--ui-help)/1.4 var(--ui-font); }
.ui-help { color: var(--ui-muted); }.ui-error { color: var(--ui-danger); }
.ui-filters.ui-filters:not(table *) { display: flex; flex-wrap: wrap; align-items: end; gap: var(--ui-gap); margin-block: var(--ui-group); }
.ui-filters.ui-filters:not(table *) > label { display: grid; flex: 0 1 auto; width: var(--ui-filter-width); min-width: 0; max-width: 100%; }
.ui-actions.ui-actions:not(table *) { display: flex; flex-wrap: wrap; gap: var(--ui-gap); }
.ui-card.ui-card:not(table *) { border: var(--ui-border) solid var(--ui-line); border-radius: var(--ui-radius); background: var(--ui-bg); gap: var(--ui-group); }
.ui-notice.ui-notice:not(table *) { padding: var(--ui-gap) var(--ui-inline); border: var(--ui-border) solid var(--ui-line); border-radius: var(--ui-radius); font: var(--ui-text)/1.4 var(--ui-font); color: var(--ui-ink); background: var(--ui-selected); }
.ui-notice:not(table *):is(.error-notice,.error-message,.documents-error,.contracts-error,[data-ui-state="error"]) { color: var(--ui-danger); background: var(--ui-danger-bg); border-color: var(--ui-danger-line); }
.ui-notice:not(table *)[data-ui-state="success"] { color: var(--ui-success); }
.ui-notice:not(table *)[data-ui-state="warning"] { color: var(--ui-warning); }
.ui-badge:not(table *) { border-radius: var(--ui-radius); font-family: var(--ui-font); font-size: var(--ui-help); }
.ui-calendar.ui-calendar.ui-field.ui-field:not(table *) { min-height: var(--ui-calendar-height); height: var(--ui-calendar-height); border-radius: var(--ui-calendar-radius); }
.ui-multiselect { position: relative; min-width: var(--ui-select-width); border: var(--ui-border) solid var(--ui-line); border-radius: var(--ui-radius); background: var(--ui-bg); }
.ui-multiselect > summary { cursor: pointer; min-height: var(--ui-control); padding: var(--ui-gap) var(--ui-inline); font: var(--ui-text)/1.5 var(--ui-font); }
.ui-multiselect-panel { padding: var(--ui-gap); gap: var(--ui-gap); }
.ui-multiselect-panel[popover] { position: fixed; inset: auto; margin: 0; box-sizing: border-box; overflow: auto; border: var(--ui-border) solid var(--ui-line); border-radius: var(--ui-radius); color: var(--ui-ink); background: var(--ui-bg); box-shadow: 0 8px 24px #0002; }
.ui-multiselect-panel:popover-open { display: grid; }
.ui-multiselect-options { max-height: var(--ui-options-height); overflow-y: auto; display: grid; gap: var(--ui-step); }
.ui-multiselect-options label { display: flex; gap: var(--ui-gap); align-items: center; padding: var(--ui-step); }
/* 02.11.2026 usability trial; awaiting owner acceptance, not a final standard. */
.ui-multiselect-choices:popover-open { grid-template-rows: auto minmax(0,1fr); overflow: hidden; }
.ui-multiselect-choices .ui-multiselect-options { min-height: 0; max-height: calc(var(--ui-options-height) + 2 * var(--ui-control)); gap: 2px; }
.ui-multiselect .ui-multiselect-choices .ui-multiselect-options label {
 box-sizing: border-box; min-height: 24px; padding: 2px var(--ui-step);
 font-size: var(--maximus-table-font-size); line-height: var(--maximus-table-line-height); font-weight: 400;
 white-space: normal; overflow-wrap: anywhere;
}
.ui-multiselect-choices .ui-multiselect-options input[type="checkbox"] { flex: none; }
.ui-dialog.ui-dialog { border: var(--ui-border) solid var(--ui-line); border-radius: var(--ui-radius); padding: var(--ui-group); width: min(var(--ui-dialog-width),calc(100% - 2 * var(--ui-group))); max-height: calc(100dvh - 2 * var(--ui-group)); overflow: auto; color: var(--ui-ink); background: var(--ui-bg); }
.ui-dialog::backdrop { background: rgb(0 0 0 / 40%); }
.ui-dialog h2 { font: 700 var(--ui-heading)/1.3 var(--ui-font); }
@media (max-width:760px) {
 .ui-button.ui-button.ui-button:not(table *),.ui-field.ui-field.ui-field:not(table *) { min-height: var(--ui-touch); height: var(--ui-touch); min-width: var(--ui-touch); }
 textarea.ui-field.ui-field.ui-field:not(table *) { height: auto; }
 .ui-calendar.ui-calendar.ui-field.ui-field:not(table *) { min-height: max(var(--ui-touch),var(--ui-calendar-height)); }
 .ui-label:not(table *):has(> .ui-choice),.ui-multiselect-options label { min-height: var(--ui-touch); min-width: var(--ui-touch); }
 .ui-multiselect > summary { min-height: var(--ui-touch); }
 .ui-multiselect .ui-multiselect-choices .ui-multiselect-options label { min-height: var(--ui-touch); }
 .ui-filters.ui-filters:not(table *) { align-items: stretch; }
 .ui-filters.ui-filters:not(table *) > label { flex-basis: 100%; }
}

.ui-button:not(table *)[aria-busy="true"]::after { content: '…'; margin-inline-start: var(--ui-step); }
.ui-notice:not(table *)[aria-busy="true"] { cursor: progress; }
.ui-multiselect-options [hidden] { display: none; }

.content :is(p,legend,dt,dd,li):not(table *):not(:has(table)) { font-family: var(--ui-font); font-size: var(--ui-text); }
.content :is(h2,h3):not(table *) { font-family: var(--ui-font); font-size: var(--ui-heading); }
.ui-form:not(table *):not(:has(table)) { gap: var(--ui-group); }

.ui-choice.ui-choice:not(table *)[role="switch"] { appearance: none; width: var(--ui-control); height: 24px; border-radius: 999px; background: var(--ui-line); border: var(--ui-border) solid var(--ui-line); position: relative; cursor: pointer; }
.ui-choice[role="switch"]:not(table *)::after { content: ''; width: 18px; height: 18px; border-radius: 50%; background: var(--ui-bg); position: absolute; top: 2px; left: 2px; }
.ui-choice[role="switch"]:not(table *):checked { background: var(--ui-accent); }
.ui-choice[role="switch"]:not(table *):checked::after { left: auto; right: 2px; }

@media (max-width:760px) {
 .ui-button.ui-button.ui-button[data-ui-size="compact"]:not(table *) { min-height: var(--ui-touch); height: var(--ui-touch); }
}

.ui-choice:not(table *):disabled { opacity: var(--ui-disabled); cursor: not-allowed; }
.ui-multiselect[open] { border-color: var(--ui-accent); }
.ui-multiselect > summary:hover,.ui-multiselect-options label:has(input:checked) { background: var(--ui-selected); }

.ui-card.ui-card:not(table *) { padding: var(--ui-group); }
.ui-card:not(table *) > fieldset { padding: var(--ui-group); border: var(--ui-border) solid var(--ui-line); border-radius: var(--ui-radius); }
.ui-card:not(table *) :is(.contracts-grid,.documents-grid) { gap: var(--ui-gap); }

/* Business visibility is authoritative over component display/grid/flex. */
:is(.ui-label,.ui-field,.ui-button,.ui-notice,.ui-actions,.ui-filters)[hidden]:not(table *) { display: none !important; }
.ui-multiselect-options label[hidden] { display: none !important; }

/* Filter layout is sequential; neither fields nor auto margins push actions away. */
.ui-filters.ui-filters.ui-filters:not(table *) { justify-content: flex-start; gap: var(--ui-gap); }
.ui-filters.ui-filters.ui-filters:not(table *) > :not(input[type="hidden"]) { margin-inline: 0; flex-grow: 0; max-width: 100%; }
.ui-filters.ui-filters.ui-filters:not(table *) > label:has(input:is([type="search"],[name="q"],[name="search"])) { width: var(--ui-search-width); max-width: min(100%,var(--ui-search-max)); flex: 0 1 var(--ui-search-width); }
.ui-filters.ui-filters:not(table *) :is(input,select) { min-width: 0; max-width: 100%; }
.ui-production-statuses { display: flex; flex-wrap: wrap; gap: var(--ui-gap); align-items: center; }
.ui-production-statuses .status-filter-button { margin: 0; }
.ui-production-statuses[data-ui-selection="multiple"] [aria-pressed="true"]::before { content: '✓'; }
.script-bubble[data-ui-content-button] { height: auto; min-height: var(--ui-control); }
.script-bubble[data-ui-content-button]:focus-visible { outline: 2px solid var(--ui-focus); outline-offset: var(--ui-step); }
.content .script-card-head h2 { font-size: inherit; }
.calculator-workbench-head { flex-direction: column; align-items: flex-start; }
@media(max-width:760px) {
 .ui-filters.ui-filters.ui-filters:not(table *) > label,
 .ui-filters.ui-filters.ui-filters:not(table *) > label:has(input:is([type="search"],[name="q"],[name="search"])) { flex-basis: 100%; width: 100%; }
}
