* {
    padding: 0;
    margin: 0;
}

/* Scrollbar */
div::-webkit-scrollbar{
    width:2px;
}
div::-webkit-scrollbar-thumb{
    display: none;
    background-color: #777;
}
div::-webkit-scrollbar-track{
    background:transparent;
}
div:hover::-webkit-scrollbar-thumb{
    display: block;
}


.profile-picture-1{
    width: 1em;
    height: 1em;
}
.profile-picture-2{
    width: 2em;
    height: 2em;
}
.profile-picture-3{
    width:3em;
    height: 3em;
}
.profile-picture-4{
    width: 4em;
    height: 4em;
}
.profile-picture-5{
    width: 5em;
    height: 5em;
}

.profile-picture-6{
    width: 6em;
    height: 6em;
}
.profile-picture-7{
    width: 7em;
    height: 7em;
}
.bg-ccc{
    background:rgba(226, 236, 250, 0.95) !important;
}
.bg-ddd{
    background: rgba(237, 242, 248, 0.95) !important;
}
.bg-eee{
    background:#eee !important;
}
.bg-#0f3f8f{
    background:#0f3f8f !important;
}
.text-#0f3f8f{
    color:#0f3f8f !important;
}
.bg-blue{
    background: #1556B3 !important;
}
.text-blue{
    color: #1556B3 !important;
}
.btn-blue{
    background: #1556B3 !important;
    color: white !important;
}
.pointer{
    cursor: pointer !important;
}
.bg-gradient-gray-white {
    background: linear-gradient(to right, rgb(243, 240, 240) , rgb(219, 216, 216)) !important;
}

.pageLink:hover{
    color:#0f3f8f !important;
}
.or-seperator{
    position:relative;
}
.or-seperator::before{
    content : '';
    position: absolute;
    left: 0;
    bottom: 50%;
    border: 1px solid rgb(3, 32, 94);
    width: 40%;

}
.or-seperator::after{
    content : '';
    position: absolute;
    right: 0;
    bottom: 50%;
    border: 1px solid rgb(99, 144, 239);
    width: 40%;
}

/*======= Printing View ==============*/
@media print {
    @page {
        size: letter portrait; /* Or letter */        
    }
    body {
        font-size: 16px !important;
    }
    #print_section {
        page-break-inside: avoid;
        width: 100%;
    }
    .no-print{
        display:none;
    }

    /* #letter_head .logo{
        width: 140px !important;
    } */
    .d-flex.my-1 span {
        font-size: 11px !important;
    }
    .row.align-items-start {
        display: flex;
        flex-wrap: wrap;
    }
    .row.col-12.col-sm-6 {
        max-width: 50%;
    }
    table {
        font-size: 10px;
        width: 100%;
    }
    table th, table td {
        padding: 2px;
    }
    .table-responsive {
        overflow: hidden;
    }
    #companyFooter {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        text-align: center;
        font-size: 12px !important;
        padding: 10px 0;
        background-color: white; /* Ensure it is visible */
    }

    /* Ensure the print section takes full height so the footer has space */
    #print_section {
        min-height: 100vh;
        position: relative;
        padding-bottom: 50px; /* Space for footer */
    }
}


/* ========= Payment Design ==================*/
.payment-card {
    max-width: 500px;
    margin: auto;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
}
.payment-method button {
    width: 48%;
}
.selected {
    border: 2px solid #1556B3 !important;
    background-color: #1556B3 !important;
    color: white !important;
}

/*=============Toggler button===================*/
.toggle-button {
    position: relative;
    width: 50px; /* Slightly wider for better UX */
    height: 24px; /* Increased height for better touch interaction */
    border: solid 1px #bbb;
    border-radius: 12px;
    background: #ddd;
    cursor: pointer;
    transition: background 0.3s ease-in-out;
}

/* Toggle button circle */
.toggle-button > .toggle-button-icon {
    background-color: #777;
    position: absolute;
    top: 50%;
    left: 3px;
    width: 20px; 
    height: 20px;
    border-radius: 50%;
    transform: translateY(-50%);
    transition: all 0.3s ease-in-out;
}

/* Active state */
.toggle-button.active {
    background: #4CAF50; /* Green for active state */
}

.toggle-button.active > .toggle-button-icon {
    left: calc(100% - 23px); /* Move to the right */
    background-color: #fff;
}
/*=============Toggler StatuS===================*/
.toggle-status {
    position: relative;
    width: 50px; /* Slightly wider for better UX */
    height: 24px; /* Increased height for better touch interaction */
    border: solid 1px #f27979;
    border-radius: 12px;
    background: #9e1818;
    cursor: pointer;
    transition: background 0.3s ease-in-out;
}

