@import url('raleway.css');

.color-primary {
  color: #5A8DEE;
}

.color-secondary {
  color: #475F7B;
}

.color-success {
  color: #39DA8A;
}

.color-danger {
  color: #FF5B5C;
}

.color-warning {
  color: #FDAC41;
}

.color-info {
  color: #00CFDD;
}

.color-dark {
  color: #222f3e;
}

.color-light {
  color: #A3AFBD;
}

.color-link {
  color: #2178d1;
}

* {
  font-family: 'Open Sans', Arial, sans-serif;
  font-variant-numeric: lining-nums;
  /* font-family: "Bahnschrift Light"; */
}

@media only screen and (max-width: 600px) {
  .media_height {
    height: 265vh;
  }
}

@media only screen and (max-width: 320px) {
  .media_height {
    height: 305vh;
  }
}

@media screen and (min-width: 1920px) {
  .media_height {
    height: 115vh;
  }
}

#app {
  position: relative;
}

#main {
  margin-left: 260px;
  background-color: #F3F3F9;
  min-height: 100vh;
  transition: margin-left 0.6s ease-out;
}

#main .main-content {
  /* padding: 2rem 1.5rem; */
  background-color: #F3F3F9;
}

@media (max-width: 767.98px) {
  .main-content {
    margin-top: 20%;
  }
}

#main .main-content .page-title h3 {
  font-size: 2rem;
}

#main .main-content .text-subtitle {
  font-size: 0.9rem;
}

.breadcrumb-header .breadcrumb {
  justify-content: flex-end;
}

.alert.alert-dismissible .close:focus,
.custom-switch .custom-control-label:focus,
.dropdown .dropdown-toggle:focus,
.dropleft .dropdown-toggle:focus,
.dropright .dropdown-toggle:focus,
.dropup .dropdown-toggle:focus,
.list-group button.list-group-item:focus,
.modal .modal-content .modal-header .close:active,
.modal .modal-content .modal-header .close:focus,
.modal .modal-content .modal-header .close:hover,
.navbar-components-wrapper .navbar .navbar-container.navbar-dark .navbar-toggler:focus,
.navbar-components-wrapper .navbar .navbar-container.navbar-light .navbar-toggler:focus,
.toast .toast-header .close:active,
.toast .toast-header .close:focus,
a:focus {
  outline: 0;
}

.active-sidebar-tab {
  text-decoration: none !important;
}

section .section-title:after {
  width: 70px;
  height: 2px;
  content: "";
  margin: 0.6rem 0 1rem;
  background-color: #5A8DEE;
  display: block;
}

a {
  text-decoration: none;
  outline: 0;
}

p {
  color: black;
}

label {
  color: black;
}

button {
  outline: 0;
}

svg.feather,
i {
  font-size: 20px;
  height: 1.2rem;
}

footer {
  padding: 1rem 1.5rem;
  padding-left: 0rem;
  padding-right: 16rem;
}

@media screen and (max-width: 767px) {
  #main {
    margin-left: 0;
  }

  .breadcrumb-header .breadcrumb {
    justify-content: flex-start;
    padding: 0;
    font-size: 0.8rem;
  }
}

@media (max-width: 1199.98px) {
  .hideOnSmallScreen {
    display: none;
  }
}

/* smallScreenMargin */
@media (max-width: 1199.98px) {
  .smallScreenMargin {
    margin-bottom: 2%;
  }
}

@media screen and (max-width: 1200px) {
  #main {
    margin-left: 0;
  }

  footer,
  .footer {
    padding-right: 0rem !important;
  }

  .breadcrumb-header .breadcrumb {
    justify-content: flex-start;
    padding: 0;
    font-size: 0.8rem;
  }
}

/** 2.1 Alert  **/
.alert {
  border: none;
}

.alert p {
  margin-bottom: 0;
}

.alert button.close {
  padding: 0.75rem;
  line-height: 0.75;
}

.alert .alert-heading {
  margin-left: 0.4rem;
}

.alert .alert-heading+p {
  margin-left: 0.4rem;
}

.alert-primary {
  background-color: #029eff;
  color: #fff;
  box-shadow: 1px 2px 9px rgba(2, 158, 255, 0.3);
}

.alert-primary a {
  color: #fff;
}

.alert-secondary {
  background-color: #ebeef3;
  color: #383d41;
  box-shadow: 1px 2px 9px rgba(235, 238, 243, 0.3);
}

.alert-secondary a {
  color: #fff;
}

.alert-success {
  background-color: #39DA8A;
  color: #fff;
  box-shadow: 1px 2px 9px rgba(57, 218, 138, 0.3);
}

.alert-success a {
  color: #fff;
}

.alert-warning {
  background-color: #fdd347;
  color: #fff;
  box-shadow: 1px 2px 9px rgba(253, 211, 71, 0.3);
}

.alert-warning a {
  color: #fff;
}

.alert-danger {
  background-color: #f55260;
  color: #fff;
  box-shadow: 1px 2px 9px rgba(245, 82, 96, 0.3);
}

.alert-danger a {
  color: #fff;
}

.alert-dark {
  background-color: #454546;
  color: #fff;
  box-shadow: 1px 2px 9px rgba(69, 69, 70, 0.3);
}

 -dark a {
  color: #fff;
}

.alert-light {
  background-color: #fefefe;
  color: #818182;
  box-shadow: 1px 2px 9px rgba(254, 254, 254, 0.3);
}

.alert-light a {
  color: #fff;
}

.alert-info {
  background-color: #12233C;
  color: #fff;
  box-shadow: 1px 2px 9px rgba(86, 182, 247, 0.3);
}

.alert-info a {
  color: #fff;
}

.alert-light-primary {
  background-color: #E2ECFF;
}

.alert-light-secondary {
  background-color: #E6EAEE;
}

.alert-light-success {
  background-color: #D2FFE8;
}

.alert-light-danger {
  background-color: #FFDEDE;
}

.alert-light-warning {
  background-color: #FFEED9;
}

.alert-light-info {
  background-color: #CCF5F8;
}

/** 2.2 Avatar **/
.avatar {
  display: inline-flex;
  border-radius: 50%;
  text-align: center;
  vertical-align: middle;
  position: relative;
}

.avatar .avatar-content {
  width: 32px;
  height: 32px;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 0.875rem;
}

.avatar .avatar-content svg,
.avatar .avatar-content i {
  color: #fff;
  font-size: 1rem;
  height: 1rem;
}

.avatar img {
  width: 32px;
  height: 32px;
  border-radius: 50%;
}

.avatar .avatar-status {
  width: 0.7rem;
  height: 0.7rem;
  position: absolute;
  border-radius: 50%;
  border: 1px solid #fff;
  bottom: 0;
  right: 0;
}

.avatar.avatar-sm .avatar-content,
.avatar.avatar-sm img {
  width: 24px;
  height: 24px;
  font-size: 0.8rem;
}

.avatar.avatar-lg .avatar-content,
.avatar.avatar-lg img {
  width: 48px;
  height: 48px;
  font-size: 1.2rem;
}

.avatar.avatar-xl .avatar-content,
.avatar.avatar-xl img {
  width: 60px;
  height: 60px;
  font-size: 1.4rem;
}

/** 2.3 Badge **/
.btn .badge {
  border-radius: 50%;
  margin-left: 5px;
}

.btn .badge.bg-transparent {
  background-color: rgba(255, 255, 255, 0.25) !important;
  color: #fff;
}

/** 2.4 Buttons **/
.btn i,
.btn svg {
  width: 16px;
  height: 16px;
}

.btn.icon {
  padding: 0.4rem 0.6rem;
}

.btn.icon svg {
  width: 16px;
  height: 16px;
}

.btn.icon.icon-left svg {
  margin-right: 3px;
}

.btn.icon.icon-right svg {
  margin-left: 3px;
}

.btn.btn-outline-white {
  color: #fff;
  border-color: #fff;
}

.btn.btn-outline-white:hover {
  color: #333;
  background-color: #fff;
}

.btn.btn-primary {
  color: #fff;
}

.btn.btn-secondary {
  color: #fff;
}

.btn.btn-success {
  color: #fff;
}

.btn.btn-danger {
  color: #fff;
}

.btn.btn-warning {
  color: #fff;
}

.btn.btn-info {
  color: #fff;
}

.btn.btn-dark {
  color: #fff;
}

.btn.btn-light {
  color: #fff;
}

.btn.btn-link {
  color: #fff;
}

.btn-group:not(.dropdown) .btn:not([class*=btn-]) {
  border: 1px solid #DFE3E7;
}

.btn-group>.btn {
  border-radius: 0.267rem;
}

.buttons .btn {
  margin: 0 10px 10px 0;
}

/** 2.5 Breadcrumb **/
.breadcrumb.breadcrumb-right {
  justify-content: flex-end;
  margin-top: 1rem;
}

.breadcrumb.breadcrumb-center {
  justify-content: center;
  margin-top: 1rem;
}

/** 2.6 Carousel **/
.carousel-inner {
  border-radius: 0.7rem;
  box-shadow: 0 5px 10px #adb5bd;
}

.carousel-caption h5 {
  color: #fff;
}

/** 2.7 Divider **/
.divider {
  display: block;
  text-align: center;
  overflow: hidden;
  margin: 1rem 0;
}

.divider .divider-text {
  position: relative;
  display: inline-block;
  padding: 0 1rem;
  background-color: #FFF;
}

.divider .divider-text:before,
.divider .divider-text:after {
  content: "";
  position: absolute;
  top: 50%;
  width: 9999px;
  border-top: 1px solid #DFE3E7;
}

.divider .divider-text:before {
  right: 100%;
}

.divider .divider-text:after {
  left: 100%;
}

.divider.divider-left .divider-text {
  left: 0;
  float: left;
  padding-left: 0;
}

.divider.divider-left-center .divider-text {
  left: -25%;
}

.divider.divider-right-center .divider-text {
  left: 25%;
}

.divider.divider-right .divider-text {
  float: right;
  padding-right: 0;
}

/** 2.8 Dropdowns **/
.dropdown-toggle:after {
  color: #fff;
}

.dropdown-menu-large {
  min-width: 16rem;
}

/** 2.9 Forms **/
.form-group {
  margin-bottom: 0.2rem;
}

.form-group label {
 /*  font-size: 0.755rem;
  text-transform: uppercase; */
  /* color: rgba(35, 28, 99, 0.7); */
  color: black;
  font-weight: 500;
  font-weight: bold;
}

.form-group small {
  font-size: 0.7rem;
}

.form-group.with-title {
  position: relative;
}

