/* eFacturo by solvi - brandul solviERP: albastru #0033C8, sigla "S", "WORK. SMART" */
:root {
  --brand: #0033c8;
  --brand-inchis: #00249a;
  --brand-deschis: #e8eefc;
  --brand-foarte-deschis: #f3f6fe;
  --fundal: #f5f7fb;
  --card: #ffffff;
  --text: #141a26;
  --slab: #5c6678;
  --linie: #e1e6ef;
  --linie-tare: #c9d2e0;
  --ok: #157347;
  --ok-fond: #e2f5ea;
  --atentie: #8a5300;
  --atentie-fond: #fdf0d6;
  --rau: #b42318;
  --rau-fond: #fde8e6;
  --neutru-fond: #eef1f6;
  --umbra: 0 1px 2px rgba(16, 24, 40, .05), 0 1px 3px rgba(16, 24, 40, .06);
  --raza: 12px;
  --lat-meniu: 232px;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--fundal); color: var(--text);
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif; font-size: 15px; line-height: 1.5;
}
a { color: var(--brand); }
h1 { font-size: 1.55rem; margin: 0; letter-spacing: -.01em; }
h2 { font-size: 1.05rem; margin: 0 0 .8rem; }
h3 { font-size: .95rem; margin: 1rem 0 .4rem; }
code { font-family: Consolas, "Courier New", monospace; }

