@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Lora:ital,wght@0,400..700;1,400..700&display=swap');
:root{
    --bs-font-sans-serif: Inter, sans-serif !important;
    --bs-body-font-weight: 500;
    --bs-body-line-height: 1.5;
    --bs-body-bg: #f8fafd;
}
/*default delete and edit button*/
.delete-item-btn, .ct_btns[title="Delete"], .ct_btns[title="Edit"], .c_d_card .btn-danger{
    display: none;
}
.delete-item-btn.time-fact{
    display: inline!important;
}
.data_required{
    color: #ff0000;
}
.body-wrapper>.container-fluid{
    max-width: calc(100% - 30px);
}
.app-header{
    background: var(--bs-body-bg);
    box-shadow: none !important;
    z-index: 99999!important;
}
.left-sidebar{
    border-right: none!important; 
    box-shadow: 7px 7px 10px rgba(0, 0, 0, .03);
}
select option[disabled]{
    color: #ffcaca;
    text-decoration: line-through !important;
}
body .select2-container {
    display: block;
    z-index: 9999;
    max-width: 100%;
    width: 220px;
    flex-grow: 1;
}
.modal-open .select2-container {
    z-index: 999999;
}
body .select2-container--classic .select2-selection--single, body .select2-container--classic .select2-selection--single .select2-selection__arrow, body .select2-container--classic .select2-selection--single .select2-selection__rendered, body .select2-container--default .select2-selection--multiple, body .select2-container--default .select2-selection--single, body .select2-container--default .select2-selection--single .select2-selection__arrow, body .select2-container--default .select2-selection--single .select2-selection__rendered {
    border-color: var(--bs-border-color);
    color: var(--bs-body-color);
    height: 40px;
    line-height: 40px;
}
body .select2-container--classic .select2-selection--single, body .select2-container--default .select2-selection--multiple, body .select2-container--default .select2-selection--single {
    border-radius: var(--bs-border-radius);
}
body .select2-container--classic .select2-selection--single .select2-selection__arrow, body .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 0px;
    right: 15px;
    width: auto;
}
body .select2-container .select2-search--inline .select2-search__field{
    margin-top: 0;
}
body .select2-container--default .select2-selection--single .select2-selection__clear{
    margin-right: 5px;
    color: red;
}
body .ql-toolbar.ql-snow {
    border-radius: var(--bs-border-radius) var(--bs-border-radius) 0 0;
}
body .ql-container.ql-snow, body .ql-toolbar.ql-snow {
    border: 1px solid var(--bs-border-color);
}
body .ql-container.ql-snow {
    border-radius: 0 0 var(--bs-border-radius) var(--bs-border-radius);
}
body .ql-container.ql-snow, body .ql-toolbar.ql-snow {
    border: 1px solid var(--bs-border-color);
}
body .ql-container{
    min-height: 100px;
    height: 200px;
    max-height: 60vh;
    overflow: auto;
}
.input-repeater div[data-repeater-item]:only-child .rep_dlt {
    color: var(--bs-btn-disabled-color);
    pointer-events: none;
    background-color: var(--bs-btn-disabled-bg);
    border-color: var(--bs-btn-disabled-border-color);
    opacity: var(--bs-btn-disabled-opacity);
}
.input-repeater .btn{
    padding-top: 10px;
    padding-bottom: 9.4px;
}
.input-repeater .align-items-start .btn{
    margin-top: 21px;
}
.preview_img{
    max-height: 180px;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    object-position: left top;
    /*border-radius: 5px;*/
}
.card {
    --bs-card-spacer-y: 24px;
    --bs-card-spacer-x: 24px;
    --bs-card-title-spacer-y: 0.5rem;
    --bs-card-title-color: #111c2d;
    --bs-card-subtitle-color: rgba(17, 28, 45, 0.6);
    --bs-card-border-width: 0px;
    --bs-card-border-color: #ebf1f6;
    --bs-card-border-radius: 24px;
    --bs-card-box-shadow: 0px 1px 4px 0px rgba(133, 146, 173, 0.2);
    --bs-card-inner-border-radius: 24px;
    --bs-card-cap-padding-y: 12px;
    --bs-card-cap-padding-x: 24px;
    --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);
    --bs-card-bg: #fff;
    --bs-card-img-overlay-padding: 1rem;
    --bs-card-group-margin: 15px;
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: var(--bs-card-height);
    color: var(--bs-body-color);
    word-wrap: break-word;
    background-color: var(--bs-card-bg);
    background-clip: border-box;
    border: var(--bs-card-border-width) solid var(--bs-card-border-color);
    border-radius: var(--bs-card-border-radius);
    box-shadow: var(--bs-card-box-shadow);
}
.card-title{
    font-weight: 600;
}
.card-subtitle {
    --bs-card-subtitle-color: rgba(17, 28, 45, 0.6);
    font-size: 14px;
    line-height: 24px;
    color: var(--bs-card-subtitle-color);
}
.title-part-padding {
    padding: 15px 30px;
}
table th, table td{
    vertical-align: middle;
}
.card .table tbody tr td{
    padding: 5px;
    font-size: 12px;
}
.card .table thead tr th{
    padding-left: 5px;
    padding-right: 5px;
}
.card .table tbody tr td.active span, .card .table tbody tr td.inactive span{
    padding: 3px 7px;
    border-radius: 5px;
    min-width: 61px;
    display: inline-block;
    text-align: center;
    line-height: 1.4;
}
.card .table tbody tr td.inactive span{
    border: 1px solid rgb(255 0 88 / 12%);
    color: #ff0058;
    background: #ffe6ee;
}
.card .table tbody tr td.active span{
    border: 1px solid rgb(28 177 110 / 12%);
    color: #1cb16e;
    background: #e2fff2;
}
.hot_info {
    min-width: 24px;
    min-height: 24px;
}
.events .ti-calendar-week{
    width: 20px;
    height: 20px;
}
.event_details ul{
    
}
.event_details ul li{
    margin-top: 10px !important;
}
.event_details ul li h6{
    display: flex;
    justify-content: space-between;
    margin: 0;
    align-items: center;
}
.event_details ul li h6 strong{
    font-size: 24px;
    font-weight: 700;
    padding: 0 15px;
}
.event_details ul li h6 span{
    
}
.att_info i{
    font-size: 50px;
    color: #b4b4b4;
    margin-right: 15px;
}
.att_info h3{
    font-size: 20px;
    font-weight: 700;
    margin: 0;
}
ul.events_count {
    display: flex;
    flex-wrap: wrap; /* Allows items to wrap into multiple rows */
    justify-content: center; /* Centers the items horizontally */
}
.pastel-box {
    border-radius: 10px;
    padding: 9px 10px;
    margin: 4px;
    text-align: center;
    flex: 1 1 calc(30% - 20px);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.pastel-box:hover {
    transform: translateY(-5px); /* Lift effect on hover */
    /*box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2); /* Enhanced shadow */
}
/*.pastel-box:nth-child(1) { background-color: var(--bs-primary-bg-subtle); }*/
/*.pastel-box:nth-child(2) { background-color: var(--bs-danger-bg-subtle); }*/
/*.pastel-box:nth-child(3) { background-color: var(--bs-warning-bg-subtle); }*/
/*.pastel-box:nth-child(4) { background-color: var(--bs-success-bg-subtle); }*/
/*.pastel-box:nth-child(5) { background-color: var(--bs-info-bg-subtle); }*/
/*.pastel-box:nth-child(6) { background-color: #efefef; }*/


/*.pastel-box:nth-child(1) h6 { color: var(--bs-primary); }*/
/*.pastel-box:nth-child(2) h6 { color: var(--bs-danger); }*/
/*.pastel-box:nth-child(3) h6 { color: var(--bs-warning); }*/
/*.pastel-box:nth-child(4) h6 { color: var(--bs-success); }*/
/*.pastel-box:nth-child(5) h6 { color: var(--bs-info); }*/
/*.pastel-box:nth-child(6) h6 { color: #000; }*/

.highlights .item{
    width: 170px;
}
.table-responsive{

}
.table-responsive .dataTables_length{
    padding: 0 15px;
}
.table-responsive .dataTables_length label{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 5px;
}
.table-responsive .dataTables_length label select{
    max-width: 50px;
    text-align: center;
}
.table-responsive .dataTables_filter{
    padding: 0 15px;
}
.table-responsive .dataTables_filter label{    
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 5px;
}
.table-responsive .dataTables_filter label input{
    width: calc(100% - 90px);
    max-width: 200px;
    text-align: left;
}
.table-responsive .col-sm-12{
    padding: 10px 0 0 0;
}
.table-responsive :where(.dataTables_info, .dataTables_paginate, .dataTables_filter, .dataTables_length){
    padding: 0 15px;
}
.actionbtns{
    min-width: 110px;
    text-align: center;
}
.custom-control {
    position: relative;
    display: block;
    min-height: 1.5rem;
    padding-left: 1.5rem;
    /*top: 8px;*/
}
.custom-control-inline {
    display: -ms-inline-flexbox;
    display: -webkit-inline-box;
    display: inline-flex;
    margin-right: 1rem
}
.custom-control-input {
    position: absolute;
    z-index: -1;
    opacity: 0
}
.custom-control-input:checked~.custom-control-label::before {
    color: #fff;
    border-color: #007bff;
    background-color: #007bff
}
.custom-control-input:focus~.custom-control-label::before {
    -webkit-box-shadow: 0 0 0 .2rem rgba(0,123,255,.25);
    box-shadow: 0 0 0 .2rem rgba(0,123,255,.25)
}
.custom-control-input:focus:not(:checked)~.custom-control-label::before {
    border-color: #80bdff
}
.custom-control-input:not(:disabled):active~.custom-control-label::before {
    color: #fff;
    background-color: #b3d7ff;
    border-color: #b3d7ff
}
.custom-control-input:disabled~.custom-control-label {
    color: #6c757d
}
.custom-control-input:disabled~.custom-control-label::before {
    background-color: #e9ecef
}
.custom-control-label {
    position: relative;
    margin-bottom: 0;
    vertical-align: top
}
.custom-control-label::before {
    position: absolute;
    top: 0;
    left: -1.5rem;
    display: block;
    width: 14px;
    height: 14px;
    pointer-events: none;
    content: "";
    background-color: #fff;
    border: #adb5bd solid 1px
}
.custom-control-label::after {
    position: absolute;
    top: 0;
    left: -1.5rem;
    display: block;
    width: 14px;
    height: 14px;
    content: "";
    background: no-repeat 50%/50% 50%
}
.table thead .custom-control-label::after, .table thead .custom-control-label::before{
    top: 5px;
}
.custom-checkbox .custom-control-label::before {
    border-radius: .25rem
}

.custom-checkbox .custom-control-input:checked~.custom-control-label::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e")
}