/* Toggle button circle */
.toggle-status > .toggle-button-icon {
    background-color: #9c5858;
    position: absolute;
    top: 50%;
    left: 3px;
    width: 20px; 
    height: 20px;
    border-radius: 50%;
    transform: translateY(-50%);
    transition: all 0.3s ease-in-out;
}

/* Active state */
.toggle-status.active {
    background: #4CAF50; /* Green for active state */
    border: solid 1px #8fc287;
}

.toggle-status.active > .toggle-button-icon {
    left: calc(100% - 23px); /* Move to the right */
    background-color: #fff;
}

/*========Filtering===========================*/
#filterArray .list-group-item.selected{
    color: white;
    background: #1556B3 !important;
}



/*===================
     Loader CSS 
 ===================*/
 #loader {
    position: fixed;
    z-index: 10001;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.5);
    display: none;
  }
  
  #loader .spinner {
    border: 6px solid #f3f3f3;
    border-top: 6px solid #1556B3;
    border-radius: 50%;
    width: 100px;
    height: 100px;
    animation: spin 1s linear infinite;
    margin: 40vh auto;
    
  }
  
  @keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
  }

  /* Skeleton loader base */
.skeleton {
  position: relative;
  overflow: hidden;
  background: #e0e0e0; 
  border-radius: 4px;
  min-height: 16px;     
}

.skeleton::after {
  content: "";
  position: absolute;
  top: 0;
  left: -150px;
  height: 100%;
  width: 200px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
  animation: shimmer 1.2s infinite;
}

@keyframes shimmer {
  100% {
    left: 100%;
  }
}


