/*!
 * KARL ImmoSuite – Modul Objekte (Liste als Baum, Detailseite, Formulare)
 * (c) 2026 ROSE IT Management UG (haftungsbeschränkt) – Digitale Lösungen
 */

/* ---------- Liste ---------- */
.k-obj-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.k-obj-treebar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--k-line);font-size:13.5px;background:#fafbfd}
.k-obj-table td{vertical-align:middle}
.k-obj-table td small{line-height:1.35}
.k-obj-name{min-width:260px}
.k-obj-name__in{display:flex;align-items:flex-start;gap:8px;padding-left:calc(var(--depth,0) * 24px)}
.k-obj-table td.k-obj-name{padding-left:12px}
.k-obj-name__text{min-width:0;flex:1}
.k-obj-name__text .k-pill{margin-left:6px}
.k-obj-toggle{flex-shrink:0;display:inline-grid;place-items:center;width:26px;height:26px;margin-top:-1px;border:1px solid var(--k-line);border-radius:7px;background:#fff;color:var(--k-ink);cursor:pointer;font:600 16px/1 var(--k-font);padding:0}
.k-obj-toggle span{display:block;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transition:transform .15s;transform:translateX(-1px) rotate(-45deg)}
.k-obj-toggle[aria-expanded="true"] span{transform:translateY(-1px) rotate(45deg)}
.k-obj-toggle:hover{border-color:var(--k-accent);color:var(--k-accent-text)}
.k-obj-toggle--none{border-color:transparent;background:none;cursor:default}
.k-obj-row--liegenschaft .k-obj-name b{font-size:15px}
.k-obj-row--gebaeude{background:#fcfcfe}
.k-obj-row--stellplatz .k-obj-name b,.k-obj-row--keller .k-obj-name b{font-weight:500}
.k-obj-row.is-context td{color:var(--k-muted)}
.k-obj-row.is-context .k-rowlink b{color:var(--k-text);font-weight:500}
.k-obj-row.is-match td:first-child{box-shadow:inset 3px 0 0 var(--k-accent)}
.k-obj-people span{display:block;font-size:13.5px;line-height:1.4}
.k-obj-people i{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:4px;background:var(--k-line-2);color:var(--k-muted);font:600 10.5px/1 var(--k-font);font-style:normal;margin-right:2px;vertical-align:1px}

/* ---------- Detail ---------- */
.k-obj-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:-10px 0 14px;font-size:13.5px;color:var(--k-muted)}
.k-obj-crumbs b{color:var(--k-ink);font-weight:500}
.k-obj-hero__tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.k-obj-hero__tags .k-pill{margin-left:0}
.k-obj-kind{background:var(--k-primary);color:var(--k-on-primary)}
.k-obj-hero__addr{margin:10px 0 0;font-size:16px;color:var(--k-ink)}
.k-obj-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}
.k-obj-stats>div{border:1px solid var(--k-line);border-radius:12px;padding:12px 14px;min-width:0}
.k-obj-stats span{display:block;font-size:12.5px;color:var(--k-muted)}
.k-obj-stats b{display:block;font:700 22px/1.2 var(--k-head);color:var(--k-ink);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.k-obj-stats small{display:block;font-size:12px;color:var(--k-muted)}
.k-obj-stats .is-bad{border-color:#f3c6b3;background:var(--k-hot-bg)}
.k-obj-stats .is-bad b{color:var(--k-hot)}
.k-obj-notes{border-top:1px solid var(--k-line-2);padding-top:12px;margin-top:6px}
.k-obj-notes p{margin:4px 0 0}
.k-obj-pad{padding:18px 24px 0}
.k-obj-children .k-empty{text-align:left;padding:4px 24px 22px}
.k-obj-addbtns{display:flex;gap:8px;flex-wrap:wrap}
.k-obj-sub{font:600 14px var(--k-head);color:var(--k-ink);margin:16px 0 8px}
.k-obj-nopeople{margin:0}
.k-obj-plist{list-style:none;margin:0;padding:0}
.k-obj-plist li{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-top:1px solid var(--k-line-2)}
.k-obj-plist li:first-child{border-top:0}
.k-obj-plist__main{flex:1;min-width:0}
.k-obj-plist__main b{color:var(--k-ink)}
.k-obj-plist__main small{display:block;color:var(--k-muted);font-size:13px}
.k-obj-plist__contact a{margin-right:12px;white-space:nowrap}
.k-obj-plist.is-former .k-obj-plist__main b{font-weight:500;color:var(--k-text)}
.k-obj-plist.is-former .k-obj-role{opacity:.65}
.k-obj-role{--c:var(--k-muted);flex-shrink:0;width:118px;font-size:12px;font-weight:600;padding:3px 9px;border-radius:99px;background:color-mix(in srgb,var(--c) 12%,#fff);color:var(--c);text-align:center;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.k-obj-role--eigentuemer{--c:#0f5f9a}
.k-obj-role--mieter{--c:#1f8a5b}
.k-obj-role--beirat{--c:#7c3aed}
.k-obj-role--hausmeister{--c:#a86a12}
.k-obj-role--verwalter{--c:#1a2148}
.k-obj-pmenu .k-menu__panel{width:300px}
.k-obj-pmenu .k-menu__panel form+form{margin-top:12px;padding-top:10px;border-top:1px solid var(--k-line-2)}
.k-obj-box{background:#f8fafd;border:1px solid var(--k-line);border-radius:12px;padding:4px 16px 16px;margin:0 0 16px}
.k-obj-box .k-row{margin-top:4px}
.k-obj-fin .k-facts div{grid-template-columns:150px minmax(0,1fr)}

/* ---------- Kontaktauswahl ---------- */
.k-obj-picker{position:relative}
.k-obj-picker__list{position:absolute;left:0;right:0;z-index:30;list-style:none;margin:4px 0 0;padding:6px;background:#fff;border:1px solid var(--k-line);border-radius:10px;box-shadow:0 14px 40px rgba(20,28,56,.16);max-height:300px;overflow:auto}
.k-obj-picker__list li{padding:8px 10px;border-radius:8px;cursor:pointer}
.k-obj-picker__list li small{display:block;color:var(--k-muted);font-size:12.5px}
.k-obj-picker__list li:hover,.k-obj-picker__list li.is-active{background:var(--k-accent-soft)}
.k-obj-picker__list li.is-empty{cursor:default;color:var(--k-muted);background:none}
.k-obj-picker__chosen{display:flex;align-items:center;gap:12px;padding:9px 12px;border:1px solid var(--k-accent);background:var(--k-accent-soft);border-radius:var(--k-r-sm);color:var(--k-ink);min-height:42px}
.k-obj-picker__chosen b{flex:1;font-weight:500}
.k-obj-newc{margin-top:8px}
.k-obj-newc summary{cursor:pointer;color:var(--k-accent-text);font-size:13.5px;font-weight:500}
.k-obj-newc .k-grid{margin-top:10px}

/* ---------- Formular ---------- */
.k-obj-formpath{margin:-6px 0 14px}
.k-obj-addr{grid-template-columns:2fr 110px 1.3fr}
.k-obj-multi{border-top:1px solid var(--k-line-2);padding-top:14px;margin-top:2px}
.k-obj-multi .k-grid{margin-top:12px}
.k-obj-multi [data-obj-multipreview]{grid-column:1/-1;margin:-6px 0 0;font-size:13.5px}
.k-obj-form [hidden]{display:none!important}

/* ---------- Handy ---------- */
@media (max-width:1024px){
	.k-obj-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
	.k-obj-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
	.k-obj-crumbs{margin-top:-6px}
	.k-obj-addr{grid-template-columns:1fr}
	.k-obj-table thead{display:none}
	.k-obj-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;padding:10px 12px 10px calc(12px + var(--depth,0) * 14px);border-bottom:1px solid var(--k-line-2)}
	.k-obj-table tr[hidden]{display:none}
	.k-obj-table td{border:0;padding:2px 0}
	.k-obj-table td.k-obj-name{grid-column:1/-1;grid-row:1;padding-left:0;min-width:0}
	.k-obj-name__in{padding-left:0}
	.k-obj-table td:nth-child(2){grid-column:1;grid-row:2;font-size:13px}
	.k-obj-table td:nth-child(2) small{display:inline;margin-left:4px}
	.k-obj-table td:nth-child(3){grid-column:2;grid-row:2;text-align:right;font-size:13px}
	.k-obj-table td:nth-child(4){grid-column:1;grid-row:3}
	.k-obj-table td:nth-child(5){display:none}
	.k-obj-table td:nth-child(6){grid-column:2;grid-row:3;text-align:right;align-self:end}
	.k-obj-table--sub td:nth-child(4){grid-column:1;grid-row:3}
	.k-obj-table--sub td:nth-child(5){display:block;grid-column:2;grid-row:3;text-align:right;align-self:end}
	.k-obj-table--sub .k-obj-name,.k-obj-table--sub td:first-child{grid-column:1/-1;grid-row:1}
	.k-obj-table--sub td:nth-child(2){grid-column:1;grid-row:2}
	.k-obj-table--sub td:nth-child(3){grid-column:2;grid-row:2}
	.k-obj-people:has(.k-muted:only-child){display:none}
	.k-obj-pad{padding:16px 16px 0}
	.k-obj-children .k-empty{padding:4px 16px 18px}
	.k-obj-plist li{flex-wrap:wrap;gap:6px 10px}
	.k-obj-role{width:auto}
	.k-obj-plist__main{flex-basis:100%;order:3}
	.k-obj-pmenu{margin-left:auto}
	.k-obj-box{padding:4px 12px 12px}
}
.k-obj-form [data-obj-copyaddr]{white-space:normal;text-align:left;line-height:1.3}
@media (max-width:860px){
	.k-card--flush:has(.k-obj-table){padding:0}
	.k-obj-treebar{padding:10px 12px}
}
