/* ========================= */
/* RESET & GLOBAL */
/* ========================= */


body {
   
    font-family: Arial, sans-serif;
    line-height: 1.6;
    background: url('../images/fundal.jpg') no-repeat top center fixed;
    background-size:cover;
   
}


html {
    /* shrink the default browser font size from 100% (16px) to, say, 14px */
    font-size: 70%;  /* 16px × 0.875 = 14px */
    
  }

  
.nav{
    margin-top: -85px;
}


  .brand-lockup{ display:flex; align-items:center; gap:.6rem; text-decoration:none; }
.brand-mark{ 
    
     height:220px; 
     width: 220px;
     margin-top: -5px;
     
     
     
}
.brand-after-login{ font:600 16px/1.2 system-ui, -apple-system, "Segoe UI", Roboto, Inter, Arial, sans-serif; color:#d8eaf5; margin-left: -20px; }
.logo--halo{
  filter:
    drop-shadow(0 0 0px rgba(255,255,255,.95))
    drop-shadow(0 0 0px rgba(255,255,255,.65));
}

/* MEDIU: tablete (641px–1024px) */
@media (max-width: 1024px){
.nav{
    margin-top: -30px; 
}

     

.brand-after-login{
    margin-left: 0px;}
.brand-mark{ 
    width:107px;
     height:107px;
      margin-top: -2px;
    } 


}


@media (max-width:640px){ .nav{
    margin-top: -30px; 
}

     

.brand-after-login{
    margin-left: 0px;}
.brand-mark{ 
    width:107px;
     height:107px;
      margin-top: -2px;
    } 
}





.hero{
    margin-top: 220px;
}
/* ========================= */
/* HEADER */
/* ========================= */
header {
    background: rgba(44, 62, 80, 0.7);
    color: #fff;
    padding: 30px 0;
    position: fixed;
    height: 50px;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(5px);
    margin-top: 40px;
}

header nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

header .logo {
    font-size: 24px;
    font-weight: bold;
}

header ul {
    list-style: none;
    display: flex;
    gap: 15px;
}

header ul li a {
    color: #fff;
    text-decoration: none;
    padding: 5px 10px;
    border-radius: 5px;
}

header ul li a:hover {
    background: #1a5276;
}




/* ========================= */
/* WRAPPER */
/* ========================= */
.dashboard-wrapper {
    display: flex;
    margin-top: 600px;
    margin-bottom: 60px;
    height: calc(100vh - 120px);
    gap: 20px;
    padding: 20px;
    overflow: hidden;
}

/* ========================= */
/* MENIU VERTICAL */
/* ========================= */
.dashboard-menu {
    flex: 0 0 250px;
    background: rgba(44, 62, 80, 0.7);
    color: white;
    padding: 20px;
    border-radius: 8px;
    height: 90%;
    overflow-y: auto;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(5px);
    margin-top: 100px;
    width: 250px;
    
}

.dashboard-menu h3 {
    font-size: 18px;
    margin-bottom: 15px;
    border-bottom: 1px solid #fff;
    padding-bottom: 10px;
}

.dashboard-menu ul {
    list-style: none;
}

.dashboard-menu ul li {
    margin-bottom: 10px;
}

.dashboard-menu ul li a {
    display: block;
    color: white;
    text-decoration: none;
    padding: 8px;
    border-radius: 4px;
}

.dashboard-menu ul li a:hover {
    background: #1a5276;
}



/* ========================= */
/* CONȚINUT PRINCIPAL */
/* ========================= */
.dashboard-main {
    flex: 1;
    background: transparent;
    padding: 20px;
    border: 2px solid rgba(255, 255, 255, 0.8);
    border-radius: 8px;
    overflow-y: auto;
    left: 2px;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.9);
    backdrop-filter: blur(10px);
    margin-top: 100px;
}

.dashboard-main-sarcina {
    flex: 1;
    background: transparent;
    padding: 20px;
    border: 2px solid rgba(255, 255, 255, 0.8);
    border-radius: 8px;
    overflow-y: auto;
    
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(10px);
    margin-top: 100px;
    color: rgb(12, 11, 11);
}

.form-sarcini label{
    
    color: rgb(8, 8, 8);
    
}
/* Titlu Principal */
.dashboard-main h1 {
    margin-bottom: 20px;
    font-size: 24px;
    color: #2c3e50;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
}

/* Secțiuni din conținut */
.dashboard-main section {
    margin-bottom: 30px;
    padding: 15px;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, 0.5);
    background: rgba(255, 255, 255, 0.05);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4);
}

/* ========================= */
/* TABELE */

/* ========================= */
/* STILURI TABELĂ (.table) */
/* ========================= */
/* ========================= */
/* TABELE (.table) */
/* ========================= */
/* ──────────────────────────────────────────────────
   Base Table Styles (same as before, with one tweak)
────────────────────────────────────────────────── */
.table {
    width: 100%;
    border-collapse: collapse;     /* no gaps between cells */
    margin-top: 20px;
    font-size: 14px;
    border: none;                  /* no outer border */
    
    /* ensure inside a scrolling container it stays within bounds */
    table-layout: auto;            
    white-space: nowrap;           /* prevent cells from wrapping onto new lines */
}

.table th, 
.table td {
    text-align: left;
    padding: 10px 15px;
}

.table thead th {
    color: #000;                   /* black text */
    font-weight: bold;             /* bold */
    text-transform: uppercase;
    border-bottom: 2px solid #000; /* black line under headers */
    background: none;              /* no background */
}

.table tbody tr {
    border-bottom: 1px solid #000; /* line between rows */
}

.table tbody tr:last-child {
    border-bottom: 1px solid #000; /* last row too */
}

.table tbody tr:hover {
    background-color: rgba(0, 0, 0, 0.05); /* subtle hover */
}

