body{
    --bs-font-sans-serif: "Nunito Sans", Helvetica, "sans-serif" !important;
    /*font-family: Be Vietnam Pro !important;*/
    font-family: "Nunito Sans" !important;
    font-size: 12.8px !important;
    font-weight: 500;
}

.page-break {
    page-break-before: always; /* Force next section to start on new page */
}

@media print {
    @page {
        margin: 10mm 6mm;
    }
    .page-break {
        break-before: page; /* modern property */
        page-break-after: always; /* har section ke baad page break */
    }
    .a4-page {
        width: 210mm;     /* A4 width */
        min-height: 279mm; /* A4 height */
        height: 279mm;    /* lock height */
        padding: 15mm;    /* inner margin */
        box-sizing: border-box;
        page-break-after: always; /* har section ke baad page break */
    }
    html, body {
        padding: 0 !important;
        margin: 0 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    /* Top pe extra gap hatao */
    img, h1, h2, h3, header {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    .container, .wrapper, main {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }

    table { width: 100% !important; border-collapse: collapse; }
    tr, td, th { page-break-inside: avoid; break-inside: avoid; }


    /* Screen-only (nav, buttons, etc.) */
    .no-print, nav, .actions { display: none !important; }
}

.card {
    box-shadow: 0px 3px 4px 0px rgba(0,0,0,.03);
    background-color: #fff;
    border-radius: 0.75rem;
    border: #f1f1f4;
}
.card .card-header{
    box-shadow: 0px 3px 4px 0px rgba(0,0,0,.03);
    background-color: #fff;
    border-radius: 0.75rem;
    border: #f1f1f4;
}
body, .app-default {
    background-color: rgb(245, 247, 250);
}
a{
    font-weight: 600;
}
.card .card-footer{
    font-weight: 700;
    font-size: 1rem;
}

.app-sidebar-menu .menu > .menu-item > .menu-link > .menu-title {
    font-size: 13px;
    font-weight: 500;
}
.card-title, .card-title h3{
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    line-height: 1.2;
}
.form-control{
    font-size: 13px;
}
.alert > ul{
    margin-bottom: 0;
}
input::placeholder {
    font-size: 12px;
}
.custom-file-input{
    padding:0;
}
.card .card-header{
    min-height: 50px;
    padding: 0 1.25rem;
}
.input-icon{
    background: transparent;
}
.search-tr th{
    vertical-align: middle;
    text-align: center;
}
.search-tr .form-control{
    padding: 9px 9px;
    border-radius: 4px;
}
.dropdown-menu{
    padding: 0;
}
.dropdown-item{
    display: flex;
    align-items: center;
}
.btn-group button{
    padding: 4px 12px !important;
}
.form-control:not(.rounded-pill)
, .btn-group button
, .form-check-input[type=checkbox]
, .select2-search__field
, .form-select
, .input-group-text
, .btn-group
{
    /*border-radius: .30rem !important;*/
}

.fs-1xx{
    font-size: 1.2rem !important;
}
.form-btns .btn{
    padding-left: 5px !important;
    padding-right: 5px !important;
}
.grid-table{
    margin-bottom: 0px !important;
}
.grid-table > td{
    vertical-align: center !important;
}
.grid-table .tr-titles a{
    color: black;
    display: flex;
    align-items: center;
}
.grid-table td img{
    width: 36px;
    height: 36px;
}
.grid-form{
    margin-bottom: 2rem;
}
.card .card-footer {
    padding: 0.8rem 2.25rem !important;
}
.overlay{
    display: inline-block;
}
.page-link.active, .active > .page-link{
    background-color: #d0bdf9;
    color: #7239ea !important;
}

.r-field:first-child > label::after {
    content: "*";
    position: relative;
    font-size: inherit;
    color: var(--bs-danger);
    padding-left: 0.25rem;
    font-weight: 600;
}
.menu-items li.placeholder{
    height: 52px;
    background-color: var(--bs-gray-300) !important;
    margin-bottom: 20px;
}
.menu-items ol{
    list-style: none;
}
/*------------------------*/
.table thead{
    background-color: #fcfcfc;
}
.table thead th
, .table thead th a{
    font-size: .9rem;
    line-height: 1.2rem;
    vertical-align: middle;
}
.page-item .page-link {
    border-radius: 0.3rem;
    height: 2.3rem;
    min-width: 2.3rem;
    font-weight: 700;
    font-size: 1rem;
}
.pagination a{
    line-height: 10px;
}