.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before {
    border-color: #007bff;
    background-color: #007bff
}

.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")
}

.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before {
    background-color: rgba(0,123,255,.5)
}

.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before {
    background-color: rgba(0,123,255,.5)
}

.custom-radio .custom-control-label::before {
    border-radius: 50%
}

.custom-radio .custom-control-input:checked~.custom-control-label::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")
}

.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before {
    background-color: rgba(0,123,255,.5)
}

.custom-switch {
    padding-left: 2.25rem
}

.custom-switch .custom-control-label::before {
    left: -2.25rem;
    width: 1.75rem;
    pointer-events: all;
    border-radius: .5rem
}

.custom-switch .custom-control-label::after {
    top: calc(.25rem + 2px);
    left: calc(-2.25rem + 2px);
    width: calc(1rem - 4px);
    height: calc(1rem - 4px);
    background-color: #adb5bd;
    border-radius: .5rem;
    transition: background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;
    -webkit-transition: background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-transform .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
    transition: background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-transform .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
    transition: transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    transition: transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
    transition: transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out
}

@media(prefers-reduced-motion:reduce) {
    .custom-switch .custom-control-label::after {
        -webkit-transition: none;
        transition: none
    }
}

.custom-switch .custom-control-input:checked~.custom-control-label::after {
    background-color: #fff;
    -webkit-transform: translateX(.75rem);
    transform: translateX(.75rem)
}

