:root {
  /* Colors */
  --clr-secondary: #8A98BA;
  --clr-gray: #999;
  --clr-white: #fff;
  --clr-primary-dark: #0d2b61;
  --clr-success: #27C88D;
  --clr-warning: #F97795;
  --clr-info: #21A4D4;
  --clr-drop-border: #bcd0ea;
  --clr-drop-bg: #f5faff;
  --clr-drop-hover: #90c2ff;
  --clr-muted-text: #6c757d;
  --clr-link-blue: #0d6efd;
  --clr-primary: #5D7AC0;

  /* Additional colors */
  --primary-blue: #0F265C;
  --secondary-blue: #5D7AC0;
  --border-white: #fff;
  --border-gray: #8A98BA;

  /* Status Colors */
  --clr-fc-bg: #d0f2ed;
  --clr-pc-bg: #fdf4df;
  --clr-nc-bg: #fde5e5;
  --clr-na-bg: #ececec;

  --clr-green-light: #13BFA6;
  --clr-green-bg: #E7F7F4;
  --clr-red: #dc3545;
  --clr-red-bg: #f7e7e7;
  --clr-score-bg: #FCBACA;
  --clr-yellow: #F4C95D;
}

/* Body padding to avoid navbar overlap */
body {
  padding-top: 3.5rem;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

/* Navbar background */
.navbar-custom {
  background-color: var(--primary-blue) !important;
}

/* Compliance count boxes */
.compliance-box {
  background-color: var(--primary-blue);
  border-right: 1px solid var(--border-white);
  color: var(--clr-white);
  padding: 1rem 0;
  text-align: center;
}

.compliance-box.first {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}

.compliance-box.last {
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  border-right: none;
}

/* Card inner box */
.card-inner-box {
  background-color: var(--secondary-blue);
  border-radius: 10px;
  padding: 1rem;
  color: var(--clr-white);
}

/* Stepper container */
.stepper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  max-width: 800px;
}

/* Stepper line */
.stepper::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 2px;
  background-color: var(--clr-secondary);
  z-index: 0;
}

/* Step circles */
.step {
  position: relative;
  z-index: 1;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  text-decoration: none;
  border: 2px solid var(--clr-secondary);
  color: var(--clr-gray);
  background-color: var(--clr-white);
  cursor: pointer;
  transition: background-color 0.3s, border-color 0.3s, color 0.3s;
}

.step:target,
.step.active {
  background-color: var(--clr-primary-dark);
  border-color: var(--clr-primary-dark);
  color: var(--clr-white);
}

.step.saved {
  border-color: var(--clr-success);
  color: var(--clr-success);
}

.step.saved.active {
  background-color: var(--clr-success);
  color: var(--clr-white);
}

.step.raised {
  border-color: var(--clr-warning);
  color: var(--clr-warning);
}

.step.raised.active {
  background-color: var(--clr-warning);
  color: var(--clr-white);
}

.step.corrective {
  border-color: var(--clr-info);
  color: var(--clr-info);
}

.step.corrective.active {
  background-color: var(--clr-info);
  color: var(--clr-white);
}

/* Step content */
.step-content {
  display: none;
  margin-top: 20px;
}

.step-content:target {
  display: block;
}

.total-score {
  /* position: absolute;
  top: -30px;
  right: 40px; */
  background: var(--clr-score-bg) !important;
  padding: 7px 11px;
  border-radius: 5px;
  border-color: var(--clr-score-bg);
  cursor: default !important;
}

.total-score h5, .total-score svg {
  color: #000000;
  fill: #000000 !important;
}


/* File drop area */
.file-drop-area {
  border: 2px dashed var(--clr-drop-border);
  background-color: var(--clr-drop-bg);
  padding: 2rem;
  text-align: center;
  border-radius: 0.5rem;
  cursor: pointer;
  transition: border-color 0.3s;
}

.file-drop-area:hover {
  border-color: var(--clr-drop-hover);
}

.file-drop-area input[type="file"] {
  display: none;
}

.file-drop-text {
  font-size: 1.2rem;
  color: var(--clr-muted-text);
}

.file-drop-text a {
  color: var(--clr-link-blue);
  text-decoration: underline;
  cursor: pointer;
}
.step.active {
    
    background-color: #0F265C;
    font-weight: bold;
   
}

/* Buttons checked/active state */
.btn-check:checked+.btn,
.btn.active,
.btn.show,
.btn:first-child:active,
:not(.btn-check)+.btn:active {
  color: var(--clr-white);
  background-color: var(--clr-primary);
  border-color: var(--clr-primary);
}

.btn-check:checked+.btn svg {
  fill: var(--clr-white);
}

/* Accordion styles */
.accordion-item {
  background-color: var(--clr-white) !important;
}

.accordion-button::after {
  order: -1;
  margin-right: 0.5rem;
  margin-left: 10;
}

.accordion-button:not(.collapsed) {
  background-color: var(--clr-white) !important;
  color: var(--clr-primary);
}