/* Buttons inside table cells */
.table td .btn-action,
.table td .delete-btn {
    display: inline-block;
    padding: 6px 10px;
    margin: 2px;
    font-size: 12px;
    text-align: center;
    text-decoration: none;
    border-radius: 4px;
    border: none;
    cursor: pointer;
}

/* Make every .table-responsive fill its parent */
.table-responsive {
    width: 100%;
    overflow-x: auto;               /* enable scroll if needed */
    -webkit-overflow-scrolling: touch;
  }
  
  /* Ensure .table inside is fluid */
  .table-responsive .table {
    width: 100%;
    max-width: 100%;
    table-layout: auto;             /* col widths adapt to content */
    word-break: break-word;         /* wrap long text in cells */
  }
  




/* ========================= */

/* ========================= */
/* BUTOANE GENERALE */
/* ========================= */
/* BUTOANE GENERALE (.btn-action) */
/* ========================= */
/* ========================= */
/* BUTOANE GENERALE (.btn-action) */
/* ========================= */
/* ========================= */
/* BUTOANE GENERALE (.btn-action) */
/* ========================= */
/* ✅ Pe dispozitive mici (mobile) – Butoane suprapuse vertical */

.button-group {
    display: flex;
    gap: 5px; /* Spațiu între butoane */
    align-items: center;
}

.btn-action {
    display:inline;
    padding: 4px 6px;
    margin: 2px;
    font-size: 12px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    border: none;
    border-radius: 0;
    background: none;
    cursor: pointer;
    transition: color 0.2s ease, text-decoration 0.2s ease;
}

.btn-action.add {
    background-color: #007bff67; /* Albastru vibrant */
    color: #fff; /* Text alb */
    border: none;
    border-radius: 5px;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: bold;
    cursor: pointer;
    text-transform: uppercase;
    transition: background-color 0.3s ease;
}

.btn-action.add:hover {
    background-color: #0056b3; /* Albastru mai închis la hover */
}


.btn-action.export {
    background-color: #007bff67; /* Albastru vibrant */
    color: #141414; /* Text alb */
    border: none;
    border-radius: 5px;
    padding: 10px 40px;
    font-size: 14px;
    font-weight: bold;
    cursor: pointer;
    text-transform: uppercase;
    transition: background-color 0.3s ease;
    margin: 40px;
}

.btn-action.export:hover {
    background-color: #0056b3; /* Albastru mai închis la hover */
}


.btn-stack {
    display: flex;
    flex-direction: column; /* Afișează butoanele pe coloane */
    gap: 10px; /* Spațiu între butoane */
}


.btn-stack .btn-action:hover {
    text-decoration: underline; /* Subliniere la hover */
    color: #2c3e50; /* Gri închis la hover */
}


/* Stil pentru buton de editare */
.btn-action.edit {
    color: black;
    font-weight: bold;
}

.btn-action.edit:hover {
    text-decoration: underline;
    color: #2c3e50; /* Gri închis la hover */
}
/* Stil pentru buton de view */
.btn-action.view {
    color: black;
    font-weight: bold;
}

.btn-action.view:hover {
    text-decoration: underline;
    color: #2c3e50; /* Gri închis la hover */
}

/* Stil pentru buton de ștergere */
.btn-action.delete {
    background: none !important; /* Elimină orice fundal aplicat */
    color: red !important; /* Text roșu */
    font-weight: bold;
    border: none !important; /* Elimină orice bordură */
    border-radius: 0;
    padding: 4px 6px;
    margin: 2px;
    cursor: pointer;
    transition: color 0.2s ease, text-decoration 0.2s ease;
}

.btn-action.delete:hover {
    text-decoration: underline;
    color: darkred !important;
}

/* Stil pentru butoane secundare (ex. anulare) */
.btn-action.secondary {
    color: gray;
    font-weight: normal;
}

.btn-action.secondary:hover {
    text-decoration: underline;
    color: #7f8c8d;
}

/* ========================= */
/* BUTOANE ÎN FORMULARE (.btn-form-action) */


/* ========================= */
.btn-form-action {
    display: inline-block;
    padding: 4px 10px;
    margin: 2px;
    font-size: 12px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

/* Stil pentru buton principal din formular */
.btn-form-action.primary {
    background-color: #27AE60; /* Verde pentru acțiuni pozitive */
    color: white;
}

.btn-form-action.primary:hover {
    background-color: #1E8449;
}

/* Stil pentru buton de resetare formular */
.btn-form-action.reset {
    background-color: #F39C12; /* Portocaliu pentru resetare */
    color: white;
}

.btn-form-action.reset:hover {
    background-color: #D68910;
}

.btn-action.action-btn{
    margin-bottom: 10px;
    background: #27ae60;
    color: white;
    border: none;
    padding: 6px 12px;
    border-radius: 4px;
    cursor: pointer;


}

/* ========================= */
/* DROPDOWN FILTRARE */
/* ========================= */
/* ========================= */
/* DROPDOWN FILTRARE */
/* ========================= */
/* ========================= */
/* ========================= */
/* FORMULAR FILTRARE */
/* ========================= */
/* ========================= */
/* ========================= */
/* ========================= */
/* FORMULAR FILTRARE */
/* ========================= */
.filter-dropdown {
    margin-top: 10px;
    padding: 15px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    max-width: 400px;
    width: 100%;
    position: absolute;
    z-index: 999;
}

/* Grup general de filtrare */
.filter-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-size: 14px;
}

