button {
  font-family: inherit;
}
.desktop-shell {
  display: flex;
  width: 100%;
  min-height: 100vh;
}
.b-blue {
  background: var(--pale);
  color: var(--blue);
}
.coach-muted-action {
  cursor: default !important;
  color: var(--sub) !important;
}
.coach-condition-card,
.coach-ai-card {
  margin-bottom: 14px;
}
.coach-condition-badge {
  background: var(--danger) !important;
  box-shadow: 0 6px 18px rgba(229, 62, 62, 0.18);
}
.coach-ai-card {
  border-color: #cfe0f5;
}
.coach-ai-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 9px 0;
  border-bottom: 1px solid var(--border);
}
.coach-ai-row:last-child {
  border-bottom: 0;
}
.coach-ai-row > span {
  font-size: 16px;
  line-height: 1.4;
}
.coach-ai-row p {
  color: var(--navy);
  font-size: 13px;
  line-height: 1.55;
}
.coach-dashboard-pair {
  margin-bottom: 14px;
}
.coach-dashboard-pair .card {
  margin-bottom: 0;
}
.coach-no-input-card,
.coach-warning-card {
  border-color: #f3d9a8;
  background: linear-gradient(135deg, #fdf3e3, #fff);
}
.coach-warning-card {
  margin-top: 18px;
}
.coach-kpis-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.coach-kpis-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.coach-person-line {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 0;
}
.coach-person-line strong {
  color: var(--navy);
  font-size: 12px;
}
.coach-person-line small {
  color: var(--sub);
  font-size: 10px;
}
.coach-person-line em {
  margin-left: auto;
  color: var(--danger);
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
}
.coach-team-rank > div {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 0;
  border-bottom: 1px solid var(--border);
}
.coach-team-rank strong {
  flex: 0 0 116px;
  color: var(--navy);
  font-size: 12px;
}
.coach-team-rank > div > span {
  height: 7px;
  flex: 1;
  overflow: hidden;
  border-radius: 99px;
  background: #eef2f7;
}
.coach-team-rank i {
  display: block;
  height: 100%;
  border-radius: inherit;
}
.coach-team-rank b {
  flex: 0 0 auto;
  font-family: var(--mono);
  font-size: 15px;
}
.coach-team-rank b small {
  margin-left: 2px;
  color: var(--sub);
  font-size: 10px;
}
.coach-rank-note {
  margin-top: 8px;
  color: var(--muted, #8fa3b8);
  font-size: 10px;
}
.coach-chart-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
.coach-chart-legend,
.coach-chart-legend span {
  display: flex;
  align-items: center;
}
.coach-chart-legend {
  gap: 14px;
  color: var(--sub);
  font-size: 11px;
  font-weight: 600;
}
.coach-chart-legend span {
  gap: 5px;
}
.coach-chart-legend i {
  width: 14px;
  height: 3px;
  border-radius: 99px;
}
.coach-chart-legend .height-line {
  background: #1e6fd9;
}
.coach-chart-legend .weight-line {
  background: #e8a030;
}
.coach-grade-tabs {
  display: flex;
  gap: 6px;
  margin-left: auto;
}
.coach-team-chart {
  height: 255px;
}
.coach-team-chart svg,
.coach-detail-chart svg {
  display: block;
  width: 100%;
  height: 100%;
}
.coach-team-chart text,
.coach-detail-chart text {
  font-family: var(--font);
  font-size: 9px;
}
.coach-team-chart .height-axis,
.coach-detail-chart .height-axis {
  fill: #1e6fd9;
}
.coach-team-chart .weight-axis {
  fill: #e8a030;
}
.coach-team-chart .month-axis,
.coach-detail-chart .month-axis {
  fill: #70879d;
}
.coach-table-scroll {
  width: 100%;
  overflow-x: auto;
}
.coach-player-table {
  min-width: 980px;
}
.coach-input-table {
  min-width: 620px;
}
.coach-sort {
  border: 0;
  background: transparent;
  color: var(--sub);
  font: inherit;
  font-weight: 700;
  white-space: nowrap;
}
.coach-sort.active {
  color: var(--blue);
}
.coach-sort span {
  margin-left: 2px;
  font-size: 9px;
  opacity: 0.7;
}
.coach-player-table .pc > div {
  min-width: 70px;
}
.coach-player-table .pc strong,
.coach-player-table .pc small {
  display: block;
}
.coach-player-table .pc small {
  margin-top: 2px;
  color: var(--sub);
  font-size: 9px;
}
.coach-progress-cell {
  display: flex;
  align-items: center;
  gap: 5px;
}
.coach-progress-cell strong,
.coach-mono {
  font-family: var(--mono);
}
.coach-progress-cell strong {
  font-size: 11px;
}
.coach-subtle {
  color: var(--sub);
}
.coach-danger {
  color: var(--danger);
  font-weight: 700;
}
.coach-nowrap {
  white-space: nowrap;
}
.coach-align-right {
  text-align: right !important;
}
.coach-detail-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}
.coach-detail-actions select {
  height: 34px;
  border: 1px solid var(--border);
  border-radius: 9px;
  padding: 0 10px;
  font-family: var(--font);
  font-size: 12px;
}
.coach-detail-kpis {
  margin-bottom: 0;
}
.coach-detail-panel {
  min-height: 304px;
  margin-bottom: 0;
}
.coach-detail-chart {
  height: 220px;
}
.coach-flex-copy {
  flex: 1;
  min-width: 0;
}
.coach-flex-copy strong,
.coach-flex-copy small {
  display: block;
}
.coach-flex-copy strong {
  color: var(--navy);
  font-size: 13px;
}
.coach-flex-copy small {
  margin-top: 3px;
  color: var(--sub);
  font-size: 10px;
}
.coach-application,
.coach-member {
  margin-bottom: 8px;
}
.coach-grid-card {
  margin-bottom: 0;
}
.coach-form-note {
  margin-top: 10px;
}
.coach-empty {
  padding: 20px;
  color: var(--sub);
  text-align: center;
}
.coach-notify-note,
.coach-report-note {
  margin-bottom: 14px;
}
.coach-channel-row,
.coach-channel-row label {
  display: flex;
  align-items: center;
}
.coach-channel-row {
  gap: 14px;
  color: var(--text);
  font-size: 12px;
}
.coach-channel-row label {
  gap: 6px;
  font-weight: 600;
}
.field .coach-channel-row input {
  width: auto;
  height: auto;
}
.coach-send-count {
  margin: 4px 0 12px;
}
.coach-push-stats p {
  background: #f3f8ff;
}
.coach-push-stats .off {
  background: #fff7f0;
}
.coach-push-stats .off b {
  color: var(--warn);
}
.coach-notification-tags {
  margin: 3px 0 5px;
}
.coach-notification-tags .target {
  background: #e9f9ef;
  color: #0a8a3c;
}
.coach-report-actions {
  margin-top: 6px;
  margin-bottom: 0;
}
button.nav,
button.nv,
button.more,
button.logout,
button.back-btn {
  border: 0;
  background: transparent;
  font: inherit;
  text-align: left;
}
button.nav {
  width: calc(100% - 16px);
}
button.nv {
  background: transparent;
  text-align: center;
}
.dashboard-team-cta,
.dashboard-input-cta {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 13px;
  margin-bottom: 12px;
  padding: 14px 16px;
  border: 0;
  border-radius: 14px;
  color: #fff;
  text-align: left;
  box-shadow: 0 4px 16px rgba(30, 111, 217, 0.25);
}
.dashboard-team-cta {
  background: linear-gradient(135deg, #e8a030, #c47010);
}
.dashboard-input-cta {
  background: linear-gradient(135deg, #1e6fd9, #06c755);
}
.dashboard-team-cta > span:first-child,
.dashboard-input-cta > span:first-child {
  display: flex;
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.18);
  font-size: 22px;
}
.dashboard-team-cta > span:nth-child(2),
.dashboard-input-cta > span:nth-child(2) {
  flex: 1;
}
.dashboard-team-cta strong,
.dashboard-team-cta small,
.dashboard-input-cta strong,
.dashboard-input-cta small {
  display: block;
}
.dashboard-team-cta strong,
.dashboard-input-cta strong {
  font-size: 13px;
}
.dashboard-team-cta small,
.dashboard-input-cta small {
  margin-top: 2px;
  opacity: 0.9;
  font-size: 11px;
}
.dashboard-team-cta > b,
.dashboard-input-cta > b {
  font-size: 18px;
  opacity: 0.7;
}
.chart-legend-mini {
  display: flex;
  gap: 14px;
  justify-content: center;
  margin-bottom: 8px;
  color: var(--sub);
  font-size: 10px;
  font-weight: 600;
}
.chart-legend-mini span {
  display: flex;
  align-items: center;
  gap: 5px;
}
.chart-legend-mini i {
  display: inline-block;
  width: 14px;
  height: 3px;
  border-radius: 99px;
}
.per-tab,
.range-tab,
.gm-chip {
  border: 0;
  font-family: inherit;
}
.more-link {
  border: 0;
  background: transparent;
}
.logout-btn {
  border: 0;
}
.alert-summary-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 12px;
}
.alert-summary-row > div {
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 11px;
  background: #fff;
  text-align: center;
}
.alert-summary-row strong,
.alert-summary-row small {
  display: block;
}
.alert-summary-row strong {
  font-size: 14px;
}
.alert-summary-row small {
  margin-top: 3px;
  color: var(--sub);
  font-size: 9px;
}
.empty-alerts {
  display: grid;
  gap: 6px;
  justify-items: center;
  padding: 40px 10px;
  color: var(--sub);
  text-align: center;
}
.empty-alerts span {
  font-size: 34px;
}
.empty-alerts strong {
  color: var(--navy);
  font-size: 13px;
}
.empty-alerts small {
  font-size: 10px;
}
.progress-metric {
  display: grid;
  gap: 12px;
}
.progress-metric > div {
  display: flex;
  align-items: end;
  gap: 10px;
}
.progress-metric small {
  color: var(--sub);
  font-size: 10px;
}
.progress-metric strong {
  font-family: var(--mono);
  font-size: 25px;
}
.progress-metric em {
  font-size: 11px;
  font-style: normal;
}
.progress-metric span {
  margin-left: auto;
  color: var(--sub);
  font-size: 10px;
}
.progress-metric > i {
  height: 8px;
  overflow: hidden;
  border-radius: 99px;
  background: #eef2f7;
}
.progress-metric > i > b {
  display: block;
  height: 100%;
  border-radius: inherit;
}
.history-range {
  margin: 10px 0;
  padding: 9px 11px;
  border-radius: 8px;
  background: var(--pale);
  color: var(--blue);
  font-size: 10px;
  font-weight: 700;
}
.history-records {
  display: grid;
}
.history-records > div {
  display: grid;
  grid-template-columns: 55px repeat(3, 1fr);
  padding: 9px 0;
  border-bottom: 1px solid var(--border);
  font-size: 10px;
}
.history-records span {
  color: var(--sub);
}
.profile-hero {
  display: grid;
  justify-items: center;
  margin-bottom: 12px;
  padding: 18px;
  border-radius: 14px;
  background: linear-gradient(135deg, #ebf3ff, #e8faf0);
}
.profile-hero > span {
  display: flex;
  width: 54px;
  height: 54px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #5dade2, #06c755);
  font-size: 20px;
  font-weight: 800;
}
.profile-hero strong {
  margin-top: 7px;
}
.profile-hero small {
  margin-top: 3px;
  color: var(--sub);
  font-size: 9px;
}
.profile-data-row {
  display: flex;
  justify-content: space-between;
  padding: 9px 0;
  border-bottom: 1px solid var(--border);
  font-size: 11px;
}
.profile-data-row span {
  color: var(--sub);
}
.genetic-result {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
  padding: 10px;
  border-radius: 9px;
  background: var(--ok-bg);
}
.genetic-result > span {
  font-size: 20px;
}
.genetic-result > div {
  flex: 1;
}
.genetic-result small,
.genetic-result strong,
.genetic-result em {
  display: block;
}
.genetic-result small {
  color: var(--sub);
  font-size: 9px;
}
.genetic-result strong {
  font-family: var(--mono);
  font-size: 18px;
}
.genetic-result em {
  color: var(--sub);
  font-size: 8px;
  font-style: normal;
}
.genetic-result.potential {
  background: var(--pale);
}
.linked-parent-row {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 10px;
}
.linked-parent-row > span:first-child {
  font-size: 24px;
}
.linked-parent-row > div {
  flex: 1;
}
.linked-parent-row strong,
.linked-parent-row small {
  display: block;
}
.linked-parent-row small {
  color: var(--sub);
  font-size: 9px;
}
.push-actions {
  display: flex;
  gap: 7px;
  margin-top: 10px;
}
.notification-feed {
  display: grid;
  gap: 8px;
}
.notification-feed article {
  display: flex;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: #fff;
}
.notification-feed article > span {
  font-size: 20px;
}
.notification-feed article div {
  flex: 1;
}
.notification-feed strong,
.notification-feed small {
  display: block;
}
.notification-feed p {
  margin: 3px 0;
  color: var(--sub);
  font-size: 10px;
  line-height: 1.5;
}
.notification-feed small {
  color: var(--muted);
  font-size: 8px;
}
.section-label {
  margin: 14px 0 8px;
  color: var(--navy);
  font-size: 12px;
  font-weight: 800;
}
.input-delta {
  margin: -6px 0 10px;
  color: var(--ok);
  font-size: 10px;
  font-weight: 700;
}
.input-choice-row {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 9px;
  margin-bottom: 8px;
  padding: 11px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: #fff;
  text-align: left;
}
.input-choice-row > span {
  font-size: 20px;
}
.input-choice-row > strong {
  flex: 1;
  font-size: 11px;
}
.input-choice-row > small {
  color: var(--ok);
  font-size: 9px;
}
.input-choice-row > b {
  color: var(--muted);
}
.food-grid-react {
  display: grid;
  gap: 7px;
  margin: 10px 0;
}
.food-grid-react article {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 9px;
  border: 1px solid var(--border);
  border-radius: 9px;
  background: #fff;
}
.food-grid-react article > span {
  display: flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: var(--pale);
  color: var(--blue);
  font-weight: 800;
}
.food-grid-react article > div:nth-child(2) {
  flex: 1;
}
.food-grid-react strong,
.food-grid-react small {
  display: block;
}
.food-grid-react strong {
  font-size: 10px;
}
.food-grid-react small {
  color: var(--sub);
  font-size: 8px;
}
.food-qty {
  display: flex;
  align-items: center;
  gap: 8px;
}
.food-qty button {
  width: 27px;
  height: 27px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: var(--bg);
}
.photo-placeholder {
  display: grid;
  gap: 6px;
  justify-items: center;
  margin: 12px 0;
  padding: 26px;
  border: 1px dashed var(--border);
  border-radius: 12px;
  text-align: center;
}
.photo-placeholder > span {
  font-size: 30px;
}
.photo-placeholder small {
  color: var(--sub);
  font-size: 9px;
}
.photo-placeholder button {
  padding: 7px 12px;
  border: 0;
  border-radius: 7px;
  background: var(--blue);
  color: #fff;
}
.cancel-link {
  display: block;
  margin: 10px auto;
  border: 0;
  background: transparent;
  color: var(--danger);
  font-size: 10px;
}
.field-help {
  margin: 0 0 10px;
  color: var(--sub);
  font-size: 10px;
  line-height: 1.6;
}
.epiphysis-goal {
  display: flex;
  gap: 10px;
  margin: 12px 0;
  padding: 14px;
  border-radius: 11px;
  background: var(--pale);
}
.epiphysis-goal > span {
  font-size: 24px;
}
.epiphysis-goal small,
.epiphysis-goal strong,
.epiphysis-goal em {
  display: block;
}
.epiphysis-goal small {
  color: var(--sub);
  font-size: 9px;
}
.epiphysis-goal strong {
  font-family: var(--mono);
  font-size: 19px;
}
.epiphysis-goal em {
  color: var(--ok);
  font-size: 8px;
  font-style: normal;
}
.warning-box {
  margin-bottom: 12px;
  padding: 11px;
  border-radius: 9px;
  background: var(--warn-bg);
  color: var(--warn);
  font-size: 10px;
  line-height: 1.5;
}
.parent-avatar {
  display: flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
}
.parent-child {
  display: flex;
  align-items: center;
  gap: 10px;
}
.parent-child > span {
  display: flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #5dade2, #06c755);
  font-weight: 800;
}
.parent-child > div {
  flex: 1;
}
.parent-child strong,
.parent-child small,
.parent-child > b > small {
  display: block;
}
.parent-child small {
  font-size: 9px;
}
.parent-child > b {
  text-align: right;
  font-family: var(--mono);
  font-size: 16px;
}
.parent-child > b > small {
  margin-top: 3px;
  color: #a8e6cf;
  font-family: var(--font);
}
.parent-growth-note {
  margin: 5px 0 0;
  text-align: center;
  color: var(--sub);
  font-size: 10px;
}
.condition-overview {
  display: flex;
  align-items: center;
  gap: 18px;
}
.condition-overview > span {
  display: flex;
  width: 92px;
  height: 92px;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--ok);
  color: #fff;
  font-size: 20px;
  font-weight: 800;
}
.condition-overview > div {
  flex: 1;
}
.condition-overview strong {
  font-size: 16px;
}
.condition-overview p {
  margin-top: 4px;
  color: var(--sub);
  font-size: 12px;
  line-height: 1.6;
}
.ai-card {
  background: linear-gradient(135deg, #f1f7ff, #fafcff) !important;
}
.ai-comment {
  display: flex;
  gap: 9px;
  margin-bottom: 7px;
  padding: 9px;
  border-radius: 8px;
  background: #fff;
  font-size: 11px;
}
.ai-comment > b {
  display: flex;
  width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--pale);
  color: var(--blue);
}
.rank-list p,
.dashboard-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  border-bottom: 1px solid var(--border);
  font-size: 11px;
}
.rank-list p span,
.dashboard-row > *:first-child {
  flex: 1;
}
.rank-list em {
  color: var(--blue);
  font-size: 9px;
  font-style: normal;
}
.desktop-filter-row,
.report-actions,
.export-actions {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.mini-people {
  display: grid;
}
.mini-people > div {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  border-bottom: 1px solid var(--border);
}
.mini-people > div > span {
  display: flex;
  width: 30px;
  height: 30px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--pale);
  color: var(--blue);
  font-weight: 800;
}
.mini-people strong {
  flex: 1;
  font-size: 11px;
}
.approval-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border-bottom: 1px solid var(--border);
}
.approval-row > span {
  font-size: 22px;
}
.approval-row > div {
  flex: 1;
}
.approval-row strong,
.approval-row small {
  display: block;
}
.approval-row small {
  margin-top: 3px;
  color: var(--sub);
  font-size: 9px;
}
.detail-info {
  color: var(--sub);
  font-size: 12px;
  line-height: 2;
}
.push-stats {
  display: grid;
  gap: 10px;
}
.push-stats p {
  display: flex;
  justify-content: space-between;
  padding: 12px;
  border-radius: 9px;
  background: var(--pale);
}
.push-stats b {
  color: var(--ok);
  font-size: 18px;
}
.admin-filters {
  display: grid;
  gap: 7px;
  margin-bottom: 10px;
}
.admin-filters > div {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.history-stack {
  display: grid;
  gap: 8px;
}
.history-stack article {
  padding: 11px;
  border: 1px solid var(--border);
  border-radius: 9px;
  background: var(--bg);
}
.history-stack strong,
.history-stack small {
  display: block;
}
.history-stack small {
  margin-top: 4px;
  color: var(--sub);
  font-size: 9px;
}
@media (max-width: 700px) {
  .condition-overview > span {
    width: 70px;
    height: 70px;
  }
  .grid2 {
    grid-template-columns: 1fr;
  }
  .sb {
    position: relative;
    width: 100%;
    min-height: auto;
  }
  .main {
    margin-left: 0;
  }
  .desktop-shell {
    display: block;
  }
  .coach-kpis-3,
  .coach-kpis-4 {
    grid-template-columns: 1fr;
  }
  .coach-detail-actions {
    width: 100%;
    margin-top: 8px;
    margin-left: 0;
    flex-wrap: wrap;
  }
}