.form-group.with-title label {
  position: absolute;
  top: 0;
  left: 0;
  padding: 5px;
  font-size: 0.6rem;
  background-color: #e9ecef;
  width: 100%;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.form-group.with-title .form-control,
.form-group.with-title dataTable-input {
  padding-top: 2rem;
}

.form-group.with-title .form-control:focus~label,
.form-group.with-title dataTable-input:focus~label {
  border-left: 1px solid #5A8DEE;
  border-top: 1px solid #5A8DEE;
  border-right: 1px solid #5A8DEE;
}

.form-group[class*=has-icon-].has-icon-left .form-control {
  padding-left: 2.5rem;
}

.form-group[class*=has-icon-].has-icon-left .form-control-icon {
  left: 0;
}

.form-group[class*=has-icon-].has-icon-right .form-control {
  padding-right: 2.5rem;
}

.form-group[class*=has-icon-].has-icon-right .form-control-icon {
  right: 0;
}

.form-group[class*=has-icon-] .form-control:focus~.form-control-icon i,
.form-group[class*=has-icon-] .form-control:focus~.form-control-icon svg {
  color: #5A8DEE;
}

.form-group[class*=has-icon-] .form-control-icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  padding: 0 0.6rem;
}

.form-group[class*=has-icon-] .form-control-icon i,
.form-group[class*=has-icon-] .form-control-icon svg {
  width: 1.2rem;
}

.form-check .form-check-input[class*=bg-] {
  border: 0;
}

.form-check .form-check-input:focus {
  box-shadow: none;
}

.form-check .form-check-input.form-check-primary {
  background-color: #5A8DEE;
  border-color: #5A8DEE;
}

.form-check .form-check-input.form-check-primary:not(:checked) {
  background-color: transparent;
  border: 1px solid #ced4da;
}

.form-check .form-check-input.form-check-primary.form-check-glow {
  box-shadow: 0 0 5px #88adf3;
}

.form-check .form-check-input.form-check-primary.form-check-glow:not(:checked) {
  box-shadow: none;
}

.form-check .form-check-input.form-check-secondary {
  background-color: #475F7B;
  border-color: #475F7B;
}

.form-check .form-check-input.form-check-secondary:not(:checked) {
  background-color: transparent;
  border: 1px solid #ced4da;
}

.form-check .form-check-input.form-check-secondary.form-check-glow {
  box-shadow: 0 0 5px #5a789b;
}

.form-check .form-check-input.form-check-secondary.form-check-glow:not(:checked) {
  box-shadow: none;
}

.form-check .form-check-input.form-check-success {
  background-color: #39DA8A;
  border-color: #39DA8A;
}

.form-check .form-check-input.form-check-success:not(:checked) {
  background-color: transparent;
  border: 1px solid #ced4da;
}

.form-check .form-check-input.form-check-success.form-check-glow {
  box-shadow: 0 0 5px #64e2a3;
}

.form-check .form-check-input.form-check-success.form-check-glow:not(:checked) {
  box-shadow: none;
}

.form-check .form-check-input.form-check-danger {
  background-color: #FF5B5C;
  border-color: #FF5B5C;
}

.form-check .form-check-input.form-check-danger:not(:checked) {
  background-color: transparent;
  border: 1px solid #ced4da;
}

.form-check .form-check-input.form-check-danger.form-check-glow {
  box-shadow: 0 0 5px #ff8e8f;
}

.form-check .form-check-input.form-check-danger.form-check-glow:not(:checked) {
  box-shadow: none;
}

.form-check .form-check-input.form-check-warning {
  background-color: #FDAC41;
  border-color: #FDAC41;
}

.form-check .form-check-input.form-check-warning:not(:checked) {
  background-color: transparent;
  border: 1px solid #ced4da;
}

.form-check .form-check-input.form-check-warning.form-check-glow {
  box-shadow: 0 0 5px #fec273;
}

.form-check .form-check-input.form-check-warning.form-check-glow:not(:checked) {
  box-shadow: none;
}

.form-check .form-check-input.form-check-info {
  background-color: #00CFDD;
  border-color: #00CFDD;
}

.form-check .form-check-input.form-check-info:not(:checked) {
  background-color: transparent;
  border: 1px solid #ced4da;
}

.form-check .form-check-input.form-check-info.form-check-glow {
  box-shadow: 0 0 5px #11f0ff;
}

.form-check .form-check-input.form-check-info.form-check-glow:not(:checked) {
  box-shadow: none;
}

.form-check .form-check-input.form-check-dark {
  background-color: #222f3e;
  border-color: #222f3e;
}

.form-check .form-check-input.form-check-dark:not(:checked) {
  background-color: transparent;
  border: 1px solid #ced4da;
}

.form-check .form-check-input.form-check-dark.form-check-glow {
  box-shadow: 0 0 5px #34485f;
}

.form-check .form-check-input.form-check-dark.form-check-glow:not(:checked) {
  box-shadow: none;
}

.form-check .form-check-input.form-check-light {
  background-color: #A3AFBD;
  border-color: #A3AFBD;
}

.form-check .form-check-input.form-check-light:not(:checked) {
  background-color: transparent;
  border: 1px solid #ced4da;
}

.form-check .form-check-input.form-check-light.form-check-glow {
  box-shadow: 0 0 5px #c1c9d2;
}

.form-check .form-check-input.form-check-light.form-check-glow:not(:checked) {
  box-shadow: none;
}

.form-check .form-check-input.form-check-link {
  background-color: #2178d1;
  border-color: #2178d1;
}

.form-check .form-check-input.form-check-link:not(:checked) {
  background-color: transparent;
  border: 1px solid #ced4da;
}

.form-check .form-check-input.form-check-link.form-check-glow {
  box-shadow: 0 0 5px #4492e1;
}

.form-check .form-check-input.form-check-link.form-check-glow:not(:checked) {
  box-shadow: none;
}

.form-check.form-check-sm .form-check-input {
  width: 0.9rem;
  height: 0.9rem;
  margin-top: 0.3em;
}

.form-check.form-check-sm label {
  font-size: 0.7rem;
}

.form-check.form-check-primary .form-check-input {
  background-color: #5A8DEE;
  border-color: #5A8DEE;
}

.form-check.form-check-secondary .form-check-input {
  background-color: #475F7B;
  border-color: #475F7B;
}

.form-check.form-check-success .form-check-input {
  background-color: #39DA8A;
  border-color: #39DA8A;
}

.form-check.form-check-danger .form-check-input {
  background-color: #FF5B5C;
  border-color: #FF5B5C;
}

.form-check.form-check-warning .form-check-input {
  background-color: #FDAC41;
  border-color: #FDAC41;
}

.form-check.form-check-info .form-check-input {
  background-color: #00CFDD;
  border-color: #00CFDD;
}

.form-check.form-check-dark .form-check-input {
  background-color: #222f3e;
  border-color: #222f3e;
}

.form-check.form-check-light .form-check-input {
  background-color: #A3AFBD;
  border-color: #A3AFBD;
}

.form-check.form-check-link .form-check-input {
  background-color: #2178d1;
  border-color: #2178d1;
}

.dataTable-input {
  min-height: calc(1.5em + 0.934rem + 2px);
  padding: 0.467rem 0.6rem;
  font-size: 0.9025rem;
  font-weight: 400;
  line-height: 1.5;
  color: #555252;
  background-color: white;
  background-clip: padding-box;
  border: 1px solid #DFE3E7;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0.25rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.dataTable-input:focus {
  color: #555252;
  background-color: white;
  border-color: #5A8DEE;
  outline: 0;
  box-shadow: 0 3px 8px 0 rgba(0, 0, 0, 0.1);
}

/** 2.10 Modal **/
.modal .modal-content {
  border-radius: 12px;
  border: 1px solid #cbd5e1;
  box-shadow: 0 15px 35px -5px rgba(15, 23, 42, 0.22), 0 5px 15px -3px rgba(15, 23, 42, 0.1);
  overflow: hidden;
}

.modal .modal-full {
  max-width: 94%;
}

.modal .white {
  color: white;
}

.modal .modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #eef2f6;
  border-bottom: 1px solid #cbd5e1;
  padding: 10px 16px;
}

.modal .modal-header .modal-title {
  font-size: 0.98rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  margin: 0;
  display: inline-flex;
  align-items: center;
}

.modal .modal-header .close {
  padding: 4px 8px;
  border-radius: 50%;
  color: #64748b;
  opacity: 0.75;
  transition: all 0.2s ease;
  outline: none;
}

.modal .modal-header .close:hover {
  background: #e2e8f0;
  color: #0f172a;
  opacity: 1;
}

.modal .modal-footer {
  background: #eef2f6;
  border-top: 1px solid #cbd5e1;
  padding: 9px 16px;
}

.modal.modal-borderless .modal-header {
  border-bottom: 0;
}

.modal.modal-borderless .modal-footer {
  border-top: 0;
}

@media (max-width: 576px) {
  .footer {
    text-align: left;
    padding-right: 0px;
    float: left;

  }

  #floatLeftOnSmallScreen {

    float: left !important;
  }
}

@media (max-width: 576px) {

  #floatLeftOnSmallScreen {

    float: left !important;
  }
}

/** 2.11 Sidebar **/
#sidebar.active .sidebar-wrapper {
  left: 0;

}

#sidebar:not(.active)~#main {
  margin-left: 0;
}

#sidebar:not(.active)~#main footer,
#sidebar:not(.active)~#main .footer,
#sidebar:not(.active)~.footer {
  padding-right: 0rem;
}

.sidebar-wrapper {
  width: 260px;
  height: 100vh;
  position: fixed;
  top: 0;
  z-index: 105;
  background: radial-gradient(circle at 50% 100%, rgba(53, 98, 173, 0.18) 0%, transparent 50%),
    linear-gradient(355deg, #203C69 0%, #142844 50%, #0D1929 100%);
  bottom: 0;
  border-right: none;
  box-shadow: 3px 0 16px rgba(0, 0, 0, 0.28);
  left: -260px;
  transition: left 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
}

.sidebar-wrapper::-webkit-scrollbar {
  width: 5px;
}

.sidebar-wrapper::-webkit-scrollbar-track {
  background: transparent;
}

.sidebar-wrapper::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 4px;
}

.sidebar-wrapper .sidebar-header {
  padding: 1.5rem 1rem 0.8rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  margin-bottom: 0.5rem;
}

.sidebar-wrapper .sidebar-header .sidebar-logo,
.sidebar-wrapper .sidebar-header img {
  height: 95px;
  width: auto;
  margin: 0 auto;
  display: block;
  filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.4)) drop-shadow(0 0 15px rgba(255, 255, 255, 0.35));
  transition: transform 0.3s ease, filter 0.3s ease;
}

.sidebar-wrapper .sidebar-header .sidebar-logo:hover,
.sidebar-wrapper .sidebar-header img:hover {
  transform: scale(1.03);
  filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.45)) drop-shadow(0 0 20px rgba(255, 255, 255, 0.55));
}

.sidebar-wrapper .sidebar-header .sidebar-brand-title,
.sidebar-wrapper h5.sidebar-brand-title {
  font-size: 1.05rem;
  font-weight: 700;
  color: #FFFFFF !important;
  letter-spacing: 0.6px;
  margin: 0.75rem 0 0 0 !important;
  text-transform: uppercase;
  text-align: center;
}

