/* ═══ Repair-Café Wissensdatenbank (kb.css) ═══════════════════════════ */
.kb-hdr-btn{margin-right:4px}
/* Treffer-Sektion im Hauptformular */
#kb-hits{margin:0 0 14px 0}
#kb-hits:empty{display:none}
.kb-hits-box{border:1px solid var(--border);border-left:4px solid var(--green);border-radius:10px;background:var(--card);padding:10px 12px}
.kb-hits-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;font-weight:600;margin-bottom:6px}
.kb-hits-head .kb-sp{flex:1}
.kb-hits-none{font-size:12px;color:var(--muted);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.kb-hit{display:flex;gap:8px;align-items:flex-start;padding:7px 0;border-top:1px solid var(--border);cursor:pointer}
.kb-hit:first-of-type{border-top:none}
.kb-hit:hover .kb-hit-title{color:var(--green)}
.kb-hit-main{flex:1;min-width:0}
.kb-hit-title{font-size:13px;font-weight:600;line-height:1.35}
.kb-hit-meta{font-size:11px;color:var(--muted);margin-top:1px}
.kb-hit-kurz{font-size:12.5px;line-height:1.45;margin-top:2px}
.kb-code{display:inline-block;font-size:11px;font-weight:700;padding:2px 6px;border-radius:5px;background:var(--green-light);color:var(--green-dark);white-space:nowrap;flex-shrink:0}
.kb-code.w{background:#ede9fe;color:#5b21b6}
@media(prefers-color-scheme:dark){.kb-code.w{background:#2e1065;color:#ddd6fe}}
.kb-badge{display:inline-block;font-size:10.5px;padding:1px 6px;border-radius:9px;border:1px solid var(--border);color:var(--muted);margin-left:4px;font-weight:500}
.kb-badge.ok{border-color:var(--green);color:var(--green)}
.kb-badge.bad{border-color:var(--danger);color:var(--danger)}
.kb-icons{font-size:11px;color:var(--muted);white-space:nowrap}
.kb-more{font-size:12px;color:var(--green);background:none;border:none;cursor:pointer;padding:6px 0 0;font-family:inherit}
a.kb-ref{color:var(--green);font-weight:600;text-decoration:none;border-bottom:1px dotted var(--green)}

/* Buttons */
.kb-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;font-size:13px;line-height:1.1;cursor:pointer;border:1px solid var(--border);border-radius:7px;background:var(--card);color:var(--text);font-family:inherit}
.kb-btn:hover{border-color:var(--green);color:var(--green)}
.kb-btn.primary{background:var(--green);border-color:var(--green);color:#fff}
.kb-btn.primary:hover{background:var(--green-dark);color:#fff}
.kb-btn.danger{color:var(--danger);border-color:var(--danger)}
.kb-btn:disabled{opacity:.5;cursor:not-allowed}
.kb-btn.sm{padding:4px 8px;font-size:12px}

/* Overlay */
#kb-overlay{position:fixed;inset:0;z-index:1500;background:var(--bg);color:var(--text);overflow:auto;-webkit-overflow-scrolling:touch}
.kb-bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--card);border-bottom:1px solid var(--border)}
.kb-bar h2{font-size:16px;font-weight:600;margin:0;flex:1;display:flex;align-items:center;gap:6px}
.kb-body{max-width:820px;margin:0 auto;padding:14px 14px 80px}
.kb-filter{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.kb-filter input,.kb-filter select{padding:8px 10px;border:1px solid var(--border);border-radius:7px;font-size:14px;font-family:inherit;background:var(--card);color:var(--text)}
.kb-filter input{flex:1 1 220px;min-width:0}
.kb-filter select{flex:0 1 auto;max-width:100%}
.kb-list-info{font-size:12px;color:var(--muted);margin:4px 0 8px}
.kb-card{border:1px solid var(--border);border-radius:10px;background:var(--card);padding:10px 12px;margin-bottom:8px;cursor:pointer;display:flex;gap:10px}
.kb-card:hover{border-color:var(--green)}
.kb-snip{font-size:12px;color:var(--muted);margin-top:3px;font-style:italic}
.kb-snip mark{background:#fde68a;color:#111;font-style:normal;padding:0 1px;border-radius:2px}

/* Detail */
.kb-d-head{display:flex;gap:8px;align-items:flex-start;margin-bottom:6px}
.kb-d-head h3{font-size:18px;margin:0;line-height:1.3}
.kb-d-device{font-size:13px;color:var(--muted);margin-bottom:10px}
.kb-d-kurz{background:var(--green-light);color:var(--green-dark);border-radius:8px;padding:9px 11px;font-size:14px;line-height:1.5;margin-bottom:12px}
.kb-sec{margin:14px 0}
.kb-sec h4{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 5px;padding-bottom:3px;border-bottom:1px solid var(--border)}
.kb-md{font-size:14px;line-height:1.55;word-wrap:break-word}
.kb-md a{color:var(--green)}
.kb-md code{background:rgba(127,127,127,.15);padding:0 4px;border-radius:4px;font-size:12.5px}
.kb-md h5{font-size:14px;margin:8px 0 2px}
.kb-md ul{margin:4px 0 4px 20px}
.kb-imgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.kb-imgs a{display:block;aspect-ratio:1/1;border-radius:8px;overflow:hidden;border:1px solid var(--border);background:#0001}
.kb-imgs img{width:100%;height:100%;object-fit:cover;display:block}
.kb-docs a,.kb-linklist a{display:flex;gap:8px;align-items:center;padding:6px 0;color:var(--text);text-decoration:none;border-bottom:1px dashed var(--border);font-size:14px}
.kb-docs a:hover,.kb-linklist a:hover{color:var(--green)}
.kb-docs small,.kb-linklist small{color:var(--muted);font-size:11.5px;margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:45%}
.kb-d-meta{font-size:11.5px;color:var(--muted);margin-top:16px}
.kb-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}

/* Editor */
.kb-form .kb-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:560px){.kb-form .kb-row{grid-template-columns:1fr}}
.kb-form label{display:block;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:10px 0 3px}
.kb-form input[type=text],.kb-form input[type=url],.kb-form select,.kb-form textarea{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--border);border-radius:7px;font-size:14px;font-family:inherit;background:var(--card);color:var(--text)}
.kb-form textarea{min-height:70px;resize:vertical;line-height:1.45}
.kb-form textarea.big{min-height:130px}
.kb-form input:focus,.kb-form select:focus,.kb-form textarea:focus{outline:none;border-color:var(--green)}
.kb-form .kb-sug{background:#fffbeb;border-color:#f59e0b}
@media(prefers-color-scheme:dark){.kb-form .kb-sug{background:#3a2e0a}}
.kb-kind{display:flex;gap:6px;margin-bottom:4px}
.kb-kind label{display:flex;align-items:center;gap:6px;margin:0;padding:8px 12px;border:1px solid var(--border);border-radius:8px;cursor:pointer;text-transform:none;letter-spacing:0;font-size:14px;font-weight:600;color:var(--text)}
.kb-kind input{accent-color:var(--green)}
.kb-check{display:flex !important;align-items:center;gap:6px;text-transform:none !important;letter-spacing:0 !important;font-weight:500 !important;font-size:13px !important;color:var(--text) !important}
.kb-hint{font-size:11.5px;color:var(--muted);margin-top:3px}
.kb-linkrow{display:flex;gap:6px;margin-bottom:6px}
.kb-linkrow input{flex:1;min-width:0}
.kb-linkrow input.t{flex:0 1 38%}
.kb-files{display:flex;flex-direction:column;gap:6px}
.kb-file{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;font-size:13px;background:var(--card)}
.kb-file img{width:42px;height:42px;object-fit:cover;border-radius:5px;flex-shrink:0}
.kb-file .ico{width:42px;height:42px;display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--muted);flex-shrink:0}
.kb-file .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kb-file.off{opacity:.45}
.kb-msg{font-size:13px;margin-top:10px;min-height:1.2em}
.kb-msg.err{color:var(--danger)}
.kb-msg.ok{color:var(--green)}
.kb-spin{display:inline-block;width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite;vertical-align:-2px}
@keyframes spin{to{transform:rotate(360deg)}}

/* v1.1: Bearbeiten-Knöpfe */
.kb-edit{flex-shrink:0;align-self:flex-start;opacity:.55}
.kb-hit:hover .kb-edit,.kb-card:hover .kb-edit,.kb-edit:focus{opacity:1}
@media(hover:none){.kb-edit{opacity:1}}
#kb-bar-extra:empty{display:none}

/* v1.2: Videos */
.kb-vid{margin-bottom:10px}
.kb-vid video{width:100%;max-height:420px;border-radius:8px;background:#000;display:block}
.kb-vid audio{width:100%}
.kb-vid-cap{font-size:13px;margin-top:4px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.kb-vid-cap small{color:var(--muted)}
.kb-vid-cap a{color:var(--green)}
