/* Plăți · Agenția de Casting
   Completări peste app.css (stilul comun al aplicațiilor casei): lista de plăți cu bara de acțiuni în bloc,
   lunile anului pe Acasă, contabilitatea și importul. Pe telefon, tabelele devin carduri. */

.sub { color: var(--text-slab); font-size: 12.5px; font-weight: 400; }
.mono, .iban { font-family: ui-monospace, "Cascadia Mono", Consolas, monospace; font-size: 12.5px; }
.iban { white-space: nowrap; letter-spacing: .01em; }
.mono-camp input { font-family: ui-monospace, "Cascadia Mono", Consolas, monospace; }
.rosu { color: var(--rosu); font-weight: 700; }
.mesaj ul { margin: 6px 0 6px 18px; padding: 0; }
.lista-simpla { margin: 0; padding-left: 18px; color: var(--text-slab); }
.lista-simpla li { margin: 4px 0; }
.scurt-camp { flex: 0 0 130px !important; }
.an-scurt { width: 78px; }
.rand-forma { display: flex; gap: 8px; align-items: end; flex-wrap: wrap; }
.rand-forma input[type=text] { flex: 1 1 180px; min-width: 0; }
.rand-forma .camp { flex: 0 0 auto; }
.doua-panouri { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: var(--ecart); margin: var(--ecart) 0; }
.doua-panouri .panou { margin: 0; }

