/* Compact information layout shared by the portal. Keep readable type and touch targets. */
.workspace-heading { margin-bottom:10px; padding:0; }
.workspace-heading h1 { font-size:22px; line-height:1.4; margin:0; }
.workspace-heading .workspace-eyebrow { display:none; }
.workspace-heading .household-title-with-info { gap:6px; }
.household-quick-views { gap:5px; margin-bottom:10px; }
.household-quick-views button { min-height:34px; padding:6px 11px; border-radius:8px; }
.portfolio-view-heading { display:flex; align-items:flex-start; gap:8px; margin-bottom:10px; }
.portfolio-view-heading .household-quick-views { margin:0; flex:1; }
.portfolio-view-heading > .partner-info { padding-top:2px; }
.portfolio-mobile-view { display:none; }
:is(.workspace-content,.mud-dialog) .mud-card-header .mud-card-header-avatar { margin-right:8px; }
.workspace-content :is(.page-toolbar,.form-toolbar,.data-toolbar) { min-height:48px; }
.workspace-content .e-grid :is(.e-rowcell,.e-headercell) { padding-top:8px; padding-bottom:8px; }
.workspace-content .e-grid .e-headercelldiv { line-height:1.4; }
:is(.partner-panel,.household-section-card) > :is(.section-card-title,h2),
.household-section-grid > section > .section-card-title {
    min-height:40px; padding-bottom:8px; margin-bottom:8px; border-bottom:1px solid var(--partner-line); align-items:center;
}
:is(.workspace-content,.mud-dialog) :is(.partner-panel,.household-section-card) h2 { font-size:16px; }
.partner-detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; align-items:start; }
.partner-detail-grid > * { min-width:0; margin:0 !important; }
.partner-detail-grid .linked-record { display:block; padding:8px 0; }
.partner-detail-grid .linked-record .record-actions { margin-top:10px; }
.partner-detail-heading .record-actions { margin-left:auto; }
.partner-detail-heading { margin-bottom:12px; }
.partner-detail-heading h1 { font-size:22px; }
.partner-detail-heading .mud-icon-button { color:var(--partner-muted); }
.partner-facts, .record-facts { display:grid; grid-template-columns:1fr; gap:0; margin:0; }
:is(.partner-facts,.record-facts) > div { display:grid; grid-template-columns:minmax(95px,.85fr) minmax(0,1.2fr); align-items:baseline; gap:10px; padding:7px 0; border-bottom:1px solid var(--partner-line); }
:is(.partner-facts,.record-facts) > div:last-child { border-bottom:0; }
:is(.partner-facts,.record-facts) dd { text-align:right; margin:0; font-size:14px; }
.partner-fact-total dd { font-size:16px; }
.partner-inline-notice { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:8px 0; }
.partner-section-header .record-actions { flex-shrink:0; }
.linked-record { padding:10px 0; gap:10px; }
.linked-record p { margin:2px 0; }
.client-record-columns { margin-top:10px; gap:10px; }
.client-contact-panel .record-actions { margin:8px 0; }
.client-household-table .household-warning-list { margin:4px 0; }
.client-household-table :is(p,small) { margin:0; }
.client-household-table small { display:block; color:var(--partner-muted); }
.client-household-table .mud-table-cell:last-child { width:1%; white-space:nowrap; }
.client-household-table .record-actions { justify-content:flex-end; }
.household-action-list { gap:2px; padding:0; }
.household-warning-tip { display:block; min-width:0; }
.household-action-list .household-action { display:flex; flex-direction:row; align-items:center; gap:7px; padding:3px 0; border:0; border-radius:3px; background:transparent; line-height:1.4; font-size:13px; }
.household-action-list .warning-symbol { display:inline-flex; align-items:center; justify-content:center; flex:0 0 20px; width:20px; height:20px; border:1px solid currentColor; border-radius:50%; font-size:12px; font-weight:700; }
.household-action-error .warning-symbol { background:#fff0ef; }
.household-action-warning .warning-symbol { background:#fff5d8; }
.household-action-setup .warning-symbol { background:#edf5fc; }
.household-action-list .warning-label { font-weight:600; min-width:0; }
.household-action-list .warning-arrow { margin-left:auto; padding-left:3px; }
.household-action-list .household-action:hover { background:var(--partner-surface-subtle); color:var(--partner-primary); }
.household-action-list .household-action:hover .warning-label { text-decoration:underline; text-underline-offset:3px; }
.household-more-warnings > summary { display:flex; align-items:center; gap:5px; width:fit-content; min-height:24px; padding:1px 0 1px 27px; color:var(--partner-muted); font-size:12px; cursor:pointer; list-style:none; }
.household-more-warnings > summary::-webkit-details-marker { display:none; }
.household-more-warnings > summary::before { content:"+"; font-size:14px; font-weight:600; }
.household-more-warnings[open] > summary::before { content:"−"; }
.household-more-warnings > summary span { font-variant-numeric:tabular-nums; font-weight:600; }
.household-more-warnings > summary:hover { color:var(--partner-ink); text-decoration:underline; }
.household-more-warnings > summary:focus-visible { outline:2px solid var(--partner-primary); outline-offset:2px; }
.portfolio-grid .household-action-list details .household-action { margin-top:0; }
.household-action-list .status-clear { font-size:13px; color:var(--partner-muted); }
.partner-detail-columns { gap:10px; align-items:start; }
.installation-detail-dialog { width:1150px; max-height:calc(100dvh - 32px); }
.installation-detail-dialog .mud-dialog-title { padding:12px 16px; }
.installation-detail-dialog .mud-dialog-content { padding:14px; }
.installation-detail-dialog .partner-stack { gap:10px; }
.installation-contact-actions { margin-top:10px; }
.installation-steps { margin-top:10px; gap:10px; }
.installation-detail-dialog .installation-progress-overview { padding:12px; }
.installation-note .mud-input-control { margin-top:0; }
.installation-grid .installation-customer { padding:2px 0; gap:2px; }
.installation-grid .installation-customer .installation-field-label { display:inline; margin-right:5px; }
.client-detail-dialog .mud-dialog-content { padding:0; }
.partner-disclosure-body { margin-top:10px; }
/* The remaining household tabs use the same label/value rhythm as the overview. */
.household-workspace .household-section-content:not(.household-overview-grid) .household-section-card { padding:12px; border-radius:8px; }
.household-workspace .household-section-content:not(.household-overview-grid) .household-disclosure { padding:0; }
.household-workspace .household-section-content > * { margin-block:0; }
.household-workspace .household-section-grid.technology-grid { grid-template-columns:minmax(0,1.25fr) repeat(2,minmax(0,1fr)); gap:10px; }
.household-workspace .technology-grid > .household-cubee-panel { grid-column:auto; }
.household-workspace .technology-grid > .household-panels-panel { grid-column:1 / -1; }
.household-workspace .household-battery-panel .household-fact-list { grid-template-columns:minmax(0,1.5fr) minmax(90px,1fr); }
.household-cubee-panel .household-device-identity { display:block; margin-bottom:10px; }
.household-cubee-panel .household-device-identity > div:first-child { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:8px; }
.household-cubee-panel .household-device-identity strong { font-size:16px; }
.household-cubee-panel .household-device-connections { display:grid; gap:0; }
.household-cubee-panel .household-device-connections > div { display:flex; justify-content:space-between; gap:10px; padding:6px 0; border-bottom:1px solid var(--partner-line); }
.household-workspace .household-device-facts { display:block; }
.household-workspace .household-device-facts > section + section { border:0; padding:0; }
.household-workspace .household-device-facts h3 { font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:var(--partner-muted); margin:10px 0 4px; }
.household-workspace .household-device-facts dl { gap:0 12px; margin:0; }
.household-workspace .household-device-facts :is(dt,dd) { padding:6px 0; border-bottom:1px solid var(--partner-line); font-size:14px; }
.household-workspace .household-device-facts dt { font-weight:400; color:var(--partner-muted); }
.household-workspace .household-device-facts dd { text-align:right; }
.household-workspace .household-fact-list dd { text-align:right; }
.household-workspace .household-fact-list .device-communication-badge { font-size:12px; padding:2px 7px; }
.household-workspace .household-section-grid.people-grid { grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:10px; }
.household-client-summary { display:block; margin-bottom:12px; }
.household-client-summary .household-title-with-info { margin-bottom:8px; }
.household-client-summary > :is(strong,span) { display:block; }
.household-workspace .control-summary-grid { grid-template-columns:1fr; gap:0; margin:0; }
.control-summary-grid > div { display:grid; grid-template-columns:minmax(110px,1fr) minmax(0,1.4fr); gap:10px; padding:7px 0; border-bottom:1px solid var(--partner-line); align-items:baseline; }
.control-summary-grid > div > :not(:first-child) { text-align:right; }
.control-summary-grid > div > span:last-child:not(:first-child) { grid-column:2; font-size:12px; color:var(--partner-muted); }
.household-control-overview .control-summary-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 18px; }
.household-control-overview .control-summary-grid > div { grid-template-columns:1fr; gap:4px; border:0; }
.household-control-overview .control-summary-grid > div > strong { text-align:left; }
.household-workspace .inverter-control-status { padding:8px 0; border:0; border-top:1px solid var(--partner-line); background:transparent; border-radius:0; }
.household-workspace .inverter-control-status > .section-card-title { padding:0; border:0; min-height:32px; }
.household-workspace .household-control-facts { gap:8px 16px; }
.household-workspace .electricity-summary { margin:0; gap:10px; align-items:start; }
.household-workspace .electricity-summary dl { gap:0 12px; margin:8px 0; }
.household-workspace .electricity-summary :is(dt,dd) { padding:6px 0; border-bottom:1px solid var(--partner-line); }
.household-workspace .electricity-summary dd { text-align:right; }
.household-workspace .electricity-summary dt { font-weight:400; color:var(--partner-muted); }
.household-workspace .electricity-summary .summary-primary { font-size:15px; margin:10px 0 6px; }
.household-workspace .connected-device { padding:10px 12px; border-radius:7px; background:#fff; }
.connected-device-meta { display:flex; flex-wrap:wrap; align-items:center; gap:6px 16px; margin:6px 0 10px; color:var(--partner-muted); font-size:13px; }
.connected-device-meta .device-communication-badge { font-size:12px; padding:3px 7px; }
.connected-device .section-card-title { margin-bottom:6px; }
.household-workspace .household-channel-table .record-actions { gap:5px; }
.household-workspace .household-channel-table .mud-button { font-size:13px; }
.household-workspace .connected-device-grid { gap:10px; }
.household-boilers .connected-device-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); }
.household-workspace .service-limits { gap:0 12px; margin:0; }
.service-limits :is(dt,dd) { padding:7px 0; border-bottom:1px solid var(--partner-line); font-size:14px; }
.service-limits dt { color:var(--partner-muted); font-weight:400; }
.service-limits dd { text-align:right; }
.operation-diagnostics .operation-metrics { gap:10px; margin:10px 0; }
.operation-diagnostics .operation-metrics > div { padding:10px; border:0; border-left:1px solid var(--partner-line); border-radius:0; background:transparent; }
.operation-diagnostics .operation-metrics > div:first-child { border-left:0; padding-left:0; }
.operation-diagnostics .operation-metrics strong { font-size:15px; }
.household-workspace .delivery-row { border:0; border-bottom:1px solid var(--partner-line); padding:10px 0; border-radius:0; }
.household-workspace .delivery-row dl { margin:6px 0 0; gap:10px; }
.household-workspace .change-entry { padding:10px 0; border:0; border-bottom:1px solid var(--partner-line); border-radius:0; }
.household-workspace .change-entry { display:grid; grid-template-columns:minmax(200px,1fr) minmax(0,2fr); grid-template-areas:"title values" "author values" "detail detail"; column-gap:16px; row-gap:3px; }
.household-workspace .change-entry-title { grid-area:title; display:block; }
.household-workspace .change-entry-title time { display:block; margin-top:3px; font-size:12px; }
.household-workspace .change-entry > .readiness-note { grid-area:author; margin:0; font-size:13px; }
.household-workspace .change-entry > .change-values { grid-area:values; margin:0; align-self:start; }
.household-workspace .change-entry > details { grid-area:detail; }
.household-workspace .change-values > div { border-radius:5px; }
/* Portfolio summaries stay quiet; detailed records remain in their lists. */
.dashboard-overview { margin-bottom:10px; }
.dashboard-stats { gap:8px; }
.dashboard-stat { padding:10px 12px; gap:10px; }
.dashboard-stat .stat-number { font-size:22px; }
.dashboard-stat .stat-icon { width:34px; height:34px; }
.dashboard-grid { gap:10px; }
.metric-grid { gap:0 18px; }
.metric-grid > * { border:0; border-bottom:1px solid var(--partner-line); border-radius:0; background:transparent; padding:8px 0; }
.metric-grid:not(.metric-grid-live):not(.metric-grid-trading) { grid-template-columns:1fr; }
.metric-grid:not(.metric-grid-live):not(.metric-grid-trading) > * { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.metric-grid .metric-value { font-size:18px; }
.metric-grid:not(.metric-grid-live):not(.metric-grid-trading) .metric-label { order:0; }
.metric-grid:not(.metric-grid-live):not(.metric-grid-trading) .metric-value { order:1; text-align:right; white-space:nowrap; }
.plan-delivery-table .delivery-label { display:table; margin:4px 0 0; font-size:12px; }
.portfolio-home-overview { margin-bottom:10px; }
.settings-page .partner-readiness { margin-bottom:8px; padding:0; }
.partner-readiness .readiness-details > summary { display:flex; align-items:center; flex-wrap:wrap; gap:4px 12px; min-height:42px; padding:8px 12px; list-style:none; border-radius:7px; }
.partner-readiness .readiness-details > summary::-webkit-details-marker { display:none; }
.partner-readiness .readiness-details[open] > summary { margin-bottom:0; }
.partner-readiness .readiness-details > summary::before { content:"›"; font-size:22px; line-height:20px; transition:transform .15s; }
.partner-readiness .readiness-details[open] > summary::before { transform:rotate(90deg); }
.partner-readiness .readiness-details > summary:hover { background:var(--partner-surface-subtle); }
.partner-readiness .readiness-details > summary:focus-visible { outline:2px solid var(--mud-palette-primary); outline-offset:2px; }
.readiness-title { font-size:14px; font-weight:650; }
.readiness-status { color:var(--partner-muted); font-size:13px; font-weight:400; }
.readiness-toggle { margin-left:auto; font-size:13px; color:var(--partner-primary); }
.readiness-detail-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 12px 0; border-top:1px solid var(--partner-line); }
.readiness-detail-heading p { margin:0; color:var(--partner-muted); font-size:13px; }
.partner-readiness .readiness-note { margin:0; padding:0 12px 12px; }
.settings-page .mud-toolbar { min-height:48px; }
.settings-page .settings-management-toolbar { height:auto; flex-wrap:wrap; gap:8px 12px; padding-block:10px; }
.settings-management-toolbar > .mud-button { flex-shrink:0; }
.settings-management-toolbar > .mud-alert { flex:1 1 280px; margin:0 !important; }
.company-branding-notice { margin-bottom:12px; }
.company-branding-notice p { margin:4px 0 0; }
.partner-readiness .readiness-checks { gap:0 16px; margin:0; padding:0 12px 10px; }
.partner-readiness .readiness-check { display:grid; grid-template-columns:1fr auto; padding:10px 0; gap:5px 10px; border:0; border-bottom:1px solid var(--partner-line); border-radius:0; background:transparent; }
.partner-readiness .readiness-check > .device-communication-badge { grid-column:2; grid-row:1; align-self:start; font-size:12px; padding:3px 7px; }
.partner-readiness .readiness-check > h3 { grid-column:1; grid-row:1; margin:0; font-size:14px; }
.partner-readiness .readiness-check > p { grid-column:1 / -1; margin:0; font-size:13px; }
.partner-readiness .readiness-check > .mud-button { grid-column:1 / -1; justify-self:start; }
.settings-tabs, .document-tabs { margin-bottom:10px; padding:0; background:transparent; border:0; border-bottom:1px solid var(--partner-line); border-radius:0; }
.settings-tabs { display:flex; align-items:center; flex-wrap:wrap; gap:6px 12px; }
.settings-tabs .mud-list { flex:1 1 auto; gap:4px; }
.settings-tabs .mud-list-item { padding:6px 12px; min-height:36px; border-radius:0; }
:is(.settings-tabs, .document-tabs) .active { background:transparent; color:var(--partner-primary); box-shadow:inset 0 -3px var(--partner-green); }
.document-tabs .mud-button { border-radius:0; }
.settings-tabs .settings-save { flex-shrink:0; margin-left:auto; }
.settings-page .mud-container { margin-top:0 !important; padding:0; }
.settings-page .mud-tab-panel > .settings-company-fields { margin-top:0 !important; }
.settings-page .settings-company-fields .mud-grid { margin-top:-8px; margin-left:-8px; width:calc(100% + 8px); }
.settings-page .settings-company-fields .mud-grid > .mud-grid-item { padding-top:8px; padding-left:8px; }
.settings-company-card { height:100%; }
.settings-page .settings-company-card .mud-card-header { min-height:40px; padding:8px 12px; }
.settings-page .settings-company-card .mud-card-content { padding:4px 12px 12px; }
.settings-logo-row { display:flex; align-items:center; gap:12px; margin-top:4px; }
.settings-logo-preview { width:96px; height:64px; flex-shrink:0; border:1px solid var(--partner-line); border-radius:6px; padding:6px; }
.settings-logo-options { display:grid; gap:3px; min-width:0; }
.settings-logo-actions { display:flex; flex-wrap:wrap; align-items:center; gap:4px; }
.settings-logo-actions > .mud-input-control { margin:0; }
.settings-logo-options > .mud-typography-caption { color:var(--partner-muted); }
.settings-service-area-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 12px; padding:10px 12px; }
.settings-service-area-heading > div { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 12px; }
.settings-service-area-heading p { margin:0; font-size:13px; color:var(--partner-muted); }
.settings-page .settings-service-area .mud-card-content { padding:0 12px 12px; }
.settings-service-area-help { margin:0 0 12px; color:var(--partner-muted); }
@media (max-width:600px) {
    .partner-readiness .readiness-status { flex-basis:calc(100% - 26px); order:1; margin-left:20px; }
    .readiness-detail-heading { flex-wrap:wrap; }
    .settings-tabs .mud-list { flex-basis:100%; }
    .settings-tabs .settings-save { width:100%; }
    .settings-logo-row { align-items:flex-start; gap:8px; }
    .settings-logo-preview { width:72px; height:56px; }
}
.document-card, .training-card { border-radius:8px; }
.partner-contract-dialog .contract-dialog-content { padding:12px; }
.contract-nav { margin-bottom:10px; }
.contract-nav button { min-height:38px; padding:6px 8px; }
.contract-section { padding:12px; border-radius:8px; }
.contract-section > .partner-section-header { min-height:36px; padding-bottom:8px; border-bottom:1px solid var(--partner-line); margin-bottom:10px; }
.contract-section h3 { margin:12px 0 8px; padding-top:10px; font-size:14px; }
.contract-section > .partner-section-header + h3 { margin-top:0; padding-top:0; border:0; }
.contract-fields { gap:8px 14px; margin-bottom:10px; }
.contract-field .mud-input-control { margin-top:5px; }
.contract-hint { padding:8px 10px; margin-bottom:10px !important; }
.contract-help { margin:8px 0; }
.contract-help > summary { padding:7px 0; }
.contract-group-heading { display:flex; align-items:center; gap:6px; border-top:1px solid var(--partner-line); margin:10px 0 6px; padding-top:8px; }
.contract-group-heading > h3 { border:0; margin:0; padding:0; }
.mud-dialog .connected-channel-editor { padding:10px 12px; margin-top:10px; }
.connected-channel-editor > summary { cursor:pointer; color:var(--partner-ink); font-size:14px; }
.connected-channel-editor > summary > span { margin-left:10px; font-size:13px; color:var(--partner-muted); }
.channel-editor-body { padding-top:10px; }
.channel-editor-body > :is(.mud-input-control,.mud-select) + :is(.mud-input-control,.mud-select) { margin-top:10px; }
.channel-editor-body .relay-rule-card { padding:10px; margin-top:10px; }
@media (min-width:1201px) {
    .household-workspace .technology-grid > .household-cubee-panel { grid-row:span 2; }
    .household-workspace .technology-grid > .household-panels-panel { grid-column:2 / -1; }
}
@media (max-width:1200px) {
    .household-workspace .household-section-grid.technology-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .household-workspace .technology-grid > .household-cubee-panel { grid-row:span 2; }
    .partner-detail-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .partner-detail-grid > :last-child { grid-column:1 / -1; }
    .household-workspace .household-section-grid.people-grid { grid-template-columns:1fr; }
}
@media (max-width:800px) {
    .household-workspace .household-control-overview .control-summary-grid { grid-template-columns:1fr; }
    .household-control-overview .control-summary-grid > div { grid-template-columns:minmax(100px,1fr) minmax(0,1.2fr); border-bottom:1px solid var(--partner-line); }
    .household-control-overview .control-summary-grid > div > strong { text-align:right; }
    .client-record-columns { grid-template-columns:1fr; }
}
@media (max-width:700px) {
    .workspace-heading h1, .partner-detail-heading h1 { font-size:20px; }
    :is(.workspace-content,.mud-dialog) :is(.mud-button,.mud-button-small), .household-quick-views button { min-height:40px; }
    .household-workspace .household-section-grid.technology-grid, .partner-detail-grid { grid-template-columns:1fr; }
    .household-workspace .technology-grid > .household-cubee-panel { grid-row:auto; }
    .household-workspace .household-device-facts > section + section { margin-top:8px; }
    .partner-detail-heading .record-actions { margin-left:0; }
    .partner-detail-grid > :last-child { grid-column:auto; }
    .partner-section-header .record-actions { flex-shrink:1; }
    .client-household-table .mud-table-cell:last-child { width:auto; white-space:normal; }
    .operation-diagnostics .operation-metrics > div { padding:8px 0; border-left:0; border-bottom:1px solid var(--partner-line); }
    .mud-dialog .mud-dialog-content { padding:12px; }
    .client-detail-dialog .mud-dialog-content { padding:0; }
    .installation-detail-dialog .mud-dialog-content { padding:12px; }
    .partner-facts > div { grid-template-columns:minmax(90px,.8fr) minmax(0,1.2fr); }
    .portfolio-view-heading { gap:3px; }
    .portfolio-desktop-views { display:none; }
    .portfolio-mobile-view { display:block; flex:1; min-width:0; margin-bottom:10px; }
    .portfolio-view-heading .portfolio-mobile-view { margin-bottom:0; }
    .portfolio-view-heading { align-items:center; }
    .installation-grid.e-row-responsive .e-rowcell:not(.e-hide) { padding:8px 12px !important; }
    .installation-grid .installation-customer { padding:0; }
    .household-workspace .change-entry { display:block; }
    .household-workspace .change-entry > .change-values { margin:6px 0; }
}