/* ================= IUGET BRAND THEME ================= */
:root{
    --iuget-blue:#1556B3;
    --iuget-blue-dark:#0B3D91;
    --iuget-blue-soft:#EAF2FF;
    --iuget-red:#E31E24;
    --iuget-red-dark:#B8171D;
    --iuget-gray:#6B7280;
    --iuget-light:#F5F7FB;
}
.bg-blue{
    background: linear-gradient(135deg, var(--iuget-blue), var(--iuget-blue-dark)) !important;
}
.text-blue{ color: var(--iuget-blue) !important; }
.text-navy{ color: var(--iuget-blue-dark) !important; }
.bg-navy{ background: var(--iuget-blue-dark) !important; }
.border-blue{ border-color: var(--iuget-blue) !important; }
.btn-blue{
    background: linear-gradient(135deg, var(--iuget-blue), var(--iuget-blue-dark)) !important;
    border-color: var(--iuget-blue) !important;
    color:#fff !important;
    box-shadow: 0 0.35rem 0.8rem rgba(21,86,179,.18);
}
.btn-blue:hover{
    background: linear-gradient(135deg, var(--iuget-blue-dark), var(--iuget-blue)) !important;
    color:#fff !important;
    transform: translateY(-1px);
}
.text-primary{ color: var(--iuget-blue) !important; }
.bg-primary{ background-color: var(--iuget-blue) !important; }
.btn-primary{
    --bs-btn-bg: var(--iuget-blue);
    --bs-btn-border-color: var(--iuget-blue);
    --bs-btn-hover-bg: var(--iuget-blue-dark);
    --bs-btn-hover-border-color: var(--iuget-blue-dark);
    --bs-btn-active-bg: var(--iuget-blue-dark);
    --bs-btn-active-border-color: var(--iuget-blue-dark);
}
.text-danger, .brand-red{ color: var(--iuget-red) !important; }
.bg-brand-red{ background: var(--iuget-red) !important; color:#fff !important; }
.brand-logo-navbar,
.navbar img[data-setting="Page Logo"]{
    background:#fff;
    border-radius:12px;
    padding:4px 8px;
    max-height:56px;
    object-fit:contain;
    box-shadow:0 6px 18px rgba(15,63,143,.12);
}
.list-group-item:hover,
.pageLink:hover{
    color: var(--iuget-red) !important;
}
.list-group-item.active,
.list-group-item:active{
    background: var(--iuget-blue) !important;
    border-color: var(--iuget-blue) !important;
}
.table-card,
.card,
.bg-white.shadow{
    border-radius:16px !important;
}
#loader .spinner{ border-top-color: var(--iuget-red) !important; }

/* IUGET login screen */
.iuget-login-body{
    min-height:100vh;
    background: radial-gradient(circle at top left, rgba(21,86,179,.13), transparent 35%), #f7f9fd;
}
.iuget-login-shell{
    min-height:100vh;
    display:grid;
    grid-template-columns:minmax(340px, 1.05fr) minmax(360px, .95fr);
    background:#fff;
}
.iuget-login-visual{
    position:relative;
    min-height:100vh;
    overflow:hidden;
    background:
        linear-gradient(135deg, rgba(255,255,255,.88), rgba(234,242,255,.94)),
        url('/images/assets/wallpaper.png') center/cover no-repeat;
}
.iuget-login-visual::after{
    content:"";
    position:absolute;
    inset:auto -10% -18% -10%;
    height:42%;
    background:linear-gradient(135deg, var(--iuget-blue), var(--iuget-blue-dark));
    border-top:6px solid var(--iuget-red);
    transform:skewY(-8deg);
    transform-origin:left bottom;
}
.iuget-login-visual-card{
    position:relative;
    z-index:2;
    margin:10vh auto;
    width:min(82%, 520px);
    padding:2rem;
    border-radius:28px;
    background:rgba(255,255,255,.78);
    box-shadow:0 24px 70px rgba(15,63,143,.12);
    backdrop-filter:blur(10px);
}
.iuget-login-visual-card h2{ color:var(--iuget-blue-dark); }
.iuget-login-visual-card .icon-pill{
    width:58px;height:58px;border-radius:18px;
    display:flex;align-items:center;justify-content:center;
    color:var(--iuget-blue);background:var(--iuget-blue-soft);
}
.iuget-login-panel{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:2rem;
    background:linear-gradient(180deg,#fff,#f9fbff);
}
.iuget-login-card{
    width:min(100%, 520px);
    border:1px solid rgba(21,86,179,.12);
    border-radius:28px;
    box-shadow:0 22px 70px rgba(15,63,143,.12);
    background:#fff;
    padding:2rem;
}
.iuget-login-logo{
    max-width:210px;
    max-height:135px;
    object-fit:contain;
}
.iuget-input-icon{ position:relative; }
.iuget-input-icon .fa{
    position:absolute;
    left:16px;
    top:50%;
    transform:translateY(-50%);
    color:var(--iuget-gray);
    z-index:3;
}
.iuget-input-icon input{ padding-left:46px; min-height:54px; border-radius:12px; }
.iuget-login-link{ color:var(--iuget-red); text-decoration:none; }
.iuget-login-link:hover{ color:var(--iuget-red-dark); text-decoration:underline; }
@media(max-width: 900px){
    .iuget-login-shell{ grid-template-columns:1fr; }
    .iuget-login-visual{ display:none; }
    .iuget-login-panel{ min-height:100vh; padding:1rem; }
    .iuget-login-card{ padding:1.25rem; border-radius:20px; }
}

/* ================= IUGET SELECT / DROPDOWN FIX =================
   Native <select> menus were inheriting white text from blue buttons.
   Keep the selected blue control readable, but force the opened options
   to use a white background with dark text. */
select option,
select optgroup,
.form-select option,
.form-control option,
.btn option,
.btn-blue option,
.bg-blue option,
.text-light option,
select.btn-blue option,
select.bg-blue option,
select.text-light option,
select[class*="bg-"] option,
.datatable-selector option {
    background-color: #ffffff !important;
    color: #111827 !important;
}

select option:checked,
.form-select option:checked,
.form-control option:checked,
.btn option:checked,
.btn-blue option:checked,
.bg-blue option:checked,
.datatable-selector option:checked {
    background-color: var(--iuget-blue-soft, #EAF2FF) !important;
    color: var(--iuget-blue-dark, #0B3D91) !important;
}

select.btn-blue,
select.bg-blue,
select.text-light,
select.btn-primary {
    color: #ffffff !important;
}

select.btn-light,
select.form-select,
select.form-control,
.datatable-selector {
    color: #111827;
}


/* ================= IUGET LANGUAGE SWITCHER ================= */
.language-switcher .language-switcher-btn{
    border:1px solid rgba(15,63,143,.18);
    border-radius:999px;
    box-shadow:0 6px 16px rgba(15,63,143,.12);
    font-weight:600;
    color:var(--iuget-blue-dark, #0B3D91);
    background:#ffffff;
}
.language-switcher .language-switcher-menu{
    min-width:10rem;
    border:1px solid rgba(15,63,143,.12);
    border-radius:14px;
    padding:.35rem;
    box-shadow:0 16px 42px rgba(15,63,143,.16);
    background:#ffffff !important;
}
.language-switcher .dropdown-item{
    border-radius:10px;
    color:#111827 !important;
    background:#ffffff !important;
    font-weight:600;
}
.language-switcher .dropdown-item:hover,
.language-switcher .dropdown-item:focus{
    color:var(--iuget-blue-dark, #0B3D91) !important;
    background:var(--iuget-blue-soft, #EAF2FF) !important;
}
.iuget-login-card .language-switcher{
    width:max-content;
    margin-left:auto !important;
}
.goog-te-banner-frame.skiptranslate,
body .skiptranslate,
.goog-te-gadget-icon,
#goog-gt-tt{
    display:none !important;
}
body{
    top:0 !important;
}
@media print{
    .language-switcher,
    .goog-te-banner-frame,
    #google_translate_element{
        display:none !important;
    }
}