/* Checked btn-check override */
.btn-check:checked+.btn {
  background-color: var(--primary-blue);
  color: var(--clr-white);
  border-color: var(--primary-blue);
}

/* Save & Next primary button */
.btn-save-next {
  background-color: var(--secondary-blue);
  border: none;
  color: var(--clr-white);
}

/* Textarea border */
textarea.form-control-custom {
  border: 1px solid var(--border-gray);
  resize: vertical;
  min-height: 100px;
  padding: 0.5rem;
}

.ql-close-btn {
  display: none;
}


@media (max-width: 1199px) {
  .question-library {
    position: absolute;
    background: #fff;
    z-index: 99;
    left: -1200px;
    transition: left 0.3s ease-in-out;
    top: 60px;
  }

  .question-library.show {
    left: 0;
  }

  .ql-show-hide-btn {
    position: absolute;
    background-color: var(--secondary-blue);
  }

    .ql-close-btn {
    display: block;
    position: absolute;
    right: -10px;
    background: #fff;
    padding: 5px;
    border-radius: 50px;
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  }

  .backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    /* 50% transparent black */
    z-index: 98;
    /* Just behind the sidebar */
    display: none;
  }

  .backdrop.show {
    display: block;
  }
}
/* Main row container: make it a flex row */
.custom-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 10px;
    position: relative;
}

/* Center content */
.custom-center {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    font-size: 1.2rem;
    font-weight: 600;
    color: #333;
}

/* Right-aligned button */
.custom-button {
    margin-left: auto;
    padding: 7px 20px;
    font-size: 1rem;
    border-radius: 50px;
    background-color: #218539;
    color: #fff;
    border: none;
    transition: background-color 0.3s ease-in-out;
    display: none; /* or display: block; when needed */
}

.custom-button:hover {
    background-color: #218838;
}

.selected-code {
      background-color: rgb(232 232 232);
      padding: 2px 6px;
      border-radius: 3px;
  }

  .dash-separator {
      margin-top: 5px;
      font-size: 20px;
      color: #333;
  }
  .question-number-circle {
      width: 35px;
      height: 35px;
      border-radius: 50%;
      background-color: #6c63ff;
      color: white;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: bold;
      font-size: 16px;
  }

  .question-box {
      display: inline-block;
      padding: 6px 12px;
      margin: 4px 0;
      background-color: #eef1f8;
      border: 1px solid #ccc;
      border-radius: 6px;
      text-decoration: none;
      color: #333;
  }

  .question-box:hover {
      background-color: #d9e4ff;
      transform: scale(1.02);
      font-weight: 500;
      color: #000000;
  }
    #question-info {
    display: flex;
    align-items: center;
    gap: 0; /* ensures no space between elements */
  }

  .step {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    /* border: 2px solid #4CAF50; */
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    position: relative;
  }

  .dash-separator {
    display: inline-block;
    width: 24px;       /* adjust dash length */
    height: 2px;       /* make it look like a connector */
    background-color: #999;
    margin: 0;         /* remove extra space */
    padding: 0;
  }

  .question-bubble {
      display: inline-block;
      padding: 5px 12px;
      border-radius: 50%;
      color: white;
      font-weight: bold;
      background-color: red; /* default: not answered */
      cursor: pointer;
      margin-right: 5px;
  }

  .question-bubble.completed {
      background-color: green;
  }

  .question-bubble.active {
      background-color: #3a4b95;
  }

  .question-bubble:hover {
      background-color: #3a4b95;
  }

  a {
      text-decoration: none !important;
  }
  .tree-container a.active-question {
      font-weight: bold;
      color: green !important;
  }
  .tree-container {
      font-weight: bold;
      color: rgb(0, 0, 0) !important;
  }
  .tree-container span.active-code {
      font-weight: bold;
      background-color: #d3e0ff;
      padding: 2px 6px;
      border-radius: 4px;
  }

  .circle {
      display: inline-block;
      width: 25px;
      height: 25px;
      border-radius: 50%;
      background-color: red;
      color: white;
      text-align: center;
      line-height: 25px;
      margin-right: 5px;
  }

  .circle.completed {
      background-color: green;
  }

  .tree-container {
      max-height: 600px;
      overflow-y: auto;
      border: 1px solid #ddd;
      padding: 10px;
      background-color: #f9f9f9;
  }

.step.completed {
  background-color: #27C88D; /* Bootstrap danger red */
  color: white;
  border-color: #27C88D;
}

/* 30-05-2025 */

.reel-accordion .accordion-button::after{
margin-left: 0 !important;
}



.fc-card {
  background-color: #d0f2ed;
}

.pc-card {
  background-color: #fdf4df;
}

.nc-card {
  background-color:#fde5e5;
}

.na-card {
  background-color: #ececec;
}

.custom-progress{
  height: 3px !important;
}

.chart-parent-div{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100px;
  height: 100px;
}

.custom-card-btn .card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  /* height: 100%; */
  border: none;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.custom-card-btn.grn-btn .card {
  background-color: var(--clr-green-bg);
}

