/* CSM-Komposition auf gemeinsamen Kontrollen. Konturen, Labelgewichte und
   Markentypografie stammen aus ui-styles; hier bleiben Layout und Fachfarben. */
.csm-logo-dark, [data-theme="dunkel"] .csm-logo-light { display:none; }
[data-theme="dunkel"] .csm-logo-dark { display:block; }
.csm-app-nav { margin-left:auto; }
.csm-editor { display:flex; flex-direction:column; min-width:0; min-height:0; }
.csm-editor h1 { overflow-wrap:anywhere; }
/* Das Bestandsfenster bleibt hinter modalen Dialogen sichtbar. Native Modalität
   sperrt weiterhin die Bedienung des Hintergrunds und verwaltet den Fokus. */
.provi-dialog::backdrop { background:transparent; }
.csm-material-dialog { --provi-dialog-wide-width:900px; }
.csm-material-search { display:flex; align-items:end; gap:10px; margin-bottom:12px; }
.csm-material-search > :first-child { flex:1; }
.csm-material-list { overflow:auto; max-height:52vh; border:1px solid var(--provi-border); border-radius:6px; }
.csm-material-list button { display:grid; width:100%; min-width:580px; grid-template-columns:minmax(250px,1fr) 80px 65px 110px; gap:10px; align-items:center; padding:6px 10px; border:0; border-bottom:1px solid var(--provi-border); background:var(--provi-surface); color:var(--provi-text); font:var(--provi-table-font-size)/var(--provi-type-ui-line-height) var(--provi-font-body); text-align:left; cursor:pointer; }
.csm-material-list button:hover,.csm-material-list button[aria-pressed=true] { background:var(--provi-surface-muted); }
.csm-material-list button > span:not(:first-child) { font-size:var(--provi-type-caption-font-size); color:var(--provi-table-secondary); text-align:right; }
.csm-material-list small { display:block; font-size:var(--provi-type-caption-font-size); color:var(--provi-table-secondary); }
.csm-material-mapping { overflow:auto; max-height:52vh; border:1px solid var(--provi-border); border-radius:6px; }
.csm-material-mapping-head,.csm-material-mapping-row { display:grid; grid-template-columns:60px minmax(150px,2fr) 85px minmax(90px,1fr) minmax(160px,2fr) 55px; gap:8px; padding:8px; min-width:700px; text-align:left; align-items:center; }
.csm-material-mapping-head { font-size:var(--provi-table-heading-font-size); text-transform:var(--provi-table-heading-text-transform); color:var(--provi-table-secondary); border-bottom:1px solid var(--provi-border); }
.csm-material-mapping-row { width:100%; border:0; border-bottom:1px solid var(--provi-border); background:var(--provi-surface); color:var(--provi-text); font:var(--provi-table-font-size)/var(--provi-type-ui-line-height) var(--provi-font-body); cursor:pointer; }
.csm-material-mapping-row:hover { background:var(--provi-surface-muted); }
.csm-material-mapping-row > span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.csm-template-dock { position:fixed; right:0; top:148px; bottom:34px; z-index:30; width:min(400px,92vw); display:flex; flex-direction:column; background:var(--provi-surface); border:1px solid var(--provi-border); box-shadow:var(--provi-dialog-shadow); }
.csm-template-dock > header { display:flex; align-items:center; justify-content:space-between; padding:8px 12px; border-bottom:1px solid var(--provi-border); font-weight:var(--provi-type-emphasis-font-weight); }
.csm-template-dock > header button,.csm-template-handle { border:1px solid var(--provi-border); background:var(--provi-surface); color:var(--provi-text-secondary); cursor:pointer; }
.csm-template-body { flex:1; min-height:0; overflow:auto; padding:8px 12px; display:flex; flex-direction:column; }
.csm-template-body > :not(.csm-template-tree) { flex-shrink:0; }
.csm-template-body > .provi-help { font-size:var(--provi-type-caption-font-size); line-height:var(--provi-type-caption-line-height); margin:4px 0; color:var(--provi-table-muted); }
.csm-template-dock > footer:not(:has(button)) { display:none; }
@media(min-width:1000px) { body:has(.csm-template-dock:not(.csm-template-dock--left)[data-open=true]) .csm-grid-workspace { margin-right:410px; } body:has(.csm-template-dock--left[data-open=true]) .csm-grid-workspace { margin-left:370px; } }
.csm-template-dock > footer { display:flex; gap:6px; padding:6px 12px; border-top:1px solid var(--provi-border); flex-wrap:wrap; }
.csm-template-dock > footer .provi-button { min-height:24px; padding:3px 8px; font-size:var(--provi-type-label-font-size); }
.csm-template-handle { position:fixed; right:0; top:50%; height:60px; width:20px; z-index:31; border-radius:6px 0 0 6px; }
.csm-template-handle--open { right:min(400px,92vw); }
.csm-template-dock--left { left:0; right:auto; width:min(360px,92vw); }
.csm-template-handle--left { left:0; right:auto; border-radius:0 6px 6px 0; }
.csm-template-handle--left.csm-template-handle--open { left:min(360px,92vw); right:auto; }
.csm-db-source-list { max-height:38vh; overflow:auto; border:1px solid var(--provi-border); border-radius:6px; }
.csm-db-source-list button { display:flex; align-items:center; gap:6px; width:100%; padding:5px 8px; border:0; border-bottom:1px solid var(--provi-border); background:var(--provi-surface); color:var(--provi-text); font:inherit; font-size:var(--provi-type-label-font-size); text-align:left; cursor:pointer; }
.csm-db-source-list button > span:nth-of-type(2) { flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.csm-db-source-list code,.csm-db-source-list small { font-size:var(--provi-type-caption-font-size); color:var(--provi-table-secondary); }
.csm-db-source-list [aria-pressed=true] { background:var(--provi-action-subtle); }
.csm-values-dialog { --provi-dialog-wide-width:700px; max-height:min(600px,88vh); }
.csm-values-dialog .provi-form-group { border:0; padding:0; margin:0; }
.csm-values-dialog .provi-form-group > legend { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.csm-values-dialog .provi-form-group__fields > label:not(:has(input[type=checkbox])) { display:grid; grid-template-columns:100px 1fr; align-items:center; }
.csm-values-dialog .provi-field { display:grid; grid-template-columns:100px 100px; align-items:center; }
.csm-values-dialog .provi-field__label { font-weight:var(--provi-type-regular-font-weight); }
.csm-values-dialog .csm-editor-table { margin-top:8px; max-height:250px; overflow:auto; }
.csm-values-dialog .provi-table { font-size:var(--provi-table-font-size); }
.csm-cost-carriers { --provi-dialog-wide-width:680px; }
.csm-bidder-new { --provi-dialog-width:440px; }
.csm-discount-dialog { --provi-dialog-width:380px; }
.csm-bidder-summary { display:flex; flex-wrap:wrap; align-items:center; flex:none; gap:10px; padding:5px 12px; border-bottom:1px solid var(--provi-border); font-size:var(--provi-type-caption-font-size); color:var(--provi-text-secondary); }
.csm-bidder-chip { display:inline-flex; align-items:center; padding:2px 8px; border-radius:10px; background:var(--provi-surface-subtle); }
.csm-bidder-chip--best { background:color-mix(in srgb,var(--provi-positive) 12%,var(--provi-surface)); color:var(--provi-positive); }
.csm-bidder-chip--highest { border:1px solid var(--provi-danger); color:var(--provi-danger); background:transparent; }
.csm-bidder-chip button { border:0; padding:0; color:inherit; background:transparent; font:inherit; cursor:pointer; }
.csm-bidder-chip .csm-bidder-remove { margin-left:4px; }
/* Excel-Zuordnung und Optionen bleiben gleichzeitig sichtbar wie im Bestand.
   Bei starkem Zoom sind beide Bereiche im Dialog nacheinander erreichbar. */
.csm-import-dialog { --provi-dialog-wide-width:820px; }
.csm-import-dialog--excel { --provi-dialog-wide-width:1200px; height:min(740px,94vh); }
.csm-import-dialog--excel > .provi-dialog__body { display:flex; flex-direction:column; min-height:0; padding:0; }
.csm-import-dialog .csm-import-file { padding:8px 12px; display:flex; flex-wrap:wrap; align-items:end; gap:12px; }
.csm-import-file > label { min-width:150px; }
.csm-import-file > .provi-file-picker { flex:1; }
.csm-import-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; flex:1; min-height:0; }
.csm-import-main { display:flex; flex-direction:column; min-height:0; min-width:0; border-right:1px solid var(--provi-border); }
.csm-import-range { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:9px 12px; background:var(--provi-surface-subtle); }
.csm-import-range label { display:flex; align-items:center; gap:6px; font-size:var(--provi-type-caption-font-size); }
.csm-import-range select { width:200px; }
.csm-import-range input { width:65px; }
.csm-import-detection { margin:0; padding:6px 12px; font-size:var(--provi-type-caption-font-size); background:var(--provi-action-subtle); }
.csm-import-mapping { padding:9px 12px; border-block:1px solid var(--provi-border); background:var(--provi-surface-subtle); }
.csm-import-mapping p { margin:2px 0 7px; font-size:var(--provi-type-caption-font-size); color:var(--provi-text-secondary); }
.csm-import-mapping-grid { display:grid; grid-template-columns:1fr 1fr; gap:2px 20px; }
.csm-import-mapping-grid label { display:grid; grid-template-columns:75px 110px minmax(0,1fr); align-items:center; gap:6px; font-size:var(--provi-type-label-font-size); }
.csm-import-mapping-grid select { height:24px; min-height:24px; padding:2px 6px; font-size:var(--provi-type-caption-font-size); }
.csm-import-mapping-grid label > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--provi-text-secondary); font-size:var(--provi-type-caption-font-size); }
.csm-import-preview { flex:1; min-height:90px; overflow:auto; }
.csm-import-preview td { white-space:nowrap; }
.csm-import-header { font-weight:var(--provi-type-emphasis-font-weight); }
.csm-import-chapter { background:var(--provi-action-subtle); }
.csm-import-options { overflow:auto; background:var(--provi-surface-subtle); }
.csm-import-options fieldset { min-width:0; margin:0; padding:10px 12px; border:0; border-bottom:1px solid var(--provi-border); }
.csm-import-options legend { padding-top:10px; margin-bottom:0; font-size:var(--provi-type-caption-font-size); font-weight:var(--provi-type-emphasis-font-weight); color:var(--provi-action-ink); }
.csm-import-options label { display:flex; align-items:center; gap:5px; margin-bottom:4px; font-size:var(--provi-type-label-font-size); }
.csm-import-options .provi-field { margin-top:6px; }
.csm-import-options .provi-input[type=number] { width:70px; }
@media(max-width:950px) { .csm-import-mapping-grid { grid-template-columns:1fr; } }
@media(max-width:700px) { .csm-import-layout { display:block; flex:none; } .csm-import-options { overflow:visible; } .csm-import-main { min-height:300px; } .csm-import-dialog--excel > .provi-dialog__body { display:block; overflow:auto; } }
.csm-carrier-row { display:grid; grid-template-columns:minmax(0,1fr) 90px auto; align-items:center; gap:8px; margin-bottom:6px; }
.csm-carrier-row input:nth-child(2) { text-align:right; }
.csm-template-dock--left .provi-panel { padding:8px; }
.csm-template-dock--left .provi-panel h2 { font-size:var(--provi-type-ui-font-size); }
.csm-template-search { gap:5px; }
.csm-template-class { display:flex; align-items:center; gap:6px; margin-bottom:6px; font-size:var(--provi-type-caption-font-size); }
.csm-template-class select { flex:1; min-width:0; height:28px; padding-block:2px; }
.csm-template-class .provi-button { width:28px; height:28px; min-height:28px; padding:4px; }
.csm-template-class [aria-pressed=true] { color:var(--provi-positive); border-color:var(--provi-positive); }
.csm-template-search .provi-field__label { font-weight:var(--provi-type-regular-font-weight); }
.csm-template-filters { display:flex; gap:4px; align-items:center; margin-block:8px; font-size:var(--provi-type-caption-font-size); color:var(--provi-table-secondary); }
.csm-template-filters button { border:1px solid var(--provi-border); border-radius:12px; background:var(--provi-surface); color:inherit; font:inherit; padding:1px 8px; cursor:pointer; }
.csm-template-filters button[aria-pressed=true] { background:var(--provi-text-secondary); color:var(--provi-action-text); }
.csm-template-tree { flex:1; min-height:120px; overflow:auto; border:1px solid var(--provi-border); border-radius:6px; }
.csm-template-row { display:flex; min-height:26px; align-items:center; border-bottom:1px solid var(--provi-border); font-size:var(--provi-table-font-size); line-height:var(--provi-type-caption-line-height); }
.csm-template-chapter { background:var(--provi-surface-subtle); font-weight:var(--provi-type-emphasis-font-weight); }
.csm-template-row button { border:0; background:transparent; color:inherit; font:inherit; text-align:left; cursor:pointer; padding:3px; }
.csm-template-row[aria-selected=true] { background:var(--provi-surface-muted); }
.csm-template-pick { flex:1; display:flex; gap:8px; min-width:0; }
.csm-template-pick span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex:1; }
.csm-template-pick code { color:var(--provi-table-secondary); font-family:var(--provi-font-mono); font-size:var(--provi-type-caption-font-size); }
.csm-template-pick small { color:var(--provi-table-secondary); font-size:var(--provi-type-caption-font-size); }
/* Auch bei Browserzoom bleibt die Werkzeugleiste oberhalb des Katalogs bedienbar. */
@media(max-height:500px) { .csm-template-dock { bottom:12px; } }
/* Bei schmaler Arbeitsfläche fließt der Katalog neben der Tabelle mit.
   Dadurch überdeckt er auch bei umgebrochener Kopfzeile keine Werkzeuge. */
