    :root {
      --bg-page:       #f4f3ef;
      --bg-card:       #ffffff;
      --bg-muted:      #f1efe8;
      --text-primary:  #1a1a18;
      --text-secondary:#5f5e5a;
      --text-hint:     #888780;
      --border:        rgba(0,0,0,0.10);
      --border-md:     rgba(0,0,0,0.18);
      --radius-md:     8px;
      --radius-lg:     14px;
      --green:         #1D9E75;
      --green-bg:      #E1F5EE;
      --green-dk:      #0F6E56;
      --teal-bg:       #E1F5EE;
      --amber:         #BA7517;
      --amber-bg:      #FAEEDA;
      --amber-dk:      #854F0B;
      --red:           #E24B4A;
      --red-bg:        #FCEBEB;
      --blue:          #185FA5;
      --blue-bg:       #E6F1FB;
      --blue-dk:       #0C447C;
      --purple:        #534AB7;
      --purple-bg:     #EEEDFE;
      --purple-dk:     #3C3489;
      --coral:         #D85A30;
      --coral-bg:      #FAECE7;
      --coral-dk:      #993C1D;
      --trend-up:      var(--green);
      --trend-down:    var(--red);
      --trend-good:     var(--green);
      --trend-bad:      var(--red);
      --trend-warning:  var(--amber);
    }

.navmenu ul li.dropdown-right ul {
    right: 0;
    left: auto;
}

.icon_png{
  max-height: 20px;
}

.alert_message{
  color: red;
}

.login{
  display: flex;
  justify-content: center;  /* horizontal */
  align-items: center;      /* vertical */
  height: auto;
  margin-bottom: auto;
  margin-top: auto;
  overflow-y: auto;
}

.signup {
  display: flex;
  justify-content: center; /* horizontal */
  align-items: center; /* vertical */
  height: auto;
  margin-bottom: 0;
  margin-top: 0;
  overflow-y: auto;
}

.password_reset {
  display: flex;
  justify-content: center; /* horizontal */
  align-items: center; /* vertical */
  height: auto;
  margin-bottom: auto;
  margin-top: auto;
    overflow-y: auto;
}

.edit_profile {
  display: flex;
  justify-content: center; /* horizontal */
  align-items: center; /* vertical */
  height: auto;
  margin-bottom: 0;
  margin-top: 0;
  overflow-y: auto;
}

.password_change {
  display: flex;
  justify-content: center; /* horizontal */
  align-items: center; /* vertical */
  height: auto;
  margin-bottom: 0;
  margin-top: 0;
  overflow-y: auto;
}

.verification {
  display: flex;
  justify-content: center; /* horizontal */
  align-items: center; /* vertical */
  height: auto;
  margin-bottom: 0;
  margin-top: 0;
    overflow-y: auto;
}

/*.center-box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}*/

.contact .btn-contact {
  background: var(--accent-color);
  color: var(--contrast-color);
  border: 0;
  padding: 10px 30px;
  transition: 0.4s;
  border-radius: 4px;
}

.contact .btn-contact:hover {
  background: color-mix(in srgb, var(--accent-color), transparent 20%);
}

.contact .item-box i {
  font-size: 44px;
  line-height: 44px;
  color: var(--accent-color);
  margin-right: 15px;
}

.contact .item-box h4 {
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 10px 0;
}

.newsletter {
  background-color: color-mix(in srgb, var(--accent-color), transparent 97%);
  border-top: 1px solid color-mix(in srgb, var(--accent-color), transparent 85%);
  border-bottom: 1px solid color-mix(in srgb, var(--accent-color), transparent 85%);
  padding: 50px 0;
}

.newsletter .btn-newsletter {
  background: var(--accent-color);
  color: var(--contrast-color);
  border: 0;
  padding: 10px 30px;
  transition: 0.4s;
  border-radius: 4px;
}

.newsletter .btn-newsletter:hover {
  background: color-mix(in srgb, var(--accent-color), transparent 20%);
}

.mission .icon-box {
  display: flex;
}

.mission .icon-box h4 {
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 10px 0;
}

.mission .icon-box i {
  font-size: 44px;
  line-height: 44px;
  color: var(--accent-color);
  margin-right: 15px;
}

.mission .icon-box p {
  font-size: 15px;
  color: color-mix(in srgb, var(--default-color), transparent 30%);
  margin-bottom: 0;
}

/*--------------------------------------------------------------
# flip cards
--------------------------------------------------------------*/

.any h4 {
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 10px 0;
}

.any i {
  font-size: 44px;
  line-height: 44px;
  color: var(--accent-color);
  margin-bottom: 5px;
}

.any .card-flip p {
  font-size: 15px;
  color: color-mix(in srgb, var(--default-color), transparent 30%);
  margin-bottom: 0;
}


.any .card-container {
  perspective: 1000px;
  width: 300px;
  height: 200px;
  margin: auto;
  padding: 3px;
}

.any .card-flip {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform 0.6s;
}

.any .card-container:hover .card-flip {
  transform: rotateY(180deg);
}

.any .card {
  width: 100%;
  height: 100%;
  position: absolute;
  backface-visibility: hidden;
  border-radius: 0.5rem;
  box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.1);
}

.any .card.back {
  transform: rotateY(180deg);
}

/*--------------------------------------------------------------
# ESG Section
--------------------------------------------------------------*/
.esg .esg-container .esg-item {
  position: relative;
  padding: 20px 0;
  border-bottom: 1px solid color-mix(in srgb, var(--default-color), transparent 85%);
  overflow: hidden;
}

