/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *
 *= require_tree .
 *= require_self
 */
/* START normalize */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

@import url("/assets/components/footer-cf548c09.css");
@import url("/assets/components/edit_preferences-d13dfb64.css");
@import url("/assets/components/welcome_popup-7c8f54c5.css");
@import url("/assets/components/confirmation_pages-709de69c.css");
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
}

html, body {
  height: 100%;
  padding: 0;
  background-color: #E2E8F3 !important;
  overflow-x: hidden;
}

/* Fill Safe Area Inset (on modern iPhones) */
body {
  padding-top: env(safe-area-inset-top);
  padding-bottom: env(safe-area-inset-bottom);
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
  background-color: #E2E8F3 !important;
}

/* Sections
 ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}
/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}
/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
/* Grouping content
 ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}
/* Text-level semantics
 ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}
/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}
/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b, strong {
  font-weight: bolder;
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code, kbd, samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}
/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}
/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
/* Embedded content
 ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}
/* Forms
 ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button, input, optgroup, select, textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}
/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button, input {
  /* 1 */
  overflow: visible;
}
/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button, select {
  /* 1 */
  text-transform: none;
}
/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button, [type="button"], [type="reset"], [type="submit"] {
  -webkit-appearance: button;
}
/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}
/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}
/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}
/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}
/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}
/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"], [type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
  height: auto;
}
/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}
/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}
/* Interactive
 ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}
/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}
/* Misc
 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}
/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}
/* END normalize */
/* START Custom Styles */
/* START Utility classes */
.flex-row {
  display: flex;
  flex-direction: row;
}
.flex-column {
  display: flex;
  flex-direction: column;
}
.flex-item-grow {
  flex: 1 0 auto;
}
.flex-item-shrink {
  flex: 0 1 auto;
}

.text-black {
  color: black;
}

.text-gray {
  color: #999999 !important;
}

.fa-circle {
  color: #999999;
}

.no-underline {
  text-decoration: none;
}

@media only screen and (min-width: 992px) {
  .hidden-on-desktop {
    display: none;
  }
}
@media only screen and (max-width: 991px) {
  .hidden-on-mobile {
    display: none !important;
  }
}
/* END Utility classes */
.custom-alert {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  padding: 15px 40px 15px 15px;
  border-radius: 5px;
  text-align: center;
  max-width: 50%;
  color: #fff;
  opacity: 1;
}
.fade-out {
  animation: fadeOut 0.5s;
  animation-fill-mode: forwards;
}
.custom-alert-notice {
  background-color: #28a745;
}
.custom-alert-alert {
  background-color: #dc3545;
}
.custom-alert-close {
  background: none;
  border: none;
  font-size: 20px;
  position: absolute;
  right: 0px;
  top: 0px;
  cursor: pointer;
  color: #fff;
}
.custom-alert-close:hover {
  background-color: transparent;
}
*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  font-family: Arial, Helvetica, sans-serif;
  color: #54595F;
}
img {
  max-width: 100%;
}
.container {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 0px;
}
.header {
  background-color: #FFFFFF;
}
.header__content {
  max-width: 1080px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  padding: 40px 20px;
}
.header__logo__block {
  display: flex;
  align-items: center;
}