/* Grup pentru câmpuri unice (ex. Status) */
.filter-group {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

/* Grup pentru câmpuri în linie (ex. Date) */
.filter-group-inline {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: space-between;
}

/* Elemente individuale din grup inline */
.filter-inline-item {
    display: flex;
    flex-direction: column;
    gap: 5px;
    flex: 1;
    min-width: 45%;
}

/* Etichetele filtrelor */
.filter-group label,
.filter-inline-item label {
    font-size: 12px;
    font-weight: bold;
    color: #2c3e50;
}

/* Câmpurile de filtrare (select, input) */
.filter-group select,
.filter-inline-item input {
    padding: 6px 10px;
    font-size: 12px;
    border-radius: 4px;
    border: 1px solid #ccc;
    width: 100%;
    background: #fff;
}

/* Butonul de aplicare filtre */
.filter-form button {
    margin-top: 10px;
    padding: 8px 12px;
    font-size: 12px;
    background-color: #27ae60;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

.filter-form button:hover {
    background-color: #1e8449;
}

/* Stil pentru butonul de toggle dropdown */
.filter-btn {
    margin-bottom: 10px;
    background: #27ae60;
    color: white;
    border: none;
    padding: 6px 12px;
    border-radius: 4px;
    cursor: pointer;
}

.filter-btn:hover {
    background: #1e8449;
}




/* ========================= */
/* FORMULARE */
/* ========================= */
form {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 20px;
    padding: 20px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 6px;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.4);
}

form label {
    font-weight: bold;
    color: #fff;
}

form input, form textarea, form select {
    padding: 8px;
    border-radius: 4px;
    border: 1px solid #ccc;
    background: rgba(255, 255, 255, 0.8);
}



/* ========================= */
/* FOOTER */
/* ========================= */
footer {
    text-align: center;
    padding: 10px;
    background: rgba(44, 62, 80, 0.8);
    color: white;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.3);
}



/* ========================= */
/* FORMULAR FĂRĂ STILURI (.form-no-style) */
/* ========================= */
.form-no-style {
    background: none !important; /* Elimină fundalul */
    border: none !important; /* Elimină orice borduri */
    box-shadow: none !important; /* Elimină umbrele */
    padding: 0 !important; /* Elimină padding */
    margin: 0 !important; /* Elimină margin */
}

.form-no-style button {
    all: unset; /* Elimină toate stilurile moștenite */
    display: inline;
    font-weight: bold;
    color: red;
    cursor: pointer;
    transition: color 0.2s ease, text-decoration 0.2s ease;
}

.form-no-style button:hover {
    text-decoration: underline;
    color: darkred;
}
#add-employee-form {
    display: none;
    margin-top: 20px;
}









/* Container pentru progres */
/* Container pentru progres */
.progress-container {
    display: flex;
    align-items: center;
    margin-bottom: 5px;
    width: 100%;
}

/* Bara de progres */
.progress-bar {
    position: relative;
    flex: 1;
    height: 20px;
    border-radius: 10px;
    overflow: hidden;
    background-color: #e0e0e0; /* Fundal gri */
}

/* Setarea culorii de fundal direct pe bara */
.progress-fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0%; /* Implicit 0%, va fi setat din PHP */
    transition: width 0.5s ease-in-out;
}

/* Culoare verde pentru progres sub 100% */
.progress-fill.green {
    background-color: #28a745;
}

/* Culoare roșie pentru progres peste 100% */
.progress-fill.red {
    background-color: #dc3545;
}

/* Text procentaj */
.progress-percent {
    position: absolute;
    right: 5px;
    top: 0;
    height: 100%;
    line-height: 20px;
    color: rgb(5, 5, 5);
    font-size: 15px;
    font-weight: bold;
}








.fisiere table {
    width: 100%;
    border-collapse: collapse;
}

.fisiere table th, .fisiere table td {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: left;
}

.feedback form {
    margin-top: 20px;
}

.feedback textarea {
    width: 100%;
    margin-bottom: 10px;
    padding: 8px;
}

.feedback button {
    padding: 10px 20px;
    background-color: #007bff;
    color: white;
    border: none;
    cursor: pointer;
}

.feedback button:hover {
    background-color: #0056b3;
}







/* Stil pentru secțiunea fișiere */
/* Stil pentru secțiunea fișiere */
#sectiunea-fisiere {
    margin-top: 20px;
}

.categorie-fisiere {
    margin-bottom: 20px;
}

.categorie-fisiere h3 {
    font-size: 1.5rem;
    margin-bottom: 10px;
}

.folder-container {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.folder {
    cursor: pointer;
    font-size: 2rem;
    color: #ffcc00;
}

.carusel {
    display: flex;
    gap: 15px;
    align-items: center;
    flex-wrap: wrap;
    padding: 10px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 5px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    z-index: 10;
    position: relative;
}

.item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
}

.item img {
    max-width: 100px;
    height: auto;
    border-radius: 5px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.item a {
    text-decoration: none;
    font-size: 12px;
    color: #333;
}

.item video {
    max-width: 200px;
    height: auto;
    border-radius: 5px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}



    

/*dropdown*/

.form-container {
    background-color: #fff;
    padding: 20px;
    border: 1px solid #ccc;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.input-field {
    width: 100%;
    padding: 10px;
    margin-bottom: 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
}

.btn-action {
    padding: 10px 15px;
    border: none;
    border-radius: 4px;
    font-size: 14px;
    cursor: pointer;
}

.btn-action.primary {
    background-color: #007bff;
    color: #fff;
}

.btn-action.secondary {
    background-color: #6c757d;
    color: #fff;
}








/*agenda rapoarte*/
.dashboard-wrapper {
    margin-top: 60px;
    display: flex;
    gap: 20px;
}

.dashboard-main1 {
    flex: 1;
    padding: 20px;
    background: rgba(44, 62, 80, 0.592);
    border-radius: 8px;
    backdrop-filter: blur(5px);
    margin-top: 100px;
}

.dashboard-main1 section{
    background-color: #f9f8f861;
    border-radius: 10px;
}
.bg-warning {
    background-color: #9e9e9e !important;
}
.dropdown-row table {
    margin-top: 10px;
    background-color: rgba(44, 62, 80, 0.199);
}

/* Hide all dropdown rows by default */
.dropdown-row {
    display: none;
  }
  
  /* When the JS toggles .show, reveal it */
  .dropdown-row.show {
    display: table-row;
  }
  

.agenda-scroll-container {
    max-height: 580px; /* Înălțimea maximă a containerului */
    overflow-y: auto; /* Activează scroll-ul vertical */
    margin: 20px auto; /* Centrare pe orizontală */
    border: 1px solid rgba(44, 62, 80, 0.6); /* Bordură subtilă */
    border-radius: 12px; /* Colțuri rotunjite */
    background: rgba(255, 255, 255, 0.95); /* Fundal alb translucid */
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15); /* Umbra containerului */
    padding: 15px 15px 120px 15px; /* Spațiu suplimentar în partea de jos pentru buffer */
    scrollbar-width: thin; /* Scrollbar subțire */
    scrollbar-color: rgba(44, 62, 80, 0.6) rgba(240, 240, 240); /* Culori scrollbar */
    position: relative;
}