.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before {
    background-color: rgba(0,123,255,.5)
}

.custom-select {
    display: inline-block;
    width: 100%;
    height: calc(1.5em + .75rem + 2px);
    padding: .375rem 1.75rem .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    vertical-align: middle;
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;
    background-color: #fff;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.custom-select:focus {
    border-color: #80bdff;
    outline: 0;
    -webkit-box-shadow: 0 0 0 .2rem rgba(0,123,255,.25);
    box-shadow: 0 0 0 .2rem rgba(0,123,255,.25)
}

.custom-select:focus::-ms-value {
    color: #495057;
    background-color: #fff
}

.custom-select[multiple],.custom-select[size]:not([size="1"]) {
    height: auto;
    padding-right: .75rem;
    background-image: none
}

.custom-select:disabled {
    color: #6c757d;
    background-color: #e9ecef
}

.custom-select::-ms-expand {
    display: none
}

.custom-select-sm {
    height: calc(1.5em + .5rem + 2px);
    padding-top: .25rem;
    padding-bottom: .25rem;
    padding-left: .5rem;
    font-size: .875rem
}

.custom-select-lg {
    height: calc(1.5em + 1rem + 2px);
    padding-top: .5rem;
    padding-bottom: .5rem;
    padding-left: 1rem;
    font-size: 1.25rem
}

