/* style.css — reguli specifice Runtime Tracker. Componentele si tokenii vin din assets/aviseco-*.css.
   Prefix .rt- pentru tot ce e propriu aplicatiei. Nicio culoare/dimensiune hardcodata. */

.rt-sidebar__jos { margin-top: auto; display: flex; flex-direction: column; gap: var(--avs-space-2); }
/* Sidebar-ul ramane pe ecran la derulare si pe desktop */
@media (min-width: 901px) { .rt-sidebar { position: sticky; top: 0; height: 100vh; overflow-y: auto; } }
.rt-cine { color: var(--avs-sky-300); overflow-wrap: anywhere; }
.rt-btn-alb { color: var(--avs-white); justify-content: flex-start; }

/* Ecranul de login: fara meniu, centrat */
body[data-ecran="login"] .avs-sidebar { display: none; }
.rt-login__app { display: flex; align-items: center; justify-content: center; gap: var(--avs-space-2); margin-bottom: var(--avs-space-4); font-weight: var(--avs-weight-semibold); color: var(--avs-navy-700); }
[data-theme="dark"] .rt-login__app { color: var(--avs-sky-300); }
@media (prefers-color-scheme: dark) { html:not([data-theme="light"]) .rt-login__app { color: var(--avs-sky-300); } }
.rt-login { max-width: 26rem; margin: var(--avs-space-12) auto; }
.rt-login__logo { width: 11rem; display: block; margin: 0 auto var(--avs-space-6); }

/* Metrici */
.rt-tinta { display: flex; gap: var(--avs-space-3); flex-wrap: wrap; align-items: center; }
.rt-procent { font-variant-numeric: tabular-nums; }
.rt-drill { cursor: pointer; }
.rt-drill:hover { background: var(--avs-bg-subtle); }
.rt-drill:focus-visible { outline: 2px solid var(--avs-sky-400); outline-offset: -2px; }

/* Utilitare */
.rt-skeleton { height: var(--avs-space-16); }
.rt-card-tabel { padding: 0; overflow: hidden; }
.rt-card-tabel .avs-card__header { margin: 0; padding: var(--avs-space-4) var(--avs-space-5); }
.rt-card-tabel .avs-table-wrap { border: 0; border-radius: 0; }
.rt-card-tabel .avs-empty { padding: var(--avs-space-8); }

/* Parola cu buton „vezi parola” */
.rt-parola { position: relative; }
.rt-parola .avs-input { padding-right: var(--avs-space-12); }
.rt-parola__ochi { position: absolute; right: var(--avs-space-1); top: 50%; transform: translateY(-50%);
  min-height: 36px; min-width: 44px; padding: 0; color: var(--avs-text-secondary); }
.rt-parola__ochi:hover { color: var(--avs-text-primary); }

/* Brand: logo Aviseco + iconita si numele aplicatiei */
.rt-brand { display: flex; flex-direction: column; gap: var(--avs-space-3); }
.rt-brand__app { display: flex; align-items: center; gap: var(--avs-space-2); color: var(--avs-sky-300);
  font-weight: var(--avs-weight-semibold); font-size: var(--avs-text-sm); letter-spacing: .02em; }
.rt-brand__icon { width: 28px; height: 28px; border-radius: var(--avs-radius-sm); display: block; }
.rt-btn-alb svg { flex: none; }