@media(max-width:999px) {
  .csm-grid-workspace > .csm-template-dock { position:static; flex:0 0 min(300px,40vw); width:min(300px,40vw); order:3; min-width:0; overflow:hidden; }
  .csm-grid-workspace > .csm-template-dock--left { order:-1; }
  .csm-template-dock > header,.csm-template-dock > footer { flex:none; }
  .csm-template-handle--open { right:calc(min(300px,40vw) + 16px); }
  .csm-template-handle--left.csm-template-handle--open { left:calc(min(300px,40vw) + 16px); right:auto; }
}
.csm-oeko-modules { border:0; padding:0; margin:0; display:grid; gap:8px; }
.csm-oeko-modules label { display:flex; align-items:center; gap:8px; }
.csm-oeko-modules label > span { flex:1; }
.csm-oeko-modules label > small { font-size:var(--provi-type-caption-font-size); color:var(--provi-table-muted); }
.csm-oeko-properties--modules { --provi-dialog-width:380px; }
.csm-editor-table { overflow:auto; max-height:65vh; }
.csm-grid-workspace { display:flex; flex:1; min-height:0; min-width:0; gap:10px; margin:8px 16px 0; }
.csm-grid-workspace > .csm-editor-table { flex:1; min-width:0; min-height:0; max-height:none; border:1px solid var(--provi-border); border-radius:8px; background:var(--provi-surface); }
.csm-cost-navigation { width:190px; flex:none; display:flex; flex-direction:column; border:1px solid var(--provi-border); border-radius:6px; background:var(--provi-surface); overflow:hidden; }
.csm-cost-navigation--collapsed { width:28px; }
.csm-cost-navigation button { border:0; border-radius:0; background:transparent; color:var(--provi-text); font:inherit; cursor:pointer; text-align:left; }
.csm-cost-navigation-title { display:flex; justify-content:space-between; padding:10px 12px 8px; border-bottom:1px solid var(--provi-border)!important; font-size:var(--provi-type-ui-font-size)!important; font-weight:var(--provi-type-emphasis-font-weight)!important; }
.csm-cost-navigation nav { flex:1; min-height:0; overflow:auto; padding-block:4px; }
.csm-cost-navigation h3 { margin:10px 12px 4px; text-transform:var(--provi-table-heading-text-transform); font-size:var(--provi-table-compact-heading-font-size); font-weight:var(--provi-type-emphasis-font-weight); color:var(--provi-table-secondary); }
.csm-cost-navigation nav button { width:100%; display:flex; justify-content:space-between; padding:5px 12px 5px 21px; font-size:var(--provi-type-label-font-size); line-height:var(--provi-type-caption-line-height); }
.csm-cost-navigation nav button[aria-current],.csm-cost-navigation nav button:hover { background:var(--provi-surface-muted); }
.csm-cost-navigation nav button[aria-current] { box-shadow:inset 3px 0 var(--provi-action); font-weight:var(--provi-type-emphasis-font-weight); }
.csm-cost-navigation nav small { font-size:var(--provi-type-caption-font-size); color:var(--provi-table-muted); font-style:normal; }
.csm-cost-navigation .csm-cost-navigation-empty { font-style:italic; color:var(--provi-table-secondary); }
.csm-cost-navigation .csm-cost-navigation-add { margin:6px; padding:5px 0; border:1px dashed var(--provi-border); font-size:var(--provi-type-label-font-size); color:var(--provi-table-secondary); }
.csm-awarded-bidder { display:flex; align-items:center; gap:8px; color:var(--provi-table-secondary); }
.csm-editor-table .csm-chapter { background:var(--row-kapitel); color:var(--row-kapitel-text); }
.csm-editor-table [aria-selected="true"] { background:var(--row-aktiv); color:var(--row-aktiv-text); }
.csm-editor-table button { max-width:32rem; text-align:left; }
.csm-editor-form { display:grid; gap:var(--provi-space-dialog); }
/* Projektverwaltung: gemessene Geometrie des Referenzdialogs, reguläre Labels
   und Werte. Fachliche Überschriften allein verwenden das Betonungsgewicht. */