div:where(.swal2-container){
    z-index: 999999!important;
}

.input-group-text{
    border: var(--bs-border-width) solid #DFE5EF;
}
.form-control[readonly]{
    background: #f4f4f4;
}
.body-wrapper > div:nth-child(2).container-fluid{
    min-height: calc(100vh - 40px);
}
body .modal{
    z-index: 999999!important;
}
body .modal-backdrop{
    z-index: 99999!important;
}
body .modal-body{
    background: #fff;
}
.footer{
    background: #fff;
}
.sidebar-nav svg{
    width: 20px;
    height: 20px;
}
.c_d_card svg{
    width: 20px;
    height: 20px;
}
.data_card svg{
    width: 13px;
    height: 13px;
}
.cke_inner.cke_maximized{
    z-index: 99999!important;
}
.cke_maximized .cke_button__maximize.cke_button_on{
    position: fixed;
    right: 10px;
    top: 10px;
    z-index: 9;
}
.cke_button.cke_button__about{
    display: none!important;
}
.test_temp_content > label, .test_temp_content > .text-editor{
    max-width: 637px;
    width: 100%;
    margin: 0 auto;
}
/*Bill table css*/
td.merged_cell{
    border: none;
}
td.merged_cell.merged_firstcell{
    
}
td.merged_cell.merged_lastcell{
    
}
.expan_table{
    position: relative;
    text-align: center;
    width: 43px;
    padding: 0;
}
.expan_table > input[type="checkbox"]{
    margin: 0 auto;
    float: unset;
}
.expan_table > label{
    position: absolute;
    text-align: center;
    font-size: 9px;
    color: #8691a5;
    bottom: -12px;
    left: 50%;
    transform: translateX(-50%);
}
.bilt_pnt_name{
    font-size: 16px;
    color: #272727;
    font-weight: 600;
}
.admi_status{
    padding: 5px 8px;
}
.pay_dtls{
    
}
.payment_details{
    text-align: center;
}
.payment_details .paid_amt{
    font-size: 16px;
    color: #272727;
    font-weight: 700;
}
.payment_details .divider{
    font-size: 16px;
}
.payment_details .bill_amt{
    font-size: 16px;
}
.payment_details .pmt_stat{
    font-size: 14px;
    margin-top: 5px;
    display: block;
    color: #7e8899;
    margin-bottom: 0;
}
.payment_details.paid .pmt_stat{
    color: #1cb16e;
}
.payment_details.partially_paid .pmt_stat{
    color: #e99500;
}
.payment_details.unpaid .pmt_stat{
    color: #ff0058;
}
.payment_details .progress {
    height: 6px;
    width: 100%;
}
.payment_details .progress .text-bg-success{
    background: #1cb16e;
}
.payment_details .progress .text-bg-warning{
    background: #e99500;
}
.payment_details .progress .text-bg-denger{
    background: #ff0058;
}
.due_details {
    text-align: center;
}
.due_details.limit_exceeded{
    /*color: #ff0058!important;*/
}
.due_details.limit_exceeded .credit_warning{
    /*background: #ffe0eb;*/
    color: #ff0058;
    text-align: center;
    padding: 2px 5px;
    border-radius: 5px;
    display: inline-block;
    font-size: 9px;
}
.t_other_dtls{
    display: none;
}
.card .card-body form:not(.normalizedtext) .form-control:not([type="email"]):not(textarea):not(select):not([type="password"]):not([name="password"]) {
    text-transform: uppercase;
}
/*Session timer style*/
    .session_info{
        display: flex;
        justify-content: flex-start;
        align-items: center;
        margin-right: 15px;
    }
    .session_info .s_info{
        display: block;
        font-size: 10px;
        line-height: 1;
        text-transform: uppercase;
        color: #a3a3a3;
    }
    .session_info img{
        width: 38px;
        mix-blend-mode: multiply;
    }
    #session-timer{
        font-weight: bold;
        font-size: 23px;
        line-height: 1.1;
    }
