/* rnc-incarcare.css — fereastra comuna „Incarca documente".
 * FISIER IDENTIC in dosar_cladire, aplicatii_tehnice si rnc_referential (ca rnc-bara.css).
 * Toate clasele sunt prefixate `rinc-`; variabilele stau pe .rinc / .rinc-sertar, nu pe :root,
 * ca sa nu atinga tema gazdei. */

.rinc-sertar, .rinc {
  --rinc-ink: #0f213a; --rinc-txt: #16324f; --rinc-mut: rgba(22, 50, 79, .62);
  --rinc-lin: rgba(0, 72, 144, .1); --rinc-brand: #0f67be; --rinc-brand2: #1d8bd1;
  --rinc-ok: #1c8f64; --rinc-err: #b42318; --rinc-fond: #f3f7fc;
}

/* ── Sertarul (fereastra laterala) ── */
html.rinc-deschis, html.rinc-deschis body { overflow: hidden; }
.rinc-scrim {
  position: fixed; inset: 0; z-index: 2000; background: rgba(15, 29, 51, .32);
  opacity: 0; transition: opacity .2s ease; backdrop-filter: blur(1.5px);
}
.rinc-scrim.is-deschis { opacity: 1; }
.rinc-sertar {
  position: fixed; top: 0; right: 0; bottom: 0; z-index: 2001; width: min(620px, 100vw);
  background: #fff; box-shadow: -24px 0 60px rgba(8, 37, 73, .25); border-radius: 18px 0 0 18px;
  transform: translateX(104%); transition: transform .22s cubic-bezier(.2, .8, .2, 1);
  display: flex; flex-direction: column; overflow: hidden; color: var(--rinc-txt);
}
.rinc-sertar.is-deschis { transform: none; }
.rinc-sertar[hidden], .rinc-scrim[hidden] { display: none; }
.rinc-sertar__corp { flex: 1; min-height: 0; display: flex; flex-direction: column; }
@media (max-width: 640px) { .rinc-sertar { border-radius: 0; } }
@media (prefers-reduced-motion: reduce) { .rinc-sertar, .rinc-scrim { transition: none; } }

/* ── Componenta ── */
.rinc {
  flex: 1; min-height: 0; display: grid; grid-template-rows: auto minmax(0, 1fr) auto auto auto;
  font-size: 14px; line-height: 1.45; color: var(--rinc-txt); background: #fff;
}
.rinc *, .rinc *::before, .rinc *::after { box-sizing: border-box; }
.rinc svg, .rinc-sertar svg {
  width: 1em; height: 1em; flex: none; fill: none; stroke: currentColor; stroke-width: 2;
  stroke-linecap: round; stroke-linejoin: round; vertical-align: -.125em;
}
.rinc button, .rinc input, .rinc select, .rinc textarea { font: inherit; }
.rinc :focus-visible { outline: 3px solid rgba(15, 103, 190, .4); outline-offset: 2px; }
.rinc-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }

/* antet */
.rinc__cap {
  padding: 16px 20px 12px; border-bottom: 1px solid #e8eef6;
  background: linear-gradient(120deg, #e9f1ff, #f6f9ff 45%, #fff);
}
.rinc__titlu { display: flex; align-items: center; gap: 12px; }
.rinc__titlu-t { min-width: 0; flex: 1; }
.rinc-ic {
  width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; font-size: 18px;
  color: var(--rinc-brand); background: rgba(15, 103, 190, .09);
}
.rinc-ic--plin { color: #fff; background: linear-gradient(135deg, var(--rinc-brand), var(--rinc-brand2)); box-shadow: 0 6px 14px rgba(15, 103, 190, .25); }
.rinc__kicker {
  margin: 0; font-size: 11.5px; font-weight: 600; color: #5f7fa6; display: flex; gap: 5px; align-items: center;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.rinc__kicker span { overflow: hidden; text-overflow: ellipsis; }
.rinc__kicker b { color: var(--rinc-ink); font-weight: 700; }
.rinc__kicker svg { color: var(--rinc-brand); margin-right: 3px; }
.rinc__h { margin: 1px 0 0; font-size: 18px; font-weight: 800; color: var(--rinc-ink); letter-spacing: -.01em; }
.rinc__x {
  width: 36px; height: 36px; border-radius: 10px; border: 1px solid var(--rinc-lin); background: #fff;
  color: var(--rinc-txt); display: grid; place-items: center; cursor: pointer; font-size: 16px;
}
.rinc__x:hover { background: #eef4fb; border-color: rgba(15, 103, 190, .35); }
.rinc-pagina .rinc__x { display: none; }
/* stepper 1 · 2 · 3 · 4: cercuri numerotate legate printr-o linie */
.rinc-pasi { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 14px 0 0; padding: 0; counter-reset: none; }
.rinc-pasi li { position: relative; min-width: 0; }
.rinc-pasi li + li::before {
  content: ""; position: absolute; top: 15px; left: calc(-50% + 20px); right: calc(50% + 20px); height: 2px;
  background: #d8e3f0; border-radius: 2px;
}
.rinc-pasi li.is-gata + li::before { background: var(--rinc-ok); }
.rinc-pasi button {
  width: 100%; display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 0 2px; border: 0; background: none;
  cursor: pointer; color: var(--rinc-mut); font: inherit; text-align: center; border-radius: 10px;
}
.rinc-pasi button:hover .rinc-nr { box-shadow: 0 0 0 4px rgba(15, 103, 190, .12); }
.rinc-pasi__t { display: flex; flex-direction: column; font-size: 11.5px; font-weight: 800; line-height: 1.25; color: var(--rinc-txt); min-width: 0; max-width: 100%; }
.rinc-pasi__t small { font-size: 10.5px; font-weight: 600; color: var(--rinc-mut); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rinc-pasi li.is-curent .rinc-pasi__t { color: var(--rinc-brand); }
.rinc-pasi li.is-err .rinc-pasi__t, .rinc-pasi li.is-err .rinc-pasi__t small { color: #b42318; }
.rinc-pasi li.is-gata .rinc-pasi__t small { color: #14684a; }

/* cercul numerotat (antet + titlurile sectiunilor) */
.rinc-nr {
  position: relative; flex: none; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center;
  font-size: 13px; font-weight: 800; color: #5f7fa6; background: #fff; border: 2px solid #d3deeb; transition: background .15s, border-color .15s, box-shadow .15s;
}
.rinc-nr i { font-style: normal; font-variant-numeric: tabular-nums; }
.is-curent > button > .rinc-nr, .rinc-sec.is-curent .rinc-nr { color: #fff; background: var(--rinc-brand); border-color: var(--rinc-brand); box-shadow: 0 0 0 4px rgba(15, 103, 190, .14); }
.is-gata > button > .rinc-nr, .rinc-sec.is-gata .rinc-nr { color: #fff; background: var(--rinc-ok); border-color: var(--rinc-ok); }
.is-err > button > .rinc-nr, .rinc-sec.is-err .rinc-nr { color: #b42318; background: #fff1f0; border-color: #f0a29b; }
/* bifa / semnul de exclamare inlocuiesc numarul */
.is-gata > button > .rinc-nr i, .rinc-sec.is-gata .rinc-nr i,
.is-err > button > .rinc-nr i, .rinc-sec.is-err .rinc-nr i { font-size: 0; }
.is-gata > button > .rinc-nr::after, .rinc-sec.is-gata .rinc-nr::after {
  content: ""; width: 10px; height: 6px; border: solid currentColor; border-width: 0 0 2.5px 2.5px; transform: translateY(-1px) rotate(-45deg);
  position: absolute;
}
.is-err > button > .rinc-nr::after, .rinc-sec.is-err .rinc-nr::after { content: "!"; position: absolute; font-size: 14px; font-weight: 900; }
@media (max-width: 480px) { .rinc-pasi__t small { display: none; } .rinc-pasi__t { font-size: 10.5px; } }

/* zona derulabila a campurilor (umbre la margini cand mai e continut) */
.rinc__campuri {
  overflow: auto; overscroll-behavior: contain; padding: 14px 20px 18px; display: grid; gap: 10px; align-content: start;
  background:
    linear-gradient(#fff 30%, rgba(255, 255, 255, 0)) top / 100% 24px no-repeat local,
    radial-gradient(farthest-side at 50% 0, rgba(8, 37, 73, .14), transparent) top / 100% 10px no-repeat scroll,
    linear-gradient(rgba(255, 255, 255, 0), #fff 70%) bottom / 100% 24px no-repeat local,
    radial-gradient(farthest-side at 50% 100%, rgba(8, 37, 73, .14), transparent) bottom / 100% 10px no-repeat scroll;
  background-color: #fff;
}
.rinc__campuri:focus { outline: 0; }
.rinc-campuri-schema { display: grid; gap: 10px; }
.rinc-sec { display: grid; gap: 10px; scroll-margin-top: 12px; }
.rinc-sec + .rinc-sec { margin-top: 8px; padding-top: 16px; border-top: 1px dashed #e1e9f3; }
.rinc-sec__t { margin: 0; display: flex; align-items: center; gap: 10px; font-size: 14.5px; font-weight: 800; color: var(--rinc-ink); }
.rinc-sec__t .rinc-nr { width: 28px; height: 28px; font-size: 12.5px; }
.rinc-sec__t--ctx { font-size: 12.5px; gap: 7px; color: var(--rinc-mut); }
.rinc-sec__t--ctx svg { color: var(--rinc-brand); }
.rinc-card { border: 1px solid var(--rinc-lin); border-radius: 14px; background: #fff; padding: 12px; box-shadow: 0 8px 20px rgba(8, 37, 73, .04); }
.rinc-card.rinc-grila { padding: 12px; }
.rinc-unde { display: grid; gap: 8px; }
.rinc-ctx {
  display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; padding: 10px 12px; border-radius: 12px;
  background: var(--rinc-fond); border: 1px solid var(--rinc-lin);
}
.rinc-ctx__k { font-size: 10.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--rinc-mut); }
.rinc-ctx b { margin-right: 6px; color: var(--rinc-ink); font-size: 13px; }

/* grupe (details) */
.rinc-grupa { border: 1px solid var(--rinc-lin); border-radius: 14px; background: #fff; transition: box-shadow .15s, border-color .15s; }
.rinc-grupa[open] { box-shadow: 0 8px 20px rgba(8, 37, 73, .05); }
.rinc-grupa.is-err { border-color: rgba(220, 38, 38, .35); }
.rinc-grupa summary { list-style: none; display: flex; align-items: center; gap: 10px; padding: 10px 12px; cursor: pointer; border-radius: 14px; }
.rinc-grupa summary::-webkit-details-marker { display: none; }
.rinc-grupa summary:hover { background: #f8fbff; }
.rinc-grupa summary b { font-size: 13.5px; color: var(--rinc-ink); min-width: 0; }
.rinc-grupa__ic { width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; font-size: 15px; color: var(--rinc-brand); background: rgba(15, 103, 190, .09); flex: none; }
.rinc-grupa.is-err .rinc-grupa__ic { color: var(--rinc-err); background: rgba(220, 38, 38, .08); }
.rinc-grupa__n {
  margin-left: auto; font-size: 11.5px; font-weight: 800; color: var(--rinc-mut); background: var(--rinc-fond);
  padding: 2px 8px; border-radius: 999px; white-space: nowrap; font-variant-numeric: tabular-nums;
}
.rinc-grupa__sag { color: var(--rinc-mut); transition: transform .15s; }
.rinc-grupa[open] .rinc-grupa__sag { transform: rotate(180deg); }
.rinc-grupa__ajutor { margin: -2px 12px 8px; font-size: 12px; color: var(--rinc-mut); }
.rinc-grila { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; padding: 2px 12px 14px; }
.rinc-grila .rinc-grila { padding: 0; }
.rinc-lat { grid-column: 1 / -1; }
@media (max-width: 560px) { .rinc-grila { grid-template-columns: 1fr; } }
.rinc-sub { grid-column: 1 / -1; border: 1px solid rgba(0, 72, 144, .12); border-radius: 12px; padding: 10px 12px 12px; margin: 0; min-width: 0; }
.rinc-sub legend { font-size: 12.5px; font-weight: 800; color: #243b5e; padding: 0 6px; }
.rinc-sub > small { display: block; margin: 0 0 8px; font-size: 11.5px; color: #94a3b8; }

/* campuri */
.rinc-camp { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.rinc-camp label { font-size: 12.5px; font-weight: 700; color: #475569; display: flex; gap: 5px; align-items: center; }
.rinc-camp label svg { color: var(--rinc-brand); font-size: 13px; }
.rinc-camp label span { min-width: 0; }
.rinc-req { color: var(--rinc-err); }
.rinc-camp input:not([type=checkbox]), .rinc-camp select, .rinc-camp textarea {
  width: 100%; border: 1px solid #cfdaea; border-radius: 10px; padding: 9px 12px; font-size: 13.5px;
  background: #fff; color: #0f172a; min-height: 40px;
}
.rinc-camp textarea { resize: vertical; }
.rinc-camp input:focus, .rinc-camp select:focus, .rinc-camp textarea:focus { outline: 0; border-color: var(--rinc-brand); box-shadow: 0 0 0 3px rgba(15, 103, 190, .12); }
.rinc-camp small { font-size: 11.5px; color: #94a3b8; }
.rinc-camp small:empty { display: none; }
.rinc-camp.is-err input, .rinc-camp.is-err select, .rinc-camp.is-err textarea { border-color: #f0b4b4; box-shadow: 0 0 0 3px rgba(220, 38, 38, .08); }
.rinc-camp.is-err small { color: #dc2626; font-weight: 600; }
.rinc-camp--bifa { justify-content: center; }
.rinc-camp--bifa label { text-transform: none; letter-spacing: 0; font-size: 13.5px; font-weight: 600; color: var(--rinc-txt); cursor: pointer; gap: 8px; }
.rinc-camp--bifa input { width: 18px; height: 18px; accent-color: var(--rinc-brand); }
.rinc-gol { margin: 0; padding: 14px; border-radius: 12px; background: var(--rinc-fond); color: var(--rinc-mut); font-size: 13px; text-align: center; }

/* fisiere (pasul 3, in fluxul formularului) */
.rinc-drop {
  display: flex; align-items: center; gap: 14px; padding: 16px 16px; border: 2px dashed rgba(15, 103, 190, .35);
  border-radius: 14px; background: rgba(15, 103, 190, .03); cursor: pointer; transition: background .15s, border-color .15s;
}
.rinc-drop > svg { font-size: 24px; color: var(--rinc-brand); }
.rinc-drop div { display: flex; flex-direction: column; min-width: 0; }
.rinc-drop b { font-size: 13.5px; color: var(--rinc-ink); }
.rinc-drop small { font-size: 12px; color: var(--rinc-mut); }
.rinc-drop:hover, .rinc-drop.is-tras { border-color: var(--rinc-brand); background: rgba(15, 103, 190, .08); }
.rinc-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.rinc-lista:empty { display: none; }
.rinc-fis {
  display: grid; grid-template-columns: 28px minmax(0, 1fr) auto auto 30px; gap: 10px; align-items: center;
  padding: 6px 8px 6px 10px; border-radius: 10px; border: 1px solid var(--rinc-lin); background: #fff; font-size: 13px;
  animation: rinc-intra .18s ease-out;
}
.rinc-fis__ic { width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center; font-size: 15px; color: var(--rinc-brand); background: rgba(15, 103, 190, .09); }
.rinc-fis--pdf .rinc-fis__ic { color: #b42318; background: rgba(180, 35, 24, .08); }
.rinc-fis--imagine .rinc-fis__ic { color: #7a4fd0; background: rgba(122, 79, 208, .09); }
.rinc-fis__n { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--rinc-ink); font-weight: 600; }
.rinc-fis small { color: var(--rinc-mut); font-variant-numeric: tabular-nums; }
.rinc-fis__x { width: 30px; height: 30px; border: 0; border-radius: 8px; background: none; color: var(--rinc-mut); cursor: pointer; display: grid; place-items: center; }
.rinc-fis__x:hover { color: var(--rinc-err); background: rgba(180, 35, 24, .07); }
@keyframes rinc-intra { from { opacity: 0; transform: translateY(-3px); } }
@media (prefers-reduced-motion: reduce) { .rinc-fis { animation: none; } }

/* pastile */
.rinc-pil { display: inline-flex; align-items: center; gap: 5px; padding: 2px 9px; border-radius: 999px; font-size: 11px; font-weight: 800; white-space: nowrap; }
.rinc-pil::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.rinc-pil--ok { color: #14684a; background: rgba(28, 143, 100, .12); }
.rinc-pil--neu { color: #46617f; background: rgba(22, 50, 79, .08); }

/* bara de jos */
.rinc__jos { display: flex; align-items: center; gap: 12px; padding: 14px 20px; border-top: 1px solid #eef1f6; background: #fafcff; }
.rinc__sumar { flex: 1; min-width: 0; display: flex; gap: 8px; align-items: flex-start; font-size: 12.5px; color: #8a5405; }
.rinc__sumar svg { font-size: 16px; margin-top: 1px; }
.rinc__sumar.is-ok { color: #14684a; }
.rinc-link { background: none; border: 0; padding: 0; color: var(--rinc-brand); font-weight: 700; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.rinc-btn {
  display: inline-flex; align-items: center; gap: 7px; padding: 8px 14px; border-radius: 10px; font-size: 13px; font-weight: 700;
  border: 1px solid rgba(0, 72, 144, .2); background: #fff; color: var(--rinc-txt); cursor: pointer; white-space: nowrap;
}
.rinc-btn--p {
  padding: 11px 18px; font-size: 14px; border-radius: 11px; background: var(--rinc-brand); border-color: var(--rinc-brand);
  color: #fff; box-shadow: 0 6px 14px rgba(15, 103, 190, .22);
}
.rinc-btn--p:hover:not(:disabled) { background: #0d5aa7; }
.rinc-btn:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; }
.rinc__nota { margin: 0 20px 14px; padding: 9px 12px; border-radius: 10px; font-size: 13px; background: #e6f4ea; color: #1e7d4b; }
.rinc__nota.is-err { background: #fdecea; color: #b42318; }
@media (max-width: 480px) {
  .rinc__jos { flex-direction: column; align-items: stretch; }
  .rinc-btn--p { justify-content: center; }
}

/* asteptare / eroare */
.rinc-asteapta { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 3rem 1rem; color: var(--rinc-mut); font-size: 13.5px; text-align: center; }
.rinc-asteapta--err { color: #9a2a1d; }
.rinc-asteapta--err svg { font-size: 28px; }
.rinc-rotita { width: 26px; height: 26px; border-radius: 50%; border: 3px solid rgba(15, 103, 190, .15); border-top-color: var(--rinc-brand); animation: rinc-roteste .8s linear infinite; }
@keyframes rinc-roteste { to { transform: rotate(360deg); } }

/* pagina de sine statatoare (/upload-doc/) */
.rinc-pagina { max-width: 720px; margin: 1.5rem auto; padding: 0 16px; }
.rinc-pagina .rinc { border: 1px solid var(--rinc-lin); border-radius: 18px; overflow: hidden; box-shadow: 0 20px 50px rgba(8, 37, 73, .08); height: min(860px, calc(100vh - 3rem)); }

/* ── v3: 1 si 3 fixe, doar 2 deruleaza ── */
.rinc-vh { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.rinc__cap { padding-bottom: 14px; }
.rinc-sec--rand {
  margin-top: 14px; padding: 10px 12px; border: 1px solid var(--rinc-lin); border-radius: 14px; background: #fff;
  display: grid; grid-template-columns: auto minmax(0, 1fr) 196px; gap: 10px; align-items: center;
}
.rinc-sec--rand .rinc-sec__t { font-size: 13.5px; white-space: nowrap; }
.rinc-sec--rand .rinc-camp { gap: 0; }
.rinc-camp--ver { flex-direction: row !important; align-items: center; gap: 6px !important; }
.rinc-camp--ver label { flex: none; font-size: 11.5px; color: var(--rinc-mut); }
.rinc-sec--rand select { min-height: 36px !important; padding: 6px 10px !important; }
@media (max-width: 560px) {
  .rinc-sec--rand { grid-template-columns: 1fr 1fr; }
  .rinc-sec--rand .rinc-sec__t { grid-column: 1 / -1; }
}
.rinc__campuri { padding-top: 16px; }
.rinc__campuri .rinc-sec + .rinc-sec { border-top: 0; }
.rinc__fisiere {
  padding: 12px 20px; border-top: 1px solid #e3ebf5; background: #fbfdff; gap: 8px;
  box-shadow: 0 -10px 22px -18px rgba(8, 37, 73, .35);
}
.rinc__fisiere .rinc-sec__t { font-size: 13.5px; }
.rinc__fisiere .rinc-drop { padding: 9px 14px; gap: 12px; }
.rinc__fisiere .rinc-drop > svg { font-size: 20px; }
.rinc__fisiere .rinc-lista { max-height: 104px; overflow: auto; overscroll-behavior: contain; }
.rinc__fisiere .rinc-fis { padding: 4px 8px 4px 10px; }
.rinc-sec + .rinc-sec.rinc__fisiere { margin-top: 0; }

/* ── antet comun .rf-antet (identic cu ferestrele din referential): titlu + pastila cladirii ── */
.rinc .rf-antet { display: flex; align-items: center; gap: 12px; }
.rinc .rf-antet__ic {
  flex: none; width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; font-size: 20px;
  color: #fff; background: linear-gradient(135deg, var(--rinc-brand), var(--rinc-brand2)); box-shadow: 0 6px 14px rgba(15, 103, 190, .25);
}
.rinc .rf-antet__corp { flex: 1; min-width: 0; display: grid; gap: 5px; }
.rinc .rf-antet__titlu { margin: 0; font-size: 18px; font-weight: 800; color: var(--rinc-ink); letter-spacing: -.01em; line-height: 1.2; }
.rinc .rf-antet__pastile { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.rinc .rf-cladire {
  display: inline-flex; align-items: baseline; gap: .45rem; max-width: 100%; min-width: 0;
  padding: .3rem .65rem; border-radius: 10px; background: rgba(15, 103, 190, .07); color: var(--rinc-txt);
}
.rinc .rf-cladire > svg { align-self: center; color: var(--rinc-brand); font-size: 14px; }
.rinc .rf-cladire__nis { font: 800 .95rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; color: var(--rinc-ink); white-space: nowrap; }
.rinc .rf-cladire__adr { font-size: .82rem; color: var(--rinc-mut); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.rinc .rf-cladire--inv { background: rgba(28, 143, 100, .08); }
.rinc .rf-cladire--inv > svg { color: var(--rinc-ok); }
.rinc .rf-antet__x { flex: none; align-self: flex-start; }
