#logAnalysisLoadingMask { display: none; }
    #logAnalysisLoadingMask.ipin-mask-active { display: flex; }
    .log-loading-dialog { animation: logPop .18s ease-out; }
    .log-loading-brand { min-width: 99px; display: flex; align-items: center; justify-content: center; }
    .log-loading-brand img { display: block; width: 99px; height: 41px; }
    @keyframes logPop { from { transform: translateY(8px) scale(.98); opacity: .6; } to { transform: translateY(0) scale(1); opacity: 1; } }

    .log-tab-active { background: #f8fafc; color: #1d4ed8; border-color: #93c5fd; }
    .log-tab-inactive { background: #fff; color: #64748b; border-color: #e5e7eb; }
    .log-chip-active { background: #f8fafc !important; color: #1d4ed8 !important; border-color: #93c5fd !important; }
    .log-report-root, .log-report-root input, .log-report-root select, .log-report-root button, .log-report-root table { font-size: .8125rem; }
    .log-report-root h3 { font-size: .95rem; }
    .log-report-root h4 { font-size: .875rem; }
    .log-muted-btn { background: #f8fafc; color: #475569; border: 1px solid #e2e8f0; }
    .log-muted-btn:hover { background: #f1f5f9; color: #334155; }
    .log-primary-muted { background: #f8fafc; color: #1d4ed8; border: 1px solid #bfdbfe; }
    .log-primary-muted:hover { background: #eff6ff; }
    .log-table-wrap { max-height: 720px; overflow: auto; }
    .log-table-wrap thead th { position: sticky; top: 0; z-index: 1; background: #f8fafc; }
    .log-path-cell { max-width: 520px; word-break: break-all; }
    .log-ua-cell { max-width: 420px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .mono { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }

.log-upload-header {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(220px, 1fr);
  grid-template-rows: auto;
  gap: 1rem;
  align-items: center;
  margin-bottom: 1.25rem;
}
.log-upload-header > :first-child { min-width: 0; }
.log-upload-header > :last-child {
  justify-self: end;
  display: flex;
  align-items: flex-end;
  gap: .75rem;
  flex-wrap: wrap;
}
@media (max-width: 768px) {
  .log-upload-header {
    grid-template-columns: 1fr;
  }
  .log-upload-header > :last-child {
    justify-self: start;
  }
}