/*end*/


/*for Video Call Purpose*/
    .incomingCallscreen{
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background: linear-gradient(180deg, #0f0c29 0%, #302b63 60%, #24243e 100%);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-around;
        padding: 2.5rem 1.5rem 2rem;
        transform: translateY(-100%);
        transition: transform 0.55s cubic-bezier(0.34, 1.3, 0.64, 1);
        will-change: transform;
        border-radius: var(--border-radius-lg);
        overflow: hidden;
        z-index: 999999;
      }
      @media print {
        .incomingCallscreen{
            display: none!important;
        }
      }
      .incomingCallscreen.active {
        transform: translateY(0);
      }
      .call-screen-top {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 1rem;
        text-align: center;
      }
      .pulse-ring {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 0.5rem;
        margin-bottom: 30px;
      }
      .pulse-ring .ring {
        position: absolute;
        border-radius: 50%;
        border: 2px solid rgba(165, 180, 252, 0.4);
        animation: ringPulse 2.2s ease-out infinite;
      }
      .pulse-ring .ring:nth-child(1) {
        width: 100px;
        height: 100px;
        animation-delay: 0s;
      }
      .pulse-ring .ring:nth-child(2) {
        width: 130px;
        height: 130px;
        animation-delay: 0.5s;
      }
      .pulse-ring .ring:nth-child(3) {
        width: 160px;
        height: 160px;
        animation-delay: 1s;
      }
      @keyframes ringPulse {
        0% {
          opacity: 0.8;
          transform: scale(0.92);
        }
        70% {
          opacity: 0;
          transform: scale(1.1);
        }
        100% {
          opacity: 0;
          transform: scale(1.1);
        }
      }
      .avatar {
        width: 120px;
        height: 120px;
        border-radius: 50%;
        background: rgb(0 57 255 / 30%);
        border: 3px solid rgb(255 255 255 / 25%);
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        z-index: 1;
        color: rgb(255 255 255);
        font-size: 70px;
      }
      .avatar svg {
        width: 100px;
        height: 100px;
      }
      .caller-name {
        font-size: 22px;
        font-weight: 500;
        color: #e0e7ff;
        letter-spacing: 0.01em;
      }
      .caller-sub {
        font-size: 14px;
        color: rgba(165, 180, 252, 0.7);
        margin-top: 2px;
      }
      .incomingcall-status {
        display: flex;
        align-items: center;
        gap: 6px;
        margin-top: 0.25rem;
      }
      .status-dot {
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: #a5f3a5;
        animation: blink 1.4s ease-in-out infinite;
      }
      @keyframes blink {
        0%,
        100% {
          opacity: 1;
        }
        50% {
          opacity: 0.3;
        }
      }
      .status-text {
        font-size: 13px;
        color: rgba(187, 247, 208, 0.85);
      }
      .call-actions {
        display: flex;
        align-items: center;
        gap: 3rem;
      }
      .ic-action-btn {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8px;
        cursor: pointer;
        border: none;
        background: none;
        padding: 0;
      }
      .btn-circle {
        width: 64px;
        height: 64px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: transform 0.15s, opacity 0.15s;
      }
      .btn-circle:hover {
        transform: scale(1.08);
      }
      .btn-circle:active {
        transform: scale(0.95);
        opacity: 0.85;
      }
      .btn-accept .btn-circle {
        background: #22c55e;
        box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.5);
        animation: acceptPulse 2s infinite;
      }
      @keyframes acceptPulse {
        0% {
          box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.45);
        }
        70% {
          box-shadow: 0 0 0 14px rgba(34, 197, 94, 0);
        }
        100% {
          box-shadow: 0 0 0 0 rgba(34, 197, 94, 0);
        }
      }
      .btn-reject .btn-circle {
        background: #ef4444;
      }
      .btn-circle svg {
        width: 26px;
        height: 26px;
        fill: #fff;
      }
      .btn-label {
        font-size: 12px;
        color: rgba(165, 180, 252, 0.6);
      }
      .action-btn.accepted .btn-circle {
        animation: none;
      }
