/* Daily coaching dashboard. Shared tokens own color; this file owns composition. */
html[data-layout="workspace"][data-layout-tab="overview"] { --dashboard-page-gutter-y: 16px; }
html[data-layout="workspace"][data-layout-tab="overview"] #trainerMainContainer { padding-top: var(--dashboard-page-gutter-y); padding-bottom: var(--dashboard-page-gutter-y); }
html[data-layout="workspace"][data-layout-tab="overview"] #content-overview:not(.hidden) { display: flex; min-height: calc(100dvh - var(--trainer-topbar-offset) - var(--dashboard-page-gutter-y) - var(--dashboard-page-gutter-y)); flex-direction: column; }
#content-overview .dashboard-kicker { margin: 0 0 7px; font-size: 10px; letter-spacing: .13em; font-weight: 700; color: var(--ft-primary-text); }
#content-overview .dashboard-health-grid { gap: 16px; margin-bottom: 16px; }
#content-overview .dashboard-health-card { min-height: 132px; padding: 14px 16px; border-radius: 16px; background: var(--ft-surface); box-shadow: 0 3px 12px rgb(15 23 42 / .025); }
#content-overview .dashboard-health-card {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    contain: paint;
    isolation: isolate;
    backface-visibility: hidden;
    will-change: auto;
}
#content-overview .dashboard-health-card:hover { transform: none; border-color: var(--ft-primary-border); }
#content-overview .dashboard-health-card__header { align-items: center; gap: 12px; }
#content-overview .dashboard-health-card__eyebrow { font-size: 12px; font-weight: 600; }
#content-overview .dashboard-health-card__period { font-size: 10px; font-weight: 400; }
#content-overview .dashboard-health-card__icon { width: 30px; height: 30px; border-radius: 9px; color: var(--ft-primary-text); background: var(--ft-primary-tint); border: 0; box-shadow: none; }
#content-overview .dashboard-health-card__icon svg { width: 17px; height: 17px; }
#content-overview .dashboard-health-card__metric { margin-top: 10px; flex-wrap: wrap; gap: 7px; }
#content-overview .dashboard-health-card__metric strong { font-size: 28px; font-weight: 650; }
#content-overview .dashboard-health-card__metric span, #content-overview .dashboard-health-card__detail { font-size: 11px; font-weight: 400; }
#content-overview .dashboard-health-card__footer { margin-top: 8px; gap: 8px; align-items: center; }
#content-overview .dashboard-health-card__delta { max-width: none; font-size: 10px; font-weight: 500; }
#content-overview .dashboard-health-trend { height: 26px; }
#content-overview .dashboard-roster-progress { margin-top: 12px; height: 3px; }
#content-overview .dashboard-focus-column { flex-direction: column; gap: 16px; }
#content-overview .quick-actions { display: block; flex: 0 0 auto; width: 100% !important; padding: 12px !important; margin: 0; border: 1px solid var(--ft-border-subtle); background: var(--ft-surface); box-shadow: 0 4px 18px rgb(15 23 42 / .03); border-radius: 16px; }
#content-overview .quick-actions__list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
#content-overview .action-btn.quick-action-btn { width: 100%; min-width: 0; min-height: 52px !important; padding: 8px 10px !important; gap: 7px; flex-direction: row; justify-content: center; border: 1px solid var(--ft-border-subtle) !important; border-radius: 10px; background: var(--ft-surface) !important; box-shadow: none; }
#content-overview .action-btn.quick-action-btn:hover { background: var(--ft-primary-tint) !important; border-color: var(--ft-primary-border) !important; box-shadow: 0 5px 16px rgb(var(--ft-primary-rgb) / .1) !important; transform: translateY(-1px); }
#content-overview .quick-action-btn .action-btn__label { font-size: 11px; font-weight: 550; line-height: 1.2; }
#content-overview .quick-action-btn .action-btn__icon { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 8px; color: var(--ft-primary-text); background: var(--ft-primary-tint); }
#content-overview .quick-action-btn .action-btn__icon svg { width: 15px; height: 15px; color: currentColor; }
#content-overview .dashboard-overview-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; flex: 1 1 auto; gap: 16px !important; min-height: 0 !important; }
#content-overview .dashboard-overview-column { height: auto !important; min-width: 0; display: flex; }
#content-overview .dashboard-recent-column { grid-column: 1 / 3; grid-row: 1; }
#content-overview .dashboard-focus-column { grid-column: 3; grid-row: 1; }
html[data-layout="workspace"][data-layout-tab="overview"] #content-overview :is(#recentActivityCard,#todaysScheduleCard),
#content-overview :is(#recentActivityCard,#todaysScheduleCard) { width: 100%; min-height: 0; padding: 20px 22px !important; border-radius: 16px; background: var(--ft-surface); border: 1px solid var(--ft-border-subtle); box-shadow: 0 4px 18px rgb(15 23 42 / .03); backdrop-filter: none; }
#content-overview #recentActivityCard { height: 100%; }
#content-overview #todaysScheduleCard { height: auto; flex: 1 1 auto; }
html[data-layout="workspace"][data-layout-tab="overview"] #content-overview #todaysScheduleCard { border-top: 3px solid var(--ft-primary-border); }
#content-overview :is(.today-card-header,.recent-activity-header) { margin-bottom: 14px; align-items: start; }
#content-overview :is(.today-card-header,.recent-activity-header) h3 { font-size: 19px; font-weight: 600; letter-spacing: -.025em; margin: 0; }
#content-overview .dashboard-panel-description { margin: 5px 0 0; color: var(--ft-text-muted); font-size: 11px; font-weight: 400; }
#content-overview .today-brief-content { gap: 12px; }
#content-overview .today-brief-section + .today-brief-section { padding-top: 12px; }
#content-overview .today-brief-section-title { font-size: 9px; margin-bottom: 5px; font-weight: 600; }
#content-overview .today-brief-metric { min-height: 42px; padding: 5px 7px; gap: 9px; }
#content-overview .today-brief-value-line { display: flex; align-items: center; gap: 12px; }
#content-overview .today-brief-value-line strong { display: grid; place-items: center; flex: 0 0 30px; min-height: 30px; border-radius: 9px; background: var(--ft-primary-tint); color: var(--ft-primary-text); font-size: 14px; font-weight: 600; }
#content-overview .today-brief-value-line > span { font-size: 13px; font-weight: 500; line-height: 1.4; }
#content-overview .today-brief-metric-copy small { margin-left: 42px; font-size: 10px; font-weight: 400; }
#content-overview .today-brief-metric:disabled { opacity: 1; }
#content-overview .is-clear .today-brief-value-line strong { color: var(--ft-text-muted); background: rgb(var(--ft-surface-elevated-rgb) / .65); }
#content-overview .is-clear .today-brief-value-line > span { color: var(--ft-text-muted); font-weight: 400; }
#content-overview .today-brief-metric:not(:disabled):hover { background: var(--ft-primary-tint); }
#content-overview .today-brief-detail-row { font-size: 11px; }
#content-overview .recent-activity-header { display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 0; }
#content-overview .recent-activity-controls { display: grid; grid-template-columns: 170px 170px auto; align-items: center; flex: 0 0 auto; width: auto; max-width: 100%; gap: 8px; }
#content-overview .recent-activity-controls > :is(.ft-searchable-select,.recent-activity-category-filter) { box-sizing: border-box; width: 100% !important; max-width: 100%; min-width: 0; }
#content-overview .recent-activity-category-filter > div { box-sizing: border-box; width: 100% !important; max-width: 100%; min-width: 0; margin-left: 0 !important; flex-wrap: nowrap; }
#content-overview .recent-activity-category-filter > div > div { box-sizing: border-box; width: 100% !important; max-width: 100%; min-width: 0; margin-left: 0 !important; }
#content-overview .recent-activity-category-filter :is(.ft-searchable-select,select) { box-sizing: border-box; width: 100% !important; max-width: 100%; min-width: 0; }
#content-overview .recent-activity-controls .ft-searchable-select-trigger { box-sizing: border-box; width: 100% !important; max-width: 100%; min-width: 0; }
#content-overview .recent-activity-controls .ft-searchable-select-value { display: block; flex: 1 1 auto; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#content-overview #recentActivityClearFilters { white-space: nowrap; }
#content-overview .recent-activity-controls :is(select:not(.ft-searchable-select-native),.ft-searchable-select-trigger) { height: 34px !important; min-height: 34px !important; font-size: 11px !important; padding-top: 5px !important; padding-bottom: 5px !important; }
html[data-layout="workspace"][data-layout-tab="overview"] #content-overview #recentActivity { flex: none; overflow: visible; height: auto; min-height: 0; }
#content-overview #recentActivity > .invisible { display: none; }
#content-overview #recentActivity > .dashboard-activity-row { display: grid; grid-template-columns: 32px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 13px 0; margin: 0; background: transparent !important; border-radius: 0; min-height: 62px; }
#content-overview #recentActivity > .dashboard-activity-row + .dashboard-activity-row { border-top: 1px solid var(--ft-border-subtle); }
#content-overview .dashboard-activity-row > * { margin: 0; }
#content-overview .dashboard-activity-row > div:first-child { width: 30px; height: 30px; border-radius: 10px; }
#content-overview .dashboard-activity-row p:first-child { font-size: 13px; font-weight: 500; white-space: normal; line-height: 1.4; }
#content-overview .dashboard-activity-row p + p { margin-top: 3px; font-size: 11px; font-weight: 400; }
#content-overview .dashboard-activity-time { font-size: 10px; color: var(--ft-text-muted); }
#content-overview .recent-activity-footer { margin-top: 8px; padding-top: 14px; font-size: 11px; }
#content-overview .dashboard-empty-state { padding: 30px 16px; border: 1px dashed var(--ft-border-strong); border-radius: 12px; text-align: center; }
#content-overview .dashboard-empty-state strong { display: block; font-size: 13px; font-weight: 600; }
#content-overview .dashboard-empty-state p { color: var(--ft-text-muted); font-size: 12px; line-height: 1.5; margin: 7px 0 0; }
#content-overview .dashboard-loading-state { color: var(--ft-text-muted); font-size: 12px; padding: 12px 0; }
#content-overview .dashboard-loading-state span { display: block; height: 40px; border-radius: 8px; background: rgb(var(--ft-border-rgb) / .3); margin-top: 15px; animation: dashboard-pulse 1.5s ease-in-out infinite alternate; }
@keyframes dashboard-pulse { to { opacity: .4; } }
@media (prefers-reduced-motion: reduce) { #content-overview .dashboard-loading-state span { animation: none; } }
@media (max-width: 1000px) {
    #content-overview .dashboard-overview-grid { grid-template-columns: minmax(0,1fr); flex: none; }
    #content-overview .dashboard-focus-column { grid-column: 1; grid-row: auto; order: 1; }
    #content-overview .dashboard-recent-column { grid-column: 1; grid-row: auto; order: 2; }
    #content-overview .dashboard-health-card { padding: 15px; }
    #content-overview .dashboard-health-card__metric { flex-direction: column; align-items: start; }
    #content-overview .action-btn.quick-action-btn { min-width: 0; }
}
@media (max-width: 600px) {
    #content-overview .dashboard-health-grid { grid-template-columns: minmax(0,1fr); gap: 10px; }
    #content-overview .dashboard-health-card { min-height: 0; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px 12px; }
    #content-overview .dashboard-health-card__metric { margin: 0; align-items: end; text-align: right; }
    #content-overview .dashboard-health-card__metric strong { font-size: 25px; }
    #content-overview .dashboard-health-card__footer { grid-column: 1 / -1; margin-top: 0; }
    #content-overview .dashboard-health-card__icon { display: none; }
    #content-overview .dashboard-health-card__detail { margin: 0; }
    #content-overview .dashboard-roster-progress { align-self: center; margin: 0; }
    #content-overview .quick-actions { padding: 8px !important; }
    #content-overview .quick-actions__list { gap: 6px; }
    #content-overview .action-btn.quick-action-btn { width: 100%; padding: 7px 5px !important; min-height: 46px !important; }
    #content-overview .quick-action-btn .action-btn__icon { display: none; }
    #content-overview .quick-action-btn .action-btn__label { font-size: 10px; }
    html[data-layout="workspace"][data-layout-tab="overview"] #content-overview :is(#recentActivityCard,#todaysScheduleCard),
    #content-overview :is(#recentActivityCard,#todaysScheduleCard) { padding: 16px !important; }
    #content-overview #recentActivity > .dashboard-activity-row { grid-template-columns: 30px minmax(0,1fr); gap: 4px 10px; }
    #content-overview .dashboard-activity-time { grid-column: 2; }
    #content-overview .recent-activity-header { align-items: flex-start; flex-direction: column; gap: 12px; }
    #content-overview .recent-activity-controls { grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto; width: 100%; }
}

#content-overview .recent-activity-category-filter .ft-searchable-select { width: 100% !important; }

/* Opaque rail prevents dashboard text showing through expanded navigation. */
html[data-layout="workspace"][data-layout-tab="overview"] .trainer-sidebar { background: var(--ft-surface); }
html[data-layout="workspace"][data-layout-tab="overview"] #content-overview #todaysScheduleCard { border-top-color: var(--ft-primary-border) !important; }

/* View-all drawer shares dashboard surface and interaction styling. */
.today-brief-drawer-panel { width: min(36rem,94vw); border-left-color: var(--ft-primary-border); }
.today-brief-drawer-header { padding: 20px 22px; }
.today-brief-drawer-summary { display: inline-flex; margin-top: 6px; padding: 3px 8px; border-radius: 999px; background: var(--ft-primary-tint); color: var(--ft-primary-text); font-weight: 600; }
.today-brief-drawer-close { width: 36px; height: 36px; background: var(--ft-surface); color: var(--ft-text-secondary); transition: color .15s ease,border-color .15s ease,background-color .15s ease; }
.today-brief-drawer-close:hover { color: var(--ft-primary-text); border-color: var(--ft-primary-border); background: var(--ft-primary-tint); }
.today-brief-drawer-close svg { width: 18px; height: 18px; }
.today-brief-drawer-content { padding: 10px 22px 24px; }
.today-brief-drawer-list .today-brief-detail-row { padding-inline: 8px; border-radius: 8px; }
.today-brief-drawer-list .today-brief-detail-row:hover { background: var(--ft-primary-tint); }
.today-brief-drawer-load-more { border-color: var(--ft-primary-border); color: var(--ft-primary-text); background: var(--ft-primary-tint); }