.paginare { display: flex; gap: 6px; align-items: center; justify-content: center; flex-wrap: wrap; margin: var(--ecart) 0 4px; color: var(--text-slab); font-variant-numeric: tabular-nums; }
.paginare .pag-nr, .paginare .pag-acum { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 30px; padding: 0 8px; border-radius: var(--raza-control); font-weight: 600; }
.paginare .pag-nr { color: var(--text-slab); }
.paginare .pag-nr:hover { background: var(--nuanta-100); color: var(--accent-inchis); text-decoration: none; }
.paginare .pag-acum { background: var(--accent); color: #fff; }
.paginare .pag-oprit { opacity: .45; cursor: default; }
.paginare .pag-cat { margin-left: 10px; font-size: 13px; }

/* ---- stările unei plăți ---- */
.stare-neplatita { background: #e6f0fa; color: #1d4577; }
.stare-urgenta { background: var(--galben-fundal); color: var(--galben-text); box-shadow: inset 0 0 0 1px var(--galben-margine); }
.stare-restanta { background: var(--rosu-fundal); color: #7a1c15; box-shadow: inset 0 0 0 1px var(--rosu-margine); }
.stare-platita { background: var(--verde-fundal); color: var(--verde-text); }
.stare-anulata { background: #eceff0; color: #3d484b; }

/* ---- lista de plăți ---- */
table.lista-plati td { vertical-align: top; }
table.lista th a { color: inherit; }
table.lista th[aria-sort] a { color: var(--accent-inchis); font-weight: 700; }
table.lista th.bif, table.lista td.bif { width: 1%; padding-right: 0; }
table.lista td.bif input, table.lista th.bif input { width: 18px; height: 18px; }
table.lista-plati tr.rand-restanta td:first-child { box-shadow: inset 3px 0 0 var(--rosu); }
table.lista-plati tr.rand-urgenta td:first-child { box-shadow: inset 3px 0 0 #d9a400; }
table.lista-plati tr.rand-anulata td { color: var(--text-sters); }
table.lista-plati .copiaza { min-height: 24px; padding: 0 7px; font-size: 12px; font-weight: 500; }
table.lista-plati .copiaza.copiat { background: var(--verde-fundal); border-color: var(--verde-margine); color: var(--verde-text); }
table.lista-plati .nota { font-style: italic; }
.atentie-mic { color: var(--galben-text); }

/* Bara de acțiuni în bloc: apare când e bifată măcar o plată și rămâne lipită sus cât derulezi lista. */
.bara-bloc { position: sticky; top: 64px; z-index: 5; display: flex; gap: 14px 24px; align-items: end; justify-content: space-between; flex-wrap: wrap;
  margin: 0 0 12px; padding: 12px 16px; background: var(--nuanta-50); border: 1px solid var(--nuanta-200); border-radius: var(--raza); box-shadow: var(--umbra); }
.bara-bloc[hidden] { display: none; }
.bara-bloc .bloc-ce { display: grid; gap: 4px; min-width: 220px; }
.bara-bloc .bloc-ce strong { font-size: 15px; }
.bara-bloc #bloc-firme { color: var(--text-slab); font-size: 12.5px; }
.bara-bloc .bloc-actiuni { display: flex; gap: 8px; align-items: end; flex-wrap: wrap; }
.bara-bloc .camp { gap: 3px; }
.bara-bloc .camp > span { font-size: 12px; color: var(--text-slab); }
.bara-bloc input[type=date], .bara-bloc input[type=text], .bara-bloc select { height: 38px; }
.bara-bloc .despartitor { width: 1px; height: 30px; background: var(--nuanta-200); margin: 0 4px; }
.bara-fixa { position: static; }

/* ---- Acasă: cele trei cifre și lunile anului ---- */
.etape.etape-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.etape.etape-3 a:last-child, .etape.etape-4 a:last-child { border-radius: 0 var(--raza) var(--raza) 0; }
.etape strong small { font-size: 13px; font-weight: 500; color: var(--text-slab); }
.etape a.cu-restante strong { color: var(--rosu); }
.etape-fixe { margin-top: 4px; }
.alege-an { display: inline-flex; gap: 4px; }
.alege-an a { padding: 3px 10px; border-radius: 999px; color: var(--text-slab); font-weight: 600; font-variant-numeric: tabular-nums; }
.alege-an a[aria-current="true"] { background: var(--accent); color: #fff; }
.alege-an a:hover { text-decoration: none; background: var(--nuanta-100); }
.alege-an a[aria-current="true"]:hover { background: var(--accent-inchis); }
.luni { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.luna { display: grid; gap: 3px; align-content: start; min-height: 104px; padding: 14px 16px; background: var(--suprafata); border: 1px solid var(--margine); border-radius: var(--raza);
  box-shadow: var(--umbra); color: var(--text); border-top: 3px solid var(--control); }
.luna:hover { text-decoration: none; border-color: var(--nuanta-200); background: var(--ridicat); }
.luna-nume { font-size: 13px; color: var(--text-slab); font-weight: 600; }
.luna-nume small { margin-left: 6px; padding: 1px 7px; border-radius: 999px; background: var(--nuanta-100); color: var(--accent-inchis); font-weight: 600; }
.luna strong { font-size: 20px; line-height: 1.15; font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
.luna-detaliu, .luna-gol { font-size: 12.5px; color: var(--text-slab); }
.luna .pista { display: block; height: 5px; margin-top: 6px; border-radius: 999px; background: var(--nuanta-100); overflow: hidden; }
.luna .pista i { display: block; height: 100%; background: #2e8b4a; border-radius: 999px; }
.luna-gata { border-top-color: #2e8b4a; }
.luna-acum { border-top-color: var(--accent); }
.luna-restanta { border-top-color: var(--rosu); }
.luna-restanta .luna-detaliu { color: #7a1c15; }
.luna-viitoare { border-top-color: #2f6fb0; }
.luna-goala { box-shadow: none; background: transparent; border-style: dashed; }
.lista-scurta { list-style: none; margin: 0; padding: 0; }
.lista-scurta li { padding: 9px 0; border-top: 1px solid var(--linie); }
.lista-scurta li:first-child { border-top: 0; padding-top: 0; }
.lista-scurta li a { font-weight: 600; }
.lista-scurta li strong { float: right; font-variant-numeric: tabular-nums; }
.lista-scurta li span { display: block; margin-top: 3px; color: var(--text-slab); font-size: 12.5px; }

/* ---- contabilitate ---- */
.firma-contab { padding: 0; margin: 0 0 12px; overflow: hidden; }
.firma-contab > summary { display: flex; gap: 10px 18px; align-items: center; flex-wrap: wrap; padding: 14px 18px; cursor: pointer; list-style: none; }
.firma-contab > summary::-webkit-details-marker { display: none; }
.firma-contab > summary::before { content: "▸"; color: var(--text-sters); }
.firma-contab[open] > summary::before { content: "▾"; }
.firma-contab .fc-nume { font-weight: 700; font-size: 15px; }
.firma-contab .fc-cifre { margin-left: auto; color: var(--text-slab); font-variant-numeric: tabular-nums; }
.firma-contab .fc-cifre strong { color: var(--text); }
.fc-proiect { margin: 0; padding: 10px 18px; background: var(--nuanta-50); border-top: 1px solid var(--margine); font-size: 13.5px; }
.fc-proiect .sub { margin-left: 8px; }
.firma-contab table.lista { box-shadow: none; border: 0; border-radius: 0; margin: 0; }
.lista-contab th { padding-top: 10px; }

/* ---- import ---- */
.foi-import { margin: 0 0 var(--ecart); }
.foi { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; margin-bottom: 12px; }
.foaie { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; padding: 10px 12px; border: 1px solid var(--margine); border-radius: var(--raza-control); background: var(--ridicat); }
.foaie strong { flex: 1 1 100%; }
.foaie select { flex: 1 1 120px; height: 34px; }
.foaie-sarita { opacity: .65; }
.titlu-foaie { margin: 18px 0 8px; }
.titlu-foaie .sub { margin-left: 8px; }
#persoana-gasita, #iban-stare { min-height: 16px; }
.camp small.bun { color: var(--verde-text); }
.camp small.rau { color: var(--rosu); }

@media (max-width: 1100px) {
  .etape.etape-3 a:nth-child(3) { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--linie); }
  .etape.etape-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .etape.etape-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .etape.etape-4 > div:nth-child(odd) { border-left: 0; }
  .etape.etape-4 > div:nth-child(n+3) { border-top: 1px solid var(--linie); }
  .bara-bloc { top: 60px; }
}
@media (max-width: 760px) {
  /* Tabelele de plăți devin carduri: fiecare rând e o plată, cu eticheta fiecărui câmp în față. */
  table.lista-plati, table.lista-plati tbody, table.lista-plati tr, table.lista-plati td { display: block; width: auto; }
  table.lista-plati thead { display: none; }
  table.lista-plati { background: none; border: 0; box-shadow: none; }
  table.lista-plati tr { position: relative; margin: 0 0 10px; padding: 12px 14px 12px 44px; background: var(--suprafata); border: 1px solid var(--margine); border-radius: var(--raza); box-shadow: var(--umbra); }
  table.lista-plati td { padding: 2px 0; border: 0; }
  table.lista-plati td.bif { position: absolute; left: 12px; top: 12px; padding: 0; }
  table.lista-plati td.bif input { width: 22px; height: 22px; }
  table.lista-plati td.nr { text-align: left; }
  table.lista-plati td[data-et]::before { content: attr(data-et) ": "; color: var(--text-sters); font-size: 12px; }
  table.lista-plati td[data-et="Nume"]::before { content: none; }
  table.lista-plati td[data-et="Nume"] a { font-size: 15px; }
  table.lista-plati tr.rand-restanta, table.lista-plati tr.rand-urgenta { border-left-width: 4px; }
  table.lista-plati tr.rand-restanta { border-left-color: var(--rosu); }
  table.lista-plati tr.rand-urgenta { border-left-color: #d9a400; }
  table.lista-plati tr td:first-child { box-shadow: none !important; }
  .lista-contab tr { padding-left: 44px; }
  .bara-bloc { position: static; }
  .bara-bloc .bloc-actiuni { width: 100%; }
  .bara-bloc .bloc-actiuni .btn { flex: 1 1 100%; justify-content: center; }
  .bara-bloc .despartitor { display: none; }
  .firma-contab .fc-cifre { margin-left: 0; flex: 1 1 100%; }
  .luni { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .etape.etape-3 { grid-template-columns: 1fr; }
  .etape.etape-3 a { border-left: 0; border-top: 1px solid var(--linie); grid-column: auto; }
  .etape.etape-3 a:first-child { border-top: 0; }
  input, select, textarea { font-size: 16px; } /* sub 16 px, iPhone-ul mărește pagina la fiecare atingere */
}