.custom-card-btn.grn-btn:hover .card {
  box-shadow: 0 .5rem 1rem rgba(0, 0, 0, 0.15);
  transform: translateY(-2px); /* optional lift effect */
}



.custom-card-btn.grn-btn .card svg,
.custom-card-btn.grn-btn .card h4,
.custom-card-btn.grn-btn .card h5 {
  fill: var(--clr-green-light);
  color: var(--clr-green-light);
}

.custom-card-btn.card-btn-new .card {
    background-color: #e7edf8 !important ;
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;
    color: var(--clr-primary) !important;
}

.custom-card-btn.card-btn-new:hover .card {
 box-shadow: 0 .5rem 1rem rgba(0, 0, 0, 0.15);
  transform: translateY(-2px); /* optional lift effect */
}

.custom-card-btn.card-btn-new .card svg {
    fill: var(--clr-primary) !important;
}

.custom-card-btn.red-btn .card {
  background-color: var(--clr-red-bg);
}

.custom-card-btn.red-btn .card svg,
.custom-card-btn.red-btn .card h4,
.custom-card-btn.red-btn .card h5 {
  fill: var(--clr-red);
  color: var(--clr-red);
}

/* loader */
.loader-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5); /* Backdrop */
    z-index: 1050; /* Above all content */
    display: flex;
    justify-content: center;
    align-items: center;
}

.loader-img {
    width: 80px; /* adjust as needed */
    height: auto;
}

@media (max-width: 576px) {
  .total-score {
    right: 5px;  
  }
}


.custom-shadow-sm{
  box-shadow: 0 0 0.5rem rgb(0 0 0 / 10%) !important;
}


.code-complete h6 {
    color: green;
    font-weight: bold;
}
.code-complete a {
    color: green;
    font-weight: bold;
    margin-left:48px;
}
.question-link.code-complete {
    color: green;
    margin-left:48px;
}
.code-appeal {
    color:#F97795;
}

.btn-outline-custom {
  border-color: var(--clr-primary) !important;
  color: var(--clr-primary) !important;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.btn-outline-custom svg {
  fill: var(--clr-primary) !important;
  transition: fill 0.3s ease;
}

.btn-outline-custom:hover {
  background-color: var(--clr-primary) !important;
  color: #fff !important;
}

.btn-outline-custom:hover svg {
  fill: #fff !important;
}

/* 25-6-2025 */

.listing-dashboard .listing-card-header{
  background-color: #e8eef7 !important;
}

.listing-dashboard .listing-card-header .list-group .list-group-item, .listing-dashboard .listing-card-header .list-group .list-group-item svg{
  background-color: transparent !important;
  color: var(--primary-blue);
  fill: var(--primary-blue);
}

/* .listing-dashboard .listing-card-body{
  background-color: #f8fbff !important;
}

.listing-dashboard .listing-card-footer{
  background-color: #f8fbff !important;
} */

/* 3-7-2025 */

.btn-main-custom {
  background-color: var(--clr-primary) !important;
  color: var(--clr-white) !important;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.btn-main-custom svg {
  fill: var(--clr-white) !important;
  transition: fill 0.3s ease;
}

.btn-main-custom:hover {
  border-color: var(--clr-primary) !important;
  background-color: var(--clr-white) !important;
  color: var(--clr-primary) !important;
}

.btn-main-custom:hover svg {
  fill: var(--clr-primary) !important;
}


.level-bg{
  background-color: aliceblue;
  border: 1px solid #5d7ac0;
  color: #5d7ac0;
  border-radius: 15px;
}


/* 9-7-2025 */

@keyframes pulseGlow {
  0% {
    box-shadow: 0 0 0px rgba(255, 255, 255, 0.4);
    transform: scale(1);
  }
  50% {
    box-shadow: 0 0 12px rgba(255, 255, 255, 0.7);
    transform: scale(1.03);
  }
  100% {
    box-shadow: 0 0 0px rgba(255, 255, 255, 0.4);
    transform: scale(1);
  }
}
 
.btn-download-custom {
  background-color: #5d7ac0 !important;
  color: #fff !important;
  transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease;
  animation: pulseGlow 2s infinite;
  border-radius: 8px;
}
 
.btn-download-custom svg {
  fill: #fff !important;
  transition: fill 0.3s ease;
}
 
 
.btn-download-custom:hover {
  border-color: #5d7ac0 !important;
  background-color: #fff !important;
  color: #5d7ac0 !important;
}
 
.btn-download-custom:hover svg {
  fill: #5d7ac0 !important;
}

/* 15-7-2025 */

.pending{
    background-color: var(--clr-red )!important;
    color: var(--clr-white) !important;
}

.completed{
    background-color: var(--clr-success )!important;
    color: var(--clr-white) !important;
}

.blink-bg {
    animation: wavePulse 1.5s infinite ease-in-out;
    display: inline-block;
  }

  @keyframes wavePulse {
    0%, 100% {
      transform: scale(1);
    }
    50% {
      transform: scale(1.1); /* Slight zoom */
    }
  }