/* Scrollbar pentru WebKit (Chrome, Safari) */
.agenda-scroll-container::-webkit-scrollbar {
    width: 8px;
}

.agenda-scroll-container::-webkit-scrollbar-thumb {
    background-color: rgba(44, 62, 80, 0.6);
    border-radius: 8px;
}

.agenda-scroll-container::-webkit-scrollbar-track {
    background: rgba(240, 240, 240);
    border-radius: 8px;
}



/* Activarea dropdown-ului */
.dropdown-row.active {
    display: block; /* Afișează dropdown-ul activ */
}

/* Spațiu suplimentar pentru a preveni tăierea la scroll */
.agenda-scroll-container[data-has-dropdown="true"] {
    padding-bottom: 150px; /* Crește spațiul din partea de jos */
}



.dashboard-main2 {
    flex: 1;
    background: transparent;
    padding: 20px;
    border: 2px solid rgba(255, 255, 255, 0.8);
    border-radius: 8px;
    overflow-y: auto;
    
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(10px);
    margin-top: 50px;
}





.upload-container {
    margin: 20px 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

#preview-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 10px;
}

.file-preview {
    border: 1px solid #ccc;
    border-radius: 8px;
    padding: 10px;
    background: #f9f9f9;
    max-width: 200px;
    text-align: center;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.file-preview img {
    max-width: 100%; /* Lățime maximă 100% din container */
    height: auto;
    border-radius: 5px;
}

.file-preview video {
    max-width: 100%; /* Lățime maximă 100% din container */
    border-radius: 5px;
}





/*mesaje eroare si succes*/

    .message {
        text-align: center;
        font-weight: bold;
        margin: 20px auto;
        width: 80%;
        padding: 10px;
        border-radius: 5px;
    }

    .message.success {
        color: #28a745; /* Verde */
        background-color: #d4edda;
        border: 1px solid #c3e6cb;
    }

    .message.error {
        color: #dc3545; /* Roșu */
        background-color: #f8d7da;
        border: 1px solid #f5c6cb;
    }

    .message p {
        margin: 0;
    }



/* pagina de preview*/

    #preview-table {
        height: 1500px;
        background-color: #ffffff; /* Fundal alb */
        border: 1px solid #ccc; /* Bordură gri deschis */
        border-radius: 8px; /* Colțuri rotunjite */
        padding: 15px; /* Spațiere internă */
        min-height: 200px; /* Înălțime minimă pentru vizibilitate */
        overflow-x: auto; /* Permite scroll orizontal pentru tabele mari */
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Umbră subtilă */
        font-family: Arial, sans-serif; /* Font general */
    }
    
    #preview-table table {
        width: 100%; /* Tabelul ocupă întreaga lățime */
        border-collapse: collapse; /* Elimină spațiile între celule */
    }
    
    #preview-table th, #preview-table td {
        text-align: left; /* Text aliniat la stânga */
        padding: 10px; /* Spațiere internă în celule */
        border: 1px solid #ddd; /* Linie subțire între celule */
    }
    
    #preview-table th {
        background-color: #f4f4f4; /* Fundal pentru antet */
        font-weight: bold; /* Text îngroșat pentru antet */
        color: #333; /* Culoare text antet */
    }
    
    #preview-table tr:nth-child(even) {
        background-color: #f9f9f9; /* Fundal alternativ pentru rândurile pare */
    }
    
    #preview-table tr:hover {
        background-color: #f1f1f1; /* Fundal la hover */
    }
    




    /* previzualizare raport pentru export*/
    .preview-table {
        width: 100%;
        border-collapse: collapse;
    }
    
    .preview-table th, .preview-table td {
        border: 1px solid #ddd;
        padding: 8px;
        text-align: left;
    }
    
    .preview-table th {
        background-color: #2c3e50;
        color: white;
    }
    
    .preview-table td[contenteditable="true"] {
        cursor: text;
    }
    
    .report-header, .report-footer {
        text-align: center;
        margin-bottom: 10px;
    }
    
    #preview-section {
        background: white;
        padding: 20px;
        margin-top: 20px;
        border-radius: 10px;
        box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    }
    


    /*filtre din pagina dashboard_financiar */

    .filters {
        margin-bottom: 20px;
        /* opțional, un fundal ușor pentru evidențiere */
        background-color: #f7f7f7;
        padding: 10px;
        border-radius: 5px;
    }
    
    .filter-row {
        display: flex;
        flex-wrap: nowrap;  /* dacă vrei ca toate elementele să rămână pe un singur rând; poți schimba în wrap dacă e necesar */
        gap: 10px;
        margin-bottom: 10px;
    }
    
    .filter-group {
        flex: 1;
        min-width: 150px;
        /* Poți seta și o lățime maximă, de ex.: */
        max-width: 250px;
    }
    
    .filter-group label {
        display: block;
        margin-bottom: 4px;
        font-weight: bold;
    }
    
    .filter-group select,
    .filter-group input[type="text"],
    .filter-group input[type="date"],
    .filter-group input[type="number"] {
        width: 100%;
        box-sizing: border-box;
        padding: 4px;
        font-size: 0.95em;
    }
    
    #resetFilters {
        padding: 6px 10px;
        font-size: 0.95em;
        cursor: pointer;
    }
    