@media (max-width:599.98px) {
    :is(.household-members-table,.plan-delivery-table,.client-household-table) .mud-table-cell { align-items:flex-start; gap:10px; }
    :is(.household-members-table,.plan-delivery-table,.client-household-table) .mud-table-cell::before { flex:0 0 28%; min-width:78px; overflow-wrap:normal; }
    .partner-table-value { flex:1; min-width:0; text-align:right; overflow-wrap:anywhere; }
    .partner-table-value > strong { display:block; }
    .partner-table-value .delivery-label { margin-left:auto; }
}

@media (max-width:600px) {
    .workspace-content .portfolio-grid.e-row-responsive .e-rowcell:not(.e-hide) { padding:8px 12px !important; }
    .workspace-content .portfolio-grid:not(.installation-grid):not(.compact-list-grid).e-row-responsive .e-rowcell:not(.e-hide):not([data-cell="Komunikace"]):not([data-cell="Stav komunikace"]):not([data-cell="Stav / další krok"]) {
        display:grid; grid-template-columns:minmax(90px,1fr) minmax(0,1.8fr); gap:10px; align-items:start; text-align:right;
    }
    .workspace-content .portfolio-grid.e-row-responsive .e-rowcell::before { text-align:left; padding:0 !important; }
    .workspace-content .portfolio-grid.e-row-responsive .e-rowcell > * { min-width:0; }
}

