.logs-tab { padding: 0; height: 100%; display: flex; flex-direction: column; }

.logs-toolbar {
  display: flex;
  gap: .75rem;
  align-items: center;
  padding: .55rem .9rem;
  background: rgba(24, 24, 27, .22);
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  flex-wrap: wrap;
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05);
}
.logs-toolbar label { font-size: .82rem; color: #d4d4d8; display: flex; align-items: center; gap: .3rem; }
.logs-toolbar select, .logs-toolbar button, .logs-toolbar input {
  background: rgba(39, 39, 42, .45); color: #e2e8f0;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 6px; padding: .22rem .55rem; font-size: .82rem;
}
.logs-toolbar input[type="search"] { min-width: 220px; font-family: inherit; }
.logs-toolbar .logs-count { margin-left: auto; color: var(--p-light); font-size: .78rem; font-family: 'Menlo', 'Consolas', monospace; }
.logs-toolbar .logs-stats { font-family: 'Menlo', 'Consolas', monospace; font-size: .72rem; display: flex; gap: .4rem; }
.logs-toolbar .logs-stats .st { padding: .05rem .35rem; border-radius: 3px; border: 1px solid transparent; }
.logs-toolbar .logs-stats .st-info     { background: rgba(148, 163, 184, .1); color: #94a3b8; border-color: rgba(148, 163, 184, .2); }
.logs-toolbar .logs-stats .st-notice   { background: rgba(34, 211, 238, .1);  color: #22d3ee; border-color: rgba(34, 211, 238, .3); }
.logs-toolbar .logs-stats .st-warn     { background: rgba(251, 146, 60, .12); color: #fb923c; border-color: rgba(251, 146, 60, .3); }
.logs-toolbar .logs-stats .st-error    { background: rgba(239, 68, 68, .12);  color: #ef4444; border-color: rgba(239, 68, 68, .35); }
.logs-toolbar .logs-stats .st-critical { background: rgba(239, 68, 68, .18);  color: #ffb8b8; border-color: #ef4444; font-weight: 600; }

.logs-list {
  flex: 1;
  overflow-y: auto;
  padding: .4rem .5rem;
  font-family: 'Menlo', 'Consolas', monospace;
  font-size: .78rem;
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.logs-empty { color: #64748b; font-style: italic; text-align: center; padding: 2rem 0; }

/* Log row — chrome .card-pri full spec (ref Vincent 2026-04-29) via --card-rgb par level */
.log-row {
  --card-rgb: 100, 116, 139;   /* gris neutre par défaut (info) */
  display: grid;
  grid-template-columns: 80px 66px 190px minmax(0, 1fr) 60px;
  column-gap: .7rem;
  align-items: center;
  padding: .3rem .6rem;
  border-radius: 8px;
  border-top:    1px solid rgba(var(--card-rgb), .4);
  border-right:  1px solid rgba(var(--card-rgb), .4);
  border-bottom: 1px solid rgba(var(--card-rgb), .4);
  border-left:   2px solid rgba(var(--card-rgb), .9);
  background:
    radial-gradient(circle at top right, rgba(var(--card-rgb), .14), transparent 60%),
    linear-gradient(135deg, rgba(var(--card-rgb), .1) 0%, rgba(var(--card-rgb), .03) 50%, rgba(24, 24, 27, .55) 100%);
  backdrop-filter: blur(28px) saturate(200%);
  -webkit-backdrop-filter: blur(28px) saturate(200%);
  box-shadow: inset 8px 0 14px -8px rgba(var(--card-rgb), .55), inset 0 1px 0 rgba(255, 255, 255, .08), 0 4px 18px rgba(0, 0, 0, .28);
  transition: background .1s, box-shadow .15s, border-color .15s;
  color: #cbd5e1;
}
.log-row > * { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.log-row:hover {
  border-top-color:    rgba(var(--card-rgb), .65);
  border-right-color:  rgba(var(--card-rgb), .65);
  border-bottom-color: rgba(var(--card-rgb), .65);
  border-left-color:   rgba(var(--card-rgb), 1);
  box-shadow: inset 8px 0 16px -8px rgba(var(--card-rgb), .7), inset 0 1px 0 rgba(255, 255, 255, .1), 0 0 24px rgba(var(--card-rgb), .25), 0 4px 18px rgba(0, 0, 0, .3);
}
.log-row.expanded {
  border-color: rgba(var(--card-rgb), .65);
  box-shadow: inset 8px 0 16px -8px rgba(var(--card-rgb), .7), inset 0 1px 0 rgba(255, 255, 255, .1), 0 0 24px rgba(var(--card-rgb), .25), 0 4px 18px rgba(0, 0, 0, .3);
}
.log-row.clickable { cursor: pointer; }

.log-row .l-ts { color: #64748b; font-size: .72rem; font-family: 'Menlo','Consolas',monospace; }
.log-row .l-level {
  font-size: .65rem; text-transform: uppercase; letter-spacing: .04em; font-weight: 600;
  padding: .1rem .4rem; border-radius: 3px; text-align: center; border: 1px solid transparent;
  line-height: 1.3;
  font-family: 'Menlo', 'Consolas', monospace;
  min-width: 60px;
  box-sizing: border-box;
  justify-self: start;
}
.log-row .l-source {
  color: #a1a1aa; font-size: .74rem; font-family: 'Menlo','Consolas',monospace;
  display: inline-flex; align-items: baseline; gap: .15rem;
}
.log-row .l-source .l-cat { color: var(--p-light); overflow: hidden; text-overflow: ellipsis; }
.log-row .l-source .l-cat::before { content: '/'; color: #475569; margin-right: .08rem; }
.log-row .l-msg { color: #e4e4e7; }
.log-row.expanded .l-msg { white-space: normal; word-break: break-word; }
.log-row .l-dur { color: #64748b; font-size: .7rem; font-family: 'Menlo','Consolas',monospace; text-align: right; justify-self: end; }
.log-row .l-dur.slow { color: var(--c-state-alert, #fb923c); }

/* Colors par level — applique --card-rgb selon criticité (chrome .card-pri auto) */
.log-row.lvl-info     { --card-rgb: 100, 116, 139; }                       /* gris */
.log-row.lvl-info     .l-level { color: #94a3b8; background: rgba(148, 163, 184, .08); border-color: rgba(148, 163, 184, .2); }
.log-row.lvl-notice   { --card-rgb: 34, 211, 238; }                        /* cyan */
.log-row.lvl-notice   .l-level { color: #22d3ee; background: rgba(34, 211, 238, .1);  border-color: rgba(34, 211, 238, .3); }
.log-row.lvl-warn     { --card-rgb: var(--c-state-alert-rgb); }            /* orange */
.log-row.lvl-warn     .l-level { color: #fb923c; background: rgba(251, 146, 60, .12); border-color: rgba(251, 146, 60, .35); }
.log-row.lvl-error    { --card-rgb: var(--c-state-alarm-rgb); }            /* rouge */
.log-row.lvl-error    .l-level { color: #ef4444; background: rgba(239, 68, 68, .14);  border-color: rgba(239, 68, 68, .4); }
.log-row.lvl-critical { --card-rgb: var(--c-state-critical-rgb); animation: state-critical-blink 1s steps(2, start) infinite; }
.log-row.lvl-critical .l-level { color: #fff; background: #ef4444; border-color: #b91c1c; font-weight: 700; }

.log-row.acked { opacity: .5; }

/* Expand : détail JSON + actions */
.log-expand {
  grid-column: 1 / -1;
  padding: .4rem .6rem .3rem;
  margin-top: .25rem;
  border-top: 1px dashed rgba(255, 255, 255, .08);
  display: flex;
  flex-direction: column;
  gap: .3rem;
}
.log-expand pre {
  margin: 0;
  padding: .4rem .55rem;
  background: rgba(0, 0, 0, .25);
  border-radius: 4px;
  font-size: .72rem;
  color: #cbd5e1;
  white-space: pre-wrap;
  word-break: break-word;
  max-height: 280px;
  overflow: auto;
}
.log-expand .log-meta { display: flex; gap: .8rem; font-size: .7rem; color: #64748b; }
.log-expand .log-meta .k { color: #475569; }
.log-expand .log-actions { display: flex; gap: .4rem; }
.log-expand .t-btn {
  background: rgba(39, 39, 42, .5); color: #e4e4e7;
  border: 1px solid rgba(255, 255, 255, .1); border-radius: 5px;
  padding: .22rem .55rem; font-size: .72rem; cursor: pointer;
}
.log-expand .t-btn:hover { background: rgba(63, 63, 70, .65); border-color: rgba(var(--p-base-rgb), .3); }

/* ===== A3a Responsive Mobile (minimal safe — pas de sidebar) ===== */
@media (max-width: 768px) {
  .logs-tab { height: auto; }
  .logs-toolbar { flex-wrap: wrap; gap: .35rem; padding: .4rem .5rem; }
  .logs-toolbar label { font-size: .75rem; }
  .logs-toolbar select, .logs-toolbar button { font-size: .78rem; padding: .2rem .45rem; }
  .logs-toolbar input[type="search"] { min-width: 140px; font-size: 16px; }
}

/* ============================================================================
   STANDARD TOOLBAR — uniforme reference Biometrie sante (Vincent 2026-05-10)
   Zone figee (min-height 3.15rem) + controls cohérents (bg .45, radius 6, h 28).
   ============================================================================ */
.logs-toolbar {
  min-height: 3.15rem !important;
  box-sizing: border-box !important;
}
.logs-toolbar input[type="search"],
.logs-toolbar input[type="text"],
.logs-toolbar input[type="date"],
.logs-toolbar input[type="number"],
.logs-toolbar select,
.logs-toolbar button.t-btn {
  background: rgba(39, 39, 42, .45);
  color: #e2e8f0;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 6px;
  padding: .22rem .55rem;
  font-size: .82rem;
  font-family: 'Menlo','Consolas',monospace;
  height: 28px;
  box-sizing: border-box;
  line-height: 1.2;
}
.logs-toolbar button.t-btn:hover:not(:disabled) {
  background: rgba(var(--p-base-rgb), .18);
  color: var(--p-base);
  border-color: rgba(var(--p-base-rgb), .35);
}
.logs-toolbar label {
  font-size: .82rem;
  color: #d4d4d8;
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  line-height: 1.2;
}