/* optimizari client*/

.companie-section{
background-color: #fcfcfc;
border-radius: 5px
}

.detalii-lucrare{
    background-color: #fcfcfc;
    border-radius: 5px
}

.etape{
    background-color: #fcfcfc;
    border-radius: 5px
}

.muncitori{
    background-color: #fcfcfc;
    border-radius: 5px
}




/* formulare files */
.form-field{
   background-color:  rgba(44, 62, 80, 0.099);
}
.form-field legend{
    font-size: 20px;
}


.raport-group{
    background-color:rgba(44, 62, 80, 0.247) ;
}


.date-group{
    margin-top: 20px;
}


/*pop-up fereastra fisiere*/




.popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}
.popup-content {
    background: #fff;
    padding: 20px;
    border-radius: 5px;
    width: 90%;
    max-width: 800px;
}
.folder-buttons {
    margin-bottom: 15px;
}
.folder-btn {
    margin-right: 10px;
}
.files-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}
.file-item {
    text-align: center;
}
.file-item img {
    max-width: 100%;
    height: auto;
    border: 1px solid #ccc;
    padding: 5px;
}

/* Stilizare generală pentru un formular compact */


textarea {
    resize: vertical;
}

button.btn-action {
    width: auto;
    padding: 8px 12px;
    font-size: 14px;
}



.companie-details {
    color: #333;
   
    
    padding: 20px;
    margin: 20px 0;
    border-radius: 5px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}
.companie-details section{
    background-color: #ffffff;
    border-color:#0101018b;
}
.companie-details h2 {
    margin-top: 0;
    font-size: 1.8em;
    border-bottom: 2px solid #eee;
    padding-bottom: 10px;
    color: #333;
}

.companie-details p {
    font-size: 1em;
    margin: 10px 0;
    color: #555;
}

.companie-details p strong {
    color: #000;
}




 /*prima pagina */
/* Stiluri pentru containerul specific index */
.hero-wrapper {
    height: 250vh; /* Ajustează înălțimea pentru a permite scroll-ul doar în această pagină */
    overflow-y: auto;
    position: relative;
  }
  
  /* Restul stilurilor rămân neschimbate */
  #carousel-container {
    position: relative;
    width: 100%;
    height: 150vh;
    perspective: 1200px;
    overflow: visible;
  }
  
  #cylinder {
    width: 100%;
    height: 100%;
    position: relative;
    transform-style: preserve-3d;
    transform-origin: 50% 50%;
    transition: transform 0.5s ease-out;
  }
  
  .carousel-item {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 250px;
    height: 200px;
    margin: -100px 0 0 -125px;
  }
  
  .carousel-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  }
  
  .description-overlay {
    position: absolute;
    top: 10%;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    z-index: 2;
    color: #fff;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.7);
  }
  


  /* Stilizare pentru iconița de logout */
.btn-logout img {
    width: 24px;       /* Ajustează lățimea după necesitate */
    height: 24px;      /* Ajustează înălțimea pentru a păstra aspectul */
    vertical-align: middle;
    margin-right: 8px; /* Spațiu între iconiță și eventual text, dacă există */
    cursor: pointer;   /* Schimbă cursorul la hover */
    transition: opacity 0.3s ease;
  }
  
  .btn-logout img:hover {
    opacity: 0.8;      /* Efect de transparență la hover */
  }






  .login-container{
    margin-top: 180px;
  }
  .login-form{
    background-color: rgba(44, 62, 80, 0.762);
    margin-top: 100px;
    width: 50%;
    border-radius: 5px;
    display: flexbox;
    justify-content: center; /* Aliniere pe orizontală */
    align-items: center; 
    margin-left: 25%;
   
  }
  p{
margin-top: 10px;
margin-bottom: 10px
  }
  button{
    background-color: #373a3f8b;
    height: 30px;
    width: 80%;
   margin-left: 10%;
    border-radius: 8px;
    
  }




  

