:root {
    --jr-primary-color: #07a287;
    --jr-secondary-color: #018e76;
    --jr-white-color: #ffffff;
    --jr-default-color: #212529;
    --iqon-theme-color: #002E46;
    --purple-bg: #5a1fa1;
}

[data-bs-theme=light] {
  --bs-body-bg: #efefef !important;  /* soft warm gray old=f4f5f7 */
  --bs-body-color: #2c2c2c; 
  --bs-paper-color: #fff;
  --bs-border-color: #1b1c1c;
  --bs-subtle-border-color: #cbcbcb;
  --bs-secondary-text-color: #7f88a1;
  --bs-card-color-primary: #edf2f5;
    --colorful-bg-1: #a3ffec;
    --colorful-bg-2: #fff2ba;
    --colorful-bg-3: #bdc4ff;
    --colorful-bg-4: #ffd1dc;
    --colorful-bg-5: #d1ffd6;
    --colorful-bg-6: #ffe0b3;
    --colorful-bg-7: #e3baff;
    --colorful-bg-8: #bafff9;
    --colorful-bg-9: #f6ffba;
    --colorful-bg-10: #ffc8ba;
  --rectangle-smooth-bg:  #dfe4e8;
  --rectangle-smooth-border:  #d7d7d7;
  --bs-hover-color-tr:  #e8ffe3;
  --text-danger: #db5151;
  --table-border: #d7d7d7;
  --fc-today-bg: #ffcfcf;
  --fc-today-color: #000000;
}
[data-bs-theme=dark] {
 --bs-body-bg: #0e0e0f !important;   /* deep graphite */
  --bs-body-color: #d4d4d4;           /* soft silver text */
  --bs-paper-color: #292929;
  --bs-border-color: #3b3b3b;
  --bs-subtle-border-color: #1a1a1a;
  --bs-secondary-text-color: #9d9d9d; 
  --bs-card-color-primary: #2c2c2c;
    --colorful-bg-1: #000000;
    --colorful-bg-2: #121210;
    --colorful-bg-3: #000000;
    --colorful-bg-4: #121210;
    --colorful-bg-5: #000000;
    --colorful-bg-6: #121210;
    --colorful-bg-7: #000000;
    --colorful-bg-8: #121210;
    --colorful-bg-9: #000000;
    --colorful-bg-10: #121210;
  --rectangle-smooth-bg: #202020;
  --rectangle-smooth-border: #2e2e2e;
  --bs-hover-color-tr:  #000000;
  --text-danger: #8a0000;
  --table-border: #404040;
  --fc-today-bg: #4a3333;
  --fc-today-color: #ffffff;
}

/*card pimray dark old = 131517;*/

.purple-bg{
  background-color: var( --purple-bg) !important ;
  color: white !important;
}
.background-div{
  background-size: 100%; 
  background-position: center;
  background-attachment: fixed;
}

[data-bs-theme="light"] .background-div {
  background-image: url('../../images/login-img-light.png');
}

[data-bs-theme="dark"] .background-div {
  background-image: url('../../images/login-img-dark.png');
}


.card-primary{
    background-color: var(--bs-card-color-primary);
}
.text-white{
    color: var(--bs-body-color);
}
.force-text-primary{
    color: var(--bs-body-color) !important;
}
.dropdown-menu {
    color: var(--bs-body-color);
}

.subtle-border{
    border: 1px solid var(--bs-subtle-border-color);
}
.hover-color-tr:hover{
    background-color: var(--bs-hover-color-tr);
    color: var(--bs-body-color) !important;
}
.hover-opacity-tr{
   opacity: 0.7;
   color: var(--bs-body-color);
}
.whitespace-nowrap{
    white-space: nowrap;
}


.colorful-bg-1 { background-color: var(--colorful-bg-1); }
.colorful-bg-2 { background-color: var(--colorful-bg-2); }
.colorful-bg-3 { background-color: var(--colorful-bg-3); }
.colorful-bg-4 { background-color: var(--colorful-bg-4); }
.colorful-bg-5 { background-color: var(--colorful-bg-5); }
.colorful-bg-6 { background-color: var(--colorful-bg-6); }
.colorful-bg-7 { background-color: var(--colorful-bg-7); }
.colorful-bg-8 { background-color: var(--colorful-bg-8); }
.colorful-bg-9 { background-color: var(--colorful-bg-9); }
.colorful-bg-10 { background-color: var(--colorful-bg-10); }


.profile-generator-wrapper {
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;  /* horizontal center */
  align-items: center;      /* vertical center */
  border-radius: 50%;
  border: 1px solid var(--rectangle-smooth-border);
  font-size: 14px;
  font-weight: bold;
}

