.banner{display:inline;}
@media screen and (min-width: 320px) {
      .banner{
            display:none !important;
   }
 }

@media screen and (max-width: 768px) {
      .banner  {
            display:none !important;
   }
 }
 
 /* ── Table wrapper ── */
 .table-wrap {
     overflow-x: auto;
     -webkit-overflow-scrolling: touch;
     margin-bottom: 1.5rem;
}
/* ── Table base styles ── */
 table {
     width: 100%;
     border-collapse: collapse;
     font-size: 0.95rem;
}
 caption {
     caption-side: top;
     text-align: left;
     font-size: 0.85rem;
     color: #555;
     margin-bottom: 0.4rem;
     font-style: italic;
}
 thead th {
     background-color: #003b71;
     color: #fff;
     text-align: left;
     padding: 0.65rem 0.85rem;
     font-weight: 600;
     white-space: nowrap;
}
 tbody tr:nth-child(odd) {
     background-color: #f5f8fc;
}
 tbody tr:nth-child(even) {
     background-color: #fff;
}
 tbody tr:focus-within {
     outline: 2px solid #005fac;
     outline-offset: -2px;
}
 td {
     padding: 0.6rem 0.5rem;
     vertical-align: top;
     border-bottom: 1px solid #d8e2ee;
     line-height: 1.4;
}
/* ── Mobile: card layout ── */
 @media (max-width: 640px) {
     table, thead, tbody, th, td, tr {
         display: block;
    }
     thead tr {
         position: absolute;
         top: -9999px;
         left: -9999px;
    }
     tbody tr {
         border: 1px solid #c5d3e0;
         border-radius: 6px;
         margin-bottom: 1rem;
         padding: 0.5rem 0;
         background: #fff;
         box-shadow: 0 1px 3px rgba(0,0,0,0.07);
    }
     td {
         border: none;
         border-bottom: 1px solid #eef1f5;
         padding: 0.5rem 0.85rem;
         display: flex;
         gap: 0.5rem;
    }
     td:last-child {
         border-bottom: none;
    }
    /* Data label injected via data-label attribute */
     td::before {
         content: attr(data-label);
         font-weight: 700;
         color: #003b71;
         min-width: 9rem;
         flex-shrink: 0;
         font-size: 0.85rem;
         padding-top: 0.05rem;
    }
}