/* =====================================================================
   Asociația de Proprietari — foaie de stil unică
   Fără framework, fără dependențe externe. Responsive, accesibilă.
   ===================================================================== */

:root {
    --primar:        #0f766e;
    --primar-inchis: #115e59;
    --primar-clar:   #ccfbf1;

    --text:      #0f172a;
    --text-slab: #64748b;
    --fundal:    #f1f5f9;
    --card:      #ffffff;
    --linie:     #e2e8f0;

    --rosu:      #b91c1c;
    --rosu-clar: #fee2e2;
    --portocaliu:#c2410c;
    --portocaliu-clar:#ffedd5;
    --galben:    #a16207;
    --galben-clar:#fef3c7;
    --verde:     #15803d;
    --verde-clar:#dcfce7;
    --albastru:  #1d4ed8;
    --albastru-clar:#dbeafe;

    --umbra:   0 1px 2px rgba(15, 23, 42, .06), 0 1px 3px rgba(15, 23, 42, .1);
    --umbra-l: 0 4px 6px -1px rgba(15, 23, 42, .08), 0 2px 4px -2px rgba(15, 23, 42, .05);
    --raza:    10px;

    /* =================================================================
       MĂRIMEA LOGO-ULUI — se reglează DOAR de aici.
       Modifici numărul, salvezi, gata: se aplică în bara laterală, în
       antetul public și pe telefon. Nu mai trebuie căutat prin fișier.
       ================================================================= */
    --logo-inaltime:        34px;   /* bara laterală (desktop) */
    --logo-inaltime-public: 32px;   /* antetul paginilor publice */
    --logo-inaltime-mobil:  28px;   /* sub 768px */
    --logo-latime-max:      170px;  /* limită de siguranță pe lățime */
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 15px;
    line-height: 1.55;
    color: var(--text);
    background: var(--fundal);
    -webkit-font-smoothing: antialiased;
}

a { color: var(--primar); }
h1, h2, h3, h4 { margin: 0 0 .6rem; line-height: 1.25; font-weight: 650; }
h1 { font-size: 1.5rem; }
h2 { font-size: 1.2rem; }
h3 { font-size: 1.02rem; }
p  { margin: 0 0 1rem; }

