﻿/* inmediQ variables */
:root {
  /* Primary colours */
  --primary-color-1: #1C3968;
  --primary-color-2: #0076C0;
  --primary-color-3: #575757;
  --primary-color-4: #B6A310;
  --primary-color-1-light1: #465380;
  --primary-color-2-light1: #008DCE;
  --primary-color-3-light1: #878787;
  --primary-color-4-light1: #C5B348;
  --primary-color-1-light2: #71769B;
  --primary-color-2-light2: #6BA8DC;
  --primary-color-3-light2: #B2B2B2;
  --primary-color-4-light2: #D2C479;
  --primary-color-1-light3: #9FA0BB;
  --primary-color-2-light3: #A4C3E8;
  --primary-color-3-light3: #DADADA;
  --primary-color-4-light3: #E3D9A8;
  --primary-color-1-light4: #CECDDD;
  --primary-color-2-light4: #D3E1F4;
  --primary-color-3-light4: #EDEDED;
  --primary-color-4-light4: #F0EBD4;
  /* Secondary colours */
  --secondary-color-1: #E53B11;
  --secondary-color-2: #820B20;
  --secondary-color-3: #F39200;
  --secondary-color-4: #FECC00;
  --secondary-color-5: #009982;
  --secondary-color-6: #00567C;
  --secondary-color-1-light1: #EB6739;
  --secondary-color-2-light1: #9A373D;
  --secondary-color-3-light1: #F7A941;
  --secondary-color-4-light1: #FED633;
  --secondary-color-5-light1: #0AAB9A;
  --secondary-color-6-light1: #357996;
  --secondary-color-1-light2: #F19267;
  --secondary-color-2-light2: #B46563;
  --secondary-color-3-light2: #FAC075;
  --secondary-color-4-light2: #FEE066;
  --secondary-color-5-light2: #68C0B4;
  --secondary-color-6-light2: #6699AF;
  --secondary-color-1-light3: #F8B999;
  --secondary-color-2-light3: #CD9692;
  --secondary-color-3-light3: #FDD5A5;
  --secondary-color-4-light3: #FFEB9A;
  --secondary-color-5-light3: #A6D6CE;
  --secondary-color-6-light3: #99BBCB;
  --secondary-color-1-light4: #FCDECD;
  --secondary-color-2-light4: #E6C9C6;
  --secondary-color-3-light4: #FEEAD3;
  --secondary-color-4-light4: #FFFFC0;
  --secondary-color-5-light4: #D6E8E7;
  --secondary-color-6-light4: #CCDDE5;
  /* Limbs */
  --color-left-limb: #F39200;
  --color-right-limb: #009982;
  --color-left: #F39200;
  --color-right: #009982;
  --color-left-arm: #9A373D;
  --color-right-arm: #9A373D;
  --color-left-ankle: #0076C0;
  --color-right-ankle: #0076C0;
  --color-left-wrist: #575757;
  --color-right-wrist: #575757;
}

/* ======= Table sizing (compile-time) ======= */
/* English: col1 and col2 are relative to the inner content width (excluding spacers).
   They must sum to 100%. Spacers are absolute percentages of the total table width. */