/* Telefon (< 900px): bara de sus compacta — iconita + nume, meniul, doua butoane doar cu iconita */
@media (max-width: 900px) {
  .rt-sidebar { padding: var(--avs-space-2) var(--avs-space-3); gap: var(--avs-space-3);
    position: sticky; top: 0; z-index: var(--avs-z-sticky); }
  .rt-brand__logo { display: none; }
  .rt-brand__nume { display: none; }
  /* Aliniere pe acelasi rand cu iconurile de pagini (02.09.2026): fara ancora goala a
     logo-ului de desktop deasupra, brandul devine rand centrat vertical. */
  .rt-brand { flex-direction: row; align-items: center; gap: 0; }
  .rt-brand > a:first-child { display: none; }
  /* Dimensiune optica egala (02.09.2026): pulsul e desenat cu margine interna in placuta,
     deci placuta primeste 48px ca desenul interior sa fie clar cel mai mare element din header. */
  .rt-brand__icon { width: 48px; height: 48px; }
  .rt-nav__item svg { width: 24px; height: 24px; }
  .rt-nav { flex: 1; overflow-x: auto; }
  .rt-nav .avs-nav-item { white-space: nowrap; padding: var(--avs-space-2) var(--avs-space-3); }
  .rt-sidebar__jos { flex-direction: row; gap: 0; margin-top: 0; margin-left: auto; align-self: center; }
  .rt-cine { display: none; }
  .rt-btn__txt, .rt-nav__txt { display: none; }
  .rt-nav { gap: var(--avs-space-1); }
  .rt-nav__item { min-width: 44px; min-height: 44px; justify-content: center; padding: 0 var(--avs-space-2); }
  .rt-btn-alb { min-width: 44px; min-height: 44px; justify-content: center; padding: 0; }
  body[data-ecran="login"] .rt-sidebar { display: none; }
}
@media (max-width: 380px) { .rt-nav .avs-nav-item { font-size: var(--avs-text-sm); } }

/* AVS + avatar cu initiale */
.rt-brand__avs { color: var(--avs-white); font-weight: var(--avs-weight-bold); letter-spacing: .08em; font-size: var(--avs-text-md); }
.rt-brand__nume { color: var(--avs-sky-300); }
.rt-avatar { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; flex: none;
  border-radius: var(--avs-radius-full); background: var(--avs-sky-300); color: var(--avs-navy-900);
  font-weight: var(--avs-weight-bold); font-size: var(--avs-text-sm); letter-spacing: .04em; }
.rt-avatar:empty { display: none; }
@media (max-width: 900px) { .rt-sidebar__jos { align-items: center; gap: var(--avs-space-1); } }

.rt-nav__item { display: inline-flex; align-items: center; gap: var(--avs-space-2); }
.rt-nav__item svg { flex: none; }

/* Login pe desktop: fara coloana sidebar-ului (altfel continutul cade in coloana de 248px), card centrat pe ecran */
body[data-ecran="login"] .avs-app { grid-template-columns: 1fr; }
body[data-ecran="login"] .avs-main { min-height: 100vh; display: flex; align-items: center; justify-content: center; }
body[data-ecran="login"] .avs-content { width: 100%; }
.rt-login { width: 100%; max-width: 28rem; margin: 0 auto; }
@media (min-width: 901px) { .rt-login { padding: var(--avs-space-8); } }

/* Logo pe login: varianta color pe fundal deschis, varianta alba pe tema dark (regula 04-logo) */
.rt-logo--dark { display: none; }
[data-theme="dark"] .rt-logo--light { display: none; }
[data-theme="dark"] .rt-logo--dark { display: block; }
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) .rt-logo--light { display: none; }
  html:not([data-theme="light"]) .rt-logo--dark { display: block; }
}

/* Ecranul C — validare */
.rt-val { max-width: 40rem; margin: 0 auto; }
.rt-val .rt-chips { margin-bottom: var(--avs-space-4); }
.rt-val__lista { display: flex; flex-direction: column; gap: var(--avs-space-3); }
.rt-val__card { transition: opacity var(--avs-motion-slow) var(--avs-ease); }
.rt-val__card--gata { opacity: 0; }
.rt-val__cap { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--avs-space-3); margin-bottom: var(--avs-space-3); }
.rt-val__rez { display: grid; grid-template-columns: 6rem minmax(0, 1fr); gap: var(--avs-space-1) var(--avs-space-3); margin: 0 0 var(--avs-space-4); font-size: var(--avs-text-sm); }
.rt-val__rez dt { color: var(--avs-text-tertiary); font-weight: var(--avs-weight-medium); }
.rt-val__rez dd { margin: 0; overflow-wrap: anywhere; }
.rt-val__motiv { color: var(--avs-danger); font-weight: var(--avs-weight-medium); }
.rt-val__actiuni { display: flex; gap: var(--avs-space-3); flex-wrap: wrap; }
.rt-val__actiuni .avs-btn--lg { flex: 1; min-height: 48px; }
.rt-val__contest { margin-top: var(--avs-space-3); display: flex; flex-direction: column; gap: var(--avs-space-2); }
.rt-val .rt-poze { margin-top: var(--avs-space-2); }
.rt-val .rt-poze img { width: 96px; height: 96px; }
@media (max-width: 420px) { .rt-val__rez { grid-template-columns: 1fr; } .rt-val__rez dt { margin-top: var(--avs-space-2); } }