.csm-project-management.provi-dialog { width:760px; max-width:calc(100vw - 32px); }
.csm-project-management .provi-dialog__body { padding:0 20px 14px; }
.csm-project-management .provi-dialog__header { border:0; padding:16px 20px 8px; }
.csm-project-management .provi-dialog__header .provi-title { font-size:var(--provi-type-ui-font-size); font-weight:var(--provi-type-emphasis-font-weight); }
.csm-dialog-tabs { display:flex; flex-wrap:wrap; margin-bottom:4px; }
.csm-dialog-tabs button { border:1px solid var(--provi-border); background:var(--provi-surface); color:var(--provi-text-secondary); padding:5px 14px; font-family:var(--provi-font-control); font-size:var(--provi-type-caption-font-size); font-weight:var(--provi-type-regular-font-weight); min-height:26px; }
.csm-dialog-tabs button + button { border-left:0; }
.csm-dialog-tabs button:first-child { border-radius:4px 0 0 4px; }
.csm-dialog-tabs button:last-child { border-radius:0 4px 4px 0; }
.csm-dialog-tabs button[aria-selected="true"] { background:var(--provi-text-secondary); color:var(--provi-action-text); font-weight:var(--provi-type-emphasis-font-weight); }
.csm-property-grid { display:grid; grid-template-columns:220px minmax(0,1fr); gap:8px 12px; align-items:center; }
.csm-property-grid > label { margin:0; color:var(--provi-text-secondary); font-size:var(--provi-type-label-font-size); font-weight:var(--provi-type-regular-font-weight); }
.csm-property-grid :is(input,select,textarea) { width:100%; min-width:0; font-weight:var(--provi-type-regular-font-weight); }
.csm-project-addresses { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.csm-project-addresses section { display:grid; gap:6px; }
.csm-project-addresses h3 { margin:8px 0 2px; text-transform:var(--provi-table-heading-text-transform); font-size:var(--provi-type-caption-font-size); color:var(--provi-text-secondary); }
.csm-settings.provi-dialog { width:700px; height:600px; max-height:88dvh; }
.csm-settings .provi-dialog__header { padding:6px 14px; flex-wrap:nowrap; }
.csm-settings .provi-dialog__header .provi-title { flex:1; margin:0; font-size:var(--provi-type-ui-font-size); font-weight:var(--provi-type-emphasis-font-weight); color:var(--provi-text-secondary); }
.csm-settings .provi-dialog__header > input { width:220px; height:28px; min-height:28px; font-size:var(--provi-type-label-font-size); }
.csm-settings > .provi-dialog__body { display:grid; grid-template-columns:190px minmax(0,1fr); padding:0; overflow:hidden; }
.csm-settings-nav { overflow:auto; background:var(--provi-background); border-right:1px solid var(--provi-border); padding:8px 0; }
.csm-settings-nav h3 { line-height:normal; font-size:var(--provi-navigation-group-font-size); font-weight:var(--provi-type-regular-font-weight); text-transform:var(--provi-table-heading-text-transform); letter-spacing:var(--provi-navigation-group-letter-spacing); color:var(--provi-text-muted); margin:0; padding:10px 14px 3px; }
.csm-settings-nav button { display:block; width:100%; text-align:left; border:0; background:transparent; color:var(--provi-text); font-family:var(--provi-font-control); font-size:var(--provi-type-ui-font-size); font-weight:var(--provi-type-regular-font-weight); line-height:normal; padding:6px 14px; cursor:pointer; }
.csm-settings-nav button[aria-current] { background:var(--provi-action); color:var(--provi-action-text); font-weight:var(--provi-type-emphasis-font-weight); }
.csm-settings-content { min-width:0; overflow:auto; padding:12px 16px 8px; font-size:var(--provi-type-label-font-size); }
.csm-settings-content h3 { font-size:var(--provi-type-ui-font-size); font-weight:var(--provi-type-emphasis-font-weight); margin:12px 0 4px; color:var(--provi-text-secondary); }
.csm-settings-content h3:first-child { margin-top:0; }
.csm-settings-content p { color:var(--provi-text-secondary); }
.csm-settings-content .csm-domain-panel { padding:0; }
.csm-settings-fields { display:grid; grid-template-columns:200px minmax(0,1fr); align-items:center; gap:14px 8px; }
.csm-settings-fields label { color:var(--provi-text-secondary); font-weight:var(--provi-type-regular-font-weight); }
.csm-settings-fields :is(input,select) { width:100%; min-width:0; min-height:28px; height:28px; padding:3px 8px; font-weight:var(--provi-type-regular-font-weight); }
.csm-settings-fields input[type="checkbox"] { width:auto; justify-self:start; }
.csm-settings-calendar > div { display:grid; grid-template-columns:1fr 1fr 1fr auto; gap:4px; margin-block:8px; }
.csm-settings-calendar input { min-width:0; }
.csm-theme-cards { display:flex; gap:12px; }
.csm-theme-card { width:120px; padding:10px; border:1px solid var(--provi-border); border-radius:8px; color:var(--provi-text); background:var(--provi-surface); font-family:var(--provi-font-control); font-size:var(--provi-type-label-font-size); cursor:pointer; }
.csm-theme-card[data-preview="dunkel"] { color:var(--provi-action-text); background:var(--provi-action); }
.csm-theme-card > span { display:block; height:36px; margin-bottom:8px; background:var(--provi-surface-muted); border-radius:4px; }
.csm-theme-card[aria-pressed="true"] { outline:2px solid var(--provi-border-strong); }
@media (max-width:650px) { .csm-settings > .provi-dialog__body { grid-template-columns:150px minmax(0,1fr); } .csm-settings-fields { grid-template-columns:minmax(0,1fr); gap:4px; } .csm-settings-fields label:not(:first-child) { margin-top:8px; } .csm-theme-cards { flex-wrap:wrap; } }
@media (max-width:650px) { .csm-property-grid { grid-template-columns:minmax(0,1fr); gap:4px; } .csm-property-grid > label:not(:first-child) { margin-top:8px; } .csm-project-addresses { grid-template-columns:minmax(0,1fr); } }
.csm-editor-pages { justify-content:space-between; }
.csm-daten-kacheln { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr)); gap:14px; margin-top:14px; }
.csm-daten-kachel, .csm-formular { display:grid; align-content:start; gap:var(--provi-space-dialog); }
.csm-daten-kachel { padding:14px 16px; min-width:0; gap:8px; border:1px solid var(--provi-border); }
.csm-daten-kachel h2 { margin:0 0 2px; font-size:var(--provi-type-ui-font-size); line-height:var(--provi-type-ui-line-height); font-weight:var(--provi-type-emphasis-font-weight); }
.csm-daten-kachel p { margin:0; font-size:var(--provi-type-label-font-size); line-height:var(--provi-type-label-line-height); color:var(--provi-text-secondary); }
.csm-daten-kachel > .provi-button { justify-self:start; font-weight:var(--provi-type-regular-font-weight); }
.csm-daten .csm-context-note { border:0; border-left:3px solid var(--provi-action); background:transparent; margin-block:12px; color:var(--provi-text-secondary); }
.csm-daten-kachel dl { display:grid; grid-template-columns:auto 1fr; gap:7px 14px; margin:0; font-size:var(--provi-type-ui-font-size); }
.csm-daten-kachel dt { color:var(--provi-text-secondary); }
.csm-daten-kachel dd { margin:0; text-align:right; }
[data-vue-verwaltung] > .csm-daten-kachel { margin-block:14px; }
[data-vue-verwaltung] > .csm-daten-kachel:first-of-type { max-width:420px; }
[data-vue-verwaltung] .csm-editor-form { max-width:420px; }
.csm-back { margin-block:14px; }
.csm-bestandsliste { list-style:none; margin:0; padding:0; }
.csm-bestandsliste li { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto; align-items:center; gap:4px 10px; padding-block:5px; border-bottom:1px solid var(--provi-border); font-size:var(--provi-type-label-font-size); }
.csm-bestandsliste li > :is(strong,span) { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.csm-bestandsliste li > span { color:var(--provi-text-secondary); }
.csm-bestandsliste .provi-actions { gap:4px; }
.csm-delete-x.provi-button { width:26px; min-height:24px; padding:0; justify-content:center; }
.csm-daten-kachel > .csm-file-upload, .csm-daten-kachel > .provi-actions { justify-self:start; }
.csm-datei, .csm-auswahl, .csm-formular label { display:grid; gap:var(--provi-space-actions); }
.csm-datei input { max-width:100%; }
.csm-tabellen-scroll { overflow:auto; max-height:60vh; margin-block:var(--provi-space-dialog); }
.csm-vorschau-ignoriert { opacity:.55; }
.csm-langtext { min-height: 15rem; max-height: 50vh; overflow: auto; white-space: pre-wrap; }
.csm-langtext-vorschau { white-space: pre-wrap; overflow-wrap: anywhere; }

/* Wiederhergestellte CSM-Anatomie: Markenkopf, Icon-Leisten, Arbeitsfläche, Status.
   Button-/Dialog-Stile und die Schriftskala bleiben in den gemeinsamen Paketen. */
.csm-icon, .csm-action > .provi-icon { width:22px;height:22px;flex:none; }
.csm-brand-header { position:relative; min-height:140px; flex:none; display:grid; grid-template-columns:210px 1fr auto; grid-template-rows:85px auto; background:var(--provi-background); }
.pv-shapes { position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.pv-shapes::before { content:""; position:absolute; inset:0 0 auto; height:85px; background:#E7E9EC; }
.pv-shape { position:absolute; pointer-events:none; object-fit:contain; object-position:left top; }
.pv-sh-ha1 { left:-80px; top:20px; width:2000px; height:100px; }
.pv-sh-ha2 { left:-80px; top:0; width:2000px; height:100px; }
.pv-sh-flag { left:230px; top:40px; width:130px; height:40px; }
.pv-sh-dark { left:-80px; top:15px; width:690px; height:120px; }
.pv-sh-grey { left:-70px; top:-5px; width:700px; height:150px; }
.pv-sh-right { left:265px; top:-20px; width:calc(100% - 555px); height:36px; object-fit:fill; }
.csm-brand-logo { z-index:1; grid-column:1; grid-row:1; align-self:start; margin:30px 0 0 40px; }
.csm-brand-logo img { display:block; height:40px; width:auto; }
.csm-brand-title { z-index:1; grid-column:1 / -1; grid-row:1; text-align:center; align-self:center; padding:8px 320px; min-width:0; color:#595959; }
/* Markentitel: dieselbe dekorative Schriftgeometrie wie der alte ProVI-Kopf. */
.csm-brand-title .provi-brand-title { margin:0; overflow-wrap:anywhere; }
.csm-brand-tools { z-index:2; grid-column:3; grid-row:1; align-self:start; padding:8px 12px; }
.csm-brand-actions { position:relative; z-index:3; grid-column:2 / 4; grid-row:2; align-self:end; padding:6px 12px 6px 20px; }
.csm-brand-actions, .csm-brand-actions > .provi-actions { gap:2px; }
.csm-brand-tools { gap:2px; }
.csm-brand-header .provi-button--icon, .csm-brand-actions > .csm-action.provi-button { width:40px; height:40px; min-height:40px; padding:0; border-color:transparent; background:transparent; }
.csm-brand-header .provi-button--icon:hover:enabled { background:var(--provi-surface-muted); }
.csm-brand-header .provi-button--icon:disabled { opacity:.38; }
.csm-brand-header :is(.csm-icon,.csm-action > .provi-icon) { width:25px;height:25px; }
.csm-brand-tools > .provi-button, .csm-brand-tools > .csm-tool-menu > .provi-button { color:var(--provi-text); }
.csm-brand-tools .csm-account-nav .provi-button, .csm-brand-tools.csm-account-nav > form > .provi-button { color:#595959; }
.csm-brand-header .provi-button--icon:disabled, .csm-workspace-toolbar .csm-action:disabled { border-color:transparent; background:transparent; }
.csm-account-nav a { color:#595959; font-size:var(--provi-type-caption-font-size); text-decoration:none; padding:4px; }
.csm-account-nav a:hover { text-decoration:underline; }
.csm-account-nav .provi-button { font-size:var(--provi-type-caption-font-size); font-weight:var(--provi-type-regular-font-weight); min-height:24px; padding:2px 10px; background:transparent; }
.csm-account-nav a.provi-button { border:0; padding:4px; }
.konto-karte .provi-title { margin:0 0 14px; font-size:var(--provi-type-ui-font-size); font-weight:var(--provi-type-regular-font-weight); }
.login-karte.provi-panel { border-radius:10px; }
.login-karte .provi-field__control { background:var(--provi-surface-subtle); }
.login-knopf { margin-top:6px; }
.csm-domain-actions { margin-left:auto; }
html:has(.csm-workspace), body:has(.csm-workspace) { height:100%; overflow:hidden; }
.csm-workspace { height:100dvh; min-height:0; overflow:hidden; }
.csm-workspace-content.app-inhalt { max-width:none; padding:0; min-height:0; display:flex; }
.csm-workspace-content > .csm-editor { width:100%; height:100%; overflow:hidden; }
.csm-workspace-toolbar { padding:4px 12px; gap:2px; border-bottom:1px solid var(--provi-border); background:var(--provi-background); }
.csm-workspace-toolbar .csm-action { width:34px; height:34px; min-height:34px; padding:0; border-color:transparent; background:transparent; }
.csm-workspace-toolbar .csm-action:disabled { opacity:.38; }
.csm-workspace-toolbar .csm-action:hover:enabled { background:var(--provi-surface-muted); }
.csm-editor .provi-segmented { border-radius:20px; gap:0; padding:3px; height:32px; box-sizing:border-box; background:#00000012; border:.5px solid #00000022; }
.csm-editor .provi-segmented .provi-button { border:0; border-radius:17px; height:24px; min-height:24px; padding:0 16px; line-height:1; font-weight:var(--provi-type-emphasis-font-weight); }
.csm-editor .provi-segmented [aria-pressed="false"] { background:transparent; color:#7A7A7E; }
.csm-editor .provi-segmented [aria-pressed="true"] { background:#2E2E2E; color:#fff; }
[data-theme="dunkel"] .csm-editor .provi-segmented { background:#FFFFFF14; border-color:#FFFFFF22; }
[data-theme="dunkel"] .csm-editor .provi-segmented [aria-pressed="true"] { background:var(--provi-action); color:var(--provi-action-text); }
/* Untermodus-Pills (Ausschreiben/Auswerten/Abrechnen, Gantt/Weg-Zeit, Bilanz/Dashboard) wie .tool-pills */
.csm-editor :is(.csm-cost-modes,#csm-domain-submodes) .provi-segmented { height:26px; }
.csm-editor :is(.csm-cost-modes,#csm-domain-submodes) .provi-segmented .provi-button { height:20px; min-height:20px; padding:0 12px; font-size:var(--provi-type-label-font-size); }
.csm-editor .csm-brand-actions .provi-segmented .provi-button { font-weight:var(--provi-type-emphasis-font-weight); }
.csm-workspace-toolbar .csm-editor-toolbar, .csm-editor-toolbar .csm-position-tools { display:contents; }
.csm-toolbar-separator { height:26px; width:1px; margin-inline:4px; background:var(--provi-border); }
.csm-lv-navigation { display:flex; align-items:center; flex-wrap:wrap; gap:var(--provi-space-actions); margin-left:auto; order:1; min-width:0; }
.csm-lv-navigation select { max-width:min(24rem,100%); }
.csm-editor-pages { padding:6px 16px; }
.csm-workspace-toolbar .csm-cost-modes { justify-content:flex-end; margin-left:auto; order:2; }
.csm-domain-panel { padding:12px 16px; min-width:0; min-height:0; flex:1; overflow:auto; }
.csm-domain-panel > .provi-segmented { width:fit-content; margin-bottom:10px; }
.csm-domain-panel > .provi-field { max-width:24rem; margin-block:8px; }
.csm-domain-panel > .provi-actions { margin-block:6px; }
.csm-domain-panel .csm-editor-table { border:1px solid var(--provi-border); border-radius:var(--provi-panel-radius); background:var(--provi-surface); margin-block:8px; }
.csm-domain-panel .provi-table th { font-size:var(--provi-type-caption-font-size); color:var(--provi-text-muted); white-space:nowrap; }
.csm-domain-panel .provi-table td { height:33px; padding:4px 8px; }
.csm-domain-panel .provi-table .provi-button--quiet { min-height:24px; padding:2px 4px; }
.csm-domain-panel .csm-editor-form { max-width:42rem; margin-block:12px; }
.csm-domain-summary { display:flex; flex-wrap:wrap; gap:6px 12px; align-items:baseline; padding:8px; border-block:1px solid var(--provi-border); }
.csm-domain-summary dt { color:var(--provi-text-muted); }
.csm-domain-summary dd { margin:0 16px 0 0; font-weight:var(--provi-type-emphasis-font-weight); }
.csm-domain-panel.csm-co2-summary-panel { flex:none; overflow:visible; padding:4px 16px 0; }
.csm-co2-summary { display:flex; flex-wrap:wrap; align-items:center; gap:8px; border-bottom:1px solid var(--provi-border); padding:5px 4px; font-size:var(--provi-type-label-font-size); color:var(--provi-text-secondary); }
.csm-co2-summary > span:not(:first-child) { border-radius:12px; padding:2px 8px; background:var(--provi-surface-muted); }
.csm-co2-summary > .provi-button { margin-left:auto; min-height:22px; padding:1px 10px; font-size:var(--provi-type-caption-font-size); font-weight:var(--provi-type-regular-font-weight); }
.csm-co2-missing { color:var(--provi-warning); }
.csm-chapter-toggle, .csm-relevance { border:0; padding:0; background:transparent; color:var(--provi-text-secondary); cursor:pointer; vertical-align:middle; }
.csm-chapter-toggle { width:14px; margin-right:4px; }
.csm-relevance[aria-pressed="true"] { color:var(--provi-positive); }
.csm-domain-help { color:var(--provi-text-muted); font-size:var(--provi-type-caption-font-size); margin-bottom:8px; }
.csm-lv-table { min-width:100%; table-layout:fixed; display:block; }
.csm-lv-table thead { position:sticky; top:0; z-index:1; }
.csm-editor .csm-lv-table th { white-space:nowrap; font-size:var(--provi-type-caption-font-size); font-weight:var(--provi-type-emphasis-font-weight); color:var(--provi-text-muted); background:var(--provi-surface); }
.csm-editor .csm-lv-table td { height:33px; padding:4px 8px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; border-bottom:0; }
.csm-lv-table tr:nth-child(even) { background:var(--row-pos-alt); }
.csm-lv-table tr.csm-chapter { background:var(--row-kapitel); font-weight:var(--provi-type-emphasis-font-weight); box-shadow:inset 4px 0 var(--provi-text-muted); }
.csm-lv-table tr[aria-selected="true"] { background:var(--row-aktiv); box-shadow:inset 4px 0 var(--row-aktiv-border); }
.csm-lv-table td:nth-child(-n+2) { color:var(--provi-text-muted); font-size:var(--provi-type-caption-font-size); }

.csm-lv-table .csm-cell-action { display:block; width:100%; font:inherit; padding:2px 0; min-height:24px; text-align:left; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; border-radius:4px; border:0; background:transparent; color:inherit; cursor:pointer; }
.csm-lv-table .csm-number .csm-cell-action { text-align:right; }
.csm-lv-table .csm-cell-action.csm-cell-placeholder { font-style:italic; color:var(--provi-text-muted); }
.csm-lv-table .csm-cell-action:hover:enabled { box-shadow:inset 0 0 0 1px var(--provi-border-strong); }
.csm-lv-table .csm-cell-action[aria-label] { position:relative; padding-right:12px; color:var(--provi-text-secondary); }
.csm-lv-table .csm-cell-action[aria-label]::after { content:'❯'; position:absolute; right:2px; opacity:0; color:var(--provi-text-muted); }
.csm-lv-table .csm-cell-action[aria-label]:is(:hover,:focus-visible)::after { opacity:1; }
.csm-cell-picker.provi-dialog { width:520px; }
.csm-grid-cell { position:relative; display:flex; align-items:center; gap:5px; cursor:pointer; min-height:24px; border-radius:4px; color:var(--provi-table-secondary); }
.csm-grid-cell > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.csm-grid-cell > button { flex:none; margin-left:auto; border:0; background:transparent; color:var(--provi-text-muted); padding:2px; cursor:pointer; opacity:0; }
.csm-grid-cell:is(:hover,:focus-within) { box-shadow:inset 0 0 0 1px var(--provi-border); background:var(--provi-surface); }
.csm-grid-cell:is(:hover,:focus-within) > button { opacity:1; }
.csm-grid-cell.csm-cell-placeholder { font-style:italic; color:var(--provi-text-muted); }
.csm-grid-cell.csm-cell-placeholder > span { text-decoration:none; }
.csm-cell-picker h3 { font-size:var(--provi-type-label-font-size); font-weight:var(--provi-type-emphasis-font-weight); color:var(--provi-text-secondary); margin:16px 0 8px; }
.csm-cell-picker p { font-size:var(--provi-type-label-font-size); color:var(--provi-text-muted); }
.csm-unit-chips { display:flex; flex-wrap:wrap; gap:8px; }
.csm-unit-chips > span { display:flex; border:1px solid var(--provi-border); border-radius:6px; overflow:hidden; }
.csm-unit-chips button { border:0; background:transparent; padding:7px 10px; color:var(--provi-text); font-family:var(--provi-font-control); font-size:var(--provi-type-ui-font-size); cursor:pointer; }
.csm-unit-chips .aktiv, .csm-rounding-cards .aktiv { outline:1px solid var(--provi-border-strong); background:var(--provi-action-subtle); }
.csm-rounding-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.csm-rounding-cards > div { position:relative; border:1px solid var(--provi-border); border-radius:6px; }
.csm-rounding-choice { display:grid; gap:6px; width:100%; padding:16px 8px 10px; background:transparent; border:0; color:var(--provi-text); font-family:var(--provi-font-control); font-size:var(--provi-type-label-font-size); cursor:pointer; }
.csm-rounding-choice strong { font-size:var(--provi-type-page-font-size); }
.csm-rounding-choice small { font-size:var(--provi-type-caption-font-size); color:var(--provi-text-muted); }
.csm-picker-favorite { position:absolute; top:2px; right:4px; border:0; background:transparent; color:var(--provi-text-secondary); cursor:pointer; }
.csm-rounding-preview { margin-top:16px; padding:10px; background:var(--provi-surface-subtle); font-size:var(--provi-type-ui-font-size); }
@media (max-width:480px) { .csm-rounding-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.csm-lv-table .csm-number { text-align:right; white-space:nowrap; }
.csm-row-select { display:flex; align-items:center; gap:4px; }
.csm-row-select input { position:absolute; width:1px; height:1px; padding:0; margin:-1px; clip-path:inset(50%); overflow:hidden; }
.csm-row-select:has(input:focus-visible) { outline:var(--provi-focus-width) solid var(--provi-action); outline-offset:2px; }
.csm-action.provi-button { min-height:var(--provi-control-height); }
.csm-app-status { padding:4px 12px; border-top:1px solid var(--provi-border); background:var(--provi-surface); }
.csm-app-status .csm-app-nav { justify-content:flex-end; }
.csm-app-status .provi-button { min-height:24px; padding:2px 8px; font-size:var(--provi-type-caption-font-size); font-weight:var(--provi-type-regular-font-weight); }
.csm-app-status .provi-select { padding-block:1px; font-size:var(--provi-type-caption-font-size); }
.csm-app-status .csm-theme { font-size:var(--provi-type-caption-font-size); }
.csm-tool-menu { position:relative; }
.csm-tool-menu[data-open="false"] > .csm-tool-menu-content { position:static; width:0; height:0; padding:0; border:0; overflow:visible; box-shadow:none; }
/* Nur Auslöser verstecken: die nativen Dialoge müssen auch von Tabellenzellen
   aus erreichbar bleiben, wenn die Werkzeugliste geschlossen ist. */
.csm-tool-menu[data-open="false"] > .csm-tool-menu-content > :not(dialog) { display:none; }
.csm-tool-menu-content { position:absolute; z-index:10; right:0; top:100%; width:22rem; max-width:calc(100vw - 24px); max-height:65vh; overflow:auto; padding:12px; display:grid; gap:var(--provi-space-actions); background:var(--provi-surface); box-shadow:0 10px 28px #00000055; }
.csm-tool-menu-content > .provi-actions { display:grid; }
.csm-tool-menu-content > .provi-button, .csm-tool-menu-content > .provi-actions > .provi-button { justify-content:flex-start; text-align:left; white-space:normal; }
.csm-tool-menu--left > .csm-tool-menu-content { left:0; right:auto; }
.csm-file-menu > .csm-tool-menu-content { width:240px; padding:8px; gap:0; background:var(--provi-surface-subtle); border-radius:8px; }
.csm-file-menu .provi-section-heading { font-size:var(--provi-navigation-group-font-size); line-height:var(--provi-type-caption-line-height); text-transform:var(--provi-table-heading-text-transform); font-weight:var(--provi-type-regular-font-weight); color:var(--provi-table-muted); padding:4px 8px; margin:0; }
.csm-file-menu .provi-button--quiet { padding:5px 8px; min-height:27px; font-size:var(--provi-type-ui-font-size); }
.csm-format-badge { display:inline-block; flex:none; min-width:44px; text-align:center; font-size:var(--provi-diagram-label-font-size); font-weight:var(--provi-type-emphasis-font-weight); border-radius:3px; }
.csm-format-badge[data-format*=xlsx],.csm-format-badge[data-format=excel] { color:var(--provi-info); background:color-mix(in srgb,var(--provi-info) 10%,var(--provi-surface)); }
.csm-format-badge[data-format=gaeb],.csm-format-badge[data-format^=oeko] { color:var(--provi-positive); background:color-mix(in srgb,var(--provi-positive) 10%,var(--provi-surface)); }
.csm-export-dialog--xlsx { --provi-dialog-width:520px; }
.csm-export-dialog--gaeb { --provi-dialog-width:440px; }
.csm-export-dialog--pdf { --provi-dialog-wide-width:1000px; height:700px; max-height:92dvh; }
.csm-export-dialog .csm-formular > label { font-weight:var(--provi-type-regular-font-weight); }
.csm-excel-color { display:flex; align-items:center; gap:10px; }
.csm-excel-color > input { width:160px; }
.csm-excel-color > span { display:block; height:26px; width:40px; border:1px solid var(--provi-border); border-radius:4px; }
.csm-export-dialog--pdf > .provi-dialog__body { display:flex; flex-direction:column; min-height:0; padding:0; overflow:hidden; }
.csm-export-dialog--pdf > .provi-dialog__body > .csm-formular { flex:none; padding:8px 16px; }
.csm-export-dialog--pdf > .provi-dialog__body > .csm-formular > label { display:flex; align-items:center; gap:10px; }
.csm-export-dialog--pdf > .provi-dialog__body > .csm-formular select { width:340px; }
.csm-export-dialog--pdf > .provi-dialog__body > p { margin:4px 16px; font-size:var(--provi-type-caption-font-size); color:var(--provi-table-secondary); }
.csm-print-designer { flex:1; min-height:0; display:flex; flex-direction:column; }
.csm-print-presets { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:6px 12px; background:var(--provi-surface-subtle); border-block:1px solid var(--provi-border); }
.csm-print-presets label { display:flex; align-items:center; gap:8px; font-size:var(--provi-type-label-font-size); }
.csm-print-presets select { width:200px; }
.csm-print-presets .provi-button { min-height:28px; padding:3px 8px; }
.csm-print-main { flex:1; min-height:0; display:grid; grid-template-columns:300px minmax(0,1fr); }
.csm-print-options { display:flex; flex-direction:column; min-height:0; border-right:1px solid var(--provi-border); }
.csm-print-options > .provi-segmented { margin:8px; flex:none; align-self:flex-start; }
.csm-print-fields { overflow:auto; padding:10px 14px 14px; }
.csm-print-fields > section { margin-bottom:16px; }
.csm-print-fields .provi-section-heading { margin:0 0 8px; }
.csm-print-fields .csm-formular { gap:8px; }
.csm-print-fields label { font-size:var(--provi-type-label-font-size); font-weight:var(--provi-type-regular-font-weight); }
.csm-print-fields label:has(input[type=checkbox]) { display:flex; flex-direction:row; align-items:center; gap:6px; }
.csm-print-orientation { display:grid; gap:6px; margin-bottom:12px; }
.csm-print-orientation > span { font-size:var(--provi-type-caption-font-size); color:var(--provi-table-secondary); }
.csm-print-margins { display:grid; grid-template-columns:1fr 1fr; }
.csm-print-margins input { width:100%; }
.csm-print-slider { display:grid!important; grid-template-columns:1fr 100px 28px; align-items:center; gap:4px; }
.csm-print-slider input { width:100%; }
.csm-print-color { display:grid!important; grid-template-columns:28px 1fr 78px; align-items:center; gap:4px; }
.csm-print-color input[type=color] { width:24px; height:24px; padding:0; border:0; }
.csm-print-preview { min-height:0; display:flex; flex-direction:column; background:var(--provi-surface-subtle); }
.csm-print-preview-heading { padding:6px 12px; background:var(--provi-surface); border-bottom:1px solid var(--provi-border); font-size:var(--provi-type-caption-font-size); color:var(--provi-table-secondary); }
.csm-print-preview-scroll { flex:1; min-height:0; overflow:auto; padding:20px; }
.csm-print-paper { width:380px; min-height:537px; margin:0 auto; background:white; color:black; box-shadow:0 4px 10px #00000055; }
.csm-print-paper--landscape { width:537px; min-height:380px; }
.csm-print-paper h2 { margin:0 0 12px; }
.csm-print-paper table { width:100%; border-collapse:collapse; font:inherit; }
.csm-print-paper :is(th,td) { border-bottom:1px solid #ddd; padding:4px 2px; text-align:left; vertical-align:top; }
.csm-print-paper td p { white-space:pre-wrap; overflow-wrap:anywhere; }
.csm-print-paper dl { display:grid; grid-template-columns:1fr auto; gap:4px; }
.csm-print-paper dd { margin:0; text-align:right; }
.csm-print-sample-note { display:block; margin-top:20px; }
.csm-print-designer > :is(p,button,a) { flex:none; margin:4px 12px; align-self:flex-start; }
@media(max-width:700px) { .csm-print-main { grid-template-columns:minmax(0,1fr); overflow:auto; } .csm-print-preview { min-height:280px; } .csm-print-options { min-height:240px; } }
/* Bei 200 % Zoom darf die feste Kopf-/Fußhöhe die Gestaltung nicht auf null
   zusammenziehen. Ein gemeinsamer Scrollbereich hält alle Reiter erreichbar. */
@media(max-height:600px) {
  .csm-export-dialog--pdf > .provi-dialog__body { display:block; overflow:auto; }
  .csm-print-main { flex:none; min-height:440px; overflow:visible; }
  .csm-print-options,.csm-print-fields { overflow:visible; }
  .csm-print-preview { min-height:300px; }
  .csm-print-preview-scroll { max-height:540px; }
}
.csm-tool-menu-content .csm-action.provi-button { width:100%; }
.csm-editor-pages { font-size:var(--provi-type-caption-font-size); color:var(--provi-text-muted); }
.csm-app-status a { color:var(--provi-text-secondary); text-decoration:none; font-size:var(--provi-type-caption-font-size); }
.csm-app-status a:hover { text-decoration:underline; }
.csm-editor > .provi-state { margin:6px 16px; }
/* Bei echtem 200-%-Zoom umbrechen, statt Logo, Titel und Werkzeuge zu überlagern. */
@media (max-width:900px) {
  html:has(.csm-workspace), body:has(.csm-workspace) { height:auto; overflow:auto; }
  .csm-brand-header { grid-template-columns:210px minmax(0,1fr); }
  .csm-brand-title { grid-column:1 / -1; grid-row:2; padding:8px; background:var(--provi-surface); color:var(--provi-text); }
  .csm-brand-tools { grid-column:2; grid-row:1; justify-self:end; }
  .csm-brand-actions { grid-column:1 / -1; grid-row:3; padding:6px 12px; }
  .csm-brand-actions .csm-domain-actions { margin-left:0; }
  .csm-tool-menu { position:static; }
  .csm-tool-menu-content { left:12px; right:auto; }
  .csm-lv-navigation { flex-basis:100%; margin-left:0; }
  .projekt-panel { flex-direction:column; }
  .projekt-liste { border-right:0; max-height:40vh; }
  .pz-zeit { white-space:normal; }
  .csm-workspace { height:auto; min-height:100dvh; overflow:auto; }
  .csm-grid-workspace { flex:none; height:55vh; min-height:12rem; }
}
@media (max-width:480px) {
  .csm-brand-header { grid-template-columns:1fr; }
  .csm-brand-title { grid-column:1; grid-row:2; background:var(--provi-surface); color:var(--provi-text); }
  .csm-brand-tools { grid-row:3; }
  .csm-brand-actions { grid-row:4; }
}

.csm-editable-cell { min-height:24px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; cursor:text; }
.csm-editable-cell[aria-disabled="true"] { cursor:default; }
.csm-editable-cell--linked { cursor:pointer; }
.csm-editable-cell--linked[aria-disabled="true"] { cursor:pointer; }
.csm-editable-cell[data-numeric][aria-disabled="true"]:not(.csm-editable-cell--linked) { color:var(--provi-table-muted); }
.csm-cell-input { display:block; box-sizing:border-box; width:100%; min-width:0; height:24px; margin:0; padding:0 3px; border:1px solid var(--provi-border-strong); background:var(--provi-surface); color:var(--provi-text); font:inherit; }
.csm-number .csm-cell-input { text-align:right; }

.csm-project-badge { display:inline-block; border-radius:12px; background:var(--provi-surface-muted); padding:0 12px; margin-right:8px; }
.csm-project-badge.modus-akvs { background:var(--akvs-bg); color:var(--akvs-fg); }
.csm-project-badge.modus-oenorm { background:var(--oenorm-bg); color:var(--oenorm-fg); }
.csm-project-badge.modus-oeko { background:var(--oeko-bg); color:var(--oeko-fg); }
.csm-project-badge.modus-termin { background:var(--termin-bg); color:var(--termin-fg); }
.csm-project-badge.modus-db_lv { background:var(--dblv-bg); color:var(--dblv-fg); }
.csm-workspace .csm-brand-title { color:var(--provi-table-secondary); }
.csm-project-status { flex:none; min-height:30px; justify-content:flex-start; margin-top:6px; padding:5px 70px 5px 12px; gap:8px; background:var(--provi-surface); font-size:var(--provi-type-label-font-size); color:var(--provi-table-secondary); }
.csm-project-status > strong, .csm-status-summary { margin-left:auto; font-weight:var(--provi-type-regular-font-weight); color:var(--provi-text); }
.csm-project-status a { text-decoration:none; color:var(--provi-table-secondary); }
.csm-status-summary > strong:first-child { font-weight:var(--provi-type-regular-font-weight); color:var(--provi-table-secondary); }
.csm-project-status .provi-button { font-size:var(--provi-type-label-font-size); font-weight:var(--provi-type-regular-font-weight); line-height:normal; min-height:20px; padding:1px 10px; border-radius:12px; }
.csm-project-status .csm-unsaved { color:var(--provi-warning); font-weight:var(--provi-type-emphasis-font-weight); }
.csm-feedback-floating { position:fixed; z-index:150; right:18px; bottom:46px; }
.csm-feedback-floating .csm-action { width:42px; min-width:42px; height:42px; min-height:42px; padding:0; justify-content:center; border:1px solid var(--provi-border); border-radius:21px; background:var(--provi-surface); box-shadow:0 4px 14px #00000033; }
.csm-lv-table { font-size:var(--provi-table-font-size); line-height:normal; }
.csm-lv-table tr.csm-chapter, .csm-lv-table tr[aria-selected="true"] { font-size:var(--provi-table-emphasis-font-size); font-weight:var(--provi-type-emphasis-font-weight); }
.csm-lv-table tr.csm-chapter[data-level="1"] { background:var(--row-u2); }
.csm-lv-table tr.csm-chapter[data-level="2"] { background:var(--row-u3); }
.csm-lv-table tr.csm-chapter[data-level="3"] { background:var(--row-u4); }
.csm-lv-table tr.csm-chapter[data-level="4"] { background:var(--row-u5); }
.csm-lv-table .csm-cell-placeholder { color:var(--provi-table-muted); }
.csm-project-management .csm-dialog-tabs button { font-weight:var(--provi-type-regular-font-weight); }
.csm-project-management .csm-property-grid > label, .csm-settings-fields > label { color:var(--provi-table-secondary); }
.csm-settings .provi-dialog__footer { height:52px; padding:0 12px; background:var(--provi-background); }
.csm-project-management::backdrop, .csm-settings::backdrop { background:transparent; }

.csm-settings-project-tools { display:flex; flex-direction:column; align-items:stretch; gap:6px; }
.csm-settings-project-tools :is(.provi-button,.csm-action) { width:100%; justify-content:flex-start; text-align:left; min-height:30px; font-weight:var(--provi-type-regular-font-weight); }
.csm-settings-project-tools .provi-section-heading { margin-top:10px; }
.csm-settings-project-tools .csm-editor-actions { display:flex; flex-direction:column; gap:6px; }
.csm-insert-dialog.provi-dialog { width:380px; }
.csm-insert-new { background:var(--row-aktiv); }
.csm-insert-chapter { font-weight:var(--provi-type-emphasis-font-weight); }
.csm-oz-preview { margin-top:12px; background:var(--provi-background); border:1px solid var(--provi-border); border-radius:6px; padding:14px 12px; }
.csm-oz-preview > span { font-size:var(--provi-type-caption-font-size); font-weight:var(--provi-type-emphasis-font-weight); color:var(--provi-table-muted); }
.csm-oz-preview > pre { line-height:normal; margin:8px 0 0; font-family:var(--provi-font-mono); font-size:var(--provi-table-font-size); color:var(--provi-table-secondary); }

.csm-settings-card { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; text-align:left; padding:12px; margin-bottom:10px; border:1px solid var(--provi-border); border-radius:6px; background:var(--provi-background); color:var(--provi-text); cursor:pointer; font:inherit; }
.csm-settings-card small { display:block; margin-top:4px; color:var(--provi-table-secondary); }
.csm-catalog-table { overflow:auto; }
.csm-catalog-table input { min-width:70px; width:100%; }
.csm-settings-content label.provi-button { position:relative; overflow:hidden; }
.csm-settings-content label.provi-button input[type="file"] { position:absolute; inset:0; opacity:0; cursor:pointer; }
.csm-settings-content label.provi-button:focus-within { outline:var(--provi-focus-width) solid var(--provi-action); }

.csm-lv-table thead, .csm-lv-table tbody { display:block; }
.csm-lv-table tr { display:grid; grid-template-columns:var(--csm-columns); }
.csm-lv-table th, .csm-lv-table td { box-sizing:border-box; min-width:0; }
.csm-editor .csm-lv-table th { position:relative; padding:8px; color:var(--provi-table-secondary); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.csm-editor .csm-lv-table td { height:33px; }
.csm-lv-table .csm-column-resizer { position:absolute; right:0; top:0; width:6px; height:100%; padding:0; border:0; background:transparent; cursor:col-resize; touch-action:none; }
.csm-lv-table .csm-column-resizer:is(:hover,:focus-visible) { background:var(--provi-border); }
.csm-lv-table th[draggable="true"] { cursor:grab; }

.csm-settings-content { line-height:normal; }
.csm-settings-nav h3 { margin:0; }
@media (min-width:1000px) {
  .csm-brand-title { position:absolute; left:200px; right:0; top:26px; padding:0; }
  .csm-brand-title .provi-brand-title { line-height:normal; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; }
  .csm-brand-title > .provi-caption { display:flex; align-items:center; justify-content:center; margin-top:2px; }
}

.csm-co2-dashboard { margin-top:10px; padding:16px; border:1px solid var(--provi-border); border-radius:8px; background:var(--provi-background); }
.csm-co2-dashboard h2 { font-size:var(--provi-panel-title-font-size); font-weight:var(--provi-type-emphasis-font-weight); margin:0 0 12px; }
.csm-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:10px 0 14px; }
.csm-metrics > div { padding:12px 14px; border:1px solid var(--provi-border); border-radius:8px; background:var(--provi-surface-subtle); display:flex; flex-direction:column; gap:2px; }
.csm-metrics strong { font-size:var(--provi-metric-value-font-size); font-weight:var(--provi-type-strong-font-weight); }
.csm-metrics span { font-size:var(--provi-type-caption-font-size); color:var(--provi-table-secondary); }
.csm-co2-charts { display:grid; grid-template-columns:1fr 1fr; gap:18px; max-height:320px; overflow:auto; }
.csm-co2-charts h3 { font-size:var(--provi-table-font-size); font-weight:var(--provi-type-emphasis-font-weight); margin:0 0 8px; }
.csm-co2-bar { margin-bottom:9px; }
.csm-co2-bar > div:first-child { display:flex; justify-content:space-between; font-size:var(--provi-type-label-font-size); }
.csm-co2-bar strong { font-weight:var(--provi-type-emphasis-font-weight); }
.csm-co2-track { height:8px; border-radius:4px; margin-top:3px; background:var(--provi-surface-subtle); }
.csm-co2-track > span { display:block; height:8px; border-radius:4px; background:var(--provi-positive); }
.csm-co2-track > span.negativ { background:var(--provi-action); }
.csm-co2-dashboard > p { color:var(--provi-table-muted); font-size:var(--provi-type-label-font-size); margin:12px 0 0; }
@media (max-width:700px) { .csm-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } .csm-co2-charts { grid-template-columns:1fr; } }

/* Terminplan: gemeinsame Zeilenfolge und 28-px-Bestandsraster, unabhängig vom LV. */
.csm-termin-panel { display:flex; flex-direction:column; overflow:hidden; }
.csm-termin-split { display:flex; flex:1; gap:0; overflow:hidden; min-height:240px; height:auto; border:1px solid var(--provi-border); border-radius:0 0 8px 8px; background:var(--provi-surface-subtle); }
.csm-termin-list { flex:0 0 min(var(--csm-termin-left,1162px),calc(100% - 106px)); overflow:auto; min-width:0; }
.csm-termin-chart { flex:1 1 0; min-width:100px; overflow:hidden; }
.csm-termin-splitter { flex:0 0 6px; cursor:col-resize; background:var(--provi-border); touch-action:none; }
.csm-termin-splitter:hover,.csm-termin-splitter:focus-visible { background:var(--provi-action); }
.csm-termin-table { width:1162px; border-collapse:collapse; table-layout:fixed; color:var(--provi-text); font-size:var(--provi-type-label-font-size); }
.csm-termin-table tr { display:grid; grid-template-columns:34px 40px 36px 180px 130px 90px 80px 60px 80px 90px 64px 64px 74px 74px 66px; height:28px; align-items:center; border-bottom:1px solid var(--provi-border); box-sizing:border-box; }
.csm-termin-table td,.csm-termin-table th { padding:0 6px; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:left; line-height:normal; }
.csm-termin-table th { font-size:var(--provi-table-compact-heading-font-size); font-weight:var(--provi-type-emphasis-font-weight); color:var(--provi-table-secondary); }
.csm-termin-table thead { position:sticky; top:0; z-index:2; background:var(--provi-background); }
.csm-termin-table td.csm-number { text-align:right; }
.csm-termin-table .csm-cell-input { height:24px; }
.csm-termin-table .csm-termin-group { font-weight:var(--provi-type-emphasis-font-weight); background:color-mix(in srgb,var(--provi-background) 85%,var(--provi-text) 6%); }
.csm-termin-table .csm-termin-critical { box-shadow:inset 3px 0 var(--provi-danger); }
.csm-termin-table tr[aria-selected=true] { background:color-mix(in srgb,var(--provi-action) 16%,transparent); }
.csm-termin-name { display:flex; align-items:center; gap:3px; }
.csm-termin-name .csm-editable-cell { overflow:hidden; text-overflow:ellipsis; min-width:0; flex:1; }
.csm-termin-split--historie { display:block; }
.csm-gantt-tools { display:flex; align-items:center; flex-wrap:wrap; gap:4px; padding:4px 6px; border:1px solid var(--provi-border); border-bottom:0; border-radius:8px 8px 0 0; font-size:var(--provi-type-label-font-size); }
.csm-gantt-tools .provi-button { min-height:22px; padding:2px 8px; font-size:var(--provi-type-label-font-size); font-weight:var(--provi-type-regular-font-weight); }
.csm-gantt-tools button[aria-pressed=true] { background:var(--provi-action); color:var(--provi-action-text); }
.csm-gantt-scroll { overflow:auto; height:100%; }
.csm-gantt-svg { display:block; color:var(--provi-text-secondary); font-family:var(--provi-font-body); }
.csm-gantt-weekend { fill:var(--provi-text); opacity:.035; }
.csm-gantt-grid { stroke:var(--provi-border); stroke-width:.5; }
.csm-gantt-today { stroke:var(--provi-danger); stroke-dasharray:4 3; }
.csm-gantt-selected { fill:var(--provi-action); opacity:.16; }
.csm-gantt-dim { opacity:.3; }
.csm-gantt-bar { fill:var(--termin-fg); opacity:.45; cursor:grab; }
.csm-gantt-progress { fill:var(--termin-fg); }
.csm-gantt-group { fill:var(--provi-text-secondary); }
.csm-gantt-bar-label { fill:var(--provi-action-text); font-size:var(--provi-diagram-label-font-size); pointer-events:none; }
.csm-gantt-detail { fill:var(--provi-text-secondary); font-size:var(--provi-diagram-label-font-size); pointer-events:none; }
.csm-gantt-handle { opacity:0; cursor:ew-resize; fill:var(--provi-action); }
.csm-gantt-handle:hover { opacity:.5; }
.csm-gantt-heading-bg { fill:var(--provi-surface); }
.csm-gantt-day { fill:var(--provi-text-secondary); font-size:var(--provi-diagram-label-font-size); }
.csm-gantt-week { fill:var(--provi-text); font-size:var(--provi-navigation-group-font-size); }
.csm-wegzeit-bar { stroke:var(--termin-fg); stroke-width:4px; }

.csm-termin-table .csm-cell-action { appearance:none; font:inherit; padding:0; border:0; border-radius:3px; background:transparent; color:inherit; cursor:pointer; text-align:left; }
.csm-termin-table .csm-cell-action:disabled { cursor:default; }
.csm-termin-table td:nth-child(2),.csm-termin-table td:nth-child(3) { color:var(--provi-table-muted); font-size:var(--provi-type-caption-font-size); }
.csm-termin-name > .csm-cell-action:last-child { opacity:0; }
.csm-termin-name:hover > .csm-cell-action:last-child,.csm-termin-name:focus-within > .csm-cell-action:last-child { opacity:1; }

.csm-source-toggle { display:flex; align-items:center; gap:8px; font-size:var(--provi-type-caption-font-size); color:var(--provi-text-secondary); }
.csm-source-toggle > span:first-child { font-weight:var(--provi-type-strong-font-weight); }
.csm-source-toggle > button { width:44px; height:22px; border:0; padding:2px; border-radius:11px; background:var(--provi-table-secondary); }
.csm-source-toggle > button > span { display:block; width:18px; height:18px; border-radius:50%; background:var(--provi-surface); }
.csm-save-dirty { position:relative; }
.csm-save-dirty::after { content:''; position:absolute; top:2px; right:2px; width:7px; height:7px; border-radius:50%; background:var(--provi-brand); }

.csm-oz-cell { display:flex; align-items:center; }
.csm-oz-cell .csm-grid-cell { flex:1; min-width:0; }
.csm-termin-table td:nth-child(3) > .csm-cell-action { display:block; width:100%; height:24px; }
.csm-attribute-filter.provi-dialog { width:1020px; height:640px; max-height:92vh; }
.csm-filter-columns { display:grid; grid-template-columns:220px minmax(0,1fr) 230px; gap:14px; min-height:360px; }
.csm-filter-columns h3 { margin:0 0 10px; font-size:var(--provi-type-ui-font-size); font-weight:var(--provi-type-emphasis-font-weight); }
.csm-filter-columns p { font-size:var(--provi-type-label-font-size); color:var(--provi-table-secondary); }
.csm-filter-row { display:flex; flex-wrap:wrap; gap:4px; margin:6px 0; }
.csm-filter-row input { min-width:70px; width:90px; flex:1; }
.csm-filter-row select { min-width:45px; max-width:105px; }
.csm-filter-attributes { max-height:40vh; overflow:auto; }
.csm-filter-attributes button { display:block; width:100%; border:0; padding:6px; background:transparent; text-align:left; font:inherit; color:inherit; }
.csm-filter-attributes button[aria-pressed=true] { background:var(--provi-action-subtle); }
@media(max-width:850px) { .csm-filter-columns { grid-template-columns:1fr; } }

.csm-object-dialog.provi-dialog { width:900px; height:620px; max-height:92vh; }
.csm-ifc-sources { --provi-dialog-width:620px; }
.csm-ifc-source-list { display:grid; gap:8px; margin-bottom:12px; }
.csm-ifc-source { display:flex; gap:10px; align-items:center; padding:10px; border:1px solid var(--provi-border); border-radius:6px; }
.csm-ifc-source > div { flex:1; min-width:0; overflow-wrap:anywhere; }
.csm-ifc-source strong { font-size:var(--provi-type-ui-font-size); }
.csm-ifc-source p { margin:4px 0 0; font-size:var(--provi-type-caption-font-size); color:var(--provi-table-secondary); }
.csm-ifc-source > button { width:28px; min-height:28px; padding:4px; }
.csm-ifc-source-state { flex:none; width:8px; height:8px; border-radius:50%; background:var(--provi-warning); }
.csm-ifc-source-state[data-connected=true] { background:var(--provi-positive); }
.csm-ifc-upload { position:relative; overflow:hidden; }
.csm-ifc-upload input { position:absolute; inset:0; opacity:0; cursor:pointer; width:100%; }
.csm-object-columns { display:grid; grid-template-columns:1fr 1fr; gap:20px; min-height:360px; }
.csm-object-columns > section { min-width:0; }
.csm-object-columns h3 { margin:0 0 12px; font-size:var(--provi-type-caption-font-size); font-weight:var(--provi-type-emphasis-font-weight); color:var(--provi-table-secondary); }
.csm-object-columns .csm-editor-table { max-height:38vh; }
.csm-object-columns .csm-formular { display:flex; flex-wrap:wrap; gap:8px; }
@media(max-width:650px) { .csm-object-columns { grid-template-columns:1fr; } }

/* Bestandsdialoge: Katalogquellen und Kalkulation behalten ihre Arbeitsflächen. */
.csm-catalog-dialog.provi-dialog { width:900px; max-width:96vw; }
.csm-catalog-columns { display:grid; grid-template-columns:1fr 1.4fr; gap:14px; margin-top:8px; }
.csm-catalog-columns > section { min-width:0; }
.csm-catalog-columns .csm-editor-table { max-height:52vh; }
.csm-kalk-dialog.provi-dialog { width:960px; height:760px; max-width:96vw; max-height:92vh; }
.csm-kalk-dialog .provi-dialog__header { display:flex; justify-content:space-between; gap:8px; flex-wrap:wrap; }
.csm-kalk-dialog .provi-dialog__body { padding:0 12px 8px; }
.csm-kalk-dialog .provi-dialog__header h2 { margin:0; }
.csm-kalk-dialog .csm-editor-form { display:block; }
.csm-kalk-formula { width:100%; font-family:var(--provi-font-mono); }
.csm-kalk-operators { margin-top:8px; }
.csm-kalk-operators button[aria-pressed="true"] { background:var(--provi-action-ink); color:var(--provi-action-text); }
.csm-kalk-text { background:var(--provi-surface-subtle); border:1px solid var(--provi-border); border-radius:4px; padding:6px 8px; font-family:var(--provi-font-mono); font-size:var(--provi-type-caption-font-size); margin:6px 0 10px; min-height:28px; }
.csm-kalk-columns { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.csm-kalk-references,.csm-kalk-preview>div { border:1px solid var(--provi-border); background:var(--provi-surface-subtle); border-radius:6px; padding:8px; min-width:0; }
.csm-kalk-references .csm-editor-table { max-height:320px; }
.csm-kalk-references .provi-table { table-layout:fixed; width:100%; }
.csm-kalk-references :is(th,td) { padding:4px 6px; font-size:var(--provi-type-caption-font-size); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.csm-kalk-references :is(th,td):nth-child(1) { width:50px; }
.csm-kalk-references :is(th,td):nth-child(2) { width:65px; }
.csm-kalk-references :is(th,td):nth-child(4) { width:70px; text-align:right; }
.csm-kalk-references :is(th,td):nth-child(5) { width:50px; }
.csm-kalk-references tr[aria-selected="true"] { background:var(--provi-action-subtle); }
.csm-kalk-references tr { cursor:pointer; }
.csm-kalk-preview { display:flex; flex-direction:column; gap:8px; min-width:0; }
.csm-kalk-preview>div { padding:12px 14px; }
.csm-kalk-preview>div:first-child { flex:1; }
.csm-kalk-result { font-size:var(--provi-panel-title-font-size); font-weight:var(--provi-type-emphasis-font-weight); }
.csm-kalk-aufmass-row { display:grid; grid-template-columns:28px 1fr 1fr 90px auto; gap:8px; align-items:center; margin-bottom:6px; }
@media(max-width:700px) { .csm-kalk-columns,.csm-catalog-columns { grid-template-columns:1fr; } .csm-kalk-aufmass-row { grid-template-columns:22px minmax(90px,1fr) minmax(80px,1fr) 60px auto; } }

.csm-project-management { --provi-dialog-wide-width:760px; }
.csm-cell-picker { --provi-dialog-wide-width:520px; }
.csm-insert-dialog { --provi-dialog-width:380px; }
.csm-attribute-filter { --provi-dialog-wide-width:1020px; }
.csm-object-dialog { --provi-dialog-wide-width:900px; }
.csm-catalog-dialog { --provi-dialog-wide-width:900px; }
.csm-kalk-dialog { --provi-dialog-wide-width:960px; --provi-section-heading-font-size:var(--provi-type-caption-font-size); }
.csm-kalk-dialog .provi-dialog__header { border:0; padding:12px 12px 6px; }
:is(.csm-kalk-dialog,.csm-catalog-dialog) .provi-segmented { border:0; border-radius:5px; padding:0; gap:0; background:transparent; }
:is(.csm-kalk-dialog,.csm-catalog-dialog) .provi-segmented .provi-button { height:26px; min-height:26px; padding:0 14px; font-size:var(--provi-type-caption-font-size); border:1px solid var(--provi-border); border-radius:0; }
:is(.csm-kalk-dialog,.csm-catalog-dialog) .provi-segmented .provi-button:first-child { border-radius:5px 0 0 5px; }
:is(.csm-kalk-dialog,.csm-catalog-dialog) .provi-segmented .provi-button:last-child { border-radius:0 5px 5px 0; }
:is(.csm-kalk-dialog,.csm-catalog-dialog) .provi-segmented .provi-button[aria-pressed="true"] { background:var(--provi-text-muted); color:var(--provi-action-text); border-color:var(--provi-text-muted); }
.csm-catalog-dialog .provi-segmented { margin-bottom:10px; }
.csm-kalk-references .provi-table th { font-weight:var(--provi-type-emphasis-font-weight); color:var(--provi-table-secondary); }
.csm-kalk-references .provi-table tr { height:auto; }
.csm-kalk-operators .provi-button { width:34px; height:30px; min-height:30px; padding:0; font-family:var(--provi-font-mono); font-size:var(--provi-type-title-font-size); }
.csm-catalog-list { max-height:420px; overflow:auto; border:1px solid var(--provi-border); border-radius:6px; }
.csm-catalog-list>button { display:flex; align-items:baseline; gap:8px; width:100%; padding:7px 10px; border:0; border-bottom:1px solid var(--provi-border); background:transparent; color:inherit; font:inherit; font-size:var(--provi-table-font-size); text-align:left; cursor:pointer; }
.csm-catalog-list>button>span:first-of-type { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.csm-catalog-list>button[aria-pressed="true"] { background:var(--provi-action-subtle); box-shadow:inset 3px 0 0 var(--provi-action); }
.csm-catalog-list>button small { display:block; color:var(--provi-table-secondary); font-size:var(--provi-type-caption-font-size); }
.csm-file-upload { position:relative; overflow:hidden; }
.csm-file-upload input { position:absolute; inset:0; width:100%; opacity:0; cursor:pointer; }
.csm-file-upload:focus-within { outline:var(--provi-focus-width) solid var(--provi-action); outline-offset:var(--provi-focus-offset); }
.csm-kkk-factors { --provi-dialog-width:620px; max-height:84vh; }
.csm-kkk-factors fieldset { border:1px solid var(--provi-border); border-radius:6px; padding:8px 10px; }
.csm-kkk-factors legend { font-size:var(--provi-type-label-font-size); font-weight:var(--provi-type-emphasis-font-weight); }
.csm-kkk-factors label.csm-kkk-choice { display:flex; flex-direction:row; align-items:center; gap:8px; padding:3px 2px; font-size:var(--provi-type-label-font-size); }
.csm-kkk-choice span { flex:1; }
.csm-kkk-choice small { font-family:var(--provi-font-mono); font-size:var(--provi-type-caption-font-size); color:var(--provi-table-secondary); }
.csm-catalog-columns>section:last-child { max-height:460px; overflow:auto; }
.csm-lv-table td:nth-child(2) { color:var(--provi-table-muted); }
.csm-lv-table--co2 td:nth-child(3) { color:var(--provi-table-muted); font-size:var(--provi-type-caption-font-size); }
.csm-co2-track>span { background:var(--oeko-fg); }

.csm-project-notes>label { display:block; margin-top:12px; color:var(--provi-table-secondary); }
.csm-project-notes>textarea { width:100%; margin-top:4px; }
.csm-project-note-row { display:grid; grid-template-columns:150px 1fr 170px; gap:8px; align-items:center; margin-bottom:6px; }
.csm-project-note-row>label { color:var(--provi-table-secondary); }
.csm-project-note-row .provi-input { min-width:0; width:100%; }
.csm-longtext-dialog { --provi-dialog-wide-width:900px; }
.csm-longtext-dialog .provi-dialog__body { display:flex; flex-direction:column; gap:8px; }
.csm-longtext-tools { gap:4px; flex-wrap:wrap; }
.csm-longtext-tools .provi-button { min-height:26px; padding:2px 8px; font-size:var(--provi-type-label-font-size); }
.csm-longtext-tools label { display:flex; gap:4px; align-items:center; font-size:var(--provi-type-label-font-size); }
.csm-longtext-color input { width:28px; height:26px; padding:0; }
.csm-longtext-dialog :is(.csm-langtext,.csm-langtext-vorschau) { min-height:300px; margin:0; }
@media(max-width:650px) { .csm-project-note-row { grid-template-columns:1fr 1fr; } .csm-project-note-row>label { grid-column:1/-1; } }

/* Bei 200 % Zoom dürfen schwebende Aktionen keine Moduswahl verdecken. */
@media(max-height:500px) { .csm-feedback-floating { position:static; align-self:flex-end; margin:8px 16px; } }

.csm-context-menu { position:fixed; margin:0; padding:4px; width:248px; max-width:calc(100vw - 16px); max-height:calc(100dvh - 16px); border:1px solid var(--provi-border); border-radius:6px; background:var(--provi-surface); color:var(--provi-text); box-shadow:var(--provi-dialog-shadow); overflow:visible; font:var(--provi-type-ui-font-size)/var(--provi-type-ui-line-height) var(--provi-font-body); }
.csm-context-title { padding:6px 8px; font-size:var(--provi-type-caption-font-size); color:var(--provi-table-secondary); border-bottom:1px solid var(--provi-border); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.csm-context-entry { position:relative; }
.csm-context-menu button { display:flex; align-items:center; gap:8px; width:100%; padding:6px 8px; background:transparent; border:0; border-radius:3px; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.csm-context-menu button:disabled { opacity:.4; cursor:default; }
.csm-context-menu button:is(:hover,:focus-visible):enabled { background:var(--provi-action-subtle); }
.csm-context-menu button small { margin-left:auto; color:var(--provi-table-secondary); font-size:var(--provi-type-caption-font-size); }
.csm-context-menu :is(svg,.csm-context-icon) { width:16px; height:16px; flex:none; }
.csm-context-menu .csm-context-danger { color:var(--provi-danger); }
.csm-context-flyout { position:absolute; z-index:1; left:100%; top:0; width:220px; padding:4px; border:1px solid var(--provi-border); border-radius:6px; background:var(--provi-surface); box-shadow:var(--provi-dialog-shadow); max-height:50vh; overflow:auto; }
.csm-context-flyout--left { left:auto; right:100%; }
.csm-editor .csm-lv-table th { line-height:normal; padding:8px; }
@media(max-width:520px) { .csm-context-flyout { position:static; width:auto; max-height:30vh; } .csm-context-menu { overflow:auto; } }

@media(max-height:500px) { .csm-context-menu { overflow:auto; } .csm-context-flyout { position:static; width:auto; max-height:30vh; } }

.csm-company-page { padding:16px 14px; }
.csm-company-page .csm-daten-kachel { border-radius:10px; padding:20px 24px; }
.csm-company-page .csm-daten-kachel:first-of-type { max-width:420px; }
.csm-company-page .csm-daten-kachel h2 { font-size:var(--provi-type-ui-font-size); font-weight:var(--provi-type-emphasis-font-weight); margin-bottom:8px; }
.csm-company-page .provi-table th { background:transparent; }
.csm-company-page .provi-table td { font-size:var(--provi-type-ui-font-size); }
.csm-company-page .csm-new-account { display:flex; flex-wrap:wrap; align-items:end; gap:8px; }
.csm-company-page .csm-new-account>label { flex:1; min-width:140px; }
.csm-daten-kachel .csm-bestandsliste { margin:0; padding:0; }

/* ── Bestandsparität 22.09.2026: Statusleiste, Stand-Historie, Suchen, Neu einfügen,
   Zellwahl, Attributfilter/Objekt, Vorgänger, Feedback, Tour. Werte aus dem
   Blazor-Bestand (ui-baseline-2026-09-18); Schriftgrößen über die gemeinsame Skala. ── */
.csm-visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.csm-unit { text-transform:none; }
.csm-lv-table th.csm-number { text-align:right; }
.csm-kalk-cell > span { font-family:var(--provi-font-mono); font-size:var(--provi-type-caption-font-size); }
.csm-kalk-marker { color:var(--termin-fg); font-weight:var(--provi-type-strong-font-weight); font-style:italic; margin-right:4px; }
.csm-lv-table td.csm-quantity { display:flex; align-items:center; justify-content:flex-end; }
.csm-quantity > :is(.csm-editable-cell,.csm-cell-input) { flex:1; min-width:0; }
.csm-status-pill.provi-button { color:var(--kkk-fg); border:1px solid var(--kkk-fg); border-radius:9px; background:transparent; padding:1px 10px; min-height:0; line-height:1.4; font-size:var(--provi-type-label-font-size); font-weight:var(--provi-type-regular-font-weight); }
.csm-status-pill.provi-button:hover:enabled { background:var(--kkk-bg); }
.csm-tour-start.provi-button { color:var(--kkk-fg); border-color:var(--kkk-fg); }
.csm-tour-start.provi-button:hover:enabled { background:var(--kkk-bg); }
.csm-status-logout.provi-button { background:transparent; border:0; padding:0; min-height:0; color:var(--provi-text-muted); font:inherit; }
.csm-status-logout.provi-button:hover:enabled { text-decoration:underline; background:transparent; }
.csm-footer-start { margin-right:auto; }
.csm-inline-button.provi-button { justify-self:start; width:auto; }
/* Stand-Historie: 640 px, Zeilen 150px | 1fr | 70px | 130px | Aktionen */
.csm-history-dialog.provi-dialog { width:640px; max-width:92vw; }
.csm-history-list { max-height:380px; overflow:auto; border:1px solid var(--provi-border); border-radius:6px; }
.csm-history-table { width:100%; border-collapse:collapse; font-size:var(--provi-table-font-size); }
.csm-history-table th { position:sticky; top:0; z-index:1; background:var(--provi-surface); color:var(--provi-text-secondary); font-size:var(--provi-navigation-group-font-size); font-weight:var(--provi-type-emphasis-font-weight); text-align:left; padding:6px 10px; border-bottom:1px solid var(--provi-border); }
.csm-history-table td { padding:6px 10px; border-bottom:1px solid var(--provi-border); white-space:nowrap; }
.csm-history-table :is(th,td):nth-child(1) { width:150px; }
.csm-history-table :is(th,td):nth-child(3) { width:70px; }
.csm-history-table :is(th,td):nth-child(4) { width:110px; }
.csm-history-actions .provi-button { white-space:nowrap; padding-inline:8px; }
.csm-history-table :is(th,td).csm-number { text-align:right; }
.csm-history-actions { display:flex; gap:6px; justify-content:flex-end; }
.csm-history-diff td { white-space:normal; background:var(--provi-surface-subtle); font-size:var(--provi-type-caption-font-size); }
.csm-history-diff p { margin:2px 0; }
.csm-mini-badge { display:inline-block; min-width:44px; text-align:center; font-size:var(--provi-diagram-label-font-size); font-weight:var(--provi-type-emphasis-font-weight); border-radius:4px; padding:2px 6px; white-space:nowrap; }
.csm-mini-badge--gruen { background:color-mix(in srgb,var(--provi-positive) 14%,var(--provi-surface)); color:var(--provi-positive); }
.csm-mini-badge--blau { background:color-mix(in srgb,var(--provi-info) 14%,var(--provi-surface)); color:var(--provi-info); }
/* Suchen und Ersetzen: 640 px, Suchzeile, Spaltenzeile, Trefferliste, Ersetzenzeile */
.csm-search-dialog { --provi-dialog-wide-width:640px; }
.csm-search-row { display:flex; align-items:center; gap:8px; margin-bottom:6px; }
.csm-search-row > .provi-input { flex:1; min-width:0; }
.csm-search-mode { flex:0 0 140px; }
.csm-search-columns { flex-wrap:wrap; }
.csm-search-option { display:inline-flex; align-items:center; gap:4px; font-size:var(--provi-type-label-font-size); color:var(--provi-text-secondary); white-space:nowrap; }
.csm-search-results { max-height:300px; overflow:auto; border:1px solid var(--provi-border); border-radius:6px; }
.csm-search-hit { display:grid; grid-template-columns:90px 90px minmax(0,1fr); gap:10px; width:100%; padding:6px 10px; border:0; border-bottom:1px solid var(--provi-border); background:var(--provi-surface); color:var(--provi-text); font:inherit; font-size:var(--provi-table-font-size); text-align:left; cursor:pointer; }
.csm-search-hit > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.csm-search-hit:hover, .csm-search-hit[aria-pressed=true] { background:var(--provi-surface-muted); }
.csm-search-results > p { margin:6px 10px; }
.csm-search-replace { margin-top:8px; }
/* Neu einfügen: Pill-Schalter, OZ-Vorschau, Hinweis, Listenvorschau */
.csm-dialog-section { margin:0 0 10px; }
.csm-dialog-section--next { margin-top:12px; }
.csm-pill-group { display:flex; flex-wrap:wrap; }
.csm-pill.provi-button { border-radius:0; border-right-width:0; font-weight:var(--provi-type-regular-font-weight); }
.csm-pill.provi-button:first-child { border-radius:5px 0 0 5px; }
.csm-pill.provi-button:last-child { border-radius:0 5px 5px 0; border-right-width:1px; }
.csm-pill.provi-button[aria-pressed=true] { background:var(--provi-text-muted); color:var(--provi-action-text); border-color:var(--provi-text-muted); }
.csm-insert-oz { font-size:var(--provi-type-label-font-size); color:var(--provi-text-secondary); font-style:italic; margin:8px 0 2px 2px; }
.csm-insert-hint { margin:4px 0 0; }
.csm-insert-preview { border:1px solid var(--provi-border); border-radius:4px; overflow:hidden; margin-top:6px; }
.csm-insert-row { display:flex; gap:8px; padding:5px 8px; border-bottom:1px solid var(--provi-border); font-size:var(--provi-table-font-size); }
.csm-insert-row:last-child { border-bottom:0; }
.csm-insert-oz-cell { flex:0 0 90px; font-family:var(--provi-font-mono); color:var(--provi-text-secondary); }
.csm-insert-text { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
/* OZ korrigieren 380 px mit Radios vor dem Text; Einheit/Rundung 520 px mit kompakten Chips und Karten */
.csm-oz-dialog.provi-dialog { width:380px; }
.csm-oz-dialog .csm-formular label { display:flex; align-items:center; gap:8px; }
.csm-cell-picker h3 { font-size:var(--provi-table-font-size); margin:10px 0 6px; }
.csm-unit-chips { gap:6px; }
.csm-unit-chips > span { border-radius:4px; background:color-mix(in srgb,var(--provi-text) 4%,transparent); }
.csm-unit-chips button { padding:4px 6px 4px 8px; font-size:var(--provi-type-label-font-size); }
.csm-unit-chips button:last-child { padding:4px 8px 4px 4px; color:var(--provi-text-muted); }
.csm-unit-chips button:first-child:hover:enabled { background:var(--provi-text-muted); color:var(--provi-action-text); }
.csm-unit-chips .aktiv { outline:0; background:transparent; }
.csm-unit-chips .aktiv button:first-child { background:var(--provi-text-muted); color:var(--provi-action-text); font-weight:var(--provi-type-strong-font-weight); }
.csm-rounding-cards { display:flex; flex-wrap:wrap; gap:8px; }
.csm-rounding-cards > div { width:140px; background:color-mix(in srgb,var(--provi-text) 4%,transparent); }
.csm-rounding-cards > div:hover { border-color:var(--provi-text-muted); }
.csm-rounding-choice { padding:12px 12px 10px; gap:2px; }
.csm-rounding-choice strong { font-size:var(--provi-type-title-font-size); font-weight:var(--provi-type-strong-font-weight); color:var(--provi-text-muted); }
.csm-rounding-choice small { margin-top:4px; }
.csm-rounding-cards .aktiv { outline:0; background:var(--provi-text-muted); border-color:var(--provi-text-muted); }
.csm-rounding-cards .aktiv :is(strong,span,small,.csm-picker-favorite) { color:var(--provi-action-text); }
.csm-rounding-preview { border-radius:6px; padding:10px 12px; margin-top:12px; font-size:var(--provi-table-font-size); }
/* Attributfilter: drei gerahmte Spalten 195 | 1fr | 230 mit spaltenbreiten Knöpfen */
.csm-attribute-filter > .provi-dialog__body { display:flex; flex-direction:column; min-height:0; }
.csm-filter-columns { flex:1; grid-template-columns:195px minmax(0,1fr) 230px; gap:8px; min-height:0; }
.csm-filter-columns > section { display:flex; flex-direction:column; min-width:0; min-height:0; background:var(--provi-background); border:1px solid var(--provi-border); border-radius:6px; }
.csm-filter-columns h3 { margin:8px 10px 6px; font-size:var(--provi-type-caption-font-size); font-weight:var(--provi-type-emphasis-font-weight); color:var(--provi-text-secondary); text-transform:var(--provi-table-heading-text-transform); }
.csm-filter-columns > section > :not(h3) { margin-inline:8px; }
.csm-filter-columns > section > .provi-input { margin-bottom:6px; }
.csm-filter-attributes { flex:1; max-height:none; min-height:0; margin-bottom:6px; }
.csm-filter-attributes button { font-size:var(--provi-type-caption-font-size); padding:4px 8px; border-bottom:1px solid var(--provi-border); }
.csm-filter-columns > section > .provi-button { margin:auto 8px 8px; justify-content:center; }
.csm-filter-columns > section > ul { flex:1; overflow:auto; margin:0 8px 8px; padding-left:18px; font-size:var(--provi-type-caption-font-size); }
.csm-filter-columns > section > p { margin:0 8px 6px; }
@media(max-width:850px) { .csm-attribute-filter.provi-dialog { height:auto; } }
/* Objekt auswählen: 260 | Trenner | 1fr, randlose Panels mit Kopfzeile */
.csm-object-dialog > .provi-dialog__body { display:flex; flex-direction:column; min-height:0; padding:0; }
.csm-object-dialog > .provi-dialog__body > .provi-notice { margin:8px 12px 0; }
.csm-object-columns { flex:1; grid-template-columns:260px 1px minmax(0,1fr); gap:0; min-height:0; }
.csm-object-columns::before { content:""; grid-column:2; grid-row:1; background:var(--provi-border); }
.csm-object-columns > section:first-child { grid-column:1; }
.csm-object-columns > section:last-child { grid-column:3; }
.csm-object-columns > section { display:flex; flex-direction:column; min-height:0; overflow:auto; background:var(--provi-background); }
.csm-object-columns h3 { margin:0; padding:7px 10px; border-bottom:1px solid var(--provi-border); }
.csm-object-columns > section > :not(h3) { margin:6px 8px; }
.csm-object-columns .csm-editor-table { max-height:none; }
@media(max-width:650px) { .csm-object-dialog.provi-dialog { height:auto; } .csm-object-columns { grid-template-columns:1fr; } .csm-object-columns::before { display:none; } .csm-object-columns > section:last-child { grid-column:1; } }
/* Vorgänger wählen: 560 px, Tabelle 34 | 44 | 1fr | 74 | 80 */
.csm-predecessor-dialog.provi-dialog { width:560px; }
.csm-predecessor-table { border:1px solid var(--provi-border); border-radius:6px; max-height:46vh; overflow:auto; }
.csm-predecessor-row { display:grid; grid-template-columns:34px 44px minmax(0,1fr) 74px 80px; align-items:center; gap:6px; padding:4px 8px; border-bottom:1px solid var(--provi-border); font-size:var(--provi-table-font-size); }
.csm-predecessor-head { position:sticky; top:0; z-index:1; background:var(--provi-surface); color:var(--provi-text-secondary); font-size:var(--provi-type-caption-font-size); font-weight:var(--provi-type-emphasis-font-weight); }
.csm-predecessor-row:not(.csm-predecessor-head):hover { background:var(--provi-surface-muted); }
.csm-predecessor-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.csm-predecessor-row :is(.provi-select,.provi-input) { width:100%; min-width:0; min-height:24px; height:24px; padding:2px 4px; font-size:var(--provi-type-label-font-size); }
.csm-predecessor-row .csm-number { text-align:right; }
.csm-predecessor-table > p { margin:8px; }
/* Kataloge: Pfadzeile, Infokasten, Statustabelle ohne Großschreibung */
.csm-catalog-path { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.csm-catalog-path > .provi-input { flex:1; min-width:0; }
.csm-info-box { border:1px solid var(--provi-border); border-left:3px solid var(--provi-action); border-radius:6px; padding:8px 10px; margin:8px 0; font-size:var(--provi-type-label-font-size); color:var(--provi-text-secondary); background:var(--provi-surface-subtle); }
.csm-catalog-status { margin-top:10px; }
.csm-settings .csm-catalog-status th { text-transform:none; }
.csm-catalog-status :is(th,td).csm-number { text-align:right; }
/* Feedback: Markierfläche zuerst, dann Kommentar (380 px), Sammlung rechts angedockt */
.csm-fb-anno { position:fixed; inset:0; z-index:1300; display:flex; flex-direction:column; background:var(--provi-surface); }
.csm-fb-anno-toolbar { display:flex; align-items:center; gap:6px; padding:6px 10px; background:var(--provi-background); border-bottom:1px solid var(--provi-border); }
.csm-fb-anno-label { font-size:var(--provi-type-label-font-size); }
.csm-fb-anno-label--gap { margin-left:12px; }
.csm-fb-color { width:28px; height:28px; border-radius:4px; border:3px solid transparent; cursor:pointer; padding:0; }
.csm-fb-color.aktiv { border-color:#fff; box-shadow:0 0 0 1px var(--provi-border-strong); }
.csm-fb-anno-toolbar input[type=range] { width:80px; accent-color:var(--provi-text-muted); }
.csm-fb-anno-toolbar .provi-button.aktiv { background:var(--provi-text-muted); border-color:var(--provi-text-muted); color:var(--provi-action-text); }
.csm-fb-anno-right { margin-left:auto; display:flex; gap:8px; }
.csm-fb-anno-area { flex:1; overflow:auto; display:flex; justify-content:center; align-items:flex-start; padding:12px; background:var(--provi-background); }
.csm-fb-anno-area canvas { max-width:100%; max-height:100%; box-shadow:0 4px 14px rgba(0,0,0,.4); cursor:crosshair; touch-action:none; }
.csm-feedback-dialog.provi-dialog { width:380px; }
.csm-feedback-text { width:100%; min-height:200px; resize:vertical; }
.csm-feedback-shot { display:flex; align-items:center; gap:8px; margin-top:8px; }
.csm-feedback-shot img { height:40px; width:auto; border:1px solid var(--provi-border); }
.csm-feedback-attach { display:flex; align-items:center; gap:6px; margin-top:8px; font-size:var(--provi-type-label-font-size); }
.csm-link-button { border:0; background:transparent; padding:0; color:var(--provi-action-ink); text-decoration:underline; cursor:pointer; font:inherit; }
.csm-fb-sidebar { position:fixed; right:0; top:0; bottom:0; z-index:1200; width:320px; max-width:92vw; display:flex; flex-direction:column; gap:10px; padding:14px 16px; background:var(--provi-surface); border-left:1px solid var(--provi-border); box-shadow:var(--provi-dialog-shadow); }
.csm-fb-sidebar-head { display:flex; align-items:center; justify-content:space-between; }
.csm-fb-sidebar-title { font-weight:var(--provi-type-emphasis-font-weight); }
.csm-fb-sidebar p { margin:0; }
/* Tour: Spotlight und Sprechblase in der obersten Ebene (Popover), Maße wie tour.css */
.csm-tour-light { position:fixed; inset:auto; margin:0; padding:0; border:0; width:0; height:0; border-radius:8px; background:transparent; overflow:visible; box-shadow:0 0 0 100vmax rgba(0,0,0,.55); transition:left .25s ease, top .25s ease, width .25s ease, height .25s ease; pointer-events:auto; }
.csm-tour-pop { position:fixed; inset:auto; margin:0; width:380px; max-width:calc(100vw - 24px); padding:14px 16px 12px; overflow:visible; background:var(--provi-surface); color:var(--provi-text); border:1px solid var(--provi-border); border-radius:10px; box-shadow:0 12px 40px rgba(0,0,0,.35); }
.csm-tour-light::backdrop, .csm-tour-pop::backdrop { background:transparent; }
.csm-tour-pop-head { display:flex; align-items:flex-start; gap:8px; }
.csm-tour-pop-title { flex:1; font-size:var(--provi-type-body-font-size); font-weight:var(--provi-type-emphasis-font-weight); }
.csm-tour-pop-close { border:0; background:transparent; color:var(--provi-text-muted); cursor:pointer; font-size:var(--provi-type-ui-font-size); padding:0 2px; }
.csm-tour-pop-close:hover { color:var(--provi-text); }
.csm-tour-pop-text { font-size:var(--provi-table-font-size); line-height:1.55; color:var(--provi-text-secondary); margin:8px 0 12px; }
.csm-tour-pop-foot { display:flex; align-items:center; }
.csm-tour-pop-counter { flex:1; font-size:var(--provi-type-caption-font-size); color:var(--provi-text-muted); }
.csm-tour-pop-buttons { display:flex; gap:8px; }
@supports not selector(:popover-open) { .csm-tour-light, .csm-tour-pop { display:block; z-index:1400; } }