/* ======= Semantic tones ======= */
/* ======= Page root ======= */
.select-side-page {
  font-family: "Noto Sans Display", Helvetica, Arial, sans-serif;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  inline-size: 100%;
  block-size: 100%;
  min-inline-size: 0;
  min-block-size: 0;
  /* ---------- Header bar ---------- */
  /* ---------- Separator ---------- */
  /* ---------- Buttons ---------- */
  /* ---------- Marker select ---------- */
  /* ======= Analyze panel + table (left aligned, no runtime vars) ======= */
}
.select-side-page .sessions-header {
  display: flex;
  flex-direction: row;
  align-items: baseline; /* baseline alignment for header row */
  flex: 0 0 auto;
}
.select-side-page .sessions-header .left {
  display: flex;
  align-items: baseline; /* ensure inner items use baseline */
  gap: 0.5rem;
  flex: 1 1 auto;
}
.select-side-page .sessions-header .left .side-select {
  display: inline-block;
  inline-size: 28px;
  block-size: 26px;
  color: #B6A310;
  -webkit-mask-image: url("/images/person-select-side.svg");
  mask-image: url("/images/person-select-side.svg");
  /* English: remove vertical offsets to keep baseline clean */
  transform: translateY(6px);
  position: relative;
}
.select-side-page .sessions-header .left .title-header-text {
  display: inline-block;
  line-height: 1; /* baseline-friendly */
  font-size: 1.1rem;
  color: #B6A310;
}
.select-side-page .sessions-header .right {
  display: flex;
  align-items: baseline; /* baseline alignment for button area */
  color: #0076C0;
}
.select-side-page .sessions-header .right .analyze.btn {
  display: inline-flex;
  gap: 0.4rem;
  /* English: unify line-height and remove Y-offset for clean baseline */
  line-height: 1;
  align-items: baseline;
  /* English: icon should not break baseline; nudge slightly */
  /* English: match title typography so both sit on the same baseline */
}
.select-side-page .sessions-header .right .analyze.btn:disabled, .select-side-page .sessions-header .right .analyze.btn:disabled * {
  pointer-events: none;
  cursor: not-allowed;
}
.select-side-page .sessions-header .right .analyze.btn .icon {
  background-color: currentColor;
  display: inline-block;
  position: relative;
  transform: translateY(4px);
}
.select-side-page .sessions-header .right .analyze.btn .text {
  font-size: 1rem; /* overrides generic .btn .text */
  font-weight: 400;
  line-height: 1; /* strict baseline */
}
.select-side-page .filter-line {
  flex: 0 0 auto;
  block-size: 2px;
  inline-size: 100%;
  margin: 0;
  margin-top: 2px;
  background: #B6A310;
  border: 0;
}
.select-side-page .btn {
  display: inline-flex;
  align-items: center;
  border: none;
  border-radius: 6px;
  background: transparent;
  cursor: pointer;
  color: inherit;
  transition: background-color 0.15s ease, color 0.15s ease;
  padding: 0.2rem 0.5rem;
  margin-bottom: 0px;
}
.select-side-page .btn:hover {
  background: transparent;
}
.select-side-page .btn:active {
  background: #0076C0;
  color: #fff;
}
.select-side-page .btn:focus-visible {
  outline: none;
}
.select-side-page .btn .text {
  font-size: 0.8rem; /* default; header overrides to 1.1rem */
  font-weight: 400;
}
.select-side-page .btn .icon {
  display: inline-block;
  inline-size: 24px;
  block-size: 24px;
  background: currentColor;
}
.select-side-page .btn.analyze .icon {
  -webkit-mask-image: url("/images/bar-chart.svg");
  mask-image: url("/images/bar-chart.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
}
.select-side-page .btn.analyze { /* reserved for future tweaks */ }
.select-side-page .marker-select {
  inline-size: 100%;
  max-inline-size: 800px;
  margin-inline: auto;
  /*margin: 0 auto;*/
  box-sizing: border-box;
  --chip: 28px;
  --gap: 8px;
  --pad: 18px;
  --title: 14px;
  --label: 14px;
  --small-label: 12px;
  --pill: 120px;
  --pill-pad-x: 20px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding-top: 12px;
}
.select-side-page .marker-select .ms-header-1 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-inline: var(--pad);
}
.select-side-page .marker-select .ms-header-1 .ms-title {
  font-weight: 500;
  font-size: var(--title);
  color: #B6A310;
}
.select-side-page .marker-select .ms-subheader-1 {
  padding-inline: var(--pad);
}
.select-side-page .marker-select .ms-subheader-1 .md-subtitle-1 {
  font-size: var(--small-label);
  font-weight: 400;
}
.select-side-page .marker-select .ms-rail, .select-side-page .marker-select .ms-rail-2 {
  display: flex;
  flex-direction: column;
}
.select-side-page .marker-select .ms-rail .ms-rail-body, .select-side-page .marker-select .ms-rail-2 .ms-rail-body {
  padding-inline: 0;
}
.select-side-page .marker-select .ms-rail .ms-rail-body .ms-chiplist.mixed, .select-side-page .marker-select .ms-rail-2 .ms-rail-body .ms-chiplist.mixed {
  padding-inline: var(--pad);
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap);
  align-items: center;
  min-inline-size: 0;
}
.select-side-page .marker-select .ms-rail-2 {
  margin-top: 10px;
}
.select-side-page .marker-select .ms-chip {
  inline-size: var(--chip);
  block-size: var(--chip);
  border-radius: 999px;
  border: none;
  box-sizing: border-box;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  font-size: var(--label);
  color: #fff;
  cursor: pointer;
  transition: transform 120ms ease, opacity 120ms ease;
}
.select-side-page .marker-select .ms-chip.left {
  background: #F39200;
}
.select-side-page .marker-select .ms-chip.right {
  background: #009982;
}
.select-side-page .marker-select .ms-chip.dim {
  opacity: 0.35;
}
.select-side-page .marker-select .ms-chip:not(.dim):hover {
  transform: translateY(-1px);
}
.select-side-page .marker-select .ms-chip.control {
  inline-size: var(--pill);
  block-size: var(--chip);
  border-radius: calc(var(--chip) / 2);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  font-weight: 500;
}
.select-side-page .marker-select .ms-chip.control.betterside,
.select-side-page .marker-select .ms-chip.control.bothside {
  background: #575757;
  color: #fff;
}
.select-side-page .marker-select .ms-chip.control.onlyleft {
  background: #575757;
  color: #F39200;
}
.select-side-page .marker-select .ms-chip.control.onlyright {
  background: #575757;
  color: #68C0B4;
}
.select-side-page .analyze-panel {
  /* English: header is flush left; no width centering */
  /* English: table wrapper is flush left and spans available width */
  /* English: first column content stack */
  /* English: value column */
  /* English: badges */
  /* English: foot line (left aligned) */
  /* Mobile stacked view */
  /* ... (kept commented out as in your source) ... */
}
.select-side-page .analyze-panel .ms-header-1 {
  display: block;
  margin: 0 0 0.5rem 0;
  padding: 0;
}
.select-side-page .analyze-panel .ms-header-1 .ms-title {
  color: #B6A310;
  font-weight: 500;
  font-size: 14px;
}
.select-side-page .analyze-panel .vh-table-wrap {
  inline-size: 100%;
  max-inline-size: 800px;
  margin-inline: auto;
  overflow-x: auto;
  margin-block-start: 6px;
}
.select-side-page .analyze-panel .vh-table {
  inline-size: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  /* English: spacer and content column widths.
     col1 and col2 are applied to the inner width, excluding spacers. */
  /* English: right-align the Value column (column 3 when spacers are present) */
  /* English: push inline content in Value cells to the right as well */
  /* English: visual cleanup for spacer cells */
}
.select-side-page .analyze-panel .vh-table col.col-spacer-left {
  width: 5%;
}
.select-side-page .analyze-panel .vh-table col.col-metric {
  width: calc(80% * (100% - (5% + 5%)));
}
.select-side-page .analyze-panel .vh-table col.col-value {
  width: calc(20% * (100% - (5% + 5%)));
}
.select-side-page .analyze-panel .vh-table col.col-spacer-right {
  width: 5%;
}
.select-side-page .analyze-panel .vh-table thead th {
  text-align: left;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  color: #B6A310;
  vertical-align: bottom;
  box-sizing: border-box;
  font-weight: 500;
}
.select-side-page .analyze-panel .vh-table thead th:nth-child(3),
.select-side-page .analyze-panel .vh-table tbody td:nth-child(3) {
  text-align: right;
}
.select-side-page .analyze-panel .vh-table tbody td:nth-child(3) .vh-value {
  justify-content: flex-end;
}
.select-side-page .analyze-panel .vh-table th.spacer,
.select-side-page .analyze-panel .vh-table td.spacer {
  padding: 0;
  border: 0;
  background: transparent;
}
.select-side-page .analyze-panel .vh-table tbody td,
.select-side-page .analyze-panel .vh-table tbody th[scope=row] {
  padding-top: 0.5rem;
  vertical-align: top;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  background: transparent;
  word-wrap: break-word;
  box-sizing: border-box;
  font-weight: 400;
}
.select-side-page .analyze-panel .vh-table tbody tr:hover {
  background: rgb(250.62, 249.48, 240.66);
}
.select-side-page .analyze-panel .vh-cell {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.2;
}
.select-side-page .analyze-panel .vh-title {
  text-align: left;
}
.select-side-page .analyze-panel .vh-sub {
  color: #878787;
  font-size: 0.75rem;
  margin-top: 0.15rem;
  font-weight: 400;
  text-align: left;
}
.select-side-page .analyze-panel .vh-value {
  display: inline-flex;
  gap: 0.5rem;
  align-items: baseline;
  flex-wrap: wrap;
}
.select-side-page .analyze-panel .vh-tag {
  font-size: 0.75rem;
  padding: 0.12rem 0.45rem;
  border-radius: 999px;
  background: rgb(219.3, 235.82, 246.18);
  color: #0076C0;
  line-height: 1;
}
.select-side-page .analyze-panel .vh-badge {
  display: inline-block;
  font-size: 0.75rem;
  padding: 0.18rem 0.55rem;
  border-radius: 0.5rem;
  background: #e0e0e0;
  line-height: 1;
}
.select-side-page .analyze-panel .vh-badge.ok {
  background: rgb(229.8, 229.8, 229.8);
}
.select-side-page .analyze-panel .vh-badge.warn {
  background: rgb(224.8, 242.4, 240);
}
.select-side-page .analyze-panel .vh-badge.err {
  background: rgb(251.6, 217.6, 217.6);
}
.select-side-page .analyze-panel .vh-foot {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.6rem;
  font-size: 0.85rem;
  padding: 0;
  margin-inline: 0;
  color: #878787;
}
.select-side-page .analyze-panel .vh-dot {
  inline-size: 0.5rem;
  block-size: 0.5rem;
  border-radius: 50%;
  background: currentColor;
  animation: vh-blink 1.2s infinite ease-in-out;
}
@keyframes vh-blink {
  0%, 100% {
    opacity: 0.2;
  }
  50% {
    opacity: 1;
  }
}
