:root {
  color-scheme: light;
  --bg: #f4f5f7;
  --card-bg: #ffffff;
  --card-subtle: #f7f8fa;
  --text: #17191f;
  --text-soft: #626874;
  --text-faint: #8e94a0;
  --line: #e7e9ee;
  --primary: #1677ff;
  --primary-dark: #0963d7;
  --primary-soft: #eaf3ff;
  --green: #1daf68;
  --green-soft: #e7f8ef;
  --red: #e74652;
  --red-soft: #fff0f1;
  --orange: #f39b24;
  --orange-soft: #fff5e7;
  --purple: #7559e9;
  --shadow: 0 8px 28px rgba(26, 36, 54, .055), 0 1px 3px rgba(26, 36, 54, .05);
  --shadow-hover: 0 14px 40px rgba(26, 36, 54, .11), 0 2px 6px rgba(26, 36, 54, .06);
  --radius: 22px;
  --radius-small: 14px;
  --sidebar: 238px;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;
  font-synthesis: none;
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0b0d11;
  --card-bg: #15181e;
  --card-subtle: #1c2028;
  --text: #f5f6f8;
  --text-soft: #a4a9b4;
  --text-faint: #747b88;
  --line: #282d36;
  --primary: #4596ff;
  --primary-dark: #70adff;
  --primary-soft: #152b49;
  --green: #3ed381;
  --green-soft: #143224;
  --red: #ff6570;
  --red-soft: #381b20;
  --orange-soft: #382817;
  --shadow: 0 10px 35px rgba(0, 0, 0, .18);
  --shadow-hover: 0 16px 45px rgba(0, 0, 0, .3);
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--bg); scroll-behavior: smooth; overflow-x: hidden; }
body { margin: 0; min-height: 100%; overflow-x: hidden; background: var(--bg); color: var(--text); -webkit-font-smoothing: antialiased; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
svg { flex: 0 0 auto; }
[hidden] { display: none !important; }

.app-shell { min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; width: var(--sidebar); padding: 28px 20px 24px; border-right: 1px solid var(--line); background: color-mix(in srgb, var(--card-bg) 94%, transparent); backdrop-filter: blur(20px); z-index: 20; display: flex; flex-direction: column; }
.brand { display: inline-flex; align-items: center; gap: 11px; font-weight: 750; font-size: 21px; letter-spacing: -.5px; }
.brand-mark { width: 31px; height: 31px; border-radius: 10px; background: linear-gradient(145deg, #48a3ff, #0568ec); display: flex; align-items: flex-end; justify-content: center; gap: 2.5px; padding: 7px; box-shadow: 0 5px 13px rgba(10, 111, 241, .24); }
.brand-mark span { width: 3.5px; background: white; border-radius: 3px; }
.brand-mark span:nth-child(1) { height: 7px; }.brand-mark span:nth-child(2) { height: 16px; }.brand-mark span:nth-child(3) { height: 11px; }
.main-nav { display: flex; flex-direction: column; gap: 5px; margin-top: 52px; }
.nav-link { display: flex; align-items: center; gap: 13px; padding: 12px 13px; border-radius: 13px; color: var(--text-soft); font-size: 14px; font-weight: 590; transition: .2s ease; }
.nav-link:hover { color: var(--text); background: var(--card-subtle); transform: translateX(2px); }
.nav-link.is-active { color: var(--primary); background: var(--primary-soft); }
.sidebar-footer { margin-top: auto; }
.theme-toggle { border: 0; width: 100%; display: flex; gap: 11px; align-items: center; padding: 11px 12px; color: var(--text-soft); background: none; border-radius: 12px; cursor: pointer; text-align: left; font-size: 13px; }
.theme-toggle:hover { background: var(--card-subtle); color: var(--text); }
.privacy-note { margin-top: 18px; color: var(--text-faint); font-size:12px; line-height: 1.4; display: flex; gap: 7px; align-items: center; }
.privacy-note span { color: var(--green); font-size:12px; }
.main-content { min-height: 100vh; margin-left: var(--sidebar); }
.mobile-header, .bottom-nav { display: none; }
.page { width: min(1380px, 100%); margin: 0 auto; padding: 46px 48px 80px; }

.page-heading { min-height: 74px; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.page-heading h1 { margin: 2px 0 3px; font-size: clamp(29px, 3vw, 39px); line-height: 1.1; letter-spacing: -1.25px; }
.eyebrow, .section-kicker { margin: 0; color: var(--primary); font-weight: 700; font-size:12px; letter-spacing: .095em; text-transform: uppercase; }
.heading-subtitle { color: var(--text-soft); margin: 6px 0 0; font-size: 14px; }
.back-link { display: inline-block; color: var(--primary); font-size: 13px; margin-bottom: 11px; }
.button { min-height: 44px; padding: 0 19px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 13px; cursor: pointer; font-size: 13px; font-weight: 680; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.button:hover { transform: translateY(-1px); }
.button-primary { background: var(--primary); color: white; box-shadow: 0 6px 18px rgba(22, 119, 255, .22); }
.button-primary:hover { background: var(--primary-dark); box-shadow: 0 8px 22px rgba(22, 119, 255, .28); }
.button-secondary { color: var(--text); background: var(--card-bg); border: 1px solid var(--line); }
.button-danger { color: var(--red); background: var(--red-soft); }
.button-block { width: 100%; }
.icon-button { border: 0; display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: var(--card-subtle); color: var(--text-soft); cursor: pointer; }
.icon-button.subtle { width: 34px; height: 34px; background: transparent; }
.text-link, .ghost-link { color: var(--primary); font-size: 12px; font-weight: 650; }
.ghost-link { display: inline-flex; align-items: center; gap: 3px; }
.light-link { color: rgba(255,255,255,.8); }

.card { background: var(--card-bg); border: 1px solid color-mix(in srgb, var(--line) 78%, transparent); border-radius: var(--radius); box-shadow: var(--shadow); }
.card-dark { color: white; background: radial-gradient(circle at 85% -30%, rgba(56, 143, 255, .5), transparent 45%), linear-gradient(135deg, #17202e 0%, #0e1219 100%); border-color: rgba(255,255,255,.08); box-shadow: 0 16px 40px rgba(8, 20, 38, .17); }
:root[data-theme="dark"] .card-dark { background: radial-gradient(circle at 85% -30%, rgba(44, 129, 238, .45), transparent 43%), linear-gradient(135deg, #1d2735 0%, #12161e 100%); }
.card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.card-heading h2, .insight-header h2 { margin: 4px 0 0; font-size: 19px; letter-spacing: -.45px; }
.flash { position: fixed; top: 22px; left: calc(var(--sidebar) + 50%); transform: translateX(-50%); width: min(520px, calc(100vw - var(--sidebar) - 40px)); z-index: 100; display: flex; justify-content: space-between; align-items: center; padding: 13px 14px 13px 18px; border-radius: 14px; color: white; box-shadow: 0 14px 35px rgba(0,0,0,.17); font-size: 13px; animation: slideDown .3s ease; }
.flash-success { background: #198754; }.flash-alert { background: #d43d49; }.flash button { border: 0; background: none; color: inherit; font-size: 20px; cursor: pointer; }.flash.is-leaving { opacity: 0; transform: translate(-50%, -10px); transition: .25s; }
@keyframes slideDown { from { opacity: 0; transform: translate(-50%, -12px); } }

/* Dashboard */
.dashboard-heading { margin-bottom: 25px; }
.current-overview { padding: 28px 30px 31px; }
.current-topline { display: flex; justify-content: space-between; align-items: flex-start; }
.current-topline .section-kicker { color: #6cb2ff; }.current-topline p { margin: 6px 0 0; color: rgba(255,255,255,.48); font-size:12px; }
.current-metrics { margin-top: 27px; display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); }
.primary-metric, .current-metric { padding: 4px 28px; border-right: 1px solid rgba(255,255,255,.1); }
.primary-metric { padding-left: 0; }.current-metric:last-child { border: 0; }
.metric-icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; color: var(--metric-color, var(--primary)); background: color-mix(in srgb, var(--metric-color, var(--primary)) 12%, transparent); }
.card-dark .metric-icon { color: #a8d0ff; background: rgba(255,255,255,.09); }.card-dark .metric-icon.blue { background: rgba(22,119,255,.22); color: #71b6ff; }
.primary-metric > span, .current-metric > span { display: block; margin-top: 12px; color: rgba(255,255,255,.58); font-size:12px; }
.primary-metric > strong { display: block; margin-top: 2px; font-size: 31px; letter-spacing: -1px; }.current-metric > strong { display: block; margin: 4px 0 0; font-size: 20px; }
.delta { display: inline-flex; margin-top: 5px; font-size:12px; font-weight: 650; }.delta.improved { color: #52df91; }.delta.worsened { color: #ff7780; }.delta.neutral { color: var(--text-faint); }
.stat-grid { margin-top: 18px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.stat-card { min-height: 116px; padding: 20px; display: flex; align-items: center; gap: 15px; }
.stat-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; }.stat-icon.green { color: var(--green); background: var(--green-soft); }.stat-icon.coral { color: #ef5f65; background: #fff0ef; }.stat-icon.purple { color: var(--purple); background: #f0edff; }.stat-icon.blue { color: var(--primary); background: var(--primary-soft); }
:root[data-theme="dark"] .stat-icon.coral { background: #3d2021; }:root[data-theme="dark"] .stat-icon.purple { background: #29213e; }
.stat-card span { display: block; color: var(--text-soft); font-size:12px; }.stat-card strong { display: block; margin: 2px 0 1px; font-size: 20px; letter-spacing: -.45px; }.stat-card small { color: var(--text-faint); font-size:12px; }
.dashboard-columns { margin-top: 18px; display: grid; grid-template-columns: minmax(0, 1.72fr) minmax(285px, .72fr); gap: 18px; }
.chart-card { min-width: 0; padding: 25px; }
.chart-current { color: var(--text); font-size: 23px; font-weight: 720; letter-spacing: -.5px; }
.metric-pills { display: flex; gap: 5px; overflow-x: auto; scrollbar-width: none; margin: 22px -3px 9px; padding: 3px; }.metric-pills::-webkit-scrollbar { display:none; }
.metric-pill, .range-pill { white-space: nowrap; border: 0; background: transparent; color: var(--text-soft); border-radius: 9px; cursor: pointer; font-size:12px; font-weight: 640; padding: 7px 9px; }.metric-pill:hover, .range-pill:hover { background: var(--card-subtle); }.metric-pill.is-active { color: var(--primary); background: var(--primary-soft); }
.chart-canvas { position: relative; height: 260px; margin-top: 4px; }.chart-canvas svg { width: 100%; height: 100%; overflow: visible; }
.chart-grid-line { stroke: var(--line); stroke-width: 1; stroke-dasharray: 3 5; vector-effect: non-scaling-stroke; }.chart-axis-label, .chart-date-label { fill: var(--text-faint); font-size:12px; font-family: inherit; }.chart-date-label { font-size:12px; }
.chart-empty { position: absolute; inset: 0; display: grid; place-items: center; text-align: center; color: var(--text-faint); font-size: 12px; padding: 30px; }
.range-pills { display: flex; justify-content: center; gap: 3px; border-top: 1px solid var(--line); padding-top: 13px; }.range-pill.is-active { background: var(--text); color: var(--card-bg); }
.insights-column { display: flex; flex-direction: column; gap: 18px; }.insight-card, .mini-goals { padding: 23px; }
.insight-header { display: flex; align-items: center; gap: 12px; }.ai-badge { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: #734ee7; background: linear-gradient(145deg, #f1ecff, #e8e0ff); }.insight-card > p, .trainer-report > p { margin: 19px 0 16px; color: var(--text-soft); line-height: 1.7; font-size: 12px; }
:root[data-theme="dark"] .ai-badge { background: #2b2244; color: #a78cff; }
.mini-goal { margin-top: 18px; }.mini-goal > div:first-child { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }.mini-goal span { color: var(--text-soft); font-size:12px; }.mini-goal strong { font-size:12px; }.mini-goal strong small { color: var(--text-faint); font-weight: 500; }.progress-track { height: 6px; margin-top: 8px; overflow: hidden; border-radius: 10px; background: var(--card-subtle); }.progress-track span, .progress-track i { display: block; height: 100%; border-radius: inherit; background: var(--goal-color, var(--primary)); }
.compact-empty { min-height: 120px; color: var(--text-faint); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }.compact-empty p { max-width: 210px; margin: 10px 0 6px; font-size:12px; line-height: 1.5; }.compact-empty.large { min-height: 210px; }.recent-section { margin-top: 30px; }.recent-grid { margin-top: 14px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }.recent-card { min-width: 0; padding: 17px; display: flex; align-items: center; gap: 13px; transition: .2s; }.recent-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-hover); }.date-tile { width: 42px; height: 51px; display: flex; flex-direction: column; justify-content: center; align-items: center; border-radius: 12px; background: var(--card-subtle); }.date-tile strong { font-size: 17px; }.date-tile span { color: var(--text-faint); text-transform: uppercase; font-size:12px; }.recent-data { min-width: 0; flex: 1; }.recent-data > span, .recent-data > small { display: block; color: var(--text-faint); font-size:12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }.recent-data > strong { display: block; margin: 2px 0; font-size: 15px; }
.records-section { margin-top:18px; padding:24px; }.records-grid { display:grid; grid-template-columns:repeat(5,1fr); margin-top:19px; border:1px solid var(--line); border-radius:14px; overflow:hidden; }.records-grid > div { min-height:88px; padding:17px; border-right:1px solid var(--line); }.records-grid > div:last-child { border:0; }.records-grid span, .records-grid small { display:block; color:var(--text-faint); font-size:12px; }.records-grid strong { display:block; margin:5px 0 3px; font-size:14px; }
.trend-badge { display: inline-flex; align-items: center; gap: 2px; padding: 5px 7px; border-radius: 8px; font-size:12px; font-weight: 720; white-space: nowrap; }.trend-badge.improved { color: var(--green); background: var(--green-soft); }.trend-badge.worsened { color: var(--red); background: var(--red-soft); }.trend-badge.neutral { color: var(--text-faint); background: var(--card-subtle); }

/* Empty state and history */
.empty-state { min-height: 420px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 40px; }.empty-illustration { position: relative; width: 105px; height: 105px; display: grid; place-items: center; color: var(--primary); }.empty-ring { position: absolute; inset: 0; border: 1px solid var(--line); border-radius: 50%; box-shadow: inset 0 0 0 16px var(--card-subtle); }.empty-illustration svg { z-index: 1; }.empty-state h2 { margin: 20px 0 8px; font-size: 22px; }.empty-state p { max-width: 390px; color: var(--text-soft); line-height: 1.6; font-size: 13px; margin: 0 0 23px; }
.history-summary { display: grid; grid-template-columns: repeat(3, 1fr); padding: 21px 25px; margin-bottom: 30px; }.history-summary > div { padding: 0 24px; border-right: 1px solid var(--line); }.history-summary > div:first-child { padding-left: 0; }.history-summary > div:last-child { border: 0; }.history-summary span { display: block; color: var(--text-faint); font-size:12px; }.history-summary strong { display: block; margin-top: 5px; font-size: 16px; }
.timeline { max-width: 1020px; }.timeline-group { position: relative; padding-left: 28px; margin-bottom: 28px; }.timeline-group::before { content: ""; position: absolute; left: 7px; top: 35px; bottom: -28px; width: 1px; background: var(--line); }.timeline-group:last-child::before { display: none; }.timeline-group > h2 { color: var(--text-soft); font-size:12px; text-transform: uppercase; letter-spacing: .08em; margin: 0 0 12px; }.timeline-item { position: relative; margin-bottom: 10px; }.timeline-dot { position: absolute; z-index: 2; left: -25px; top: 30px; width: 9px; height: 9px; border: 2px solid var(--bg); border-radius: 50%; background: var(--primary); box-shadow: 0 0 0 3px var(--primary-soft); }.assessment-row { display: grid; grid-template-columns: 58px minmax(150px, 1.5fr) repeat(3, minmax(80px, .7fr)) auto 20px; align-items: center; gap: 17px; padding: 14px 18px; transition: .2s; }.assessment-row:hover { transform: translateX(3px); box-shadow: var(--shadow-hover); }.assessment-date { width: 46px; height: 52px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 13px; background: var(--card-subtle); }.assessment-date strong { font-size: 18px; }.assessment-date span { color: var(--text-faint); font-size:12px; text-transform: uppercase; }.assessment-main > strong { display: block; font-size: 17px; }.assessment-main > small { display: block; max-width: 190px; color: var(--text-faint); margin-top: 3px; font-size:12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }.assessment-measure span { display: block; color: var(--text-faint); font-size:12px; }.assessment-measure strong { font-size: 12px; }.mobile-label { display: none; }

/* Forms */
.form-page { max-width: 1020px; }.assessment-form { display: flex; flex-direction: column; gap: 18px; }.form-section { padding: 27px; }.form-section-heading { display: flex; align-items: center; gap: 13px; margin-bottom: 24px; }.step-number { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; color: var(--primary); background: var(--primary-soft); font-size: 12px; font-weight: 740; }.form-section-heading h2 { margin: 0; font-size: 17px; }.form-section-heading p { margin: 4px 0 0; color: var(--text-faint); font-size:12px; }.form-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }.form-grid-main { grid-template-columns: repeat(4, 1fr); }.field-wide { grid-column: span 2; }.field label { display: block; margin-bottom: 7px; color: var(--text-soft); font-size:12px; font-weight: 620; }.field input, .field textarea, .field select { width: 100%; min-height: 44px; border: 1px solid var(--line); border-radius: 11px; padding: 10px 12px; color: var(--text); background: var(--card-subtle); outline: none; transition: border .2s, box-shadow .2s, background .2s; }.field textarea { resize: vertical; line-height: 1.55; }.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--primary); background: var(--card-bg); box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 12%, transparent); }.field input::placeholder, .field textarea::placeholder { color: var(--text-faint); opacity: .75; }.field small { display: block; margin-top: 6px; color: var(--text-faint); font-size:12px; }.input-suffix, .input-with-icon { position: relative; }.input-suffix input { padding-right: 54px; }.input-suffix > span { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); color: var(--text-faint); font-size:12px; pointer-events: none; }.input-with-icon svg { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--text-faint); pointer-events: none; }.input-with-icon input { padding-left: 40px; }.suggestion-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 11px; }.suggestion-chips button { border: 1px solid var(--line); border-radius: 20px; padding: 7px 10px; color: var(--text-soft); background: transparent; cursor: pointer; font-size:12px; }.suggestion-chips button:hover { color: var(--primary); border-color: var(--primary); background: var(--primary-soft); }.photo-inputs, .photo-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; }.photo-input, .inline-photo-upload label { position: relative; min-height: 150px; display: grid; place-items: center; overflow: hidden; border: 1.5px dashed var(--line); border-radius: 14px; color: var(--text-faint); background: var(--card-subtle); cursor: pointer; transition: .2s; }.photo-input:hover, .inline-photo-upload label:hover { color: var(--primary); border-color: var(--primary); background: var(--primary-soft); }.photo-input input, .inline-photo-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; }.photo-input > span, .inline-photo-upload label { text-align: center; }.photo-input strong, .photo-input small, .inline-photo-upload strong, .inline-photo-upload small { display: block; }.photo-input strong, .inline-photo-upload strong { margin-top: 6px; color: var(--text-soft); font-size:12px; }.photo-input small, .inline-photo-upload small { margin-top: 3px; font-size:12px; }.photo-input img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }.form-actions { display: flex; justify-content: flex-end; gap: 10px; padding: 5px 0 10px; }.form-errors { padding: 14px 17px; border: 1px solid color-mix(in srgb, var(--red) 30%, transparent); border-radius: 12px; color: var(--red); background: var(--red-soft); font-size:12px; }.form-errors ul { margin: 7px 0 0; padding-left: 18px; }

/* Assessment detail */
.detail-heading { align-items: flex-end; }.heading-actions { display: flex; gap: 8px; }.heading-actions form { display: contents; }.detail-hero { display: grid; grid-template-columns: 1.4fr repeat(4, 1fr); padding: 26px; }.detail-primary, .detail-metric { padding: 5px 24px; border-right: 1px solid rgba(255,255,255,.1); }.detail-primary { padding-left: 4px; }.detail-metric:last-child { border:0; }.detail-primary span, .detail-metric span { display: block; color: rgba(255,255,255,.5); font-size:12px; }.detail-primary > strong { display: block; margin-top: 4px; font-size: 29px; }.detail-metric > strong { display: block; margin-top: 7px; font-size: 17px; }.detail-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(280px, .72fr); gap: 18px; margin-top: 18px; align-items: start; }.detail-main, .detail-aside { display: flex; flex-direction: column; gap: 18px; }.comparison-card, .all-measures, .photo-section, .trainer-report, .pattern-card, .notes-card { padding: 25px; }.segmented-control { display: inline-flex; padding: 3px; margin-top: 20px; border-radius: 10px; background: var(--card-subtle); }.segmented-control a { padding: 7px 13px; border-radius: 8px; color: var(--text-soft); font-size:12px; font-weight: 650; }.segmented-control a.is-active { color: var(--text); background: var(--card-bg); box-shadow: 0 2px 8px rgba(0,0,0,.06); }.comparison-header, .comparison-row { display: grid; grid-template-columns: minmax(145px, 1.35fr) repeat(3, 1fr); gap: 14px; align-items: center; }.comparison-header { margin-top: 22px; padding: 0 10px 9px; color: var(--text-faint); font-size:12px; text-transform: uppercase; letter-spacing: .05em; }.comparison-row { min-height: 64px; padding: 10px; border-top: 1px solid var(--line); font-size:12px; }.comparison-name { display: flex; align-items: center; gap: 10px; }.comparison-name .metric-icon { width: 34px; height: 34px; }.comparison-now { font-weight: 700; }.comparison-delta { width: fit-content; display: grid; grid-template-columns: 15px auto; align-items: center; gap: 1px 3px; padding: 6px 8px; border-radius: 9px; font-weight: 720; }.comparison-delta small { grid-column: 2; font-size:12px; opacity: .75; }.comparison-delta.improved { color: var(--green); background: var(--green-soft); }.comparison-delta.worsened { color: var(--red); background: var(--red-soft); }.comparison-delta.neutral { color: var(--text-faint); background: var(--card-subtle); }.comparison-caption { margin: 13px 10px 0; color: var(--text-faint); font-size:12px; }.measure-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 20px; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }.measure-grid > div { min-height: 75px; padding: 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.measure-grid > div:nth-child(3n) { border-right: 0; }.measure-grid > div:nth-last-child(-n+3) { border-bottom: 0; }.measure-grid span { display: block; color: var(--text-faint); font-size:12px; }.measure-grid strong { display: block; margin-top: 6px; font-size: 14px; }.photo-gallery { margin-top: 19px; }.progress-photo { position: relative; min-height: 200px; margin: 0; overflow: hidden; border-radius: 14px; background: var(--card-subtle); }.progress-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }.progress-photo figcaption { position: absolute; inset: auto 0 0; padding: 22px 11px 10px; color: white; display: flex; align-items: center; justify-content: space-between; background: linear-gradient(transparent, rgba(0,0,0,.62)); font-size:12px; }.photo-delete { border: 0; padding: 5px; color: white; background: rgba(0,0,0,.25); border-radius: 8px; cursor: pointer; }.photo-comparison-heading { margin-top: 28px; border-top: 1px solid var(--line); padding-top: 20px; }.photo-comparison-heading h3 { margin:0; font-size: 15px; }.photo-comparison-heading p { margin: 4px 0 0; color: var(--text-faint); font-size:12px; }.photo-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; }.photo-compare figure { margin: 0; }.photo-compare img { width: 100%; height: 280px; object-fit: cover; border-radius: 12px; }.photo-compare figcaption { margin-top: 5px; color: var(--text-faint); font-size:12px; text-align: center; }.trainer-report > small { display: block; color: var(--text-faint); font-size:12px; line-height: 1.5; border-top: 1px solid var(--line); padding-top: 13px; }.pattern-card > .section-kicker, .notes-card > .section-kicker { display: block; margin-bottom: 14px; }.pattern { display: flex; gap: 10px; padding: 11px; margin-top: 7px; border-radius: 12px; background: var(--card-subtle); }.pattern > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; }.pattern.positive > span { color: var(--green); background: var(--green-soft); }.pattern.negative > span { color: var(--red); background: var(--red-soft); }.pattern.warning > span { color: var(--orange); background: var(--orange-soft); }.pattern.neutral > span { color: var(--text-faint); background: var(--line); }.pattern strong { font-size:12px; }.pattern p { margin: 3px 0 0; color: var(--text-soft); font-size:12px; line-height: 1.5; }.notes-card p { margin: 0; padding: 12px 0; border-top: 1px solid var(--line); color: var(--text-soft); font-size:12px; line-height: 1.6; }.notes-card p:first-of-type { border: 0; }