.sidebar-wrapper .sidebar-header .sidebar-brand-subtitle {
  font-size: 0.7rem;
  color: #dcaa1e;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  font-weight: 600;
  margin-top: 3px;
  text-align: center;
}

.sidebar-wrapper .sidebar-toggler.x {
  position: absolute;
  right: 0;
  top: 0.5rem;
  display: none;
}

.sidebar-wrapper .menu {
  padding: 0 10px 4rem 10px;
  margin-top: 0.5rem;
  list-style: none;
}

.sidebar-wrapper .menu .sidebar-title {
  padding: 1rem 1rem 0.3rem;
  font-size: 0.72rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.45);
  text-transform: uppercase;
  letter-spacing: 1px;
}

.sidebar-wrapper .menu .sidebar-item {
  list-style: none;
  margin: 4px 0;
  position: relative;
  border-radius: 8px;
}

.sidebar-wrapper .menu .sidebar-link {
  display: flex;
  align-items: center;
  padding: 9px 12px;
  font-size: 0.88rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9);
  border-radius: 8px;
  text-decoration: none !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}

.sidebar-wrapper .menu .sidebar-link:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #FFFFFF !important;
  text-decoration: none !important;
}

.sidebar-wrapper .menu .sidebar-link>i:first-child {
  color: #dcaa1e;
  font-size: 1rem;
  width: 20px;
  text-align: center;
  margin-right: 10px;
  flex-shrink: 0;
  transition: color 0.2s ease;
}