@media only screen and (min-width: 768px) {
  .header__logo__block {
    max-width: 500px;
  }
}
.filters {
  background-color: #FFFFFF;
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  padding-bottom: 20px;
  border-bottom: 1px solid #E4E4E4;
}
.filters__container {
  max-width: 1080px;
  margin: auto;
  padding: 0 20px;
}
.filters__title {
  flex: 0 0 100%;
  margin-top: 0;
  padding-top: 20px;
}
.filters__content {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: flex-end;
}
.filters__navigation {
  display: flex;
  justify-content: end;
  flex: 0 0 100%;
  margin: 0;
}
.filters__search__bar {
  background-color: #f0f0f0;
  border-radius: 6px;
}
.filters__search__icon {
  position: absolute;
  padding: 12px 0 0 12px;
}
.filters__search {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.filters__search input {
  width: 100%;
  padding: 15px 15px 15px 45px;
  background-color: #f0f0f0;
  border: none;
  border-radius: 6px;
}
.filters__search .search-button {
  border: none;
  border-radius: 6px;
  color: #FFFFFF;
  background-color: #01AFEF;
  padding: 12px 20px;
  text-decoration: none;
  display: flex;
  margin-top: 10px;
}
.filters__search .search-button:hover {
  background-color: #0E409E;
  cursor: pointer;
}
.filters__search input::placeholder {
  color: #54595F;
}
.filters__search select {
  width: 100%;
  border: none;
  background-color: rgba(14, 64, 158, 0.12);
  border-radius: 6px;
  padding: 15px;
  margin-top: 10px;
  border-right: 20px solid transparent;
}
.filters__info p {
  margin: 2.5px 0;
}

/* Diagonal Progress Bar Styles */
.filters__status__bar {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}

.diagonal-progress-bar {
  display: flex;
  align-items: center;
  background: transparent;
  border-radius: 25px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  max-width: 600px;
  width: 100%;
  height: 35px;
  position: relative;
}

.diagonal-step {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #999999;
  color: white;
  font-weight: 700;
  font-size: 10px;
  letter-spacing: -0.2px;
  flex: 1;
  height: 100%;
  transition: all 0.3s ease;
  clip-path: polygon(24% 0, 98% -5%, 77% 100%, 1% 100%);
  margin-right: -27px;
  padding: 5px;
}

.diagonal-step:first-child {
  clip-path: polygon(0 0, 100% 0%, 74% 100%, 0% 100%);
  border-radius: 25px 0 0 25px;
}

.diagonal-step:last-child {
  clip-path: polygon(25% 0, 100% 0%, 100% 100%, 5% 100%);
  border-radius: 0 25px 25px 0;
  margin-right: 0;
}

.diagonal-step:nth-child(3) {
  clip-path: polygon(24% 0, 100% -4%, 74% 100%, 1% 100%);
}

.diagonal-step:first-child:last-child {
  clip-path: none;
  border-radius: 25px;
  margin-right: 0;
}

.diagonal-step.completed {
  background: #01AFEF;
}

.step-label {
  text-align: center;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  position: relative;
  z-index: 1;
  white-space: normal;
  line-height: 1.2;
  max-width: 100%;
  overflow: hidden;
  padding: 15px;
}

@media (max-width: 712px) {
  .diagonal-progress-bar {
    max-width: 400px;
    height: 40px;
  }

  .diagonal-step {
    height: 40px;
    font-size: 9px;
    padding: 4px 8px;
    letter-spacing: -0.3px;
    clip-path: polygon(24% 0, 98% -5%, 77% 100%, 1% 100%);
    margin-right: -20px;
  }

  .diagonal-step:first-child {
    clip-path: polygon(0 0, 102% 0%, 75% 100%, 0% 100%);
    border-radius: 20px 0 0 20px;
  }

  .diagonal-step:last-child {
    clip-path: polygon(23% 0, 100% 0%, 100% 100%, 3% 100%);
    border-radius: 0 20px 20px 0;
    margin-right: 0;
  }

  .diagonal-step:nth-child(3) {
    clip-path: polygon(23% 0, 100% 0%, 74% 100%, -1% 100%);
  }

  .diagonal-step:first-child:last-child {
    clip-path: none;
    border-radius: 20px;
    margin-right: 0;
  }

  .step-label {
    font-size: 10px;
    line-height: 1.2;    
    text-align: center;
    font-weight: 700;
    text-transform: uppercase;
    position: relative;
    z-index: 1;
    white-space: normal;
    line-height: 1.2;
    max-width: 100%;
    overflow: hidden;
    padding: 3px;
  }
}

@media (max-width: 480px) {
  .filters__status__bar {
    padding: 0px;
  }

  .diagonal-progress-bar {
    max-width: 320px;
    height: 35px;
  }

  .step-label {
    font-size: 7px;
    white-space: normal;
    line-height: 1.2;
    max-width: 100%;
    overflow: hidden;
    padding: 2px;
  }

  .diagonal-step {
    height: 35px;
    padding: 3px 6px;
    clip-path: polygon(24% 0, 98% -5%, 77% 100%, 1% 100%);
    margin-right: -16px;
  }

  .diagonal-step:first-child {
    clip-path: polygon(0 0, 98% 0%, 75% 100%, 0% 100%);
    border-radius: 17px 0 0 17px;
  }

  .diagonal-step:last-child {
    clip-path: polygon(23% 0, 100% 0%, 100% 100%, 3% 100%);
    border-radius: 0 17px 17px 0;
    margin-right: 0;
  }

  .diagonal-step:nth-child(3) {
    clip-path: polygon(23% 0, 100% -11%, 75% 100%, 3% 100%);
  }
}

.diagonal-step:not(.completed):hover {
  transform: translateY(-2px);
  filter: brightness(1.1);
}

@keyframes stepComplete {
  0% {
    background: #999999;
  }
  100% {
    background: #01AFEF;
  }
}

.diagonal-step.completed {
  animation: stepComplete 0.5s ease-out;
}

@supports not (clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)) {
  .diagonal-step {
    clip-path: none;
    margin-right: 0;
    border-right: 2px solid white;
  }

  .diagonal-step:last-child {
    border-right: none;
  }
}

