:root {
  --forest-950: #082521;
  --forest-900: #0b302b;
  --forest-800: #12453e;
  --forest-700: #1a5b51;
  --mint-500: #39bfa5;
  --mint-400: #64d1bb;
  --mint-100: #dff6f0;
  --cream-50: #fafbf8;
  --cream-100: #f3f5f0;
  --cream-200: #e8ece5;
  --ink-900: #172421;
  --ink-700: #3b4b47;
  --ink-500: #52635e;
  --line: #dce3dd;
  --white: #fff;
  --red: #e45757;
  --blue: #2689ca;
  --amber: #c48422;
  --shadow-sm: 0 1px 2px rgba(8, 37, 33, .05), 0 7px 22px rgba(8, 37, 33, .04);
  --shadow-md: 0 18px 50px rgba(8, 37, 33, .10);
  --radius-sm: 10px;
  --radius: 16px;
  --radius-lg: 24px;
}

* { box-sizing: border-box; }
html { color-scheme: light; scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: hidden;
  color: var(--ink-900);
  background: var(--cream-100);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
button, input, select, textarea { font: inherit; }
a { color: inherit; }
svg { width: 1.15em; height: 1.15em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.svg-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 999; top: 10px; left: 10px; padding: 10px 16px; color: white; background: var(--forest-900); border-radius: 8px; transform: translateY(-200%); }
.skip-link:focus { transform: none; }

.app-shell { min-height: 100vh; }
.sidebar {
  position: fixed;
  z-index: 30;
  inset: 0 auto 0 0;
  display: flex;
  width: 258px;
  flex-direction: column;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 26px 18px 22px;
  color: #dfece8;
  background:
    radial-gradient(circle at 18% 5%, rgba(82, 203, 177, .16), transparent 26%),
    linear-gradient(165deg, var(--forest-800), var(--forest-950) 72%);
}
.brand { display: flex; align-items: center; gap: 13px; margin: 0 8px 38px; color: white; text-decoration: none; }
.brand-mark { position: relative; display: grid; width: 47px; height: 47px; place-items: center; overflow: hidden; color: var(--forest-950); background: var(--mint-400); border-radius: 14px 5px 14px 5px; box-shadow: inset 0 0 0 1px rgba(255,255,255,.28); }
.brand-mark::after { position: absolute; right: -8px; bottom: -11px; width: 32px; height: 32px; content: ""; border: 1px solid rgba(8,37,33,.25); border-radius: 50%; }
.brand-mark span { position: relative; z-index: 1; font-size: 17px; font-weight: 850; letter-spacing: -.04em; }
.brand-copy { display: flex; min-width: 0; flex-direction: column; }
.brand-copy strong { font-size: 14px; letter-spacing: .01em; }
.brand-copy small { margin-top: 2px; color: #9fb9b2; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.main-nav { display: grid; gap: 7px; }
.main-nav a { position: relative; display: flex; align-items: center; gap: 13px; padding: 12px 14px; color: #bcd0ca; border-radius: 11px; font-weight: 640; text-decoration: none; transition: .18s ease; }
.main-nav a:hover { color: white; background: rgba(255,255,255,.07); }
.main-nav a[aria-current="page"] { color: white; background: rgba(106, 217, 194, .15); box-shadow: inset 0 0 0 1px rgba(108, 212, 190, .08); }
.main-nav a[aria-current="page"]::before { position: absolute; left: -18px; width: 3px; height: 27px; content: ""; background: var(--mint-400); border-radius: 0 4px 4px 0; }
.main-nav svg { width: 19px; height: 19px; }
.sidebar-note { display: flex; gap: 10px; align-items: flex-start; margin-top: auto; padding: 14px; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.07); border-radius: 12px; }
.status-dot { display: inline-block; width: 7px; height: 7px; flex: 0 0 auto; background: var(--mint-400); border-radius: 50%; box-shadow: 0 0 0 4px rgba(100,209,187,.12); }
.sidebar-note .status-dot { margin-top: 6px; }
.sidebar-note div { display: flex; flex-direction: column; }
.sidebar-note strong { color: #e9f3f0; font-size: 11px; }
.sidebar-note small { margin-top: 2px; color: #849f98; font-size: 10px; line-height: 1.35; }
.sidebar-footer { display: flex; flex-direction: column; gap: 2px; padding: 21px 13px 0; color: #75938b; font-size: 10px; }
.sidebar-footer a { text-decoration: none; }
.sidebar-footer a:hover { color: white; }
.sidebar-footer form { margin: 3px 0 0; }
.sidebar-footer button { padding: 0; color: #a9c0ba; background: none; border: 0; cursor: pointer; font-size: 10px; text-decoration: underline; }
.sidebar-footer button:hover { color: white; }
.app-main { min-height: 100vh; margin-left: 258px; }
.mobile-header { display: none; }
.page-wrap { width: min(100%, 1540px); margin: 0 auto; padding: 43px clamp(28px, 4vw, 66px) 72px; }

.page-header, .profile-header, .analysis-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 30px; }
.page-header h1, .profile-header h1, .analysis-header h1 { margin: 2px 0 7px; color: var(--forest-950); font-size: clamp(29px, 3vw, 43px); font-weight: 760; line-height: 1.07; letter-spacing: -.045em; }
.page-header p:not(.eyebrow), .profile-header p, .analysis-header p { max-width: 660px; margin: 0; color: var(--ink-500); font-size: 15px; }
.eyebrow { margin: 0 0 5px; color: var(--forest-700); font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.header-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.button { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; gap: 8px; padding: 10px 16px; border: 1px solid transparent; border-radius: 10px; cursor: pointer; font-size: 13px; font-weight: 720; line-height: 1.1; text-decoration: none; transition: transform .15s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease; }
.button:hover { transform: translateY(-1px); }
.button:focus-visible, a:focus-visible, summary:focus-visible { outline: 3px solid rgba(57,191,165,.28); outline-offset: 3px; }
.button svg { width: 16px; height: 16px; }
.button-primary { color: white; background: var(--forest-800); box-shadow: 0 5px 15px rgba(18,69,62,.16); }
.button-primary:hover { background: var(--forest-950); box-shadow: 0 7px 18px rgba(18,69,62,.24); }
.button-secondary { color: var(--forest-900); background: white; border-color: #cfd9d3; box-shadow: 0 1px 1px rgba(8,37,33,.02); }
.button-secondary:hover { border-color: #9eb4ab; }
.button-ghost { color: var(--ink-700); background: transparent; }
.button-ghost:hover { background: rgba(11,48,43,.06); }
.button-danger { color: white; background: #b94747; }
.button-danger:hover { background: #9d3535; }
.button-block { width: 100%; }
.text-link { display: inline-flex; align-items: center; gap: 5px; color: var(--forest-700); font-size: 12px; font-weight: 750; text-decoration: none; }
.text-link svg { width: 13px; transition: transform .15s ease; }
.text-link:hover svg { transform: translateX(3px); }

.panel { background: rgba(255,255,255,.92); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.panel-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 23px 25px 18px; }
.panel-header h2 { margin: 0; color: var(--forest-950); font-size: 19px; letter-spacing: -.025em; }
.content-grid { display: grid; gap: 22px; }
.dashboard-grid { grid-template-columns: minmax(0, 1fr) 330px; }
.dashboard-grid > *, .recent-panel { min-width: 0; }
.recent-panel { overflow: hidden; }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; margin-bottom: 22px; }
.metric-card { position: relative; display: flex; min-height: 142px; flex-direction: column; justify-content: center; padding: 23px; overflow: hidden; background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.metric-card::after { position: absolute; right: -20px; bottom: -48px; width: 105px; height: 105px; content: ""; border: 1px solid var(--cream-200); border-radius: 50%; }
.metric-label { color: var(--ink-500); font-size: 11px; font-weight: 720; letter-spacing: .045em; text-transform: uppercase; }
.metric-card > strong { margin: 8px 0 1px; color: var(--forest-950); font-size: 34px; line-height: 1; letter-spacing: -.045em; }
.metric-foot { color: #8b9793; font-size: 11px; }
.metric-card-accent { color: white; background: linear-gradient(145deg, var(--forest-800), var(--forest-950)); border-color: transparent; }
.metric-card-accent .metric-label, .metric-card-accent .metric-foot { color: #a9c3bc; }
.metric-card-accent > strong { color: white; }
.metric-card-accent::after { border-color: rgba(100,209,187,.18); box-shadow: 0 0 0 20px rgba(100,209,187,.025); }
.method-card > strong { font-size: 19px; letter-spacing: -.02em; }

.table-wrap, .measurement-table-wrap, .zones-table-wrap { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; }
.data-table th { padding: 10px 16px; color: #5d6d67; background: #f8faf7; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-align: left; text-transform: uppercase; }
.data-table td { padding: 14px 16px; color: var(--ink-700); border-bottom: 1px solid #edf0ec; font-size: 12px; }
.data-table tbody tr:last-child td { border-bottom: 0; }
.data-table tbody tr:hover { background: #fbfcfa; }
.person-cell { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.person-cell > span:last-child { display: flex; flex-direction: column; }
.person-cell strong { color: var(--ink-900); font-size: 12px; }
.person-cell small { color: var(--ink-500); font-size: 9px; }
.avatar { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; color: var(--forest-800); background: var(--mint-100); border: 1px solid #c5ebe2; border-radius: 50%; font-size: 10px; font-weight: 850; letter-spacing: .02em; }
.avatar-large { width: 47px; height: 47px; font-size: 13px; }
.avatar-xl { width: 68px; height: 68px; font-size: 19px; }
.badge { display: inline-flex; width: fit-content; align-items: center; gap: 5px; padding: 4px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; letter-spacing: .025em; white-space: nowrap; }
.badge-success { color: #176151; background: #ddf5ed; }
.badge-draft { color: #6b726e; background: #ecefeb; }
.badge-review { color: #88580d; background: #fff0cc; }
.row-link { display: grid; width: 28px; height: 28px; place-items: center; color: var(--ink-500); border-radius: 7px; }
.row-link:hover { color: var(--forest-800); background: var(--mint-100); }
.row-link svg { width: 13px; }
.workflow-panel { padding-bottom: 22px; background: linear-gradient(155deg, #fff, #f8faf6); }
.workflow-panel > .eyebrow, .workflow-panel > h2 { margin-right: 25px; margin-left: 25px; }
.workflow-panel > .eyebrow { margin-top: 24px; }
.workflow-panel > h2 { margin-top: 0; font-size: 19px; }
.workflow-list { display: grid; gap: 2px; margin: 20px 24px 22px; padding: 0; list-style: none; counter-reset: steps; }
.workflow-list li { position: relative; display: flex; gap: 13px; align-items: center; min-height: 53px; }
.workflow-list li:not(:last-child)::after { position: absolute; top: 40px; bottom: -12px; left: 15px; width: 1px; content: ""; background: #d7e2dc; }
.workflow-list li > span { position: relative; z-index: 1; display: grid; width: 31px; height: 31px; place-items: center; color: var(--forest-700); background: #e4f4ef; border: 1px solid #c9e7df; border-radius: 50%; font-size: 9px; font-weight: 850; }
.workflow-list li div { display: flex; flex-direction: column; }
.workflow-list strong { font-size: 12px; }
.workflow-list small { color: var(--ink-500); font-size: 10px; }
.science-note { margin: 0 22px; padding: 14px; background: #f0f4ef; border-left: 3px solid #7ea096; border-radius: 4px 9px 9px 4px; }
.science-note strong { color: var(--forest-700); font-size: 10px; text-transform: uppercase; }
.science-note p { margin: 3px 0 0; color: var(--ink-500); font-size: 10px; line-height: 1.45; }
.empty-state { display: grid; min-height: 280px; place-items: center; align-content: center; padding: 35px; text-align: center; }
.empty-state h2 { margin: 15px 0 5px; font-size: 18px; }
.empty-state p { max-width: 430px; margin: 0 0 18px; color: var(--ink-500); font-size: 12px; }
.empty-state-mark { display: flex; height: 50px; align-items: flex-end; gap: 5px; }
.empty-state-mark span { display: block; width: 9px; background: #afdcd2; border-radius: 5px 5px 2px 2px; }
.empty-state-mark span:nth-child(1) { height: 20px; }.empty-state-mark span:nth-child(2) { height: 43px; }.empty-state-mark span:nth-child(3) { height: 31px; }

.search-bar { display: flex; align-items: center; gap: 10px; padding: 16px 18px; border-bottom: 1px solid var(--line); }
.search-bar > span { color: var(--ink-500); font-size: 24px; }
.search-bar input { min-width: 0; flex: 1; padding: 10px 0; background: transparent; border: 0; outline: 0; }
.search-bar input:focus-visible { border-radius: 5px; outline: 3px solid rgba(57,191,165,.25); outline-offset: 3px; }
.search-bar > a { color: var(--ink-500); font-size: 11px; }
.athlete-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1px; background: var(--line); }
.athlete-card { display: grid; grid-template-columns: auto 1fr auto auto; gap: 13px; align-items: center; min-height: 93px; padding: 17px 22px; background: white; text-decoration: none; transition: background .15s ease; }
.athlete-card:hover { background: #f9fbf8; }
.athlete-card-body { display: flex; min-width: 0; flex-direction: column; }
.athlete-card-body strong { font-size: 14px; }
.athlete-card-body small { color: var(--ink-500); font-size: 10px; }
.athlete-card > svg { width: 14px; color: #9ba7a3; }

.breadcrumbs { display: flex; gap: 8px; align-items: center; margin: -10px 0 26px; color: #5e6f69; font-size: 11px; }
.breadcrumbs a { color: var(--forest-700); text-decoration: none; }
.profile-header { align-items: center; }
.profile-identity, .analysis-person { display: flex; align-items: center; gap: 16px; }
.profile-identity h1, .analysis-person h1 { margin-top: 2px; margin-bottom: 2px; }
.profile-kicker { display: flex; align-items: center; gap: 8px; color: var(--forest-700); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.profile-grid { grid-template-columns: 360px minmax(0,1fr); }
.detail-list { margin: 0; padding: 0 25px 22px; }
.detail-list > div { display: grid; grid-template-columns: 120px 1fr; gap: 15px; padding: 10px 0; border-bottom: 1px solid #edf1ed; }
.detail-list dt { color: var(--ink-500); font-size: 10px; }
.detail-list dd { margin: 0; font-size: 11px; font-weight: 650; }
.detail-list a { color: var(--forest-700); }
.note-block { margin: 0 25px 25px; padding: 14px; background: #f5f8f4; border-radius: 10px; }
.note-block > span { color: var(--forest-700); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.note-block p { margin: 5px 0 0; color: var(--ink-700); font-size: 11px; }
.count-pill { display: grid; min-width: 27px; height: 27px; place-items: center; padding: 0 8px; color: var(--forest-700); background: var(--mint-100); border-radius: 999px; font-size: 10px; font-weight: 800; }
.timeline { padding: 0 25px 20px; }
.timeline-item { position: relative; display: grid; grid-template-columns: 12px 82px 1fr auto auto; gap: 12px; align-items: center; min-height: 66px; color: inherit; border-top: 1px solid #edf1ed; text-decoration: none; }
.timeline-item:last-child { border-bottom: 1px solid #edf1ed; }
.timeline-dot { position: relative; width: 8px; height: 8px; background: var(--mint-500); border: 2px solid white; border-radius: 50%; box-shadow: 0 0 0 1px #9cd6c9; }
.timeline-date { color: var(--ink-500); font-size: 10px; }
.timeline-body { display: flex; flex-direction: column; }
.timeline-body strong { font-size: 12px; }.timeline-body small { color: var(--ink-500); font-size: 9px; }
.timeline-item > svg { width: 12px; color: #95a09c; }

.form-page-header { margin-bottom: 25px; }
.stack-form { display: grid; gap: 17px; }
.form-section { padding: 25px; }
.section-heading { display: flex; gap: 15px; align-items: flex-start; margin-bottom: 24px; }
.section-heading > span:first-child { display: grid; width: 29px; height: 29px; flex: 0 0 auto; place-items: center; color: var(--forest-700); background: var(--mint-100); border-radius: 9px; font-size: 9px; font-weight: 850; }
.section-heading h2, .section-heading strong { display: block; margin: 0; color: var(--forest-950); font-size: 17px; font-weight: 760; letter-spacing: -.02em; }
.section-heading p, .section-heading small { display: block; margin: 3px 0 0; color: var(--ink-500); font-size: 10px; font-weight: 450; }
.form-grid { display: grid; gap: 17px 20px; }
.form-grid-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.form-grid-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.form-grid-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.compact-grid { max-width: 680px; }
.span-2 { grid-column: span 2; }
.form-group { min-width: 0; }
.form-group > label:not(.checkbox-label) { display: block; margin-bottom: 6px; color: var(--ink-700); font-size: 10px; font-weight: 720; }
.required { margin-left: 3px; color: #c64f4f; }
.form-control { width: 100%; min-height: 42px; padding: 9px 11px; color: var(--ink-900); background: #fbfcfa; border: 1px solid #cfd9d3; border-radius: 8px; outline: 0; transition: border .15s ease, box-shadow .15s ease, background .15s ease; }
textarea.form-control { resize: vertical; line-height: 1.45; }
.form-control:hover { border-color: #aebdb6; }
.form-control:focus { background: white; border-color: var(--mint-500); box-shadow: 0 0 0 3px rgba(57,191,165,.12); }
.form-control:disabled { color: #53625d; background: #eef1ed; border-color: #d9dfdb; cursor: not-allowed; }
select.form-control { padding-right: 32px; }
.help-text { margin-top: 5px; color: #60706a; font-size: 9px; line-height: 1.35; }
.field-error, .cell-error { display: block; margin-top: 4px; color: #af3535; font-size: 9px; font-weight: 650; }
.field-error > span { display: block; }
.has-error .form-control { border-color: #d67878; background: #fffafa; }
.checkbox-label { display: inline-flex; align-items: center; gap: 8px; color: var(--ink-700); font-size: 11px; font-weight: 700; cursor: pointer; }
.form-check-input { width: 17px; height: 17px; accent-color: var(--forest-700); }
.form-errors { padding: 13px 16px; color: #8c2d2d; background: #fff1f1; border: 1px solid #efc4c4; border-radius: 10px; font-size: 11px; }
.form-errors ul { margin: 0; padding-left: 18px; }
.form-actions { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.form-actions > div { display: flex; gap: 9px; }
.sticky-actions { position: sticky; z-index: 10; bottom: 15px; padding: 12px; background: rgba(250,251,248,.9); border: 1px solid rgba(207,217,211,.9); border-radius: 13px; box-shadow: 0 10px 35px rgba(8,37,33,.12); backdrop-filter: blur(12px); }
.disclosure { padding: 0; overflow: hidden; }
.disclosure summary { display: flex; align-items: center; justify-content: space-between; padding: 23px 25px; cursor: pointer; list-style: none; }
.disclosure summary::-webkit-details-marker { display: none; }
.disclosure summary .section-heading { margin: 0; }
.disclosure-icon { color: var(--forest-700); font-size: 21px; transition: transform .2s ease; }
.disclosure[open] .disclosure-icon { transform: rotate(45deg); }
.disclosure-body { padding: 0 25px 25px; border-top: 1px solid var(--line); }
.threshold-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin: 20px 0; }
.threshold-form-column { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; padding: 16px; background: #f7f9f6; border-radius: 12px; }
.threshold-form-column h3 { grid-column: 1/-1; margin: 0; color: var(--forest-700); font-size: 12px; }
.callout { padding: 14px 16px; border-radius: 10px; }
.callout strong { display: block; margin-bottom: 2px; font-size: 10px; text-transform: uppercase; }
.callout p { margin: 0; font-size: 10px; line-height: 1.45; }
.callout-neutral { color: #49615b; background: #eef4f0; border-left: 3px solid #75a296; }
.callout-warning { color: #73521d; background: #fff7e5; border-left: 3px solid #e3ad50; }
.compact-callout { margin-bottom: 17px; }

.stepper { display: flex; align-items: center; justify-content: center; margin: 0 0 24px; padding: 14px 20px; background: white; border: 1px solid var(--line); border-radius: 13px; box-shadow: var(--shadow-sm); }
.stepper-item { display: flex; align-items: center; gap: 9px; color: #85918d; text-decoration: none; }
.stepper-item[aria-disabled="true"] { pointer-events: none; }
.stepper-item[aria-disabled="true"] { opacity: .68; }
.stepper-item > span { display: grid; width: 27px; height: 27px; place-items: center; border: 1px solid #cad4ce; border-radius: 50%; font-size: 9px; font-weight: 800; }
.stepper-item > div { display: flex; flex-direction: column; }
.stepper-item strong { font-size: 10px; }.stepper-item small { font-size: 8px; }
.stepper-item.active { color: var(--forest-800); }
.stepper-item.active > span { color: white; background: var(--forest-800); border-color: var(--forest-800); box-shadow: 0 0 0 4px var(--mint-100); }
.stepper-item.complete { color: var(--forest-700); }
.stepper-item.complete > span { background: var(--mint-100); border-color: #b2e1d6; }
.stepper-line { width: clamp(18px, 4vw, 75px); height: 1px; margin: 0 12px; background: #d8dfdb; }

.measurements-panel { overflow: hidden; }
.measurement-panel-header { padding-bottom: 15px; }
.unit-legend { display: grid; grid-template-columns: auto auto; gap: 2px 7px; color: var(--ink-500); font-size: 9px; }
.unit-legend strong { color: var(--forest-700); }
.measurements-panel .callout { margin-right: 25px; margin-left: 25px; }
.measurement-table-wrap { margin-top: 20px; }
.measurement-table { width: 100%; min-width: 920px; border-collapse: collapse; }
.measurement-table th { padding: 9px 7px; color: #71807b; background: #f2f5f1; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 9px; text-align: left; text-transform: uppercase; }
.measurement-table th:first-child, .measurement-table td:first-child { padding-left: 24px; }
.measurement-table th small { display: block; color: #9aa49f; font-size: 7px; font-weight: 500; text-transform: none; }
.measurement-table td { padding: 7px; border-bottom: 1px solid #e8ece8; vertical-align: top; }
.measurement-table .form-control { min-height: 37px; padding: 6px 8px; font-size: 11px; }
.measurement-table td:nth-child(1) { width: 68px; }.measurement-table td:nth-child(2) { width: 88px; }.measurement-table td:nth-child(3) { width: 110px; }.measurement-table td:nth-child(4) { width: 95px; }.measurement-table td:nth-child(5) { width: 105px; }.measurement-table td:nth-child(6) { width: 80px; }.measurement-table td:last-child { width: 48px; }
.measurement-row { transition: opacity .2s ease; }
.measurement-row:focus-within { background: #f7fbf8; }
.measurement-row.row-error { background: #fff8f8; }
.measurement-row.is-deleted { opacity: .28; text-decoration: line-through; }
.delete-cell label { display: grid; width: 31px; height: 31px; place-items: center; color: #a07373; border-radius: 7px; cursor: pointer; font-size: 19px; }
.delete-cell label:hover { color: #b63838; background: #fff0f0; }
.delete-cell input { position: absolute; opacity: 0; pointer-events: none; }
.delete-cell label:has(input:focus-visible) { color: #9d3535; outline: 3px solid rgba(174,66,66,.22); outline-offset: 2px; }
.button-add-row { margin: 16px 24px 21px; color: var(--forest-700); background: #eff7f4; border: 1px dashed #9bcabe; }

.threshold-review-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-bottom: 18px; }
.threshold-review-card { position: relative; padding: 19px; overflow: hidden; background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.threshold-review-card > div:first-of-type small, .threshold-review-card > small { color: var(--ink-500); font-size: 8px; font-weight: 700; text-transform: uppercase; }
.threshold-review-card h2 { margin: 3px 0 13px; font-size: 14px; }
.threshold-review-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0; }
.threshold-review-card dl > div { padding: 9px; background: #f5f8f5; border-radius: 8px; }
.threshold-review-card dt { color: var(--ink-500); font-size: 8px; }.threshold-review-card dd { margin: 2px 0 0; font-size: 14px; font-weight: 800; }.threshold-review-card dd small { font-size: 8px; }
.threshold-dot { position: absolute; top: 0; right: 0; width: 65px; height: 5px; }
.threshold-dot-aerobic { background: var(--mint-500); }.threshold-dot-anaerobic { background: #ef9a55; }
.method-summary { color: white; background: var(--forest-900); border-color: var(--forest-900); }
.method-summary > small, .method-summary p { color: #a8c1ba; }
.method-summary h2 { color: white; }
.method-summary p { margin: 0 0 8px; font-size: 10px; }
.method-summary .text-link { color: var(--mint-400); }
.unavailable { color: #8b9591; font-size: 10px; font-style: italic; }
.zones-form-panel { padding: 0; overflow: hidden; }
.zones-form-panel > .callout { margin: 0 25px 20px; }
.zones-editor { border-top: 1px solid var(--line); }
.zone-editor { position: relative; padding: 17px 24px; border-bottom: 1px solid var(--line); }
.zone-editor:last-child { border-bottom: 0; }
.zone-editor::before { position: absolute; inset: 0 auto 0 0; width: 4px; content: ""; background: #9ba5a1; }
.zone-editor.zone-cyan::before { background: #5ec8d1; }.zone-editor.zone-green::before { background: #61c875; }.zone-editor.zone-yellow::before { background: #e5cf43; }.zone-editor.zone-orange::before { background: #e98b39; }.zone-editor.zone-red::before { background: #db5252; }
.zone-editor-title { display: grid; grid-template-columns: 10px 95px minmax(180px,1fr) 140px; gap: 10px; align-items: end; }
.zone-editor-title .form-group > label { font-size: 8px; }
.zone-color { display: block; width: 8px; height: 38px; margin-bottom: 1px; background: var(--mint-400); border-radius: 5px; }
.zone-editor-values { display: grid; grid-template-columns: 1fr 1fr 1.5fr; gap: 20px; margin: 13px 0 0 20px; }
.zone-editor fieldset { display: grid; grid-template-columns: 1fr auto 1fr; gap: 7px; align-items: center; margin: 0; padding: 0; border: 0; }
.zone-editor legend { grid-column: 1/-1; margin-bottom: 4px; color: var(--ink-500); font-size: 8px; font-weight: 750; text-transform: uppercase; }
.zone-editor legend small { font-weight: 450; text-transform: none; }
.zone-editor fieldset > span { color: #9aa5a0; font-size: 9px; }
.zone-editor .form-control { min-height: 36px; padding: 6px 8px; font-size: 11px; }
.zone-editor-values .form-group > label { display: none; }
.zone-description textarea { height: 36px; min-height: 36px; }
.zone-approval { padding: 20px 24px; background: #eef5f1; border-top: 1px solid var(--line); }
.zone-approval label { display: flex; gap: 11px; align-items: flex-start; cursor: pointer; }
.zone-approval input { margin-top: 2px; flex: 0 0 auto; }
.zone-approval label > span { display: flex; flex-direction: column; }
.zone-approval strong { color: var(--forest-900); font-size: 11px; }
.zone-approval small { margin-top: 2px; color: var(--ink-500); font-size: 9px; }

.analysis-header { align-items: center; margin-bottom: 20px; }
.analysis-tabs { display: flex; gap: 4px; margin-bottom: 18px; padding: 5px; background: #e9eeea; border-radius: 11px; }
.analysis-tabs a { padding: 8px 17px; color: #697771; border-radius: 8px; font-size: 10px; font-weight: 730; text-decoration: none; }
.analysis-tabs a:hover { color: var(--forest-800); }
.analysis-tabs a.active { color: var(--forest-900); background: white; box-shadow: 0 2px 6px rgba(8,37,33,.07); }
.quality-banner { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 17px; padding: 14px 18px; color: #684a18; background: #fff7e5; border: 1px solid #f0d89e; border-radius: 12px; }
.quality-icon { display: grid; width: 25px; height: 25px; flex: 0 0 auto; place-items: center; color: white; background: #d59b35; border-radius: 50%; font-size: 12px; font-weight: 850; }
.quality-banner strong { font-size: 11px; }.quality-banner ul { display: flex; flex-wrap: wrap; gap: 3px 25px; margin: 3px 0 0; padding-left: 15px; font-size: 9px; }
.analysis-metrics { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); margin-bottom: 17px; overflow: hidden; background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.analysis-metrics article { padding: 17px 20px; border-right: 1px solid var(--line); }
.analysis-metrics article:last-child { border: 0; }
.analysis-metrics span { display: block; color: var(--ink-500); font-size: 8px; font-weight: 730; text-transform: uppercase; }
.analysis-metrics strong { display: block; margin-top: 3px; color: var(--forest-950); font-size: 22px; letter-spacing: -.03em; }
.analysis-metrics strong small { font-size: 9px; font-weight: 600; }
.analysis-layout { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 17px; margin-bottom: 17px; }
.chart-panel { min-width: 0; align-self: start; overflow: hidden; }
.chart-panel .panel-header { padding-bottom: 6px; }
.method-pill, .info-tag { max-width: 270px; padding: 5px 8px; color: var(--forest-700); background: #edf6f2; border-radius: 999px; overflow: hidden; font-size: 8px; font-weight: 740; text-overflow: ellipsis; white-space: nowrap; }
.chart-component { padding: 0 18px 15px; }
.chart-controls { margin: 2px 6px 11px; padding: 10px 12px 9px; background: #f6f8f5; border: 1px solid var(--line); border-radius: 10px; }
.chart-controls legend { padding: 0 5px; color: var(--forest-800); font-size: 9px; font-weight: 780; letter-spacing: .04em; }
.chart-control-options { display: flex; flex-wrap: wrap; gap: 6px 13px; }
.chart-control-options label { display: inline-flex; min-width: 0; align-items: center; gap: 5px; color: var(--ink-700); cursor: pointer; font-size: 9px; font-weight: 650; }
.chart-control-options label[hidden] { display: none !important; }
.chart-control-options input { width: 13px; height: 13px; margin: 0; accent-color: var(--forest-700); }
.chart-control-options input:focus-visible, .chart-reset:focus-visible { outline: 3px solid rgba(57,191,165,.28); outline-offset: 2px; }
.chart-controls-footer { display: flex; min-height: 19px; align-items: flex-end; justify-content: space-between; gap: 12px; margin-top: 5px; }
.chart-control-status { color: var(--ink-500); font-size: 8px; }
.chart-reset { padding: 2px 0; color: var(--forest-700); background: transparent; border: 0; cursor: pointer; font-size: 8px; font-weight: 720; text-decoration: underline; text-underline-offset: 2px; }
.chart-reset:disabled { color: #929e99; cursor: default; text-decoration: none; }
.chart-legend { display: flex; flex-wrap: wrap; gap: 7px 15px; justify-content: flex-end; min-height: 16px; padding: 0 27px 4px; color: var(--ink-500); font-size: 8px; }
.chart-legend span { display: flex; align-items: center; gap: 6px; }
.legend-series { display: block; width: 18px; height: 2px; border-radius: 2px; }
.legend-mader-heart-rate { background: #075fdf; }.legend-mader-lactate { background: #e6291f; }
.legend-dmax-heart-rate { height: 7px; background: linear-gradient(transparent 2px,#ef5360 2px,#ef5360 4px,transparent 4px); border: 1px solid #ef5360; border-radius: 50%; }.legend-dmax-lactate { height: 7px; background: white; border: 2px solid #4d9fd5; border-radius: 1px; }
.legend-comparison-baseline-heart-rate { background: repeating-linear-gradient(90deg,#b4666c 0 4px,transparent 4px 7px); }.legend-comparison-baseline-lactate { background: repeating-linear-gradient(90deg,#70a8c8 0 4px,transparent 4px 7px); }
.legend-comparison-follow-up-heart-rate { background: #d94350; }.legend-comparison-follow-up-lactate { background: #277faf; }
.legend-diamond { display: block; width: 7px; height: 7px; transform: rotate(45deg); border: 1px solid currentColor; }.legend-threshold-aerobic { color: #65b92f; background: #8add4e; }.legend-threshold-anaerobic { color: #885191; background: #b67ac0; }
.legend-zone { display: block; width: 9px; height: 9px; flex: 0 0 auto; border: 1px solid rgba(36,61,54,.28); border-radius: 2px; }
.legend-zone-cyan { background: #aee7ed; }.legend-zone-green { background: #b7eaba; }.legend-zone-yellow { background: #f1e88a; }.legend-zone-orange { background: #f5bf91; }.legend-zone-red { background: #efaaaa; }.legend-zone-slate { background: #c9d2ce; }
.legend-threshold-comparison-baseline-aerobic { color: #6f963b; background: #d7e8bf; }.legend-threshold-comparison-baseline-anaerobic { color: #805d86; background: #dfcce3; }
.legend-threshold-comparison-follow-up-aerobic { color: #4f842c; background: #86d944; }.legend-threshold-comparison-follow-up-anaerobic { color: #73447c; background: #b477bf; }
.lactate-chart { width: 100%; min-height: 300px; }
.chart-svg { display: block; width: 100%; height: auto; font-family: inherit; }
.chart-svg text { stroke: none; stroke-width: 0; paint-order: normal; }
.chart-title { fill: #26332f; font-size: 13px; font-weight: 600; }
.chart-plot { fill: #f8faf8; }
.chart-profile-mader-bike .chart-plot { fill: #aebfc0; }.chart-profile-modified-dmax-run .chart-plot { fill: #fafafa; }
.chart-grid line { stroke: #cbd5cf; stroke-width: .8; }.chart-grid .chart-grid-vertical { stroke: #d9dfdb; }
.chart-profile-mader-bike .chart-grid line { stroke: #7d8e8e; stroke-dasharray: 3 4; }.chart-profile-modified-dmax-run .chart-grid line { stroke: #d1d1d1; }
.chart-tick { fill: #52615c; font-size: 9px; font-weight: 400; }.chart-tick-hr, .chart-tick-la { fill: #35413d; }
.chart-frame { fill: none; stroke: #45534e; stroke-width: 1.2; }.chart-axis-label { fill: #4c5b56; font-size: 10px; font-weight: 500; }.chart-axis-hr, .chart-axis-la { fill: #3c4944; }
.chart-lactate-band { fill: #7b837f; opacity: .18; }
.chart-zone { opacity: .12; stroke: #57635f; stroke-width: .5; }.chart-profile-mader-bike .chart-zone { opacity: .82; }
.chart-heart-rate-band { opacity: .1; stroke: #445550; stroke-width: .75; stroke-dasharray: 5 3; }
.chart-zone:focus, .chart-heart-rate-band:focus { outline: none; stroke: #173f37; stroke-width: 2; opacity: .28; }
.zone-fill-cyan { fill: #34d9df; }.zone-fill-green { fill: #17e92b; }.zone-fill-yellow { fill: #f1ef18; }.zone-fill-orange { fill: #f39116; }.zone-fill-red { fill: #f12521; }.zone-fill-slate { fill: #93a29c; }
.chart-series { fill: none; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.chart-series-mader-heart-rate { stroke: #075fdf; }.chart-series-mader-lactate { stroke: #e6291f; }
.chart-series-dmax-heart-rate { stroke: #ef5360; }.chart-series-dmax-lactate { stroke: #4d9fd5; }
.chart-series-dmax-fit { stroke: #39423f; stroke-width: 1.25; stroke-dasharray: 2 3; }.chart-series-dmax-chord { stroke: #303634; stroke-width: 1.2; stroke-dasharray: 7 4; }
.chart-series-comparison-baseline-heart-rate { stroke: #b4666c; stroke-dasharray: 7 5; stroke-width: 2; }.chart-series-comparison-baseline-lactate { stroke: #70a8c8; stroke-dasharray: 7 5; stroke-width: 2; }
.chart-series-comparison-follow-up-heart-rate { stroke: #d94350; }.chart-series-comparison-follow-up-lactate { stroke: #277faf; }
.chart-marker { fill: white; stroke-width: 1.8; }.chart-marker-dmax-heart-rate { stroke: #ef5360; }.chart-marker-dmax-lactate { stroke: #4d9fd5; }
.chart-marker-comparison-baseline-heart-rate { stroke: #b4666c; }.chart-marker-comparison-baseline-lactate { stroke: #70a8c8; }
.chart-marker-comparison-follow-up-heart-rate { stroke: #d94350; }.chart-marker-comparison-follow-up-lactate { stroke: #277faf; }
.chart-marker:focus, .chart-threshold-marker:focus { outline: none; stroke-width: 3.5; }
.chart-threshold { stroke-width: 1.4; stroke-dasharray: 7 4; }.chart-threshold-aerobic { stroke: #91bf2d; }.chart-threshold-anaerobic { stroke: #83518f; }
.chart-threshold-comparison-baseline-aerobic { stroke: #729747; stroke-dasharray: 3 4; }.chart-threshold-comparison-baseline-anaerobic { stroke: #805d86; stroke-dasharray: 3 4; }
.chart-threshold-comparison-follow-up-aerobic { stroke: #79ae31; }.chart-threshold-comparison-follow-up-anaerobic { stroke: #784681; }
.chart-threshold-marker { stroke-width: 1.5; }.chart-threshold-marker-aerobic { fill: #86d944; stroke: #559b27; }.chart-threshold-marker-anaerobic { fill: #b477bf; stroke: #784681; }
.chart-threshold-marker-comparison-baseline-aerobic { fill: #d7e8bf; stroke: #729747; }.chart-threshold-marker-comparison-baseline-anaerobic { fill: #dfcce3; stroke: #805d86; }
.chart-threshold-marker-comparison-follow-up-aerobic { fill: #86d944; stroke: #559b27; }.chart-threshold-marker-comparison-follow-up-anaerobic { fill: #b477bf; stroke: #784681; }
.chart-threshold-label { font-size: 9px; font-weight: 500; }.chart-threshold-label-aerobic { fill: #4f842c; }.chart-threshold-label-anaerobic { fill: #73447c; }
.chart-threshold-label-comparison-baseline-aerobic { fill: #617e3e; }.chart-threshold-label-comparison-baseline-anaerobic { fill: #725177; }
.chart-threshold-label-comparison-follow-up-aerobic { fill: #4f842c; }.chart-threshold-label-comparison-follow-up-anaerobic { fill: #73447c; }
.threshold-panel { padding-bottom: 18px; }
.selected-method { margin: 0 20px 13px; padding: 13px; background: #f1f6f3; border-radius: 9px; }
.selected-method span, .selected-method small { display: block; color: var(--ink-500); font-size: 8px; }.selected-method strong { display: block; margin: 3px 0; color: var(--forest-800); font-size: 10px; }
.threshold-list { display: grid; gap: 9px; margin: 0 20px 14px; }
.threshold-result { padding: 14px; border: 1px solid var(--line); border-radius: 11px; }
.threshold-result-label { display: flex; align-items: center; gap: 7px; color: var(--ink-500); font-size: 8px; font-weight: 750; text-transform: uppercase; }
.threshold-result-label i { width: 7px; height: 7px; border-radius: 50%; }.threshold-result.aerobic i { background: var(--mint-500); }.threshold-result.anaerobic i { background: #ed8e4a; }
.threshold-result > strong { display: block; margin: 6px 0 8px; color: var(--forest-950); font-size: 25px; letter-spacing: -.04em; }.threshold-result > strong small { font-size: 9px; }
.threshold-result dl { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin: 0; }.threshold-result dl > div { padding: 7px; background: #f5f7f4; border-radius: 7px; }.threshold-result dt { color: var(--ink-500); font-size: 7px; }.threshold-result dd { margin: 2px 0 0; font-size: 9px; font-weight: 700; }
.threshold-panel > .button { width: calc(100% - 40px); margin: 0 20px; }
.empty-chart { display: grid; min-height: 340px; place-items: center; align-content: center; padding: 20px; text-align: center; }.empty-chart > span { color: var(--mint-500); font-size: 50px; }.empty-chart h3 { margin: 0; }.empty-chart p { margin: 5px 0 15px; color: var(--ink-500); font-size: 10px; }
.analysis-lower-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px; margin-bottom: 17px; }
.threshold-table { padding-bottom: 14px; }.threshold-table-head, .threshold-table-row { display: grid; grid-template-columns: 1fr .8fr .7fr 1.4fr; gap: 8px; align-items: center; padding: 9px 23px; }.threshold-table-head { color: var(--ink-500); background: #f6f8f5; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 8px; font-weight: 750; text-transform: uppercase; }.threshold-table-row { border-bottom: 1px solid #eef1ee; font-size: 10px; }.threshold-table-row strong { font-size: 10px; }.threshold-table-row small { color: var(--ink-500); }
.pwc-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; margin: 0 23px 23px; overflow: hidden; background: var(--line); border: 1px solid var(--line); border-radius: 10px; }.pwc-grid article { display: flex; min-height: 88px; flex-direction: column; justify-content: center; padding: 12px; background: #f9faf8; }.pwc-grid span { color: var(--ink-500); font-size: 8px; font-weight: 750; }.pwc-grid strong { color: var(--forest-950); font-size: 16px; }.pwc-grid strong small, .pwc-grid article > small { color: var(--ink-500); font-size: 8px; }
.zones-panel { margin-bottom: 17px; overflow: hidden; }
.zones-table { width: 100%; border-collapse: collapse; }.zones-table th { padding: 9px 20px; color: var(--ink-500); background: #f5f7f4; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 8px; text-align: left; text-transform: uppercase; }.zones-table td { padding: 11px 20px; border-bottom: 1px solid #edf0ed; font-size: 10px; }.zones-table tr:last-child td { border: 0; }.zones-table td:first-child { display: flex; align-items: center; gap: 10px; }.zones-table td > strong { font-size: 10px; }.zones-table td small { color: var(--ink-500); font-size: 8px; }
.zone-badge { display: inline-flex; min-width: 45px; justify-content: center; padding: 5px 7px; color: #17332e; border-radius: 6px; font-size: 8px; font-weight: 850; }.zone-badge.zone-cyan, .zone-cell.zone-cyan { background: #aee7ed; }.zone-badge.zone-green, .zone-cell.zone-green { background: #b7eaba; }.zone-badge.zone-yellow, .zone-cell.zone-yellow { background: #f1e88a; }.zone-badge.zone-orange, .zone-cell.zone-orange { background: #f5bf91; }.zone-badge.zone-red, .zone-cell.zone-red { background: #efaaaa; }
.empty-inline { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 25px; border-top: 1px solid var(--line); }.empty-inline strong { font-size: 12px; }.empty-inline p { margin: 2px 0 0; color: var(--ink-500); font-size: 10px; }
.raw-values-panel { margin-bottom: 15px; overflow: hidden; }.raw-values-panel details summary { display: flex; align-items: center; justify-content: space-between; padding: 17px 23px; cursor: pointer; list-style: none; }.raw-values-panel summary::-webkit-details-marker { display: none; }.raw-values-panel summary > span:first-child { display: flex; flex-direction: column; }.raw-values-panel summary strong { font-size: 11px; }.raw-values-panel summary small { color: var(--ink-500); font-size: 8px; }.raw-values-panel details[open] summary > span:last-child { transform: rotate(45deg); }
.danger-actions { text-align: right; }.danger-actions a { color: #a74d4d; font-size: 9px; }

/* Test comparison */
.comparison-selector-panel, .comparison-chart-panel, .comparison-metrics-panel { margin-bottom: 17px; overflow: hidden; }
.comparison-selector { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) auto; gap: 14px; align-items: end; padding: 0 25px 12px; }
.comparison-selector .form-group { margin: 0; }
.comparison-form-errors { grid-column: 1/-1; }
.comparison-direction { display: grid; width: 31px; height: 42px; place-items: center; color: var(--forest-700); font-size: 19px; }
.comparison-selector-note { margin: 0; padding: 10px 25px 15px; color: var(--ink-500); background: #f8faf7; border-top: 1px solid var(--line); font-size: 9px; }
.comparison-snapshots { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: 16px; align-items: center; margin-bottom: 17px; }
.comparison-snapshot { position: relative; display: flex; min-height: 132px; flex-direction: column; justify-content: center; padding: 22px 25px 20px 30px; overflow: hidden; }
.comparison-snapshot::before { position: absolute; inset: 0 auto 0 0; width: 5px; content: ""; }
.comparison-snapshot-baseline::before { background: repeating-linear-gradient(180deg,#869c95 0 8px,transparent 8px 13px); }
.comparison-snapshot-follow-up::before { background: var(--mint-500); }
.comparison-role { color: var(--ink-500); font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.comparison-snapshot > strong { margin: 3px 0 2px; color: var(--forest-950); font-size: 26px; letter-spacing: -.035em; }
.comparison-snapshot > small { color: var(--ink-700); font-size: 10px; }
.comparison-method { width: fit-content; margin-top: 9px; padding: 4px 8px; color: var(--forest-700); background: #edf6f2; border-radius: 999px; font-size: 8px; font-weight: 720; }
.comparison-snapshot > p { margin: 6px 0 0; color: var(--ink-500); font-size: 8px; line-height: 1.35; }
.comparison-span { display: flex; min-width: 92px; flex-direction: column; align-items: center; padding: 12px 10px; color: var(--ink-500); background: rgba(255,255,255,.68); border: 1px solid var(--line); border-radius: 999px; text-align: center; }
.comparison-span strong { color: var(--forest-900); font-size: 16px; line-height: 1; }.comparison-span span { margin-top: 3px; font-size: 7px; text-transform: uppercase; }
.comparison-chart-panel .chart-component { padding-bottom: 20px; }
.comparison-table td { font-variant-numeric: tabular-nums; }
.comparison-table td:first-child > strong, .comparison-table td:first-child > small { display: block; }
.comparison-table td:first-child > small { max-width: 430px; margin-top: 2px; color: var(--ink-500); font-size: 8px; line-height: 1.35; }
.comparison-table td:not(:first-child) { white-space: nowrap; }
.comparison-delta { display: inline-flex; min-width: 70px; justify-content: flex-end; padding: 5px 7px; color: var(--forest-800); background: #edf5f2; border-radius: 7px; font-weight: 760; }
.comparison-delta.delta-even { color: var(--ink-500); background: #f0f2ef; }
.comparison-disclaimer { margin: 0 22px 20px; padding: 13px 15px; color: var(--ink-700); background: #f3f6f3; border-left: 3px solid #8da59d; border-radius: 4px 9px 9px 4px; }
.comparison-disclaimer strong { color: var(--forest-800); font-size: 9px; text-transform: uppercase; }.comparison-disclaimer p { margin: 3px 0 0; font-size: 9px; }

/* Login */
.login-view { background: var(--cream-100); }
.login-view .sidebar, .login-view .mobile-header { display: none; }
.login-view .app-main { margin-left: 0; }
.login-view .page-wrap { width: 100%; max-width: none; min-height: 100vh; padding: 0; }
.login-layout { display: grid; min-height: 100vh; grid-template-columns: minmax(420px, .85fr) minmax(460px, 1.15fr); }
.login-card { width: min(430px, calc(100% - 50px)); margin: auto; padding: 40px; background: white; border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.login-brand { display: flex; gap: 11px; align-items: center; margin-bottom: 42px; }
.login-brand > span { display: grid; width: 45px; height: 45px; place-items: center; color: var(--forest-950); background: var(--mint-400); border-radius: 13px 4px 13px 4px; font-weight: 900; }
.login-brand > div { display: flex; flex-direction: column; }
.login-brand strong { font-size: 12px; }
.login-brand small { color: var(--ink-500); font-size: 9px; text-transform: uppercase; }
.login-card h1 { margin: 0 0 7px; color: var(--forest-950); font-size: 35px; letter-spacing: -.045em; }
.login-intro { margin: 0 0 24px; color: var(--ink-500); font-size: 11px; }
.login-form { display: grid; gap: 15px; margin-top: 18px; }
.login-form label { display: block; margin-bottom: 6px; color: var(--ink-700); font-size: 10px; font-weight: 720; }
.login-form input:not([type="hidden"]) { width: 100%; min-height: 44px; padding: 9px 11px; color: var(--ink-900); background: #fbfcfa; border: 1px solid #cfd9d3; border-radius: 8px; outline: 0; }
.login-form input:focus { background: white; border-color: var(--mint-500); box-shadow: 0 0 0 3px rgba(57,191,165,.14); }
.login-card > footer { display: flex; gap: 8px; align-items: center; margin-top: 24px; padding-top: 18px; color: var(--ink-500); border-top: 1px solid var(--line); font-size: 9px; }
.login-aside { display: flex; flex-direction: column; justify-content: space-between; padding: 70px; color: white; background: radial-gradient(circle at 80% 15%, rgba(100,209,187,.2), transparent 28%), linear-gradient(145deg, var(--forest-800), var(--forest-950)); }
.login-aside > div { margin: auto 0; }
.login-aside p { margin: 0; font-size: clamp(28px,4vw,57px); font-weight: 720; line-height: 1.1; letter-spacing: -.05em; }
.login-aside p:nth-child(2) { color: var(--mint-400); }
.login-aside small { color: #a5beb7; font-size: 10px; }

.message-stack { position: fixed; z-index: 50; top: 20px; right: 25px; display: grid; gap: 8px; width: min(390px, calc(100vw - 40px)); }
.message { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; padding: 12px 14px; color: white; background: var(--forest-800); border: 1px solid rgba(255,255,255,.15); border-radius: 11px; box-shadow: var(--shadow-md); font-size: 11px; }.message svg { color: var(--mint-400); }.message button { color: #b9cdc7; background: none; border: 0; cursor: pointer; font-size: 18px; }
.narrow-page { width: min(620px, 100%); margin: 70px auto; }.confirm-card { padding: 38px; text-align: center; }.confirm-mark { display: grid; width: 55px; height: 55px; margin: 0 auto 15px; place-items: center; color: #ad4c4c; background: #fff0f0; border-radius: 50%; font-size: 25px; font-weight: 800; }.confirm-card h1 { margin: 4px 0 10px; font-size: 27px; }.confirm-card > p:not(.eyebrow) { color: var(--ink-500); font-size: 12px; }.confirm-card form { display: flex; gap: 10px; justify-content: center; margin-top: 22px; }

/* Report */
.report-view { background: #dfe4df; }
.report-view .sidebar { display: none; }
.report-view .app-main { margin-left: 0; }
.report-view .page-wrap { max-width: none; padding: 25px 35px 60px; }
.report-toolbar { position: sticky; z-index: 20; top: 14px; display: flex; width: min(210mm, 100%); align-items: center; justify-content: space-between; margin: 0 auto 18px; padding: 9px 11px; color: white; background: rgba(8,37,33,.92); border-radius: 12px; box-shadow: var(--shadow-md); backdrop-filter: blur(10px); }
.report-toolbar > div { display: flex; align-items: center; gap: 10px; }.report-toolbar > div > span { color: #b8cbc5; font-size: 10px; }.report-toolbar .button-ghost { color: white; }
.report-document { display: grid; gap: 24px; justify-content: center; }
.report-page { position: relative; width: 210mm; min-height: 297mm; padding: 17mm 18mm 15mm; overflow: hidden; background: white; box-shadow: 0 15px 50px rgba(8,37,33,.16); }
.report-cover { display: flex; flex-direction: column; color: white; background: linear-gradient(145deg, #0f473f, #071f1c 76%); }
.report-cover::before { position: absolute; inset: 0; content: ""; background: radial-gradient(circle at 78% 22%, rgba(100,209,187,.18), transparent 28%), linear-gradient(115deg, transparent 45%, rgba(255,255,255,.025) 45% 47%, transparent 47%); }
.report-brand { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; }
.report-brand > div:last-child { display: flex; flex-direction: column; align-items: flex-end; color: #b9cdc7; font-size: 9pt; }.report-brand strong { color: white; font-size: 10pt; }.report-brand a { color: #8fb3a9; text-decoration: none; }
.report-logo { display: flex; gap: 8px; align-items: center; }.report-logo > span { display: grid; width: 22mm; height: 22mm; place-items: center; color: var(--forest-950); background: var(--mint-400); border-radius: 7mm 2mm 7mm 2mm; font-size: 19pt; font-weight: 900; }.report-logo small { color: #b7ccc6; font-size: 7pt; line-height: 1.1; text-transform: uppercase; }
.cover-content { position: relative; z-index: 1; margin: auto 0; padding: 0 8mm; }.cover-content > p { margin: 0; color: var(--mint-400); font-size: 15pt; font-weight: 450; letter-spacing: .07em; text-transform: uppercase; }.cover-content h1 { max-width: 130mm; margin: 0 0 18mm; font-size: 55pt; font-weight: 760; line-height: .95; letter-spacing: -.055em; }.cover-content > span { display: block; color: #9eb9b1; font-size: 10pt; text-transform: uppercase; }.cover-content h2 { margin: 2mm 0 11mm; font-size: 27pt; font-weight: 530; }.cover-date { display: flex; flex-direction: column; padding-left: 5mm; border-left: 1.5mm solid var(--mint-500); }.cover-date small { color: #91aca4; font-size: 7pt; text-transform: uppercase; }.cover-date strong { font-size: 11pt; }
.cover-curve { position: absolute; right: -20mm; bottom: 32mm; width: 175mm; opacity: .3; transform: rotate(-3deg); }.cover-curve svg { width: 100%; height: auto; overflow: visible; }.cover-curve path:first-child { fill: none; stroke: #ef6d62; stroke-width: 2; }.cover-curve path:last-child { fill: none; stroke: #64d1bb; stroke-width: 2; }
.report-cover > footer { position: relative; z-index: 1; display: flex; justify-content: space-between; padding-top: 5mm; color: #759b91; border-top: .2mm solid rgba(255,255,255,.13); font-size: 7pt; }
.report-page-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8mm; padding-bottom: 4mm; border-bottom: .4mm solid var(--forest-800); }.report-page-header > div:first-child { display: flex; flex-direction: column; }.report-page-header strong { color: var(--forest-900); font-size: 14pt; }.report-page-header span { color: #788680; font-size: 7pt; }.mini-logo { display: grid; width: 12mm; height: 12mm; place-items: center; color: white; background: var(--forest-800); border-radius: 3mm 1mm 3mm 1mm; font-size: 9pt; font-weight: 900; }
.report-section { margin-bottom: 8mm; }.report-section > h2 { margin: 0 0 3mm; padding-bottom: 2mm; color: var(--forest-800); border-bottom: .25mm solid #a9c5bd; font-size: 13pt; font-weight: 600; text-align: center; }
.report-definition-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8mm; }.report-definition-grid dl { margin: 0; }.report-definition-grid dl > div { display: grid; grid-template-columns: 42mm 1fr; padding: 1.7mm 2mm; border-bottom: .2mm solid #d5dcd7; font-size: 8pt; }.report-definition-grid dt { font-weight: 720; }.report-definition-grid dd { margin: 0; }
.report-zones { width: 100%; border-collapse: collapse; font-size: 7.5pt; }.report-zones th { padding: 2mm; color: #66736f; border-bottom: .25mm solid #aab5b0; text-align: left; }.report-zones td { padding: 2.5mm; border-bottom: .2mm solid #d9dfdb; }.report-zones td:first-child { width: 52mm; }.report-zones .zone-cell { display: flex; gap: 3mm; align-items: center; }.report-zones .zone-cell strong { min-width: 11mm; }.report-zones .zone-cell span { font-size: 6.5pt; }
.report-missing { padding: 8mm; color: #7d8884; background: #f3f5f2; border: .2mm dashed #bdc8c2; text-align: center; font-size: 8pt; }
.report-explanation { margin-top: 8mm; padding: 4mm; color: #495752; background: #f2f6f3; border-left: 1mm solid var(--forest-700); font-size: 7pt; line-height: 1.45; }.report-explanation p { margin: 1mm 0 0; }
.report-footer { position: absolute; right: 18mm; bottom: 10mm; left: 18mm; display: flex; justify-content: space-between; padding-top: 2mm; color: #6d7974; border-top: .2mm solid #dce1de; font-size: 7pt; }
.report-chart-section .chart-component { padding: 0; }.report-chart-section .lactate-chart { min-height: 0; }.report-chart-section .chart-svg { max-height: 95mm; }.report-chart-section .chart-legend { padding-right: 0; font-size: 6pt; }
.report-two-columns { display: grid; grid-template-columns: .85fr 1.15fr; gap: 7mm; }.report-data-table { width: 100%; border-collapse: collapse; font-size: 7pt; }.report-data-table th { padding: 1.7mm; color: #52615c; background: #e8f2ef; border: .2mm solid #b8c8c2; text-align: left; }.report-data-table td { padding: 1.7mm; border: .2mm solid #d4ddd8; }.report-data-table.compact { margin-top: 3mm; }
.report-thresholds { display: grid; grid-template-columns: 1fr 1fr; gap: 2mm; }.report-thresholds article { display: flex; flex-direction: column; padding: 3mm; background: #f1f6f3; border-radius: 2mm; }.report-thresholds span { color: #66766f; font-size: 6pt; text-transform: uppercase; }.report-thresholds strong { color: var(--forest-900); font-size: 12pt; }.report-thresholds small { color: #6b7773; font-size: 6pt; }
.report-source { margin: 2mm 0 3mm; padding: 2mm; color: #52615c; background: #f3f6f4; border-left: .6mm solid #7fa197; font-size: 6.5pt; line-height: 1.35; }
.report-pwc { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: #cfd9d3; border: .2mm solid #cfd9d3; }.report-pwc > div { display: flex; flex-direction: column; padding: 3mm; background: #f7f9f7; }.report-pwc span { color: #65736e; font-size: 6pt; }.report-pwc strong { color: var(--forest-900); font-size: 10pt; }.report-pwc small { color: #7a8581; font-size: 6pt; }
.report-disclaimer { position: absolute; right: 18mm; bottom: 18mm; left: 18mm; padding: 3mm; color: #67736e; background: #f4f6f3; border-left: .8mm solid #8ba89f; font-size: 6pt; line-height: 1.4; }.report-disclaimer p { margin: 1mm 0 0; }
.report-warnings { margin: -3mm 0 4mm; padding: 2.5mm 3mm; color: #714f18; background: #fff5dc; border-left: .8mm solid #d9a039; font-size: 6.5pt; }
.report-warnings ul { margin: 1mm 0 0; padding-left: 4mm; }
.report-analysis-page { overflow: visible; }
.report-analysis-page .report-disclaimer { position: static; margin-top: 5mm; }
.report-analysis-page .report-footer { position: static; margin-top: 5mm; }
.report-data-table tr, .report-section { break-inside: avoid; page-break-inside: avoid; }
.report-zones .zone-cell span { max-width: 34mm; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.report-chart-section .chart-svg { max-height: 80mm; }
.report-analysis-page { overflow: hidden; }
.report-analysis-page .report-footer { position: absolute; margin-top: 0; }
.report-section { break-inside: auto; page-break-inside: auto; }
.report-data-table tr { break-inside: avoid; page-break-inside: avoid; }
.report-stage-table td { padding: 3mm 2mm; font-size: 8pt; }
.report-stages-page .report-explanation { margin-top: 10mm; }

/* Comparison report */
.comparison-report-cover .cover-content h1 { max-width: 155mm; font-size: 49pt; }
.comparison-report-pair-section { margin-bottom: 4mm; }
.comparison-report-tests { display: grid; grid-template-columns: minmax(0,1fr) 20mm minmax(0,1fr); gap: 4mm; align-items: center; }
.comparison-report-tests > article { min-width: 0; padding: 4mm; background: #f3f7f4; border-left: 1mm solid #8ca39b; border-radius: 2mm; overflow-wrap: anywhere; }
.comparison-report-tests > article:last-child { border-left-color: var(--mint-500); }
.comparison-report-tests > article > span { display: block; color: #6c7974; font-size: 6pt; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.comparison-report-tests > article > strong { display: block; margin: 1mm 0; color: var(--forest-950); font-size: 14pt; }
.comparison-report-tests > article > small { display: block; color: #5d6a66; font-size: 6.5pt; }
.comparison-report-tests > article > b { display: inline-block; margin-top: 2mm; padding: 1mm 2mm; color: var(--forest-700); background: #e6f1ed; border-radius: 8mm; font-size: 6pt; }
.comparison-report-tests > article > p { min-height: 8mm; margin: 1.5mm 0 2mm; color: #65726e; font-size: 6pt; line-height: 1.35; }
.comparison-report-tests > article > p em { font-style: normal; }
.comparison-report-tests dl { margin: 0; }
.comparison-report-tests dl > div { display: grid; grid-template-columns: 17mm 1fr; gap: 2mm; padding: .8mm 0; border-top: .2mm solid #d6dfda; font-size: 5.7pt; }
.comparison-report-tests dt { color: #6c7974; font-weight: 720; }.comparison-report-tests dd { min-width: 0; margin: 0; }
.comparison-report-tests > div { display: flex; flex-direction: column; align-items: center; justify-content: center; color: #6c7974; text-align: center; }
.comparison-report-tests > div strong { color: var(--forest-900); font-size: 16pt; line-height: 1; }.comparison-report-tests > div span { margin-top: 1mm; font-size: 6pt; text-transform: uppercase; }
.comparison-report-warning-reference { display: flex; align-items: center; justify-content: space-between; gap: 5mm; margin: 0 0 3mm; }
.comparison-report-warning-reference span { font-size: 6pt; }
.comparison-report-chart { margin-bottom: 3mm; }.comparison-report-chart .chart-svg { max-height: 82mm; }
.comparison-report-chart .chart-legend { gap: 2mm 4mm; padding-bottom: 1mm; }
.comparison-report-results .report-section { margin-bottom: 5mm; }
.comparison-report-metrics { font-size: 6.2pt; font-variant-numeric: tabular-nums; }
.comparison-report-metrics th, .comparison-report-metrics td { padding: 1.25mm 1.5mm; }
.comparison-report-metrics th:first-child { width: 43%; }.comparison-report-metrics td:not(:first-child) { white-space: nowrap; }
.comparison-report-metrics td:first-child strong, .comparison-report-metrics td:first-child small { display: block; }
.comparison-report-metrics td:first-child small { margin-top: .4mm; color: #71807a; font-size: 5.2pt; line-height: 1.25; }
.comparison-report-zones-section .report-zones { font-size: 6.5pt; }.comparison-report-zones-section .report-zones th, .comparison-report-zones-section .report-zones td { padding: 1.5mm 2mm; }
.comparison-report-results .comparison-report-disclaimer { position: static; margin-top: 4mm; }
.comparison-report-warning-list { display: grid; gap: 3mm; }
.comparison-report-warning-list article { padding: 4mm; background: #fff8e8; border-left: 1mm solid #d9a039; break-inside: avoid; page-break-inside: avoid; }
.comparison-report-warning-list span { color: #815d23; font-size: 6pt; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.comparison-report-warning-list p { margin: 1mm 0 0; color: #5b5141; font-size: 8pt; line-height: 1.45; }
.comparison-report-warning-page .report-explanation { margin-top: 7mm; }

@media (max-width: 1180px) {
  .metric-grid { grid-template-columns: repeat(2,1fr); }
  .dashboard-grid { grid-template-columns: 1fr; }
  .workflow-panel { display: none; }
  .analysis-layout { grid-template-columns: 1fr; }
  .threshold-panel { display: grid; grid-template-columns: 230px 1fr auto; gap: 12px; align-items: center; padding: 18px; }
  .threshold-panel .panel-header { display: none; }.threshold-panel .selected-method, .threshold-panel .threshold-list { margin: 0; }.threshold-panel .threshold-list { grid-template-columns: 1fr 1fr; }.threshold-panel > .button { width: auto; margin: 0; }
  .form-grid-4 { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 900px) {
  .sidebar { transform: translateX(-105%); transition: transform .22s ease; box-shadow: var(--shadow-md); }
  .sidebar-open .sidebar { transform: none; }
  .sidebar-open::after { position: fixed; z-index: 25; inset: 0; content: ""; background: rgba(8,37,33,.35); }
  .app-main { margin-left: 0; }
  .mobile-header { position: sticky; z-index: 20; top: 0; display: flex; height: 59px; align-items: center; gap: 12px; padding: 0 20px; background: rgba(250,251,248,.93); border-bottom: 1px solid var(--line); backdrop-filter: blur(12px); }
  .icon-button { display: grid; width: 36px; height: 36px; place-items: center; color: var(--forest-900); background: white; border: 1px solid var(--line); border-radius: 9px; }
  .mobile-brand { color: var(--forest-900); font-size: 15px; font-weight: 900; text-decoration: none; }.mobile-brand span { color: var(--ink-500); font-weight: 600; }
  .page-wrap { padding: 30px 22px 60px; }
  .athlete-grid { grid-template-columns: 1fr; }
  .profile-grid { grid-template-columns: 1fr; }
  .threshold-review-grid { grid-template-columns: 1fr 1fr; }.method-summary { grid-column: 1/-1; }
  .zone-editor-values { grid-template-columns: 1fr 1fr; }.zone-description { grid-column: 1/-1; }
  .analysis-lower-grid { grid-template-columns: 1fr; }
  .report-view .page-wrap { padding: 20px 0 50px; overflow-x: auto; }.report-toolbar { width: calc(100% - 30px); }.report-page { transform-origin: top left; }
  .report-document { width: max-content; min-width: 100%; justify-content: start; }
  .login-layout { grid-template-columns: 1fr; }
  .login-aside { display: none; }
}

@media (max-width: 680px) {
  .page-wrap { padding-right: 15px; padding-left: 15px; }
  .page-header, .profile-header, .analysis-header { align-items: flex-start; flex-direction: column; gap: 18px; }
  .header-actions { width: 100%; }.header-actions .button { flex: 1; }
  .metric-grid { grid-template-columns: 1fr 1fr; }.metric-card { min-height: 120px; padding: 18px; }.metric-card > strong { font-size: 28px; }.method-card > strong { font-size: 16px; }
  .form-grid-2, .form-grid-3, .form-grid-4 { grid-template-columns: 1fr; }.span-2 { grid-column: auto; }
  .form-section { padding: 19px; }.threshold-form-grid { grid-template-columns: 1fr; }.threshold-form-column { grid-template-columns: 1fr; }
  .form-actions, .form-actions > div { width: 100%; flex-direction: column-reverse; }.form-actions .button { width: 100%; }
  .stepper { justify-content: flex-start; overflow-x: auto; }.stepper-item > div { display: none; }.stepper-line { min-width: 20px; }
  .threshold-review-grid { grid-template-columns: 1fr; }.method-summary { grid-column: auto; }
  .zone-editor-title { grid-template-columns: 8px 80px 1fr; }.zone-color-field { grid-column: 2/-1; }.zone-editor-values { grid-template-columns: 1fr; margin-left: 0; }.zone-description { grid-column: auto; }
  .analysis-tabs { overflow-x: auto; }.analysis-tabs a { white-space: nowrap; }
  .analysis-metrics { grid-template-columns: repeat(2,1fr); }.analysis-metrics article:nth-child(2n) { border-right: 0; }.analysis-metrics article:last-child { grid-column: 1/-1; border-top: 1px solid var(--line); }
  .comparison-selector { grid-template-columns: 1fr; padding-right: 18px; padding-left: 18px; }
  .comparison-selector .button { width: 100%; }
  .comparison-direction { width: 100%; height: 18px; transform: rotate(90deg); }
  .comparison-selector-note { padding-right: 18px; padding-left: 18px; }
  .comparison-snapshots { grid-template-columns: 1fr; }
  .comparison-span { min-width: 130px; justify-self: center; }
  .chart-control-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .chart-control-options label { align-items: flex-start; white-space: normal; }
  .chart-controls-footer { align-items: flex-start; flex-direction: column; gap: 3px; }
  .threshold-panel { display: block; }.threshold-panel .selected-method { margin-bottom: 10px; }.threshold-panel .threshold-list { display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 10px; }.threshold-panel > .button { width: 100%; }
  .pwc-grid { grid-template-columns: 1fr 1fr; }
  .threshold-table-head, .threshold-table-row { grid-template-columns: 1fr 1fr 1fr; }.threshold-table-head span:last-child, .threshold-table-row small:last-child { display: none; }
  .empty-inline { align-items: stretch; flex-direction: column; }
  .search-bar .button { display: none; }
  .message-stack { top: 70px; right: 12px; }
  .timeline-item { grid-template-columns: 12px 1fr auto; gap: 5px 10px; padding: 10px 0; }
  .timeline-item .timeline-dot { grid-row: 1 / 3; }
  .timeline-item .timeline-date { grid-column: 2; }
  .timeline-item .timeline-body { grid-column: 2; }
  .timeline-item .badge { grid-column: 3; grid-row: 1 / 3; }
  .timeline-item > svg { display: none; }
  .login-card { width: min(430px, calc(100% - 28px)); padding: 27px; }
}

@media print {
  @page { size: A4 portrait; margin: 0; }
  html, body { width: 210mm; min-width: 210mm; margin: 0; padding: 0; background: white !important; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .sidebar, .mobile-header, .report-toolbar, .message-stack, .chart-controls { display: none !important; }
  .app-main { margin: 0 !important; }
  .page-wrap, .report-view .page-wrap { width: 210mm; max-width: none; margin: 0; padding: 0; }
  .report-document { display: block; }
  .report-page { width: 210mm; min-height: 297mm; margin: 0; box-shadow: none; break-after: page; page-break-after: always; }
  .report-page:last-child { break-after: auto; page-break-after: auto; }
  .report-analysis-page { break-inside: auto; page-break-inside: auto; }
}
