/* View presentation extensions are shared by native and embedded tables. */
.dv-composite{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:3px;line-height:1.5}
.dv-primary{font-weight:500;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit}
.dv-secondary{display:flex;align-items:center;gap:5px;min-width:0;font-size:var(--ui-font-size-xs);color:var(--md-muted);overflow:hidden;white-space:nowrap}
.dv-secondary-value{min-width:0;overflow:hidden;text-overflow:ellipsis}.dv-field-label{color:var(--md-subtle)}.dv-separator{flex:none;color:var(--md-subtle)}
.dv-badge{flex:none;font-size:var(--ui-font-size-xs);line-height:1.5;color:var(--md-muted)}.dv-badge.dv-success{color:var(--ui-success)}.dv-badge.dv-warning{color:var(--ui-warning)}.dv-badge.dv-accent{color:var(--md-blue)}
.dv-action{border:0;background:transparent;color:var(--md-blue);font:inherit;font-size:var(--ui-font-size-sm);line-height:1.5;padding:5px 7px;white-space:nowrap;cursor:pointer;border-radius:6px}
.dv-action:hover:not(:disabled){background:var(--md-blue-soft)}.dv-action:disabled{color:var(--md-subtle);cursor:not-allowed}.dv-action:focus-visible{outline:2px solid var(--md-blue);outline-offset:1px}
.dv-row-actions{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md-grid .dv-composite{height:100%;padding:5px 0}.md-grid .dv-row-actions{vertical-align:middle}
.md-grid .md-cell-content:has(.dv-composite){height:calc(var(--md-row-height,32px) - 1px);white-space:normal;padding-right:18px}
.md-record-card>.dv-row-actions,.md-card-slot .md-record-card>.dv-row-actions{display:flex;flex-wrap:wrap;gap:2px;align-items:center;margin-top:9px;border-top:1px solid var(--md-line-soft);padding-top:4px}
.dv-list .md-grid thead{display:none}.dv-list .md-grid td{border-right:0!important}.dv-list .md-grid .md-primary-cell{padding-inline:16px}
.dv-view-params{display:flex;gap:8px;align-items:end;flex-wrap:wrap;padding:7px 12px;border-bottom:1px solid var(--md-line)}
.dv-view-params label{display:grid;gap:3px;font-size:var(--ui-font-size-xs);max-width:180px;margin:0}.dv-view-params input,.dv-view-params select{height:29px;min-width:100px;width:100%;font-size:var(--ui-font-size-sm)}.dv-view-params button{min-height:29px;font-size:var(--ui-font-size-sm)}
.dv-view-params:empty,.dv-view-params[hidden]{display:none}
.dv-view-params .dv-param-field{display:grid;gap:3px;min-width:120px;max-width:240px;font-size:var(--ui-font-size-xs);color:var(--md-muted);margin:0}
.dv-param-required{color:var(--ui-danger,var(--ui-danger));margin-left:3px}
.dv-record-control{display:flex;align-items:center;min-width:0;border:1px solid var(--md-line);border-radius:5px;background:var(--md-surface,var(--ui-surface))}
.dv-view-params .dv-record-control button{border:0;background:transparent;box-shadow:none;color:var(--md-text);height:29px;min-height:29px;margin:0}
.dv-record-select{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:140px;max-width:210px;padding:3px 8px;text-align:left;cursor:pointer}
.dv-record-select [data-param-label]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dv-record-select[aria-invalid=true]{color:var(--ui-danger,var(--ui-danger))!important}
.dv-record-clear{width:25px;padding:0;cursor:pointer}.dv-record-clear[hidden]{display:none}
.dv-record-control:focus-within{outline:2px solid var(--md-accent,var(--ui-brand));outline-offset:1px}
.dv-record-picker{position:fixed;inset:auto;margin:0;padding:8px;border:1px solid var(--md-line,var(--ui-border));border-radius:8px;background:var(--md-surface,var(--ui-surface));color:var(--md-text,var(--ui-text));box-shadow:0 8px 28px color-mix(in srgb,var(--ui-title) 14%,transparent);box-sizing:border-box;font-family:inherit;font-size:var(--ui-font-size-sm);line-height:1.5;max-height:calc(100dvh - 24px);overflow:auto}
.dv-record-picker::backdrop{background:transparent}
.dv-record-picker input[type=search]{box-sizing:border-box;width:100%;height:32px;min-width:0;padding:5px 8px;border:1px solid var(--md-line,var(--ui-border));border-radius:4px;font-size:var(--ui-font-size-sm)}
.dv-record-options{max-height:min(260px,40dvh);overflow:auto;margin-top:6px;overscroll-behavior:contain}
.dv-record-options button{display:block;width:100%;text-align:left;white-space:normal;overflow-wrap:anywhere;padding:7px 8px;border:0;border-radius:4px;background:transparent;color:inherit;font-size:var(--ui-font-size-sm);cursor:pointer}
.dv-record-options button:hover,.dv-record-options button.is-active,.dv-record-options button[aria-selected=true]{background:var(--md-accent-soft,var(--ui-brand-soft));color:var(--md-accent,var(--ui-brand))}
.dv-record-status{padding:6px;color:var(--md-muted,var(--ui-muted))}.dv-record-status:empty{display:none}
.dv-parameter-wait{display:grid;align-content:center;justify-items:center;text-align:center;min-height:210px;height:100%;gap:8px;padding:24px;color:var(--md-muted,var(--ui-muted));box-sizing:border-box}
.dv-parameter-wait strong{font-size:var(--ui-font-size);font-weight:600;color:var(--md-text,var(--ui-text))}.dv-parameter-wait p{margin:0;font-size:var(--ui-font-size-sm);line-height:1.7}
[data-vd-param]:not(:has([data-vd-param-type] option[value=record]:checked)) .dv-param-source{display:none}
.dv-actions-overflow{display:inline-block}.dv-action-popover{position:fixed;inset:auto;margin:0;border:1px solid var(--md-line);border-radius:8px;padding:6px;background:var(--ui-surface);box-shadow:var(--md-shadow);min-width:140px;max-width:min(300px,90vw);max-height:min(320px,55vh);overflow:auto;color:var(--md-text);font:var(--ui-font-size)/1.5 var(--md-font)}
.dv-action-popover .dv-action{display:block;text-align:left;width:100%;white-space:normal}

/* Embedding only supplies containment; typography and table chrome live in tables.css. */
.md-embedded{display:flex;flex-direction:column;height:100%;min-height:0;min-width:0;overflow:hidden}
.md-embedded>.md-main{flex:1;min-width:0;width:100%}.dv-content{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden}
.dv-runtime .dv-surface-actions{display:flex;justify-content:flex-end;align-items:center;flex:none;padding:var(--ui-space-2) var(--ui-space-3);border-bottom:1px solid var(--ui-border);background:var(--ui-surface)}
.dv-runtime .dv-surface-toggle{display:flex;flex:none;align-items:center}
.dv-runtime .dv-preview-label{margin-right:auto;min-width:0;font-size:var(--ui-font-size-xs);color:var(--ui-muted);overflow-wrap:anywhere}
.dv-runtime [hidden]{display:none!important}
.dv-runtime .md-table-heading h2{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ui-font-size);line-height:var(--ui-line-height);font-weight:500}
.dv-runtime .md-grid-scroll{min-height:0}
.dv-status .dv-total{margin-right:auto}.dv-error{display:flex;align-items:center;gap:8px}.dv-error [role=alert]{overflow-wrap:anywhere}.dv-error .text-button{flex:none}

