/* Vama Digitală v3 — paleta landingului: albastru #1d4ed8 + griuri reci. Fundal #f4f5f7, carduri albe, antet de tabel bandă închisă. */
:root {
  --hartie: #f4f5f7; --card: #ffffff; --cerneala: #111318; --mut: #5a6270; --linie: #e4e7ec; --linie-slaba: #eef0f4;
  --actiune: #1d4ed8; --actiune-h: #1e40af; --verde: #157347; --verde-f: #e3f2e8; --galben: #9a6a00; --galben-f: #fff3cf;
  --rosu: #b3261e; --rosu-f: #fde8e6; --albastru: #1d4ed8; --albastru-f: #e8eefc; --gri: #5a6270; --gri-f: #eef1f6;
  --antet-tabel: #1f2430; --antet-text: #eef1f6; --zebra: #f8f9fb; --propus: #fff8e1;
  /* câmpurile: se văd întotdeauna ca niște câmpuri, pe orice fundal de rând */
  --camp-fundal: #ffffff; --camp-bord: #c3c9d6; --camp-bord-h: #8a93a5; --camp-text-slab: #98a0b0;
  --mono: "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace; --sans: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  --r: 8px; --umbra: 0 1px 2px rgba(17,19,24,.06), 0 4px 14px rgba(17,19,24,.05);
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { font-size: 15px; }
body { margin: 0; background: var(--hartie); color: var(--cerneala); font-family: var(--sans); line-height: 1.45; -webkit-font-smoothing: antialiased; }
a { color: var(--actiune); text-decoration: none; } a:hover { text-decoration: underline; }
h1 { font-size: 1.5rem; margin: 0; font-weight: 650; letter-spacing: -.01em; }
h2 { font-size: 1.02rem; margin: 0 0 .7rem; font-weight: 650; display: flex; align-items: baseline; gap: .5rem; flex-wrap: wrap; }
h3 { font-size: .95rem; margin: 1rem 0 .4rem; }
.mono { font-family: var(--mono); font-variant-numeric: tabular-nums; font-size: .93em; }
.mic { font-size: .84rem; } .mut { color: var(--mut); } .n { text-align: right; font-variant-numeric: tabular-nums; }
.verde { color: var(--verde); } .galben { color: var(--galben); } .rosu { color: var(--rosu); } .albastru { color: var(--albastru); }
.taie { max-width: 280px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.inline { display: inline; } .inline-form { display: flex; gap: .4rem; flex-wrap: wrap; align-items: center; }
.gol { color: var(--mut); padding: .6rem 0; margin: 0; } .gol.mare { text-align: center; padding: 3rem; font-size: 1.1rem; }
code { font-family: var(--mono); font-size: .88em; background: var(--gri-f); padding: 0 .3em; border-radius: 3px; }
kbd { font-family: var(--mono); font-size: .8em; border: 1px solid var(--linie); border-radius: 4px; padding: 0 .35em; background: #fff; }

/* bara */
.bara { display: flex; align-items: center; gap: 1.4rem; padding: 0 1.4rem; height: 52px; background: var(--card); border-bottom: 1px solid var(--linie); position: sticky; top: 0; z-index: 20; }
.sigla { display: flex; align-items: center; font-weight: 500; color: var(--cerneala); font-size: 1.02rem; letter-spacing: -.01em; } .sigla b { font-weight: 700; } .sigla:hover { text-decoration: none; }
.sigla-semn { width: 26px; height: 26px; border-radius: 6px; background: var(--actiune); color: #fff; display: inline-grid; place-items: center; font-weight: 700; font-family: var(--mono); margin-right: .5rem; }
.sigla.mare { font-size: 1.4rem; justify-content: center; margin-bottom: .3rem; } .sigla.mare .sigla-semn { width: 34px; height: 34px; }
.bara nav { display: flex; gap: .2rem; } .bara nav a { padding: .35rem .7rem; border-radius: 6px; color: var(--mut); font-weight: 500; }
.bara nav a.activ, .bara nav a:hover { color: var(--cerneala); background: var(--gri-f); text-decoration: none; }
.bara .dreapta { margin-left: auto; display: flex; align-items: center; gap: .8rem; } .cine { color: var(--mut); font-size: .9rem; }
.cauta input { width: 300px; }

/* pagina */
.pagina { max-width: 1480px; margin: 0 auto; padding: 1.2rem 1.4rem 4rem; }
.pagina-dosar { max-width: 1880px; }
.panou { background: var(--card); border: 1px solid var(--linie); border-radius: var(--r); padding: 1rem 1.1rem; margin-bottom: 1rem; box-shadow: var(--umbra); }
.coloane { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 1rem; align-items: start; }
@media (max-width: 1100px) { .coloane { grid-template-columns: 1fr; } }
.col-dreapta .panou { padding: .9rem 1rem; }
.cap, .cap-dosar { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: 1rem; flex-wrap: wrap; }
.cap-meta { color: var(--mut); margin-top: .25rem; } .cap-meta b { color: var(--cerneala); font-weight: 600; }
.cap-actiuni { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.dreapta-h { margin-left: auto; font-weight: 400; display: flex; gap: .4rem; align-items: center; }
.filtre { display: flex; gap: .4rem; align-items: center; margin-bottom: .8rem; flex-wrap: wrap; }
.contor { display: inline-block; min-width: 1.5em; padding: 0 .45em; border-radius: 999px; background: var(--gri-f); color: var(--mut); font-size: .78rem; font-weight: 600; text-align: center; line-height: 1.6; }
.contor.rosu { background: var(--rosu-f); color: var(--rosu); }

/* aviz */
.aviz { padding: .6rem .9rem; border-radius: var(--r); margin-bottom: .8rem; border: 1px solid transparent; }
.aviz.verde { background: var(--verde-f); color: var(--verde); border-color: #bfe0ca; } .aviz.galben { background: var(--galben-f); color: var(--galben); border-color: #ecd58c; }
.aviz.rosu { background: var(--rosu-f); color: var(--rosu); border-color: #f1c2be; } .aviz.mic { padding: .35rem .6rem; margin: .4rem 0 0; }
.aviz ul { margin: .2rem 0 0 1rem; padding: 0; }

/* butoane & inputuri */
.btn { display: inline-flex; align-items: center; gap: .35em; padding: .42rem .85rem; border-radius: 6px; border: 1px solid var(--linie); background: #fff; color: var(--cerneala); font: inherit; font-weight: 500; font-size: .92rem; cursor: pointer; line-height: 1.2; white-space: nowrap; }
.btn:hover { background: var(--gri-f); text-decoration: none; } .btn.activ { background: var(--cerneala); color: #fff; border-color: var(--cerneala); }
.btn.primar { background: var(--actiune); color: #fff; border-color: var(--actiune); } .btn.primar:hover { background: var(--actiune-h); }
.btn.mare { padding: .6rem 1.2rem; font-size: 1rem; } .btn.mic { padding: .22rem .55rem; font-size: .8rem; } .btn.lat { width: 100%; justify-content: center; }
.btn.fantoma { background: transparent; border-color: transparent; color: var(--mut); } .btn.fantoma:hover { background: var(--gri-f); color: var(--cerneala); }
input, select, textarea { font: inherit; font-size: .93rem; padding: .38rem .55rem; border: 1px solid var(--camp-bord); border-radius: 6px; background: var(--camp-fundal); color: var(--cerneala); min-width: 0; }
input:hover, select:hover, textarea:hover { border-color: var(--camp-bord-h); }
input:focus, select:focus, textarea:focus { outline: 2px solid rgba(29,78,216,.3); border-color: var(--actiune); background: #fff; }
::placeholder { color: var(--camp-text-slab); opacity: 1; }
input[readonly] { background: var(--gri-f); color: var(--mut); border-style: dashed; }
input[type=checkbox], input[type=radio] { accent-color: var(--actiune); }
/* .plat = câmp compact din tabelul de linii: rămâne mic, dar NU invizibil — chenar și fundal alb pe orice rând colorat */
input.plat { padding: .22rem .4rem; width: 100%; border: 1px solid var(--camp-bord); background: var(--camp-fundal); }
input.slab { background: var(--galben-f); border-color: #d9b24c; } input.slab:focus { background: #fff; }
label { display: flex; flex-direction: column; gap: .2rem; font-size: .82rem; color: var(--mut); font-weight: 500; }
label input, label select, label textarea { color: var(--cerneala); font-weight: 400; font-size: .93rem; width: 100%; }
label.lipsa { color: var(--rosu); } label.lipsa input, label.lipsa select { border-color: var(--rosu); background: var(--rosu-f); }
label.bifa { flex-direction: row; align-items: center; gap: .5rem; } label.bifa input { width: auto; }
.grila-campuri { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem .7rem; } .grila-campuri .lat { grid-column: 1 / -1; }
.grila-campuri input, .grila-campuri select { width: 100%; min-width: 0; }
.propus-antet { grid-column: 1 / -1; }
table.kv td { padding: .25rem .4rem; border-bottom: 1px solid var(--linie-slaba); } table.kv td:first-child { color: var(--mut); }

/* stări */
.stare { display: inline-block; padding: .1rem .55rem; border-radius: 999px; font-size: .78rem; font-weight: 600; white-space: nowrap; vertical-align: middle; }
.stare.verde { background: var(--verde-f); color: var(--verde); } .stare.galben { background: var(--galben-f); color: var(--galben); } .stare.rosu { background: var(--rosu-f); color: var(--rosu); }
.stare.albastru { background: var(--albastru-f); color: var(--albastru); } .stare.gri { background: var(--gri-f); color: var(--gri); }
.puls { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: var(--actiune); animation: puls 1.2s ease-in-out infinite; vertical-align: middle; }
@keyframes puls { 0%, 100% { opacity: .25; transform: scale(.8); } 50% { opacity: 1; transform: scale(1.1); } }

/* tabele */
table { border-collapse: collapse; width: 100%; } th, td { padding: .45rem .55rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--linie-slaba); }
thead th { background: var(--antet-tabel); color: var(--antet-text); font-size: .78rem; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; white-space: nowrap; }
thead th:first-child { border-radius: 6px 0 0 0; } thead th:last-child { border-radius: 0 6px 0 0; }
tbody tr:nth-child(even) td { background: var(--zebra); }        /* ordinea: zebra → stare → hover; ultima scrisă câștigă */
tbody tr.propusa td { background: var(--propus); } tbody tr.fara-cod td { background: var(--rosu-f); } tbody tr.total td { background: var(--gri-f); font-weight: 600; }
tbody tr.rand-link { cursor: pointer; } tbody tr.rand-link:hover td { background: var(--albastru-f); }
table.dosare td { font-size: .92rem; }
.grup-dosare { margin-bottom: 1.4rem; } .grup-dosare h2 { font-size: 1.05rem; margin-bottom: .5rem; }
.grup-de_facut h2 { color: var(--galben); } .grup-gata h2 { color: var(--verde); }
.grup-dosare table { background: var(--card); border: 1px solid var(--linie); border-radius: var(--r); box-shadow: var(--umbra); overflow: hidden; }

/* drop zone */
.drop { background: var(--card); border: 2px dashed var(--linie); border-radius: 12px; padding: 1.2rem 1.4rem; margin-bottom: 1.6rem; transition: border-color .15s, background .15s; }
.drop.peste { border-color: var(--actiune); background: var(--albastru-f); }
.drop-int { display: flex; align-items: center; gap: 1.2rem; flex-wrap: wrap; } .drop-icon { font-size: 2rem; color: var(--actiune); }
.drop-titlu { font-size: 1.08rem; font-weight: 600; } .drop-int > div:nth-child(2) { flex: 1; min-width: 280px; }
.drop-actiuni { display: flex; gap: .5rem; align-items: center; }
.lista-fisiere { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .9rem; }
.lista-fisiere .fis { display: inline-flex; gap: .4rem; align-items: center; padding: .3rem .6rem; border-radius: 6px; background: var(--gri-f); font-size: .86rem; }
.lista-fisiere .fis b { color: var(--actiune); } .lista-fisiere .fis .tip { color: var(--mut); font-size: .78rem; }
.drop-trimite { margin-top: .9rem; display: flex; align-items: center; gap: 1rem; }

/* pașii orchestratorului */
.pasi { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: .3rem .9rem; }
.pas { display: flex; gap: .5rem; align-items: baseline; padding: .25rem 0; font-size: .92rem; }
.pas-semn { width: 1.3em; text-align: center; font-weight: 700; color: var(--mut); flex: none; } .pas.gata .pas-semn { color: var(--verde); } .pas.eroare .pas-semn { color: var(--rosu); }
.pas.asteapta { color: var(--mut); } .pas.in_curs .pas-nume { font-weight: 600; } .pas-detaliu { color: var(--mut); font-size: .84rem; }
.pasi .aviz, .pasi .progres-doc { grid-column: 1 / -1; }
.progres-doc { margin-top: .4rem; font-size: .9rem; } .bara-progres { height: 6px; border-radius: 3px; background: var(--gri-f); margin: .3rem 0; overflow: hidden; }
.bara-progres i { display: block; height: 100%; background: var(--actiune); transition: width .4s; }
.linii-partiale td { padding: .15rem .4rem; }

/* de făcut */
.de-facut { border-left: 4px solid var(--galben); } .de-facut.ok { border-left-color: var(--verde); }
.de-facut ol { margin: .2rem 0 .6rem 1.2rem; padding: 0; } .de-facut li { margin: .25rem 0; }
.propus { background: var(--propus); padding: 0 .4em; border-radius: 4px; font-size: .88rem; }
.galbene summary { cursor: pointer; color: var(--mut); font-size: .88rem; } .galbene ul { margin: .3rem 0 0 1.2rem; font-size: .86rem; color: var(--mut); }
.urmatorii { display: flex; flex-direction: column; gap: .5rem; } .pas-urmator { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }

/* liniile */
table.linii td { padding: .45rem .4rem; } table.linii td.desc { min-width: 22rem; } table.linii td.cod { min-width: 17rem; }
table.linii tr.confirmata td:first-child { border-left: 3px solid var(--verde); }
table.linii tr.propusa td:first-child { border-left: 3px solid var(--galben); }
table.linii tr.fara-cod td:first-child { border-left: 3px solid var(--rosu); }
/* culoarea rândului rămâne doar semnal de stare: câmpurile au fundal propriu (regula input.plat), nu-l moștenesc */
.desc-in { font-weight: 500; } .rand-mic { display: flex; gap: .35rem; margin-top: .25rem; } .desc-vamala { flex: 1; }
input.plat.mic { font-size: .82rem; }
.cod-rand { display: flex; gap: .35rem; align-items: center; } .cod-in { font-weight: 600; }
.sem { display: inline-grid; place-items: center; width: 1.35em; height: 1.35em; border-radius: 50%; font-style: normal; font-size: .75rem; font-weight: 700; flex: none; }
.sem.om { background: var(--verde-f); color: var(--verde); } .sem.catalog { background: var(--galben-f); color: var(--galben); } .sem.lipsa { background: var(--rosu-f); color: var(--rosu); }
.legenda { font-size: .8rem; color: var(--mut); display: flex; gap: .5rem; align-items: center; }
.propuneri { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .35rem; }
.chip { font: inherit; font-size: .8rem; padding: .15rem .5rem; border-radius: 999px; border: 1px solid var(--linie); background: #fff; cursor: pointer; display: inline-flex; gap: .3rem; align-items: baseline; }
.chip:hover { border-color: var(--actiune); background: var(--albastru-f); } .chip small { color: var(--mut); }
.chip.catalog { border-color: #cde3d4; background: var(--verde-f); } .chip.doc { border-color: #cfd8e8; background: var(--albastru-f); } .chip.model { border-color: var(--linie); }
.chip.ales { background: var(--actiune); color: #fff; border-color: var(--actiune); } .chip.ales small { color: #dfe6f2; }
.semnale span { display: inline-block; margin-right: .5rem; } .semnale .rosu { color: var(--rosu); } .semnale .galben { color: var(--galben); }
/* masurile netarifare ale unei linii, desfacute sub ea (informativ) */
tr.masuri-linie > td { border-top: 0; padding-top: 0; padding-bottom: .45rem; }
tr.masuri-linie summary { display: inline-block; padding: .1rem 0; }
tr.masuri-linie summary::before { content: "▸ "; }
tr.masuri-linie details[open] > summary::before { content: "▾ "; }
table.masuri-tab { width: 100%; margin: .35rem 0 .2rem; border-collapse: collapse; }
table.masuri-tab td { vertical-align: top; padding: .3rem .6rem .3rem 0; border-top: 1px solid var(--linie); font-size: .85rem; }
table.masuri-tab tr:first-child td { border-top: 0; }
table.masuri-tab tr.cu-act td:first-child { border-left: 3px solid var(--galben); padding-left: .5rem; }

.sub-tabel { display: flex; gap: 1rem; align-items: center; margin-top: .8rem; flex-wrap: wrap; }
table.spec td { font-size: .9rem; }

/* fișiere, jurnal */
ul.fisiere { list-style: none; padding: 0; margin: 0; } ul.fisiere li { padding: .3rem 0; border-bottom: 1px solid var(--linie-slaba); } ul.fisiere li:last-child { border: 0; }
.adauga-doc { margin-top: .6rem; display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.drop-mic { border: 2px dashed var(--linie); border-radius: 10px; padding: .7rem .9rem; gap: .8rem; flex-wrap: nowrap; align-items: center; transition: border-color .15s, background .15s; }
.drop-mic .drop-icon { font-size: 1.5rem; flex: 0 0 auto; } .drop-mic > span:last-child { flex: 1 1 0; min-width: 0; overflow-wrap: anywhere; line-height: 1.45; }
.drop-mic .btn { vertical-align: baseline; margin: 0 .15rem; }
.fisiere li { overflow-wrap: anywhere; } .drop-mic.peste { border-color: var(--actiune); background: var(--albastru-f); }
.drop-mic.incarca { opacity: .6; pointer-events: none; }
ul.jurnal { list-style: none; padding: 0; margin: 0 0 .6rem; } ul.jurnal li { padding: .2rem 0; border-bottom: 1px solid var(--linie-slaba); }
details > summary { cursor: pointer; list-style: none; } details > summary::-webkit-details-marker { display: none; }
details > summary h2 { margin: 0; } details > summary h2::before { content: "▸ "; color: var(--mut); font-size: .8em; } details[open] > summary h2::before { content: "▾ "; }
details[open] > summary { margin-bottom: .7rem; }
details.inline { display: inline-block; } details.inline[open] summary { margin-bottom: .4rem; }
.costuri-tabel { table-layout: fixed; margin-bottom: .6rem; } .costuri-tabel input, .costuri-tabel select { width: 100%; }
pre.xml { font-family: var(--mono); font-size: .8rem; white-space: pre-wrap; word-break: break-all; margin: 0; max-height: 75vh; overflow: auto; }

/* login */
.login-fundal { display: grid; place-items: center; min-height: 100vh; }
.login { background: var(--card); border: 1px solid var(--linie); border-radius: 12px; padding: 2rem; width: 360px; display: flex; flex-direction: column; gap: .8rem; box-shadow: var(--umbra); }
.login .mut { text-align: center; margin: 0 0 .4rem; }

/* tipărire */
@media print { .bara, .cap-actiuni, .drop, form button, .adauga-doc { display: none !important; } body { background: #fff; } .panou { box-shadow: none; border: 0; } }
/* retușuri după verificarea în browser */
.rand-mic input.plat.mono { width: 8rem; flex: none; } .rand-mic input.desc-vamala { width: auto; flex: 1; }
table.linii td.n { white-space: nowrap; } table.linii td.n input.plat { width: auto; display: inline-block; }
table.linii td.n input[name=unitate] { width: 3.4rem; margin-left: .3rem; } table.linii td.n input[name=cantitate], table.linii td.n input[name=valoare], table.linii td.n input[name=masa_neta_kg] { width: 6rem; text-align: right; }
table.linii td.sterge { width: 2rem; padding: .3rem 0; }
table.linii td.desc { width: 40%; min-width: 26rem; } table.linii td.cod { width: 22%; } table.linii th:last-child, table.linii td:last-child { width: 6rem; }

.trimite { margin: .5rem 0; } .trimite summary { display: inline-flex; } .trimite-form { display: flex; flex-direction: column; gap: .4rem; margin-top: .5rem; }
.bife { display: flex; flex-wrap: wrap; gap: .3rem .9rem; font-size: .86rem; }

/* dupa liber: factura, registre, contract */
.rezumat-cifre { display: flex; gap: 1.2rem; flex-wrap: wrap; margin: .4rem 0 .8rem; }
.rezumat-cifre > div { background: #fff; border: 1px solid var(--linie, #ddd); border-radius: 6px; padding: .45rem .8rem; font-size: .92rem; }
.rezumat-cifre b { font-size: 1.1rem; }
fieldset { border: 1px solid var(--linie, #ddd); border-radius: 6px; padding: .5rem .8rem .7rem; margin: .3rem 0; }
legend { font-weight: 600; font-size: .92rem; padding: 0 .3rem; }
#linii-factura input { width: 100%; min-width: 0; }

/* capul coloanei „Orig.": câmpul de țară + butonul care îl pune pe toate liniile */
th.orig-cap { white-space: nowrap; }
.orig-toate { display: flex; gap: .3rem; margin-top: .25rem; align-items: center; font-weight: 400; }
.orig-toate input.plat { width: 2.6rem; flex: none; text-transform: uppercase; }
