/* Console centrale : compléments à la feuille de style de l'application (app.css). */
.level-dot { width: 12px; height: 12px; border-radius: 50%; flex-shrink: 0; }
.lvl-ok { background: var(--success); }
.lvl-info { background: var(--blue); }
.lvl-warn { background: var(--warning); }
.lvl-danger { background: var(--danger); }
.inst-meta { display: flex; flex-direction: column; align-items: flex-end; min-width: 120px; text-align: right; }
.key-block { display: block; white-space: pre-wrap; word-break: break-all; background: var(--surface-2); border-radius: 10px; padding: 12px; font-size: .84rem; }
.check-list { display: flex; flex-wrap: wrap; gap: 4px 18px; margin-bottom: 12px; }
.check-list.col { flex-direction: column; }
.ellipsis { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.list-row.clickable { color: inherit; text-decoration: none; }
.upload-row { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.upload-row .input { flex: 1; min-width: 200px; }
.text-danger { color: var(--danger); }
.small-strong { font-size: 1rem; }
.stat-amber::before { background: var(--warning); }
@media (max-width: 900px) { .topbar .icon-btn { display: inline-grid; } }
@media (max-width: 600px) {
  .inst-row { flex-wrap: wrap; }
  .inst-row .grow { flex: 1 1 calc(100% - 30px); min-width: 0; }
  .inst-row .inst-meta { flex-direction: row; gap: 8px; align-items: baseline; min-width: 0; margin-left: 24px; }
  .inst-row .chip { margin-left: auto; }
}