table.dataTable {
    border-collapse: collapse !important;
}

table td, table th { 
    border: 1px solid var(--table-border) ;
    border-width: 0.5px ;
}

.topbar-menu-area {
    display: block;
    width: 100%;
   
}
[data-bs-theme="light"] .topbar-menu-area {
    background: #ededed;
    border-bottom: 1px solid #1b1c1c;
}
[data-bs-theme="dark"] .topbar-menu-area {
    background: #0b0b0d;
    border-bottom: 1px solid #3b3b3b;
}

/* Base container */
.progress-container {
  width: 100%;
  padding: 1px;
  border: 1px solid #ccc;
  background: linear-gradient(145deg, #f3f3f3, #e0e0e0);
  box-shadow:
    inset 2px 2px 5px rgba(0, 0, 0, 0.08),
    inset -2px -2px 5px rgba(255, 255, 255, 0.7);
}

/* Main bar */
.progress-main-bar {
  height: 18px;
  width: 0%; /* dynamically updated */

  background: linear-gradient(90deg, #4b8bff, #2f6aff);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
  color: #fff;
  text-align: right;
  padding-right: 6px;
  font-size: 11px;
  font-weight: 700;
  line-height: 18px;
  transition: width 1.5s ease-in-out, background-color 0.5s;
}

#uploadimageModal .row.text-center {
  display: flex;
  justify-content: center;
  align-items: center;
}

.modal-header{
  background-color: var(--rectangle-smooth-bg);
  border-bottom: 1px solid #444444  !important;
}
.modal-body{
 background-color: var(--bs-card-color-primary);
 color: var(--bs-body-color);
}
.modal-footer{
  border-top: 1px solid #444444  !important;
}


/* Label inside */
.progress-main-bar-label {
  position: relative;
  z-index: 2;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}

/* 🌞 Light Mode */
[data-bs-theme="light"] .progress-container {
  background: linear-gradient(145deg, #f3f3f3, #e0e0e0);
  border: 1px solid #ccc;
  box-shadow:
    inset 2px 2px 5px rgba(0, 0, 0, 0.08),
    inset -2px -2px 5px rgba(255, 255, 255, 0.7);
}

[data-bs-theme="light"] .progress-main-bar {
  background: linear-gradient(90deg, #4b8bff, #2f6aff);
  color: #fff;
}

/* 🌙 Dark Mode */
[data-bs-theme="dark"] .progress-container {
  background: linear-gradient(145deg, #1e1e1e, #2a2a2a);
  border: 1px solid #333;
  box-shadow:
    inset 2px 2px 5px rgba(255, 255, 255, 0.05),
    inset -2px -2px 5px rgba(0, 0, 0, 0.8);
}

[data-bs-theme="dark"] .progress-main-bar {
  background: linear-gradient(90deg, #ff6a00, #ff9e3c);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.6);
  color: #f8f9fa;
}

[data-bs-theme="dark"] .progress-main-bar-label {
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7);
}


.text-secondary {
    opacity: 1;
    color: var(--bs-secondary-text-color) !important;
}

.paper-color{
    background-color: var(--bs-paper-color);
}
.border{
    border: 1px solid var(--bs-border-color) !important;
}

body {
    margin: 0 0 30px 0;         /* Adds a 30px margin only at the bottom */
    overflow-x: clip;
}
.jr-body, .jr-nav-dropdown-menu, .jr-modal-title, .jr-btn-secondary, .jr-name, .jr-form-control, .jr-form-select, .jr-btn {
    font-size: 13px;
}

.dropdown-item.active, .dropdown-item:active {
    background-color: #848485 !important;
}

.navbar-dark .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-toggler:focus {
    box-shadow: none;
}

.navbar-dark .navbar-toggler {
    border: none;
}

.navbar-dark .navbar-nav .nav-link, .navbar-dark .navbar-nav .nav-link.active, .navbar-dark .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover, .jr-name  {
    color: var(--jr-white-color);
}

.navbar-dark .navbar-nav .nav-link.active {
    font-weight: bold;
}

.navbar-dark .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover {
    background: var(--jr-secondary-color);
}

.jr-nav-dropdown-menu, .jr-nav-dropdown-item {
    background: var(--jr-secondary-color);
    color: var(--jr-white-color);
}

.jr-nav-dropdown-item:hover, .jr-modal-header {
    background: var(--jr-primary-color);
    color: var(--jr-white-color);
}

.jr-modal-content a {
    color: var(--jr-default-color);
    text-decoration: none;
}

h6 {
    margin-bottom: 0;
}

.jr-bg {
    background: var(--jr-primary-color);
}

.jr-avatar {
    max-width: 40px;
}

.jr-btn, .jr-btn-secondary {
    border: transparent;
}

.jr-btn-secondary {
    background: var(--jr-primary-color);
}

.jr-btn-secondary:hover, .jr-btn-secondary:focus, .jr-btn-secondary:active:focus {
    background: var(--jr-secondary-color);
    border: transparent;
    box-shadow: none;
}

.jr-form-control:focus, .jr-form-select:focus, .jr-form-check-input:focus, input[type="date"]:focus-visible, input[type="time"]:focus-visible, .form-control[type=file]:focus, .form-control[type=file]:focus-visible {
    border-color: var(--jr-secondary-color);
    box-shadow: 0 0 0 0.25rem rgb(1 142 118 / 25%);
}

.jr-border {
    border: 1px solid var(--jr-primary-color);
}

.jr-border-secondary {
    border-color: var(--jr-primary-color);
}

.jr-form-check-input {
    border: 1px solid rgba(1, 142, 118, 1);
}

.jr-form-check-input:checked {
    background-color: var(--jr-primary-color);
    border-color: var(--jr-primary-color);
}

.jr-form-select, .jr-form-control {
    border: 1px solid var(--jr-primary-color);
}

input[type="date"]:focus-visible, input[type="time"]:focus-visible, .form-control[type=file]:focus-visible {
    outline: 0;
}

.form-control[type=file] {
    border: 1px solid rgba(1, 142, 118, 1);
}

.jr-footer {
    margin-top: 80px !important;
    padding: 25px !important;
    bottom: 0;
    position: relative !important;
}

.jr-copyright {
    color: var(--jr-white-color);
    text-align: center;
}

.text-left{
    text-align: left !important;
}

 
.form-label { 
    margin-top: 5px !important;
    margin-bottom: 1px !important;
}
.btn{
    border-radius: 3px !important;
    min-width: 100px !important;
}

ul.pagination>li {
    margin-left: 3px !important ;
    margin-right: 3px !important ;
}
.span-button-edit{
    font-size: 9px; background-color: orange;color:white; padding-top: 3px; padding-bottom: 3px; padding-left: 5px; padding-right: 5px; cursor: pointer; border-radius: 3px;
}.span-button-remove{
    font-size: 9px; background-color: red;color:white; padding-top: 3px; padding-bottom: 3px; padding-left: 5px; padding-right: 5px; cursor: pointer; border-radius: 3px;
}
.margin-left-10{
    margin-left: 10px !important;
}

input.form-control.input-sm.input-small.input-inline {
    height: 30px !important;
}
select.form-control.input-sm.input-xsmall.input-inline{
    height: 30px !important;
}
html,
body {
  height: 100%  !important;
}
.my-1 {
    margin-top: 0px !important;
    margin-bottom: 0.25rem!important;
}
.required-input{
    color: red !important;
}
.select2-container--default .select2-selection--single { 
    height: 33px !important;
}
select.form-control.input-sm.input-xsmall.input-inline, input.form-control.input-sm.input-small.input-inline {
    font-size: 12px !important;
    background-color: var(--bs-paper-color);
    border: 1px solid var(--bs-subtle-border-color);
    color: var(--bs-body-color);
}
 
.dataTables_filter label, .dataTables_length label{
     color: var(--bs-body-color);
}
.table{
    color: var(--bs-body-color);
}
.table tr{
     border: 1px solid var(--bs-subtle-border-color);
}

table.dataTable thead th, table.dataTable thead td {
    padding: 8px !important;
}

.table-hover > tbody > tr:hover>* {
    color: var(--bs-body-color) !important;
}

.fa-btn{
    cursor: pointer;
}
.hide{
    display: none !important;
}
.show{
    display: block !important;
}
select.select2-hidden-accessible { 
    position: inherit !important; 
}
.container-fluid.jr-bg {
    background: #27394F !important;
}
.jr-nav-dropdown-menu, .jr-nav-dropdown-item {
    background: var(--jr-secondary-color);
    color: var(--jr-white-color);
    background: #27394F !important;
}
a.dropdown-item.jr-nav-dropdown-item:hover {
    color: green !important;
}
.btn-light {
    background: darkgray !important;
    color: white !important;
}
.btn-light:hover {
    background: darkgrey !important;
}

.jr-border-x{
    border: 1px solid #07a287 !important;
        margin-top: 30px !important;
}
 
.jr-border{
    border: 1px solid white !important;
}
.jr-form-control {
    border: 1px solid #aaa !important;
}
.jr-form-select, .jr-form-control {
    border: 1px solid #aaa !important;
}

.btn-success{
    background: #27394F !important;
}
select.select2-hidden-accessible {
    /*position: absolute !important;*/
    margin-top: -5px !important;
}


.jr-nav-dropdown-item:hover, .jr-modal-header {
    background: #27394F !important; 
}

.hr-divider{
            width: 100%; 
            text-align: center; 
            border-bottom: 1px solid rgb(230,230,230); 
            line-height: 0.1em;
            font-size: 14px;
} 
.hr-divider span { 
            background: white; 
            padding:0 10px; 
}
#classrec-table td{
    border: 1px solid black;
}
#classrec-table th{
    border: 1px solid black;
}

.gho-btn-save{
    background-color: #3387b7 ;
    color: white;
}
.gho-btn-update{
    background-color: #f0e181 ;
    color: black;
}
.gho-btn-update:hover, .gho-btn-save:hover, .gho-btn-delete:hover{
    background-color: #cfe3fa;
    color: black;
}
.gho-btn-delete{
    background-color: #f08181 ;
    color: white;
}

/* LOADER ON DASHBOARDS */
        .loader-overlay {
            background-color: rgba(0, 0, 0, 0.5);
            position: fixed;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            z-index: 9999;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .lds-ring {
            display: inline-block;
            position: relative;
            width: 80px;
            height: 80px;
        }

        .lds-ring div {
            box-sizing: border-box;
            display: block;
            position: absolute;
            width: 64px;
            height: 64px;
            margin: 8px;
            border: 8px solid #3498db;
            border-radius: 50%;
            animation: lds-ring 0.8s cubic-bezier(0.5, 0, 0.5, 1) infinite;
            border-color: #3498db transparent transparent transparent;
        }

        @keyframes lds-ring {
            0% {
                transform: rotate(0deg);
            }
            100% {
                transform: rotate(360deg);
            }
        }
        /* LOADER ON DASHBOARDS */

.notificationKeyIndex {
  color: green;
  text-decoration: none;
  position: relative;
  display: inline-block;
  border-radius: 2px;
}

.notificationKeyIndex .ghoBadge {
  position: absolute;
  top: -10px;
  right: -10px;
  padding: 5px 10px;
  border-radius: 50%;

}

.fatherMotherShow {
 display: none !important;

}


.popover {
  border-radius: 8px;
  border: 1px solid var(--rectangle-smooth-border);
  max-width: 200px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

/* Ensure content stacks nicely */
.gho-popover-content {
  display: flex;
  flex-direction: column;
  gap: 5px;
}



/* 🌞 LIGHT MODE */
[data-bs-theme="light"] .popover {
  background-color: #ffffff;
  color: #2d2d2d;
}


/* 🌚 DARK MODE */
[data-bs-theme="dark"] .popover {
  background-color: #111;
  color: #f1f1f1;
  border: 1px solid #2c2c2c;
  box-shadow: 0 4px 10px rgba(0,0,0,0.6);
}

.header-title-box{
  border-top-style: hidden;
  border-right-style: hidden;
  border-left-style: hidden;
  border-bottom-style: groove;
  background-color: #eee;
}
.header-title-box:focus{

   background-color: #cde2f7;

}

.gho-modal-overlay{
    background-color: rgba(0, 0, 0, 0.72) ;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 4;
   
}

.gho-modal-form{
    background-color: rgba(255, 255, 255, 1) ;
    z-index: 5;
  
}

.gho-hover:hover{
    color: red !important;

  
}

.shadow-boxer{
    box-shadow: 0 0 17px rgba(0, 0, 0, 0.7);
}

.cursor-pointer:hover{
    cursor: pointer;
}
.hover-opacity:hover{
    opacity: 0.7;
}
.text-inf-dark td {
    color: gray;
}
.text-inf-success td {
    color: #007504;
}
.text-inf-warning td {
    color: #d99f00;
}

.text-inf-info td {
    color: #007bd9;
}

.text-inf-danger td {
    color: #d90021;
}


/* Target your element */
.beta-scroll {
    overflow-y: scroll;
}

/* Chrome, Edge, Safari */
.beta-scroll::-webkit-scrollbar {
    width: 8px; 
}

.beta-scroll::-webkit-scrollbar-track {
    background: var(--rectangle-smooth-bg);   /* light grey background */
    border-radius: 8px;
}

.beta-scroll::-webkit-scrollbar-thumb {
    background-color: var(--bs-body-color);  /* medium grey */
    border-radius: 8px;
}

.beta-scroll::-webkit-scrollbar-thumb:hover {
    
    background-color: var(--bs-secondary-text-color);
    border: 1px solid var(--bs-subtle-border-color);
}

/* Firefox */
.beta-scroll {
    scrollbar-width: thin;
    scrollbar-color: var(--bs-body-color) var(--rectangle-smooth-bg); /* thumb color | track color */
}