/* Accesibilitate: focus vizibil peste tot */
:focus-visible {
    outline: 2px solid var(--primar);
    outline-offset: 2px;
}
.sr-only {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* =====================================================================
   LAYOUT APLICAȚIE (dashboard)
   ===================================================================== */

.aplicatie { display: flex; min-height: 100vh; }

.bara-laterala {
    width: 244px;
    flex: 0 0 244px;
    background: #0f172a;
    color: #cbd5e1;
    display: flex;
    flex-direction: column;
    position: sticky;
    top: 0;
    height: 100vh;
}
.bara-laterala .marca {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 18px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

/* Zona care se pliază pe mobil: meniul + datele contului */
.zona-navigare {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

/* --- Logo / nume --- */
.marca-logo {
    display: inline-flex; align-items: center; gap: 10px;
    text-decoration: none; color: #fff;
    min-width: 0; max-width: 100%; overflow: hidden;
}
/* Înălțimea comandă mărimea; max-width și max-height sunt plase de
   siguranță, ca un fișier cu dimensiuni neobișnuite să nu poată
   niciodată să iasă din bară și să împingă pagina lateral. */
.marca-logo img {
    display: block;
    height: var(--logo-inaltime);
    max-height: var(--logo-inaltime);
    width: auto; max-width: var(--logo-latime-max);
    object-fit: contain;
}
/* Logo colorat pe fundal închis → casetă albă, ca să rămână lizibil */
.marca-logo img.in-cutie {
    background: #fff; padding: 5px 8px; border-radius: 8px;
    box-sizing: content-box;
}
.marca-text { min-width: 0; }
.marca-text strong { color: #fff; display: block; font-size: 15px; line-height: 1.25; }
.marca-subtitlu { font-size: 12px; color: #94a3b8; display: block; }

.meniu { list-style: none; margin: 0; padding: 12px 10px; flex: 1; overflow-y: auto; }
.meniu li { margin-bottom: 2px; }
.meniu a {
    display: flex; align-items: center; gap: 10px;
    padding: 9px 12px; border-radius: 8px;
    color: #cbd5e1; text-decoration: none; font-size: 14px;
}
.meniu a:hover { background: rgba(255,255,255,.07); color: #fff; }
.meniu a.activ { background: var(--primar); color: #fff; font-weight: 600; }
.meniu .grup {
    padding: 14px 12px 6px; font-size: 11px; text-transform: uppercase;
    letter-spacing: .06em; color: #64748b;
}
.meniu .contor {
    margin-left: auto; background: rgba(255,255,255,.14);
    padding: 1px 7px; border-radius: 999px; font-size: 11.5px; font-weight: 600;
}
.meniu a.activ .contor { background: rgba(0,0,0,.22); }

.subsol-lateral {
    padding: 12px 14px; border-top: 1px solid rgba(255,255,255,.08); font-size: 13px;
}
.subsol-lateral .legatura-cont { color: #fff; text-decoration: none; }
.subsol-lateral .legatura-cont:hover { text-decoration: underline; }
.subsol-lateral .nume { color: #fff; font-weight: 600; }
.subsol-lateral .rol  { color: #94a3b8; font-size: 12px; }
.subsol-lateral form  { margin: 10px 0 0; }
.subsol-lateral .buton-text {
    background: none; border: 0; color: #94a3b8; cursor: pointer;
    padding: 0; font-size: 13px; text-decoration: underline; font-family: inherit;
}
.subsol-lateral .buton-text:hover { color: #fff; }

/* Butonul de meniu — ascuns pe desktop, vizibil sub 768px */
.buton-meniu {
    display: none;
    margin-left: auto;
    align-items: center; gap: 8px;
    background: rgba(255,255,255,.12); border: 0; color: #fff;
    padding: 10px 14px; border-radius: 8px; cursor: pointer;
    font-size: 14px; font-weight: 600; font-family: inherit;
    min-height: 44px; flex: 0 0 auto;   /* țintă de atingere confortabilă */
}
.buton-meniu:hover { background: rgba(255,255,255,.2); }
.buton-meniu .linii {
    display: block; width: 17px; height: 2px; background: #fff;
    box-shadow: 0 5px 0 #fff, 0 -5px 0 #fff;
}
.buton-meniu[aria-expanded="true"] { background: var(--primar); }

.continut { flex: 1; min-width: 0; display: flex; flex-direction: column; }

/* Meniul mobil deschis peste conținut se închide la clic în afara lui */
.mascare-meniu { display: none; }

.antet-pagina {
    background: var(--card);
    border-bottom: 1px solid var(--linie);
    padding: 16px 26px;
    display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
}
.antet-pagina h1 { margin: 0; }
.antet-pagina .actiuni { margin-left: auto; display: flex; gap: 8px; flex-wrap: wrap; }

.corp { padding: 22px 26px 60px; }

/* Meniu mobil */
.buton-meniu { display: none; }

/* =====================================================================
   LAYOUT PUBLIC
   ===================================================================== */

.pagina-publica { min-height: 100vh; display: flex; flex-direction: column; }
.antet-public {
    background: var(--primar); color: #fff; padding: 15px 22px;
}
.antet-public .interior {
    max-width: 860px; margin: 0 auto; display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
}
.antet-public strong { font-size: 16px; color: #fff; }
.antet-public .marca-logo img {
    height: var(--logo-inaltime-public);
    max-height: var(--logo-inaltime-public);
}
.antet-public .legaturi { margin-left: auto; display: flex; gap: 16px; flex-wrap: wrap; }
.antet-public a { color: #ccfbf1; text-decoration: none; font-size: 14px; }
.antet-public a:hover { color: #fff; text-decoration: underline; }

/* Linkuri care apar doar în meniul de pe telefon (pe desktop există deja
   în subsolul paginii, deci ar fi o repetare inutilă). */
.doar-mobil { display: none; }

.container-public { max-width: 860px; margin: 0 auto; padding: 26px 20px 60px; width: 100%; flex: 1; }
.container-ingust  { max-width: 430px; }

.subsol-public {
    border-top: 1px solid var(--linie); background: var(--card);
    padding: 18px 20px; text-align: center; color: var(--text-slab); font-size: 13px;
}

/* =====================================================================
   CARDURI / SECȚIUNI
   ===================================================================== */

.card {
    background: var(--card); border: 1px solid var(--linie);
    border-radius: var(--raza); box-shadow: var(--umbra);
    margin-bottom: 18px;
    max-width: 100%; min-width: 0;
}
.card > .cap {
    padding: 14px 18px; border-bottom: 1px solid var(--linie);
    display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
}
.card > .cap h2, .card > .cap h3 { margin: 0; font-size: 15px; }
.card > .cap .dreapta { margin-left: auto; display: flex; gap: 8px; align-items: center; }
.card > .continut-card { padding: 18px; }
.card > .continut-card > :last-child { margin-bottom: 0; }

/* Statistici */
.grila-statistici {
    display: grid; gap: 14px; margin-bottom: 20px;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.statistica {
    background: var(--card); border: 1px solid var(--linie);
    border-radius: var(--raza); padding: 16px 18px; box-shadow: var(--umbra);
    text-decoration: none; color: inherit; display: block;
}
a.statistica:hover { border-color: var(--primar); box-shadow: var(--umbra-l); }
.statistica .eticheta { font-size: 12.5px; color: var(--text-slab); text-transform: uppercase; letter-spacing: .04em; }
.statistica .valoare  { font-size: 27px; font-weight: 700; line-height: 1.15; margin-top: 4px; }
.statistica .nota     { font-size: 12.5px; color: var(--text-slab); }
.statistica.accent-rosu   .valoare { color: var(--rosu); }
.statistica.accent-verde  .valoare { color: var(--verde); }
.statistica.accent-galben .valoare { color: var(--galben); }

.grila-2 { display: grid; gap: 18px; grid-template-columns: 1fr 1fr; align-items: start; }
.grila-3 { display: grid; gap: 18px; grid-template-columns: repeat(3, 1fr); align-items: start; }

/* Implicit, un element de grilă nu se micșorează sub lățimea conținutului
   său. Fără asta, un tabel lat împinge toată pagina lateral în loc să
   deruleze în interiorul cardului. */
.grila-statistici > *,
.grila-2 > *,
.grila-3 > * { min-width: 0; }

/* =====================================================================
   TABELE
   ===================================================================== */

/* Tabelele late derulează în interiorul cardului, nu împing pagina. */
.tabel-container { overflow-x: auto; max-width: 100%; -webkit-overflow-scrolling: touch; }

table.tabel { width: 100%; border-collapse: collapse; font-size: 14px; }
table.tabel th {
    text-align: left; padding: 10px 14px; background: #f8fafc;
    border-bottom: 1px solid var(--linie); font-size: 12px;
    text-transform: uppercase; letter-spacing: .04em; color: var(--text-slab); font-weight: 650;
    white-space: nowrap;
}
table.tabel th a { color: inherit; text-decoration: none; }
table.tabel th a:hover { color: var(--primar); }
table.tabel td { padding: 11px 14px; border-bottom: 1px solid #f1f5f9; vertical-align: top; }
table.tabel tbody tr:hover { background: #f8fafc; }
table.tabel tbody tr:last-child td { border-bottom: 0; }
table.tabel .numeric { text-align: right; font-variant-numeric: tabular-nums; }
table.tabel .actiuni-celula { white-space: nowrap; text-align: right; }
table.tabel .principal { font-weight: 600; }
table.tabel .secundar  { color: var(--text-slab); font-size: 13px; font-weight: 400; }
/* Numerele de înregistrare și datele nu se rup pe două rânduri. */
table.tabel .nu-rupe, table.tabel .principal > a { white-space: nowrap; }

.gol {
    padding: 46px 20px; text-align: center; color: var(--text-slab);
}
.gol strong { display: block; color: var(--text); margin-bottom: 6px; font-size: 15px; }

/* =====================================================================
   INSIGNE (badges)
   ===================================================================== */

.insigna {
    display: inline-block; padding: 2.5px 9px; border-radius: 999px;
    font-size: 12px; font-weight: 650; white-space: nowrap; line-height: 1.5;
}
.insigna.gri      { background: #f1f5f9; color: #475569; }
.insigna.albastru { background: var(--albastru-clar); color: var(--albastru); }
.insigna.verde    { background: var(--verde-clar);    color: var(--verde); }
.insigna.galben   { background: var(--galben-clar);   color: var(--galben); }
.insigna.portocaliu { background: var(--portocaliu-clar); color: var(--portocaliu); }
.insigna.rosu     { background: var(--rosu-clar);     color: var(--rosu); }
.insigna.teal     { background: var(--primar-clar);   color: var(--primar-inchis); }

.punct { display:inline-block; width:7px; height:7px; border-radius:50%; margin-right:6px; vertical-align: middle; }
.punct.rosu { background: var(--rosu); }
.punct.portocaliu { background: var(--portocaliu); }
.punct.galben { background: var(--galben); }
.punct.verde { background: var(--verde); }

/* =====================================================================
   BUTOANE
   ===================================================================== */

.buton {
    display: inline-flex; align-items: center; justify-content: center; gap: 7px;
    padding: 9px 16px; border-radius: 8px; border: 1px solid transparent;
    background: var(--primar); color: #fff; font-size: 14px; font-weight: 600;
    text-decoration: none; cursor: pointer; font-family: inherit; line-height: 1.3;
}
.buton:hover { background: var(--primar-inchis); }
.buton:disabled { opacity: .55; cursor: not-allowed; }

.buton.secundar { background: var(--card); color: var(--text); border-color: var(--linie); }
.buton.secundar:hover { background: #f8fafc; border-color: #cbd5e1; }

.buton.pericol { background: var(--rosu); }
.buton.pericol:hover { background: #991b1b; }

.buton.mic { padding: 6px 11px; font-size: 13px; }
.buton.bloc { width: 100%; }

.legatura-actiune {
    background: none; border: 0; padding: 0; margin: 0 0 0 10px;
    color: var(--text-slab); font-size: 13px; cursor: pointer; text-decoration: none;
    font-family: inherit;
}
.legatura-actiune:hover { color: var(--primar); text-decoration: underline; }
.legatura-actiune.pericol:hover { color: var(--rosu); }

/* =====================================================================
   FORMULARE
   ===================================================================== */

.camp { margin-bottom: 16px; }
.camp > label, .eticheta-grup {
    display: block; font-weight: 600; font-size: 13.5px; margin-bottom: 5px;
}
.camp .obligatoriu { color: var(--rosu); }
.camp .ajutor { font-size: 12.5px; color: var(--text-slab); margin-top: 5px; }

input[type=text], input[type=email], input[type=tel], input[type=password],
input[type=number], input[type=date], input[type=search], select, textarea {
    width: 100%; padding: 9px 11px; font-size: 14.5px; font-family: inherit;
    color: var(--text); background: #fff;
    border: 1px solid #cbd5e1; border-radius: 8px;
}
input:focus, select:focus, textarea:focus {
    border-color: var(--primar); outline: 2px solid var(--primar-clar); outline-offset: 0;
}
textarea { min-height: 130px; resize: vertical; line-height: 1.5; }
select {
    appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748b' d='M1.4 0 6 4.6 10.6 0 12 1.4 6 7.4 0 1.4z'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 12px center; padding-right: 34px;
}
input.eroare, select.eroare, textarea.eroare { border-color: var(--rosu); background: #fff7f7; }
.mesaj-eroare { color: var(--rosu); font-size: 12.8px; margin-top: 5px; font-weight: 500; }

.rand-campuri { display: grid; gap: 0 16px; grid-template-columns: 1fr 1fr; }
.rand-campuri.trei { grid-template-columns: 1fr 1fr 1fr; }

/* Radio / checkbox */
.optiuni-radio { display: flex; gap: 9px; flex-wrap: wrap; }
.optiune-radio {
    flex: 1 1 140px; position: relative;
}
.optiune-radio input { position: absolute; opacity: 0; width: 0; height: 0; }
.optiune-radio span {
    display: block; text-align: center; padding: 10px 8px; border: 1.5px solid var(--linie);
    border-radius: 8px; cursor: pointer; font-size: 14px; font-weight: 600; background: #fff;
}
.optiune-radio input:checked + span { border-color: var(--primar); background: var(--primar-clar); color: var(--primar-inchis); }
.optiune-radio input:focus-visible + span { outline: 2px solid var(--primar); outline-offset: 2px; }
.optiune-radio.u-scazut  input:checked + span { border-color: var(--verde);  background: var(--verde-clar);  color: var(--verde); }
.optiune-radio.u-mediu   input:checked + span { border-color: var(--galben); background: var(--galben-clar); color: var(--galben); }
.optiune-radio.u-ridicat input:checked + span { border-color: var(--portocaliu); background: var(--portocaliu-clar); color: var(--portocaliu); }
.optiune-radio.u-critic  input:checked + span { border-color: var(--rosu);   background: var(--rosu-clar);   color: var(--rosu); }

.bifa { display: flex; align-items: flex-start; gap: 9px; font-size: 14px; cursor: pointer; }
.bifa input { width: 17px; height: 17px; margin: 2px 0 0; accent-color: var(--primar); flex: 0 0 auto; }

.actiuni-formular {
    display: flex; gap: 10px; align-items: center; flex-wrap: wrap;
    padding-top: 16px; margin-top: 6px; border-top: 1px solid var(--linie);
}

/* Bara de filtre */
.filtre {
    display: flex; gap: 10px; flex-wrap: wrap; align-items: flex-end;
    padding: 14px 18px; border-bottom: 1px solid var(--linie); background: #fbfdfe;
}
.filtre .camp { margin: 0; }
.filtre .camp label { font-size: 12px; color: var(--text-slab); text-transform: uppercase; letter-spacing: .03em; }
.filtre input, .filtre select { min-width: 150px; padding: 7px 10px; font-size: 14px; }
.filtre .crestere { flex: 1 1 220px; }
.filtre .crestere input { width: 100%; min-width: 0; }

/* Capcană anti-robot: invizibilă pentru oameni, dar nu ascunsă cu display:none */
.capcana {
    position: absolute !important; left: -9999px !important;
    width: 1px; height: 1px; overflow: hidden;
}

/* =====================================================================
   ALERTE
   ===================================================================== */

.alerta {
    padding: 12px 16px; border-radius: 8px; margin-bottom: 16px;
    border: 1px solid; font-size: 14px; display: flex; gap: 10px; align-items: flex-start;
}
.alerta strong { font-weight: 650; }
.alerta.succes      { background: var(--verde-clar);  border-color: #86efac; color: #14532d; }
.alerta.eroare      { background: var(--rosu-clar);   border-color: #fca5a5; color: #7f1d1d; }
.alerta.avertisment { background: var(--galben-clar); border-color: #fcd34d; color: #78350f; }
.alerta.info        { background: var(--albastru-clar); border-color: #93c5fd; color: #1e3a8a; }

/* =====================================================================
   CRONOLOGIE (istoric sesizare)
   ===================================================================== */

.cronologie { list-style: none; margin: 0; padding: 0; position: relative; }
.cronologie::before {
    content: ""; position: absolute; left: 6px; top: 8px; bottom: 8px;
    width: 2px; background: var(--linie);
}
.cronologie li { position: relative; padding: 0 0 18px 26px; }
.cronologie li::before {
    content: ""; position: absolute; left: 0; top: 5px;
    width: 14px; height: 14px; border-radius: 50%;
    background: #fff; border: 2.5px solid var(--primar);
}
.cronologie li.tip-status::before { border-color: var(--albastru); }
.cronologie li.tip-nota::before   { border-color: #94a3b8; }
.cronologie .meta { font-size: 12.5px; color: var(--text-slab); margin-bottom: 2px; }
.cronologie .mesaj { white-space: pre-wrap; }
.cronologie li:last-child { padding-bottom: 0; }

/* Listă de definiții (detalii sesizare / proprietar) */
.definitii { display: grid; grid-template-columns: 150px 1fr; gap: 9px 16px; font-size: 14px; margin: 0; }
.definitii dt { color: var(--text-slab); }
.definitii dd { margin: 0; font-weight: 550; min-width: 0; overflow-wrap: anywhere; }

/* Bare pentru distribuții simple (fără librării de grafice) */
.bara-distributie { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 13.5px; }
.bara-distributie .nume { width: 108px; flex: 0 0 108px; color: var(--text-slab); }
.bara-distributie .sina { flex: 1; height: 9px; background: #f1f5f9; border-radius: 999px; overflow: hidden; }
.bara-distributie .umplere { height: 100%; background: var(--primar); border-radius: 999px; }
.bara-distributie .n { width: 34px; text-align: right; font-variant-numeric: tabular-nums; font-weight: 600; }

/* Paginare */
.paginare {
    display: flex; gap: 6px; align-items: center; justify-content: center;
    padding: 16px; flex-wrap: wrap; border-top: 1px solid var(--linie);
}
.paginare a, .paginare span {
    padding: 6px 12px; border-radius: 7px; border: 1px solid var(--linie);
    text-decoration: none; color: var(--text); font-size: 14px; background: #fff;
}
.paginare a:hover { border-color: var(--primar); color: var(--primar); }
.paginare .curenta { background: var(--primar); border-color: var(--primar); color: #fff; font-weight: 600; }
.paginare .info { border: 0; color: var(--text-slab); background: none; }

.rezumat-lista { padding: 10px 18px; font-size: 13px; color: var(--text-slab); border-bottom: 1px solid var(--linie); }

/* Cod de urmărire */
.cod-urmarire {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 21px; font-weight: 700; letter-spacing: .13em;
    background: var(--primar-clar); color: var(--primar-inchis);
    padding: 12px 18px; border-radius: 8px; display: inline-block;
    border: 1px dashed var(--primar);
}
code.mono {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    background: #f1f5f9; padding: 1px 6px; border-radius: 5px; font-size: 13px;
    /* Adresele lungi se rup la capăt de rând, nu ies din card. */
    overflow-wrap: anywhere; word-break: break-word;
}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */

@media (max-width: 900px) {
    .grila-2, .grila-3 { grid-template-columns: 1fr; }
    .rand-campuri, .rand-campuri.trei { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
    /* ---------------------------------------------------------------
       Bara laterală devine un antet compact, lipit sus.
       Logo-ul și butonul stau într-un rând flex — butonul NU mai este
       poziționat absolut, deci nu se mai poate suprapune peste titlu,
       oricât de lung ar fi numele asociației.
       --------------------------------------------------------------- */
    .aplicatie { flex-direction: column; }

    .bara-laterala {
        width: 100%; flex: none; height: auto;
        position: sticky; top: 0; z-index: 60;
    }
    .bara-laterala .marca { padding: 10px 14px; gap: 10px; }
    .marca-logo img,
    .antet-public .marca-logo img {
        height: var(--logo-inaltime-mobil);
        max-height: var(--logo-inaltime-mobil);
        max-width: 58vw;
    }
    .marca-logo img.in-cutie { padding: 4px 6px; }
    .marca-text strong { font-size: 14.5px; }
    .marca-subtitlu { display: none; }   /* economisim spațiu pe verticală */

    .buton-meniu { display: inline-flex; }

    /* Meniul și datele contului se pliază împreună */
    .zona-navigare {
        display: none;
        border-top: 1px solid rgba(255,255,255,.08);
        max-height: calc(100vh - 64px);
        overflow-y: auto;
    }
    .zona-navigare.deschis { display: flex; }

    .meniu { padding: 8px 10px; flex: none; overflow: visible; }
    .meniu a { padding: 12px 14px; min-height: 44px; font-size: 15px; }
    .meniu .grup { padding-top: 12px; }

    .subsol-lateral {
        display: flex; align-items: center; gap: 12px;
        padding: 12px 16px 16px;
    }
    .subsol-lateral form { margin: 0 0 0 auto; }
    .subsol-lateral .buton-text { padding: 10px 0; }

    /* Restul paginii */
    .antet-pagina, .corp { padding-left: 16px; padding-right: 16px; }
    .antet-pagina { gap: 10px; }
    .antet-pagina .actiuni { margin-left: 0; width: 100%; }
    .antet-pagina .actiuni .buton { flex: 1 1 auto; justify-content: center; }
    .definitii { grid-template-columns: 1fr; gap: 2px 0; }
    .definitii dd { margin-bottom: 10px; }
    table.tabel { font-size: 13.5px; }

    /* -----------------------------------------------------------------
       Antetul public capătă același meniu pliabil ca dashboard-ul:
       logo la stânga, buton „Meniu” la dreapta, linkurile dedesubt.
       ----------------------------------------------------------------- */
    .antet-public { padding: 10px 16px; position: sticky; top: 0; z-index: 60; }
    .antet-public .interior { gap: 10px; flex-wrap: wrap; }
    .antet-public .marca-logo { flex: 1 1 auto; }
    .antet-public .buton-meniu {
        background: rgba(255,255,255,.18);
    }
    .antet-public .buton-meniu:hover { background: rgba(255,255,255,.28); }
    .antet-public .buton-meniu[aria-expanded="true"] { background: rgba(0,0,0,.22); }

    .antet-public .legaturi {
        display: none;
        margin-left: 0;
        flex: 1 1 100%;
        flex-direction: column;
        gap: 0;
        border-top: 1px solid rgba(255,255,255,.22);
        margin-top: 6px;
        padding-top: 4px;
    }
    .antet-public .legaturi.deschis { display: flex; }
    .antet-public .legaturi a {
        padding: 13px 2px;
        min-height: 44px;
        display: flex; align-items: center;
        font-size: 15px;
        border-bottom: 1px solid rgba(255,255,255,.12);
    }
    .antet-public .legaturi a:last-child { border-bottom: 0; }
    .doar-mobil { display: flex; }

    .container-public { padding: 18px 16px 48px; }
    .card > .cap, .card > .continut-card { padding-left: 16px; padding-right: 16px; }
    .filtre { padding: 14px 16px; }
    .filtre .camp, .filtre input, .filtre select { min-width: 0; width: 100%; }
    .filtre { flex-direction: column; align-items: stretch; }
    .optiuni-radio { gap: 8px; }
    .optiune-radio { flex: 1 1 calc(50% - 4px); }
}

@media (max-width: 380px) {
    .marca-logo img { max-width: 52vw; }
    .buton-meniu { padding: 10px 12px; }
    .optiune-radio { flex: 1 1 100%; }
}

@media print {
    .bara-laterala, .antet-pagina .actiuni, .filtre, .paginare, .buton { display: none !important; }
    body { background: #fff; }
    .card { box-shadow: none; border-color: #cbd5e1; }
}
