/* ============================================================
   logs.css
   Staff Logs panel: search controls, pending chip, log entries.
   ============================================================ */

/* ---------- SEARCH + FILTER BAR ---------- */
.log-controls{ display:flex; gap:10px; margin-bottom:18px; flex-wrap:wrap; }
.log-controls input, .log-controls select{
  font-family:var(--font-body);
  background:var(--walnut-700);
  border:1px solid var(--walnut-500);
  color:var(--parchment);
  padding:9px 12px;
  border-radius:3px;
  font-size:14px;
}
.log-controls input{ flex:1; min-width:180px; }

/* ---------- PENDING COUNT CHIP ---------- */
.pending-chip{
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--brass); border:1px solid var(--brass-dim); border-radius:20px;
  padding:5px 12px; margin-left:10px;
}
.pending-chip .dot{
  width:6px; height:6px; border-radius:50%;
  background:var(--brass); box-shadow:0 0 6px var(--brass);
}

/* ---------- LOG ENTRY ---------- */
.log-entry{
  display:grid;
  grid-template-columns:4px 1fr;
  gap:0;
  margin-bottom:14px;
  background:var(--walnut-700);
  border:1px solid var(--walnut-500);
  border-radius:5px;
  overflow:hidden;
  box-shadow:var(--shadow);
}

/* colored severity spine down the left edge */
.log-bar{ align-self:stretch; }
.log-bar.warning{ background:var(--sev-warning); }
.log-bar.strike1{ background:var(--sev-strike1); }
.log-bar.strike2{ background:var(--sev-strike2); }
.log-bar.tempban{ background:var(--sev-tempban); }
.log-bar.ban72{   background:var(--sev-ban72); }

.log-main{ padding:16px 18px; }
.log-top{
  display:flex; gap:10px; align-items:center; flex-wrap:wrap;
  margin-bottom:12px;
}

.log-tag{
  font-family:var(--font-mono); font-size:10px; letter-spacing:.08em;
  text-transform:uppercase; padding:2px 8px; border-radius:2px;
  border:1px solid currentColor;
}
.log-tag.warning{ color:var(--sev-warning); }
.log-tag.strike1{ color:var(--sev-strike1); }
.log-tag.strike2{ color:var(--sev-strike2); }
.log-tag.tempban{ color:var(--sev-tempban); }
.log-tag.ban72{   color:var(--sev-ban72); }

.status-badge{
  font-family:var(--font-mono); font-size:10px; letter-spacing:.08em;
  text-transform:uppercase; padding:2px 8px; border-radius:2px;
  color:var(--ink); font-weight:600;
}
.status-badge.pending{  background:var(--brass); }
.status-badge.approved{ background:var(--sage); }
.status-badge.denied{   background:var(--clay); color:var(--parchment); }

.log-date{
  font-family:var(--font-mono); font-size:11px;
  color:var(--parchment-dim); margin-left:auto;
}

/* ---------- PLAYER IDENTIFIERS ---------- */
.log-idgrid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(150px,1fr));
  gap:4px 20px;
  margin-bottom:12px;
  padding:10px 12px;
  background:var(--walnut-800);
  border:1px solid var(--walnut-600);
  border-radius:4px;
}
.log-idgrid div{ font-size:12.5px; color:var(--parchment-dim); }
.log-idgrid b{
  display:block; font-family:var(--font-mono); font-size:10px;
  letter-spacing:.06em; text-transform:uppercase;
  color:var(--parchment-dim); opacity:.7; margin-bottom:2px;
}
.log-idgrid span{ color:var(--parchment); font-size:13.5px; }

/* ---------- BODY ---------- */
.log-staff{
  font-family:var(--font-display); font-size:14px;
  letter-spacing:.03em; color:var(--parchment);
}
.log-staff::before{
  content:"Reported by ";
  font-family:var(--font-body); color:var(--parchment-dim);
  font-weight:400; letter-spacing:0;
}
.log-text{
  font-size:14px; line-height:1.55;
  color:var(--parchment-dim); margin:10px 0 0;
}

/* ---------- EVIDENCE ---------- */
.log-media{ margin-top:12px; display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.log-media img{
  width:96px; height:96px; object-fit:cover; border-radius:4px;
  border:1px solid var(--walnut-500); cursor:zoom-in; display:block;
}
.log-media a.clip-link{
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--font-mono); font-size:12px; color:var(--brass);
  border:1px solid var(--brass-dim); border-radius:4px; padding:8px 12px;
  text-decoration:none;
}
.log-media a.clip-link:hover{ background:rgba(79,143,255,.12); }

/* ---------- REVIEW FOOTER ---------- */
.log-footer{
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:10px;
  margin-top:14px; padding-top:12px;
  border-top:1px solid var(--walnut-600);
}
.log-review-note{ font-family:var(--font-mono); font-size:11.5px; color:var(--parchment-dim); }
.log-review-note b{ color:var(--parchment); font-weight:600; }
.log-actions{ display:flex; gap:8px; }

/* ---------- COMPACT MODE ----------
   Reviewed entries collapse to a single row so more fit on screen.
   Clicking the top row toggles .expanded. */
.log-entry.compact .log-main{ padding:9px 16px; }
.log-entry.compact .log-top{ margin-bottom:0; cursor:pointer; user-select:none; }
.log-entry.compact .log-details{ display:none; }
.log-entry.compact.expanded .log-details{ display:block; margin-top:12px; }

.log-quick{
  font-size:13px; color:var(--parchment-dim); flex:1; min-width:0;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.log-quick b{ color:var(--parchment); font-weight:600; }
.log-quick .reviewed-by{ font-family:var(--font-mono); font-size:11px; opacity:.75; margin-left:8px; }

.log-expand-icon{
  font-family:var(--font-mono); font-size:11px; color:var(--parchment-dim);
  transition:transform .15s ease; flex-shrink:0;
}
.log-entry.compact.expanded .log-expand-icon{ transform:rotate(90deg); }