/*end*/
/*notification permission*/
    .notification-permission-card{
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        height: 100vh;
        display: flex;
        background: rgb(0 0 0 / 40%);
        backdrop-filter: blur(5px);
        box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
        z-index: 999999;
        opacity: 0;
        visibility: hidden;
        transform: translateY(120%);
        transition: .25s ease;
        align-content: center;
        justify-content: center;
        align-items: center;
    }
    @media print {
        .notification-permission-card{
            display: none!important;
        }
    }
    
    .notification-permission-card.active{
        opacity:1;
        visibility:visible;
        transform:translateY(0);
    }
    
    .notification-card-inner{
        padding: 16px;
        border-radius: 18px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
        background: #fff;
        width: 400px;
        max-width: 90%;
        margin: 35px auto;
        text-align: center;
    }
    
    .notification-icon{
        width:46px;
        height:46px;
        border-radius:50%;
        background:#16a34a;
        color:#fff;
        font-size:22px;
        display:flex;
        align-items:center;
        justify-content:center;
        margin-bottom:12px;
        margin: 10px auto 20px auto;
    }
    .notification-permission-card.denied .notification-icon{
        background: #ff1100;
    }
    
    .notification-content h3{
        margin:0;
        font-size:17px;
        font-weight:700;
        color:#111827;
        line-height:1.2;
    }
    .notification-permission-card.denied .notification-content h3{
        color: #ff1100;
    }
    
    .notification-content p{
        margin:6px 0 0;
        font-size:13px;
        line-height:1.4;
        color:#6b7280;
    }
    .notification-help{
        border: 1px solid gainsboro;
        border-radius: 10px;
        overflow: hidden;
        margin-top: 15px;
        display: none;
    }
    .notification-permission-card.denied .notification-help{
        display: block;
    }
    .notification-help img{
        width: 100%;
    }
    
    .notification-actions{
        display:flex;
        gap:10px;
        margin-top:25px;
    }
    .notification-permission-card.denied .notification-actions{
        opacity: 0.5;
        cursor: not-allowed;
    }
    .notification-permission-card.denied .notification-actions button{
        pointer-events: none;
    }
    
    .notification-enable-btn{
        flex:1;
        height:42px;
        border:none;
        border-radius:12px;
        background:#16a34a;
        color:#fff;
        font-size:14px;
        font-weight:600;
        cursor:pointer;
    }
    
    .notification-close-btn{
        width:88px;
        border:none;
        border-radius:12px;
        background:#f3f4f6;
        color:#111827;
        font-size:14px;
        font-weight:600;
        cursor:pointer;
    }
/*end*/