/* ---------------------------------------------------------------- macheta: meniu lateral + continut */
.aplicatie { display: grid; grid-template-columns: var(--lat-meniu) minmax(0, 1fr); min-height: 100vh; }
.lateral {
  position: sticky; top: 0; height: 100vh; background: var(--brand); color: #fff;
  display: flex; flex-direction: column; padding: 1.1rem .8rem; gap: 1.2rem;
}
.marca { display: flex; align-items: center; gap: .65rem; text-decoration: none; color: #fff; padding: 0 .5rem; }
.marca .s { width: 38px; height: 38px; border-radius: 50%; background: #fff; display: grid; place-items: center; flex: 0 0 auto; }
.marca .s img { width: 30px; height: 30px; }
.marca .nume { font-weight: 700; font-size: 1.15rem; letter-spacing: .02em; line-height: 1.1; }
.marca .nume small { display: block; font-weight: 600; font-size: .62rem; letter-spacing: .14em; opacity: .75; }
.nav { display: flex; flex-direction: column; gap: 2px; }
.nav a {
  display: flex; align-items: center; gap: .7rem; padding: .6rem .75rem; border-radius: 9px;
  color: rgba(255, 255, 255, .86); text-decoration: none; font-weight: 500;
}
.nav a svg { width: 20px; height: 20px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.nav a:hover { background: rgba(255, 255, 255, .1); color: #fff; }
.nav a.activ { background: #fff; color: var(--brand); }
.nav a .numar { margin-left: auto; }
.lateral .jos-meniu { margin-top: auto; border-top: 1px solid rgba(255, 255, 255, .18); padding-top: .9rem; display: flex; flex-direction: column; gap: .4rem; }
.lateral .cine { padding: 0 .75rem; font-size: .88rem; }
.lateral .cine small { display: block; opacity: .7; font-size: .78rem; }
.lateral .link { color: rgba(255, 255, 255, .86); padding: .45rem .75rem; text-align: left; border-radius: 9px; }
.lateral .link:hover { background: rgba(255, 255, 255, .1); color: #fff; }
.lateral .slogan { font-size: .66rem; letter-spacing: .16em; font-weight: 700; opacity: .55; padding: 0 .75rem; }

.continut { min-width: 0; display: flex; flex-direction: column; }
.pagina { width: 100%; max-width: 1240px; margin: 0 auto; padding: 1.6rem 28px 2.5rem; flex: 1; }
.jos { max-width: 1240px; width: 100%; margin: 0 auto; padding: 0 28px 1.4rem; color: var(--slab); font-size: .8rem; }

/* bara de sus si bara de jos - doar pe telefon */
.sus-mobil, .file-mobil { display: none; }

/* ---------------------------------------------------------------- pagina fara meniu (logare) */
.fara-meniu { min-height: 100vh; display: grid; place-items: center; padding: 24px 16px;
  background: radial-gradient(circle at 50% 35%, #ffffff 0%, #eef1f6 60%, #e3e8f0 100%); }
.fara-meniu > div { width: 100%; max-width: 27rem; }   /* elementul grilei: fara latime proprie s-ar strange pe continut */
.fara-meniu .card { width: 100%; margin: 0; padding: 2rem 2rem 1.6rem; }
.fara-meniu .marca-mare { display: flex; flex-direction: column; align-items: center; gap: .55rem; margin-bottom: 1.3rem; text-align: center; }
.fara-meniu .marca-mare img { width: 64px; height: 64px; }
.fara-meniu .marca-mare .nume { font-weight: 700; font-size: 1.35rem; color: var(--brand); }
.fara-meniu .titlu-mic { font-size: 1.15rem; margin: 0 0 .3rem; }
.fara-meniu .marca-mare .semnatura { font-size: .85rem; color: var(--slab); margin-top: -.45rem; }
.fara-meniu .marca-mare .slogan { font-size: .7rem; font-weight: 700; letter-spacing: .18em; color: var(--brand); }

/* ---------------------------------------------------------------- carduri */
.card { background: var(--card); border: 1px solid var(--linie); border-radius: var(--raza); padding: 1.2rem 1.3rem; margin-bottom: 1rem; box-shadow: var(--umbra); }
.card.ingust { max-width: 28rem; margin: 6vh auto 1rem; }
.antet-pagina { display: flex; align-items: center; justify-content: space-between; gap: .8rem 1rem; flex-wrap: wrap; margin-bottom: 1.2rem; }
.antet-pagina .sub { color: var(--slab); font-size: .9rem; margin-top: .15rem; }
.card-titlu { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: .8rem; }
.card-titlu h2 { margin: 0; }
.grila { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 1rem; align-items: start; margin-bottom: 1rem; }
.grila .card { margin-bottom: 0; }

/* cifrele panoului */
.cifre { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.cifra { position: relative; background: var(--card); border: 1px solid var(--linie); border-radius: var(--raza); padding: 1rem 1.1rem; box-shadow: var(--umbra);
  display: flex; flex-direction: column; gap: .15rem; text-decoration: none; color: inherit; overflow: hidden; }
.cifra::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--brand); }
.cifra.ok::before { background: var(--ok); }
.cifra.atentie::before { background: #e0a100; }
.cifra.rau::before { background: var(--rau); }
a.cifra:hover { border-color: var(--linie-tare); box-shadow: 0 4px 14px rgba(16, 24, 40, .08); }
.cifra .eticheta { color: var(--slab); font-size: .82rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.cifra .valoare { font-size: 1.45rem; font-weight: 700; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.cifra .valoare small { font-size: .85rem; font-weight: 600; color: var(--slab); }
.cifra .nota { color: var(--slab); font-size: .82rem; }
.cifre.mici .valoare { font-size: 1.25rem; }

/* grafic pe luni: bare CSS (inaltimea din clasele .h0 .. .h100, fara stiluri inline) */
.grafic { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: .4rem; align-items: end; height: 200px; padding-top: .3rem; }
.grafic .luna { display: flex; flex-direction: column; align-items: center; height: 100%; justify-content: flex-end; gap: .3rem; }
.grafic .bare { display: flex; gap: 3px; align-items: flex-end; height: 160px; width: 100%; justify-content: center; border-bottom: 1px solid var(--linie); }
.grafic .bara { width: 40%; max-width: 20px; border-radius: 4px 4px 0 0; background: var(--brand); min-height: 1px; }
.grafic .bara.inc { background: #4fb286; }
.grafic .et { font-size: .74rem; color: var(--slab); }
.grafic .luna.curenta .et { color: var(--brand); font-weight: 700; }
.legenda { display: flex; gap: 1rem; font-size: .82rem; color: var(--slab); }
.legenda i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; background: var(--brand); margin-right: .35rem; }
.legenda i.inc { background: #4fb286; }

/* ---------------------------------------------------------------- tabele */
.tabel-derulant { overflow-x: auto; margin: 0 -1.3rem; padding: 0 1.3rem; }
.tabel { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.tabel th { text-align: left; font-weight: 600; font-size: .78rem; color: var(--slab); text-transform: uppercase; letter-spacing: .03em;
  border-bottom: 1px solid var(--linie); padding: .55rem .6rem; white-space: nowrap; }
.tabel td { border-bottom: 1px solid var(--linie); padding: .62rem .6rem; vertical-align: middle; }
.tabel tbody tr:hover td { background: var(--brand-foarte-deschis); }
.tabel tr:last-child td { border-bottom: 0; }
.tabel .n { text-align: right; white-space: nowrap; }
.tabel td a { font-weight: 600; text-decoration: none; }
.tabel td a:hover { text-decoration: underline; }
.tabel.mic td, .tabel.mic th { font-size: .85rem; padding: .42rem .5rem; }
.rosu, .tabel tr.rosu td { color: var(--rau); }

.insigna { display: inline-flex; align-items: center; gap: .3rem; padding: .12rem .6rem; border-radius: 999px; font-size: .78rem; font-weight: 600; white-space: nowrap; }
.insigna::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; opacity: .85; }
.insigna.ok { background: var(--ok-fond); color: var(--ok); }
.insigna.atentie { background: var(--atentie-fond); color: var(--atentie); }
.insigna.rau { background: var(--rau-fond); color: var(--rau); }
.insigna.info { background: var(--brand-deschis); color: var(--brand); }
.insigna.neutru { background: var(--neutru-fond); color: var(--slab); }
.insigna.neutru::before { display: none; }
.numar { display: inline-block; min-width: 1.35rem; padding: 0 .4rem; border-radius: 999px; background: #ffcc33; color: #3a2a00; font-size: .74rem; font-weight: 700; text-align: center; }

.detalii { display: grid; grid-template-columns: max-content 1fr; gap: .35rem 1.2rem; margin: 0; }
.detalii dt { color: var(--slab); }
.detalii dd { margin: 0; overflow-wrap: anywhere; }

.totaluri { display: grid; grid-template-columns: max-content minmax(8rem, max-content); gap: .25rem 1.5rem; justify-content: end; margin: 1rem 0 0; font-variant-numeric: tabular-nums; }
.totaluri dt { color: var(--slab); text-align: right; }
.totaluri dd { margin: 0; text-align: right; font-weight: 600; }
.totaluri .total { font-size: 1.2rem; color: var(--text); font-weight: 700; border-top: 1px solid var(--linie); padding-top: .35rem; }

.paginare { display: flex; gap: .5rem; align-items: center; justify-content: flex-end; margin-top: .9rem; font-size: .88rem; flex-wrap: wrap; }

/* ---------------------------------------------------------------- formulare */
.formular { display: flex; flex-direction: column; gap: .9rem; }
.formular label, .camp { display: flex; flex-direction: column; gap: .3rem; font-size: .85rem; font-weight: 600; color: var(--slab); }
label.bifa { flex-direction: row; align-items: center; gap: .55rem; color: var(--text); font-weight: 500; font-size: .92rem; }
input[type=email], input[type=password], input[type=text], input[type=search], input[type=date], input[type=number], input[type=tel], select, textarea {
  font: inherit; font-weight: 400; color: var(--text); padding: .58rem .75rem; border: 1px solid var(--linie-tare); border-radius: 9px; background: #fff; width: 100%;
  min-height: 42px;
}
input:focus, select:focus, textarea:focus { outline: 3px solid rgba(0, 51, 200, .18); border-color: var(--brand); }
input:disabled, input[readonly] { background: var(--neutru-fond); color: var(--slab); }
input[type=checkbox] { width: 18px; height: 18px; accent-color: var(--brand); }
textarea { resize: vertical; min-height: 5rem; line-height: 1.45; }
.rand-campuri { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: .9rem; }
.rand-campuri .lat { grid-column: span 2; }
.filtre { display: flex; gap: .7rem; align-items: flex-end; flex-wrap: wrap; margin: 0 0 1rem; }
.filtre .camp { min-width: 9.5rem; flex: 1 1 9.5rem; max-width: 15rem; }
.filtre .camp.lat { max-width: 22rem; flex-basis: 14rem; }

.buton { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; font: inherit; font-weight: 600; background: var(--brand); color: #fff;
  border: 1px solid var(--brand); border-radius: 9px; padding: .58rem 1.1rem; min-height: 42px; cursor: pointer; text-decoration: none; text-align: center; white-space: nowrap; }
.buton:hover { background: var(--brand-inchis); border-color: var(--brand-inchis); }
.buton.secundar { background: #fff; color: var(--brand); border-color: var(--linie-tare); }
.buton.secundar:hover { background: var(--brand-foarte-deschis); border-color: var(--brand); }
.buton.pericol { background: #fff; color: var(--rau); border-color: #f0b7b1; }
.buton.pericol:hover { background: var(--rau-fond); }
.buton.mic { padding: .25rem .7rem; min-height: 32px; font-size: .85rem; }
.buton svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.butoane { display: flex; gap: .55rem; flex-wrap: wrap; align-items: center; }
.butoane form { margin: 0; }
.link { background: none; border: 0; font: inherit; color: var(--brand); cursor: pointer; padding: 0; }

.mesaj { border-radius: 10px; padding: .75rem 1rem; margin-bottom: 1rem; border: 1px solid #c9d6f7; background: var(--brand-deschis); color: var(--brand-inchis); }
.mesaj.ok { background: var(--ok-fond); border-color: #b9e2c8; color: var(--ok); }
.mesaj.eroare { background: var(--rau-fond); border-color: #f5c2bd; color: var(--rau); }
.mesaj.atentie { background: var(--atentie-fond); border-color: #f0d9a8; color: var(--atentie); }
pre.eroare { white-space: pre-wrap; background: var(--rau-fond); color: var(--rau); padding: .6rem; border-radius: 8px; font-size: .82rem; }

.slab { color: var(--slab); }
.mic { font-size: .85rem; }
.ascuns { display: none !important; }

/* firma curenta / selector in meniul lateral */
.selector-firma, .firma-curenta { margin: 0 .3rem; padding: .55rem .6rem; border-radius: 10px; background: rgba(255, 255, 255, .1); }
.selector-firma label { display: flex; flex-direction: column; gap: .15rem; margin: 0; }
.selector-firma small, .firma-curenta small { font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; opacity: .7; }
.selector-firma select { background: transparent; color: #fff; border: 0; padding: 0; min-height: 0; font-weight: 600; width: 100%; }
.selector-firma select option { color: var(--text); }
.firma-curenta { display: flex; flex-direction: column; font-weight: 600; font-size: .9rem; }
.sus-mobil .selector-firma, .sus-mobil .firma-curenta { flex: 1; min-width: 0; padding: .3rem .5rem; }
.sus-mobil .firma-curenta { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: .8rem; }

/* file de filtru (Toate / Primite / Emise, taburi admin) */
.file-filtru { display: inline-flex; gap: .25rem; padding: .25rem; background: var(--neutru-fond); border-radius: 10px; margin-bottom: 1rem; flex-wrap: wrap; }
.file-filtru a { padding: .4rem .9rem; border-radius: 8px; text-decoration: none; color: var(--slab); font-weight: 600; font-size: .9rem; }
.file-filtru a.activ { background: #fff; color: var(--brand); box-shadow: var(--umbra); }
a.sortare { color: inherit; text-decoration: none; }
a.sortare:hover { color: var(--brand); }
.c-bifa { width: 2.2rem; }
.bara-selectie { display: flex; gap: .7rem; align-items: center; flex-wrap: wrap; padding: .6rem .8rem; margin-bottom: .8rem; border: 1px solid #c9d6f7;
  background: var(--brand-deschis); border-radius: 10px; color: var(--brand-inchis); font-weight: 600; }
.mic-select { width: auto; min-height: 42px; }

/* administrare */
.lista-admin { display: flex; flex-direction: column; }
.rand-admin { border-bottom: 1px solid var(--linie); padding: .9rem 0; }
.rand-admin:last-child { border-bottom: 0; }
.rand-admin.inactiv { opacity: .6; }
.rand-admin > header { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; align-items: flex-start; }
.acces { list-style: none; margin: .5rem 0; padding: 0; display: flex; flex-direction: column; gap: .3rem; }
.acces li { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; font-size: .9rem; }
.acces li form { margin: 0; }
.rand-admin .rand-campuri { margin-top: .6rem; align-items: end; }
code.cheie { background: #fff; padding: .15rem .45rem; border-radius: 6px; font-size: 1rem; letter-spacing: .04em; }

/* filtre pliabile: deschise pe desktop (app.js), inchise pe telefon */
details.pliabil > summary { cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; font-weight: 600; color: var(--brand); }
details.pliabil > summary::-webkit-details-marker { display: none; }
details.pliabil > summary::after { content: "▾"; font-size: .9rem; }
details.pliabil[open] > summary { margin-bottom: .8rem; }
details.pliabil[open] > summary::after { content: "▴"; }
details.pliabil > summary .activ-filtre { color: var(--slab); font-weight: 500; font-size: .85rem; margin-left: .5rem; }
@media (min-width: 681px) { details.pliabil > summary { display: none; } }

/* formularul facturii */
input.n { text-align: right; font-variant-numeric: tabular-nums; }
details.pliabil-mereu > summary { cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; }
details.pliabil-mereu > summary::-webkit-details-marker { display: none; }
details.pliabil-mereu > summary h2 { margin: 0; }
details.pliabil-mereu > summary::after { content: "▾"; color: var(--brand); }
details.pliabil-mereu[open] > summary { margin-bottom: .9rem; }
details.pliabil-mereu[open] > summary::after { content: "▴"; }
details.pliabil-mereu .rand-campuri + .rand-campuri { margin-top: .9rem; }
.bara-actiuni { position: sticky; bottom: 0; z-index: 10; display: flex; gap: .6rem; justify-content: flex-end; flex-wrap: wrap;
  background: rgba(245, 247, 251, .94); backdrop-filter: blur(6px); padding: .8rem 0; border-top: 1px solid var(--linie); }
.linii tr.linie td { border-bottom: 1px solid var(--linie); }
.linii [data-valoare] { font-weight: 600; }

.linii input, .linii select { padding: .4rem .5rem; min-height: 38px; }
.linii td { vertical-align: middle; padding: .35rem .3rem; }
.linii .c-den { min-width: 15rem; }
.linii .c-um select { min-width: 5.5rem; }
.linii .c-n input { min-width: 6.5rem; }
.linii .c-tva select, .linii .c-tva input { min-width: 4.8rem; }
.linii .c-n { width: 8rem; }
.linii .c-um { width: 6.5rem; }
.linii .c-tva { width: 6rem; }
.linii .c-x { width: 2.5rem; text-align: center; }
.sugestii { position: relative; }
.sugestii ul { position: absolute; z-index: 20; left: 0; right: 0; top: calc(100% + 4px); margin: 0; padding: .3rem; list-style: none; background: #fff;
  border: 1px solid var(--linie); border-radius: 10px; box-shadow: 0 10px 30px rgba(16, 24, 40, .12); max-height: 280px; overflow-y: auto; }
.sugestii li { padding: .5rem .65rem; cursor: pointer; border-radius: 7px; }
.sugestii li:hover, .sugestii li.sel { background: var(--brand-deschis); }
.sugestii li small { color: var(--slab); margin-left: .4rem; }

.h0 { height: 0; }
.h5 { height: 5%; } .h10 { height: 10%; } .h15 { height: 15%; } .h20 { height: 20%; } .h25 { height: 25%; }
.h30 { height: 30%; } .h35 { height: 35%; } .h40 { height: 40%; } .h45 { height: 45%; } .h50 { height: 50%; }
.h55 { height: 55%; } .h60 { height: 60%; } .h65 { height: 65%; } .h70 { height: 70%; } .h75 { height: 75%; }
.h80 { height: 80%; } .h85 { height: 85%; } .h90 { height: 90%; } .h95 { height: 95%; } .h100 { height: 100%; }

/* pozitiile facturii: fise sub 1180 px (tabelul are 8 coloane) */
@media (max-width: 1180px) {
  .linii thead { display: none; }
  .linii, .linii tbody { display: block; }
  .linii tr.linie { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: .45rem; padding: .8rem 0; border-bottom: 1px solid var(--linie); }
  .linii tr.linie.ascuns { display: none; }
  .linii tr.linie td { display: block; border: 0; padding: 0; width: auto; min-width: 0; }
  .linii tr.linie td.c-den { grid-column: 1 / -1; }
  .linii tr.linie td[data-valoare] { align-self: center; text-align: left; }
  .linii tr.linie td[data-valoare]::before { content: "Valoare: "; color: var(--slab); font-weight: 400; }
  .linii tr.linie td.c-x { text-align: right; align-self: center; }
  .linii tr.linie td[data-e]::before { content: attr(data-e); display: block; font-size: .74rem; font-weight: 600; color: var(--slab); margin-bottom: .15rem; }
  .linii tr.linie { grid-template-columns: repeat(5, minmax(0, 1fr)) 2.5rem; align-items: end; }
  .linii tr.linie td[data-valoare] { grid-column: 4 / 6; text-align: right; padding-bottom: .55rem; }
}
@media (max-width: 680px) {
  .linii tr.linie { grid-template-columns: 1fr 1fr 1fr; }
  .linii tr.linie td[data-valoare] { grid-column: 1 / 3; text-align: left; }
}

/* ---------------------------------------------------------------- tableta */
@media (max-width: 1100px) {
  .cifre { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
  :root { --lat-meniu: 76px; }
  .marca .nume, .nav a span, .lateral .cine, .lateral .slogan { display: none; }
  .marca { justify-content: center; padding: 0; }
  .nav a { justify-content: center; padding: .7rem; }
  .nav a .numar { position: absolute; margin: -1.2rem 0 0 1.3rem; }
  .lateral .link { text-align: center; font-size: .78rem; padding: .45rem .2rem; }
}

/* ---------------------------------------------------------------- telefon: bara sus + file jos */
@media (max-width: 680px) {
  body { font-size: 15px; }
  .aplicatie { display: block; }
  .lateral { display: none; }
  .sus-mobil { display: flex; position: sticky; top: 0; z-index: 30; align-items: center; justify-content: space-between; gap: .6rem;
    background: var(--brand); color: #fff; padding: .55rem 16px; }
  .sus-mobil .marca .s { width: 32px; height: 32px; }
  .sus-mobil .marca .s img { width: 25px; height: 25px; }
  .sus-mobil .marca .nume small { display: none; }
  .sus-mobil .link { color: #fff; font-size: .88rem; }
  .file-mobil { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); position: fixed; left: 0; right: 0; bottom: 0; z-index: 30;
    background: #fff; border-top: 1px solid var(--linie); padding: .3rem .3rem calc(.3rem + env(safe-area-inset-bottom)); box-shadow: 0 -2px 10px rgba(16, 24, 40, .06); }
  .file-mobil a { display: flex; flex-direction: column; align-items: center; gap: .1rem; padding: .35rem .2rem; border-radius: 9px;
    color: var(--slab); text-decoration: none; font-size: .72rem; font-weight: 600; }
  .file-mobil a svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .file-mobil a.activ { color: var(--brand); background: var(--brand-foarte-deschis); }
  .pagina { padding: 1rem 16px calc(5.5rem + env(safe-area-inset-bottom)); }
  .jos { display: none; }
  h1 { font-size: 1.3rem; }
  .card { padding: 1rem; border-radius: 10px; }
  .tabel-derulant { margin: 0 -1rem; padding: 0 1rem; }
  .cifre { gap: .6rem; }
  .cifra { padding: .8rem .9rem; }
  .cifra .valoare { font-size: 1.15rem; }
  .cifra .nota { font-size: .76rem; }
  .grafic { gap: .15rem; height: 160px; }
  .grafic .bare { height: 125px; }
  .grafic .et { font-size: .64rem; }
  .antet-pagina .butoane { width: 100%; }
  .antet-pagina .butoane > .buton, .antet-pagina .butoane > form { flex: 1 1 auto; }
  .antet-pagina .butoane > form .buton { width: 100%; }
  .filtre .camp, .filtre .camp.lat { max-width: none; flex: 1 1 100%; }
  .filtre .camp.jumatate { flex: 1 1 calc(50% - .4rem); min-width: 0; }
  .filtre .buton { width: 100%; }
  .rand-campuri .lat { grid-column: auto; }
  /* tabel -> fise */
  .tabel.fise thead { display: none; }
  .tabel.fise, .tabel.fise tbody, .tabel.fise tr, .tabel.fise td { display: block; width: 100%; }
  .tabel.fise tr { border-bottom: 1px solid var(--linie); padding: .65rem 0; }
  .tabel.fise tr:last-child { border-bottom: 0; }
  .tabel.fise tbody tr:hover td { background: none; }
  .tabel.fise td { border: 0; padding: .12rem 0; display: flex; justify-content: space-between; gap: 1rem; text-align: right; }
  .tabel.fise td::before { content: attr(data-e); color: var(--slab); font-size: .82rem; text-align: left; }
  .tabel.fise td.titlu-fisa { font-size: 1.02rem; justify-content: space-between; }
  .tabel.fise td.titlu-fisa::before { content: none; }
  .tabel.fise td:empty { display: none; }
  .totaluri { justify-content: stretch; grid-template-columns: 1fr auto; }
  .bara-actiuni { bottom: calc(4.2rem + env(safe-area-inset-bottom)); }
  .bara-actiuni .buton { flex: 1 1 auto; }
}