/* ============================= */
/* RESPONSIVE PENTRU MAX-WIDTH 768px */
/* ============================= */
/* MOBILE: hide sidebar off-screen and style toggle button */
/* MOBILE COLLAPSIBLE SIDEBAR (≤768px) */
@media (max-width: 768px) {
  
   

    html { font-size: 80%; }  /* 16px × 0.8 = 12.8px */
    html, body {
        margin: 0;
        padding: 0;
      }
    /* COLLAPSED: 40×40 square */
    .dashboard-menu {
      position: fixed;
      top: 80px;        /* height of header */
      left: 1px;
      width: 50px;
      height: 50px;
      bottom: auto;      /* let height control it */
      overflow: hidden;
      background: rgba(44, 62, 80, 0.7);
      transition: width 0.3s ease, height 0.3s ease;
      z-index: 1001;
    }
  
    /* EXPANDED: full height between header & footer */
    .dashboard-menu.expanded {
      width: 180px;                   /* full sidebar width */
      height: auto;                   /* let top+bottom define height */
      bottom: 80px;                   /* height of your footer */
      /* note: you can adjust 50px to your actual footer height */
    }
  
    /* hide headings/lists when collapsed */
    .dashboard-menu:not(.expanded) > h3,
    .dashboard-menu:not(.expanded) > ul {
      display: none;
    }
  
    /* handle icon centered in that 40×40 box */
    .dashboard-menu::before {
      content: '☰';
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      font-size: 1.5rem;
      color: #fff;
    }
  
    /* slide the main content over */
    .dashboard-main,
    .dashboard-main2 {
      margin-left: 40px;
      transition: margin-left 0.3s ease;
      margin-left: 1px;
     
      margin-bottom: 20px;
    }
    .dashboard-menu.expanded ~ .dashboard-main,
    .dashboard-menu.expanded ~ .dashboard-main2 {
      margin-left: 180px;
    }
  }
  
 
    /* Allow the main content area to scroll horizontally if something is too wide */
   /* 2) Make main sections horizontally scroll if needed */
  .dashboard-main,
  .dashboard-main-sarcina,
  .companie-section section,
  .agenda-scroll-container {
    overflow-x: auto;
  }

  /* 3) Constrain tables to container width */
  .dashboard-main table,
  .dashboard-main-sarcina table,
  .companie-section table,
  .agenda-scroll-container table,
  .dropdown-row table {
    width: 100%;
    max-width: 100%;
    table-layout: auto;
  }

  /* 4) Wrap long words inside table cells */
 

  /* 5) (Optional) If you still need to hide scrollbars for tables: */
 








  /* ──────────────────────────────────────────────────
   Responsive Wrapper & Scrollbar Hiding (mobile only)
────────────────────────────────────────────────── */
@media (max-width: 768px) {
    /* 1) Wrap your <table> in a <div class="table-responsive">…</div> */
    .table-responsive {
      overflow-x: auto;                 /* enable horizontal scroll */
      -webkit-overflow-scrolling: touch;/* smooth scrolling on iOS */
      margin-bottom: 1rem;              /* space below wrapper if needed */
    }
  
    /* 2) Hide scrollbars in WebKit (Chrome, Safari) */
    .table-responsive::-webkit-scrollbar {
      width: 0;
      height: 0;
    }
  
    /* 3) Hide scrollbars in Firefox & IE/Edge */
    .table-responsive {
      scrollbar-width: none;            /* Firefox */
      -ms-overflow-style: none;         /* IE 10+ */
    }
  
    /* 4) Ensure table stays within its wrapper */
    .table-responsive .table {
      width: 100%;                      /* full width of wrapper */
      table-layout: auto;               /* columns size to content */
      white-space: nowrap;              /* keep each row in one line */
    }
  
  /* ──────────────────────────────────────────────────
   Horizontal scroll for dropdown tables
────────────────────────────────────────────────── */
  
/* 1) Remove padding so the scroll area spans the full cell */
.dropdown-row > td {
    padding: 0;
  }
  
  /* 2) Make the responsive wrapper fill the cell and scroll if needed */
  .dropdown-row .table-responsive {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; /* smooth on iOS */
  }
  
  /* 3) Ensure the table inside can exceed the viewport and scroll */
  .dropdown-row .table-responsive .table {
    width: auto;             /* let the table be as wide as it needs */
    min-width: 100%;         /* at least as wide as the wrapper */
    table-layout: auto;      /* columns size to content */
    white-space: nowrap;     /* prevent wrapping—scroll instead */
  }
  
  /* 4) (Optional) hide the scrollbar tracks for a cleaner look */
  .dropdown-row .table-responsive::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }
  .dropdown-row .table-responsive {
    scrollbar-width: none;    /* Firefox */
    -ms-overflow-style: none; /* IE 10+ */
  }
  
  /* 2) Tighten header padding & nav gap */
  header {
    
    top: 0;               /* pin flush to the very top */
    margin-top: 5px;        /* remove any extra gap below it */
    height: 40px;         /* shorter header */
    padding: 10px 0;      /* less vertical padding */
  }
  header nav {
    padding: 0 10px;
    gap: 10px;
  }
  header .logo { font-size: 1.25rem; }

  /* 3) Reduce overall wrapper padding/gaps */
  .dashboard-wrapper {
    margin-top: 1px;   /* account for smaller header */
    gap: 10px;
    padding: 10px;
    height: fit-content;  /* let it grow as needed */
    margin-bottom: 20px;
  }

  /* 4) Compact sidebar */
  .dashboard-menu {
    padding: 10px;
    margin-top: 10px;
  }
  .dashboard-menu h3 { font-size: 1rem; margin-bottom: 8px; }
  .dashboard-menu ul li a { padding: 6px 8px; font-size: 0.875rem; }

  /* 5) Compact main content */
  .dashboard-main,
  .dashboard-main-sarcina {
    padding: 10px;
    margin-top: 80px;
    margin-right: 1px;
    margin-bottom: 40px;

  }
  .dashboard-main h1 {
    font-size: 1.25rem;
    margin-bottom: 10px;
  }
  .dashboard-main section {
    margin-bottom: 15px;
    padding: 10px;
  }

  .dashboard-main::-webkit-scrollbar {
    width: 0;
    background: transparent;
  }

  /* 6) Tighter tables */
  .table th,
  .table td {
    padding: 5px 8px;
    font-size: 0.75rem;
  }
  .table {
    margin-top: 10px;
  }

  /* 7) Smaller buttons */
  .btn-action,
  .btn-form-action {
    padding: 4px 8px;
    font-size: 0.75rem;
  }

  /* 8) Reduce spacing in filters, forms, progress bars, etc. */
  .filter-form { gap: 5px; }
  .filter-group,
  .filter-inline-item { gap: 3px; }
  .progress-container { margin-bottom: 3px; }
  .progress-percent { font-size: 0.75rem; }

  /* 9) Shrink other text-based components */
  .companie-section h2,
  .companie-details h2 { font-size: 1rem; margin-bottom: 8px; }
  .feedback textarea,
  input, select, textarea { padding: 6px; font-size: 0.75rem; }

  /* 10) Tighter footer */
  footer { padding: 8px; font-size: 0.75rem; 
  height: 30px;
  }