/* Ecranul B — dashboard */
.rt-db__bara { flex-wrap: wrap; gap: var(--avs-space-3); }
.rt-db__filtre { display: flex; align-items: center; gap: var(--avs-space-2); flex-wrap: wrap; }
.rt-db__filtre .avs-input, .rt-db__filtre .avs-select { width: auto; min-width: 10rem; }
.rt-db__scurgeri { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: var(--avs-space-3); padding: var(--avs-space-4) var(--avs-space-5) 0; }
.rt-db__lei { display: flex; flex-direction: column; align-items: flex-start; gap: var(--avs-space-1); min-height: auto; padding: var(--avs-space-3) var(--avs-space-4);
  border: 1px solid var(--avs-border); border-radius: var(--avs-radius-md); text-align: left; }
.rt-db__lei .avs-stat__value { font-size: var(--avs-text-2xl); }
.rt-db__nota { padding: var(--avs-space-3) var(--avs-space-5); margin: 0; font-size: var(--avs-text-sm); }
.rt-cal { padding: var(--avs-space-4) var(--avs-space-5); border-top: 1px solid var(--avs-border); }
.rt-cal__zile { display: flex; flex-wrap: wrap; gap: var(--avs-space-1); margin-top: var(--avs-space-2); }
.rt-drill-panou { border: 2px solid var(--avs-navy-700); }
.rt-drill-zi { padding: var(--avs-space-4) var(--avs-space-5); border-top: 1px solid var(--avs-border); }
.rt-drill-zi h3 { margin: 0 0 var(--avs-space-3); font-size: var(--avs-text-md); }
.rt-drill-zi .avs-table-wrap { margin-bottom: var(--avs-space-3); border: 1px solid var(--avs-border); border-radius: var(--avs-radius-sm); }

/* Ecranul D — administrare */
.rt-adm { max-width: 72rem; }
.rt-adm__taburi { margin-bottom: var(--avs-space-4); }
.rt-adm .avs-table td .rt-meta { margin-top: var(--avs-space-1); }
.avs-modal form { max-width: 32rem; }

/* Footer fix: acces restrictionat + versiunea */
.rt-footer { position: fixed; left: 0; right: 0; bottom: 0; z-index: var(--avs-z-sticky);
  display: flex; align-items: center; justify-content: center; gap: var(--avs-space-2);
  height: 26px; background: var(--avs-bg-surface); border-top: 1px solid var(--avs-border);
  color: var(--avs-text-tertiary); font-size: var(--avs-text-xs); }
.rt-footer svg { flex: none; }
.avs-content { padding-bottom: calc(var(--avs-space-8) + 26px); }

/* Pagina Acasa */
.rt-acasa { max-width: 46rem; margin: 0 auto; }
.rt-acasa__intro { margin: 0 0 var(--avs-space-4); }
.rt-acasa__lista { display: flex; flex-direction: column; gap: var(--avs-space-3); }
.rt-acasa__card { display: flex; gap: var(--avs-space-4); align-items: flex-start; text-decoration: none; color: inherit; }
.rt-acasa__card:hover { border-color: var(--avs-action); }
.rt-acasa__card:focus-visible { outline: 2px solid var(--avs-sky-400); outline-offset: 2px; }
.rt-acasa__icon { color: var(--avs-navy-700); flex: none; margin-top: 2px; }
[data-theme="dark"] .rt-acasa__icon { color: var(--avs-sky-300); }
.rt-acasa__card .rt-meta { margin-top: var(--avs-space-1); }
.rt-acasa__nota { margin-top: var(--avs-space-6); font-size: var(--avs-text-sm); }