.sidebar-wrapper .menu .sidebar-link>span {
  color: inherit;
  font-weight: 600;
  font-size: 0.88rem;
  margin-left: 0;
  flex-grow: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Caret for dropdown parent items */
.sidebar-wrapper .menu .sidebar-item.has-sub .sidebar-link:after {
  content: "\f107";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: white;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  transition: color 0.2s ease, transform 0.3s ease;
}

.sidebar-wrapper .menu .sidebar-item.has-sub:has(.submenu.active) .sidebar-link:after {
  transform: translateY(-50%) rotate(-90deg);
}

/* Active Main Menu Item */
.sidebar-wrapper .menu .sidebar-item.active>.sidebar-link {
  background: linear-gradient(135deg, #e5b326 0%, #c99313 100%) !important;
  color: #14293D !important;
  font-weight: 700 !important;
  box-shadow: 0 3px 12px rgba(220, 170, 30, 0.32);
}

.sidebar-wrapper .menu .sidebar-item.active>.sidebar-link span {
  color: #14293D !important;
  font-weight: 700 !important;
}

.sidebar-wrapper .menu .sidebar-item.active>.sidebar-link>i:first-child {
  color: #14293D !important;
}

.sidebar-wrapper .menu .sidebar-item.active>.sidebar-link:after {
  color: #14293D !important;
}

.sidebar-wrapper .menu .sidebar-item.active>.sidebar-link:before {
  display: none;
}

/* Submenu container */
.sidebar-wrapper .menu .submenu {
  list-style: none;
  max-height: 0;
  opacity: 0;
  transition: max-height 0.3s ease-out, opacity 0.3s ease-out, margin 0.3s ease-out, padding 0.3s ease-out;
  overflow: hidden;
  padding: 0 0 0 8px;
  margin: 0 0 0 10px;
  border-left: 2px solid rgba(220, 170, 30, 0.35);
  border-radius: 0 0 0 4px;
}

.sidebar-wrapper .menu .submenu.active {
  max-height: 500px;
  opacity: 1;
  padding: 4px 0 4px 8px;
  margin: 4px 0 6px 10px;
}

.sidebar-wrapper .menu .submenu li {
  list-style: none;
  margin: 3px 0;
  border-radius: 6px;
}

.sidebar-wrapper .menu .submenu li a {
  display: flex;
  align-items: center;
  padding: 7px 10px;
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.84rem;
  font-weight: 500;
  letter-spacing: 0.2px;
  text-decoration: none !important;
  border-radius: 6px;
  margin-left: 0;
  transition: all 0.2s ease;
}

.sidebar-wrapper .menu .submenu li a:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #FFFFFF !important;
  text-decoration: none !important;
}

.sidebar-wrapper .menu .submenu li a i:first-child {
  color: #dcaa1e;
  font-size: 0.86rem;
  width: 18px;
  text-align: center;
  margin-right: 8px;
  flex-shrink: 0;
}

/* Active Submenu Item (.active-sidebar-tab) */
.sidebar-wrapper .menu .submenu li.active-sidebar-tab,
.sidebar-wrapper .menu .submenu li.active-sidebar-tab a {
  background: linear-gradient(135deg, #285AA1 0%, #285AA1 50%, #c99313 100%) !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

.sidebar-wrapper .menu .submenu li.active-sidebar-tab a i:first-child {
  color: #FFFFFF !important;
}

.sidebar-wrapper .menu .submenu li.active-sidebar-tab a .check-true {
  color: #12632b !important;
  /* Dark green contrast against golden background */
}

/* Status Checkmarks */
.sidebar-wrapper .menu .check-true,
.check-true {
  color: #2ecc71 !important;
  /* Vibrant emerald green */
  font-size: 0.85rem;
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  padding: 0;
  float: none !important;
}

.sidebar-wrapper .menu img.check-true,
img.check-true {
  width: 16px !important;
  height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  object-fit: contain !important;
  display: inline-block !important;
  vertical-align: middle !important;
  filter: none !important;
  flex-shrink: 0 !important;
}

.sidebar-wrapper .menu .sidebar-item.has-sub .sidebar-link .check-true {
  margin-left: auto;
  margin-right: 22px;
  /* Prevent overlap with the dropdown chevron */
}

@media screen and (max-width: 767px) {
  .sidebar-wrapper {
    left: -270px;
  }

  .sidebar-wrapper .sidebar-toggler.x {
    /*    display: block; */
  }
}

@media (max-width: 767.98px) {
  .sidebar-wrapper {
    padding-top: 18%;
    padding-bottom: 20%;
  }
}

/** 2.12 Card **/
.card {
  box-shadow: -8px 12px 18px 0 rgba(25, 42, 70, 0.13);
  margin-bottom: 2.2rem;
}

.card.card-statistic {
  box-shadow: 1px 2px 5px rgba(47, 170, 244, 0.5);
  background: linear-gradient(to bottom, #25a6f1, #54b9ff);
  border: none;
}

.card.card-statistic .card-title {
  text-transform: uppercase;
  color: #fff;
  letter-spacing: 0.8px;
  font-weight: 400;
  font-size: 1.3rem;
  margin-bottom: 0;
  margin-top: 5px;
}

.card.card-statistic .card-right p {
  font-size: 1.5rem;
  color: #fff;
  margin-bottom: 0;
}

.card.card-statistic .card-right span.green {
  color: #6fff6f;
}

.card.card-statistic .card-right span.red {
  color: #ff7979;
}

.card.card-statistic .chart-wrapper {
  height: 100px;
}

.card .card-header {
  border: none;
}

.card .card-header h4 {
  font-size: 1.2rem;
}

.card .card-header~.card-body {
  padding-top: 0;
}

.card .card-content {
  position: relative;
}

.card .card-title {
  font-size: 1.2rem;
}

.card .card-body {
  padding: 1.4rem 1.7rem;
}

.card .card-heading {
  color: #555;
  font-size: 1.5rem;
}

.card .card-img-overlay {
  background-color: rgba(0, 0, 0, 0.6);
}

.card .card-img-overlay p {
  color: #eee;
}

.card .card-img-overlay .card-title {
  color: #fff;
}

.pricing .card {
  box-shadow: none;
  margin-bottom: 0;
  border-right: 1px solid #e9ecef;
  box-shadow: 0 10px 10px #e9ecef;
  margin-bottom: 0.5rem;
}

.pricing h1 {
  text-align: center;
  font-size: 4rem;
  margin-bottom: 3rem;
}

.pricing .card-header .card-title {
  font-size: 2rem !important;
  margin-bottom: 0;
}

.pricing .card-header p {
  font-size: 0.8rem;
}

.pricing ul li {
  list-style: none;
  margin-bottom: 0.5rem;
}

.pricing ul li i,
.pricing ul li svg {
  width: 1rem;
  color: #39DA8A;
  font-size: 1rem;
  margin-right: 7px;
}

.pricing .card-highlighted {
  background-color: #5A8DEE;
  padding-top: 20px;
  padding-bottom: 20px;
}

.pricing .card-highlighted .card-header,
.pricing .card-highlighted .card-body {
  background-color: #5A8DEE;
  color: #fff;
}

.pricing .card-highlighted ul li {
  color: #fff;
}

.pricing .card-highlighted ul li i,
.pricing .card-highlighted ul li svg {
  color: tint-color(#28a745, 2);
}

.pricing .card-highlighted .card-footer {
  background-color: #5A8DEE;
}

.pricing .card-highlighted .card-title {
  color: #fff;
  font-size: 1.8rem;
}

/** 2.13 Navs **/
.nav-pills .nav-link.active {
  box-shadow: 0 2px 10px rgba(90, 141, 238, 0.5);
}

.nav-tabs {
  border: none;
}

.nav-tabs .nav-link {
  border: none;
}

.nav-tabs .nav-link:hover {
  border: none;
  text-shadow: 0 0 2px rgba(90, 141, 238, 0.3);
}

.nav-tabs .nav-link.active {
  border: none;
  position: relative;
  color: #5A8DEE;
}

.nav-tabs .nav-link.active:after {
  content: "";
  width: 100%;
  position: absolute;
  bottom: 0;
  height: 2px;
  background-color: #5A8DEE;
  left: 0;
  box-shadow: 0 2px 5px rgba(90, 141, 238, 0.5);
}

/** 2.14 Navbar **/
.navbar {
  height: 70px;
  padding: 1.5rem;
  width: 100%;
  z-index: 1000;
  background-color: #E0E0E0;
  /* position: fixed; */
}

@media (max-width: 767.98px) {
  .navbar {
    position: fixed;
    top: 0px;
  }
}

@media (max-width: 767.98px) {
  .changetoH6 {
    font-size: 14px;
  }
}

.navbar .nav-link-user img {
  width: 30px;
}

.navbar.navbar-header li {
  display: flex;
  align-items: center;
}

.navbar.navbar-header li.nav-icon {
  margin-right: 0.4rem;
}

.navbar.navbar-header li.nav-icon .nav-link {
  display: block;
  padding: 0.4rem;
  border-radius: 50%;
}

.navbar.navbar-header li.nav-icon .nav-link:hover {
  background-color: #e9ecef;
}

.navbar.navbar-header .dropdown>a {
  color: #6c757d;
  font-weight: 600;
}

.navbar.navbar-header .dropdown>a svg {
  height: 24px;
  width: 24px;
}

.navbar.navbar-header .dropdown>a:after {
  display: none;
}

/** 2.15 Pagination **/
.pagination.pagination-primary .page-item.active .page-link {
  background-color: #5A8DEE;
  border-color: #5A8DEE;
  box-shadow: 0 2px 5px rgba(90, 141, 238, 0.3);
}

.pagination.pagination-secondary .page-item.active .page-link {
  background-color: #475F7B;
  border-color: #475F7B;
  box-shadow: 0 2px 5px rgba(71, 95, 123, 0.3);
}

.pagination.pagination-success .page-item.active .page-link {
  background-color: #39DA8A;
  border-color: #39DA8A;
  box-shadow: 0 2px 5px rgba(57, 218, 138, 0.3);
}

.pagination.pagination-danger .page-item.active .page-link {
  background-color: #FF5B5C;
  border-color: #FF5B5C;
  box-shadow: 0 2px 5px rgba(255, 91, 92, 0.3);
}

.pagination.pagination-warning .page-item.active .page-link {
  background-color: #FDAC41;
  border-color: #FDAC41;
  box-shadow: 0 2px 5px rgba(253, 172, 65, 0.3);
}

.pagination.pagination-info .page-item.active .page-link {
  background-color: #00CFDD;
  border-color: #00CFDD;
  box-shadow: 0 2px 5px rgba(0, 207, 221, 0.3);
}

.pagination.pagination-dark .page-item.active .page-link {
  background-color: #222f3e;
  border-color: #222f3e;
  box-shadow: 0 2px 5px rgba(34, 47, 62, 0.3);
}

.pagination.pagination-light .page-item.active .page-link {
  background-color: #A3AFBD;
  border-color: #A3AFBD;
  box-shadow: 0 2px 5px rgba(163, 175, 189, 0.3);
}

.pagination.pagination-link .page-item.active .page-link {
  background-color: #2178d1;
  border-color: #2178d1;
  box-shadow: 0 2px 5px rgba(33, 120, 209, 0.3);
}

.page-item:not(.active) .page-link:hover {
  color: #000;
}

.page-item i,
.page-item svg {
  font-size: 13px;
  width: 13px;
  height: 13px;
}

.page-item .page-link {
  font-size: 0.875rem;
}

.page-item .page-link:focus {
  box-shadow: none;
}

.page-item:first-child {
  margin-right: 0.4rem;
}

.page-item:last-child {
  margin-left: 0.4rem;
}

/** 2.16 Table **/
.table td,
.dataTable-table td,
.table thead th,
.dataTable-table thead th {
  vertical-align: middle;
}

.table thead th,
.dataTable-table thead th {
  border-bottom: 2px solid #475F7B;
}

.dataTable-container {
  overflow-x: auto;
}

/** 2.17 Progress **/
.progress.progress-primary {
  overflow: visible;
}

.progress.progress-primary .progress-bar {
  background-color: #5A8DEE;
  border-radius: 1rem;
  box-shadow: 0px 2px 3px rgba(90, 141, 238, 0.8);
}

.progress.progress-secondary {
  overflow: visible;
}

.progress.progress-secondary .progress-bar {
  background-color: #475F7B;
  border-radius: 1rem;
  box-shadow: 0px 2px 3px rgba(71, 95, 123, 0.8);
}

.progress.progress-success {
  overflow: visible;
}

.progress.progress-success .progress-bar {
  background-color: #39DA8A;
  border-radius: 1rem;
  box-shadow: 0px 2px 3px rgba(57, 218, 138, 0.8);
}

.progress.progress-danger {
  overflow: visible;
}

.progress.progress-danger .progress-bar {
  background-color: #FF5B5C;
  border-radius: 1rem;
  box-shadow: 0px 2px 3px rgba(255, 91, 92, 0.8);
}

.progress.progress-warning {
  overflow: visible;
}

.progress.progress-warning .progress-bar {
  background-color: #FDAC41;
  border-radius: 1rem;
  box-shadow: 0px 2px 3px rgba(253, 172, 65, 0.8);
}

.progress.progress-info {
  overflow: visible;
}

.progress.progress-info .progress-bar {
  background-color: #00CFDD;
  border-radius: 1rem;
  box-shadow: 0px 2px 3px rgba(0, 207, 221, 0.8);
}

.progress.progress-dark {
  overflow: visible;
}

.progress.progress-dark .progress-bar {
  background-color: #222f3e;
  border-radius: 1rem;
  box-shadow: 0px 2px 3px rgba(34, 47, 62, 0.8);
}

.progress.progress-light {
  overflow: visible;
}

.progress.progress-light .progress-bar {
  background-color: #A3AFBD;
  border-radius: 1rem;
  box-shadow: 0px 2px 3px rgba(163, 175, 189, 0.8);
}

.progress.progress-link {
  overflow: visible;
}

.progress.progress-link .progress-bar {
  background-color: #2178d1;
  border-radius: 1rem;
  box-shadow: 0px 2px 3px rgba(33, 120, 209, 0.8);
}

.progress.progress-sm {
  height: 0.4rem;
}

.progress.progress-lg {
  height: 0.8rem;
}

.progress .progress-bar {
  position: relative;
  overflow: visible;
}

.progress .progress-bar.progress-label:before {
  content: attr(aria-valuenow) "%";
  position: absolute;
  right: 0;
  top: -1.3rem;
  color: #495057;
  font-size: 0.8rem;
}

/** 3.1 Chat **/
.chat {
  border-radius: 5px;
}

.chat.chat-left .chat-message {
  background: #5A8DEE !important;
  float: left !important;
  color: #fff;
}

.chat .chat-message {
  text-align: left !important;
  float: right !important;
  margin: 0.2rem 0 1.8rem 0.2rem !important;
  color: #525361;
  background-color: #FAFBFB !important;
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.3) !important;
  padding: 0.75rem 1rem !important;
  position: relative !important;
  max-width: calc(100% - 5rem) !important;
  clear: both !important;
  word-break: break-word !important;
  border-radius: 0.267rem !important;
}

/** 3.1 Todo **/
.widget-todo-list-wrapper {
  padding: 0;
  margin: 0;
}

.widget-todo-list-wrapper .widget-todo-item {
  padding: 0.8rem 2rem 0.8rem 0.8rem;
  list-style: none;
}

.widget-todo-list-wrapper .widget-todo-item:hover {
  background-color: #f8f9fa;
}

.widget-todo-list-wrapper .widget-todo-item .checkbox {
  margin-left: 1rem;
}

.widget-todo-list-wrapper .widget-todo-item i,
.widget-todo-list-wrapper .widget-todo-item svg {
  font-size: 12px;
  cursor: move;
  height: 1rem;
}

/** 4.1 Auth Pages **/
#auth {
  /* background: #6c757d; */
  background: #1A4B5C;
  min-height: 100vh;
  /* min-width:100% !important; */
  padding-top: 20px;
  background-image: url(../images/background/D2.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-origin: inherit;
}

#auth .card {
  box-shadow: 0 5px 15px rgba(36, 104, 146, 0.6);
  border: none;
}

/** 4.1 Error Pages **/
#error {
  /*  height: 100vh; */
  width: 100%;
  background-color: #e9ecef;
}

#error .error-title {
  font-size: 10rem;
}

/** 5. Utilities **/
.text-xxs {
  font-size: 0.65rem;
}

.text-xs {
  font-size: 0.75rem;
}

.text-sm {
  font-size: 0.85rem;
}

.font-bold {
  font-weight: 800;
}

.font-semibold {
  font-weight: 600;
}

.pt-32 {
  padding-top: 6rem;
}

.ml-50 {
  margin-left: 0.5rem;
}

.w-0 {
  width: 0;
}

.w-1 {
  width: 0.25rem;
}

.w-2 {
  width: 0.5rem;
}

.w-3 {
  width: 0.75rem;
}

.w-4 {
  width: 1rem;
}

.w-5 {
  width: 1.25rem;
}

.w-10 {
  width: 2.25rem;
}

.h-0 {
  height: 0;
}

.h-1 {
  height: 0.25rem;
}

.h-2 {
  height: 0.5rem;
}

.h-3 {
  height: 0.75rem;
}

.h-4 {
  height: 1rem;
}

.h-5 {
  height: 1.25rem;
}

.h-10 {
  height: 2.25rem;
}

.rounded-none {
  border-radius: 0;
}

.round {
  border-radius: 1.5rem;
}

.rounded-full {
  border-radius: 50%;
}

.square {
  border-radius: 0;
}

.text-red {
  color: #ff6384;
}

.bg-red {
  background-color: #ff6384 !important;
}

.text-orange {
  color: #ff9f40;
}

.bg-orange {
  background-color: #ff9f40 !important;
}

.text-yellow {
  color: #ffcd56;
}

.bg-yellow {
  background-color: #ffcd56 !important;
}

.text-green {
  color: #4bc0c0;
}

.bg-green {
  background-color: #4bc0c0 !important;
}

.text-info {
  color: #41B1F9;
}

.bg-info {
  background-color: #41B1F9 !important;
}

.text-blue {
  color: #3245D1;
}

.bg-blue {
  background-color: #3245D1 !important;
}

.text-purple {
  color: #9966ff;
}

.bg-purple {
  background-color: #9966ff !important;
}

.text-grey {
  color: #EBEFF6;
}

.bg-grey {
  background-color: #EBEFF6 !important;
}

.text-gray-700 {
  color: #4a5568;
}

.bg-gray-700 {
  background-color: #4a5568 !important;
}


/* author-Abhishek */
.text-preview {
  font-weight: 400;
}


/* .div-border{
	border: 1px solid #dee2e6;
}
 */

/* Glassmorphism Card Effect */
.glass-card {
  background: rgba(255, 255, 255, 0.6) !important;
  backdrop-filter: blur(12px) saturate(150%);
  -webkit-backdrop-filter: blur(12px) saturate(150%);
  border-radius: 20px !important;
  border: 1px solid rgba(255, 255, 255, 0.5);
  box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.15);
}

/* Sidebar Stage Status Styles */
.sidebar-wrapper .menu .sidebar-link:not([href]),
.sidebar-wrapper .menu .submenu li a:not([href]) {
  cursor: not-allowed !important;
  opacity: 0.45 !important;
}

.sidebar-wrapper .menu .sidebar-link:not([href]):hover,
.sidebar-wrapper .menu .submenu li a:not([href]):hover {
  background: transparent !important;
}

.sidebar-wrapper .menu .sidebar-link[href],
.sidebar-wrapper .menu .submenu li a[href] {
  font-weight: 700 !important;
  opacity: 1 !important;
}

/* Make input fonts more blackish */
.form-control,
input,
select,
textarea {
  color: #000000 !important;
}

/* =========================================================
   Executive Modern Alert, Confirmation & Message Dialogs
   (Sleek, Professional Navy Theme, Compact & Top-Positioned)
   ========================================================= */