.agenda-scroll-container{
    margin-bottom: 0px;
    padding-bottom: 25px;
}
h1 {
    padding-left: 60px;
  }

}
@media (max-width: 768px) {
    /* Make preview-section fill between header & footer */
    #preview-section {
      position: fixed;
      top: 50px;            /* match your mobile header height */
      bottom: 40px;         /* match your mobile footer height */
      left: 0;
      right: 0;
      overflow-y: auto;     /* allow vertical scroll if content is tall */
      overflow-x: auto;     /* allow horizontal scroll for wide tables */
      padding: 10px;        /* give it some breathing room */
      box-sizing: border-box;
      background: white;    /* or whatever background you prefer */
    }
  
    /* Hide both scrollbars in WebKit */
    #preview-section::-webkit-scrollbar {
      width: 0;
      height: 0;
      background: transparent;
    }
    /* Hide vertical scrollbar in Firefox & IE/Edge */
    #preview-section {
      scrollbar-width: none;      /* Firefox */
      -ms-overflow-style: none;   /* IE10+ */
    }
  
    /* Ensure any table inside scales down */
    #preview-section table {
      width: 100%;
      max-width: 100%;
      table-layout: auto;
      display: block;             /* allow overflow-x to work */
    }
  }
  






  @media (max-width: 768px) {
    #preview2-section {
      position: static !important;
      top: auto !important;
      bottom: auto !important;
      height: auto !important;
      max-height: none !important;
      overflow: visible !important;
      padding: 10px;
      box-sizing: border-box;
      background: white; /* opțional, ca în pagina v1 */
      border-radius: 10px; /* dacă vrei același look ca în v1 */
      box-shadow: 0 2px 5px rgba(0,0,0,0.2);
      margin-top: 10px;
    }
  }

  /* asigură derularea orizontală a tabelului când e nevoie */
  .table-responsive {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive .table {
    width: 100%;
    max-width: 100%;
    table-layout: auto;
    white-space: nowrap;
  }

  /* bara de export compactă */
  .export-bar {
    margin-top: 12px;
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
  }


  /* --- Financial entries: white panel --- */
#financial-entries-section {
  background: #ffffff;                /* fundal alb */
  border: 1px solid #ddd;             /* contur subtil */
  border-radius: 8px;                 /* colțuri rotunjite */
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
  padding: 16px;                      /* spațiere internă */
  color: #222;                        /* text închis pt. contrast */
}

/* tabelul din interior să moștenească vizual stilul „card” */
#financial-entries-section .table {
  background: #ffffff;
}

/* antetul tabelului pe gri deschis pt. separare */
#financial-entries-section .table thead th {
  background-color: #f5f5f5;
  border-bottom-color: #ccc;
  color: #111;
}

/* rânduri și hover mai discrete pe alb */
#financial-entries-section .table tbody tr {
  border-bottom: 1px solid #eee;
}
#financial-entries-section .table tbody tr:hover {
  background-color: #fafafa;
}

/* bara de totaluri să iasă în evidență */
#financial-entries-section tfoot td {
  background: #fafafa;
  border-top: 1px solid #e5e5e5;
}

/* pe mobil, păstrează paddingul confortabil */
@media (max-width: 768px) {
  #financial-entries-section {
    padding: 12px;
    border-radius: 6px;
  }
}


/* ========================= */
/* FORMULAR FILTRARE DATE FINANCIARE */
/* ========================= */
/* ========================= */
/* FORMULAR FILTRARE DATE FINANCIARE */
/* ========================= */
#filter-section {
  background: #ffffff;                  /* fundal alb */
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  padding: 20px;
  margin-bottom: 20px;
  color: #000;                          /* text negru */
}

#filter-section h3 {
  margin-top: 0;
  margin-bottom: 15px;
  font-size: 1.2rem;
  font-weight: bold;
  color: #000;
}

/* Organizare în grilă flexibilă */
#filter-section form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 15px 20px;
  background: none;
  border: none;
  box-shadow: none;
  padding: 0;
}

/* Etichetele de deasupra câmpurilor */
#filter-section label {
  font-weight: bold;
  color: #000; /* text negru */
  display: block;
  margin-bottom: 5px;
}

/* Toate inputurile și selecturile */
#filter-section select,
#filter-section input[type="text"],
#filter-section input[type="date"],
#filter-section input[type="number"] {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background-color: #fafafa;
  font-size: 0.95rem;
  color: #000;
}

/* Butoane de filtrare / reset */
#filter-section button {
  padding: 10px 15px;
  border: none;
  border-radius: 4px;
  font-size: 0.9rem;
  cursor: pointer;
  text-transform: uppercase;
  font-weight: bold;
}

#filter-section button.apply-btn {
  background-color: #27ae60;
  color: #fff;
}

#filter-section button.apply-btn:hover {
  background-color: #1e8449;
}

#filter-section button.reset-btn {
  background-color: #f39c12;
  color: #fff;
}

#filter-section button.reset-btn:hover {
  background-color: #d68910;
}

/* Responsive: pe ecrane mici – un singur câmp pe rând */
@media (max-width: 768px) {
  #filter-section form {
    grid-template-columns: 1fr;
  }

  #filter-section {
    padding: 15px;
  }
}



/* === Filter section: structură generală === */
#filter-section { padding: 0; background: transparent; border: none; box-shadow: none; }

/* Slotul exterior (când e închis) */
#filter-section .filter-bar {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 8px;
}
#filter-section .filter-hint { color: #000; font-weight: 700; }

/* Panou dropdown */
#filter-section .filter-panel {
  background: #fff; color: #000; border: 1px solid #ddd;
  border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,.1);
  overflow: hidden;
  max-height: 0; padding: 0 16px; transition: max-height .3s ease, padding .3s ease;
}
#filter-section .filter-panel.open {
  padding: 16px; max-height: 1200px;
}
#filter-section .filter-panel[hidden] { display: block; }

#filter-section .filter-panel-header {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px; margin-bottom: 10px;
}
#filter-section .filter-panel-header h3 {
  margin: 0; font-size: 1.1rem; font-weight: 800; color: #000;
}

/* Grid 1 coloană (tot timpul) */
#filter-section .filters-grid.one-col {
  display: grid; grid-template-columns: 1fr; gap: 12px 16px;
}
#filter-section .field label {
  display: block; margin-bottom: 6px; font-weight: 700; color: #000;
}
#filter-section .field select,
#filter-section .field input[type="text"],
#filter-section .field input[type="date"],
#filter-section .field input[type="number"] {
  width: 100%; padding: 8px 10px; border: 1px solid #ccc; border-radius: 4px;
  background: #fafafa; color: #000;
}