/* Goals */
.goals-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(290px, .65fr); gap: 18px; align-items: start; }.goals-list { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }.goal-card { padding: 22px; }.goal-top { display: flex; align-items: center; gap: 12px; }.goal-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: var(--goal-color); background: color-mix(in srgb, var(--goal-color) 12%, transparent); }.goal-title { flex: 1; }.goal-title span { display:block; color: var(--text-soft); font-size:12px; }.goal-title strong { display: block; margin-top: 2px; font-size: 13px; }.goal-card.is-achieved .goal-title strong { color: var(--green); }.goal-values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin-top: 20px; }.goal-values > div { padding: 10px; border-radius: 10px; background: var(--card-subtle); }.goal-values span { display: block; color: var(--text-faint); font-size:12px; }.goal-values strong { display:block; margin-top: 3px; font-size:12px; }.goal-progress { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 11px; margin-top: 15px; }.goal-progress .progress-track { margin: 0; }.goal-progress > strong { color: var(--text-soft); font-size:12px; }.new-goal-card { padding: 25px; position: sticky; top: 24px; }.goal-form { display: flex; flex-direction: column; gap: 17px; margin-top: 22px; }.goal-tip { display: flex; gap: 9px; align-items: flex-start; margin-top: 20px; padding: 12px; color: var(--text-soft); background: var(--primary-soft); border-radius: 11px; }.goal-tip svg { color: var(--primary); }.goal-tip p { margin: 0; font-size:12px; line-height: 1.5; }