.household-panels-panel .mud-table-head .column-header { flex-direction:row; align-items:center; gap:4px; }
.household-panels-panel .mud-table-head .sortable-column-header { width:auto; flex:1; }
.household-panels-panel .mud-table-head .column-options { align-self:center; }
.household-panels-panel .mud-table-head .mud-sort-index.invisible { display:none; }

/* One readable household changelog, with technical evidence in the expanded row. */
.history-table .mud-table-root { table-layout:fixed; }
.history-table .history-date-column { width:165px; }
.history-table .history-author-column { width:230px; }
.history-table .history-field-column { width:200px; }
.history-table .history-action-column { width:64px; }
.household-workspace .history-table .mud-table-cell { padding:9px 10px; vertical-align:top; line-height:1.45; overflow-wrap:anywhere; }
.history-table .history-cell { display:block; min-width:0; }
.history-table .history-cell small { display:block; margin-top:3px; color:var(--partner-muted); font-size:12px; }
.history-table .history-cell time { white-space:nowrap; font-variant-numeric:tabular-nums; }
.history-table .history-value { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.history-table .history-new-value { color:var(--partner-ink); }
.history-table .mud-table-cell:last-child { text-align:center; }
.household-workspace .history-table .history-detail-row > .mud-table-cell { padding:0; text-align:left; background:var(--partner-surface-subtle); }
.history-row-detail { padding:12px; border-left:3px solid var(--partner-green); }
.history-detail-values { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:12px; }
.history-detail-values section { min-width:0; }
.history-detail-values h3 { font-size:13px; color:var(--partner-muted); margin:0 0 4px; }
.history-detail-values p { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.history-detail-actions { display:flex; flex-wrap:wrap; align-items:flex-start; gap:12px; }
.history-technical { flex:1; min-width:220px; }
.history-technical summary { cursor:pointer; padding:6px 0; font-size:13px; color:var(--partner-primary); }
.history-technical dl { display:grid; grid-template-columns:140px minmax(0,1fr); gap:6px 12px; margin:8px 0 0; font-size:13px; }
.history-technical dt { font-weight:600; }
.history-technical dd { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.history-page-size { width:150px; }
.partner-history .change-pagination { margin-top:10px; }
@media (min-width:600px) { .history-table .mud-table-root { min-width:900px; } }
@media (max-width:599.98px) {
    .history-table colgroup { display:none; }
    .history-table .mud-table-cell { align-items:flex-start; gap:12px; }
    .history-table .mud-table-cell::before { flex:0 0 28%; min-width:84px; text-align:left; }
    .history-table .history-cell { flex:1; text-align:right; }
    .history-table .history-detail-row > .mud-table-cell { display:block !important; }
    .history-table .history-detail-row > .mud-table-cell::before { display:none; }
    .history-detail-values { grid-template-columns:1fr; }
    .history-technical { min-width:0; flex-basis:100%; }
    .history-technical dl { grid-template-columns:1fr; }
    .history-table .history-detail-row { margin-top:-6px; }
}
/* Installation list: a short summary row and optional details across its full width. */
.installation-page .installation-work-toolbar { padding:8px 12px; }
.installation-work-toolbar .portfolio-view-heading { margin-bottom:8px; }
.installation-list-controls { display:flex; align-items:flex-start; flex-wrap:wrap; gap:8px; }
.installation-list-controls .docs-search-bar { flex:1 1 390px; width:auto; max-width:none; margin:0; }
.installation-list-controls > .mud-button { flex-shrink:0; min-height:40px; }
.installation-list-controls .installation-extra-filters { flex:0 0 auto; max-width:100%; min-width:0; }
.installation-list-controls .installation-extra-filters[open] { flex-basis:auto; }
.installation-list-controls .installation-extra-filters summary { padding:9px 6px; min-height:40px; }
.installation-filter-options { padding:4px 0; }
.installation-work-toolbar .active-portfolio-filters { margin:8px 0 0; }
.workspace-content .installation-grid .e-content { max-height:none; }
.workspace-content .installation-grid :is(.e-rowcell,.e-headercell) { padding:6px 10px; }
.workspace-content .installation-grid .e-rowcell { vertical-align:top; }
.installation-summary { display:flex; flex-direction:column; align-items:flex-start; gap:3px; min-width:0; line-height:1.35; white-space:normal; overflow-wrap:anywhere; }
.installation-summary > span, .installation-technology-line { font-size:14px; color:var(--partner-muted); }
.installation-summary strong { font-size:14px; color:var(--partner-ink); line-height:1.45; }
.installation-identity { display:flex; align-items:baseline; flex-wrap:wrap; column-gap:8px; }
.installation-summary small { color:var(--partner-muted); font-size:12px; }
.installation-technology-line { display:flex; flex-wrap:wrap; gap:0 6px; }
.installation-technology-line > span + span::before { content:'·'; margin-right:6px; }
.installation-summary .installation-age { font-size:13px; color:var(--partner-muted); }
.installation-summary .installation-status-badge { padding:2px 7px; font-size:13px; }
.installation-price-action { flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:4px 8px; }
.installation-price-action > strong { white-space:nowrap; }
.installation-price-action .mud-button { font-size:13px; min-height:32px; padding:4px 8px; }
.workspace-content .installation-grid .e-detailcell { padding:0 10px 10px; background:#fff; }
.installation-detail-band { display:grid; grid-template-columns:1fr 1fr 1fr; gap:6px 20px; padding:8px 10px; background:var(--partner-surface-subtle); border-radius:5px; white-space:normal; line-height:1.4; }
.installation-detail-band dl { margin:0; min-width:0; }
.installation-detail-band dl > div { display:grid; grid-template-columns:80px minmax(0,1fr); gap:8px; padding:1px 0; }
.installation-detail-band :is(dt,dd) { margin:0; font-size:13px; text-align:left; overflow-wrap:anywhere; }
.installation-detail-band dt { color:var(--partner-muted); font-weight:500; }
.installation-detail-band dd { display:flex; flex-direction:column; align-items:flex-start; color:var(--partner-ink); }
.installation-detail-band a { color:var(--partner-primary); text-decoration:underline; text-underline-offset:2px; }
.installation-detail-band .installation-contact-inline { flex-direction:row; flex-wrap:wrap; column-gap:12px; }
.installation-detail-band .installation-distance { white-space:nowrap; }
.installation-detail-note { grid-column:1 / -1; padding-top:4px; border-top:1px solid var(--partner-line); }
.installation-detail-note dd { white-space:pre-wrap; }
.installation-detail-band .mud-progress-linear { margin-top:4px; width:100%; max-width:180px; }
@media (max-width:1100px) and (min-width:601px) {
    .installation-detail-band { grid-template-columns:1fr 1fr; }
    .installation-detail-band > dl:nth-child(3) { grid-column:1 / -1; }
}
@media (max-width:700px) {
    .installation-list-controls .docs-search-bar { flex-basis:100%; }
}
@media (max-width:600px) {
    .workspace-content .installation-grid.e-row-responsive .e-rowcell:not(.e-hide) { display:block; text-align:left; padding:7px 12px !important; }
    .workspace-content .installation-grid.e-row-responsive .e-rowcell:not(.e-hide)::before { display:none; }
    .installation-grid.e-row-responsive .e-row { position:relative; }
    .installation-grid.e-row-responsive .e-row > :is(.e-detailrowcollapse,.e-detailrowexpand) { position:absolute; top:0; right:4px; width:40px; height:40px; padding:0; }
    .installation-grid.e-row-responsive .e-row > :is(.e-detailrowcollapse,.e-detailrowexpand) a { display:flex; align-items:center; justify-content:center; width:40px; height:40px; margin:0; padding:0; }
    .installation-grid.e-row-responsive .installation-identity { padding-right:32px; }
    .installation-grid.e-row-responsive [data-cell="Stav a stáří"] .installation-summary { flex-direction:row; align-items:center; flex-wrap:wrap; gap:4px 8px; }
    .installation-grid .installation-summary { gap:3px; }
    .installation-grid .installation-price-action .mud-button { min-height:40px; padding:7px 12px; }
    .installation-detail-band { grid-template-columns:1fr; gap:8px; }
    .installation-detail-band dl + dl { border-top:1px solid var(--partner-line); padding-top:6px; }
    .installation-detail-band :is(dt,dd) { font-size:14px; }
    .installation-detail-band dl > div { grid-template-columns:80px minmax(0,1fr); }
}

/* Compact installation dialog: clear summary, three groups of facts, optional editing. */
.installation-dialog-heading { display:flex; align-items:center; flex-wrap:wrap; gap:4px 16px; }
.installation-dialog-heading > .mud-typography { flex:1 1 350px; min-width:0; overflow-wrap:anywhere; }
.installation-dialog-customer { font-weight:500; }
.installation-heading-status, .installation-heading-age { display:flex; align-items:center; gap:3px; }
.installation-heading-status .installation-status { padding:0; }
.installation-heading-status .installation-status-badge { padding:3px 7px; font-size:13px; }
.installation-heading-age { color:var(--partner-muted); font-size:13px; }
.installation-detail-dialog .installation-fact-columns { display:grid; grid-template-columns:1.05fr 1.05fr 1fr; gap:10px; align-items:start; }
.installation-fact-columns > .partner-panel { padding:10px 12px; }
.installation-detail-dialog .installation-fact-columns h2 { font-size:15px; min-height:0; margin:0 0 5px; padding-bottom:7px; border-bottom:1px solid var(--partner-line); }
.installation-detail-dialog .installation-fact-columns .partner-facts > div { grid-template-columns:minmax(90px,.85fr) minmax(0,1.5fr); gap:8px; padding:6px 0; align-items:baseline; }
.installation-detail-dialog .installation-fact-columns > :first-child .partner-facts > div { grid-template-columns:65px minmax(0,1fr); }
.installation-detail-dialog .installation-fact-columns :is(dt,dd) { font-size:14px; line-height:1.4; }
.installation-fact-columns .partner-fact-total { border-top:0; }
.installation-detail-dialog .installation-fact-columns .partner-fact-total dd { font-size:18px; white-space:nowrap; }
.installation-contact-link { display:inline-flex; justify-content:flex-end; align-items:baseline; gap:5px; color:var(--partner-primary); text-decoration:underline; text-underline-offset:3px; }
.installation-contact-link span { min-width:0; overflow-wrap:anywhere; }
.installation-contact-link .mud-icon-root { width:15px; height:15px; align-self:center; flex-shrink:0; }
.installation-contact-link:focus-visible { outline:2px solid var(--partner-primary); outline-offset:3px; border-radius:2px; }
.installation-detail-dialog .installation-steps-compact { grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; padding:4px 0 10px; border-bottom:1px solid var(--partner-line); gap:10px; }
.installation-steps-compact li, .installation-steps-compact li.current { padding:0; border:0; border-radius:0; background:transparent; gap:8px; font-size:14px; line-height:1.4; }
.installation-steps-compact li > span { width:24px; height:24px; font-size:12px; }
.installation-steps-compact li.current > div { font-weight:700; color:var(--partner-ink); }
.installation-steps-compact .mud-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.installation-detail-dialog .installation-note-panel { padding:10px 12px; }
.installation-note-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 12px; }
.installation-detail-dialog .installation-note-heading h2 { font-size:15px; margin:0; min-height:0; padding:0; border:0; }
.installation-note-text { margin:6px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; font-size:14px; }
.installation-note-panel .mud-input-control { margin-top:8px; }
.installation-detail-dialog .mud-dialog-actions { padding:10px 16px; }
.installation-detail-dialog .installation-action-fields { margin:0; }
@media (max-width:950px) and (min-width:701px) {
    .installation-detail-dialog .installation-fact-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .installation-fact-columns > :last-child { grid-column:1 / -1; }
    .installation-fact-columns > :last-child .partner-facts { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
    .installation-detail-dialog .installation-fact-columns > :last-child .partner-facts > div { display:flex; flex-direction:column; align-items:flex-start; gap:4px; border-bottom:0; }
    .installation-fact-columns > :last-child dd { text-align:left; }
}
@media (max-width:700px) {
    .installation-dialog-heading { gap:4px 10px; }
    .installation-dialog-heading > .mud-typography { flex-basis:100%; padding-right:0 !important; font-size:18px !important; }
    .installation-detail-dialog .installation-fact-columns { grid-template-columns:1fr; }
    .installation-detail-dialog .installation-steps-compact { gap:6px; padding-bottom:8px; }
    .installation-steps-compact li { flex-direction:column; text-align:center; align-items:center; gap:5px; font-size:13px; }
    .installation-steps-compact li > div { display:block; }
    .installation-heading-age { flex-wrap:wrap; }
    .installation-detail-dialog .mud-dialog-actions { padding:8px 12px; gap:8px; }
    .installation-detail-dialog .installation-dialog-actions > * { flex:0 1 auto; }
    .installation-detail-dialog .installation-dialog-actions > .installation-action-fields { margin-left:auto; }
    .installation-detail-dialog .dialog-secondary-actions { gap:6px; }
    .installation-detail-dialog .dialog-secondary-actions:has(> :nth-child(3)) { flex-basis:100%; }
}

/* Portfolio lists and the homepage share row density, identities and detail formatting. */
.compact-worklist { min-width:0; }
.compact-worklist > .page-filters { display:flex; flex-wrap:wrap; align-items:center; gap:6px 18px; margin:0 0 10px; padding:8px 12px; width:auto; }
.compact-worklist > .page-filters .filter-label { margin:0; padding:0; border:0; }
.compact-worklist > .page-filters .mud-input-control { margin:0; }
.compact-list-toolbar { padding:6px 12px; gap:8px; }
.workspace-content .compact-list-toolbar .docs-search-bar { flex:1 1 290px; width:auto; max-width:470px; }
.compact-list-toolbar .mud-spacer { flex:1 1 0; }
.workspace-content .compact-list-grid .e-content { max-height:none; }
.workspace-content .compact-list-grid :is(.e-rowcell,.e-headercell) { padding:6px 10px; font-size:14px; }
.workspace-content :is(.compact-list-grid,.installation-grid) :is(.e-headercell,.e-detailheadercell) { height:38px; }
.workspace-content .compact-list-grid .e-rowcell { vertical-align:middle; white-space:normal; overflow-wrap:anywhere; line-height:1.4; }
.compact-list-grid .e-headercelldiv { min-height:20px; height:auto; overflow:visible; white-space:normal; }
.workspace-content .compact-list-grid :is(.e-detailrowcollapse,.e-detailrowexpand) { vertical-align:middle; padding:0; }
.compact-list-grid :is(.e-detailrowcollapse,.e-detailrowexpand) a { display:flex; align-items:center; justify-content:center; min-width:28px; min-height:36px; }
.compact-list-identity { display:flex; flex-direction:column; gap:2px; white-space:normal; overflow-wrap:anywhere; }
.compact-list-link { color:var(--partner-ink); font-size:14px; font-weight:650; line-height:1.4; text-decoration:none; }
.compact-list-link:hover { color:var(--partner-primary); text-decoration:underline; text-underline-offset:3px; }
.compact-list-identity > span { color:var(--partner-muted); font-size:13px; line-height:1.4; }
.compact-list-contact { display:flex; flex-direction:column; align-items:flex-start; gap:3px; min-width:0; font-size:13px; line-height:1.4; }
.compact-list-contact a { color:var(--partner-primary); overflow-wrap:anywhere; text-decoration:underline; text-decoration-color:#a3aaa6; text-underline-offset:3px; }
.compact-list-contact a:hover { color:var(--partner-ink); text-decoration-color:currentColor; }
.compact-list-link:focus-visible, .compact-list-contact a:focus-visible { outline:2px solid var(--partner-primary); outline-offset:3px; border-radius:2px; }
.compact-list-muted { color:var(--partner-muted); font-size:13px; }
.device-list-details { grid-template-columns:1.3fr 1fr 1fr; }
.household-list-owner { font-size:13px; color:var(--partner-ink); }
.device-communication-compact { padding:0; gap:3px; }
.device-communication-compact .device-communication-badge { gap:5px; padding:3px 6px; font-size:12px; border-radius:5px; }
.device-communication-compact .device-communication-badge > span { font-size:14px; }
.device-communication-compact .device-communication-description { display:block; font-size:12px; line-height:1.4; }
.workspace-content .compact-list-grid .e-detailcell { padding:0 10px 10px; }
.compact-list-details { display:grid; grid-template-columns:1fr 1fr 1.25fr; gap:8px 20px; padding:10px 12px; background:var(--partner-surface-subtle); border:1px solid var(--partner-line); border-radius:6px; }
.compact-list-details dl { display:grid; align-content:start; gap:5px; margin:0; min-width:0; }
.compact-list-details dl > div { display:grid; grid-template-columns:110px minmax(0,1fr); align-items:baseline; gap:8px; }
.compact-list-details :is(dt,dd) { font-size:13px; line-height:1.4; margin:0; overflow-wrap:anywhere; }
.compact-list-details dt { color:var(--partner-muted); font-weight:400; }
.compact-list-details dd { color:var(--partner-ink); }
.compact-list-details a { color:var(--partner-primary); text-decoration:underline; text-underline-offset:3px; }
.homepage-household-table { margin-top:12px; border:1px solid var(--partner-line); border-radius:7px; overflow:hidden; }
.homepage-household-table .mud-table-cell { vertical-align:middle; font-size:14px; padding:8px 12px; overflow-wrap:anywhere; }
.homepage-household-table .mud-table-head .mud-table-cell { background:#fff; color:var(--partner-muted); font-size:13px; font-weight:650; }
.homepage-household-table .mud-table-head .mud-table-cell:first-child { width:40%; }
.homepage-household-table .mud-table-head .mud-table-cell:nth-child(2) { width:27%; }
@media (max-width:1100px) and (min-width:601px) {
    .workspace-content .compact-list-grid .e-headercell { padding-left:7px; padding-right:7px; font-size:13px; }
    .compact-list-details { grid-template-columns:1fr 1fr; }
    .compact-list-details > dl:last-child { grid-column:1 / -1; grid-template-columns:1fr 1fr; gap:20px; }
}
@media (max-width:600px) {
    .compact-list-toolbar { gap:6px; padding:10px; }
    .workspace-content .compact-list-toolbar .docs-search-bar { flex-basis:100%; max-width:none; order:0; }
    .compact-list-toolbar .mud-spacer { display:none; }
    .compact-list-toolbar > .mud-button, .compact-list-toolbar > .mud-menu { flex:1 1 auto; }
    .workspace-content .compact-list-grid.e-row-responsive .e-rowcell:not(.e-hide) { display:block; min-height:0; padding:6px 12px !important; text-align:left; }
    .workspace-content .compact-list-grid.e-row-responsive .e-rowcell::before { display:none; }
    .compact-list-grid.e-row-responsive .e-row { position:relative; }
    .workspace-content .compact-list-grid.e-row-responsive .e-row > :is(.e-detailrowcollapse,.e-detailrowexpand) { position:absolute; z-index:1; top:0; right:4px; width:40px; height:40px; }
    .compact-list-grid.e-row-responsive .compact-list-identity { padding-right:28px; }
    .client-list-grid.e-row-responsive .compact-list-identity { padding-right:0; }
    .compact-list-grid.e-row-responsive .compact-list-contact a { display:inline-flex; align-items:center; min-height:28px; }
    .workspace-content .client-list-grid.e-row-responsive .e-rowcell[data-cell="Domácnosti"] { display:flex !important; gap:6px; align-items:baseline; }
    .workspace-content .client-list-grid.e-row-responsive .e-rowcell[data-cell="Domácnosti"]::before { display:inline; }
    .workspace-content :is(.client-list-grid,.device-list-grid).e-row-responsive > .e-toolbar { display:none; }
    .device-list-grid.e-row-responsive [data-cell="Klient"] .compact-list-contact { flex-direction:row; gap:6px; align-items:center; }
    .device-list-grid.e-row-responsive [data-cell="Klient"] .compact-list-contact::before { content:"Klient: "; color:var(--partner-muted); }
    .compact-list-grid.e-row-responsive [data-cell="Vlastník"] .household-list-owner::before { content:"Vlastník: "; color:var(--partner-muted); }
    .workspace-content .compact-list-grid.e-row-responsive .e-rowcell:is([data-cell="FVE"],[data-cell="Baterie"]) { display:inline-flex !important; align-items:baseline; width:50%; gap:6px; }
    .workspace-content .compact-list-grid.e-row-responsive .e-rowcell:is([data-cell="FVE"],[data-cell="Baterie"])::before { display:inline; }
    .compact-list-grid.e-row-responsive .device-communication-compact { flex-direction:row; align-items:center; flex-wrap:wrap; gap:5px 8px; }
    .compact-list-grid.e-row-responsive .household-action-list { padding:2px 0; }
    .household-action-list .household-action { min-height:34px; }
    .household-more-warnings > summary { min-height:32px; }
    .compact-list-details { grid-template-columns:1fr; gap:8px; padding:10px; }
    .compact-list-details dl + dl { padding-top:8px; border-top:1px solid var(--partner-line); }
    .homepage-household-table .mud-table-cell { display:block; text-align:left !important; min-height:0; padding:6px 12px; }
    .homepage-household-table .mud-table-cell::before { display:none; }
    .homepage-household-table .mud-table-row { padding:6px 0; }
    .homepage-household-table .device-communication-compact { flex-direction:row; align-items:center; flex-wrap:wrap; gap:5px 8px; }
}