/* Backdrop with refined glassmorphic blur */
.modal-backdrop {
  background-color: #0b1523 !important;
}

.modal-backdrop.show {
  opacity: 0.65 !important;
  backdrop-filter: blur(5px) !important;
  -webkit-backdrop-filter: blur(5px) !important;
}

/* Modal smooth entry animation sliding down from top */
.modal.fade .modal-dialog {
  transform: translateY(-20px) !important;
  transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease-out !important;
}

.modal.show .modal-dialog {
  transform: translateY(0) !important;
}

/* Keep alert, message & confirm modals compact & aligned near top */
#errorModal .modal-dialog,
#successModal .modal-dialog,
#confirmModal .modal-dialog,
#confirmModalForIns .modal-dialog,
#confirmModalEditNext .modal-dialog,
#confirmModalForAadhaarConsent .modal-dialog,
#confirmModalForResult .modal-dialog,
#confirmModalForResultStatus .modal-dialog,
#confirmModalForReset .modal-dialog,
#confirmProcessing .modal-dialog,
#duplicateModal .modal-dialog,
#errorModalForPersonalSubmit .modal-dialog,
#errorModalForIncompleteDocs .modal-dialog,
#errorModalEditCloseee .modal-dialog,
#successModalCity .modal-dialog,
#successModalSignUp .modal-dialog,
#submit-confirm .modal-dialog,
#editModal .modal-dialog {
  display: block !important;
  min-height: auto !important;
  max-width: 400px !important;
  width: 90% !important;
  margin: 40px auto 1rem auto !important;
}

/* Sleek compact card container */
.modal-content {
  border-radius: 12px !important;
  border: 1px solid rgba(15, 23, 42, 0.12) !important;
  background: #ffffff !important;
  box-shadow: 0 20px 35px -8px rgba(15, 23, 42, 0.28), 0 8px 16px -4px rgba(15, 23, 42, 0.12) !important;
  overflow: hidden !important;
}

/* Category colored top accent line */
#errorModal .modal-content,
#errorModalForPersonalSubmit .modal-content,
#errorModalForIncompleteDocs .modal-content,
#errorModalEditCloseee .modal-content,
#confirmModalForReset .modal-content,
#confirmProcessing .modal-content,
#submit-confirm .modal-content {
  border-top: 3.5px solid #ef4444 !important;
}

#successModal .modal-content,
#successModalCity .modal-content,
#successModalSignUp .modal-content {
  border-top: 3.5px solid #10b981 !important;
}

#confirmModal .modal-content,
#confirmModalForIns .modal-content,
#confirmModalEditNext .modal-content,
#confirmModalForAadhaarConsent .modal-content,
#confirmModalForResult .modal-content,
#confirmModalForResultStatus .modal-content,
#duplicateModal .modal-content,
#editModal .modal-content,
#myModal .modal-content {
  border-top: 3.5px solid #64748b !important;
}

/* =========================================================
   1. Normal / Confirmation / Info Modals: Grayish Header
   ========================================================= */
.modal-header,
.modal-header[style*="background-color: #bdbdbd"],
.modal-header[style*="background-color: #e2e3e5"],
.modal-header[style*="background-color: lightgray"],
.modal-header[style*="background-color: #A9A9A9"],
.modal-header.alert-secondary,
#confirmModal .modal-header,
#confirmModalForIns .modal-header,
#confirmModalEditNext .modal-header,
#confirmModalForAadhaarConsent .modal-header,
#confirmModalForResult .modal-header,
#confirmModalForResultStatus .modal-header,
#duplicateModal .modal-header,
#editModal .modal-header,
#myModal .modal-header {
  background: linear-gradient(135deg, #334155 0%, #475569 50%, #64748b 100%) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
  padding: 7px 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

/* =========================================================
   2. Error / Alert Modals: Redish Header
   ========================================================= */
#errorModal .modal-header,
#errorModalForPersonalSubmit .modal-header,
#errorModalForIncompleteDocs .modal-header,
#errorModalEditCloseee .modal-header,
#confirmModalForReset .modal-header,
#confirmProcessing .modal-header,
#submit-confirm .modal-header,
.modal-header:has(.text-danger),
.modal-header:has([style*="color: red"]),
.modal-header:has([style*="color:red"]) {
  background: linear-gradient(135deg, #881337 0%, #991b1b 50%, #b91c1c 100%) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
}

/* Red Danger Modal Title & Alert Message text on #submit-confirm */
#submit-confirm .modal-title,
#submit-confirm #alert-message {
  color: #ffffff !important;
}

#submit-confirm #icon {
  background: rgba(255, 255, 255, 0.22) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.15) !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 13px !important;
  vertical-align: middle !important;
  line-height: 1 !important;
}

/* =========================================================
   3. Success Modals: Greenish Header
   ========================================================= */
#successModal .modal-header,
#successModalSignUp .modal-header,
#successModalCity .modal-header,
.modal-header:has([style*="color: green"]),
.modal-header:has([style*="color:green"]) {
  background: linear-gradient(135deg, #064e3b 0%, #065f46 50%, #047857 100%) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
}

/* Modal Title (Crisp white on all colored headers) */
.modal-header .modal-title {
  color: #ffffff !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  line-height: 1.3 !important;
}

/* Circular icon badge in modal title */
.modal-header .modal-title i,
.modal-header .modal-title span.icon-copy {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  margin-right: 0 !important;
  font-size: 13px !important;
  flex-shrink: 0 !important;
  vertical-align: middle !important;
  line-height: 1 !important;
  background: rgba(255, 255, 255, 0.22) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.15) !important;
}

/* Success Modal OK / Forward Button (Bluish) */
#successModalOk,
#forwardUserBtn,
#forwardUserBtnn {
  background: linear-gradient(180deg, #1d68bd 0%, #124d91 100%) !important;
  border: 1px solid #0e407b !important;
  color: #ffffff !important;
}

#successModalOk:hover,
#forwardUserBtn:hover,
#forwardUserBtnn:hover {
  background: linear-gradient(180deg, #2578d6 0%, #185caa 100%) !important;
  border-color: #124d91 !important;
  color: #ffffff !important;
}

/* Indian Coast Guard Crest inside header */
.modal-header img {
  height: 28px !important;
  width: auto !important;
  max-height: 28px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.45)) !important;
}

/* Close 'X' button */
.modal-header .close {
  margin: -0.35rem -0.35rem -0.35rem auto !important;
  padding: 0.35rem !important;
  font-size: 1.2rem !important;
  font-weight: 400 !important;
  color: #94a3b8 !important;
  opacity: 0.8 !important;
  outline: none !important;
}

.modal-header .close:hover {
  color: #ffffff !important;
  opacity: 1 !important;
}

/* Sleek Modal Body */
.modal-body {
  padding: 15px 24px 17px 24px !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: #334155 !important;
  font-weight: 500 !important;
  text-align: center !important;
  background: #ffffff !important;
}

#croppingInstrnctionModalMsg {
  text-align: left !important;
}

/* Applicant Basic Details Confirmation Modal - Left Align */
#confirmDetails .modal-body {
  text-align: left !important;
}

#confirmDetails table,
#confirmDetails .table th,
#confirmDetails .table td {
  text-align: left !important;
  padding-left: 8px !important;
  padding-right: 8px !important;
  vertical-align: middle !important;
}

#confirmDetails .table th label,
#confirmDetails .table td label {
  text-align: left !important;
  margin-bottom: 0 !important;
}

#confirmDetails .form-group,
#confirmDetails .panel-body,
#confirmDetails p,
#confirmDetails b,
#confirmDetails label,
#confirmDetails h5,
#confirmDetails li,
#confirmDetails span {
  text-align: left !important;
}

/* Center Photos Section in Applicant Basic Details Modal */
#confirmDetails #applicantModalPhotos,
#confirmDetails #applicantModalPhotos .col-md-3,
#confirmDetails #applicantModalPhotos .form-group,
#confirmDetails #applicantModalPhotos label {
  text-align: center !important;
}

#confirmDetails #applicantModalPhotos a,
#confirmDetails #applicantModalPhotos img {
  margin: 0 auto !important;
  display: inline-block !important;
}

/* Compact Modal Footer */
.modal-footer {
  background: #f8fafc !important;
  border-top: 1px solid #e2e8f0 !important;
  padding: 5px 18px !important;
  display: flex !important;
  justify-content: center !important;
  text-align: center !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
}

.modal-footer > * {
  margin: 0 2px !important;
}

/* Sleek Secondary / Close / Cancel / No Buttons (Slate Navy Bluish) */
.modal-footer .btn-secondary,
.modal-footer a.btn-secondary,
.modal-footer button.btn-secondary,
.modal-footer .btn-primary,
.modal-footer a.btn-primary,
.modal-footer button.btn-primary,
.modal-footer .btn-outline-dark,
#ErrorModalClose,
#ErrorModalCloseForPersonalSubmit,
#ErrorModalCloseForIncompleteDocs,
#ErrorModalEditCloseBtn,
#confirmModalClose,
#confirmModalCloseForIns,
#confirmModalCloseForResult,
#confirmModalCloseForResultStatus,
#sizeExceedModalReset,
#cancel,
#successModalOk,
#confirmModalOk,
#confirmModalOkForIns,
#confirmModalOkForResult,
#confirmModalOkForResultStatus,
#forwardUserBtn,
#forwardUserBtnn,
#confirmModalBtnOkForReset,
#confirmModalBtnOkForAadhaarConsent,
#confirmModalEditNextBtnOk,
#EditAgreeBtnId,
#duplicateConfirm,
#duplicateProceed,
#confirmModalBtnCancelForReset,
#confirmModalBtnCancelForForAadhaarConsent,
#confirmModalEditNextBtnCancel,
#editModalCancelBtn,
#editModalBtnCancel,
#confirm,
#editModalBtnOk {
  background: linear-gradient(180deg, #1d68bd 0%, #124d91 100%) !important;
  border: 1px solid #0e407b !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  font-size: 13.5px !important;
  letter-spacing: 0.2px !important;
  padding: 6px 22px !important;
  border-radius: 7px !important;
  min-width: 95px !important;
  height: 30px !important;
  line-height: 20px !important;
  box-shadow: 0 2px 5px rgba(18, 77, 145, 0.28) !important;
  transition: all 0.15s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  outline: none !important;
}

.modal-footer .btn-secondary:hover,
.modal-footer a.btn-secondary:hover,
.modal-footer button.btn-secondary:hover,
.modal-footer .btn-primary:hover,
.modal-footer a.btn-primary:hover,
.modal-footer button.btn-primary:hover,
.modal-footer .btn-outline-dark:hover,
#ErrorModalClose:hover,
#cancel:hover,
#successModalOk:hover,
#confirmModalOk:hover,
#confirm:hover,
#duplicateConfirm:hover,
#duplicateProceed:hover,
#confirmModalBtnCancelForReset:hover,
#editModalBtnCancel:hover {
  background: linear-gradient(180deg, #2578d6 0%, #185caa 100%) !important;
  border-color: #124d91 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(18, 77, 145, 0.38) !important;
}

