/* ===== Punte vizuală spre paleta lui Adi =====
   Redefinește variabilele folosite de style.css (vechi) cu valorile din
   stil.css (Adi), ca tot restul stilului vechi (carduri, tabele, formulare,
   butoane) să preia automat aceeași culoare/aspect, fără să rescriem
   fiecare pagină. Încărcat DUPĂ style.css, ÎNAINTE de stil.css nu e nevoie
   — variabilele --culoare-* din stil.css sunt deja definite pe :root de
   propriul fișier, indiferent de ordine.
*/
:root {
    --green: var(--culoare-accent);
    --green-dark: var(--culoare-bara-laterala);
    --green-light: var(--culoare-accent-deschis);
    --slate-950: var(--culoare-bara-laterala);
    --slate-900: var(--culoare-bara-laterala);
    --slate-800: var(--culoare-bara-laterala-hover, #26402c);
    --slate-700: var(--culoare-accent-deschis);
    --text-dark: var(--culoare-text);
    --text-light: #f2f4f1;
    --text-muted: #6f7d72;
    --red: var(--culoare-eroare);
    --amber: var(--culoare-avertisment);
    --blue-grey: var(--culoare-viitoare);
    --radius: 8px;
    --shadow: 0 10px 30px rgba(0, 0, 0, .18);
    --font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

body, .admin-body { background: var(--culoare-fundal); color: var(--culoare-text); }

/* Continut mai lat — tabelele locale au multe coloane (Nivel, 7/25 ani,
   Nr. act etc.), 960px din stil.css era gandit pentru paginile mai simple.
   1800px (cu limita 97vw ca sa ramana o margine minima pe monitoare uriase)
   ca tabelele late (persoane, concesiuni) sa incapa fara scroll orizontal
   pe monitoarele obisnuite de birou (1920px). */
main { max-width: min(1800px, 97vw); }

/* Butoanele nu trebuie sa desparta textul pe doua randuri in celule inguste
   de tabel — indiferent cat de lata e pagina, o coloana poate ramane ingusta
   daca celelalte coloane au continut mai lung. */
.btn { white-space: nowrap; }
.row-actions { flex-wrap: nowrap; }

.admin-card, .admin-stat-card, .card { border-color: var(--culoare-bordura); }
.form-group input, .form-group select, .form-group textarea,
.filter-bar select, .filter-bar input { border-color: var(--culoare-bordura); }

/* Butoane outline (inclusiv "Vezi fișa"/"Vezi loc") — verde, cu tranziție
   lină spre verde plin la hover, in loc de gri-standard din style.css. */
.btn-outline {
    background: transparent;
    border-color: var(--culoare-accent);
    color: var(--culoare-accent);
    transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
.btn-outline:hover {
    background: var(--culoare-accent);
    color: #fff;
    border-color: var(--culoare-accent);
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color: var(--culoare-accent); }

.admin-table thead th {
    background: var(--culoare-accent);
    color: #fff;
    padding-right: 26px;
    padding-left: 26px;
    position: relative;
    text-align: center;
}
.admin-table thead th.coloana-sortabila { cursor: pointer; user-select: none; }
.admin-table thead th.coloana-sortabila:hover { background: var(--culoare-bara-laterala); }
.sageata-sortare { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); font-size: .7rem; opacity: .6; }
.sageata-sortare::after { content: '\2195'; }
th.sortat-asc .sageata-sortare { opacity: 1; }
th.sortat-asc .sageata-sortare::after { content: '\2191'; }
th.sortat-desc .sageata-sortare { opacity: 1; }
th.sortat-desc .sageata-sortare::after { content: '\2193'; }
.admin-table th, .admin-table td { border-bottom-color: var(--culoare-bordura); }
/* Centrare globala: toate celulele din tabele si toate cardurile de tip
   statistica (numar + eticheta), peste tot in aplicatie — nu doar pe dashboard. */
.admin-table td { text-align: center; }
.admin-table td.text-stanga { text-align: left; }
.admin-stat-card { text-align: center; }
.row-liber td { background: var(--culoare-fundal); }

/* Insigne de stare — culorile literale din style.css înlocuite cu paleta Adi */
.badge-liber { background: var(--culoare-succes-fundal); color: var(--culoare-succes); }
.badge-ocupat { background: var(--culoare-eroare-fundal); color: var(--culoare-eroare); }
.badge-rezervat { background: var(--culoare-avertisment-fundal); color: var(--culoare-avertisment); }
.badge-expirat { background: var(--culoare-complet-fundal); color: var(--culoare-complet-contur); }
.badge-lucrari { background: var(--culoare-viitoare-fundal); color: var(--culoare-viitoare); }

.alert-success { background: var(--culoare-succes-fundal); color: var(--culoare-succes); border-color: var(--culoare-succes); }
.alert-error { background: var(--culoare-eroare-fundal); color: var(--culoare-eroare); border-color: var(--culoare-eroare); }

/* Hartă — puncte de status, aceeași paletă ca insignele de mai sus */
.dot-liber { background: var(--culoare-liber-fundal); border-color: var(--culoare-liber-contur); }
.dot-ocupat { background: var(--culoare-complet-fundal); border-color: var(--culoare-complet-contur); }
.dot-rezervat { background: var(--culoare-avertisment-fundal); border-color: var(--culoare-avertisment); }
.dot-expirat { background: var(--culoare-viitoare-fundal); border-color: var(--culoare-viitoare); }
.dot-lucrari { background: var(--culoare-partial-fundal); border-color: var(--culoare-partial); }
.harta-loc.status-liber { background: var(--culoare-liber-fundal); }
.harta-loc.status-ocupat { background: var(--culoare-complet-fundal); }
.harta-loc.status-rezervat { background: var(--culoare-avertisment-fundal); }
.harta-loc.status-expirat { background: var(--culoare-viitoare-fundal); }
.harta-loc.status-lucrari { background: var(--culoare-partial-fundal); }

/* Secțiuni restrângibile pe dashboard (roll up / roll down) */
.dashboard-sectiune { padding: 0; }
.dashboard-sectiune-titlu {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 22px;
    cursor: pointer;
    font-size: 1.02rem;
    font-weight: 700;
    user-select: none;
}
.dashboard-sectiune-titlu::-webkit-details-marker { display: none; }
.dashboard-sectiune-titlu > span:first-child { display: flex; align-items: center; gap: 8px; }
.dashboard-sageata { display: flex; color: #8a958c; transition: transform .15s ease; flex-shrink: 0; }
.dashboard-sectiune[open] > .dashboard-sectiune-titlu .dashboard-sageata { transform: rotate(180deg); }
.dashboard-sectiune-titlu:hover { background: var(--culoare-fundal); }
.dashboard-sectiune-continut { padding: 0 22px 20px; }
.dashboard-sectiune-actiuni { display: flex; justify-content: flex-end; margin-bottom: 10px; }
.dashboard-mai-multe { margin-top: 10px; margin-bottom: 0; text-align: right; }
.dashboard-mai-multe a { color: var(--culoare-accent); font-weight: 600; }
