/* ============================================================
   logview.css
   Ansicht des Dateiprotokolls unter /admin/protokoll
   ============================================================ */

.log-filters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: .75rem;
  align-items: end;
  margin-bottom: 1rem;
}

.log-filters__search { grid-column: span 2; }

.log-filters__actions {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
}

.log-view {
  background: var(--surface-2, #1d2f45);
  border: 1px solid var(--border, rgba(0, 160, 221, .15));
  border-radius: var(--r-sm, 10px);
  padding: .5rem;
  max-height: 65dvh;
  overflow: auto;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .78rem;
  line-height: 1.5;
}

.log-line {
  display: grid;
  grid-template-columns: auto auto 1fr;
  gap: .1rem .6rem;
  padding: .35rem .5rem;
  border-left: 3px solid transparent;
  border-bottom: 1px solid rgba(255, 255, 255, .04);
  word-break: break-word;
}
.log-line:last-child { border-bottom: none; }

.log-line__time  { color: var(--text-3, #4a7a9b); white-space: nowrap; }
.log-line__level { font-weight: 700; white-space: nowrap; }
.log-line__text  { color: var(--text-1, #f0f8ff); }

.log-line__meta,
.log-line__context {
  grid-column: 1 / -1;
  color: var(--text-3, #4a7a9b);
  font-size: .72rem;
}
.log-line__context { color: #8fb8d4; word-break: break-all; }

.log-line--error { border-left-color: #f43f5e; background: rgba(244, 63, 94, .06); }
.log-line--error .log-line__level { color: #f43f5e; }

.log-line--warn { border-left-color: #f59e0b; background: rgba(245, 158, 11, .05); }
.log-line--warn .log-line__level { color: #f59e0b; }

.log-line--info { border-left-color: rgba(0, 160, 221, .5); }
.log-line--info .log-line__level { color: #00a0dd; }

.log-line--debug { border-left-color: rgba(255, 255, 255, .12); }
.log-line--debug .log-line__level { color: var(--text-3, #4a7a9b); }
.log-line--debug .log-line__text  { color: var(--text-2, #8fb8d4); }

.log-line--raw {
  display: block;
  color: var(--text-2, #8fb8d4);
  border-left-color: rgba(255, 255, 255, .12);
}

@media (max-width: 640px) {
  .log-line { grid-template-columns: 1fr; }
  .log-filters__search { grid-column: span 1; }
}
