:root {
  color-scheme: dark;
  --obsidian: #0a0a0a;
  --graphite: #1a1a1a;
  --surface: rgba(20, 20, 28, 0.86);
  --surface-strong: rgba(27, 27, 37, 0.96);
  --surface-soft: rgba(255, 255, 255, 0.055);
  --steel: #8a8a8a;
  --soft-white: #f1f1f1;
  --violet: #6f3cff;
  --violet-light: #ad7cff;
  --blue: #4d8dff;
  --green: #1db954;
  --red: #d92020;
  --line: rgba(173, 124, 255, 0.18);
  --line-strong: rgba(173, 124, 255, 0.34);
  --radius: 8px;
  --shadow: 0 24px 70px rgba(0, 0, 0, 0.42);
}
* { box-sizing: border-box; }
html { min-height: 100%; background: #05050b; -webkit-font-smoothing: antialiased; }
body {
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(circle at 18% -8%, rgba(111, 60, 255, 0.22), transparent 32rem),
    radial-gradient(circle at 90% 16%, rgba(77, 141, 255, 0.1), transparent 25rem),
    linear-gradient(145deg, #090911 0%, #0a0714 44%, #05050a 100%);
  color: var(--soft-white);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-rendering: optimizeLegibility;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.014) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, #000, transparent 76%);
}
a { color: var(--violet-light); text-decoration: none; }
button, input { font: inherit; }
.app-shell { display: grid; grid-template: 74px minmax(0, 1fr) / 252px minmax(0, 1fr); min-height: 100vh; }
.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 20;
  display: flex;
  width: 252px;
  flex-direction: column;
  padding: 20px 16px;
  border-right: 1px solid var(--line);
  background: rgba(7,7,13,.9);
  backdrop-filter: blur(22px);
}
.brand { display: block; height: 72px; margin: 2px 4px 18px; overflow: hidden; }
.brand img { display: block; width: 206px; height: 69px; object-fit: contain; object-position: left center; }
.brand:has(.brand-symbol) { display: flex; align-items: center; gap: 12px; padding: 8px 7px; }
.brand-symbol { display: grid; width: 46px; height: 46px; place-items: center; border: 1px solid rgba(190,145,255,.45); border-radius: 14px; background: linear-gradient(145deg, #d84cff, #6335ef 62%, #3420a0); color: white; font-size: 22px; font-weight: 950; font-style: italic; }
.brand-wordmark { color: white; font-size: 21px; font-weight: 950; letter-spacing: .08em; line-height: .95; }
.brand-wordmark small { display: block; margin-top: 7px; color: #b68cff; font-size: 8px; letter-spacing: .27em; text-transform: uppercase; }
.organisation-card { display: flex; align-items: center; gap: 11px; padding: 11px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface-soft); }
.organisation-mark { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(190,145,255,.38); border-radius: 50%; background: linear-gradient(135deg, #8c4dff, #5220ce); color: white; font-size: 12px; font-weight: 900; }
.organisation-card strong, .organisation-card small { display: block; }
.organisation-card strong { overflow: hidden; max-width: 158px; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.organisation-card small { margin-top: 3px; color: var(--steel); font-size: 11px; }
.side-nav { margin-top: 19px; }
.nav-label { margin: 19px 10px 7px; color: #707080; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.nav-link { display: flex; min-height: 40px; align-items: center; gap: 11px; margin: 3px 0; padding: 9px 11px; border-radius: var(--radius); color: #b8b8c7; font-size: 13px; font-weight: 650; }
.nav-link:hover { background: rgba(255,255,255,.055); color: white; }
.nav-link.active { background: linear-gradient(90deg, rgba(111,60,255,.3), rgba(111,60,255,.07)); box-shadow: inset 3px 0 0 var(--violet); color: white; }
.nav-icon { display: grid; width: 21px; place-items: center; color: #9a86d9; font-size: 16px; }
.nav-count { display:grid; min-width:18px; height:18px; margin-left:auto; padding:0 5px; place-items:center; border-radius:999px; background:#7340ef; color:white; font-size:8px; }
.sidebar-footer { display: grid; gap: 8px; margin-top: auto; padding: 17px 9px 2px; border-top: 1px solid rgba(255,255,255,.07); color: #6f6f7c; font-size: 10px; }
.status-indicator { color: #a6a6b2; }
.status-indicator i, .health-link i { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(29,185,84,.1); }
.topbar { position: sticky; top: 0; z-index: 15; grid-column: 2; display: flex; min-width: 0; align-items: center; gap: 18px; padding: 14px 28px; border-bottom: 1px solid var(--line); background: rgba(8,8,14,.76); backdrop-filter: blur(18px); }
.mobile-brand { display: none; width: 146px; height: 42px; overflow: hidden; }
.mobile-brand img { display: block; width: 146px; height: 49px; object-fit: cover; object-position: center; }
.mobile-brand span { display: block; padding: 12px 0; color: white; font-weight: 950; letter-spacing: .12em; }
.search-box { display: grid; width: min(560px, 50vw); min-height: 43px; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; padding: 0 13px; border: 1px solid rgba(184,164,255,.2); border-radius: var(--radius); background: rgba(255,255,255,.05); color: #777787; }
.search-box input { min-width: 0; border: 0; outline: 0; background: transparent; color: white; }
.search-box input::placeholder { color: #777787; }
.search-box kbd { padding: 3px 6px; border: 1px solid rgba(255,255,255,.1); border-radius: 5px; background: rgba(255,255,255,.04); color: #8e8e9c; font-size: 10px; }
.topbar-actions { display: flex; align-items: center; gap: 14px; margin-left: auto; }
.health-link { color: #a6a6b2; font-size: 12px; font-weight: 700; }
.user-chip { display: flex; align-items: center; gap: 10px; padding-left: 15px; border-left: 1px solid rgba(255,255,255,.09); }
.user-chip strong, .user-chip small { display: block; max-width: 190px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-chip strong { font-size: 12px; }
.user-chip small { margin-top: 2px; color: #7e7e8b; font-size: 10px; }
.avatar { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 50%; background: linear-gradient(135deg, #2d2148, #18131f); color: #d8c7ff; font-size: 11px; font-weight: 850; }
.topbar-signin { padding: 10px 15px; border: 1px solid var(--line-strong); border-radius: var(--radius); color: white; font-size: 12px; font-weight: 800; }
.inline-form { display: inline; }
.icon-button { width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.09); border-radius: var(--radius); background: rgba(255,255,255,.04); color: #aaa; cursor: pointer; }
.content { position: relative; z-index: 1; grid-column: 2; padding: 38px 34px 64px; }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 27px; }
.eyebrow { margin: 0 0 8px; color: #8d78c8; font-size: 10px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 8px; font-size: clamp(28px, 4vw, 40px); font-weight: 650; letter-spacing: -.035em; line-height: 1.04; }
h2 { margin: 0; font-size: 18px; font-weight: 650; letter-spacing: -.02em; }
h3 { margin-bottom: 7px; font-size: 15px; }
.page-heading > div > p:last-child { margin: 0; color: #878793; font-size: 13px; }
.heading-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 10px; }
.heading-actions form { margin: 0; }
.button.success { border-color: rgba(67,211,122,.35); background: rgba(33,156,82,.16); color: #77e59c; }
.button.success:hover { background: rgba(33,156,82,.28); color: white; }
.closeout-note { max-width: 120px; color: #f0bd59; font-size: 8px; font-weight: 850; line-height: 1.35; text-align: right; text-transform: uppercase; }
.message-stack { display: grid; gap: 8px; margin-bottom: 16px; }
.message { padding: 12px 15px; border: 1px solid rgba(173,124,255,.25); border-radius: var(--radius); background: rgba(111,60,255,.11); color: #cbb9ff; font-size: 10px; font-weight: 750; }
.message.success { border-color: rgba(67,211,122,.3); background: rgba(33,156,82,.12); color: #77e59c; }
.message.error { border-color: rgba(255,105,116,.3); background: rgba(217,32,32,.12); color: #ff929b; }
.date-control { padding: 11px 13px; border: 1px solid rgba(255,255,255,.09); border-radius: var(--radius); background: rgba(255,255,255,.035); color: #9c9ca7; font-size: 12px; font-weight: 650; }
.button { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; padding: 10px 15px; border: 1px solid var(--line-strong); border-radius: var(--radius); color: white; font-weight: 800; text-decoration: none; cursor: pointer; }
.button.primary { background: linear-gradient(135deg, #8046ff, #5d29dc); box-shadow: 0 12px 28px rgba(111,60,255,.2); }
.button.secondary { background: rgba(255,255,255,.06); box-shadow: none; }
.full-width { width: 100%; margin-top: 22px; }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.metric-card { position: relative; display: flex; min-height: 132px; align-items: flex-start; gap: 15px; overflow: hidden; padding: 19px; border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(145deg, rgba(28,28,39,.88), rgba(15,15,23,.92)); box-shadow: inset 0 1px 0 rgba(255,255,255,.03); }
.metric-card::after { content: ""; position: absolute; inset: auto -42px -58px auto; width: 135px; height: 135px; border-radius: 50%; background: rgba(111,60,255,.08); filter: blur(8px); }
.metric-icon { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border-radius: var(--radius); background: rgba(111,60,255,.15); color: #b995ff; font-size: 18px; }
.metric-card.blue .metric-icon { background: rgba(77,141,255,.13); color: #7eb1ff; }
.metric-card.green .metric-icon { background: rgba(29,185,84,.13); color: #4fd77c; }
.metric-card.purple .metric-icon { background: rgba(173,124,255,.13); color: #c29bff; }
.metric-card div > span { display: block; color: #9999a6; font-size: 11px; font-weight: 650; }
.metric-card strong { display: block; margin: 7px 0 3px; color: white; font-size: 28px; line-height: 1; }
.metric-card small { color: #696976; font-size: 10px; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(300px, .8fr); gap: 14px; margin-top: 14px; }
.panel { border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(145deg, rgba(22,22,31,.9), rgba(12,12,19,.94)); box-shadow: var(--shadow); }
.panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 74px; padding: 17px 19px; border-bottom: 1px solid rgba(255,255,255,.07); }
.panel-heading .eyebrow { margin-bottom: 5px; }
.panel-heading a { color: #a985ff; font-size: 11px; font-weight: 750; }
.panel-heading-actions { display: flex; align-items: center; gap: 12px; }
.panel-heading-actions .attention-count { padding: 5px 8px; border: 1px solid rgba(234,80,115,.26); border-radius: 999px; background: rgba(217,32,75,.09); color: #ff7898; font-size: 8px; text-transform: uppercase; }
.empty-state { display: grid; min-height: 280px; place-items: center; align-content: center; padding: 38px; text-align: center; }
.empty-mark { display: grid; width: 58px; height: 58px; margin-bottom: 17px; place-items: center; border: 1px solid rgba(168,130,255,.32); border-radius: 50%; background: radial-gradient(circle at 35% 30%, #9666ff, #321371); box-shadow: 0 0 45px rgba(111,60,255,.18); font-size: 23px; font-style: italic; font-weight: 900; }
.empty-state p { max-width: 470px; margin-bottom: 20px; color: #7d7d8b; font-size: 12px; line-height: 1.6; }
.session-list { padding: 5px 19px 16px; }
.session-row { display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 13px; padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.065); }
.session-row:last-child { border-bottom: 0; }
.session-row strong, .session-row small { display: block; }
.session-row strong { font-size: 13px; }
.session-row small { margin-top: 4px; color: #757582; font-size: 11px; }
.session-time { color: #a98aff; font-size: 11px; font-weight: 800; }
.status-pill { padding: 5px 8px; border: 1px solid rgba(111,60,255,.28); border-radius: 999px; background: rgba(111,60,255,.1); color: #bda2ff; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.action-list { padding: 7px 19px 15px; }
.action-list a { display: grid; grid-template-columns: 28px 1fr auto; align-items: center; gap: 10px; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.065); color: white; }
.action-list a:last-child { border-bottom: 0; }
.action-list a > span:first-child { color: #815ce8; font-size: 10px; font-weight: 850; }
.action-list strong, .action-list small { display: block; }
.action-list strong { font-size: 12px; }
.action-list small { margin-top: 4px; color: #70707d; font-size: 10px; }
.action-list b { color: #6f6f7d; font-size: 20px; font-weight: 400; }
.priority-list { padding: 7px 19px 15px; }
.priority-item { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.065); color: white; }
.priority-item:last-child { border-bottom: 0; }
.priority-icon { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 50%; background: rgba(111,60,255,.13); color: #b99cff; font-size: 9px; font-weight: 900; }
.priority-item.safety .priority-icon, .priority-item.goal.overdue .priority-icon { background: rgba(217,32,32,.14); color: #ff7883; }
.priority-item.missed .priority-icon { background: rgba(217,32,75,.14); color: #ff7898; }
.priority-item.readiness .priority-icon { background: rgba(255,165,0,.14); color: #ffbd5c; }
.priority-item.awaiting .priority-icon { background: rgba(77,141,255,.13); color: #7eb1ff; }
.priority-item.closeout .priority-icon { background: rgba(217,32,32,.14); color: #ff7883; }
.priority-item.closeout.ready .priority-icon { background: rgba(29,185,84,.13); color: #55d982; }
.priority-item.competition .priority-icon { background: rgba(77,141,255,.13); color: #7eb1ff; }
.priority-item strong, .priority-item small { display: block; }
.priority-item strong { font-size: 11px; }
.priority-item small { margin-top: 4px; color: #71717e; font-size: 8px; line-height: 1.4; }
.priority-item b { color: #676773; font-size: 18px; font-weight: 400; }
.priority-item:hover strong { color: #c7b3ff; }
.attention-count.waiting { border-color: rgba(77,141,255,.24); background: rgba(77,141,255,.09); color: #8bb9ff; }
.priority-clear { display: grid; min-height: 220px; place-items: center; align-content: center; text-align: center; }
.priority-clear > span { display: grid; width: 42px; height: 42px; margin-bottom: 10px; place-items: center; border-radius: 50%; background: rgba(29,185,84,.12); color: #55d982; }
.priority-clear strong, .priority-clear small { display: block; }
.priority-clear small { max-width: 220px; margin-top: 5px; color: #71717d; font-size: 9px; line-height: 1.5; }
.competition-entries-panel { margin-top: 14px; }
.athlete-competition-panel { margin-top: 14px; overflow: hidden; }
.athlete-focus-list { padding: 7px 19px 15px; }
.athlete-focus-item { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.065); color: white; }
.athlete-focus-item:last-child { border-bottom: 0; }
.athlete-focus-item > span:nth-child(2) small, .athlete-focus-item strong, .athlete-focus-item em { display: block; }
.athlete-focus-item > span:nth-child(2) small { margin-bottom: 3px; color: #756694; font-size: 7px; font-style: normal; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.athlete-focus-item strong { font-size: 11px; }
.athlete-focus-item em { margin-top: 4px; color: #71717e; font-size: 8px; font-style: normal; line-height: 1.4; }
.athlete-focus-item time { color: #93939f; font-size: 9px; font-weight: 800; white-space: nowrap; }
.athlete-focus-item.met .priority-icon, .athlete-focus-item.result .priority-icon { background: rgba(29,185,84,.13); color: #55d982; }
.athlete-focus-item.review .priority-icon { background: rgba(29,185,84,.13); color: #55d982; }
.athlete-focus-item.review:hover strong { color: #75e59c; }
.focus-action { display: grid; justify-items: end; gap: 6px; }
.focus-action form { margin: 0; }
.focus-action button { padding: 5px 9px; border: 1px solid rgba(29,185,84,.28); border-radius: 999px; background: rgba(29,185,84,.1); color: #75e59c; font: inherit; font-size: 8px; font-weight: 850; cursor: pointer; }
.focus-action button:hover { border-color: rgba(29,185,84,.55); background: rgba(29,185,84,.18); }
.athlete-focus-item.overdue .priority-icon { background: rgba(217,32,32,.14); color: #ff7883; }
.athlete-focus-item.missed .priority-icon { background: rgba(217,32,75,.14); color: #ff7898; }
.athlete-focus-item.missed:hover strong { color: #ff9ab1; }
.athlete-focus-item.competition .priority-icon { background: rgba(77,141,255,.13); color: #7eb1ff; }
.priority-item.wellness .priority-icon, .athlete-focus-item.wellness .priority-icon { background: rgba(186,116,255,.14); color: #c7a1ff; }
.athlete-focus-item.wellness.flagged .priority-icon, .athlete-focus-item.wellness.due .priority-icon { background: rgba(217,32,75,.14); color: #ff7898; }
.wellness-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr); gap: 14px; }
.wellness-form, .wellness-history, .wellness-summary { overflow: hidden; }
.wellness-scales { display: grid; padding: 4px 20px; }
.wellness-scale { display: grid; grid-template-columns: minmax(150px, 1fr) repeat(5, 40px); align-items: center; gap: 8px; margin: 0; padding: 17px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.065); }
.wellness-scale legend { float: left; grid-column: 1; color: #f4f1fa; font-size: 12px; font-weight: 800; }
.wellness-scale > small { grid-column: 1; color: #777381; font-size: 8px; }
.wellness-scale > div { grid-column: 2 / 7; grid-row: 1 / span 2; display: grid; grid-template-columns: repeat(5, 40px); gap: 8px; }
.wellness-scale > div > div label { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #34313f; border-radius: 8px; color: #a6a1ae; font-size: 11px; font-weight: 800; cursor: pointer; }
.wellness-scale input { position: absolute; opacity: 0; pointer-events: none; }
.wellness-scale > div > div:has(input:checked) label { border-color: #7a47f5; background: rgba(111,60,255,.2); color: #fff; box-shadow: 0 0 0 1px rgba(111,60,255,.28); }
.wellness-note { padding: 19px 20px 0; }
.readiness-score { display: inline-grid; place-items: center; min-width: 54px; height: 32px; padding: 0 9px; border-radius: 8px; background: rgba(29,185,84,.12); color: #62de8d; font-size: 13px; font-weight: 900; }
.readiness-score.alert { background: rgba(217,32,75,.14); color: #ff788f; }
.wellness-recent { margin-top: 14px; }
.wellness-review-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); gap: 14px; align-items: start; }
.wellness-values { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: rgba(255,255,255,.06); }
.wellness-values span { padding: 20px 14px; background: #121116; text-align: center; }
.wellness-values small, .wellness-values strong { display: block; }
.wellness-values small { color: #777381; font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.wellness-values strong { margin-top: 6px; font-size: 18px; }
.wellness-athlete-note { margin: 20px; padding: 16px 18px; border-left: 3px solid #7542ef; background: rgba(111,60,255,.08); color: #d8d3df; font-size: 12px; line-height: 1.6; }
.wellness-response { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 14px; margin-bottom: 14px; padding: 18px 20px; border-color: rgba(29,185,84,.25); }
.wellness-response h2 { margin: 3px 0 5px; font-size: 14px; line-height: 1.45; }
.wellness-response small { color: #777381; font-size: 9px; }
.wellness-response form { margin: 0; }
.brand-principle { display: flex; align-items: center; gap: 18px; margin-top: 14px; padding: 17px 19px; border: 1px solid rgba(111,60,255,.14); border-radius: var(--radius); background: linear-gradient(90deg, rgba(111,60,255,.12), rgba(111,60,255,.02)); }
.brand-principle span { color: white; font-size: 12px; font-weight: 900; letter-spacing: .09em; }
.brand-principle p { margin: 0; color: #858592; font-size: 11px; }
.login-layout { display: grid; min-height: calc(100vh - 150px); grid-template-columns: minmax(0, 1.2fr) minmax(340px, 440px); align-items: center; gap: 70px; }
.login-intro { max-width: 630px; }
.login-intro h1 { max-width: 600px; font-size: clamp(38px, 6vw, 64px); }
.login-intro > p:last-child { max-width: 560px; color: #888896; font-size: 15px; line-height: 1.7; }
.login-card { padding: 31px; border: 1px solid var(--line-strong); border-radius: var(--radius); background: rgba(20,20,29,.9); box-shadow: var(--shadow); }
.login-card h2 { margin-bottom: 25px; font-size: 25px; }
.login-card label { display: block; margin: 15px 0 7px; color: #a8a8b3; font-size: 11px; font-weight: 750; }
.login-card input { width: 100%; min-height: 49px; padding: 0 13px; border: 1px solid rgba(190,166,255,.22); border-radius: var(--radius); outline: 0; background: rgba(255,255,255,.055); color: white; }
.login-card input:focus { border-color: rgba(111,60,255,.7); box-shadow: 0 0 0 4px rgba(111,60,255,.12); }
.login-help-link { display: inline-block; margin-top: 11px; color: #a98aff; font-size: 10px; font-weight: 750; }
.login-help-link.back { margin-top: 20px; }
.recovery-state > p:not(.eyebrow) { margin-bottom: 4px; color: #898391; font-size: 12px; line-height: 1.65; }
.recovery-mark { display: grid; width: 46px; height: 46px; margin-bottom: 21px; place-items: center; border-radius: 50%; background: rgba(111,60,255,.14); color: #b99cff; font-size: 17px; font-weight: 900; }
.recovery-mark.success { background: rgba(29,185,84,.13); color: #55d982; }
.recovery-mark.alert { background: rgba(217,32,32,.14); color: #ff7883; }
.form-error { color: #ff7d88; font-size: 12px; }
.count-badge { display: grid; min-width: 30px; height: 30px; place-items: center; border: 1px solid var(--line-strong); border-radius: 999px; background: rgba(111,60,255,.12); color: #c8b1ff; font-size: 11px; font-weight: 850; }
.data-panel { overflow: hidden; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; text-align: left; }
th { padding: 13px 19px; border-bottom: 1px solid rgba(255,255,255,.08); color: #747482; font-size: 9px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
td { padding: 17px 19px; border-bottom: 1px solid rgba(255,255,255,.06); color: #aaaab6; font-size: 12px; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: rgba(111,60,255,.045); }
.inactive-row { opacity: .62; }
.inactive-row:hover { opacity: .8; }
td strong, td small { display: block; }
td strong { color: white; font-size: 12px; }
.athlete-name { color: white; font-size: 12px; font-weight: 800; }
.athlete-name:hover { color: #c5adff; }
td small { margin-top: 4px; color: #72727f; font-size: 10px; }
.row-link { color: #b797ff; font-size: 11px; font-weight: 800; }
.muted { color: #6f6f7d; }
.table-empty { padding: 54px 20px; text-align: center; }
.status-pill.complete { border-color: rgba(29,185,84,.3); background: rgba(29,185,84,.12); color: #60dc8a; }
.status-pill.partial { border-color: rgba(255,165,0,.3); background: rgba(255,165,0,.12); color: #ffbd5c; }
.status-pill.unable { border-color: rgba(217,32,32,.3); background: rgba(217,32,32,.12); color: #ff7883; }
.status-pill.neutral { border-color: rgba(255,255,255,.12); background: rgba(255,255,255,.05); color: #858592; }
.status-pill.alert { border-color: rgba(217,32,32,.3); background: rgba(217,32,32,.12); color: #ff7883; }
.status-pill.readiness-ready { border-color: rgba(29,185,84,.3); background: rgba(29,185,84,.12); color: #60dc8a; }
.status-pill.readiness-concern { border-color: rgba(255,165,0,.3); background: rgba(255,165,0,.12); color: #ffbd5c; }
.status-pill.readiness-unavailable { border-color: rgba(217,32,32,.3); background: rgba(217,32,32,.12); color: #ff7883; }
.status-pill.readiness-pending { border-color: rgba(255,255,255,.12); background: rgba(255,255,255,.05); color: #858592; }
.table-note { display: block; max-width: 220px; margin-top: 5px; color: #747481; font-size: 9px; line-height: 1.4; }
.table-note.reviewed { color: #60dc8a; }
.table-note.acknowledged { color: #75b9ff; }
.coach-response { display: block; margin-top: 4px; color: #60dc8a; }
.review-acknowledged { display: block; margin-top: 10px; color: #75b9ff; }
.coach-review-state form { margin-top: 12px; }
.readiness-callout { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; padding: 15px; border: 1px solid rgba(111,60,255,.18); border-radius: var(--radius); background: rgba(111,60,255,.07); }
.readiness-callout > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: rgba(111,60,255,.15); color: #b99cff; }
.readiness-callout strong, .readiness-callout small { display: block; }
.readiness-callout small { margin-top: 3px; color: #797986; font-size: 10px; }
.readiness-review-layout { display: grid; grid-template-columns: minmax(280px, .75fr) minmax(0, 1.25fr); gap: 14px; }
.readiness-summary { padding: 24px; }
.readiness-summary .status-pill { display: inline-block; margin-bottom: 20px; }
.readiness-summary h2 { margin-bottom: 12px; font-size: 21px; line-height: 1.4; }
.readiness-summary > small { color: #777784; font-size: 10px; }
.entry-actions { min-width: 105px; }
.entry-actions .row-link { display: block; margin: 0 0 6px; }
.entry-actions .row-link:last-child { margin-bottom: 0; }
.result-link { color: #c2a9ff; }
.result-captured { display: block; margin-bottom: 6px; color: #60dc8a; font-size: 9px; font-weight: 800; white-space: nowrap; }
.result-entry-callout { display: flex; align-items: center; gap: 12px; margin: -8px 0 14px; padding: 14px 17px; border: 1px solid rgba(111,60,255,.18); border-radius: var(--radius); background: rgba(111,60,255,.07); }
.result-entry-callout > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: rgba(111,60,255,.14); color: #b99cff; }
.result-entry-callout strong, .result-entry-callout small { display: block; }
.result-entry-callout small { margin-top: 4px; color: #858592; font-size: 10px; }
.form-panel { max-width: 960px; padding: 27px; }
.form-panel > h2 { margin-bottom: 22px; }
.narrow-form { max-width: 620px; }
.form-grid, .compact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 19px; }
.form-grid.one-column { grid-template-columns: 1fr; }
.form-field.wide { grid-column: 1 / -1; }
.form-field label { display: block; margin-bottom: 7px; color: #a9a9b5; font-size: 10px; font-weight: 800; letter-spacing: .025em; }
.form-field input:not([type="checkbox"]), .form-field select, .form-field textarea { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid rgba(190,166,255,.2); border-radius: var(--radius); outline: 0; background: rgba(255,255,255,.05); color: white; }
.form-field select { color-scheme: dark; }
.form-field textarea { min-height: 100px; resize: vertical; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color: rgba(111,60,255,.75); box-shadow: 0 0 0 4px rgba(111,60,255,.11); }
.form-field input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--violet); }
.form-field small { display: block; margin-top: 6px; color: #72727f; font-size: 10px; line-height: 1.45; }
.form-field .form-error { margin: 6px 0 0; }
.form-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 27px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.07); }
.page-actions { max-width: 960px; }
.template-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.template-card { min-height: 210px; padding: 20px; }
.template-card-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; }
.template-card h2 { margin-bottom: 9px; }
.template-card > p { min-height: 42px; color: #7d7d8a; font-size: 11px; line-height: 1.55; }
.template-card.archived { opacity: .68; }
.template-meta { display: flex; gap: 15px; margin-top: 18px; color: #8d8d99; font-size: 10px; font-weight: 750; }
.template-meta span + span::before { content: "·"; margin-right: 15px; color: #4f4f5a; }
.full-span { grid-column: 1 / -1; }
.template-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 17px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.07); }
.template-actions > span { color: #676773; font-size: 9px; }
.template-actions .row-link { text-align: right; }
.form-field input:disabled { border-color: rgba(255,255,255,.09); background: rgba(255,255,255,.025); color: #777783; cursor: not-allowed; }
.blocks-panel { max-width: 960px; margin-top: 14px; overflow: hidden; }
.block-editor { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 15px; padding: 22px; border-bottom: 1px solid rgba(255,255,255,.07); }
.block-editor:last-child { border-bottom: 0; }
.block-number { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; color: #ad8fff; font-size: 10px; font-weight: 900; }
.compact-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.compact-grid .wide { grid-column: span 2; }
.today-list { display: grid; gap: 12px; }
.overdue-session-section { margin-bottom: 28px; }
.today-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 12px; }
.today-section-heading.upcoming { margin-top: 2px; }
.today-section-heading .eyebrow { margin-bottom: 5px; }
.today-section-heading h2 { margin: 0; font-size: 16px; }
.today-section-heading > p { margin: 0; color: #777784; font-size: 10px; }
.today-card { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; align-items: center; gap: 20px; padding: 19px; }
.today-card.overdue { border-color: rgba(234, 80, 115, .28); background: linear-gradient(145deg, rgba(217,32,75,.08), rgba(255,255,255,.025)); }
.today-card.overdue .today-date { border-color: rgba(234, 80, 115, .32); background: rgba(217,32,75,.1); }
.today-card.overdue .today-date span { color: #ff7898; }
.today-card.overdue .today-copy .eyebrow { color: #ff7898; }
.today-date { display: grid; min-height: 62px; place-items: center; align-content: center; border: 1px solid var(--line-strong); border-radius: var(--radius); background: rgba(111,60,255,.1); }
.today-date strong { font-size: 23px; line-height: 1; }
.today-date span { margin-top: 4px; color: #a88bff; font-size: 9px; font-weight: 850; text-transform: uppercase; }
.today-copy .eyebrow { margin-bottom: 4px; }
.today-copy h2 { margin-bottom: 7px; }
.today-copy > p:not(.eyebrow) { margin: 0; color: #777784; font-size: 11px; }
.today-copy .template-meta { margin-top: 10px; }
.today-action { display: flex; align-items: center; gap: 13px; }
.completion-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); align-items: start; gap: 14px; }
.overdue-form-notice { display: grid; grid-template-columns: 36px minmax(0, 1fr); align-items: center; gap: 13px; margin-bottom: 14px; padding: 14px 16px; border: 1px solid rgba(234,80,115,.27); border-radius: var(--radius); background: linear-gradient(90deg, rgba(217,32,75,.11), rgba(217,32,75,.035)); }
.overdue-form-notice > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: rgba(217,32,75,.16); color: #ff7898; font-size: 12px; font-weight: 900; }
.overdue-form-notice strong { color: #ff9ab1; font-size: 11px; }
.overdue-form-notice p { margin: 4px 0 0; color: #8d7d86; font-size: 10px; line-height: 1.5; }
.prescription-panel { overflow: hidden; }
.prescription-list { padding: 4px 20px 12px; }
.prescription-list article { display: grid; grid-template-columns: 36px 1fr; gap: 14px; padding: 17px 0; border-bottom: 1px solid rgba(255,255,255,.07); }
.prescription-list article:last-child { border-bottom: 0; }
.prescription-list article > span { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 50%; background: rgba(111,60,255,.13); color: #b497ff; font-size: 9px; font-weight: 850; }
.prescription-list strong { font-size: 12px; }
.prescription-list p { margin: 5px 0; color: #a0a0ac; font-size: 11px; line-height: 1.5; }
.prescription-list small { color: #6f6f7c; font-size: 9px; }
.prescription-metrics { display: flex; flex-wrap: wrap; gap: 7px; }
.prescription-metrics span + span::before { content: "·"; margin-right: 7px; color: #4f4f5a; }
.completion-hint { color: #777784; font-size: 10px; }
.review-required-hint { margin: -3px 0 9px; color: #ff7898; font-size: 9px; line-height: 1.45; }
.block-actual { margin-top: 13px; }
.block-actual label { display: block; margin-bottom: 6px; color: #8f8f9d; font-size: 9px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.block-actual input { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid rgba(190,166,255,.2); border-radius: var(--radius); outline: 0; background: rgba(255,255,255,.045); color: white; }
.block-actual input:focus { border-color: rgba(111,60,255,.75); box-shadow: 0 0 0 4px rgba(111,60,255,.11); }
.block-actual input::placeholder { color: #656572; }
.completion-feedback { position: sticky; top: 92px; }
.calendar-summary { display: flex; min-height: 55px; align-items: center; gap: 20px; margin-bottom: 14px; padding: 10px 14px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.035); color: #7d7d89; font-size: 10px; }
.calendar-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; margin-bottom: 12px; padding: 12px 14px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.025); }
.calendar-filters label { display: grid; min-width: 180px; gap: 6px; }
.calendar-filters label span { color: #767683; font-size: 8px; font-weight: 850; text-transform: uppercase; }
.calendar-filters select { min-height: 38px; padding: 0 10px; border: 1px solid rgba(190,166,255,.18); border-radius: 6px; background: #17151f; color: #c7c3cf; font-size: 10px; }
.calendar-filters .button { min-height: 38px; padding: 8px 13px; font-size: 10px; }
.calendar-clear { align-self: center; margin-left: 3px; color: #a98aff; font-size: 9px; font-weight: 800; }
.calendar-summary > span strong { margin-right: 3px; color: white; font-size: 13px; }
.week-navigation { display: flex; align-items: center; gap: 11px; margin-left: auto; }
.week-navigation a { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid var(--line); border-radius: 6px; background: rgba(255,255,255,.035); color: #c9b6ff; font-size: 19px; }
.week-navigation strong { min-width: 92px; color: #b7b7c2; font-size: 10px; text-align: center; }
.week-calendar { display: grid; grid-template-columns: repeat(7, minmax(150px, 1fr)); gap: 9px; overflow-x: auto; padding-bottom: 8px; }
.calendar-day { display: flex; min-height: 470px; flex-direction: column; overflow: hidden; box-shadow: none; }
.calendar-day.today { border-color: rgba(145,99,255,.6); box-shadow: inset 0 0 0 1px rgba(111,60,255,.13); }
.calendar-day > header { position: relative; display: grid; min-height: 77px; grid-template-columns: auto 1fr; align-content: center; gap: 1px 7px; padding: 13px; border-bottom: 1px solid rgba(255,255,255,.07); background: rgba(255,255,255,.025); }
.calendar-day > header > span { grid-column: 1 / -1; color: #777783; font-size: 8px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.calendar-day > header strong { font-size: 24px; line-height: 1; }
.calendar-day > header small { align-self: end; color: #898995; font-size: 9px; font-weight: 750; text-transform: uppercase; }
.calendar-day > header i { position: absolute; top: 12px; right: 10px; color: #a985ff; font-size: 7px; font-style: normal; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.calendar-day-body { display: grid; align-content: start; gap: 8px; min-height: 330px; padding: 9px; }
.calendar-session { position: relative; display: block; min-height: 91px; padding: 12px 10px 10px 14px; border: 1px solid rgba(111,60,255,.2); border-radius: 7px; background: linear-gradient(145deg, rgba(111,60,255,.15), rgba(255,255,255,.025)); color: white; }
.calendar-session:hover { border-color: rgba(166,127,255,.48); transform: translateY(-1px); }
.calendar-session-status { position: absolute; inset: 11px auto 11px 6px; width: 2px; border-radius: 2px; background: #8153ed; }
.calendar-session.complete { border-color: rgba(29,185,84,.23); background: linear-gradient(145deg, rgba(29,185,84,.1), rgba(255,255,255,.02)); }
.calendar-session.complete .calendar-session-status { background: #31c866; }
.calendar-session.partial { border-color: rgba(255,165,0,.26); background: linear-gradient(145deg, rgba(255,165,0,.1), rgba(255,255,255,.02)); }
.calendar-session.partial .calendar-session-status { background: #e9a23b; }
.calendar-session.unable { border-color: rgba(217,32,32,.28); background: linear-gradient(145deg, rgba(217,32,32,.11), rgba(255,255,255,.02)); }
.calendar-session.unable .calendar-session-status { background: #df4b57; }
.calendar-session.overdue { border-color: rgba(217,32,32,.22); background: linear-gradient(145deg, rgba(217,32,32,.09), rgba(255,255,255,.02)); }
.calendar-session.overdue .calendar-session-status { background: #df4b57; }
.calendar-session strong, .calendar-session small, .calendar-session em { display: block; }
.calendar-session strong { overflow: hidden; font-size: 10px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.calendar-session small { margin-top: 5px; overflow: hidden; color: #858591; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.calendar-session em { margin-top: 9px; color: #9878e6; font-size: 7px; font-style: normal; font-weight: 850; text-transform: uppercase; }
.calendar-session.complete em { color: #54d981; }
.calendar-session.partial em { color: #ffbd5c; }
.calendar-session.unable em { color: #f0727c; }
.calendar-session.overdue em { color: #f0727c; }
.calendar-empty { display: grid; min-height: 92px; place-items: center; align-content: center; color: #4f4f5a; text-align: center; }
.calendar-empty span { font-size: 15px; }
.calendar-empty small { margin-top: 4px; font-size: 8px; }
.calendar-add { display: block; margin: auto 9px 9px; padding: 10px 7px; border: 1px dashed rgba(173,124,255,.18); border-radius: 6px; color: #7f6aa9; font-size: 8px; font-weight: 800; text-align: center; }
.calendar-add:hover { border-color: rgba(173,124,255,.42); color: #bea3ff; }
.assignment-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.assignment-summary-card { min-height: 116px; padding: 18px; }
.assignment-summary-card > span { color: #8e8e9a; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.assignment-summary-card > strong { display: block; margin: 10px 0 7px; font-size: 24px; }
.assignment-summary-card > strong small { color: #767683; font-size: 11px; }
.assignment-summary-card > small { color: #6e6e7a; font-size: 9px; }
.assignment-summary-card.alert { border-color: rgba(217,32,32,.38); }
.assignment-summary-card.alert > strong { color: #ff707b; }
.assignment-summary-card.status-partial { border-color: rgba(255,165,0,.3); }
.assignment-summary-card.status-partial > strong { color: #ffbd5c; }
.assignment-summary-card.status-unable { border-color: rgba(217,32,32,.38); }
.assignment-summary-card.status-unable > strong { color: #ff707b; }
.assignment-review-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr); align-items: start; gap: 14px; margin-top: 14px; }
.assignment-blocks, .assignment-feedback { overflow: hidden; }
.assignment-block-list { padding: 4px 20px 12px; }
.assignment-block { display: grid; grid-template-columns: 36px minmax(0, 1.15fr) minmax(180px, .85fr); align-items: start; gap: 14px; padding: 19px 0; border-bottom: 1px solid rgba(255,255,255,.07); }
.assignment-block:last-child { border-bottom: 0; }
.assignment-plan > strong { font-size: 12px; }
.assignment-plan > p { margin: 6px 0 8px; color: #9a9aa6; font-size: 10px; line-height: 1.5; }
.assignment-actual { min-height: 70px; padding: 11px 12px; border: 1px solid rgba(173,124,255,.14); border-radius: 7px; background: rgba(111,60,255,.06); }
.assignment-actual > span { display: block; margin-bottom: 7px; color: #766593; font-size: 8px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.assignment-actual > strong { color: #c3c3cc; font-size: 10px; line-height: 1.45; }
.assignment-feedback > div:last-child { padding: 20px; }
.assignment-feedback p { color: #a2a2ad; font-size: 11px; line-height: 1.65; }
.assignment-feedback dl { margin: 19px 0 0; }
.assignment-feedback dl > div { display: flex; justify-content: space-between; gap: 14px; padding: 12px 0; border-top: 1px solid rgba(255,255,255,.065); }
.assignment-feedback dt { color: #73737f; font-size: 9px; }
.assignment-feedback dd { margin: 0; color: #c2c2cb; font-size: 9px; font-weight: 800; }
.coach-review-state { margin: 0 20px 18px; padding: 13px; border: 1px solid rgba(29,185,84,.22); border-radius: 7px; background: rgba(29,185,84,.07); }
.coach-review-state > span, .coach-review-state > strong, .coach-review-state > small { display: block; }
.coach-review-state > span { color: #58d783; font-size: 8px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.coach-review-state > strong { margin-top: 7px; font-size: 10px; }
.coach-review-state > small { margin-top: 3px; color: #6f8275; font-size: 8px; }
.coach-review-state > p { margin: 11px 0 0; padding-top: 10px; border-top: 1px solid rgba(29,185,84,.14); color: #aeb8b1; }
.coach-review-form { padding: 18px 20px 21px; border-top: 1px solid rgba(255,255,255,.07); background: rgba(255,255,255,.018); }
.coach-review-form label { display: block; margin-bottom: 7px; color: #92929e; font-size: 9px; font-weight: 800; }
.coach-review-form textarea { width: 100%; min-height: 90px; padding: 10px 11px; border: 1px solid rgba(190,166,255,.2); border-radius: var(--radius); outline: 0; background: rgba(255,255,255,.045); color: white; resize: vertical; }
.coach-review-form textarea:focus { border-color: rgba(111,60,255,.75); box-shadow: 0 0 0 4px rgba(111,60,255,.11); }
.coach-review-form .full-width { margin-top: 12px; }
.performance-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(320px, .7fr); align-items: start; gap: 14px; }
.competition-stack { display: grid; gap: 12px; }
.competition-card { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; align-items: center; gap: 18px; min-height: 112px; padding: 18px; }
.competition-date { display: grid; min-height: 72px; place-items: center; align-content: center; border: 1px solid var(--line-strong); border-radius: var(--radius); background: linear-gradient(145deg, rgba(111,60,255,.18), rgba(77,141,255,.07)); }
.competition-date strong { font-size: 26px; line-height: 1; }
.competition-date span { margin-top: 6px; color: #9f82e9; font-size: 9px; font-weight: 850; text-transform: uppercase; }
.competition-copy .eyebrow { margin-bottom: 5px; }
.competition-copy h2 { margin-bottom: 7px; }
.competition-copy > p:last-child { margin: 0; color: #777784; font-size: 11px; }
.competition-stat { display: grid; min-width: 74px; justify-items: end; gap: 4px; }
.competition-stat > strong { font-size: 24px; line-height: 1; }
.competition-stat > span { color: #72727f; font-size: 9px; text-transform: uppercase; }
.competition-stat .row-link { margin-top: 7px; }
.competition-copy h2 a { color: white; }
.competition-copy h2 a:hover { color: #c4adff; }
.competition-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.competition-kpis article { min-height: 118px; padding: 18px; }
.competition-kpis span { color: #8e8e9a; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.competition-kpis strong { display: block; margin: 10px 0 7px; font-size: 26px; }
.competition-kpis small { color: #6d6d79; font-size: 9px; }
.competition-detail-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(260px, .45fr); align-items: start; gap: 14px; margin-top: 14px; }
.results-panel { overflow: hidden; }
.result-list { padding: 5px 19px 14px; }
.result-list article { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.065); }
.result-list article:last-child { border-bottom: 0; }
.result-rank { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: rgba(111,60,255,.13); color: #b99cff; font-size: 9px; font-weight: 850; }
.result-list article > div strong, .result-list article > div small { display: block; }
.result-list article > div strong { font-size: 11px; }
.result-list article > div small { max-width: 170px; margin-top: 4px; overflow: hidden; color: #6f6f7c; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.result-value { text-align: right; }
.result-value > strong { color: white; font-size: 14px !important; }
.result-value > span { display: inline-block; margin-top: 5px; padding: 3px 5px; border-radius: 4px; background: rgba(29,185,84,.13); color: #55d982; font-size: 8px; font-weight: 900; }
.result-empty { margin: 0; padding: 42px 10px; color: #747481; font-size: 11px; text-align: center; }
.athlete-heading { align-items: center; }
.athlete-identity { display: flex; align-items: center; gap: 17px; }
.profile-mark { display: grid; width: 60px; height: 60px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(187,151,255,.42); border-radius: 50%; background: radial-gradient(circle at 35% 30%, #8c57ff, #281050); box-shadow: 0 0 38px rgba(111,60,255,.17); color: white; font-size: 15px; font-weight: 900; }
.athlete-identity h1 { margin-bottom: 5px; }
.athlete-identity p:last-child { margin: 0; color: #858592; font-size: 11px; }
.athlete-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.athlete-kpi { min-height: 133px; padding: 18px; }
.athlete-kpi > span { color: #92929e; font-size: 10px; font-weight: 750; }
.athlete-kpi > strong { display: block; margin: 10px 0 7px; font-size: 27px; line-height: 1; }
.athlete-kpi > small { color: #6f6f7c; font-size: 9px; }
.athlete-kpi.alert { border-color: rgba(217,32,32,.38); }
.athlete-kpi.alert > strong { color: #ff707b; }
.progress-track { height: 5px; margin: 12px 0 9px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.07); }
.progress-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #6f3cff, #ad7cff); box-shadow: 0 0 12px rgba(111,60,255,.5); }
.athlete-goals-panel { margin-top: 14px; overflow: hidden; }
.goal-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1px; background: rgba(255,255,255,.055); }
.goal-card { position: relative; min-height: 205px; padding: 18px; background: #100e18; }
.goal-card.met { background: linear-gradient(145deg, rgba(29,185,84,.075), #100e18 55%); }
.goal-card-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.goal-card-head > span:first-child { color: #a98aff; font-size: 9px; font-weight: 850; text-transform: uppercase; }
.goal-status { padding: 4px 6px; border-radius: 999px; background: rgba(111,60,255,.13); color: #b99cff; font-size: 7px; font-weight: 900; text-transform: uppercase; }
.goal-status.achieved, .goal-card.met .goal-status { background: rgba(29,185,84,.13); color: #55d982; }
.goal-status.closed { background: rgba(255,255,255,.06); color: #858591; }
.goal-card > strong { display: block; margin: 17px 0 4px; font-size: 25px; }
.goal-card > small { color: #73737f; font-size: 8px; }
.goal-evidence { display: flex; min-height: 48px; align-items: flex-end; justify-content: space-between; gap: 12px; margin-top: 16px; padding-top: 13px; border-top: 1px solid rgba(255,255,255,.065); }
.goal-evidence span:last-child { text-align: right; }
.goal-evidence small, .goal-evidence strong { display: block; }
.goal-evidence small { margin-bottom: 4px; color: #656571; font-size: 7px; text-transform: uppercase; }
.goal-evidence strong { font-size: 10px; }
.goal-no-evidence { align-self: center; color: #6f6f7b; font-size: 9px; }
.goal-edit { display: inline-block; margin-top: 13px; color: #a98aff; font-size: 8px; font-weight: 850; text-transform: uppercase; }
.goal-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 13px; }
.goal-actions .goal-edit { margin-top: 0; }
.goal-actions form { margin: 0; }
.goal-achieve { padding: 6px 8px; border: 1px solid rgba(67,211,122,.28); border-radius: 5px; background: rgba(33,156,82,.12); color: #64dc8d; font-size: 7px; font-weight: 900; text-transform: uppercase; cursor: pointer; }
.goal-achieve:hover { background: rgba(33,156,82,.24); color: white; }
.goal-empty { display: flex; min-height: 160px; grid-column: 1 / -1; align-items: center; justify-content: center; gap: 14px; padding: 25px; background: #100e18; color: #777783; }
.goal-empty > span { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(155,108,255,.25); border-radius: 50%; color: #a980ff; }
.goal-empty strong { color: #b7b7bf; font-size: 11px; }
.goal-empty p { margin: 5px 0 0; font-size: 9px; }
.performance-trend-panel { margin-top: 14px; overflow: hidden; }
.trend-heading { align-items: flex-start; }
.event-tabs { display: flex; max-width: 55%; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.event-tabs a { padding: 6px 9px; border: 1px solid rgba(255,255,255,.09); border-radius: 999px; color: #858591; font-size: 9px; font-weight: 800; }
.event-tabs a:hover, .event-tabs a.active { border-color: rgba(156,116,255,.5); background: rgba(111,60,255,.14); color: #d9cbff; }
.trend-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(240px, .5fr); gap: 20px; padding: 0 20px 20px; }
.trend-visual { min-width: 0; }
.trend-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.trend-summary div { padding: 10px 12px; border: 1px solid rgba(255,255,255,.06); border-radius: 7px; background: rgba(255,255,255,.025); }
.trend-summary span, .trend-summary strong { display: block; }
.trend-summary span { margin-bottom: 5px; color: #6f6f7c; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.trend-summary strong { font-size: 11px; }
.trend-direction.improved { color: #55d982; }
.trend-direction.declined { color: #ff7f89; }
.trend-direction.unchanged { color: #b99cff; }
.trend-chart-wrap { position: relative; height: 210px; padding: 5px 0 0 48px; border-radius: 8px; background: linear-gradient(180deg, rgba(111,60,255,.07), rgba(255,255,255,.01)); }
.trend-chart { width: 100%; height: 100%; overflow: visible; }
.trend-gridline { stroke: rgba(255,255,255,.065); stroke-width: .5; vector-effect: non-scaling-stroke; }
.trend-line { fill: none; stroke: url(#trend-gradient); stroke: #9b6cff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.trend-point { fill: #0c0915; stroke: #a980ff; stroke-width: 2; vector-effect: non-scaling-stroke; }
.trend-point.personal-best { fill: #55d982; stroke: #a4f4bf; }
.chart-guide { position: absolute; left: 11px; color: #62626f; font-size: 8px; font-weight: 750; }
.guide-top { top: 35px; }
.guide-bottom { bottom: 23px; }
.trend-history { max-height: 270px; overflow-y: auto; padding-left: 18px; border-left: 1px solid rgba(255,255,255,.07); }
.trend-history > div { display: grid; grid-template-columns: 53px minmax(0, 1fr) auto; align-items: center; gap: 9px; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.055); }
.trend-history > div:last-child { border-bottom: 0; }
.trend-history strong, .trend-history small { display: block; }
.trend-history strong { font-size: 10px; }
.trend-history small { max-width: 150px; margin-top: 3px; overflow: hidden; color: #686875; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.trend-date { color: #898996; font-size: 8px; }
.trend-dot { width: 6px; height: 6px; border-radius: 50%; background: #513a82; }
.trend-empty { display: flex; min-height: 180px; align-items: center; justify-content: center; gap: 15px; padding: 28px; color: #777784; }
.trend-empty > span { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(155,108,255,.25); border-radius: 50%; background: rgba(111,60,255,.09); color: #a980ff; }
.trend-empty strong { color: #b5b5be; font-size: 11px; }
.trend-empty p { margin: 5px 0 0; font-size: 9px; }
.athlete-record-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
.record-panel { overflow: hidden; }
.record-list { padding: 4px 19px 13px; }
.record-list > div { display: grid; grid-template-columns: 43px minmax(0, 1fr) auto; align-items: center; gap: 11px; padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.065); }
.record-list > div:last-child { border-bottom: 0; }
.record-list strong, .record-list small { display: block; }
.record-list strong { font-size: 11px; }
.record-list small { margin-top: 4px; color: #6e6e7a; font-size: 9px; }
.record-date, .record-place { color: #aa8cff; font-size: 10px; font-weight: 850; }
.record-place { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 50%; background: rgba(111,60,255,.12); }
.pb-badge { padding: 5px 7px; border-radius: 5px; background: rgba(29,185,84,.13); color: #55d982; font-size: 8px; font-weight: 900; }
.record-empty { margin: 0; padding: 45px 8px; color: #72727f; font-size: 11px; text-align: center; }
.success-banner { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; padding: 13px 16px; border: 1px solid rgba(29,185,84,.25); border-radius: var(--radius); background: rgba(29,185,84,.09); color: #8be1a8; font-size: 11px; }
.success-banner strong { color: #d6f7e1; }
.warning-banner { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; padding: 13px 16px; border: 1px solid rgba(217,32,32,.28); border-radius: var(--radius); background: rgba(217,32,32,.08); color: #e99aa1; font-size: 11px; }
.warning-banner strong { color: #ffd4d8; }
.team-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.team-summary article { min-height: 118px; padding: 18px; }
.team-summary span { color: #8e8e9a; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.team-summary strong { display: block; margin: 10px 0 7px; font-size: 26px; }
.team-summary small { color: #6d6d79; font-size: 9px; }
.team-layout { display: grid; gap: 14px; margin-top: 14px; }
.group-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.group-card { min-height: 225px; padding: 20px; }
.group-card-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 22px; }
.group-mark { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; background: linear-gradient(145deg, #7540f0, #281050); font-size: 12px; font-weight: 900; }
.group-card h2 { margin-bottom: 9px; }
.group-card > p { min-height: 38px; color: #7d7d8a; font-size: 10px; line-height: 1.55; }
.group-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 22px; padding-top: 15px; border-top: 1px solid rgba(255,255,255,.07); }
.group-actions .button { min-height: 36px; padding: 8px 11px; font-size: 10px; }
.choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.choice-card { display: flex !important; min-height: 43px; align-items: center; gap: 9px; margin: 0 !important; padding: 10px 11px; border: 1px solid rgba(190,166,255,.16); border-radius: var(--radius); background: rgba(255,255,255,.035); color: #c1c1ca !important; cursor: pointer; font-size: 11px !important; letter-spacing: 0 !important; }
.choice-card:has(input:checked) { border-color: rgba(111,60,255,.6); background: rgba(111,60,255,.13); color: white !important; }
.report-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.report-kpi { min-height: 126px; padding: 19px; }
.report-kpi > span { color: #91919e; font-size: 10px; font-weight: 750; }
.report-kpi > strong { display: block; margin: 11px 0 7px; font-size: 29px; line-height: 1; }
.report-kpi > small { color: #6d6d79; font-size: 9px; }
.report-kpi.alert { border-color: rgba(217,32,32,.35); }
.report-kpi.alert > strong { color: #ff747f; }
.wellness-report-panel { margin-top: 14px; overflow: hidden; }
.wellness-report-stats { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(255,255,255,.055); border-bottom: 1px solid rgba(255,255,255,.055); }
.wellness-report-stats > div { padding: 17px 20px; border-right: 1px solid rgba(255,255,255,.055); }
.wellness-report-stats > div:last-child { border-right: 0; }
.wellness-report-stats span, .wellness-report-stats strong, .wellness-report-stats small { display: block; }
.wellness-report-stats span { color: #72727f; font-size: 8px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.wellness-report-stats strong { margin: 7px 0 4px; font-size: 22px; }
.wellness-report-stats small { color: #62616d; font-size: 8px; }
.wellness-report-stats .flagged strong { color: #ffb05c; }
.wellness-report-stats .open strong { color: #ff747f; }
.wellness-report-layout { display: grid; grid-template-columns: minmax(280px, .65fr) minmax(0, 1.35fr); }
.wellness-weekly-chart { display: grid; height: 250px; grid-template-columns: repeat(4, 1fr); align-items: end; gap: 18px; padding: 26px 28px 18px; border-right: 1px solid rgba(255,255,255,.055); }
.wellness-week { display: grid; justify-items: center; }
.wellness-week-bar { display: flex; width: 28px; height: 130px; align-items: end; overflow: hidden; border-radius: 7px 7px 2px 2px; background: rgba(255,255,255,.045); }
.wellness-week-bar i { display: block; width: 100%; border-radius: inherit; background: linear-gradient(180deg, #a16eff, #6030df); }
.wellness-week strong { margin-top: 8px; font-size: 12px; }
.wellness-week span { margin-top: 4px; color: #777381; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.wellness-week small { margin-top: 3px; color: #56545f; font-size: 7px; }
.wellness-athlete-table { align-self: stretch; }
.wellness-athlete-table table { height: 100%; }
.response-followup-panel { margin-top: 14px; overflow: hidden; }
.response-followup-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid rgba(255,255,255,.055); border-bottom: 1px solid rgba(255,255,255,.055); }
.response-followup-stats > div { padding: 17px 19px; border-right: 1px solid rgba(255,255,255,.055); }
.response-followup-stats > div:last-child { border-right: 0; }
.response-followup-stats span, .response-followup-stats strong, .response-followup-stats small { display: block; }
.response-followup-stats span { color: #858592; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.response-followup-stats strong { margin: 8px 0 5px; font-size: 24px; }
.response-followup-stats small { color: #676774; font-size: 8px; }
.response-followup-stats .pending strong { color: #ffbd5c; }
.response-followup-list { padding: 4px 19px 13px; }
.response-followup-list > a { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.06); color: white; }
.response-followup-list > a:last-child { border-bottom: 0; }
.response-followup-list > a:hover strong { color: #c7b3ff; }
.response-followup-list strong, .response-followup-list small { display: block; }
.response-followup-list strong { font-size: 10px; }
.response-followup-list small { margin-top: 4px; color: #6f6f7c; font-size: 8px; }
.response-kind { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: rgba(77,141,255,.12); color: #83b5ff; font-size: 10px; }
.response-age { color: #8b8b97; font-size: 8px; font-weight: 850; text-transform: uppercase; }
.response-followup-list > a.stale .response-kind { background: rgba(217,32,32,.14); color: #ff7883; }
.response-followup-list > a.stale .response-age { color: #ff7883; }
.response-followup-clear { display: grid; min-height: 110px; place-items: center; align-content: center; text-align: center; }
.response-followup-clear > span { color: #55d982; font-size: 18px; }
.response-followup-clear strong, .response-followup-clear small { display: block; }
.response-followup-clear strong { margin-top: 7px; font-size: 10px; }
.response-followup-clear small { margin-top: 4px; color: #71717e; font-size: 8px; }
.goal-pipeline-panel { margin-top: 14px; overflow: hidden; }
.goal-pipeline-heading { align-items: flex-start; }
.goal-pipeline-stats { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.goal-pipeline-stats span { padding: 5px 8px; border-radius: 999px; background: rgba(111,60,255,.12); color: #b99cff; font-size: 7px; font-weight: 900; text-transform: uppercase; }
.goal-pipeline-stats .met { background: rgba(29,185,84,.12); color: #55d982; }
.goal-pipeline-stats .due-soon { background: rgba(234,169,45,.12); color: #f0bd59; }
.goal-pipeline-stats .overdue { background: rgba(217,32,32,.13); color: #ff7883; }
.goal-pipeline-grid { padding: 4px 19px 13px; }
.goal-pipeline-card { display: grid; grid-template-columns: 32px minmax(0, 1fr) 110px 100px; align-items: center; gap: 11px; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.065); color: white; }
.goal-pipeline-card:last-child { border-bottom: 0; }
.goal-pipeline-card:hover .goal-pipeline-copy strong { color: #c7b3ff; }
.goal-pipeline-icon { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: rgba(111,60,255,.13); color: #b99cff; font-size: 10px; font-weight: 900; }
.goal-pipeline-card.met .goal-pipeline-icon { background: rgba(29,185,84,.13); color: #55d982; }
.goal-pipeline-card.overdue .goal-pipeline-icon { background: rgba(217,32,32,.14); color: #ff7883; }
.goal-pipeline-card.due-soon .goal-pipeline-icon { background: rgba(234,169,45,.13); color: #f0bd59; }
.goal-pipeline-copy strong, .goal-pipeline-copy small, .goal-pipeline-evidence strong, .goal-pipeline-evidence small, .goal-pipeline-deadline strong, .goal-pipeline-deadline small { display: block; }
.goal-pipeline-copy strong { font-size: 11px; }
.goal-pipeline-copy small, .goal-pipeline-evidence small, .goal-pipeline-deadline small { margin-top: 4px; color: #6f6f7c; font-size: 8px; }
.goal-pipeline-evidence strong, .goal-pipeline-deadline strong { font-size: 10px; }
.goal-pipeline-deadline { text-align: right; }
.goal-pipeline-card.met .goal-pipeline-evidence small { color: #55d982; }
.goal-pipeline-card.overdue .goal-pipeline-deadline small { color: #ff7883; }
.goal-pipeline-card.due-soon .goal-pipeline-deadline small { color: #f0bd59; }
.goal-pipeline-empty { display: flex; min-height: 130px; align-items: center; justify-content: center; gap: 13px; color: #747480; }
.goal-pipeline-empty > span { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid rgba(155,108,255,.25); border-radius: 50%; color: #a980ff; }
.goal-pipeline-empty strong { color: #b7b7bf; font-size: 11px; }
.goal-pipeline-empty p { margin: 5px 0 0; font-size: 9px; }
.report-top-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .65fr); gap: 14px; margin-top: 14px; }
.load-panel, .attention-panel, .event-panel { overflow: hidden; }
.bar-chart { display: grid; height: 230px; grid-template-columns: repeat(4, 1fr); align-items: end; gap: 24px; padding: 28px 34px 20px; background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px); background-size: 100% 25%; }
.bar-group { display: grid; height: 100%; grid-template-rows: 1fr auto auto; justify-items: center; gap: 6px; }
.bar-values { display: flex; width: 100%; height: 100%; align-items: end; justify-content: center; gap: 7px; }
.bar { display: block; width: min(30%, 24px); min-height: 3px; border-radius: 5px 5px 2px 2px; }
.bar.planned { background: rgba(173,124,255,.28); }
.bar.completed { background: linear-gradient(to top, #6030df, #a16eff); box-shadow: 0 0 16px rgba(111,60,255,.25); }
.bar-group > strong { font-size: 9px; }
.bar-group > span { color: #72727e; font-size: 8px; text-transform: uppercase; }
.chart-legend { display: flex; gap: 18px; padding: 0 34px 19px; color: #81818e; font-size: 9px; }
.chart-legend i { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 2px; }
.planned-dot { background: rgba(173,124,255,.35); }
.completed-dot { background: #7c48f5; }
.attention-list { padding: 5px 19px 13px; }
.attention-list a { display: grid; grid-template-columns: 30px 1fr auto; align-items: center; gap: 10px; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.065); color: white; }
.attention-list a:last-child { border-bottom: 0; }
.attention-icon { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: rgba(217,32,32,.14); color: #ff7883; font-size: 10px; font-weight: 900; }
.attention-list strong, .attention-list small { display: block; }
.attention-list strong { font-size: 11px; }
.attention-list small { margin-top: 4px; color: #777783; font-size: 9px; }
.attention-list b { color: #6f6f7c; font-size: 17px; font-weight: 400; }
.clear-state { display: grid; min-height: 190px; place-items: center; align-content: center; text-align: center; }
.clear-state > span { display: grid; width: 42px; height: 42px; margin-bottom: 11px; place-items: center; border-radius: 50%; background: rgba(29,185,84,.12); color: #59dc85; }
.clear-state strong, .clear-state small { display: block; }
.clear-state small { max-width: 220px; margin-top: 5px; color: #72727e; font-size: 9px; line-height: 1.5; }
.report-bottom-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .65fr); gap: 14px; margin-top: 14px; }
.inline-progress { display: inline-block; width: 70px; height: 5px; margin-right: 7px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.07); vertical-align: middle; }
.inline-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #6030df, #a16eff); }
.event-list { padding: 5px 19px 13px; }
.event-list > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.065); }
.event-list > div:last-child { border-bottom: 0; }
.event-list strong, .event-list small { display: block; }
.event-list strong { font-size: 11px; }
.event-list small { margin-top: 4px; color: #70707c; font-size: 9px; }
.panel-note { color: #6f6f7c; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.movement-panel { margin-top: 14px; overflow: hidden; }
.movement-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: rgba(255,255,255,.055); }
.movement-card { display: grid; min-height: 76px; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 11px; padding: 15px 19px; background: #100e18; color: white; }
.movement-card:hover { background: #15111f; }
.movement-status { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; font-size: 14px; font-weight: 900; }
.movement-card.improved .movement-status { background: rgba(29,185,84,.13); color: #55d982; }
.movement-card.declined .movement-status { background: rgba(217,32,32,.14); color: #ff7883; }
.movement-card.unchanged .movement-status { background: rgba(111,60,255,.13); color: #b99cff; }
.movement-copy strong, .movement-copy small, .movement-change strong, .movement-change small { display: block; }
.movement-copy strong { font-size: 11px; }
.movement-copy small { margin-top: 4px; color: #747480; font-size: 9px; }
.movement-change { min-width: 70px; text-align: right; }
.movement-change strong { font-size: 9px; }
.movement-change small { margin-top: 4px; color: #71717d; font-size: 8px; }
.movement-card.improved .movement-change strong { color: #55d982; }
.movement-card.declined .movement-change strong { color: #ff7883; }
.movement-card.unchanged .movement-change strong { color: #b99cff; }
.movement-empty { display: flex; min-height: 150px; grid-column: 1 / -1; align-items: center; justify-content: center; gap: 14px; padding: 25px; background: #100e18; color: #757581; }
.movement-empty > span { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid rgba(155,108,255,.25); border-radius: 50%; color: #a980ff; }
.movement-empty strong { color: #b6b6bf; font-size: 11px; }
.movement-empty p { max-width: 430px; margin: 5px 0 0; font-size: 9px; line-height: 1.5; }
.search-results-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 14px; }
.search-section { overflow: hidden; }
.search-result-list { padding: 4px 19px 13px; }
.search-result-list a { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: center; gap: 11px; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.065); color: white; }
.search-result-list a:last-child { border-bottom: 0; }
.search-result-list a:hover strong { color: #c6b1ff; }
.search-result-list strong, .search-result-list small { display: block; }
.search-result-list strong { font-size: 11px; }
.search-result-list small { margin-top: 4px; color: #71717e; font-size: 9px; }
.search-result-list b { color: #696976; font-size: 19px; font-weight: 400; }
.search-mark { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid rgba(173,124,255,.25); border-radius: 50%; background: rgba(111,60,255,.12); color: #ba9cff; font-size: 9px; font-weight: 900; }
.search-date { display: grid; width: 34px; height: 38px; place-items: center; align-content: center; border: 1px solid rgba(173,124,255,.22); border-radius: 6px; background: rgba(111,60,255,.09); }
.search-date strong { font-size: 13px; line-height: 1; }
.search-date small { margin-top: 3px; color: #a98aff; font-size: 7px; font-weight: 850; text-transform: uppercase; }
.invite-link { white-space: nowrap; }
.table-actions { display: flex; align-items: center; gap: 12px; }
.table-actions form { margin: 0; }
.link-button { padding: 0; border: 0; background: transparent; color: #b797ff; font-size: 11px; font-weight: 800; cursor: pointer; }
.link-button:hover { color: white; }
.danger-link { color: #e47780; }
.danger-link:hover { color: #ffadb3; }
.activity-panel { overflow: hidden; }
.activity-feed { padding: 5px 22px 15px; }
.activity-feed article { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: center; gap: 13px; padding: 17px 0; border-bottom: 1px solid rgba(255,255,255,.065); }
.activity-feed article:last-child { border-bottom: 0; }
.activity-mark { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid rgba(173,124,255,.24); border-radius: 50%; background: rgba(111,60,255,.11); color: #b99cff; font-size: 11px; font-weight: 900; }
.activity-feed strong, .activity-feed p, .activity-feed small { display: block; }
.activity-feed strong { font-size: 11px; }
.activity-feed p { margin: 4px 0; color: #9b9ba7; font-size: 11px; }
.activity-feed small { color: #686875; font-size: 9px; }
.activity-meta { padding: 5px 7px; border: 1px solid rgba(255,255,255,.08); border-radius: 999px; color: #777784; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.export-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.export-card { display: grid; min-height: 225px; grid-template-columns: 48px minmax(0, 1fr); align-items: start; gap: 16px; padding: 22px; }
.export-icon { display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid var(--line-strong); border-radius: var(--radius); background: rgba(111,60,255,.13); color: #b99cff; font-size: 17px; }
.export-card h2 { margin-bottom: 8px; }
.export-card div > p:not(.eyebrow) { min-height: 36px; color: #7b7b87; font-size: 10px; line-height: 1.55; }
.export-card div > strong { color: #9e83e6; font-size: 9px; font-weight: 850; text-transform: uppercase; }
.export-card .button { grid-column: 1 / -1; align-self: end; justify-self: start; margin-top: 18px; }
.accept-layout { display: grid; min-height: calc(100vh - 190px); grid-template-columns: minmax(0, 1fr) minmax(350px, 520px); align-items: center; gap: 64px; }
.accept-intro { max-width: 650px; }
.accept-intro h1 { max-width: 620px; font-size: clamp(38px, 6vw, 64px); }
.accept-intro > p:not(.eyebrow) { max-width: 560px; color: #8b8b97; font-size: 14px; line-height: 1.65; }
.invitation-summary { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 25px; }
.invitation-summary span { padding: 8px 10px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.035); color: #aaaab5; font-size: 9px; font-weight: 750; }
.unavailable-card { display: grid; min-height: 340px; place-items: center; align-content: center; padding: 35px; text-align: center; }
.unavailable-card p { max-width: 360px; color: #7c7c89; font-size: 11px; line-height: 1.6; }
.settings-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .65fr); gap: 14px; align-items: start; }
.workspace-profile { padding: 25px; }
.workspace-profile h2 { margin: 7px 0 22px; font-size: 26px; }
.workspace-profile dl { margin: 0; }
.workspace-profile dl div { display: flex; justify-content: space-between; gap: 20px; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.065); }
.workspace-profile dt { color: #777381; font-size: 10px; }
.workspace-profile dd { margin: 0; color: #e5ddef; font-size: 11px; font-weight: 800; }
.workspace-profile > p:last-child { margin: 20px 0 0; color: #74717d; font-size: 10px; line-height: 1.6; }
@media (max-width: 1080px) {
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-grid { grid-template-columns: 1fr; }
  .user-chip > span:last-child { display: none; }
  .template-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .completion-layout { grid-template-columns: 1fr; }
  .performance-layout { grid-template-columns: 1fr; }
  .competition-detail-grid { grid-template-columns: 1fr; }
  .competition-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .athlete-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .athlete-record-grid { grid-template-columns: 1fr; }
  .goal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trend-layout { grid-template-columns: 1fr; }
  .trend-history { max-height: none; padding-left: 0; border-top: 1px solid rgba(255,255,255,.07); border-left: 0; }
  .group-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .report-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .response-followup-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .response-followup-stats > div:nth-child(2) { border-right: 0; }
  .response-followup-stats > div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.055); }
  .team-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .report-top-grid, .report-bottom-grid { grid-template-columns: 1fr; }
  .wellness-report-layout { grid-template-columns: 1fr; }
  .wellness-weekly-chart { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.055); }
  .movement-grid { grid-template-columns: 1fr; }
  .search-results-grid { grid-template-columns: 1fr; }
  .accept-layout { min-height: 0; grid-template-columns: 1fr; gap: 30px; }
  .export-grid { grid-template-columns: 1fr; }
  .assignment-review-grid { grid-template-columns: 1fr; }
  .readiness-review-layout { grid-template-columns: 1fr; }
  .settings-layout { grid-template-columns: 1fr; }
  .wellness-layout, .wellness-review-grid { grid-template-columns: 1fr; }
}
@media (max-width: 980px) {
  .app-shell { display: block; }
  .sidebar { position: static; width: 100%; height: auto; padding: 12px 16px; border-right: 0; border-bottom: 1px solid var(--line); }
  .brand, .organisation-card, .sidebar-footer, .nav-label { display: none; }
  .side-nav { display: flex; gap: 4px; margin: 0; overflow-x: auto; }
  .nav-link { flex: 0 0 auto; gap: 7px; padding: 8px 7px; font-size: 11px; }
  .nav-icon { width: 16px; font-size: 14px; }
  .admin-link { display: none; }
  .topbar { position: static; flex-wrap: wrap; padding: 12px 16px; }
  .mobile-brand { display: block; font-size: 12px; }
  .health-link { display: none; }
  .search-box { display: grid; order: 3; width: 100%; }
  .content { padding: 28px 16px 48px; }
  .page-heading { align-items: flex-start; flex-direction: column; gap: 18px; }
  .heading-actions { width: 100%; }
  .heading-actions .button { flex: 1; }
  .metric-grid { grid-template-columns: 1fr 1fr; }
  .metric-card { min-height: 120px; padding: 16px; }
  .login-layout { min-height: 0; grid-template-columns: 1fr; gap: 30px; }
  .compact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .compact-grid .wide { grid-column: 1 / -1; }
  .athlete-heading { align-items: flex-start; }
}
@media (max-width: 500px) {
  .wellness-report-stats { grid-template-columns: repeat(2, 1fr); }
  .wellness-report-stats > div:nth-child(2) { border-right: 0; }
  .wellness-report-stats > div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.055); }
  .wellness-scale { grid-template-columns: 1fr; }
  .wellness-scale > div { grid-column: 1; grid-row: auto; margin-top: 8px; }
  .wellness-values { grid-template-columns: repeat(2, 1fr); }
  .metric-grid { grid-template-columns: 1fr; }
  .response-followup-stats { grid-template-columns: 1fr; }
  .response-followup-stats > div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.055); }
  .response-followup-stats > div:last-child { border-bottom: 0; }
  .date-control { display: none; }
  .brand-principle { align-items: flex-start; flex-direction: column; gap: 7px; }
  .form-grid, .compact-grid, .template-grid { grid-template-columns: 1fr; }
  .form-field.wide, .compact-grid .wide { grid-column: auto; }
  .form-panel { padding: 20px; }
  .block-editor { grid-template-columns: 1fr; padding: 18px; }
  .today-card { grid-template-columns: 52px 1fr; gap: 14px; }
  .today-action { grid-column: 1 / -1; justify-content: flex-end; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.07); }
  .competition-card { grid-template-columns: 58px 1fr; gap: 14px; }
  .competition-date { min-height: 58px; }
  .competition-stat { grid-column: 1 / -1; grid-template-columns: auto auto 1fr; align-items: center; justify-items: start; gap: 7px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.07); }
  .competition-stat .row-link { justify-self: end; margin: 0; }
  .athlete-kpis { grid-template-columns: 1fr 1fr; }
  .goal-grid { grid-template-columns: 1fr; }
  .trend-heading { gap: 12px; }
  .event-tabs { max-width: none; justify-content: flex-start; }
  .trend-layout { padding: 0 14px 14px; }
  .trend-summary { grid-template-columns: 1fr; }
  .trend-chart-wrap { height: 170px; padding-left: 38px; }
  .athlete-identity { align-items: flex-start; }
  .profile-mark { width: 48px; height: 48px; }
  .group-grid, .choice-grid { grid-template-columns: 1fr; }
  .bar-chart { gap: 10px; padding-right: 18px; padding-left: 18px; }
  .assignment-summary { grid-template-columns: 1fr; }
  .team-summary { grid-template-columns: 1fr; }
  .competition-kpis { grid-template-columns: 1fr 1fr; }
  .assignment-block { grid-template-columns: 36px 1fr; }
  .goal-pipeline-heading { gap: 12px; }
  .goal-pipeline-stats { justify-content: flex-start; }
  .goal-pipeline-card { grid-template-columns: 30px minmax(0, 1fr) auto; }
  .goal-pipeline-evidence { text-align: right; }
  .goal-pipeline-deadline { grid-column: 2 / -1; padding-top: 8px; border-top: 1px solid rgba(255,255,255,.05); text-align: left; }
  .assignment-actual { grid-column: 2; }
  .calendar-filters { align-items: stretch; flex-direction: column; }
  .calendar-filters label { min-width: 0; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }
.availability-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:20px; }
.availability-kpis a { display:grid; grid-template-columns:auto 1fr; gap:4px 10px; align-items:center; padding:20px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.availability-kpis small { color:#aaaaba; font-weight:700; }.availability-kpis strong { grid-column:2; font-size:28px; }
.availability-dot { width:34px; height:34px; grid-row:1/3; border-radius:50%; background:#333; box-shadow:0 0 0 8px rgba(255,255,255,.03); }
.availability-dot.available,.availability-status.available i { background:#28d17c }.availability-dot.modified,.availability-status.modified i,.availability-dot.awaiting,.availability-status.awaiting i { background:#f2a51a }.availability-dot.unavailable,.availability-status.unavailable i { background:#ff4e61 }
.availability-status { display:inline-flex; align-items:center; gap:7px; padding:5px 9px; border:1px solid rgba(255,255,255,.12); border-radius:999px; font-size:11px; font-weight:800; }.availability-status i { width:7px;height:7px;border-radius:50%;}.table-subtext{display:block;margin-top:3px;color:var(--steel)}
@media(max-width:760px){.availability-kpis{grid-template-columns:repeat(2,1fr)}}
.assessment-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.assessment-card{position:relative;min-height:170px;padding:22px;overflow:hidden}.assessment-card p{margin:0;color:#b8b8c8}.assessment-card strong{display:block;margin-top:7px;font-size:31px}.assessment-card>span{font-size:12px;font-weight:800}.assessment-card svg{position:absolute;right:12px;bottom:8px;width:105px;height:65px;opacity:.75}.positive{color:#34df8a}.negative{color:#ff6475}.assessment-empty{grid-column:1/-1}.heading-actions select{min-height:43px;padding:0 38px 0 13px;border:1px solid var(--line);border-radius:var(--radius);background:#15151f;color:white}@media(max-width:900px){.assessment-metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.assessment-metrics{grid-template-columns:1fr}}
