body {
font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
background:#fff;
color:#0f172a;
}

.container { max-width:1200px; margin:40px auto; }

.grid-block { margin-bottom:48px; }

.grid-title { margin-bottom:12px; font-size:20px; }

.table-fixed-wrapper {
max-height:420px;
overflow-y:auto;
border:1px solid #e2e8f0;
border-radius:14px;
}

.table-fixed { width:100%; border-collapse:collapse; }

.table-fixed th {
position:sticky;
top:0;
background:#fff;
z-index:2;
font-size:12px;
text-transform:uppercase;
letter-spacing:.08em;
}

.table-fixed th, .table-fixed td {
padding:14px 16px;
border-bottom:1px solid #e2e8f0;
font-size:14px;
}

.filters input {
width:100%;
padding:6px;
border:1px solid #e2e8f0;
border-radius:6px;
}

@media (min-width:769px) {
.filter-card{
display: none;	
width:340px;
background:#ffffff;
border:1px solid #e2e8f0;
border-radius:16px;
padding:18px;
box-shadow:0 2px 6px rgba(0,0,0,0.05);
}
}
@media (max-width:768px) {
	
.filter-card{
width:340px;
background:#ffffff;
border:1px solid #e2e8f0;
border-radius:16px;
padding:18px;
box-shadow:0 2px 6px rgba(0,0,0,0.05);
}
	
.table-fixed-wrapper { max-height:70vh; border:none; width:90vw; }

.table-fixed, .table-fixed thead, .table-fixed tbody,
.table-fixed tr, .table-fixed td {
display:block; width:90vw;
}

.table-fixed thead { display:none; }

.table-fixed tbody tr {
margin-bottom:14px;
border:1px solid #e2e8f0;
border-radius:12px;
background:#fff;
}

.table-fixed td {
display:flex;
justify-content:space-between;
padding:12px 16px;
border:none;
}

.table-fixed td::before {
content:attr(data-label);
font-weight:600;
font-size:12px;
text-transform:uppercase;
color:#475569;
}

.filters { display:none; }
}
.table-fixed thead tr.labels th {
  position: sticky;
  top: 0;
  z-index: 3;
  background: #ffffff;
}
/* seconda riga: filtri */
.table-fixed thead tr.filters th {
  position: sticky;
  top: 42px; /* ALTEZZA DELLA RIGA HEADER */
  z-index: 2;
  background: #ffffff;
}







/* titolo */

.filter-title{
text-align:center;
font-weight:600;
font-size:14px;
letter-spacing:.08em;
margin-bottom:18px;
color:#334155;
}

/* righe */

.filter-row{
display:flex;
justify-content:space-between;
align-items:center;
padding:10px 0;
border-bottom:1px solid #e2e8f0;
}

.filter-row:last-child{
border-bottom:none;
}

/* label */

.filter-label{
font-size:13px;
text-transform:uppercase;
color:#64748b;
font-weight:600;
}

/* input */

.filter-input{
width:140px;
padding:6px 8px;
border:1px solid #e2e8f0;
border-radius:6px;
font-size:14px;
text-align:right;
}

.filter-input:focus{
outline:none;
border-color:#6366f1;
box-shadow:0 0 0 2px rgba(99,102,241,.1);
}