*{
    box-sizing:border-box;
}

html{
    overflow-x:hidden;
}

body{
    font-family:'Vazirmatn','Tahoma',sans-serif;
    background:#f8f9fa;
    padding-top:80px;
    padding-left:15px;
    padding-right:15px;
    padding-bottom:30px;
    overflow-x:hidden;
    max-width:100vw;
}

.navbar{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:9999;

       padding: 0 15px;       /* Remove top/bottom padding */
}

.navbar .container{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    padding-top:8px;
    padding-bottom:8px;
}

.navbar-brand{
    white-space:normal;
    font-size:1rem;
    line-height:1.3;
}

.search-card{
    max-width:800px;
    width:100%;
    margin:0 auto 2rem;
}

.result-section{
    max-width:1000px;
    width:100%;
    margin:0 auto;
}

.result-card{
    background:#fff;
    border-radius:10px;
    box-shadow:0 2px 12px rgba(0,0,0,.08);
    overflow:hidden;
    margin-bottom:25px;
}

.exam-header{
    background:#0d6efd;
    color:#fff;
    padding:12px;
    text-align:center;
    font-weight:600;
}

.help-section{
    max-width:900px;
    width:100%;
    margin:40px auto;
}

.table{
    margin-bottom:0;
    width:100%;
}

.table td,
.table th{
    vertical-align:middle;
    white-space:nowrap;
}

.badge{
    font-size:.9rem;
}

/* Tables scroll horizontally instead of squeezing/breaking layout */
.table-responsive{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
}

/* -------------------------- */
/* Large tablets / small laptops */
/* -------------------------- */
@media (max-width:992px){

    body{
        padding-top:110px;
        padding-left:12px;
        padding-right:12px;
    }

    .navbar .container{
        flex-direction:column;
        text-align:center;
        gap:6px;
    }

    .navbar-brand{
        margin:0;
        font-size:1rem;
    }

    .welcome-title{
        font-size:1.5rem;
    }

    .lead{
        font-size:1rem;
    }

    .help-section{
        max-width:100%;
    }
}

/* -------------------------- */
/* Tablets / large phones */
/* -------------------------- */
@media (max-width:768px){

    body{
        padding-top:120px;
    }

    .search-card{
        padding:1.5rem !important;
    }

    .card.p-4{
        padding:1.25rem !important;
    }

    .nav-tabs{
        flex-wrap:nowrap;
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
    }

    .nav-tabs .nav-link{
        white-space:nowrap;
    }
}

/* -------------------------- */
/* Mobile */
/* -------------------------- */
@media (max-width:576px){

    body{
        padding-top:130px;
        padding-left:10px;
        padding-right:10px;
    }

    .navbar-brand{
        font-size:.85rem;
    }

    .welcome-title{
        font-size:1.15rem;
    }

    .lead{
        font-size:.85rem;
    }

    .search-card{
        padding:16px !important;
    }

    .nav-tabs .nav-link{
        font-size:.8rem;
        padding:.5rem .6rem;
    }

    .form-label{
        font-size:.85rem;
    }

    .btn{
        font-size:.9rem;
    }

    table{
        font-size:.78rem;
    }

    .table td,
    .table th{
        padding:.4rem .5rem;
    }

    .exam-header{
        font-size:.9rem;
        padding:10px;
    }

    footer{
        font-size:.75rem;
    }

}

/* -------------------------- */
/* Very small phones */
/* -------------------------- */
@media (max-width:380px){

    body{
        padding-top:150px;
        padding-left:8px;
        padding-right:8px;
    }

    .navbar-brand{
        font-size:.75rem;
    }

    .welcome-title{
        font-size:1rem;
    }

    .lead{
        font-size:.8rem;
    }

    .search-card{
        padding:12px !important;
    }

    .nav-tabs .nav-link{
        font-size:.72rem;
        padding:.45rem .5rem;
    }

    table{
        font-size:.72rem;
    }

    .table td,
    .table th{
        padding:.3rem .4rem;
    }

    .badge{
        font-size:.75rem;
    }
}