/* Acțiuni */
#filter-section .filters-actions {
  display: flex; gap: 10px; margin-top: 14px; justify-content: flex-end;
}
#filter-section .apply-btn,
#filter-section .reset-btn {
  border: none; border-radius: 4px; padding: 8px 12px; font-weight: 700; cursor: pointer; text-transform: uppercase;
}
#filter-section .apply-btn { background: #27ae60; color: #fff; }
#filter-section .apply-btn:hover { background: #1e8449; }
#filter-section .reset-btn { background: #f39c12; color: #fff; }
#filter-section .reset-btn:hover { background: #d68910; }

/* Buton toggle albastru și stări */
.filter-toggle {
  border: none; border-radius: 6px; padding: 8px 14px; font-weight: 700; cursor: pointer;
}
.filter-toggle--blue {
  background: #007bff; color: #fff;
}
.filter-toggle--blue:hover { background: #0056b3; }


/* Bara scurtă de sus (când e închis) */
#filter-section .filter-bar {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:8px;
}
#filter-section .filter-hint { color:#000; font-weight:700; }

/* Panoul dropdown */
#filter-section .filter-panel {
  background:#fff; color:#000; border:1px solid #ddd;
  border-radius:8px; box-shadow:0 2px 8px rgba(0,0,0,.1);
  overflow:hidden; max-height:0; padding:0 16px;
  transition:max-height .3s ease, padding .3s ease;
}
#filter-section .filter-panel.open { padding:16px; max-height:1200px; }
#filter-section .filter-panel[hidden]{ display:block; }

#filter-section .filter-panel-header{
  display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px;
}
#filter-section .filter-panel-header h3{ margin:0; font-size:1.1rem; font-weight:800; color:#000; }

/* Un singur câmp pe rând */
#filter-section .filters-grid.one-col{
  display:grid; grid-template-columns:1fr; gap:12px 16px;
}
#filter-section .field label{ display:block; margin-bottom:6px; font-weight:700; color:#000; }
#filter-section .field select,
#filter-section .field input[type="text"],
#filter-section .field input[type="date"],
#filter-section .field input[type="number"]{
  width:100%; padding:8px 10px; border:1px solid #ccc; border-radius:4px; background:#fafafa; color:#000;
}

/* Acțiuni filtre */
#filter-section .filters-actions {
  grid-column: 1 / -1;      /* întinde acțiunile pe toată grila */
  display: flex;
  justify-content: flex-start; /* aliniază la stânga (sau center/dreapta, cum dorești) */
  gap: 10px;
  margin-top: 12px;
  position: static;         /* previne bug-uri cu poziționare */
  clear: both;              /* fallback dacă există float-uri moștenite */
}
#filter-section .apply-btn{
  border:none; border-radius:4px; padding:8px 12px; font-weight:700; cursor:pointer; text-transform:uppercase;
  background:#27ae60; color:#fff;
}
#filter-section .apply-btn:hover{ background:#1e8449; }

/* Buton toggle albastru */
.filter-toggle{ border:none; border-radius:6px; padding:8px 14px; font-weight:700; cursor:pointer; }
.filter-toggle--blue{ background:#007bff; color:#fff; }
.filter-toggle--blue:hover{ background:#0056b3; }


/* ===== Buton toggle filtre – mărire pe verticală ===== */
.filter-toggle {
  display: inline-flex;          /* permite aliniere corectă pe verticală */
  align-items: center;
  justify-content: center;
  padding: 12px 16px;            /* <-- mai mult spațiu sus/jos */
  line-height: 1.2;              /* înălțime de linie mai aerisită */
  min-height: 44px;              /* înălțime minimă confortabilă pentru text */
  box-sizing: border-box;
  white-space: nowrap;           /* păstrează textul pe un singur rând */
  font-weight: 700;              /* păstrăm accentul butonului */
}

/* opțional: mărim puțin și fontul, dacă vrei și mai vizibil */
.filter-toggle--blue {
  font-size: 14px;               /* ajustează la 15/16px dacă mai trebuie */
}
/* în assets/css/style.css, dacă vrei */
.subgroup-title { margin:10px 0 8px; font-weight:700; }



.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.card{background:#fff;border-radius:14px;box-shadow:0 4px 14px rgba(0,0,0,.06);padding:14px}
.card h3{margin:0 0 6px;font-size:14px;color:#111}
.kpi{font-size:22px;font-weight:800}
.kpi-sub{font-size:12px;color:#6b7280}
.group-title{margin:18px 0 8px;font-weight:800}
.filter-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin:10px 0 14px}
.filter-row label{display:block;font-size:12px;color:#374151;margin-bottom:4px}
.filter-row select,.filter-row button{padding:8px 10px;border-radius:10px;border:1px solid #e5e7eb;background:#fff}




/* ---------- Carduri mai lizibile ---------- */
.card{
  display:flex;
  flex-direction:column;
  gap:6px;
}

/* header cu titlu + info mică în dreapta */
.card-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:8px;
}

.card-title{
  margin:0;
  font-size:14px;
  font-weight:600;
  color:#111827;
}

.card-meta{
  font-size:11px;
  color:#9ca3af;
  text-align:right;
}

/* secțiuni separate în interiorul cardului */
.card-section{
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid #f3f4f6;
}

/* carduri late (pe 2 coloane) pentru tabele mai mari */
@media (min-width: 1024px){
  .card--wide{
    grid-column: span 2;
  }
}

/* tabel compact, dar lizibil */
.table-compact table{
  width:100%;
  border-collapse:collapse;
  font-size:12px;
}

.table-compact th,
.table-compact td{
  padding:3px 0;
  border-bottom:1px solid #f3f4f6;
}

.table-compact th{
  font-weight:600;
  color:#4b5563;
}

.table-compact td{
  color:#111827;
}

/* rânduri numerice aliniate la dreapta by default */
.text-right{
  text-align:right;
}
.text-left{
  text-align:left;
}
