/* ks-gitlog.css — Git-Log im PhpStorm-Stil (GITLOG-1111); nutzt die --ks-* Variablen aus ks-theme.css */
.kgl { display: flex; flex-direction: column; min-height: 0; height: 100%; color: var(--ks-text); font: var(--ks-font); }
.kgl-bar { display: flex; gap: 6px; padding: 6px; background: var(--ks-panel); border-bottom: 1px solid var(--ks-border); }
.kgl-in { flex: 1; min-width: 0; background: var(--ks-input); color: var(--ks-text-bright); border: 1px solid var(--ks-line); border-radius: 3px; padding: 3px 6px; font: inherit; }
.kgl-pfad { flex: 0 1 220px; font-family: var(--ks-mono); }
.kgl-btn { background: var(--ks-btn); color: var(--ks-text); border: 1px solid var(--ks-btn-border); border-radius: 3px; padding: 3px 8px; cursor: pointer; }
.kgl-btn:hover { background: var(--ks-hover); }
.kgl-body { display: flex; flex: 1; min-height: 0; }
.kgl-side { width: 190px; flex: none; overflow: auto; background: var(--ks-panel-alt); border-right: 1px solid var(--ks-border); padding: 4px 0; }
.kgl-sh { padding: 5px 8px; font-weight: 600; color: var(--ks-text-dim); text-transform: uppercase; font-size: 11px; letter-spacing: .04em; }
.kgl-br { display: block; width: 100%; text-align: left; background: none; border: 0; border-left: 3px solid transparent; color: var(--ks-text); padding: 3px 8px; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font: inherit; }
.kgl-br:hover { background: var(--ks-hover); } .kgl-br.aktiv { background: var(--ks-accent-bg); border-left-color: var(--ks-accent); color: var(--ks-text-bright); }
.kgl-mid { flex: 1.5; min-width: 0; display: flex; flex-direction: column; background: var(--ks-bg); }
.kgl-head, .kgl-row { display: flex; align-items: center; gap: 8px; padding: 0 8px; }
.kgl-head { height: 24px; background: var(--ks-panel); color: var(--ks-text-dim); border-bottom: 1px solid var(--ks-border); font-size: 11px; text-transform: uppercase; }
.kgl-list { flex: 1; overflow: auto; outline: none; }
.kgl-row { height: 24px; cursor: pointer; white-space: nowrap; }
.kgl-row:hover { background: var(--ks-hover); } .kgl-row.aktiv { background: var(--ks-accent-bg); box-shadow: inset 2px 0 var(--ks-accent); }
.kgl-c-graph { flex: none; display: inline-block; height: 24px; } .kgl-graph { display: block; }
.kgl-c-msg { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; display: flex; align-items: center; gap: 4px; }
.kgl-msg { overflow: hidden; text-overflow: ellipsis; }
.kgl-c-aut { flex: none; width: 110px; overflow: hidden; text-overflow: ellipsis; color: var(--ks-text-dim); }
.kgl-c-dat { flex: none; width: 128px; white-space: nowrap; color: var(--ks-text-dim); }
.kgl-ref { flex: none; font-size: 11px; line-height: 16px; padding: 0 6px; border-radius: 3px; border: 1px solid; max-width: 180px; overflow: hidden; text-overflow: ellipsis; }
.kgl-ref-lokal { background: #2F4A36; border-color: #4a7a55; color: #BFE3C0; } .kgl-ref-remote { background: #2F3E4E; border-color: #4C708C; color: #A9CBF0; } .kgl-ref-tag { background: #4A4030; border-color: #8a7440; color: var(--ks-warn); }
.kgl-det { flex: 1.2; min-width: 0; overflow: auto; background: var(--ks-bg); border-left: 1px solid var(--ks-border); display: flex; flex-direction: column; }
.kgl-hint { padding: 12px; color: var(--ks-text-dim); } .kgl-err { color: var(--ks-err); }
.kgl-more { padding: 6px 12px; color: var(--ks-text-dim); font-size: 11px; }
.kgl-dk { padding: 8px 10px; border-bottom: 1px solid var(--ks-border); }
.kgl-dsha { font-family: var(--ks-mono); font-size: 11px; color: var(--ks-text-dim); word-break: break-all; } .kgl-dmeta { margin: 2px 0 6px; }
.kgl-dtext { margin: 0; white-space: pre-wrap; word-break: break-word; font: inherit; color: var(--ks-text-bright); }
.kgl-files { max-height: 30%; overflow: auto; border-bottom: 1px solid var(--ks-border); flex: none; }
.kgl-file { display: flex; width: 100%; align-items: center; gap: 8px; background: none; border: 0; color: var(--ks-text); padding: 2px 10px; cursor: pointer; text-align: left; font: inherit; }
.kgl-file:hover { background: var(--ks-hover); } .kgl-file.aktiv { background: var(--ks-accent-bg); }
.kgl-fn { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; direction: rtl; text-align: left; } .kgl-pm { flex: none; font-family: var(--ks-mono); font-size: 11px; }
.kgl-st { flex: none; width: 16px; text-align: center; font-weight: 700; font-family: var(--ks-mono); }
.kgl-st-A { color: var(--ks-ok); } .kgl-st-M { color: var(--ks-accent); } .kgl-st-D { color: var(--ks-err); } .kgl-st-R { color: var(--ks-warn); }
.kgl-plus { color: var(--ks-ok); } .kgl-minus { color: var(--ks-err); }
.kgl-dv { flex: 1; min-height: 80px; overflow: auto; }
.kgl-diff { font-family: var(--ks-mono); font-size: 12px; min-width: max-content; }
.kgl-dl { white-space: pre; padding: 0 10px; } .kgl-dl.add { background: #2D3F2D; color: #C5E4C0; } .kgl-dl.del { background: #4A2C2C; color: #F2C0BE; } .kgl-dl.hunk { background: #2F3E4E; color: #A9CBF0; } .kgl-dl.meta { color: var(--ks-text-dim); }
.kgl-overlay { position: fixed; inset: 0; z-index: 400; background: rgba(0,0,0,.6); display: flex; align-items: center; justify-content: center; }
.kgl-box { width: 96vw; height: 90vh; display: flex; flex-direction: column; background: var(--ks-bg); border: 1px solid var(--ks-line); border-radius: 4px; box-shadow: 0 10px 40px rgba(0,0,0,.6); overflow: hidden; }
.kgl-titel { display: flex; justify-content: space-between; align-items: center; padding: 6px 10px; background: var(--ks-panel); color: var(--ks-text-bright); }
.kgl-wrap { flex: 1; min-height: 0; }
.kgl-wrap > .kgl { height: 100%; }
.kgl-inline { height: calc(100vh - 170px); min-height: 360px; border: 1px solid var(--ks-border); }
@media (max-width: 820px) {
  .kgl-side { display: none; } .kgl-body { flex-direction: column; } .kgl-mid { flex: 1; } .kgl-det { flex: 1; border-left: 0; border-top: 1px solid var(--ks-border); }
  .kgl-c-aut, .kgl-c-dat { display: none; } .kgl-pfad { display: none; }
}
#lz-gitlog { width: auto; padding: 0 8px; gap: 4px; display: inline-flex; align-items: center; }
#lz-gitlog .lz-gl-text { font-size: 11px; }
/* R2 (User 11.11.): Autor immer sichtbar; Kopf sticky in der Liste; mobil horizontal + vertikal scrollbar */
.kgl-head { position: sticky; top: 0; z-index: 1; }
.kgl-list .kgl-head, .kgl-list .kgl-row { min-width: 680px; }
.kgl-list { overflow: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; scroll-padding-top: 24px; }
.kgl-brsel { display: none; flex: 0 1 160px; }
@media (max-width: 820px) {
  .kgl-c-aut, .kgl-c-dat { display: inline-block; }
  .kgl-brsel { display: block; }
  .kgl-bar { flex-wrap: wrap; } .kgl-in { min-width: 120px; }
  .kgl-body { overflow: hidden; }
  .kgl-mid { flex: 1 1 55%; min-height: 0; }
  .kgl-det { flex: 1 1 45%; min-height: 0; overflow: auto; -webkit-overflow-scrolling: touch; }
  .kgl-files { max-height: none; }
  .kgl-dv { overflow: auto; -webkit-overflow-scrolling: touch; }
  .kgl-box { width: 100vw; height: 100dvh; border-radius: 0; }
  .kgl-inline { height: calc(100dvh - 120px); }
}