.modal-footer .btn-secondary:active,
.modal-footer .btn-primary:active,
.modal-footer .btn-outline-dark:active,
#ErrorModalClose:active,
#cancel:active,
#confirm:active,
#duplicateConfirm:active,
#duplicateProceed:active {
  transform: translateY(0) !important;
  box-shadow: 0 1px 3px rgba(18, 77, 145, 0.2) !important;
}


/* =========================================================
   Modern Subject Table Styling for Qualification Pages
   ========================================================= */
.subject-table-card {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0.5rem 0 1rem 0 !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

div.table-responsive {
  overflow-x: auto !important;
  padding: 6px 14px 22px 14px !important;
  margin: -6px -14px 0 -14px !important;
}

#SubjectTableNewPercentageAndCGPA,
#SubjectTableNewGrade,
#TableNewPercentageAndCGPA,
#TableNewGrade,
#SubjectTableNewPercentageAndCGPA12,
#SubjectTableNewGrade12,
#cityPreferenceTable,
.subject-table {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0.5rem 0 0.75rem 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid #d5e0ee !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 12px 30px -4px rgba(0, 0, 0, 0.15), 0 6px 14px -2px rgba(0, 0, 0, 0.08), 0 0 16px rgba(0, 0, 0, 0.06) !important;
  background-color: #ffffff !important;
}

#cityPreferenceTable {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
}

.subject-table .form-group,
#cityPreferenceTable .form-group {
  margin-bottom: 0 !important;
}

#matriculationSubjectMarksIdError,
#intermediateSubjectMarksIdError,
#SubjectMarksIdError {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0.25rem 0 !important;
  text-align: left !important;
}

#SubjectTableNewPercentageAndCGPA[style*="display: none"],
#SubjectTableNewGrade[style*="display: none"],
#TableNewPercentageAndCGPA[style*="display: none"],
#TableNewGrade[style*="display: none"],
#SubjectTableNewPercentageAndCGPA12[style*="display: none"],
#SubjectTableNewGrade12[style*="display: none"],
.subject-table[style*="display: none"] {
  display: none !important;
}

/* Table Header */
#SubjectTableNewPercentageAndCGPA thead tr,
#SubjectTableNewGrade thead tr,
#TableNewPercentageAndCGPA thead tr,
#TableNewGrade thead tr,
#SubjectTableNewPercentageAndCGPA12 thead tr,
#SubjectTableNewGrade12 thead tr,
#cityPreferenceTable thead tr,
.subject-table thead tr {
  background-color: #142641 !important;
}

#SubjectTableNewPercentageAndCGPA thead th,
#SubjectTableNewGrade thead th,
#TableNewPercentageAndCGPA thead th,
#TableNewGrade thead th,
#SubjectTableNewPercentageAndCGPA12 thead th,
#SubjectTableNewGrade12 thead th,
#cityPreferenceTable thead th,
.subject-table thead th {
  background-color: #142641 !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px;
  padding: 12px 10px !important;
  text-align: center !important;
  border: none !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
}

#SubjectTableNewPercentageAndCGPA thead th:first-child,
#SubjectTableNewGrade thead th:first-child,
#SubjectTableNewPercentageAndCGPA12 thead th:first-child,
#SubjectTableNewGrade12 thead th:first-child,
#cityPreferenceTable thead th,
.subject-table thead th:first-child {
  text-align: left !important;
  padding-left: 14px !important;
}

#SubjectTableNewPercentageAndCGPA thead th:first-child,
#SubjectTableNewGrade thead th:first-child,
#SubjectTableNewPercentageAndCGPA12 thead th:first-child,
#SubjectTableNewGrade12 thead th:first-child,
#cityPreferenceTable thead th:first-child,
.subject-table thead th:first-child {
  padding-left: 18px !important;
}

/* Table Body Rows */
#SubjectTableNewPercentageAndCGPA tbody tr,
#SubjectTableNewGrade tbody tr,
#TableNewPercentageAndCGPA tbody tr,
#TableNewGrade tbody tr,
#SubjectTableNewPercentageAndCGPA12 tbody tr,
#SubjectTableNewGrade12 tbody tr,
#cityPreferenceTable tbody tr,
.subject-table tbody tr {
  background-color: #ffffff !important;
  transition: background-color 0.15s ease-in-out !important;
  height: auto !important;
}

#SubjectTableNewPercentageAndCGPA tbody tr:nth-child(even),
#SubjectTableNewGrade tbody tr:nth-child(even),
#TableNewPercentageAndCGPA tbody tr:nth-child(even),
#TableNewGrade tbody tr:nth-child(even),
#SubjectTableNewPercentageAndCGPA12 tbody tr:nth-child(even),
#cityPreferenceTable tbody tr:nth-child(even),
.subject-table tbody tr:nth-child(even) {
  background-color: #f8fafc !important;
}

#SubjectTableNewPercentageAndCGPA tbody tr:hover,
#SubjectTableNewGrade tbody tr:hover,
#TableNewPercentageAndCGPA tbody tr:hover,
#TableNewGrade tbody tr:hover,
#SubjectTableNewPercentageAndCGPA12 tbody tr:hover,
#cityPreferenceTable tbody tr:hover,
.subject-table tbody tr:hover {
  background-color: #edf5fd !important;
}

/* Table Cells */
#SubjectTableNewPercentageAndCGPA tbody th,
#SubjectTableNewPercentageAndCGPA tbody td,
#SubjectTableNewGrade tbody th,
#SubjectTableNewGrade tbody td,
#TableNewPercentageAndCGPA tbody th,
#TableNewPercentageAndCGPA tbody td,
#TableNewGrade tbody th,
#TableNewGrade tbody td,
#SubjectTableNewPercentageAndCGPA12 tbody th,
#SubjectTableNewPercentageAndCGPA12 tbody td,
#SubjectTableNewGrade12 tbody th,
#SubjectTableNewGrade12 tbody td,
#cityPreferenceTable tbody th,
#cityPreferenceTable tbody td,
.subject-table tbody th,
.subject-table tbody td {
  padding: 8px 6px !important;
  vertical-align: middle !important;
  border-top: 1px solid #e2e8f0 !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
  font-weight: 500 !important;
  text-align: center !important;
}

#SubjectTableNewPercentageAndCGPA tbody th:first-child,
#SubjectTableNewGrade tbody th:first-child,
#SubjectTableNewPercentageAndCGPA12 tbody th:first-child,
#SubjectTableNewGrade12 tbody th:first-child,
#cityPreferenceTable tbody td:first-child,
#cityPreferenceTable tbody th:first-child,
.subject-table tbody th:first-child,
.subject-table tbody td:first-child {
  text-align: left !important;
  padding-left: 14px !important;
}

/* Table Input Fields */
#SubjectTableNewPercentageAndCGPA input[type="text"],
#SubjectTableNewGrade input[type="text"],
#TableNewPercentageAndCGPA input[type="text"],
#TableNewGrade input[type="text"],
#SubjectTableNewPercentageAndCGPA12 input[type="text"],
#SubjectTableNewGrade12 input[type="text"],
#TableNewPercentageAndCGPA select,
#TableNewGrade select,
#cityPreferenceTable select,
.subject-table input[type="text"],
.subject-table select {
  height: 38px !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 7px !important;
  padding: 6px 10px !important;
  font-size: 13.5px !important;
  color: #1e293b !important;
  background-color: #ffffff !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04) !important;
  transition: all 0.2s ease-in-out !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

/* Table Input Placeholders */
.subject-table input::placeholder,
#SubjectTableNewPercentageAndCGPA input::placeholder,
#SubjectTableNewGrade input::placeholder,
#TableNewPercentageAndCGPA input::placeholder,
#TableNewGrade input::placeholder,
#SubjectTableNewPercentageAndCGPA12 input::placeholder,
#SubjectTableNewGrade12 input::placeholder {
  font-size: 12px !important;
  color: #8898aa !important;
  font-weight: 400 !important;
  opacity: 0.9 !important;
}

.subject-table input::-webkit-input-placeholder {
  font-size: 12px !important;
  color: #8898aa !important;
  font-weight: 400 !important;
}

.subject-table input::-moz-placeholder {
  font-size: 12px !important;
  color: #8898aa !important;
  font-weight: 400 !important;
}

.subject-table input:-ms-input-placeholder {
  font-size: 12px !important;
  color: #8898aa !important;
  font-weight: 400 !important;
}

#SubjectTableNewPercentageAndCGPA input[type="text"]:focus,
#SubjectTableNewGrade input[type="text"]:focus,
#TableNewPercentageAndCGPA input[type="text"]:focus,
#TableNewGrade input[type="text"]:focus,
#SubjectTableNewPercentageAndCGPA12 input[type="text"]:focus,
#SubjectTableNewGrade12 input[type="text"]:focus,
#TableNewPercentageAndCGPA select:focus,
#TableNewGrade select:focus,
#cityPreferenceTable select:focus,
.subject-table input[type="text"]:focus,
.subject-table select:focus {
  border-color: #0b94ef !important;
  box-shadow: 0 0 0 3px rgba(11, 148, 239, 0.18) !important;
  outline: none !important;
  background-color: #ffffff !important;
}

/* Center numbers in Obtained Marks and Maximum Marks */
#SubjectTableNewPercentageAndCGPA tbody th:nth-child(2) input[type="text"],
#SubjectTableNewPercentageAndCGPA tbody th:nth-child(3) input[type="text"],
#SubjectTableNewGrade tbody th:nth-child(2) input[type="text"],
#SubjectTableNewPercentageAndCGPA12 tbody th:nth-child(2) input[type="text"],
#SubjectTableNewPercentageAndCGPA12 tbody th:nth-child(3) input[type="text"],
#SubjectTableNewGrade12 tbody th:nth-child(2) input[type="text"] {
  text-align: center !important;
  font-weight: 600 !important;
}

/* Left-align Subject Name text */
#SubjectTableNewPercentageAndCGPA tbody th:first-child input[type="text"],
#SubjectTableNewGrade tbody th:first-child input[type="text"],
#SubjectTableNewPercentageAndCGPA12 tbody th:first-child input[type="text"],
#SubjectTableNewGrade12 tbody th:first-child input[type="text"] {
  text-align: left !important;
  font-weight: 500 !important;
}

/* Delete Trash Button */
#SubjectTableNewPercentageAndCGPA .fa-trash,
#SubjectTableNewGrade .fa-trash,
#TableNewPercentageAndCGPA .fa-trash,
#TableNewGrade .fa-trash,
#SubjectTableNewPercentageAndCGPA12 .fa-trash,
#SubjectTableNewGrade12 .fa-trash,
.subject-table .fa-trash {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 30px !important;
  border-radius: 8px !important;
  background-color: #fee2e2 !important;
  color: #dc2626 !important;
  cursor: pointer !important;
  font-size: 14px !important;
  transition: all 0.2s ease-in-out !important;
  margin: 0 auto !important;
  box-shadow: 0 1px 3px rgba(220, 38, 38, 0.12) !important;
}

