/* upload-queue.css — un singur card flotant dreapta-jos, cu listă scrollabilă de job-uri. */
/* Coada de upload rămâne un panou persistent de progres, nu un toast. Stă însă
   în același colț cu stiva de mesaje, deci are z-index sub cel al toast-urilor
   (1120), un mesaj de eroare trebuie citit chiar și peste panou. Vechiul
   2147483000 îl așeza și peste modale, și peste mesaje. */
.ruq-root {
  position: fixed;
  right: 1rem;
  /* Se sprijină pe podeaua impusă de barele fixe (burtiera PNRR o declară), NU pe
     banda toast-urilor: panoul îi împinge pe ei mai sus, deci dacă ar citi aceeași
     variabilă pe care o scrie, s-ar urmări singur la fiecare fișier adăugat. */
  bottom: var(--rnc-bara-jos, 1rem);
  z-index: 1070;
  width: 360px;
  max-width: calc(100vw - 2rem);
  pointer-events: none;
}
.ruq-panel {
  pointer-events: auto;
  display: none;
  flex-direction: column;
  background: #fff;
  border: 1px solid rgba(8, 37, 73, .12);
  border-radius: 14px;
  box-shadow: 0 18px 40px -20px rgba(8, 37, 73, .55);
  max-height: min(70vh, 520px);
  overflow: hidden;
  font: 13px/1.4 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color: #1f2d44;
}
.ruq-panel.is-shown { display: flex; }
.ruq-panel__head {
  flex-shrink: 0;
  padding: .7rem .9rem;
  font-weight: 700;
  font-size: .9rem;
  color: #102845;
  border-bottom: 1px solid rgba(8, 37, 73, .08);
}
.ruq-panel__count { color: #6b7a93; font-weight: 600; }
.ruq-list {
  overflow-y: auto;
  padding: .5rem;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.ruq-job { border: 1px solid rgba(8, 37, 73, .1); border-radius: 10px; padding: .6rem .7rem; }
.ruq-job--ok { border-color: rgba(30, 125, 75, .35); }
.ruq-job--err { border-color: rgba(192, 57, 43, .4); }

.ruq-job__head { display: flex; align-items: flex-start; gap: .5rem; }
.ruq-job__titlewrap { flex: 1; min-width: 0; }
.ruq-job__title { font-weight: 700; font-size: .85rem; color: #102845; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ruq-job__sub { font-size: .74rem; color: #6b7a93; margin-top: .1rem; }
.ruq-job__close { border: 0; background: transparent; color: #8a98ad; cursor: pointer; font-size: 1.05rem; line-height: 1; padding: 0 .15rem; }
.ruq-job__close:hover { color: #c0392b; }

.ruq-bar { height: 6px; border-radius: 999px; background: rgba(8, 37, 73, .1); overflow: hidden; margin: .5rem 0 .4rem; }
.ruq-bar__fill { height: 100%; width: 0; background: #2f6fb0; border-radius: 999px; transition: width .3s ease; }
.ruq-job--ok .ruq-bar__fill { background: #1e7d4b; }
.ruq-job--err .ruq-bar__fill { background: #c0392b; }

.ruq-job__status { font-size: .76rem; color: #43536e; margin-bottom: .3rem; }
.ruq-job--err .ruq-job__status { color: #c0392b; }

.ruq-files { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .15rem; }
.ruq-file { display: flex; align-items: center; gap: .4rem; font-size: .76rem; color: #43536e; }
.ruq-file__ic { width: 1rem; text-align: center; flex-shrink: 0; }
.ruq-file__nm { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ruq-file--uploaded .ruq-file__ic { color: #1e7d4b; }
.ruq-file--uploading .ruq-file__ic { color: #2f6fb0; }
.ruq-file--error .ruq-file__ic { color: #c0392b; }

.ruq-job__retry {
  margin-top: .5rem; border: 1px solid rgba(8, 37, 73, .2); background: #fff;
  border-radius: 8px; padding: .25rem .6rem; font-size: .76rem; cursor: pointer; color: #243b5e;
}
.ruq-job__retry:hover { background: #f3f6fb; }
