/* U5 (D-29): bridge rules for other sections, linked last, tokens only; each lane adopts and deletes its block */

/* Surfaces: one bordered level */
.page > .card + .card, .page > .grid + .card, .page > .card + .grid, .page > .grid + .grid { margin-top: var(--section-gap); }
.page > .grid { gap: 24px; }
.page :is(.card, .report-sheet) .card { border: 0; border-top: 1px solid var(--border-hairline); border-radius: 0; background: transparent; box-shadow: none; padding-left: 0; padding-right: 0; }
.page :is(.card, .report-sheet) .card.card-pad > .section-head:first-child, .page .report-sheet .card > .section-head, .card-pad > .section-head.space-top { margin-inline: 0; padding-inline: 0; }
.contact-kpis > div, .contact-profile-list li { border: 0; border-top: 1px solid var(--border-hairline); border-radius: 0; padding: 8px 0 0; background: transparent; }
.page .card :is(.contact-address-fieldset, .contact-bank-fieldset) { border: 0; border-top: 1px solid var(--border-hairline); border-radius: 0; padding-left: 0; padding-right: 0; background: transparent; }
.page .card :is(.contact-address-fieldset, .contact-bank-fieldset) > legend { padding: 0 8px 0 0; }
.section-head { min-height: 52px; padding: 12px var(--card-pad); }
.section-head p { margin-top: 2px; }
.report-sheet:has(.statement-pair) { max-width: 1168px; }
.detail-side #attachment-form > .form-actions:last-child { position: static; margin-bottom: 0; padding: 12px 0 0; background: none; }
.detail-side .meta-row > :first-child { min-width: auto; overflow-wrap: normal; }
.ad-root .ad-table td.grid-clip:nth-child(4 of :not(.grid-select-cell)) { white-space: normal; }

/* Tables (U1) */
.data-table { font-size: var(--table-text); line-height: var(--lh-table); }
.data-table th { font-size: var(--table-head-text); line-height: var(--lh-table-head); }
.data-grid.grid-standard .data-grid-table tbody tr:not(.grid-empty-row) > td { height: var(--row-standard); }
.data-grid.grid-standard .data-grid-table td:where(:not(.grid-select-cell, .col-act)) { padding: 6px var(--cell-x-standard) 5px; }
.data-grid.grid-standard .data-grid-table thead tr:not(.grid-filter-row) > th { height: var(--row-standard); }
.data-grid.grid-standard .data-grid-table thead th:where(:not(.grid-select-col, .col-act)) { padding-inline: var(--cell-x-standard); }
.data-grid.grid-standard .data-grid-table .grid-filter-row th:where(:not(.grid-select-col, .col-act)) { padding-inline: var(--cell-x-standard); }
.data-grid.grid-standard .grid-sort { width: calc(100% + 2 * var(--cell-x-standard)); margin-inline: calc(-1 * var(--cell-x-standard)); padding-inline: var(--cell-x-standard); }
.data-grid.grid-compact .data-grid-table tbody tr:not(.grid-empty-row) > td { height: var(--row-compact); }
@media (min-width: 781px) { html[data-density="compact"] .page.page-fill { padding-top: 8px; } }
.list-grid th.col-date { width: var(--col-date); }
.journal-table th:nth-child(2) { width: var(--col-date-journal); }
.journal-table th:nth-child(3) { width: var(--col-voucher-journal); }
.document-lines-table:is(.sales-lines-table, .quote-lines-table) th:first-child { width: 25%; }
.document-lines-table:is(.sales-lines-table, .quote-lines-table) .line-tax { width: 11%; }

small { font-size: max(var(--text-2xs), .8333em); }

/* KPI (U4) */
.dash-kpi-value { font-size: var(--text-kpi); line-height: var(--lh-kpi); letter-spacing: var(--tracking-title); }
.dash-task-count { font-size: var(--text-xl); line-height: var(--lh-xl); }

/* Topbar (U3): chip text back until §25; record pages keep icon chips so the record crumb fits */
@container topbar (min-width: 1021px) and (max-width: 1312px) { .topbar .palette-trigger { width: 220px; } }
@container topbar (min-width: 1181px) and (max-width: 1312px) { .topbar .context-chip > span { position: static; width: auto; overflow: visible; clip-path: none; } }
@container topbar (min-width: 1101px) and (max-width: 1180px) { :lang(de) .topbar .context-chip > span { position: static; width: auto; overflow: visible; clip-path: none; } }
@container topbar (max-width: 1312px) { .topbar:has([data-crumb-record]:not(:empty)) .context-chip > span { position: absolute; width: 1px; overflow: hidden; clip-path: inset(50%); } }
.user-avatar { width: 30px; height: 30px; flex-basis: 30px; }
