/* Object records reuse the portal palette and primary/secondary button components. */
#view-kunden { --object-border: var(--portal-border, rgba(119,218,166,.2)); --object-muted: var(--portal-muted,#9ab7a7); --object-mint: var(--portal-mint,#73e6ad); }
#view-kunden.is-active { display:flex; flex-direction:column; gap:0; }
#view-kunden [hidden] { display:none !important; }
#view-kunden > .workspace-head { order:0; display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:22px; }
#view-kunden > .workspace-head p { margin:8px 0 0; }
#view-kunden > .address-tabs { order:1; display:flex; flex-wrap:wrap; gap:12px; background:none; border:0; border-bottom:1px solid var(--object-border); border-radius:0; padding:0; margin:0 0 18px; }
#view-kunden > .address-tabs .mode-tab { flex:0 1 auto; min-height:44px; padding:10px 18px; background:transparent; border:0; border-bottom:2px solid transparent; border-radius:0; color:var(--portal-text,#f4fff8); }
#view-kunden > .address-tabs .mode-tab.is-active { border-bottom-color:var(--object-mint); color:var(--portal-text,#f4fff8); }
#view-kunden > .address-toolbar { order:2; display:flex; gap:14px; padding:0; margin:0 0 18px; border:0; background:none; box-shadow:none; align-items:center; }
#view-kunden .address-toolbar > label:first-child { flex:1 1 40%; }
#view-kunden .address-toolbar > label[data-object-filter] { flex:0 1 24%; min-width:150px; }
#view-kunden .address-toolbar select, #view-kunden .address-toolbar input { width:100%; min-height:44px; padding:10px 14px; font:inherit; font-size:14px; color:var(--portal-text,#f4fff8); background:var(--portal-surface,#0a281c); border:1px solid var(--object-border); border-radius:10px; }
#view-kunden > .address-panel { order:3; min-width:0; }
#view-kunden.is-object-detail > .workspace-head, #view-kunden.is-object-detail > .address-tabs, #view-kunden.is-object-detail > .address-toolbar { display:none; }
#view-kunden :is(.primary-button,.secondary-button) { display:inline-flex; align-items:center; justify-content:center; gap:8px; text-decoration:none; }
#view-kunden button, #view-kunden input, #view-kunden select, #view-kunden textarea { font-family:inherit; }
#view-kunden button:focus-visible, #view-kunden a:focus-visible, #view-kunden input:focus-visible, #view-kunden select:focus-visible, #view-kunden textarea:focus-visible { outline:2px solid var(--object-mint); outline-offset:3px; }
#view-kunden svg { width:18px; height:18px; flex:0 0 18px; }
#view-kunden .object-table-wrap { border:1px solid var(--object-border); border-radius:10px 10px 0 0; overflow:hidden; }
#view-kunden .object-table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:14px; background:var(--portal-surface,#0a281c); }
#view-kunden .object-table th { text-align:left; font-weight:600; padding:14px 16px; color:var(--portal-text,#f4fff8); border-bottom:1px solid var(--object-border); }
#view-kunden .object-table th:nth-child(1) { width:35%; }
#view-kunden .object-table th:nth-child(2) { width:24%; }
#view-kunden .object-table th:nth-child(3) { width:24%; }
#view-kunden .object-table th:nth-child(4) { width:12%; }
#view-kunden .object-table th:nth-child(5) { width:5%; }
#view-kunden .object-table td { padding:14px 16px; border-bottom:1px solid var(--object-border); vertical-align:middle; overflow-wrap:anywhere; }
#view-kunden .object-table tr:last-child td { border-bottom:0; }
#view-kunden .object-table tbody tr[data-object-row] { cursor:pointer; }
#view-kunden .object-table tbody tr[data-object-row]:is(:hover,:focus-within,.is-selected) { background:rgba(115,230,173,.065); outline:1px solid var(--object-mint); outline-offset:-1px; }
#view-kunden .object-row-open { display:block; width:100%; padding:0; text-align:left; background:none; border:0; color:inherit; cursor:pointer; font-size:14px; line-height:1.45; }
#view-kunden .object-row-open strong { display:block; font-weight:600; }
#view-kunden .object-row-open span { display:block; color:var(--object-muted); margin-top:4px; font-size:13px; }
#view-kunden .object-status { display:inline-flex; padding:3px 8px; border-radius:4px; background:var(--object-mint); color:#03140d; font-size:12px; line-height:1.3; font-weight:600; white-space:nowrap; }
#view-kunden .object-status.is-muted { background:rgba(154,183,167,.15); color:var(--object-muted); }
#view-kunden .object-list-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 16px; border:1px solid var(--object-border); border-top:0; border-radius:0 0 10px 10px; background:var(--portal-surface,#0a281c); }
#view-kunden .object-list-footer p { font-size:13px; color:var(--object-muted); margin:0; }
#view-kunden #objectPagination { display:flex; align-items:center; gap:10px; font-size:13px; }
#view-kunden #objectPagination button { min-width:40px; padding:8px; }
#view-kunden .object-breadcrumb { margin:0 0 18px; font-size:13px; color:var(--object-mint); }
#view-kunden .object-detail-head { display:flex; align-items:center; justify-content:space-between; gap:22px; margin:20px 0 18px; }
#view-kunden .object-detail-head > div:first-child { min-width:0; }
#view-kunden .object-title-line { display:flex; align-items:center; gap:14px; }
#view-kunden #objectDetailTitle { margin:0; font-size:clamp(23px,2.2vw,30px); font-weight:700; line-height:1.2; overflow-wrap:anywhere; }
#view-kunden .object-detail-head p { margin:8px 0 0; color:var(--object-muted); font-size:15px; }
#view-kunden .object-detail-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:10px; flex:0 0 auto; max-width:52%; }
#view-kunden .object-detail-tabs { display:flex; gap:12px; flex-wrap:wrap; border-bottom:1px solid var(--object-border); margin-bottom:20px; }
#view-kunden .object-detail-tabs button { background:none; border:0; border-bottom:2px solid transparent; border-radius:0; color:var(--portal-text,#f4fff8); min-height:44px; padding:10px 14px; font-size:14px; cursor:pointer; }
#view-kunden .object-detail-tabs button.is-active { border-bottom-color:var(--object-mint); }
#view-kunden .object-detail-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px; }
#view-kunden .object-detail-stack { display:grid; gap:18px; }
#view-kunden .object-card { min-width:0; padding:20px; background:var(--portal-surface,#0a281c); border:1px solid var(--object-border); border-radius:10px; }
#view-kunden .object-card h3 { margin:0 0 16px; font-size:19px; font-weight:600; color:var(--portal-text,#f4fff8); }
#view-kunden .object-card dl { margin:0; }
#view-kunden .object-card dl > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; padding:9px 0; border-bottom:1px solid var(--object-border); font-size:14px; line-height:1.5; }
#view-kunden .object-card dl > div:last-child { border:0; }
#view-kunden .object-card dt { color:var(--object-muted); }
#view-kunden .object-card dd { margin:0; overflow-wrap:anywhere; }
#view-kunden .object-card a { color:var(--object-mint); text-underline-offset:3px; }
#view-kunden .object-notes { white-space:pre-wrap; overflow-wrap:anywhere; font-size:14px; line-height:1.8; margin:0; }
#view-kunden .object-help { color:var(--object-muted); font-size:13px; line-height:1.5; margin:10px 0 0; }
#view-kunden .object-empty { color:var(--object-muted); font-size:14px; line-height:1.6; margin:0; padding:12px 0; }
#view-kunden .object-record-list { list-style:none; padding:0; margin:0; }
#view-kunden .object-record-list > li { display:flex; align-items:center; flex-wrap:wrap; gap:10px 16px; padding:13px 0; border-bottom:1px solid var(--object-border); font-size:13px; }
#view-kunden .object-record-list > li:first-child { padding-top:0; }
#view-kunden .object-record-list > li:last-child { border:0; }
#view-kunden .object-record-list > li > div { flex:1; min-width:130px; overflow-wrap:anywhere; }
#view-kunden .object-record-list strong { display:block; font-weight:600; font-size:14px; }
#view-kunden .object-record-list small { display:block; color:var(--object-muted); font-size:12px; margin-top:4px; }
#view-kunden .object-record-list > li > span { color:var(--object-muted); }
#view-kunden .object-record-list .object-inline-action { min-height:36px; padding:7px 10px; font-size:12px; }
#view-kunden .object-text-button { display:inline-flex; align-items:center; gap:6px; border:0; padding:8px 0; background:none; color:var(--object-mint); font:inherit; font-size:14px; cursor:pointer; }
#view-kunden .object-section-head { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:14px; }
#view-kunden .object-section-head h3 { margin:0; }
#view-kunden .object-history { list-style:none; padding:0; margin:0; }
#view-kunden .object-history li { display:flex; gap:20px; padding:10px 0; font-size:14px; }
#view-kunden .object-history time { flex:0 0 90px; color:var(--object-muted); }
#view-kunden .object-warning { margin:0 0 18px; padding:12px 16px; border:1px solid var(--object-border); border-radius:8px; font-size:14px; color:var(--object-muted); }
#view-kunden .object-equipment-detail { margin-top:20px; border-top:1px solid var(--object-border); padding-top:20px; }
#view-kunden .object-editor { max-width:1000px; margin:0 auto; width:100%; padding:24px; }
#view-kunden .object-editor-head { display:flex; align-items:center; gap:20px; margin-bottom:24px; }
#view-kunden .object-editor-head h2 { margin:0; }
#view-kunden .object-editor fieldset { border:0; padding:0; margin:0 0 24px; min-width:0; }
#view-kunden .object-editor legend { font-size:18px; font-weight:600; margin-bottom:16px; padding:0; }
#view-kunden .object-form-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; }
#view-kunden .object-field-wide { grid-column:1/-1; }
#view-kunden .object-editor label { display:grid; gap:8px; min-width:0; font-size:14px; color:var(--portal-text,#f4fff8); }
#view-kunden .object-editor :is(input,select,textarea) { width:100%; min-height:44px; font-size:14px; }
#view-kunden .object-editor textarea { resize:vertical; }
#view-kunden .object-customer-results { display:grid; max-height:280px; overflow:auto; border:1px solid var(--object-border); border-radius:8px; margin-top:8px; }
#view-kunden .object-customer-result { display:grid; gap:4px; border:0; border-bottom:1px solid var(--object-border); background:var(--portal-surface-2,#0d3324); padding:12px 14px; text-align:left; color:var(--portal-text,#f4fff8); font-size:14px; cursor:pointer; }
#view-kunden .object-customer-result small { color:var(--object-muted); }
#view-kunden .object-customer-result:hover { background:rgba(115,230,173,.1); }
@media (max-width:1100px) {
  #view-kunden .object-detail-head { flex-direction:column; align-items:stretch; }
  #view-kunden .object-detail-actions { max-width:none; justify-content:flex-start; }
  #view-kunden .object-card dl > div { grid-template-columns:1fr; gap:2px; }
  #view-kunden .object-record-list > li > span { flex-basis:100%; }
}
@media (max-width:720px) {
  #view-kunden > .workspace-head { flex-direction:column; align-items:stretch; gap:14px; }
  #view-kunden > .address-tabs { gap:0; }
  #view-kunden > .address-tabs .mode-tab { padding:10px 12px; font-size:13px; }
  #view-kunden > .address-toolbar { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  #view-kunden .address-toolbar > label:first-child { grid-column:1/-1; }
  #view-kunden .address-toolbar > label[data-object-filter] { min-width:0; }
  #view-kunden .address-toolbar :is(input,select) { font-size:16px; }
  #view-kunden .object-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  #view-kunden .object-table, #view-kunden .object-table tbody { display:block; }
  #view-kunden .object-table tr { display:grid; grid-template-columns:1fr 1fr; padding:14px; border-bottom:1px solid var(--object-border); gap:10px 14px; }
  #view-kunden .object-table td { display:block; padding:0; border:0; }
  #view-kunden .object-table td:first-child { grid-column:1/-1; }
  #view-kunden .object-table td[data-label]::before { content:attr(data-label); display:block; margin-bottom:4px; color:var(--object-muted); font-size:11px; }
  #view-kunden .object-table .object-chevron { display:none; }
  #view-kunden .object-list-footer { flex-wrap:wrap; }
  #view-kunden .object-detail-grid, #view-kunden .object-form-grid { grid-template-columns:1fr; }
  #view-kunden .object-detail-tabs { gap:0; }
  #view-kunden .object-detail-tabs button { text-align:left; font-size:13px; padding:10px; }
  #view-kunden .object-title-line { align-items:flex-start; flex-direction:column; gap:10px; }
  #view-kunden .object-card { padding:18px; }
  #view-kunden .object-section-head { flex-wrap:wrap; }
  #view-kunden .object-editor { padding:18px; }
  #view-kunden .object-editor-head { flex-wrap:wrap; }
  #view-kunden .object-editor :is(input,select,textarea) { font-size:16px; }
  #view-kunden .object-editor .composer-actions { display:grid; grid-template-columns:1fr; }
}

