@import url('https://fonts.googleapis.com/css2?family=PT+Sans+Narrow&family=Roboto+Flex:opsz,wght,XOPQ,XTRA,YOPQ,YTDE,YTFI,YTLC,YTUC@8..144,100..1000,96,468,79,-203,738,514,712&display=swap');
/* =======================
   TABLES
======================= */
table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
   /* border-radius: 8px; */
	font-family: Arial, sans-serif;
    /* overflow: hidden; */
}

th {
    background: #003399;
    color: white;
}

td, th {
    padding: 0.8rem;
    border: 1px solid #ccc;
    text-align: center;
}


/* Wrapper enables horizontal scroll */
.table-wrapper {
    width: 100%;
    overflow-x: auto;
}

/* Table */
.table-stripe {
    width: 100%;
    /* min-width: 600px;  IMPORTANT: forces scroll instead of breaking */
    border-collapse: collapse;
	display: block;
}

/* Cells */
.table-stripe th,
.table-stripe td {
    border: 1px solid #ccc;
    padding: 0.8rem;
    text-align: center;
    white-space: nowrap; /* prevents ugly wrapping */
}

/* Header */
.table-stripe th {
    background: white;
    /* font-weight: bold; */
}

/* Pale blue stripes */
.table-stripe tr:nth-child(even) {
    background: #eef5ff;
}

/* Sticky first column */
.table-stripe th:first-child,
.table-stripe td:first-child {
    position: sticky;
    left: 0;
    background: white;
    z-index: 10;
    width: 140px;        /* control width */
    max-width: 160px;    /* prevent growing too much */

    white-space: normal; /* allow text wrapping */
}

.table-stripe tr:nth-child(even) td:first-child {
    background: #eef5ff;
}


.table-stripe td:not(:first-child),
.table-stripe th:not(:first-child) {
    white-space: normal;      /* allow wrapping */
    word-break: break-word;
}


.table-stripe td:first-child {
    word-break: break-word;
}


/* Optional: subtle shadow for sticky column (recommended) */
.table-stripe th:first-child,
.table-stripe td:first-child {
    box-shadow: 2px 0 4px rgba(0,0,0,0.05);
}

.table-stripe {
    width: 100%; }

.table-compact {
    width: auto;
    margin: 0 auto; /* center it */
}
.table-compact tr:nth-child(even) {
    background: #eef5ff;
}

.table-compact tr:nth-child(odd) {
    background: white;
}

/* First column stays visible */
.table-compact th:first-child,
.table-compact td:first-child {
    position: sticky;
    left: 0;
    background: inherit;
    z-index: 1;
}

.table-compact2 {
    width: auto;
    margin: 0 auto; /* center it */
}
.table-compact2 tr:nth-child(even) {
    background: #eef5ff;
}

/* First column stays visible */
.table-compact2 th:first-child,
.table-compact2 td:first-child {
    position: sticky;
    left: 0;

    z-index: 1;
}



.full-width-table {
  width: calc(100vw - 120px); /* 20px margin on each side */
  position: relative;
  left: 50%;
  margin-left: calc(-50vw + 20px);
}

.table-card {
    background: #fff;
    border-radius: .5rem;
    /* overflow: hidden; */

    box-shadow:
        0 1px 2px rgba(0,0,0,.05),
        0 4px 10px rgba(0,0,0,.08);
}

/* =======================
   RESPONSIVE
======================= */
@media (max-width: 768px) {
	    .table-stripe {
        font-size: 0.85rem;
        min-width: 700px;
	}
	
	    table {
        font-family: "PT Sans Narrow", sans-serif;
    }

    .table-stripe th,
    .table-stripe td {
        padding: 0.4rem;
    }

    .table-stripe th:first-child,
    .table-stripe td:first-child {
        width: 100px;
        min-width: 100px;
        max-width: 100px;
	}
}

.responsiveTable{width:100%;border-collapse:collapse}
.responsiveTable td,.responsiveTable th{padding:12px 15px;
border:1px solid #ddd;text-align:center;font-size:16px}
.responsiveTable th{background-color:#92c9e6;color:#ffffff}
.responsiveTable tbody tr:nth-child(even){background-color:#d1e8f5}
@media (max-width:1000px){
.responsiveTable thead{display:none}
.responsiveTable,.responsiveTable tbody,.responsiveTable tr,
.responsiveTable td{display:block;width:100%}
.responsiveTable tr{margin-bottom:15px}
.responsiveTable td{padding-left:50%;text-align:left;
position:relative}
.responsiveTable td::before{content:attr(data-label);
position:absolute;left:0;width:50%;padding-left:15px;
font-size:15px;font-weight:bold;text-align:left}}