/*!
 * KARL ImmoSuite – Verlauf, Aufgaben, Dokumente, Suche, Übersicht (Präfix kw-)
 * (c) 2026 ROSE IT Management UG (haftungsbeschränkt) – Digitale Lösungen
 */
.kw-ico{flex-shrink:0;vertical-align:-3px}
kbd{font:600 11px/1 ui-monospace,Menlo,Consolas,monospace;padding:2px 6px;border:1px solid var(--k-line);border-bottom-width:2px;border-radius:5px;background:#fff;color:var(--k-ink)}
.kw-hint{font-size:13.5px;margin:-6px 0 14px}
.kw-formbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.kw-chipsep{width:1px;align-self:stretch;background:var(--k-line);margin:2px 4px}

/* ---------- Verlauf ---------- */
.kw-tl .k-card__head{align-items:flex-start}
.kw-fchips{display:flex;flex-wrap:wrap;gap:6px}
.kw-fchip{font:500 12.5px var(--k-font);padding:5px 10px;border-radius:99px;border:1px solid var(--k-line);background:#fff;color:var(--k-text);cursor:pointer}
.kw-fchip span{color:var(--k-muted);font-weight:400}
.kw-fchip:hover{border-color:var(--k-accent)}
.kw-fchip.is-active{background:var(--k-primary);border-color:var(--k-primary);color:var(--k-on-primary)}
.kw-fchip.is-active span{color:inherit;opacity:.75}
.kw-tl__form{margin:0 0 18px;padding:0 0 18px;border-bottom:1px solid var(--k-line-2)}
.kw-tl__form .k-field{margin-bottom:10px}
.kw-types{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.kw-type{position:relative;cursor:pointer}
.kw-type input{position:absolute;opacity:0;pointer-events:none}
.kw-type span{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid #cfd5e1;border-radius:99px;font-size:13.5px;color:var(--k-text);background:#fff}
.kw-type input:checked+span{background:var(--k-accent-soft);border-color:var(--k-accent);color:var(--k-accent-text);font-weight:500}
.kw-type input:focus-visible+span{outline:3px solid var(--k-accent);outline-offset:2px}
.kw-tl__task{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 12px;font-size:14px}
.kw-tl__due select{font:inherit;padding:6px 10px;border:1px solid #cfd5e1;border-radius:8px;background:#fff;color:var(--k-ink)}
.kw-tl__empty{margin:0}
.kw-tl__list{list-style:none;margin:0;padding:0;position:relative}
.kw-tl__list::before{content:"";position:absolute;left:15px;top:6px;bottom:6px;width:2px;background:var(--k-line-2)}
.kw-tl__item{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;padding:0 0 16px}
.kw-tl__item[hidden]{display:none}
.kw-tl__icon{--c:var(--k-muted);position:relative;z-index:1;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid color-mix(in srgb,var(--c) 35%,#fff);color:var(--c)}
.kw-tl__item--note .kw-tl__icon{--c:var(--k-accent)}
.kw-tl__item--call .kw-tl__icon{--c:var(--k-ok)}
.kw-tl__item--meeting .kw-tl__icon{--c:#7c3aed}
.kw-tl__item--mail .kw-tl__icon{--c:#0e7490}
.kw-tl__item--status .kw-tl__icon{--c:#7c3aed}
.kw-tl__item--task .kw-tl__icon{--c:var(--k-warn)}
.kw-tl__item--document .kw-tl__icon{--c:#475569}
.kw-tl__body{min-width:0;padding-top:5px}
.kw-tl__meta{font-size:12.5px;color:var(--k-muted)}
.kw-tl__meta b{color:var(--k-ink);font-weight:600}
.kw-tl__text{color:var(--k-ink);margin-top:2px;overflow-wrap:anywhere}
.kw-tl__tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:4px;font-size:13px}
.kw-tl__tools form{display:inline}
.kw-tl__edit{margin-top:8px;padding:12px;border-radius:10px;background:var(--k-bg)}
.kw-tl__edit .k-field{margin-bottom:8px}

/* ---------- Aufgaben ---------- */
.kw-tlist{list-style:none;margin:0;padding:0}
.kw-task{display:flex;gap:12px;align-items:flex-start;padding:11px 0}
.kw-task+.kw-task{border-top:1px solid var(--k-line-2)}
.kw-task__done{margin:0;flex-shrink:0}
.kw-check{width:24px;height:24px;margin-top:1px;border-radius:50%;border:2px solid #b9c1d0;background:#fff;cursor:pointer;display:grid;place-items:center;padding:0;transition:border-color .15s,background .15s;position:relative}
.kw-check::after{content:"";width:6px;height:11px;border:solid transparent;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.kw-check:hover{border-color:var(--k-ok)}
.kw-check:hover::after{border-color:var(--k-ok)}
.kw-check.is-checked{background:var(--k-ok);border-color:var(--k-ok)}
.kw-check.is-checked::after{border-color:#fff}
.kw-check.is-static{cursor:default;border-style:dashed}
.kw-check.is-static:hover::after{border-color:transparent}
.kw-task--p3 .kw-check:not(.is-checked){border-color:var(--k-hot)}
.kw-task__main{flex:1;min-width:0}
.kw-task__title{color:var(--k-ink);font-weight:500;overflow-wrap:anywhere}
.kw-task.is-done .kw-task__title{text-decoration:line-through;color:var(--k-muted)}
.kw-task .k-pill{margin-left:6px}
.kw-task__rep{display:inline-flex;align-items:center;gap:4px;margin-left:8px;font-size:12px;color:var(--k-muted)}
.kw-task__meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;color:var(--k-muted);margin-top:3px;font-size:13px}
.kw-task__meta i{font-style:normal;color:#c3c9d6}
.kw-due{display:inline-flex;align-items:center;gap:4px}
.kw-due--overdue{color:var(--k-bad);font-weight:600}
.kw-due--today{color:var(--k-accent-text);font-weight:600}
.kw-tasks__empty,.kw-dashtasks__empty{margin:0}
.kw-dashtasks__empty{padding:18px 0}
.kw-tasks__more{margin:10px 0 0;font-size:14px}
.kw-quick{margin:0 0 16px;padding:14px;border-radius:12px;background:var(--k-bg)}
.kw-quick .k-field{margin-bottom:12px}
.kw-when{display:flex;flex-wrap:wrap;gap:6px}
.kw-when .k-tag{position:relative}
.kw-quick input[type=date]{margin-top:8px}
.kw-group--overdue{border-left:4px solid var(--k-bad)}
.kw-group--today{border-left:4px solid var(--k-accent)}
.kw-digest{margin:6px 0 0;color:var(--k-muted);font-size:14px}
.kw-taskform{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
.kw-duefields{display:flex;gap:10px;flex-wrap:wrap}
.k-field .kw-duefields input{width:auto!important;flex:1;min-width:150px}
.kw-quickdates{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}

/* ---------- Bezug wählen ---------- */
.kw-ref{position:relative}
.kw-ref__chosen{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--k-accent-line);border-radius:var(--k-r-sm);background:var(--k-accent-soft);color:var(--k-ink)}
.kw-ref__chosen[hidden],.kw-ref__find[hidden]{display:none}
.kw-ref__find{position:relative}
.kw-suggest{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:40;list-style:none;margin:0;padding:6px;background:#fff;border:1px solid var(--k-line);border-radius:12px;box-shadow:0 14px 40px rgba(20,28,56,.16);max-height:340px;overflow:auto}
.kw-suggest[hidden]{display:none}
.kw-suggest li.kw-suggest__h{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--k-muted);padding:8px 10px 4px}
.kw-suggest button,.kw-suggest a{display:block;width:100%;text-align:left;border:0;background:none;padding:8px 10px;border-radius:8px;font:inherit;color:var(--k-ink);cursor:pointer;text-decoration:none!important}
.kw-suggest button small,.kw-suggest a small{display:block;color:var(--k-muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kw-suggest button:hover,.kw-suggest a:hover,.kw-suggest .is-active{background:var(--k-line-2)}
.kw-suggest li.kw-suggest__none{padding:10px;color:var(--k-muted);font-size:14px}
.kw-suggest a.kw-suggest__all{color:var(--k-accent-text);font-weight:500;border-top:1px solid var(--k-line-2);border-radius:0 0 8px 8px;margin-top:4px}

/* ---------- Dokumente ---------- */
.kw-upload{margin:0 0 16px}
.kw-drop{position:relative;display:flex;align-items:center;gap:16px;padding:22px 20px;border:2px dashed #c5cddb;border-radius:12px;background:#fafbfd;cursor:pointer;transition:border-color .15s,background .15s;margin-bottom:12px}
.kw-drop input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.kw-drop:hover,.kw-drop.is-over{border-color:var(--k-accent);background:var(--k-accent-soft)}
.kw-drop:focus-within{outline:3px solid var(--k-accent);outline-offset:2px}
.kw-drop__icon{width:48px;height:48px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--k-accent-text);flex-shrink:0;box-shadow:var(--k-shadow)}
.kw-drop__text{color:var(--k-text);line-height:1.4}
.kw-drop__text b{color:var(--k-ink)}
.kw-drop__text u{color:var(--k-accent-text);text-decoration:none;font-weight:500}
.kw-drop__text small{display:block;color:var(--k-muted);margin-top:3px}
.kw-drop--sm{padding:14px;gap:12px}
.kw-drop--sm .kw-drop__icon{width:38px;height:38px}
.kw-drop__list{list-style:none;margin:-4px 0 14px;padding:0;font-size:13.5px}
.kw-drop__list[hidden]{display:none}
.kw-drop__list li{display:flex;justify-content:space-between;gap:12px;padding:5px 2px;border-bottom:1px solid var(--k-line-2)}
.kw-drop__list li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kw-drop__list li small{color:var(--k-muted);flex-shrink:0}
.kw-drop__list li.is-bad{color:var(--k-bad)}
.kw-drop__list li.is-bad small{color:var(--k-bad)}
.kw-upload__bar{justify-content:space-between}
.kw-dlist{list-style:none;margin:0;padding:0}
.kw-doc{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0}
.kw-doc+.kw-doc{border-top:1px solid var(--k-line-2)}
.kw-doc__thumb{display:block;text-decoration:none!important}
.kw-doc__main{min-width:0}
.kw-doc__title{color:var(--k-ink);font-weight:500;overflow-wrap:anywhere}
.kw-doc__main small{display:block;color:var(--k-muted);font-size:12.5px;margin-top:2px}
.kw-doc__tools{display:flex;gap:2px}
.kw-thumb{--c:#475569;width:48px;height:48px;border-radius:9px;display:grid;place-items:center;background:var(--c);color:#fff;font:700 10.5px/1 var(--k-head);letter-spacing:.03em;overflow:hidden;flex-shrink:0}
.kw-thumb--pdf{--c:#d64545}.kw-thumb--doc{--c:#2b6cb0}.kw-thumb--xls{--c:#1f8a5b}.kw-thumb--ppt{--c:#d9480f}.kw-thumb--img{--c:#7c3aed}.kw-thumb--mail{--c:#0e7490}.kw-thumb--zip{--c:#6b7385}
.kw-thumb--img img{width:100%;height:100%;object-fit:cover;display:block;background:var(--k-line-2)}
.kw-thumb--img:has(img){background:var(--k-line-2)}
.kw-iconbtn{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:9px;color:var(--k-muted);text-decoration:none!important}
.kw-iconbtn:hover{background:var(--k-line-2);color:var(--k-accent-text)}
.kw-doctable td{vertical-align:middle}
.kw-doctable__thumb{width:72px}
.kw-doctable .k-pill{margin-left:6px}
.kw-datefld{display:inline-flex;align-items:center;gap:6px;color:var(--k-muted);font-size:13.5px}
.k-filter .kw-datefld input{width:auto;min-width:0}
.kw-docdetail{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}
.kw-docpreview>a{display:block;margin:0 0 18px;text-align:center;background:var(--k-bg);border-radius:12px;padding:10px}
.kw-docpreview img{max-height:480px;width:auto;border-radius:8px}
.kw-docpreview__file{display:flex;align-items:center;gap:16px;margin:0 0 18px;padding:14px;background:var(--k-bg);border-radius:12px}
.kw-docpreview__file .kw-thumb{width:60px;height:60px;font-size:12px}
.kw-docpreview__file b{display:block;color:var(--k-ink);overflow-wrap:anywhere}
.kw-docpreview__file small{color:var(--k-muted)}
.kw-docfacts{margin:0}
.kw-versions{list-style:none;margin:0 0 16px;padding:0}
.kw-versions li{display:flex;gap:12px;align-items:flex-start;padding:9px 0}
.kw-versions li+li{border-top:1px solid var(--k-line-2)}
.kw-versions__no{flex-shrink:0;font:600 12px var(--k-head);padding:3px 8px;border-radius:99px;background:var(--k-line-2);color:var(--k-muted)}
.kw-versions li.is-current .kw-versions__no{background:var(--k-accent-soft);color:var(--k-accent-text)}
.kw-versions__main{min-width:0}
.kw-versions__main a{overflow-wrap:anywhere}
.kw-versions__main small{display:block;color:var(--k-muted);font-size:12.5px}
.kw-newversion{border-top:1px solid var(--k-line-2);padding-top:14px}

/* ---------- Suche ---------- */
.kw-hsearch{position:relative;display:flex;align-items:center;margin:0}
.kw-hsearch__field{position:relative;display:flex;align-items:center}
.kw-hsearch__field .kw-ico{position:absolute;left:10px;opacity:.75;pointer-events:none}
.kw-hsearch input{width:230px;font:inherit;font-size:14px;color:inherit;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:10px;padding:8px 32px 8px 34px;min-height:38px;transition:background .15s,width .2s}
.kw-hsearch input::placeholder{color:inherit;opacity:.7}
.kw-hsearch input:focus{outline:0;background:#fff;color:var(--k-ink);border-color:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.25)}
.kw-hsearch__field:focus-within .kw-ico{color:var(--k-muted);opacity:1}
.kw-hsearch__key{position:absolute;right:8px;pointer-events:none;background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3);color:inherit}
.kw-hsearch__field:focus-within .kw-hsearch__key{display:none}
.kw-hsearch input::-webkit-search-cancel-button{display:none}
.kw-hsearch .kw-suggest{left:auto;right:0;width:min(440px,calc(100vw - 24px));color:var(--k-text)}
.kw-hsearch-toggle{display:none;background:none;border:0;color:inherit;padding:8px;border-radius:10px;cursor:pointer}
.kw-hsearch-toggle:hover{background:rgba(255,255,255,.08)}
.kw-searchpage .k-filter__search{min-width:0}
.kw-searchsum{margin:-6px 0 12px}
.kw-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;align-items:start}
.kw-hits{list-style:none;margin:0;padding:0}
.kw-hits li+li{border-top:1px solid var(--k-line-2)}
.kw-hits a{display:flex;gap:12px;align-items:center;padding:10px 4px;border-radius:8px;color:var(--k-text);text-decoration:none!important}
.kw-hits a:hover{background:var(--k-line-2)}
.kw-hits a.is-done b{text-decoration:line-through;color:var(--k-muted)}
.kw-hits__ico{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--k-accent-soft);color:var(--k-accent-text);flex-shrink:0}
.kw-hits__main{min-width:0}
.kw-hits__main b{color:var(--k-ink);font-weight:600;overflow-wrap:anywhere}
.kw-hits__main small{display:block;color:var(--k-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kw-hits mark,.kw-suggest mark{background:#fff1b8;color:inherit;border-radius:3px;padding:0 1px}

/* ---------- Übersicht ---------- */
.kw-dash{margin-bottom:0}
.kw-links{display:flex;gap:14px;flex-wrap:wrap}
.kw-tasks .k-card__head,.kw-docs .k-card__head{flex-wrap:nowrap;align-items:flex-start}
.kw-tasks .k-card__head .k-btn,.kw-docs .k-card__head .k-btn{flex-shrink:0}
.kw-av--object{background:var(--k-primary-2)}

/* ---------- Responsiv ---------- */
.kw-compact .kw-hsearch-toggle{display:block;flex-shrink:0}
/* Reicht der Platz für die Reiter nicht (viele Module), Reiter waagrecht scrollen statt überlappen. */
@media (min-width:861px){.kw-compact .k-nav{overflow-x:auto;scrollbar-width:none}.kw-compact .k-nav::-webkit-scrollbar{display:none}}
.kw-compact .kw-hsearch{display:none;position:absolute;right:16px;top:100%;margin-top:6px;z-index:60;padding:10px;background:var(--k-primary);border-radius:12px;box-shadow:0 14px 40px rgba(20,28,56,.25);width:min(460px,calc(100vw - 24px))}
.kw-compact .kw-hsearch.is-open{display:flex}
.kw-compact .kw-hsearch__field{flex:1}
.kw-compact .kw-hsearch input{width:100%}
.kw-compact .kw-hsearch .kw-suggest{left:0;right:0;width:auto}
@media (max-width:1024px){
	.kw-taskform,.kw-docdetail,.kw-results{grid-template-columns:1fr}
}
@media (max-width:860px){
	.kw-hsearch-toggle{display:block;order:2;font-size:0}
	.kw-hsearch{display:none;position:absolute;right:12px;left:12px;top:100%;margin-top:6px;z-index:60;padding:10px;background:var(--k-primary);border-radius:12px;box-shadow:0 14px 40px rgba(20,28,56,.25);width:auto}
	.kw-hsearch.is-open{display:flex}
	.kw-hsearch__field{flex:1}
	.kw-hsearch input{width:100%}
	.kw-hsearch .kw-suggest{left:0;right:0;width:auto}
	.kw-tl__item{grid-template-columns:28px minmax(0,1fr);gap:10px}
	.kw-tl__icon{width:28px;height:28px}
	.kw-tl__list::before{left:13px}
	.kw-doctable thead{display:none}
	.kw-doctable tr{display:grid;grid-template-columns:56px minmax(0,1fr) auto;column-gap:12px;padding:12px 14px;border-bottom:1px solid var(--k-line-2)}
	.kw-doctable td{border:0;padding:1px 0}
	.kw-doctable td:nth-child(1){grid-row:1/span 3;width:auto}
	.kw-doctable td:nth-child(2){grid-column:2;grid-row:1}
	.kw-doctable td:nth-child(3){grid-column:2;grid-row:2;font-size:13px;color:var(--k-muted)}
	.kw-doctable td:nth-child(4){grid-column:2;grid-row:3;font-size:13px}
	.kw-doctable td:nth-child(5){display:none}
	.kw-doctable td:nth-child(6){grid-column:3;grid-row:1/span 2;align-self:center}
	.kw-drop{padding:16px}
	.kw-upload__bar{flex-direction:column;align-items:stretch}
	.kw-chipsep{display:none}
	.kw-datefld{flex:1}
	.k-filter .kw-datefld input{flex:1}
}