/*PWA App installation popup*/
    #pwa-popup {
      --brand-pink: #F0145A;
      --brand-blue: #1A56DB;
      --brand-pink-light: rgba(240, 20, 90, 0.08);
      --brand-blue-light: rgba(26, 86, 219, 0.08);
      --brand-pink-border: rgba(240, 20, 90, 0.2);
      --brand-blue-border: rgba(26, 86, 219, 0.2);
      --text-main: #111827;
      --text-muted: #6B7280;
      --popup-width: 340px;
    }
    /* ── Backdrop ── */
    #pwa-backdrop {
      display: none;
      position: fixed; inset: 0;
      background: rgba(17, 24, 39, 0.3);
      backdrop-filter: blur(3px);
      -webkit-backdrop-filter: blur(3px);
      z-index: 99999;
      opacity: 0;
      transition: opacity 0.3s ease;
    }
    #pwa-backdrop.visible { opacity: 1; }

    /* ── Popup base ── */
    #pwa-popup {
      display: none;
      position: fixed;
      z-index: 999999;
      background: #ffffff;
      box-shadow: 0 20px 60px rgba(0,0,0,0.15), 0 4px 16px rgba(0,0,0,0.08);
    }

    /* ══════════════════════════
       DESKTOP — from LEFT
    ══════════════════════════ */
    @media (min-width: 641px) {
      #pwa-popup {
        bottom: 0;
        right: 20px;
        width: var(--popup-width);
        transform: translateY(250%) translateX(0%);
        border-radius: 16px 16px 0 0;
        padding: 28px 24px 24px;
        border: 1px solid #e5e7eb;
        border-left: none;
        transition: transform 0.42s cubic-bezier(0.34, 1.2, 0.64, 1);
      }
      #pwa-popup.open {
        transform: translateY(0%) translateX(0);
      }
      /* Pink + blue top accent bar */
      #pwa-popup::before {
        content: '';
        position: absolute;
        top: 0; 
        right: 0; 
        bottom: 0;
        width: 4px;
        background: linear-gradient(180deg, var(--brand-pink) 50%, var(--brand-blue) 50%);
        border-radius: 0 2px 2px 0;
        opacity: 0;
      }
    }

    /* ══════════════════════════
       MOBILE — from BOTTOM
    ══════════════════════════ */
    @media (max-width: 640px) {
      #pwa-popup {
        bottom: 0; left: 0; right: 0;
        transform: translateY(110%);
        border-radius: 20px 20px 0 0;
        padding: 24px 20px 36px;
        border: 1px solid #e5e7eb;
        border-bottom: none;
        transition: transform 0.42s cubic-bezier(0.34, 1.2, 0.64, 1);
      }
      #pwa-popup.open { transform: translateY(0); }
      /* drag handle */
      #pwa-popup::before {
        content: '';
        position: absolute;
        top: 10px; left: 50%;
        transform: translateX(-50%);
        width: 36px; height: 4px;
        border-radius: 2px;
        background: #D1D5DB;
      }
    }

    /* ── Logo ── */
    .pwa-logo {
      width: 52px;
      height: 52px;
      border-radius: 12px;
      object-fit: contain;
      background: #fff;
      border: 1.5px solid #e5e7eb;
      padding: 4px;
      box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    }

    /* ── App name + tagline ── */
    .pwa-app-name {
      font-size: 1.1rem;
      font-weight: 700;
      color: var(--text-main);
      line-height: 1.2;
      margin-bottom: 2px;
    }
    .pwa-tagline {
      font-size: 0.78rem;
      color: var(--text-muted);
      font-weight: 400;
    }

    /* ── Description ── */
    .pwa-desc {
      font-size: 0.84rem;
      line-height: 1.6;
      color: var(--text-muted);
      margin: 14px 0 16px;
    }

    /* ── Feature pills ── */
    .pwa-features {
      display: flex;
      flex-wrap: wrap;
      gap: 7px;
      margin-bottom: 20px;
    }
    .pwa-pill {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      font-size: 0.72rem;
      font-weight: 600;
      padding: 4px 10px;
      border-radius: 50px;
      letter-spacing: 0.01em;
    }
    .pwa-pill.pink {
      color: var(--brand-pink);
      background: var(--brand-pink-light);
      border: 1px solid var(--brand-pink-border);
    }
    .pwa-pill.blue {
      color: var(--brand-blue);
      background: var(--brand-blue-light);
      border: 1px solid var(--brand-blue-border);
    }
    .pwa-pill svg { width: 11px; height: 11px; flex-shrink: 0; }

    /* ── Divider ── */
    .pwa-divider {
      height: 1px;
      background: #F3F4F6;
      margin: 0 0 18px;
    }

    /* ── Install button ── */
    #install-btn {
      width: 100%;
      padding: 12px;
      font-size: 0.875rem;
      font-weight: 700;
      letter-spacing: 0.02em;
      border: none;
      border-radius: 10px;
      background: linear-gradient(135deg, var(--brand-pink), #c70d48);
      color: #fff;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      transition: opacity 0.2s, transform 0.15s, box-shadow 0.2s;
      box-shadow: 0 4px 14px rgba(240, 20, 90, 0.35);
      margin-bottom: 8px;
    }
    #install-btn:hover {
      opacity: 0.92;
      transform: translateY(-1px);
      box-shadow: 0 6px 20px rgba(240, 20, 90, 0.4);
    }
    #install-btn:active { transform: translateY(0); }
    #install-btn svg { width: 15px; height: 15px; }

    /* ── Dismiss ── */
    .pwa-dismiss {
      width: 100%;
      background: none;
      border: none;
      font-size: 0.8rem;
      color: var(--text-muted);
      cursor: pointer;
      padding: 6px;
      font-family: 'Inter', sans-serif;
      transition: color 0.2s;
      text-align: center;
    }
    .pwa-dismiss:hover { 
        color: var(--text-main); 
    }

    /* ── Close button ── */
    .pwa-close {
      position: absolute;
      top: 12px; right: 12px;
      width: 26px; height: 26px;
      border-radius: 50%;
      background: #F3F4F6;
      border: none;
      color: #9CA3AF;
      font-size: 13px;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      line-height: 1;
      transition: background 0.2s, color 0.2s;
    }
    .pwa-close:hover { 
        background: #E5E7EB; color: var(--text-main); 
    }
    
    /*PWA FAB*/
    #pwa-fab {
        display: none;
        position: fixed;
        bottom: 30px;
        right: 0;
        z-index: 99998;
        background: linear-gradient(135deg, #0062ed, #0056cf);
        color: #fff;
        border: none;
        border-radius: 12px 0px 0px 12px;
        padding: 12px 18px 12px 14px;
        cursor: pointer;
        align-items: center;
        gap: 8px;
        font-size: 0.82rem;
        font-weight: 700;
        letter-spacing: 0.03em;
        box-shadow: 0 4px 20px rgb(0 98 237 / 30%);
        transition: transform 0.2s, box-shadow 0.2s, opacity 0.3s;
        animation: pwa-fab-bounce 2.5s ease-in-out 1s infinite;
    }
    #pwa-fab span{
        position: absolute;
        visibility: hidden; 
        width: 0;
        overflow: hidden;
        display: inline-block;
        height: 20px;
        transition: 0.2s;
        opacity: 0;
    }
    #pwa-fab:hover span{
        width: auto;
        position: relative;
        visibility: visible;
        opacity: 1; 
    }
    #pwa-fab.visible {
      display: flex;
    }
    #pwa-fab:hover {
      transform: translateY(-3px);
      box-shadow: 0 8px 28px rgba(240, 20, 90, 0.5);
      animation: none;
    }
    #pwa-fab svg {
      width: 16px;
      height: 16px;
      flex-shrink: 0;
    }
    @keyframes pwa-fab-bounce {
      0%, 100% { transform: translateY(0); }
      50%       { transform: translateY(-6px); }
    }
    /*PWA FAB end*/
