*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Arial,sans-serif;
}

html,
body{
    height:100%;
}

body{
    background:#1a1033;
    color:#fff;

    display:flex;
    flex-direction:column;

    min-height:100vh;
}

/* ===========================
   Main Container
=========================== */

.container{
    flex:1;
    width:100%;
    max-width:1200px;
    margin:0 auto;
    padding:30px;
}

h1{
    margin-bottom:20px;
}

/* ===========================
   Summary Card
=========================== */

.summaryCard{
    background:#241547;
    border-radius:12px;
    padding:20px;
    margin-bottom:20px;
}

.summaryRow{
    display:flex;
    justify-content:space-between;
    padding:8px 0;
}

.summaryRow:not(:last-child){
    border-bottom:1px solid rgba(255,255,255,.08);
}

.label{
    color:#b9a9ff;
    font-weight:bold;
}

#stateName,
#zoneName,
#monthName{
    font-weight:600;
}

/* ===========================
   Dropdown
=========================== */

select{
    width:100%;
    max-width:350px;
    padding:10px;
    margin-bottom:25px;

    border:none;
    border-radius:8px;

    background:#fff;
    color:#111;

    font-size:16px;
    cursor:pointer;
}

/* ===========================
   Table
=========================== */

#tableContainer{
    background:#241547;
    border-radius:12px;
    padding:20px;
    min-height:400px;
    overflow-x:auto;
}

.monthTitle{
    text-align:center;
    margin-bottom:20px;
    font-size:28px;
    font-weight:bold;
}

.prayerTable{
    width:100%;
    border-collapse:collapse;
    white-space:nowrap;
}

.prayerTable thead{
    background:#7c5cff;
}

.prayerTable th{
    padding:12px;
    text-align:center;
}

.prayerTable td{
    padding:12px;
    text-align:center;
    border-bottom:1px solid rgba(255,255,255,.10);
}

.prayerTable tbody tr:nth-child(even){
    background:rgba(255,255,255,.03);
}

.prayerTable tbody tr:hover{
    background:#33205d;
}

.today{
    background:#7c5cff !important;
    font-weight:bold;
}

.today td{
    color:#fff;
}

/* ===========================
   Footer
=========================== */

.footer{
    margin-top:auto;

    width:100%;

    padding:15px 20px;

    text-align:center;

    color:#aaa;
    font-size:11px;

    border-top:1px solid rgba(255,255,255,.08);

    background:#1a1033;
}

.footer-load{
    margin-bottom:5px;
}

.footer-stats{
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:6px;
}