/* Pagina Analiza (model: dashboard_istoric.html, adaptat la aplicatie) */
.rt-an__filtre { display: flex; flex-wrap: wrap; gap: var(--avs-space-4); align-items: flex-end;
  padding: var(--avs-space-4) 0; border-bottom: 1px solid var(--avs-border); margin-bottom: var(--avs-space-4); }
.rt-an__grup .avs-label { display: block; margin-bottom: var(--avs-space-2); }
.rt-an__cauta { min-width: 220px; }
.rt-an__reset { margin-left: auto; }
.rt-an .rt-chip { min-height: 34px; padding: 0 var(--avs-space-3); font-size: var(--avs-text-sm); }
.rt-an__kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: var(--avs-space-3); margin-bottom: var(--avs-space-6); }
.rt-an__kpis .avs-card { padding: var(--avs-space-4); display: flex; flex-direction: column; gap: 2px; }
.rt-an__kpis .v { font-size: var(--avs-text-3xl); line-height: var(--avs-lh-3xl);
  font-weight: var(--avs-weight-bold); font-variant-numeric: tabular-nums; }
.rt-an__kpis .v.warn { color: var(--avs-warning); }
.rt-an__kpis .v.dang { color: var(--avs-danger); }
.rt-an__kpis .hint { font-family: var(--avs-font-mono); font-size: var(--avs-text-xs); color: var(--avs-text-tertiary); }
.rt-an__grila { display: grid; grid-template-columns: 1fr 1fr; gap: var(--avs-space-6); margin-bottom: var(--avs-space-6); }
@media (max-width: 880px) { .rt-an__grila { grid-template-columns: 1fr; } }
.rt-an__cap { font-size: var(--avs-text-xs); color: var(--avs-text-tertiary); margin: 0 0 var(--avs-space-3); }
.rt-an__bare { display: flex; flex-direction: column; gap: var(--avs-space-2); }
.rt-an__bara { display: grid; grid-template-columns: 130px 1fr 84px; gap: var(--avs-space-3); align-items: center; }
.rt-an__bara .nm { font-size: var(--avs-text-sm); font-weight: var(--avs-weight-medium);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rt-an__bara .nm[role="button"] { cursor: pointer; }
.rt-an__bara .nm[role="button"]:hover { color: var(--avs-text-link); }
.rt-an__pista { height: 24px; background: var(--avs-bg-subtle); border: 1px solid var(--avs-border);
  border-radius: var(--avs-radius-sm); overflow: hidden; position: relative; }
.rt-an__plin { position: absolute; inset: 0 auto 0 0; background: color-mix(in srgb, var(--avs-navy-500) 45%, transparent);
  border-right: 2px solid var(--avs-navy-600); transition: width var(--avs-motion-base) var(--avs-ease); }
[data-theme="dark"] .rt-an__plin { border-right-color: var(--avs-sky-400); }
.rt-an__bara .val { text-align: right; font-family: var(--avs-font-mono); font-variant-numeric: tabular-nums;
  font-weight: var(--avs-weight-semibold); font-size: var(--avs-text-sm); }
.rt-an__bara .val small { display: block; font-size: var(--avs-text-xs); font-weight: var(--avs-weight-regular); color: var(--avs-text-tertiary); }
.rt-an__zile { display: flex; gap: 2px; align-items: flex-end; height: 96px; border-bottom: 1px solid var(--avs-border-strong); }
.rt-an__zi { flex: 1; min-width: 4px; background: color-mix(in srgb, var(--avs-navy-500) 45%, transparent);
  border-radius: 2px 2px 0 0; position: relative; }
.rt-an__zi:hover { background: var(--avs-navy-600); }
.rt-an__zi.rw { background: color-mix(in srgb, var(--avs-danger) 55%, transparent); }
.rt-an__zi .tip { display: none; position: absolute; bottom: calc(100% + 6px); left: 50%; transform: translateX(-50%);
  background: var(--avs-navy-900); color: var(--avs-white); font-family: var(--avs-font-mono); font-size: var(--avs-text-xs);
  padding: 3px 8px; border-radius: var(--avs-radius-sm); white-space: nowrap; z-index: 5; }
.rt-an__zi:hover .tip { display: block; }
.rt-an__axa { display: flex; justify-content: space-between; font-family: var(--avs-font-mono);
  font-size: var(--avs-text-xs); color: var(--avs-text-tertiary); margin-top: var(--avs-space-1); }
.rt-an__tabel .avs-table-wrap { max-height: 60vh; }
.rt-an__tx { max-width: 46ch; font-size: var(--avs-text-xs); color: var(--avs-text-secondary); line-height: var(--avs-lh-xs); }

.rt-adm__sterge { color: var(--avs-danger); }
.rt-adm__sterge:hover { background: var(--avs-danger-bg); }

/* Administrare — grup de bife pentru matricea de alocare (01.09.2026) */
.rt-multicheck { display: flex; flex-wrap: wrap; gap: var(--avs-space-2) var(--avs-space-5); padding: var(--avs-space-2) 0; }
.rt-multicheck .avs-check { margin: 0; }

/* Alocari (01.09.2026) — matricea proiect × firma, articolele per proiect, rezumatul pe roluri */
.rt-mx td, .rt-mx th { vertical-align: middle; }
.rt-mx__cel { text-align: center; }
.rt-mx .rt-meta { display: block; font-weight: var(--avs-weight-medium); }
.rt-aloc { display: inline-flex; align-items: center; justify-content: center; gap: var(--avs-space-2);
  min-width: 116px; min-height: 36px; padding: 0 var(--avs-space-3);
  border: 1px solid var(--avs-border-strong); border-radius: var(--avs-radius-full);
  background: var(--avs-bg-surface); color: var(--avs-text-tertiary); font: inherit; font-size: var(--avs-text-sm);
  cursor: pointer;
  transition: background var(--avs-motion-base) var(--avs-ease), border-color var(--avs-motion-base) var(--avs-ease), color var(--avs-motion-base) var(--avs-ease); }
.rt-aloc:hover { background: var(--avs-bg-subtle); border-color: var(--avs-navy-500); }
.rt-aloc:focus-visible { outline: 2px solid var(--avs-sky-400); outline-offset: 2px; }
.rt-aloc[aria-checked="true"] { background: var(--avs-action); border-color: var(--avs-action); color: var(--avs-action-text); }
.rt-aloc[disabled] { opacity: .55; cursor: progress; }
.rt-aloc__punct { width: 7px; height: 7px; border-radius: var(--avs-radius-full); background: var(--avs-sky-300); flex: none; }
.rt-aloc-sursa { font-size: var(--avs-text-xs); opacity: .8; }
.rt-alocari__proiecte { margin-bottom: var(--avs-space-4); }
.rt-artmx { display: flex; flex-wrap: wrap; gap: var(--avs-space-2); }
.rt-artmx .rt-chip { min-height: 40px; font-size: var(--avs-text-sm); }
.rt-artmx .rt-chip[data-fix="1"][aria-pressed="true"] { border-style: dashed; cursor: default; }
.rt-mx__da { color: var(--avs-action); font-weight: var(--avs-weight-medium); }
.rt-mx__nu { color: var(--avs-text-tertiary); }

/* Dark mode on/off (02.09.2026): starea comutatorului, derivata din aria-pressed */
#btnTema .rt-tema-stare::after { content: 'off'; font-size: var(--avs-text-xs); opacity: .75; }
#btnTema[aria-pressed="true"] .rt-tema-stare::after { content: 'on'; }

/* Desktop: initiala contului pe acelasi rand cu butonul de iesire (02.09.2026) */
.rt-cont-rand { display: flex; align-items: center; gap: var(--avs-space-2); }
@media (max-width: 900px) { .rt-cont-rand { gap: var(--avs-space-1); } }