/* Account and authentication */
.user-card { display:grid; grid-template-columns:36px 1fr 15px; align-items:center; gap:10px; padding:10px; margin-bottom:7px; border-radius:13px; transition:.2s; }.user-card:hover,.user-card.is-active { background:var(--card-subtle); }.user-avatar { width:36px; height:36px; display:grid; place-items:center; border-radius:12px; color:white; background:linear-gradient(145deg,#6e9cff,#6557dd); font-size:13px; font-weight:750; box-shadow:0 5px 13px rgba(76,93,203,.2); }.user-card > span:nth-child(2) { min-width:0; }.user-card strong,.user-card small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.user-card strong { font-size:12px; }.user-card small { margin-top:2px; color:var(--text-faint); font-size:12px; }.user-card > svg { color:var(--text-faint); }.mobile-avatar { text-decoration:none; }
.auth-body { min-height:100vh; background:var(--card-bg); }.auth-shell { min-height:100vh; display:grid; grid-template-columns:minmax(420px,.9fr) minmax(480px,1.1fr); }.auth-visual { position:relative; overflow:hidden; padding:42px 54px; color:white; background:radial-gradient(circle at 78% 24%,rgba(72,163,255,.45),transparent 27%),radial-gradient(circle at 20% 90%,rgba(117,89,233,.3),transparent 35%),linear-gradient(145deg,#121c2b,#080b11); display:flex; flex-direction:column; }.auth-visual::after { content:""; position:absolute; width:420px; height:420px; right:-190px; bottom:-170px; border:1px solid rgba(255,255,255,.09); border-radius:50%; box-shadow:0 0 0 55px rgba(255,255,255,.02),0 0 0 110px rgba(255,255,255,.015); }.auth-brand { color:white; z-index:1; }.auth-message { position:relative; z-index:1; margin:auto 0; max-width:570px; }.auth-orbit { width:84px; height:84px; display:grid; place-items:center; margin-bottom:35px; border:1px solid rgba(117,181,255,.32); border-radius:28px; color:#72b9ff; background:rgba(39,124,225,.13); box-shadow:0 0 55px rgba(32,132,255,.17); }.auth-message > p { margin:0 0 13px; color:#66adff; font-size:12px; font-weight:720; letter-spacing:.1em; text-transform:uppercase; }.auth-message h1 { margin:0; font-size:clamp(35px,4vw,57px); line-height:1.08; letter-spacing:-2px; }.auth-message small { display:block; max-width:420px; margin-top:24px; color:rgba(255,255,255,.48); font-size:12px; line-height:1.7; }.auth-privacy { position:relative; z-index:1; color:rgba(255,255,255,.38); font-size:12px; }.auth-content { position:relative; display:flex; align-items:center; justify-content:center; padding:50px; background:var(--card-bg); }.auth-form-wrap { width:min(410px,100%); }.auth-heading { margin-bottom:31px; }.auth-heading h2 { margin:6px 0 7px; font-size:31px; line-height:1.15; letter-spacing:-1px; }.auth-heading > span { color:var(--text-soft); font-size:12px; }.auth-form { display:flex; flex-direction:column; gap:18px; }.label-row { display:flex; align-items:center; justify-content:space-between; }.label-row label { margin:0; }.label-row a { color:var(--primary); font-size:12px; }.check-field { display:flex; align-items:center; gap:9px; color:var(--text-soft); cursor:pointer; font-size:12px; }.check-field input { width:16px; height:16px; accent-color:var(--primary); }.auth-form .button { margin-top:4px; min-height:48px; }.auth-switch { margin:24px 0 0; text-align:center; color:var(--text-soft); font-size:12px; }.auth-switch a { color:var(--primary); font-weight:700; }.terms-note { margin:-4px 0 0; color:var(--text-faint); font-size:12px; line-height:1.55; }.auth-flash { position:absolute; top:25px; width:min(410px,calc(100% - 40px)); padding:11px 14px; border-radius:11px; font-size:12px; }.auth-flash.success { color:var(--green); background:var(--green-soft); }.auth-flash.alert { color:var(--red); background:var(--red-soft); }
.profile-page { max-width:1120px; }.profile-layout { display:grid; grid-template-columns:270px 1fr; gap:18px; align-items:start; }.profile-summary { padding:30px 22px; text-align:center; position:sticky; top:24px; }.profile-avatar { width:78px; height:78px; display:grid; place-items:center; margin:0 auto 16px; border-radius:25px; color:white; background:linear-gradient(145deg,#69a4ff,#6753df); box-shadow:0 13px 30px rgba(74,89,204,.23); font-size:28px; font-weight:750; }.profile-summary h2 { margin:0; font-size:19px; }.profile-summary > p { margin:5px 0 14px; color:var(--text-faint); font-size:12px; }.profile-status { display:inline-flex; padding:6px 9px; border-radius:20px; font-size:12px; font-weight:700; }.profile-status.complete { color:var(--green); background:var(--green-soft); }.profile-status.pending { color:var(--orange); background:var(--orange-soft); }.profile-account-actions { display:flex; flex-direction:column; align-items:stretch; gap:5px; margin-top:26px; padding-top:18px; border-top:1px solid var(--line); }.profile-account-actions .ghost-link,.logout-link { width:100%; min-height:36px; padding:0 8px; display:flex; align-items:center; gap:8px; border:0; border-radius:9px; background:transparent; cursor:pointer; font-size:12px; }.logout-link { color:var(--red); }.profile-account-actions .ghost-link:hover,.logout-link:hover { background:var(--card-subtle); }.profile-form { padding:28px; }.profile-fields { grid-template-columns:1fr 1fr; margin-top:26px; }.profile-info { display:flex; align-items:flex-start; gap:10px; margin-top:23px; padding:13px; border-radius:12px; color:var(--primary); background:var(--primary-soft); }.profile-info p { margin:0; color:var(--text-soft); font-size:12px; line-height:1.55; }.profile-form .form-errors { margin-top:18px; }

.auth-form-wrap { padding:34px; border:1px solid var(--line); border-radius:24px; background:var(--card-bg); box-shadow:0 18px 50px rgba(25,35,55,.08); }.auth-theme-toggle { position:absolute; top:24px; right:25px; min-height:36px; display:flex; align-items:center; gap:7px; padding:0 11px; border:1px solid var(--line); border-radius:11px; color:var(--text-soft); background:var(--card-subtle); cursor:pointer; font-size:12px; }.auth-theme-toggle:hover { color:var(--primary); border-color:var(--primary); }.password-field { position:relative; }.password-field input { padding-right:68px; }.password-field button { position:absolute; top:50%; right:8px; transform:translateY(-50%); min-width:53px; height:30px; padding:0 7px; border:0; border-radius:8px; color:var(--primary); background:transparent; cursor:pointer; font-size:12px; font-weight:700; }.password-field button:hover { background:var(--primary-soft); }.login-error { display:flex; align-items:flex-start; gap:11px; margin:-10px 0 20px; padding:14px; border:1px solid color-mix(in srgb,var(--red) 28%,transparent); border-radius:13px; color:var(--red); background:var(--red-soft); }.login-error > span { width:34px; height:34px; display:grid; place-items:center; flex:0 0 auto; border-radius:10px; background:color-mix(in srgb,var(--red) 12%,transparent); }.login-error strong { display:block; font-size:13px; }.login-error p { margin:3px 0 0; color:color-mix(in srgb,var(--red) 78%,var(--text)); font-size:12px; line-height:1.45; }.account-page { max-width:1080px; }.account-layout { display:grid; grid-template-columns:270px minmax(0,1fr); gap:18px; align-items:start; }.security-note { padding:26px; }.security-icon { width:46px; height:46px; display:grid; place-items:center; border-radius:14px; color:var(--primary); background:var(--primary-soft); }.security-note h2 { margin:17px 0 7px; font-size:17px; }.security-note > p { margin:0; color:var(--text-soft); font-size:12px; line-height:1.6; }.security-note > div { margin-top:24px; padding-top:18px; border-top:1px solid var(--line); }.security-note span,.security-note strong { display:block; }.security-note > div span { color:var(--text-faint); font-size:12px; }.security-note > div strong { max-width:100%; margin-top:4px; overflow:hidden; text-overflow:ellipsis; font-size:12px; }.account-form { padding:28px; }.account-form > .form-errors { margin-top:19px; }.account-fields { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:25px; }.account-fields > .field:first-child,.account-divider,.current-password { grid-column:span 2; }.account-divider { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-top:4px; padding-top:20px; border-top:1px solid var(--line); }.account-divider span { font-size:12px; font-weight:700; }.account-divider small { color:var(--text-faint); font-size:12px; }.current-password { padding:16px; border-radius:13px; background:var(--card-subtle); }.account-form .form-actions { margin-top:24px; padding:0; }

/* Administration */
.admin-body { min-height:100vh; background:#f4f6f9; color:#181b22; --card-bg:#fff; --card-subtle:#f5f7fa; --line:#e6e9ef; --text:#181b22; --text-soft:#636a77; --text-faint:#8b929e; --primary:#1677ff; --primary-soft:#eaf3ff; --green:#159c5c; --green-soft:#e8f7ef; --red:#df4450; --red-soft:#fff0f1; }.admin-shell { min-height:100vh; }.admin-sidebar { position:fixed; inset:0 auto 0 0; z-index:20; width:240px; padding:28px 20px; display:flex; flex-direction:column; color:#f5f7fa; background:#11161f; }.admin-sidebar .brand small,.admin-mobile-header .brand small { display:inline-flex; margin-left:5px; padding:3px 6px; border-radius:6px; color:#73b4ff; background:rgba(33,128,246,.16); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; vertical-align:middle; }.admin-nav { margin-top:48px; }.admin-nav a { min-height:46px; display:flex; align-items:center; gap:12px; padding:0 13px; border-radius:12px; color:#9ba4b2; font-size:13px; font-weight:650; }.admin-nav a.is-active,.admin-nav a:hover { color:#65adff; background:rgba(35,126,239,.15); }.admin-account { display:grid; grid-template-columns:36px 1fr 34px; align-items:center; gap:9px; margin-top:auto; padding-top:20px; border-top:1px solid rgba(255,255,255,.09); }.admin-account div { min-width:0; }.admin-account strong,.admin-account small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.admin-account strong { font-size:12px; }.admin-account small { margin-top:2px; color:#77808e; font-size:12px; }.admin-logout { width:34px; height:34px; display:grid; place-items:center; border:0; border-radius:10px; color:#8993a2; background:rgba(255,255,255,.05); cursor:pointer; }.admin-content { min-height:100vh; margin-left:240px; }.admin-mobile-header { display:none; }.admin-page { width:min(1320px,100%); margin:0 auto; padding:46px 48px 80px; }.admin-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:28px; }.admin-heading h1 { margin:4px 0; font-size:38px; letter-spacing:-1.2px; }.admin-heading > div > p:last-child { margin:0; color:var(--text-soft); font-size:13px; }.admin-date { color:var(--text-faint); font-size:12px; }.admin-stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }.admin-stat { min-height:118px; padding:20px; display:flex; align-items:center; gap:15px; box-shadow:0 6px 24px rgba(27,39,60,.045); transition:.2s; }.admin-stat:hover,.admin-stat.is-active { transform:translateY(-2px); border-color:color-mix(in srgb,var(--primary) 35%,var(--line)); box-shadow:0 12px 32px rgba(27,39,60,.09); }.admin-stat-icon { width:44px; height:44px; display:grid; place-items:center; border-radius:14px; }.admin-stat-icon.all { color:var(--primary); background:var(--primary-soft); }.admin-stat-icon.pending { color:#dc8a13; background:#fff4df; }.admin-stat-icon.active { color:var(--green); background:var(--green-soft); }.admin-stat-icon.blocked { color:var(--red); background:var(--red-soft); }.admin-stat small,.admin-stat p { display:block; margin:0; color:var(--text-faint); font-size:12px; }.admin-stat strong { display:block; margin:2px 0; font-size:24px; }.admin-users-card { margin-top:18px; padding:24px; box-shadow:0 6px 24px rgba(27,39,60,.045); }.admin-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }.admin-card-heading h2 { margin:0; font-size:18px; }.admin-card-heading p { margin:4px 0 0; color:var(--text-faint); font-size:12px; }.admin-user-table { margin-top:20px; }.admin-user-header,.admin-user-row { display:grid; grid-template-columns:minmax(210px,1.4fr) .65fr .7fr .85fr minmax(205px,auto); gap:15px; align-items:center; }.admin-user-header { padding:0 12px 10px; color:var(--text-faint); font-size:12px; text-transform:uppercase; letter-spacing:.05em; }.admin-user-row { min-height:72px; padding:11px 12px; border-top:1px solid var(--line); }.admin-user-person { min-width:0; display:flex; align-items:center; gap:11px; }.admin-user-person > div { min-width:0; }.admin-user-person strong,.admin-user-person small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.admin-user-person strong { font-size:13px; }.admin-user-person small,.admin-user-row > span { margin-top:2px; color:var(--text-faint); font-size:12px; }.status-pill { width:max-content; display:inline-flex!important; align-items:center; gap:7px; padding:7px 9px; border-radius:20px; font-size:12px!important; font-weight:700; }.status-pill i { width:7px; height:7px; border-radius:50%; background:currentColor; }.status-pill.pending { color:#b87009; background:#fff4df; }.status-pill.active { color:var(--green); background:var(--green-soft); }.status-pill.blocked { color:var(--red); background:var(--red-soft); }.admin-row-actions { display:flex; align-items:center; justify-content:flex-end; gap:6px; }.admin-row-actions form { display:contents; }.mini-action { min-height:32px; padding:0 10px; border:0; border-radius:9px; cursor:pointer; font-size:12px; font-weight:700; }.mini-action.approve { color:var(--green); background:var(--green-soft); }.mini-action.block { color:var(--red); background:var(--red-soft); }.admin-empty { min-height:260px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--text-faint); text-align:center; }.admin-empty h3 { margin:13px 0 4px; color:var(--text); font-size:16px; }.admin-empty p { margin:0; font-size:12px; }.admin-empty.compact { min-height:110px; }.admin-user-detail > .back-link { margin-bottom:20px; }.admin-profile-hero { padding:24px; display:grid; grid-template-columns:70px 1fr auto; align-items:center; gap:18px; }.admin-profile-avatar { width:70px; height:70px; display:grid; place-items:center; border-radius:22px; color:white; background:linear-gradient(145deg,#69a4ff,#6753df); font-size:25px; font-weight:750; }.admin-profile-main h1 { margin:2px 0; font-size:28px; letter-spacing:-.7px; }.admin-profile-main > span { color:var(--text-faint); font-size:12px; }.admin-detail-grid { display:grid; grid-template-columns:1.5fr .7fr; gap:18px; margin-top:18px; align-items:start; }.admin-info-card,.admin-access-card,.admin-activity-card { padding:24px; }.admin-info-card dl { display:grid; grid-template-columns:1fr 1fr; margin:20px 0 0; border:1px solid var(--line); border-radius:14px; overflow:hidden; }.admin-info-card dl > div { min-height:72px; padding:15px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.admin-info-card dl > div:nth-child(2n) { border-right:0; }.admin-info-card dl > div:nth-last-child(-n+2) { border-bottom:0; }.admin-info-card dt { color:var(--text-faint); font-size:12px; }.admin-info-card dd { margin:5px 0 0; font-size:13px; font-weight:650; }.current-access { margin:20px 0; padding:15px; border-radius:12px; background:var(--card-subtle); }.current-access > span { display:block; margin-bottom:8px; color:var(--text-faint); font-size:12px; }.admin-access-card form + form { margin-top:8px; }.admin-activity-card { margin-top:18px; }.admin-assessment-list { display:grid; grid-template-columns:repeat(5,1fr); gap:9px; margin-top:20px; }.admin-assessment-list > div { padding:13px; border-radius:11px; background:var(--card-subtle); }.admin-assessment-list span,.admin-assessment-list small { display:block; color:var(--text-faint); font-size:12px; }.admin-assessment-list strong { display:block; margin:5px 0; font-size:14px; }
.access-status-card { text-align:center; }.access-status-icon { width:76px; height:76px; display:grid; place-items:center; margin:0 auto 22px; border-radius:24px; }.access-status-icon.pending { color:#cb7b08; background:#fff3dc; }.access-status-icon.blocked { color:var(--red); background:var(--red-soft); }.access-status-card h2 { margin:7px 0 12px; font-size:26px; letter-spacing:-.7px; }.access-status-card > p:not(.eyebrow):not(.access-help) { margin:0; color:var(--text-soft); font-size:13px; line-height:1.65; }.access-email { margin:22px 0; padding:14px; border-radius:12px; background:var(--card-subtle); }.access-email span,.access-email strong { display:block; }.access-email span { color:var(--text-faint); font-size:12px; }.access-email strong { margin-top:4px; font-size:13px; }.access-help { margin:0; color:var(--text-faint); font-size:12px; }.access-logout { margin-top:22px; }

/* Data profiles and configurable imports */
.profile-switcher { position:relative; margin-top:18px; }.profile-switcher summary { min-height:54px; padding:10px 12px; display:flex; align-items:center; justify-content:space-between; gap:8px; border:1px solid var(--line); border-radius:13px; background:var(--card-subtle); cursor:pointer; list-style:none; }.profile-switcher summary::-webkit-details-marker { display:none; }.profile-switcher summary span { min-width:0; }.profile-switcher summary small,.profile-switcher summary strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.profile-switcher summary small { color:var(--text-faint); font-size:12px; }.profile-switcher summary strong { margin-top:2px; font-size:12px; }.profile-switcher[open] summary { border-color:var(--primary); }.profile-switcher > div { position:absolute; z-index:30; left:0; right:0; top:61px; padding:7px; border:1px solid var(--line); border-radius:13px; background:var(--card-bg); box-shadow:var(--shadow-hover); }.profile-switcher form { display:contents; }.profile-switcher button,.profile-switcher > div > a { width:100%; min-height:38px; padding:7px 8px; display:flex; align-items:center; gap:8px; border:0; border-radius:9px; color:var(--text-soft); background:transparent; cursor:pointer; text-align:left; font-size:12px; }.profile-switcher button:hover,.profile-switcher button.is-active,.profile-switcher > div > a:hover { color:var(--primary); background:var(--primary-soft); }.profile-switcher button span { width:24px; height:24px; display:grid; place-items:center; border-radius:7px; color:white; background:var(--primary); font-size:12px; font-weight:750; }
.profile-limit-card { padding:20px 24px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:20px; margin-bottom:20px; }.profile-limit-card span,.profile-limit-card strong { display:block; }.profile-limit-card span { color:var(--text-soft); font-size:12px; }.profile-limit-card strong { margin-top:3px; font-size:17px; }.profile-limit-card p { margin:0; color:var(--text-faint); font-size:12px; }.limit-track { height:8px; overflow:hidden; border-radius:10px; background:var(--card-subtle); }.limit-track span { height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--primary),#7559e9); }.data-profile-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }.data-profile-card { padding:23px; position:relative; }.data-profile-card.is-current { border-color:color-mix(in srgb,var(--primary) 38%,var(--line)); }.data-profile-top { display:flex; align-items:center; justify-content:space-between; }.data-profile-icon { width:44px; height:44px; display:grid; place-items:center; border-radius:14px; color:var(--primary); background:var(--primary-soft); }.current-profile-badge { padding:6px 9px; border-radius:20px; color:var(--green); background:var(--green-soft); font-size:12px; font-weight:700; }.data-profile-card h2 { margin:18px 0 4px; font-size:19px; }.data-profile-card > p { margin:0; color:var(--text-faint); font-size:12px; }.field-preview { min-height:64px; margin-top:16px; display:flex; flex-wrap:wrap; align-content:flex-start; gap:6px; }.field-preview span { padding:5px 8px; border-radius:8px; color:var(--text-soft); background:var(--card-subtle); font-size:12px; }.data-profile-actions { display:flex; gap:8px; margin-top:17px; padding-top:16px; border-top:1px solid var(--line); }.data-profile-actions form { display:contents; }.limit-warning { padding:9px 12px; border-radius:10px; color:var(--orange); background:var(--orange-soft); font-size:12px; }.data-profile-form { display:flex; flex-direction:column; gap:18px; }.source-file-drop { min-height:150px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1.5px dashed var(--line); border-radius:15px; color:var(--primary); background:var(--card-subtle); cursor:pointer; }.source-file-drop input { position:absolute; width:1px; height:1px; opacity:0; }.source-file-drop strong { margin-top:9px; color:var(--text); font-size:13px; }.source-file-drop span { margin-top:4px; color:var(--text-faint); font-size:12px; }.form-divider { display:flex; align-items:center; gap:12px; margin:22px 0 0; color:var(--text-faint); font-size:12px; }.form-divider::before,.form-divider::after { content:""; flex:1; height:1px; background:var(--line); }.dynamic-fields-header { display:grid; grid-template-columns:1.4fr .6fr 1fr 1fr 1fr; gap:10px; padding:0 10px 9px; color:var(--text-faint); font-size:12px; }.dynamic-field-row { display:grid; grid-template-columns:1.4fr .6fr 1fr 1fr .45fr .45fr 36px; gap:10px; align-items:end; padding:14px 10px; border-top:1px solid var(--line); }.dynamic-field-row .field label { white-space:nowrap; }.dynamic-check { min-height:44px; align-items:center; justify-content:center; flex-direction:column; gap:3px; }.remove-field { width:36px; height:44px; display:grid; place-items:center; border:0; border-radius:10px; color:var(--red); background:var(--red-soft); cursor:pointer; }.add-field-button { min-height:40px; margin-top:15px; padding:0 13px; display:inline-flex; align-items:center; gap:7px; border:1px dashed var(--primary); border-radius:11px; color:var(--primary); background:var(--primary-soft); cursor:pointer; font-size:12px; font-weight:700; }.schema-warning { margin-bottom:14px; padding:11px 13px; border-radius:10px; color:var(--orange); background:var(--orange-soft); font-size:12px; }.profile-schema-summary { display:grid; grid-template-columns:repeat(4,1fr); padding:20px 24px; }.profile-schema-summary > div { padding:0 20px; border-right:1px solid var(--line); }.profile-schema-summary > div:first-child { padding-left:0; }.profile-schema-summary > div:last-child { border:0; }.profile-schema-summary span { display:block; color:var(--text-faint); font-size:12px; }.profile-schema-summary strong { display:block; margin-top:5px; font-size:15px; }.profile-schema-card { margin-top:18px; padding:25px; }.schema-field-list { margin-top:20px; }.schema-field-header,.schema-field-row { display:grid; grid-template-columns:1.3fr .7fr .9fr 1fr; gap:14px; align-items:center; }.schema-field-header { padding:0 12px 9px; color:var(--text-faint); font-size:12px; text-transform:uppercase; }.schema-field-row { min-height:62px; padding:10px 12px; border-top:1px solid var(--line); }.schema-field-row strong,.schema-field-row small { display:block; }.schema-field-row strong { font-size:13px; }.schema-field-row small,.schema-field-row > span { margin-top:3px; color:var(--text-soft); font-size:12px; }.danger-zone { margin-top:18px; padding:20px 24px; display:flex; align-items:center; justify-content:space-between; gap:20px; }.danger-zone strong { font-size:14px; }.danger-zone p { margin:4px 0 0; color:var(--text-faint); font-size:12px; }.assessment-import-card { margin-bottom:16px; padding:18px 20px; display:flex; align-items:center; justify-content:space-between; gap:18px; }.assessment-import-card > div { display:flex; align-items:center; gap:12px; }.import-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; color:var(--primary); background:var(--primary-soft); }.assessment-import-card strong { font-size:13px; }.assessment-import-card p { margin:4px 0 0; color:var(--text-soft); font-size:12px; }.assessment-import-form { display:flex; align-items:center; gap:8px; }.assessment-import-form input[type=file] { max-width:220px; color:var(--text-soft); font-size:12px; }.import-success { margin-bottom:16px; padding:13px 15px; display:flex; align-items:center; gap:9px; border-radius:12px; color:var(--green); background:var(--green-soft); font-size:12px; }.dynamic-assessment-grid { grid-template-columns:repeat(3,1fr); }.profile-limit-admin { margin-top:22px; padding-top:20px; border-top:1px solid var(--line); }.profile-limit-admin > div strong { font-size:13px; }.profile-limit-admin > div p { margin:3px 0 11px; color:var(--text-faint); font-size:12px; }.profile-limit-admin form { display:grid; grid-template-columns:76px 1fr; gap:8px; }.profile-limit-admin input { width:100%; min-height:42px; border:1px solid var(--line); border-radius:10px; padding:8px; background:var(--card-subtle); }.dynamic-detail-hero { grid-template-columns:repeat(5,1fr); }.dynamic-detail-hero .detail-primary { grid-column:auto; }.dynamic-measure-grid > div:nth-last-child(-n+3) { border-bottom:1px solid var(--line); }

.assessment-import-copy { min-width:0; display:flex; align-items:center; gap:12px; }
.assessment-import-copy > div { min-width:0; }
.file-picker { min-width:240px; max-width:360px; position:relative; display:grid; gap:6px; cursor:pointer; overflow:hidden; }
.assessment-import-form .file-picker-input { position:absolute; inset:0; z-index:2; width:100%; height:100%; max-width:none; opacity:0; cursor:pointer; }
.file-picker-button { min-height:44px; padding:0 14px; display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid var(--line); border-radius:13px; color:var(--primary); background:var(--primary-soft); font-size:13px; font-weight:720; transition:border .2s, background .2s, transform .18s; pointer-events:none; }
.file-picker:hover .file-picker-button, .file-picker:focus-within .file-picker-button { border-color:var(--primary); background:color-mix(in srgb,var(--primary-soft) 72%,var(--card-bg)); transform:translateY(-1px); }
.file-picker-name { min-width:0; color:var(--text-faint); font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-align:center; }

/* Printable report */
.report-body { background: #e8eaee; color: #191b20; }.report-toolbar { position: sticky; top: 0; z-index: 10; padding: 12px max(20px, calc((100% - 940px)/2)); display: flex; justify-content: space-between; background: rgba(244,245,247,.88); backdrop-filter: blur(14px); border-bottom: 1px solid #dddfe4; }.print-report { width: 900px; min-height: 1200px; margin: 30px auto 70px; padding: 58px 64px 35px; background: white; box-shadow: 0 15px 50px rgba(20,30,45,.12); }.report-cover { min-height: 260px; padding-bottom: 40px; border-bottom: 2px solid #1a1c21; display: flex; flex-direction: column; align-items: flex-start; }.report-brand { margin-bottom: auto; }.report-cover > p { margin: 55px 0 7px; color: #1677ff; font-size:12px; text-transform: uppercase; letter-spacing: .12em; font-weight: 700; }.report-cover h1 { margin: 0; font-size: 43px; letter-spacing: -1.7px; }.report-cover > span { margin-top: 11px; color: #777d88; font-size:12px; }.report-section { padding: 42px 0 20px; }.report-section-title { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 25px; }.report-section-title > span { width: 29px; height: 29px; display:grid; place-items:center; color: #1677ff; border: 1px solid #b8d7ff; border-radius: 9px; font-size:12px; font-weight: 750; }.report-section-title p { margin: 0 0 3px; color:#777d88; font-size:12px; text-transform:uppercase; letter-spacing:.1em; }.report-section-title h2 { margin:0; font-size:20px; }.report-summary-grid { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid #e5e7eb; border-radius:15px; overflow:hidden; }.report-summary-grid > div { min-height: 92px; padding: 20px; border-right:1px solid #e5e7eb; border-bottom:1px solid #e5e7eb; }.report-summary-grid > div:nth-child(3n) { border-right:0; }.report-summary-grid > div:nth-last-child(-n+3) { border-bottom:0; }.report-summary-grid span { display:block; color:#858b95; font-size:12px; }.report-summary-grid strong { display:block; margin-top:7px; font-size:18px; }.report-quote { display:flex; gap:15px; padding:22px; border-radius:14px; background:#f2f7ff; color:#1677ff; }.report-quote p { margin:0; color:#3f4650; font-size:12px; line-height:1.7; }.report-charts { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.report-chart { position:relative; height:240px; padding:16px; border:1px solid #e5e7eb; border-radius:14px; --card-bg:white; --line:#e5e7eb; --text-faint:#8b9099; }.report-chart h3 { margin:0 0 5px; font-size:12px; }.report-chart svg { width:100%; height:190px; }.report-chart .chart-empty { top:30px; }.report-table { width:100%; border-collapse:collapse; font-size:12px; }.report-table th { color:#717781; text-align:left; font-weight:650; background:#f4f5f7; }.report-table th, .report-table td { padding:10px 7px; border-bottom:1px solid #e6e8ec; }.report-photos { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.report-photos figure { margin:0; }.report-photos img { width:100%; height:260px; object-fit:cover; border-radius:10px; }.report-photos figcaption { margin-top:5px; color:#777d88; font-size:12px; }.report-goals { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.report-goals > div { padding:15px; border:1px solid #e5e7eb; border-radius:12px; }.report-goals strong, .report-goals span { font-size:12px; }.report-goals span { float:right; color:#1677ff; }.report-goals small { display:block; margin-top:8px; color:#777d88; font-size:12px; }.report-footer { display:flex; justify-content:space-between; margin-top:40px; padding-top:15px; border-top:1px solid #e5e7eb; color:#90959e; font-size:12px; }.report-empty { min-height:500px; display:grid; place-items:center; text-align:center; }
.report-subtitle { margin:24px 0 10px; font-size:12px; }.report-comparison { display:grid; grid-template-columns:1fr 1fr; gap:7px; }.report-comparison > div { display:grid; grid-template-columns:1fr auto; padding:11px; border:1px solid #e5e7eb; border-radius:10px; }.report-comparison span { font-size:12px; font-weight:650; }.report-comparison small { grid-row:2; color:#858b95; font-size:12px; }.report-comparison strong { grid-column:2; grid-row:1 / span 2; align-self:center; font-size:12px; }.report-comparison strong.improved { color:#1daf68; }.report-comparison strong.worsened { color:#e74652; }.report-comparison strong.neutral { color:#858b95; }.report-journal { margin-top:22px; }.report-journal article { padding:12px 0; border-bottom:1px solid #e6e8ec; break-inside:avoid; }.report-journal strong { font-size:12px; }.report-journal p { margin:4px 0; color:#555b65; font-size:12px; line-height:1.55; }.report-journal small { color:#858b95; font-size:12px; }

@media (max-width: 1160px) {
  :root { --sidebar: 208px; }.page { padding-inline: 30px; }.current-metrics { grid-template-columns: 1.3fr repeat(3, 1fr); }.primary-metric, .current-metric { padding-inline: 17px; }.stat-grid { grid-template-columns: 1fr 1fr; }.recent-grid { grid-template-columns: 1fr 1fr; }.dashboard-columns { grid-template-columns: 1fr; }.insights-column { display:grid; grid-template-columns:1fr 1fr; }.detail-layout { grid-template-columns: 1fr; }.detail-aside { display:grid; grid-template-columns:1fr 1fr; }.goals-list { grid-template-columns:1fr; }
  .records-grid { grid-template-columns:repeat(3,1fr); }.records-grid > div { border-bottom:1px solid var(--line); }.records-grid > div:nth-child(3) { border-right:0; }.records-grid > div:nth-last-child(-n+2) { border-bottom:0; }
}

@media (max-width: 760px) {
  :root { --radius: 18px; }.sidebar { display:none; }.main-content { margin:0; padding-bottom:76px; }.mobile-header { height:63px; padding: env(safe-area-inset-top) 18px 0; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); background:color-mix(in srgb, var(--card-bg) 92%, transparent); backdrop-filter:blur(18px); position:sticky; top:0; z-index:15; }.mobile-header .brand { font-size:18px; }.mobile-header .brand-mark { width:28px; height:28px; }.bottom-nav { position:fixed; inset:auto 0 0; z-index:30; height:calc(66px + env(safe-area-inset-bottom)); padding:7px 10px env(safe-area-inset-bottom); display:grid; grid-template-columns:repeat(5,1fr); align-items:center; border-top:1px solid var(--line); background:color-mix(in srgb, var(--card-bg) 92%, transparent); backdrop-filter:blur(20px); }.bottom-nav a { height:48px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:3px; color:var(--text-faint); font-size:12px; }.bottom-nav a.is-active { color:var(--primary); }.bottom-nav .bottom-add { width:48px; height:48px; justify-self:center; margin-top:-22px; border-radius:16px; color:white; background:var(--primary); box-shadow:0 8px 20px rgba(22,119,255,.3); }.page { padding:25px 16px 45px; }.page-heading { min-height:0; margin-bottom:22px; align-items:flex-start; }.page-heading h1 { font-size:30px; }.page-heading .button { min-width:44px; padding-inline:13px; }.dashboard-heading .desktop-action { display:none; }.flash { top:72px; left:50%; width:calc(100vw - 28px); }.current-overview { padding:21px; }.current-topline .ghost-link { font-size:0; }.current-topline .ghost-link svg { width:20px; height:20px; }.current-metrics { grid-template-columns:1fr 1fr; gap:0; }.primary-metric, .current-metric { padding:17px 12px; border-right:1px solid rgba(255,255,255,.1); border-bottom:1px solid rgba(255,255,255,.1); }.primary-metric { padding-left:0; }.current-metric:nth-child(2) { border-right:0; }.current-metric:nth-child(3), .current-metric:nth-child(4) { border-bottom:0; }.primary-metric > strong { font-size:25px; }.stat-grid { gap:10px; }.stat-card { padding:14px; min-height:94px; gap:10px; }.stat-icon { width:36px;height:36px;border-radius:11px; }.stat-card strong { font-size:17px; }.stat-card small { display:none; }.chart-card { padding:19px 14px; }.metric-pills { margin-right:-14px; }.chart-canvas { height:230px; }.range-pills { overflow-x:auto; justify-content:flex-start; }.insights-column { grid-template-columns:1fr; }.records-section { padding:19px 14px; }.records-grid { grid-template-columns:1fr 1fr; }.records-grid > div, .records-grid > div:nth-child(3) { border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.records-grid > div:nth-child(2n) { border-right:0; }.records-grid > div:last-child { border-bottom:0; }.recent-grid { grid-template-columns:1fr; }.recent-card:nth-child(n+4) { display:none; }.history-summary { grid-template-columns:1fr 1fr; padding:17px; }.history-summary > div { padding:0 15px; }.history-summary > div:nth-child(2) { border:0; }.history-summary > div:last-child { display:none; }.timeline-group { padding-left:20px; }.timeline-group::before { left:4px; }.timeline-dot { left:-20px; }.assessment-row { grid-template-columns:44px 1fr auto 16px; gap:10px; padding:12px; }.assessment-date { width:42px;height:48px; }.assessment-measure { display:none; }.mobile-label { display:block;color:var(--text-faint);font-size:12px; }.form-page { padding-inline:12px; }.form-section { padding:20px 16px; }.form-grid, .form-grid-main { grid-template-columns:1fr 1fr; gap:14px 10px; }.field-wide { grid-column:span 2; }.photo-inputs, .photo-gallery { grid-template-columns:1fr 1fr; }.photo-inputs > :last-child, .photo-gallery > :last-child { grid-column:span 2; }.form-actions { position:sticky; bottom:70px; z-index:8; margin-inline:-12px; padding:11px 12px; background:color-mix(in srgb, var(--bg) 92%, transparent); backdrop-filter:blur(15px); }.form-actions .button { flex:1; }.heading-actions .button { font-size:0; padding:0;width:42px; }.detail-hero { grid-template-columns:1fr 1fr; padding:18px; }.detail-primary, .detail-metric { padding:12px; }.detail-primary { grid-column:span 2; border-right:0; border-bottom:1px solid rgba(255,255,255,.1); }.detail-metric:nth-child(3), .detail-metric:nth-child(5) { border-right:0; }.detail-metric:nth-child(4), .detail-metric:nth-child(5) { border-top:1px solid rgba(255,255,255,.1); }.detail-layout { margin-top:12px; }.comparison-card, .all-measures, .photo-section, .trainer-report, .pattern-card, .notes-card { padding:19px 14px; }.segmented-control { width:100%; }.segmented-control a { flex:1;text-align:center; }.comparison-header { display:none; }.comparison-row { grid-template-columns:1fr 1fr; gap:11px; padding:14px 5px; }.comparison-name { grid-column:span 2; }.comparison-row > span[data-label]::before { content:attr(data-label); display:block; margin-bottom:3px; color:var(--text-faint); font-size:12px; font-weight:500; }.comparison-delta { justify-self:start; }.measure-grid { grid-template-columns:1fr 1fr; }.measure-grid > div, .measure-grid > div:nth-child(3n) { border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.measure-grid > div:nth-child(2n) { border-right:0; }.measure-grid > div:nth-last-child(-n+2) { border-bottom:0; }.photo-compare img { height:220px; }.detail-aside { grid-template-columns:1fr; }.goals-layout { grid-template-columns:1fr; }.new-goal-card { position:static; }.goals-list { order:2; }.new-goal-card { order:1; }.goal-values { gap:4px; }.empty-state { min-height:350px; }.report-toolbar { padding-inline:14px; }.print-report { width:100%; margin:0; padding:35px 20px; box-shadow:none; }.report-summary-grid { grid-template-columns:1fr 1fr; }.report-summary-grid > div:nth-child(3n) { border-right:1px solid #e5e7eb; }.report-summary-grid > div:nth-child(2n) { border-right:0; }.report-charts { grid-template-columns:1fr; }
}

@media print {
  @page { size:A4; margin:12mm; }
  .no-print { display:none!important; }
  .report-body { background:white; print-color-adjust:exact; -webkit-print-color-adjust:exact; }
  .print-report { width:auto; min-height:0; margin:0; padding:0; box-shadow:none; }
  .report-cover { min-height:240px; }.report-section { padding-top:28px; }.page-break { break-before:page; }.report-chart, .report-summary-grid, .report-quote, .report-photos figure, .report-goals > div { break-inside:avoid; }.report-footer { position:relative; }
}

@media (max-width: 900px) {
  .auth-shell { grid-template-columns:1fr; }
  .auth-visual { min-height:230px; padding:28px 30px; }
  .auth-message { margin:40px 0 15px; }
  .auth-orbit,.auth-message small { display:none; }
  .auth-message > p { margin-bottom:8px; }
  .auth-message h1 { font-size:31px; }
  .auth-content { min-height:610px; padding:45px 24px; align-items:flex-start; }
  .account-layout { grid-template-columns:1fr; }
  .profile-layout { grid-template-columns:1fr; }
  .profile-summary { position:static; }
  .admin-sidebar { display:none; }
  .admin-content { margin-left:0; padding-top:64px; }
  .admin-mobile-header { position:fixed; inset:0 0 auto; z-index:25; height:64px; padding:0 18px; display:flex; align-items:center; justify-content:space-between; color:white; background:#11161f; }
  .admin-page { padding:28px 20px 60px; }
  .admin-stat-grid { grid-template-columns:1fr 1fr; }
  .admin-user-header { display:none; }
  .admin-user-row { grid-template-columns:minmax(190px,1fr) 1fr; }
  .admin-user-row > span[data-label]::before { content:attr(data-label); display:block; margin-bottom:3px; color:var(--text-faint); font-size:12px; }
  .admin-user-person { grid-row:span 2; }
  .admin-row-actions { grid-column:span 2; justify-content:flex-start; padding-top:7px; }
  .admin-detail-grid { grid-template-columns:1fr; }
  .dynamic-field-row { grid-template-columns:1fr 1fr; align-items:end; }
  .dynamic-field-row .remove-field { grid-column:2; justify-self:end; }
  .dynamic-fields-header { display:none; }
  .dynamic-detail-hero { grid-template-columns:1fr 1fr; }
  .dynamic-detail-hero .detail-primary { grid-column:span 2; }
}

@media (max-width: 560px) {
  .auth-visual { min-height:180px; padding:22px 20px; }
  .auth-message { margin:28px 0 5px; }
  .auth-message h1 { font-size:25px; letter-spacing:-1px; }
  .auth-message h1 br { display:none; }
  .auth-privacy { display:none; }
  .auth-content { min-height:calc(100vh - 180px); padding:34px 20px; }
  .auth-form-wrap { padding:25px 20px; border-radius:19px; }
  .auth-theme-toggle { top:14px; right:14px; }
  .auth-theme-toggle span { display:none; }
  .auth-heading { margin-bottom:25px; }
  .auth-heading h2 { font-size:27px; }
  .profile-fields { grid-template-columns:1fr; }
  .profile-fields .field-wide { grid-column:auto; }
  .profile-form { padding:20px 16px; }
  .account-form { padding:20px 16px; }
  .account-fields { grid-template-columns:1fr; }
  .account-fields > .field:first-child,.account-divider,.current-password { grid-column:auto; }
  .account-divider { display:block; }
  .account-divider small { display:block; margin-top:4px; }
  .admin-page { padding:22px 14px 50px; }
  .admin-heading { display:block; }
  .admin-heading h1 { font-size:30px; }
  .admin-date { display:none; }
  .admin-stat-grid { gap:9px; }
  .admin-stat { min-height:105px; padding:14px; gap:10px; }
  .admin-stat-icon { width:38px; height:38px; }
  .admin-users-card { padding:18px 12px; }
  .admin-user-row { grid-template-columns:1fr; gap:10px; padding:14px 5px; }
  .admin-user-person,.admin-row-actions { grid-column:auto; grid-row:auto; }
  .admin-profile-hero { grid-template-columns:56px 1fr; padding:18px; }
  .admin-profile-avatar { width:56px; height:56px; border-radius:18px; }
  .admin-profile-hero > .status-pill { grid-column:span 2; }
  .admin-info-card,.admin-access-card,.admin-activity-card { padding:18px 14px; }
  .admin-info-card dl { grid-template-columns:1fr; }
  .admin-info-card dl > div { border-right:0; }
  .admin-info-card dl > div:nth-last-child(2) { border-bottom:1px solid var(--line); }
  .admin-assessment-list { grid-template-columns:1fr 1fr; }
  .profile-limit-card { grid-template-columns:1fr; gap:10px; }
  .data-profile-grid { grid-template-columns:1fr; }
  .profile-schema-summary { grid-template-columns:1fr 1fr; gap:0; padding:15px; }
  .profile-schema-summary > div { padding:12px; border-bottom:1px solid var(--line); }
  .profile-schema-summary > div:nth-child(2n) { border-right:0; }
  .schema-field-header { display:none; }
  .schema-field-row { grid-template-columns:1fr 1fr; }
  .assessment-import-card { align-items:stretch; flex-direction:column; }
  .assessment-import-form { align-items:stretch; flex-direction:column; }
  .assessment-import-form input[type=file] { max-width:none; }
  .dynamic-assessment-grid { grid-template-columns:1fr 1fr; }
  .data-profile-actions { flex-direction:column; }
}

@media (max-width: 760px) {
  .assessment-import-card { padding:16px; gap:15px; }
  .assessment-import-copy { align-items:flex-start; }
  .assessment-import-form .file-picker, .assessment-import-form .button { width:100%; max-width:none; }
  .file-picker-button { width:100%; }
  .file-picker-name { text-align:left; }
  html { scroll-behavior:auto; }
  .button:hover,
  .recent-card:hover,
  .assessment-row:hover,
  .admin-stat:hover,
  .data-profile-card:hover,
  .file-picker:hover .file-picker-button,
  .file-picker:focus-within .file-picker-button {
    transform:none;
  }
  .recent-card:hover,
  .assessment-row:hover,
  .admin-stat:hover {
    box-shadow:var(--shadow);
  }
  .form-actions {
    position:static;
    margin-inline:0;
    padding:5px 0 10px;
    background:transparent;
    backdrop-filter:none;
  }
}

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }

.profile-allowance { color:var(--text); font-size:13px; }
@media (min-width:901px) {
  .admin-user-header,.admin-user-row { grid-template-columns:minmax(210px,1.45fr) minmax(90px,.65fr) minmax(105px,.7fr) minmax(115px,.7fr) minmax(105px,.75fr) minmax(140px,auto); }
  .admin-row-actions { justify-self:end; white-space:nowrap; }
  .actions-heading { text-align:right; }
}