@keyframes milestoneAnimateIn {
  0%, 35% {
    scale: 0;
  }
  90% {
    scale: 0.67;
  }
  100% {
    scale: 0.5;
  }
}
@keyframes currentMilestoneAnimateIn {
  0%, 35% {
    scale: 0;
  }
  90% {
    scale: 1.67;
  }
  100% {
    scale: 1.5;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.card {
  background: #FFFFFF;
  border-radius: 6px;
  padding: 20px;
  margin: 20px auto;
  display: grid;
  align-items: center;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: auto;
  grid-template-areas: "header header" "details button";
  row-gap: 1rem;
}
.card.table-header {
  margin-top: 0px;
  color: #7A7A7A;
  background-color: transparent;
  border-radius: 0;
  border-bottom: 2px solid #7A7A7A;
}
.card__header {
  grid-area: header;
  width: 100%;
}
.card__button-container {
  grid-area: button;
  align-self: center;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.card__details {
  grid-area: details;
  display: flex;
  flex-direction: column;
}
.card__details p {
  margin: 2.5px 0;
}
.card__details__button__arrow {
  padding-left: 10px;
  padding-right: 0px;
}
.detailed-status-card h2 {
  margin-bottom: 10px;
}

.tracking-container {
  padding: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}

.tracking-title {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 2rem;
  color: #333;
}

.tracking-layout {
  display: flex;
  gap: 2rem;
}

.current-state {
  position: sticky;
  top: 2rem;
  height: fit-content;
}

.info-card {
  background: #fff;
  border-radius: 12px;
  width: 100%;
  padding: 1.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.info-card-header {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1rem;
}

.info-card-icon {
  padding: 0.2rem;
}

.info-card-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #54595F;
  margin: 0;
}

.info-card-description {
  color: #666;
  font-size: 0.95rem;
  line-height: 1.5;
}

.tracking-timeline {
  position: relative;
  background: #fff;
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  isolation: isolate;
}

.timeline-item .timeline-date .date,
.timeline-item .timeline-date .time {
  color: inherit;
}

.timeline-item:not(.completed) .timeline-date {
  color: #999999;
}

.timeline-item {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 1.5rem;
  position: relative;
  padding-bottom: 2rem;
}

.timeline-date {
  display: flex;
  flex-direction: column;
  color: #666;
}

.date {
  font-size: 0.9rem;
}

.time {
  font-size: 0.8rem;
  color: #888;
}

.timeline-content {
  display: flex;
  gap: 1rem;
  position: relative;
}

.timeline-icon {
  background: #fff;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #4CAF50;
  z-index: 2;
}

.timeline-message {
  flex: 1;
}

.message-title {
  font-size: 1rem;
  font-weight: 500;
  margin: 0;
}

.read-more {
  color: #2196F3;
  text-decoration: underline;
  margin-left: 0.5rem;
}

.timeline-line {
  position: absolute;
  left: 180px;
  top: 20px;
  bottom: 10px;
  width: 2px;
  background-color: #E0E0E0;
  z-index: 1;
}

.timeline-item:last-child .timeline-line {
  display: none;
}

/* Timeline container needs relative positioning */
.timeline-current {
  position: relative;
  padding-top: 40px; /* Add space for the line above */
}

/* Timeline line styling for collapsed view */
.timeline-current .timeline-item {
  position: relative;
  /* padding-bottom: 0px; Add space for the line below */
}

.timeline-current .timeline-line {
  position: absolute;
  left: 184px;
  top: -39px;
  height: 40px;
  width: 2px;
  z-index: 1;
  display: block !important;
}

.timeline-current .timeline-content {
  position: relative;
  z-index: 2; /* Ensure content is above the line */
}

.timeline-current .timeline-content i {
  background: #fff;
  border: 2px solid #fff; /* Add white border to make icon stand out */
  border-radius: 50%;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 3;
}

/* For expanded timeline, keep original styling */
.timeline-collapse .timeline-line {
  position: absolute;
  left: 180px;
  top: 20px;
  bottom: 10px;
  width: 2px;
  background-color: #E0E0E0;
  z-index: 1;
}

.timeline-collapse .timeline-item:last-child .timeline-line {
  display: none;
}

.chevron-div{
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 20px; /* Add some space above the chevron */
}

.timeline-expand-button {
  cursor: pointer;
  transition: transform 0.3s ease;
}

.timeline-expand-button.rotated {
  transform: rotate(180deg);
}

.timeline-expand-button[aria-expanded="true"] {
  transform: rotate(180deg);
}

.info-card-read-more {
  margin-top: 1rem;
  color: #666;
  font-size: 0.95rem;
  line-height: 1.5;
}

.timeline-item {
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.timeline-item.hidden {
  display: grid;
  opacity: 0;
  transform: translateY(-10px);
  pointer-events: none;
}

.timeline-item.visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.timeline-collapse {
  display: none;
}

.timeline-collapse.expanded {
  display: block;
}

@media (max-width: 768px) {
  .timeline-line {
    left: 12px;
  }
  
  .timeline-current {
    padding-top: 60px;
  }
  
  .timeline-current .timeline-line {
    left: 40px;
    top: -60px;
    height: 50px;
  }
  
  .timeline-collapse .timeline-line {
    left: 12px;
  }
  
  .timeline-current .timeline-content {
    padding-left: 2rem;
  }
}

.timeline-item.hidden {
  display: none;
}

.chevron-div{
  display: flex;
  align-items: center;
  justify-content: center;
}

.timeline-expand-button {
  cursor: pointer;
  transition: transform 0.3s ease;
}

.timeline-expand-button[aria-expanded="true"] {
  transform: rotate(180deg);
}

.info-card-read-more {
  margin-top: 1rem;
  color: #666;
  font-size: 0.95rem;
  line-height: 1.5;
}

.timeline-item {
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.timeline-item.hidden {
  display: grid;
  opacity: 0;
  transform: translateY(-10px);
  pointer-events: none;
}

.timeline-item.visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.timeline-collapse {
  display: none;
}

.timeline-collapse.expanded {
  display: block;
}

.prescription-status-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 4px;
  background-color: #e0e0e0;
  margin-top: 1rem;
  position: relative;
}

.prescription-status-bar::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  background-color: #2196F3;
  width: calc((100% - 32px) * var(--progress) + 16px);
  transition: width 0.3s ease;
}

.status__milestone {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: #e0e0e0;
  position: relative;
  cursor: pointer;
  z-index: 1;
}

.status__milestone.completed {
  background-color: #2196F3;
}

.status__milestone::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  background-color: #333;
  color: #fff;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}

.status__milestone:hover::after {
  opacity: 1;
  visibility: visible;
}

.timeline-item.current .timeline-icon {
  background-color: #4CAF50;
  color: #fff;
}

.timeline-item.current .timeline-message {
  font-weight: bold;
}

.pagination-wrapper .pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
  padding: 8px 12px;
  margin-bottom: 40px;
  background: #FFFFFF;
  border-radius: 5px;
}

.pagination-wrapper .pagination li {
  margin: 0 4px;
}

.pagination-wrapper .pagination li a,
.pagination-wrapper .pagination li span {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 50px;
  background: #e0e0e0;
  color: #555;
  text-decoration: none;
  font-size: 16px;
  line-height: 1;
  transition: background .2s, color .2s;
}

.pagination-wrapper .pagination li a:hover {
  background: #d4d4d4;
}

.pagination-wrapper .pagination li.active span {
  background: #01AFEF;
  color: #fff;
  box-shadow: 0 0 8px rgba(41, 98, 255, 0.4);
}

.pagination-wrapper .pagination li.disabled span {
  color: #aaa;
}

.pagination-wrapper .pagination li.disabled span {
  background: transparent;
  cursor: default;
}

@media (max-width: 1024px) {
  .tracking-layout {
    display: flex;
    flex-direction: column;
  }

  .current-state {
    position: static;
    margin-bottom: 2rem;
  }
}

@media (max-width: 768px) {
  .tracking-container {
    padding: 1rem;
  }

  .timeline-item {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }

  .timeline-date {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 0.5rem;
  }

  .timeline-line {
    left: 12px;
  }

  .timeline-content {
    padding-left: 2rem;
  }

  .timeline-icon {
    position: absolute;
    left: 0;
    top: 0;
  }
}

@media only screen and (min-width: 992px) {
  .filters__heading__status {
    display: flex;
    justify-content: space-between;
    align-items: end;
  }
  .card {
    grid-template-columns: 25% 60% 15%;
    grid-template-areas: "header details button";
  }
  .card__details {
    overflow-wrap: break-word; 
    word-break: break-word;
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
  }
  .card__details div {
    flex: 0 0 25%;
  }
  .clients .card__details div {
    flex: 0 0 50%;
  }
  .detailed-status-card {
    display: block;
  }
  .prescriptions .card__details {
    display: flex;
  }
  .prescriptions .card__details p {
    margin: 0 30px;
  }
  .prescriptions .card__header {
    width: auto;
    margin-right: auto;
  }
  .detailed-status-container {
    display: grid;
    grid-template-columns: auto auto;
    column-gap: 40px;
  }
  .profile_form input[type="submit"] {
    width: unset;
  }
}

.client-info {
  margin: 10px 0;
}
button, .button {
  border: none;
  border-radius: 6px;
  color: #FFFFFF;
  background-color: #01AFEF;
  padding: 12px 20px;
  text-decoration: none;
  display: flex;
}
button:hover, .button:hover {
  background-color: #0E409E;
  cursor: pointer;
}
button--navigation, .button--navigation {
  background-color: rgba(97, 206, 112, 0.2);
  color: #54595F;
}
button--navigation:hover, .button--navigation:hover {
  background-color: rgba(97, 206, 112, 0.2);
}
button.small, .button.small {
  padding: 5px 10px;
}
.info-logout-container {
  display: flex;
  flex-direction: column;
}
.info-logout-container .button {
  margin-top: 10px;
}
.profile_form input, .profile_form button {
  margin: 20px 0;
}
.profile_form input {
  width: 100%;
  padding: 15px;
  border: 1px solid #E4E4E4;
  border-radius: 6px;
  margin-top: 10px;
}
.profile_form input[type="submit"] {
  color: #FFFFFF;
  background-color: #0E409E;
  cursor: pointer;
}
.profile_form input[type="submit"]:hover {
  background-color: #01AFEF;
}
.login-container, .signup-container {
  display: flex;
  flex-direction: column;
  background-color: #FFFFFF;
  border-radius: 6px;
  padding: 20px;
  margin: 20px auto;
  max-width: 600px;
  font-size: 1.3rem;
}
.login-header, .signup-header {
  text-align: center;
  margin-bottom: 20px;
}
.login-info-text  {
  margin-bottom: 40px;
}
.login-email-field, .login-password-field, .login-submit-button, .signup-phone-field, .signup-email-field, .signup-password-field, .signup-first-name-field, .signup-last-name-field, .signup-submit-button {
  margin: 20px 0;
}
.login-email-field input, .login-password-field input, .login-submit-button input, .signup-phone-field input, .signup-email-field input, .signup-password-field input, .signup-first-name-field input, .signup-last-name-field input, .signup-submit-button input {
  width: 100%;
  padding: 15px;
  border: 1px solid #E4E4E4;
  border-radius: 6px;
  margin-top: 10px;
  font-size: 1rem;
}
.login-submit-button input, .signup-submit-button input {
  border: none;
  border-radius: 6px;
  color: #FFFFFF;
  background-color: #01AFEF;
  padding: 12px 20px;
  text-decoration: none;
  font-size: 1rem;
}
.login-submit-button input:hover, .signup-submit-button input:hover {
  background-color: #0E409E;
  cursor: pointer;
}

.password-field-container {
  position: relative;
  display: flex;
  align-items: center;
}

.password-input {
  flex-grow: 1;
  width: 100%;
}

.password-toggle-btn {
  position: absolute;
  right: 10px;
  background: none !important;
  border: none;
  cursor: pointer;
  color: #666;
  padding: 10px 5px 0px 0px;
  font-size: 16px;
}

.password-toggle-btn:hover {
  color: #333;
}

.phone-input-container {
  display: flex;
  align-items: center;
}

.country-code {
  padding: 15px;
  margin-top: 10px;
  background-color: #f5f5f5;
  border: 1px solid #ced4da;
  border-right: none;
  border-radius: 6px 0 0 4px;
  font-size: 1rem;
}

.phone-input-container input[type="tel"] {
  border-radius: 0 4px 4px 0;
}

.phone-input.is-invalid {
  border-color: #dc3545;
}

.invalid-feedback {
  color: #dc3545;
  font-size: 0.875rem;
  margin-top: 0.25rem;
}

.feature-flags-container {
  max-width: 800px;
  margin: 40px auto;
  padding: 20px;
  background-color: #FFFFFF;
  border-radius: 6px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.feature-flags-container h2 {
  color: #54595F;
  margin-bottom: 24px;
}

.feature-flags-table {
  width: 100%;
  border-collapse: collapse;
}

.feature-flags-table th {
  text-align: left;
  padding: 12px;
  border-bottom: 2px solid #E4E4E4;
  color: #7A7A7A;
}

.feature-flags-table td {
  padding: 16px 12px;
  border-bottom: 1px solid #E4E4E4;
}

.feature-flags-table .toggle-button {
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  color: #FFFFFF;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.feature-flags-table tr:hover {
  background-color: rgba(14, 64, 158, 0.05);
}

.feature-flags-table input[type="submit"][value="Enable"] {
  background-color: #01AFEF;
}

.feature-flags-table input[type="submit"][value="Disable"] {
  background-color: #dc3545;
}

.feature-flags-table input[type="submit"]:hover {
  background-color: #0E409E;
}

@media (min-width: 2560px) {
  .login-container, .signup-container {
    max-width: 800px;
    padding: 40px;
    margin: 40px auto;
    font-size: 1.8rem !important;
  }
  
  .login-header, .signup-header {
    margin-bottom: 10px;
  }
  
  .login-header h2, .signup-header h2 {
    font-size: 2.1.8rem !important;
  }
  
  .login-info-text {
    margin-bottom: 50px;
    font-size: 1.8rem !important;
  }
  
  .login-email-field, 
  .login-password-field, 
  .login-submit-button, 
  .signup-phone-field, 
  .signup-email-field, 
  .signup-password-field, 
  .signup-first-name-field, 
  .signup-last-name-field, 
  .signup-submit-button {
    margin: 25px 0;
  }
  
  .login-email-field input, 
  .login-password-field input, 
  .login-submit-button input, 
  .signup-phone-field input, 
  .signup-email-field input, 
  .signup-password-field input, 
  .signup-first-name-field input, 
  .signup-last-name-field input, 
  .signup-submit-button input {
    padding: 18px;
    font-size: 1.8rem !important;
  }
  
  .login-submit-button input, 
  .signup-submit-button input {
    padding: 15px 25px;
    font-size: 1.8rem !important;
  }
  
  .password-toggle-btn {
    font-size: 1.8rem !important;
    right: 12px;
  }
  
  .country-code {
    padding: 18px !important;
    font-size: 1.8rem !important;
  }
  
  .invalid-feedback {
    font-size: 1.8rem !important;
  }
  
  .login-remember-field, .signup-sms-field input[type="checkbox"] {
    height: 30px;
    margin-right: 10px;
    cursor: pointer;
    accent-color: #01AFEF;
  }
}

@media (min-width: 3840px) {
  .login-container, .signup-container {
    max-width: 900px;
    padding: 50px;
    margin: 60px auto;
    font-size: 3.2rem !important;
  }
  .login-header, .signup-header {
    margin-bottom: 40px;
  }
  .login-header h2, .signup-header h2 {
    font-size: 2.8rem;
  }
  .login-info-text {
    margin-bottom: 60px;
    font-size: 1.3rem;
  }
  .login-email-field, 
  .login-password-field, 
  .login-submit-button, 
  .signup-phone-field, 
  .signup-email-field, 
  .signup-password-field, 
  .signup-first-name-field, 
  .signup-last-name-field, 
  .signup-submit-button {
    margin: 30px 0;
  }
  .login-email-field input, 
  .login-password-field input, 
  .login-submit-button input, 
  .signup-phone-field input, 
  .signup-email-field input, 
  .signup-password-field input, 
  .signup-first-name-field input, 
  .signup-last-name-field input, 
  .signup-submit-button input {
    padding: 22px;
    font-size: 3rem !important;
  }
  .login-submit-button input, 
  .signup-submit-button input {
    padding: 18px 30px;
    font-size: 3rem !important;
  }
  .password-toggle-btn {
    font-size: 2rem !important;
    right: 15px;
  }
  .country-code {
    padding: 22px;
    font-size: 3rem !important;
  }
  .invalid-feedback {
    font-size: 3rem !important;
  }
  
  .login-remember-field, .signup-sms-field input[type="checkbox"] {
    width: 40px;
    height: 40px;
    margin-right: 10px;
    cursor: pointer;
    accent-color: #01AFEF;
  }
}

.otp-verification {
  max-width: 400px;
  margin: 40px auto;
  padding: 20px;
  text-align: center;
  background-color: #FFFFFF;
  border-radius: 6px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);

  h2 {
    margin-bottom: 24px;
    color: #54595F;
    font-size: 24px;
  }

  .otp-fields {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
    gap: 8px;

    .otp-input {
      width: 40px; /* Fixed width for each input */
      height: 50px; /* Fixed height for each input */
      text-align: center;
      font-size: 18px;
      border: 2px solid #E4E4E4;
      border-radius: 6px;
      background-color: rgba(14, 64, 158, 0.12);
      color: #54595F;

      &:focus {
        border-color: #01AFEF;
        outline: none;
      }
    }
  }

  .actions {
    margin: 24px 0;

    input[type="submit"] {
      padding: 12px 24px;
      background-color: #01AFEF;
      color: #FFFFFF;
      border: none;
      border-radius: 6px;
      cursor: pointer;
      font-size: 16px;

      &:hover {
        background-color: #0E409E;
      }
    }
  }

  .resend-otp {
    margin: 20px 0;

    p {
      margin-bottom: 10px;
      color: #54595F;
    }

    button {
      padding: 8px 16px;
      background: none;
      border: 1px solid #01AFEF;
      color: #01AFEF;
      border-radius: 6px;
      cursor: pointer;
      font-size: 14px;
      display: contents;

      &:disabled {
        opacity: 0.6;
        cursor: not-allowed;
      }

      &:hover:not(:disabled) {
        background-color: rgba(1, 175, 239, 0.1);
      }
    }
  }
}
