html, body, td {
    background-color: black !important;
    color: #f2c256 !important;
}

.header {
    display: flex;
    justify-content: center;
    padding: 10px;
    margin-bottom: 5px;
    letter-spacing: 1px;
    font-weight: 700;
    border: 3px solid #efda9c;
    border-radius: .75em;
    transform-style: preserve-3d;
    box-shadow: 0 8px 0px -3px #f2c256;
    transition: transform 150ms cubic-bezier(0,0,.58,1), background 150ms cubic-bezier(0,0,.58,1);
}

.full-width-header {
    display: table-caption;
    text-align: center;
    font-weight: bold;
    background-color: #f4f4f4;
    padding: 10px;
    font-size: 18px;
}

/* Table Styling */
.pchart { 
    width: 100%;
    border-collapse: collapse;
    table-layout: auto; /* Let columns auto-adjust */
    color: #000; 
    font-weight: 700; 
    font-style: italic; 
    font-size: large; 
    border-width: 5px; 
    border-color: #893bff; 
    border-style: groove; 
    padding: 10px 0;
}

/* Row & Cell Styling */
tr { 
    border: solid 1px black;
}

tr th {
    background-color: #9b0707 !important;
    color: #f2c256 !important;
    font-weight: 750;
    text-shadow: 1px 1px 2px #9a7400ab;
}

tr td {
    font-weight: 750;
    font-size: 1.2em;
    color: #f2c256;
}

/* Week Header (Days of the Week) */
th p {
    font-size: 14px;
    margin: 0;
}

/* Date Column - Auto Adjust Width Without Breaking */
th:first-child {
    white-space: nowrap;  
    overflow: visible; 
    text-overflow: clip; 
}

th:not(:first-child), td:not(:first-child) {
    width: auto; 
    min-width: 10px; 
    max-width: 1fr;
}

.open-ank, .close-ank {
    font-weight: bold;
    font-size: clamp(10px, 1.2vw, 14px);
    padding: 0 !important;
    margin: 0 !important;
}

.open-ank {
    border-right: none !important;
}

.close-ank {
    border-left: none !important;
}

/* Jodi Styling */
.jodi {
    font-weight: bold;
    font-size: clamp(16px, 2vw, 20px);
    border-left: none !important;
    border-right: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.weekrange {
    font-size: 9px;

}

/* Special Red Text */
.red-text {
    color: red;
    font-weight: bold;
}

/* Responsive Styling */
@media screen and (max-width: 768px) {
    th, td {
        font-size: clamp(10px, 2vw, 14px);
    }
    
    .jodi {
        font-size: clamp(16px, 3vw, 22px);
    }
    
    th p {
        font-size: 12px;
    }
}

.table-chart-heading {
    color: #f4f4f4;
    text-align: center;
    background-color: rgb(63, 81, 181);
    font-size: 19px;
}

.table-chart-heading span{
    font-weight: 650;
}

.red-text {
    color: red;
}

.btm-btn {
    padding: 10px 20px;
    border: 2px solid rgb(255, 54, 88);
    border-radius: 15%;
    text-decoration: none;
    color: #000;
    font-weight: 700;
    background-color: pink;
}

.table {
    border: 3px solid #efda9c;
}

.table th, .table td {
    border: 2px solid #efda9c;
}

.container h1, .container h2 {
    color: #f2c256;
}

.btn-primary {
    background-color: #9b0707;
    border-color: #efda9c;
    color: #f2c256;
}

.btn-primary:hover {
    background-color: #7a0505;
    border-color: #f2c256;
    color: #ffffff;
}

a {
    color: #f2c256;
    text-decoration: none;
}

a:hover {
    color: #ffffff;
}

.panel-table {
    background-color: black;
    color: #f2c256;
}

.panel-table th {
    background-color: #9b0707;
    color: #f2c256;
    border: 2px solid #efda9c;
}

.panel-table td {
    border: 2px solid #efda9c;
    color: #f2c256;
}

.panel-container {
    background-color: black;
    color: #f2c256;
}

.panel-header {
    background-color: #9b0707;
    color: #f2c256;
    border: 2px solid #efda9c;
}