.dv-designer{border-top:1px solid var(--md-line);padding-top:16px;margin-top:18px}.dv-designer>summary{font-weight:600;cursor:pointer}
.dv-designer-section{margin-top:18px}.dv-designer-section>header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.dv-designer-section h3{margin:0!important}
.dv-config-row{border:1px solid var(--md-line);border-radius:6px;padding:12px;margin:8px 0;background:var(--md-canvas)}.dv-config-row>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.dv-designer-section>.dv-config-row:first-child{margin-top:0}
.dv-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dv-config-grid label{min-width:0}
.dv-condition{display:grid;grid-template-columns:minmax(90px,1fr) 100px minmax(90px,1fr) minmax(90px,1fr) auto;gap:6px;margin:7px 0;align-items:center}.dv-condition input,.dv-condition select{min-width:0}
.dv-rule-box{margin-top:10px}.dv-rule-box>summary{font-size:var(--ui-font-size-sm);cursor:pointer;color:var(--md-muted)}.dv-designer small{font-size:var(--ui-font-size-xs);color:var(--md-subtle)}
.md-filter-literal{display:flex;flex:1;min-width:0}.md-filter-literal[hidden],.md-filter-param[hidden]{display:none!important}.md-filter-literal>input,.md-filter-literal>select{width:100%}
@media(max-width:600px){.dv-config-grid{grid-template-columns:1fr}.dv-condition{grid-template-columns:1fr 1fr}.dv-condition [data-vd-value]{grid-column:1/2}.dv-condition .text-button{justify-self:end}.md-filter-literal{flex-basis:100%}}