#SubjectTableNewPercentageAndCGPA .fa-trash:hover,
#SubjectTableNewGrade .fa-trash:hover,
#TableNewPercentageAndCGPA .fa-trash:hover,
#TableNewGrade .fa-trash:hover,
#SubjectTableNewPercentageAndCGPA12 .fa-trash:hover,
#SubjectTableNewGrade12 .fa-trash:hover,
.subject-table .fa-trash:hover {
  background-color: #dc2626 !important;
  color: #ffffff !important;
  transform: scale(1.1) !important;
  box-shadow: 0 3px 8px rgba(220, 38, 38, 0.3) !important;
}

/* Inline Question Row (Diploma & ITI) */
.qual-question-inline-row {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  margin-bottom: 1.15rem !important;
}

.qual-inline-question-label {
  margin-bottom: 0 !important;
  min-height: auto !important;
  display: inline-block !important;
  flex: 0 1 auto !important;
  min-width: 0 !important;
  line-height: 1.35 !important;
}

.qual-inline-radio-wrap {
  position: relative !important;
  flex: 0 0 auto !important;
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  max-width: fit-content !important;
  margin-bottom: 0 !important;
}

#isPassedDiplomaIdError,
#isPassedItiIdError {
  position: absolute !important;
  top: 100% !important;
  right: 0 !important;
  left: auto !important;
  text-align: right !important;
  margin-top: 3px !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: #ef4444 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  pointer-events: none !important;
}

/* =========================================================
   Responsive Styling for Qualification Details (Mobile & Tablet)
   ========================================================= */

/* Tablet & Mobile Screens (<= 991px) */
@media screen and (max-width: 991px) {
  /* Tabs: Equal-width horizontal tabs fitted to mobile & tablet without visible scrollbar */
  nav > .nav.nav-tabs,
  .nav-tabs.nav-fill {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    padding-bottom: 0 !important;
    background: #272e38 !important;
    border-radius: 4px 4px 0 0 !important;
  }

  nav > .nav.nav-tabs::-webkit-scrollbar,
  .nav-tabs.nav-fill::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  nav > div a.nav-item.nav-link,
  .nav-tabs.nav-fill .nav-item {
    flex: 1 1 0% !important;
    width: auto !important;
    min-width: 0 !important;
    white-space: normal !important;
    padding: 9px 8px !important;
    font-size: 13px !important;
    text-align: center !important;
    border-bottom: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.25 !important;
  }

  nav > div a.nav-item.nav-link strong,
  .nav-tabs.nav-fill .nav-item strong {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    line-height: 1.25 !important;
  }

  nav > div a.nav-item.nav-link.active:after,
  .nav-tabs.nav-fill .nav-item.active:after {
    display: none !important;
  }

  .tab-content {
    padding: 16px 12px !important;
    border-top: 4px solid #97c9ed !important;
  }

  .card-body {
    padding: 0.85rem 0.6rem !important;
  }

  /* Radio wrap: maintain single line */
  .qual-radio-wrap-below {
    display: flex !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    align-items: center !important;
    min-height: 38px !important;
    padding: 0 8px !important;
  }

  .qual-radio-wrap-below .form-check-inline {
    margin-right: 8px !important;
  }

  .qual-radio-wrap-below .form-check-input {
    margin-right: 4px !important;
  }

  /* Form inputs: stretch to fill column evenly on tablet and mobile */
  #matriculationSubjectMarksId,
  #intermediateSubjectMarksId,
  .qual-date-wrap,
  .qual-date-wrap .position-relative,
  .has-icon-right .position-relative {
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* Mobile Screens (<= 767px) */
@media screen and (max-width: 767px) {
  nav > div a.nav-item.nav-link,
  .nav-tabs.nav-fill .nav-item {
    padding: 9px 13px !important;
    font-size: 12.5px !important;
  }

  .tab-content {
    padding: 14px 8px !important;
  }

  /* Form containers: reduce side padding to maximize screen width */
  form#qualification8thForm,
  form#qualification10thForm,
  form#qualification12thForm,
  form#qualificationDiplomaForm,
  form#qualificationItiForm {
    padding-left: 2px !important;
    padding-right: 2px !important;
  }

  /* Subject Tables: smooth horizontal scroll on small phones */
  .table-responsive {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    margin-bottom: 0.5rem !important;
    width: 100% !important;
  }

  .table-responsive::-webkit-scrollbar {
    height: 5px;
  }

  .table-responsive::-webkit-scrollbar-thumb {
    background: #97c9ed;
    border-radius: 4px;
  }

  .subject-table {
    min-width: 530px !important;
    width: 100% !important;
  }

  #TableNewPercentageAndCGPA,
  #TableNewGrade {
    min-width: 600px !important;
    width: 100% !important;
  }

  .subject-table thead th {
    padding: 8px 6px !important;
    font-size: 12.5px !important;
    white-space: nowrap !important;
  }

  .subject-table tbody th,
  .subject-table tbody td {
    padding: 6px 4px !important;
  }

  .subject-table input[type="text"],
  .subject-table select {
    height: 34px !important;
    font-size: 13px !important;
    padding: 4px 8px !important;
  }

  .subject-table .fa-trash {
    width: 28px !important;
    height: 28px !important;
    font-size: 12px !important;
  }

  /* Form Labels & Spacing */
  .qual-field-top-label {
    font-size: 0.73rem !important;
    margin-bottom: 4px !important;
    display: block !important;
  }

  .qualification-notes .note-item {
    font-size: 12.5px !important;
  }

  /* Inline Question Row (allow wrap on mobile phones) */
  .qual-question-inline-row {
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  .qual-inline-question-label {
    flex: 0 0 100% !important;
    width: 100% !important;
  }

  .qual-inline-radio-wrap {
    width: auto !important;
  }
}

/* Extra Small Phones (<= 576px) */
@media screen and (max-width: 576px) {
  .qual-field-top-label {
    min-height: auto !important;
  }

  /* Action buttons row (Add Subject, Save, Reset) */
  .qual-action-buttons-row {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
  }

  .qual-action-buttons-row .qual-add-btn-wrap {
    width: 100% !important;
    text-align: center !important;
    flex: none !important;
  }

  .qual-action-buttons-row #addSubjectForEdit,
  .qual-action-buttons-row #addYearsForEdit {
    width: 100% !important;
    max-width: 100% !important;
  }

  .qual-action-buttons-row .qual-save-reset-wrap {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    gap: 10px !important;
    flex: none !important;
  }

  .qual-action-buttons-row button[type="submit"],
  .qual-action-buttons-row button[type="reset"],
  .qual-iti-action-row button[type="submit"],
  .qual-iti-action-row button[type="reset"] {
    flex: 1 1 120px !important;
    max-width: 160px !important;
    min-width: 110px !important;
    margin-right: 0 !important;
  }

  .qual-iti-action-row {
    gap: 10px !important;
  }
}