/* One list and record interaction for every address source. */
#view-kunden.is-contact-detail > :is(.workspace-head,.address-tabs,.address-toolbar,.address-panel) { display:none; }
#view-kunden > .address-contact-detail { order:3; min-width:0; }
#view-kunden #addressContactTitle { margin:0; font-size:clamp(23px,2.2vw,30px); font-weight:700; line-height:1.2; overflow-wrap:anywhere; }
#view-kunden > .address-panel:not([data-address-panel="objects"]) { padding:0; background:none; border:0; box-shadow:none; }
#view-kunden > .address-panel:not([data-address-panel="objects"]) > .panel-head { margin:0 0 16px; }
#view-kunden > .address-panel:not([data-address-panel="objects"]) > .panel-head h2 { font-size:19px; }
#view-kunden .address-contact-table th:nth-child(1) { width:32%; }
#view-kunden .address-contact-table th:nth-child(2) { width:27%; }
#view-kunden .address-contact-table th:nth-child(3) { width:19%; }
#view-kunden .address-contact-table th:nth-child(4) { width:17%; }
#view-kunden .address-contact-table th:nth-child(5) { width:5%; }
#view-kunden .address-contact-table small { display:block; color:var(--object-muted); margin-top:4px; font-size:13px; }
#view-kunden .address-contact-table { min-width:0; }
#view-kunden .object-table tbody tr:is([data-object-row],[data-contact-row]) { cursor:pointer; transition:background-color 160ms ease; }
#view-kunden .object-table tbody tr[data-contact-row]:is(:hover,:focus-within) { background:rgba(115,230,173,.065); outline:1px solid var(--object-mint); outline-offset:-1px; }
#view-kunden :is(#objectDetail,#addressContactDetail):not([hidden]) { animation:address-record-enter 180ms ease-out; }
@keyframes address-record-enter { from { opacity:.45; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) {
  #view-kunden .object-table tbody tr { transition:none !important; }
  #view-kunden :is(#objectDetail,#addressContactDetail) { animation:none !important; }
}
#view-kunden .object-list-footer .finance-status { padding:0; margin:0; min-height:0; font-size:13px; color:var(--object-muted); }
#view-kunden .object-list-footer .address-pagination { margin:0; }
#view-kunden > .address-panel:not([data-address-panel="objects"]) { gap:0; }
@media (max-width:720px) {
  #view-kunden .address-contact-table td:nth-child(2) { grid-column:1/-1; }
  #view-kunden #lexofficeContactsRefreshButton { grid-column:1/-1; min-height:44px; }
}