.esg .esg-container .esg-item:last-child {
  margin-bottom: 0;
}

.esg .esg-container .esg-item h3 {
  font-weight: 600;
  font-size: 16px;
  line-height: 24px;
  margin: 0 30px 0 0;
  transition: 0.3s;
  cursor: pointer;
  display: flex;
  align-items: center;
}

.esg .esg-container .esg-item h3 .num {
  color: var(--accent-color);
  padding-right: 5px;
}

.esg .esg-container .esg-item h3:hover {
  color: var(--accent-color);
}

.esg .esg-container .esg-item .esg-content {
  display: grid;
  grid-template-rows: 0fr;
  transition: 0.3s ease-in-out;
  color: color-mix(in srgb, var(--default-color), transparent 50%);
  visibility: hidden;
  opacity: 0;
  font-size: 14px;
  font-weight: 400;
}

.esg .esg-container .esg-item .esg-content p {
  margin-bottom: 0;
  overflow: hidden;
}

.esg .esg-container .esg-item .esg-toggle {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 16px;
  line-height: 0;
  transition: 0.3s;
  cursor: pointer;
}

.esg .esg-container .esg-item .esg-toggle:hover {
  color: var(--accent-color);
}

.esg .esg-container .esg-active h3 {
  color: var(--accent-color);
}

.esg .esg-container .esg-active .esg-content {
  grid-template-rows: 1fr;
  visibility: visible;
  opacity: 1;
  padding-top: 10px;
}

.esg .esg-container .esg-active .esg-toggle {
  transform: rotate(90deg);
  color: var(--accent-color);
}

/* ToastUI chart */

.tui-chart-tooltip {
  position: absolute !important;
  z-index: 1000 !important;
  pointer-events: none;
  background: white;
  border: 1px solid #ccc;
  padding: 8px;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.chart, #stepsChart, #bloodsugarChart,
#hrHrvChart, #caloryChart, #spo2Chart,
#recoveryChart, #sleepChart, #weightChart {
  position: relative;     /* needed for absolute tooltip positioning */
  height: 300px;          /* fixed height, avoid auto */
  overflow: visible;      /* allow tooltip to go outside */
}

.chart-body {
  position: relative;
  overflow: visible;
}


.biosensor-input{
  background-color: var(--surface-color);
  height: 100%;
  padding: 60px 30px;
  text-align: center;
  transition: 0.3s;
  border-radius: 5px;
}

.biosensor-input:hover{
    transform: scale(0.9);
    border-radius: 10px;
    background: rgba(13, 202, 240, 0.1);
}

.biosensor-input .icon{
  width: 100%;
    max-width: 100px;
    height: auto;
}
/* Service */

.service .icon-box {
  display: flex;
}

.service .icon-box h4 {
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 10px 0;
}

.service .icon-box i {
  font-size: 44px;
  line-height: 44px;
  color: var(--accent-color);
  margin-right: 15px;
}

.service .icon-box p {
  font-size: 15px;
  color: color-mix(in srgb, var(--default-color), transparent 30%);
  margin-bottom: 0;
}

.service .icon-box .icon-orange{
  color: #fd7e14;
}

.service .icon-box .icon-cyan{
  color: #0dcaf0;
}

.service .icon-box .icon-teal{
  color: #20c997;
}

.service .icon-box .icon-red{
  color: #df1529;
}

.service .icon-box .icon-indigo{
  color: #6610f2;
}

.service .icon-box .icon-pink{
  color: #f3268c;
}

.service-heading-img{
  max-height: 300px;
  width: 100%;
  margin: auto;
  /*object-fit: cover;*/
}

/* Insights */
.insights{
    color: var(--text-secondary);
}
.insights .trend-up { color: var(--trend-up); }
.insights .trend-down { color: var(--trend-down); }
.insights .trend-good { color: var(--trend-good); }
.insights .trend-bad { color: var(--trend-bad); }
.insights .trend-warning { color: var(--trend-warning); }

.insights .icon {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex-shrink: 0;
}

.insights .card-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: large;
    color: var(--heading-color);
  font-family: var(--heading-font);
}

.insights .card-sub-title {
      font-size: 12px;
      color: var(--text-secondary);
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      align-items: center;
    margin-top: 16px;
    }

.insights .multi-val {
  display: flex;
  gap: 20px;
  align-items: flex-end;
  flex-wrap: wrap;
    margin-bottom: 10px;
    text-align: center;
}

.insights .multi-val-item {
  display: flex;
  flex-direction: column;
}

.insights .multi-val-num {
    font-size: 22px;
    font-weight: 500;
    line-height: 1.1;
    }

.insights .multi-val-num .unit {
    font-size: 12px;
    font-weight: 400;
    margin-left: 8px;
    color: var(--text-secondary);
    }

.insights .multi-val-lbl {
    font-size: 10px;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    }

.insights .activity-list { display: flex; flex-direction: column; gap: 7px; }
.insights .activity-item {
      display: flex;
      align-items: center;
      gap: 9px;
      font-size: 13px;
    }

.insights .activity-icon { font-size: 12px; color: var(--text-hint); width: 16px; text-align: center; }
.insights .activity-dur { margin-left: auto; font-size: 11px; color: var(--text-secondary); }

.insights .recommendations{


    font-weight: normal;
    font-size: small;

}
:root{
    --recovery-trend-chart: #1D9E75;
    --recovery-trend-chart-bg: #E1F5EE;
}

#recoverytrendChart {
    max-height: 250px;
    width: 100%;
}

#recoveryChart {
    max-height: 300px;
    width: 100%;
}