/*PWA end*/

@media (max-width: 767px){
    .sidebar-nav ul .sidebar-item .sidebar-quick-acction{
        font-size: 12px;
    }
    .app-header .navbar .prev-page{
        order: 2;
    }
    .app-header .navbar .notifi-menu{
        order: 3;
    }
    .session_info{
        flex-direction: column;
    }
    .session_info .s_info {
        display: none;
    }
    .session_info img {
        width: 22px;
    }
    #session-timer{
        font-size: 12px;
    }
    .highlights{
        gap: 10px!important;
        margin-bottom: 30px;
    }
    .highlights .item{
        max-width: calc(50% - 8px);
    }
    .highlights .item .card{
        margin-bottom: 0;
    }
}
@media (max-width: 1199px) {
    .body-wrapper>.container-fluid{
        max-width: 100%;
        /*padding-left: 10px;*/
        /*padding-right: 10px;*/
        padding-right: calc(var(--bs-gutter-x) * 0.5);
        padding-left: calc(var(--bs-gutter-x) * 0.5);
    }
    .body-wrapper>.container-fluid .row, .body-wrapper>.container .row{
        /*margin-right: 0;*/
        /*margin-left: 0;*/
        /*width: 100%;*/
        /*--bs-gutter-x: 0 !important;*/
    }
    .body-wrapper .card-body{
        overflow: auto;
    }
    .left-sidebar{
        z-index: 999999;
    }
    .app-header{
        background: #fff;
        box-shadow: 0px 4px 20px rgb(0 0 0 / 5%) !important;
        padding: 0;
    }
    .brand-logo img{
        flex: 0 0 30%;
    }
    .sft-title{
        flex: 1;
    }
    .card{
        --bs-card-border-radius: 12px !important;
    }
    .data_card .card-body{
        padding: 0;
    }
    .data_card .card-body .table-responsive{
        border: none !important;
    }
}
@media (min-width: 1200px) {
    #main-wrapper[data-layout=vertical][data-sidebartype=full] .left-sidebar, #main-wrapper[data-layout=vertical][data-sidebartype=mini-sidebar] .left-sidebar {
        left: 0px;
    }
    #main-wrapper[data-layout=vertical][data-sidebartype=mini-sidebar] .left-sidebar, #main-wrapper[data-layout=vertical][data-sidebartype=mini-full] .left-sidebar {
        left: -270px;
    }
}