/* Global Modern Notes Banner */
.qualification-notes {
  background: #f0f7ff !important;
  border: 1px solid #bfdbfe !important;
  border-left: 4px solid #2563eb !important;
  border-radius: 6px !important;
  padding: 8px 14px !important;
  margin-bottom: 0.85rem !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

.qualification-notes .note-item {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #1e3a8a !important;
  margin-bottom: 4px !important;
  line-height: 1.4 !important;
  font-style: normal !important;
}

.qualification-notes .note-item:last-child {
  margin-bottom: 0 !important;
}

.qualification-notes .note-item .note-blue {
  color: #1d4ed8 !important;
  font-weight: 500 !important;
}

.qualification-notes.note-danger {
  background: #fef2f2 !important;
  border: 1px solid #fecaca !important;
  border-left: 4px solid #dc2626 !important;
}

.qualification-notes.note-danger .note-item {
  color: #991b1b !important;
}

.qualification-notes .note-item .note-red,
.qualification-notes.note-danger .note-item .note-red,
.qualification-notes.note-danger .note-item .note-blue {
  color: #dc2626 !important;
  font-weight: 500 !important;
}

/* ==========================================================================
   Modern Datepicker & Calendar UI (bootstrap-datepicker / starDatepicker)
   ========================================================================== */
body .datepicker.datepicker-dropdown,
body .datepicker.dropdown-menu {
  width: 270px !important;
  max-width: 270px !important;
  min-width: 270px !important;
  box-sizing: border-box !important;
  padding: 12px 14px !important;
  border-radius: 14px !important;
  border: 1px solid #e2e8f0 !important;
  background: #ffffff !important;
  box-shadow: 0 12px 32px -4px rgba(13, 25, 41, 0.16), 0 4px 12px -2px rgba(13, 25, 41, 0.08) !important;
  font-family: inherit !important;
  z-index: 1060 !important;
}

body .datepicker-dropdown:before {
  border-bottom-color: rgba(226, 232, 240, 0.8) !important;
}

body .datepicker-dropdown:after {
  border-bottom-color: #ffffff !important;
}

/* Ensure table inside popup spans 100% */
body .datepicker table {
  table-layout: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  border-collapse: collapse !important;
}

body .datepicker-days table {
  table-layout: fixed !important;
}

body .datepicker-days table tr td.day,
body .datepicker-days table thead tr th.dow {
  width: 14.285% !important;
  text-align: center !important;
}

/* Header: switch, prev, next */
body .datepicker table thead tr:first-child th {
  padding: 4px 2px 10px 2px !important;
  text-align: center !important;
}

body .datepicker .datepicker-switch {
  text-align: center !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  border-radius: 8px !important;
  padding: 6px 12px !important;
  transition: all 0.2s ease !important;
}

body .datepicker .datepicker-switch:hover {
  background: #f1f5f9 !important;
  color: #1e3a8a !important;
}

body .datepicker .prev,
body .datepicker .next {
  width: 32px !important;
  height: 32px !important;
  line-height: 28px !important;
  font-size: 18px !important;
  font-weight: bold !important;
  color: #475569 !important;
  border-radius: 8px !important;
  transition: all 0.2s ease !important;
}

body .datepicker .prev:hover,
body .datepicker .next:hover {
  background: #f1f5f9 !important;
  color: #1e3a8a !important;
}

/* Days / DOW */
body .datepicker table thead tr:last-child th.dow {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #64748b !important;
  text-transform: uppercase !important;
  padding: 6px 0 !important;
  border-bottom: 1px solid #f1f5f9 !important;
}

body .datepicker table tr td.day {
  width: 34px !important;
  height: 34px !important;
  line-height: 34px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #1e293b !important;
  border-radius: 8px !important;
  transition: all 0.15s ease !important;
  padding: 0 !important;
}

body .datepicker table tr td.day:hover,
body .datepicker table tr td.day.focused {
  background: #eff6ff !important;
  color: #1d4ed8 !important;
}

body .datepicker table tr td.day.old,
body .datepicker table tr td.day.new {
  color: #94a3b8 !important;
  background: transparent !important;
}

body .datepicker table tr td.day.disabled,
body .datepicker table tr td.day.disabled:hover,
body .datepicker table tr td.day.disabled.focused,
body .datepicker table tr td.day.old.disabled,
body .datepicker table tr td.day.old.disabled:hover,
body .datepicker table tr td.day.old.disabled.focused,
body .datepicker table tr td.day.new.disabled,
body .datepicker table tr td.day.new.disabled:hover,
body .datepicker table tr td.day.new.disabled.focused,
body .datepicker table tr td.day.disabled-date,
body .datepicker table tr td.day.disabled-date:hover,
body .datepicker table tr td.day.disabled-date.focused {
  color: #cbd5e1 !important;
  background: transparent !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
  transform: none !important;
}

body .datepicker .prev.disabled,
body .datepicker .prev.disabled:hover,
body .datepicker .next.disabled,
body .datepicker .next.disabled:hover {
  color: #cbd5e1 !important;
  background: transparent !important;
  cursor: not-allowed !important;
}

body .datepicker table tr td.day.today {
  background: #fef9c3 !important;
  color: #854d0e !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
}

body .datepicker table tr td.day.active,
body .datepicker table tr td.day.active:hover {
  background: linear-gradient(135deg, #1d4ed8 0%, #1e3a8a 100%) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 10px rgba(29, 78, 216, 0.35) !important;
  text-shadow: none !important;
}

/* Months & Years Grid */
body .datepicker table tr td {
  padding: 4px 0 !important;
  text-align: center !important;
  border: none !important;
}

body .datepicker table tr td span {
  display: inline-block !important;
  width: 23% !important;
  height: 44px !important;
  line-height: 44px !important;
  margin: 3px 1% !important;
  border-radius: 9px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #334155 !important;
  text-align: center !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  vertical-align: middle !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

body .datepicker table tr td span:hover,
body .datepicker table tr td span.focused {
  background: #eff6ff !important;
  color: #1d4ed8 !important;
  transform: translateY(-1px) !important;
}

body .datepicker table tr td span.old,
body .datepicker table tr td span.new {
  color: #94a3b8 !important;
  font-weight: 400 !important;
}

body .datepicker table tr td span.disabled,
body .datepicker table tr td span.disabled:hover {
  color: #cbd5e1 !important;
  background: transparent !important;
  cursor: not-allowed !important;
  transform: none !important;
}

body .datepicker table tr td span.active,
body .datepicker table tr td span.active:hover,
body .datepicker table tr td span.active:active {
  background: linear-gradient(135deg, #1d4ed8 0%, #1e3a8a 100%) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  border-radius: 9px !important;
  box-shadow: 0 4px 12px rgba(29, 78, 216, 0.38) !important;
  text-shadow: none !important;
  transform: translateY(-1px) !important;
}

/* Clear in Footer: Proper table elements so colspan="7" spans all columns */
body .datepicker table tfoot {
  display: table-footer-group !important;
  width: 100% !important;
}

body .datepicker table tfoot tr {
  display: table-row !important;
  width: 100% !important;
}

body .datepicker table tfoot tr:first-child,
body .datepicker table tfoot tr:has(.today) {
  display: none !important;
}

body .datepicker table tfoot tr th.today {
  display: none !important;
}

body .datepicker table tfoot tr th.clear {
  display: table-cell !important;
  width: 100% !important;
  text-align: center !important;
  vertical-align: middle !important;
  padding: 10px 0 4px 0 !important;
  border-top: 1px solid #f1f5f9 !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
  cursor: pointer !important;
}

body .datepicker table tfoot tr th.clear .btn-clear {
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #dc2626 !important;
  background: #fef2f2 !important;
  border: 1px solid #fecaca !important;
  border-radius: 8px !important;
  padding: 6px 24px !important;
  margin: 0 auto !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

body .datepicker table tfoot tr th.clear .btn-clear:hover {
  background: #fee2e2 !important;
  color: #b91c1c !important;
  border-color: #fca5a5 !important;
  transform: translateY(-1px) !important;
}

/* Fallback if span.btn-clear is not yet rendered */
body .datepicker table tfoot tr th.clear:not(:has(.btn-clear)) {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #dc2626 !important;
  background: transparent !important;
}

/* ==========================================================================
   Read-only / Display-only Toggle Switch (Age Relaxation & Fee Waiver)
   ========================================================================== */
.qual-radio-wrap-below.qual-switch-readonly {
  pointer-events: none !important;
  user-select: none !important;
  cursor: default !important;
  background: #f8fafc !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  height: 38px !important;
  min-height: 38px !important;
  width: fit-content !important;
  min-width: 115px !important;
  max-width: 100% !important;
  padding: 0 12px !important;
  box-sizing: border-box !important;
}

.qual-radio-wrap-below.qual-switch-readonly:hover {
  border-color: #cbd5e1 !important;
}

.qual-radio-wrap-below.qual-switch-readonly * {
  pointer-events: none !important;
  cursor: default !important;
}

/* Align NO label on the exact same vertical line */
.qual-radio-wrap-below.qual-switch-readonly .qual-switch-label-no {
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1 !important;
  font-size: 0.74rem !important;
  font-weight: 700 !important;
  margin: 0 8px 0 0 !important;
  height: 100% !important;
  vertical-align: middle !important;
}

/* Align custom-switch container */
.qual-radio-wrap-below.qual-switch-readonly .custom-control.custom-switch {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 0 !important;
  height: 100% !important;
  padding-left: 2.25rem !important;
  margin: 0 !important;
  vertical-align: middle !important;
}

/* Align YES label on the exact same vertical line */
.qual-radio-wrap-below.qual-switch-readonly .custom-switch .custom-control-label {
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1 !important;
  font-size: 0.74rem !important;
  margin: 0 !important;
  height: 100% !important;
  vertical-align: middle !important;
}

/* Center toggle pill track perfectly on vertical midline */
.qual-radio-wrap-below.qual-switch-readonly .custom-switch .custom-control-label::before {
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin-top: 0 !important;
}

/* Center toggle knob perfectly on vertical midline */
.qual-radio-wrap-below.qual-switch-readonly .custom-switch .custom-control-label::after {
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin-top: 0 !important;
}

/* Active checked styles */
.qual-radio-wrap-below.qual-switch-readonly .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before,
.qual-radio-wrap-below.qual-switch-readonly .custom-switch .custom-control-input:checked ~ .custom-control-label::before {
  background-color: #2563eb !important;
  border-color: #2563eb !important;
  opacity: 1 !important;
}

.qual-radio-wrap-below.qual-switch-readonly .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::after,
.qual-radio-wrap-below.qual-switch-readonly .custom-switch .custom-control-input:checked ~ .custom-control-label::after {
  background-color: #ffffff !important;
  transform: translateY(-50%) translateX(0.75rem) !important;
}

.qual-radio-wrap-below.qual-switch-readonly .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label,
.qual-radio-wrap-below.qual-switch-readonly .custom-switch .custom-control-input:checked ~ .custom-control-label {
  color: #1e293b !important;
  font-weight: 700 !important;
}

/* Unchecked styles */
.qual-radio-wrap-below.qual-switch-readonly .custom-switch .custom-control-input:disabled:not(:checked) ~ .custom-control-label::before,
.qual-radio-wrap-below.qual-switch-readonly .custom-switch .custom-control-input:not(:checked) ~ .custom-control-label::before {
  background-color: #e2e8f0 !important;
  border-color: #cbd5e1 !important;
  opacity: 1 !important;
}

.qual-radio-wrap-below.qual-switch-readonly .custom-switch .custom-control-input:disabled:not(:checked) ~ .custom-control-label::after,
.qual-radio-wrap-below.qual-switch-readonly .custom-switch .custom-control-input:not(:checked) ~ .custom-control-label::after {
  background-color: #94a3b8 !important;
  transform: translateY(-50%) translateX(0) !important;
}

.qual-radio-wrap-below.qual-switch-readonly .custom-switch .custom-control-input:disabled:not(:checked) ~ .custom-control-label,
.qual-radio-wrap-below.qual-switch-readonly .custom-switch .custom-control-input:not(:checked) ~ .custom-control-label {
  color: #64748b !important;
  font-weight: 600 !important;
}

/* Dynamic text color for NO based on checked status */
.qual-radio-wrap-below.qual-switch-readonly:has(.custom-control-input:checked) .qual-switch-label-no {
  color: #94a3b8 !important;
  font-weight: 600 !important;
}

.qual-radio-wrap-below.qual-switch-readonly:has(.custom-control-input:not(:checked)) .qual-switch-label-no {
  color: #1e293b !important;
  font-weight: 700 !important;
}

/* ==========================================================================
   Modern File Input Styling (Replaces outdated default browser choose file)
   ========================================================================== */
.form-control-file,
input[type="file"].form-control-file,
.upload-card-box input[type="file"] {
  display: block;
  width: 100%;
  padding: 4px 6px;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #334155;
  background-color: #f8fafc;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.form-control-file:hover,
input[type="file"].form-control-file:hover,
.upload-card-box input[type="file"]:hover {
  border-color: #94a3b8;
  background-color: #ffffff;
}

.form-control-file:focus,
input[type="file"].form-control-file:focus,
.upload-card-box input[type="file"]:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.18);
  background-color: #ffffff;
}

.form-control-file::file-selector-button,
.form-control-file::-webkit-file-upload-button,
input[type="file"]::file-selector-button,
input[type="file"]::-webkit-file-upload-button {
  padding: 5px 12px;
  margin-right: 10px;
  border: none;
  border-radius: 4px;
  background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%);
  color: #ffffff;
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 0.2px;
  cursor: pointer;
  box-shadow: 0 1px 3px rgba(37, 99, 235, 0.25);
  transition: all 0.2s ease;
}

.form-control-file::file-selector-button:hover,
.form-control-file::-webkit-file-upload-button:hover,
input[type="file"]::file-selector-button:hover,
input[type="file"]::-webkit-file-upload-button:hover {
  background: linear-gradient(135deg, #1e40af 0%, #1d4ed8 100%);
  box-shadow: 0 2px 6px rgba(37, 99, 235, 0.35);
  transform: translateY(-1px);
}

/* Success state for #submit-confirm (e.g. Additional Details save) */
#submit-confirm.modal-success .modal-content,
#submit-confirm:has(#alert-message:is([style*="color: green"], [style*="color:green"])) .modal-content {
  border-top: 3.5px solid #10b981 !important;
}

#submit-confirm.modal-success .modal-header,
#submit-confirm:has(#alert-message:is([style*="color: green"], [style*="color:green"])) .modal-header {
  background: linear-gradient(135deg, #064e3b 0%, #065f46 50%, #047857 100%) !important;
}
