/* Coachdesk 0.5.3 — light workspace, inspired by the supplied dashboard reference. */
:root{--ink:#202629;--muted:#687579;--line:#e6ebed;--paper:#fafbfc;--green:#087f79;--lime:#d9f3ef;--radius:9px}
body{font-size:14px;background:var(--paper)}
h1{font-size:28px;letter-spacing:-1px;font-weight:700}h2{font-size:17px;letter-spacing:-.35px}h3{font-weight:600}
/* Display the original supplied artwork in a tight viewport without altering it. */
.wordmark{display:block;width:174px;aspect-ratio:6.4;background:url('coachdesk-wordmark.png') center 48%/140% auto no-repeat;mix-blend-mode:multiply;flex-shrink:0}
.brand{padding:0 10px;color:var(--ink);min-height:34px}
.sidebar{width:232px;background:#fff;color:#505c61;border-right:1px solid var(--line);padding:24px 15px 16px}
.main-shell{margin-left:232px;width:calc(100% - 232px)}
.workspace-select{margin:24px 0;background:#fafbfc;color:#435055;border:1px solid var(--line);border-radius:7px;font-size:12px;padding:10px}
.nav-label{font-size:10px;letter-spacing:1.3px;color:#899397;padding-left:12px;margin-bottom:10px}
.sidebar nav{gap:3px;scrollbar-width:thin;scrollbar-color:#dbe3e4 transparent}
.nav-link,.nav-group-title{font-size:13px;gap:11px;padding:10px 12px;border-radius:6px;color:#505c61;font-weight:500}
.nav-link svg,.nav-group-title svg{width:18px;height:18px}
.nav-link:hover{background:#f5f8f8;color:#146e68}
.nav-link.active{background:#e9f6f3;color:#08756e;font-weight:650;box-shadow:inset 3px 0 #10988c}
.nav-group.group-active>.nav-link:not(.active){background:#f5f9f8;color:#206e67}
.group-active>.nav-group-title{color:#087f79}
.nav-children{border-left:1px solid #e2e9e8;margin-left:21px;padding-left:11px;gap:2px}
.nav-link.nav-child{font-size:12px;padding:8px 10px}.nav-count{background:#e4f4ef;color:#087f79}.nav-divider{background:var(--line)}
.sidebar-bottom{padding-top:18px}.plan-box{background:#fafcfc;border:1px solid var(--line);border-radius:8px;padding:13px}
.mini-tag{font-size:10px;letter-spacing:1px;color:#0c8177}.plan-box p{font-size:14px;line-height:1.5;color:#34474b;margin:7px 0}.plan-box small{font-size:11px;color:#758388}
.profile{padding:16px 3px 0;color:#35464b;font-size:12px}.profile small{color:#7a888d;font-size:11px}.avatar{background:#eaf3f2;color:#287b72;font-size:11px;width:34px;height:34px}.avatar.lime{background:#e3f3ec;color:#357b60}
.main-shell>header{height:74px;padding:0 30px;background:white}.breadcrumb{font-size:12px;color:#899296}.breadcrumb b{color:#087f79}.breadcrumb span{color:#b0b8bb;margin:0 9px}.header-right{gap:12px}
main{padding:28px 30px 36px;max-width:1800px}.page-top{margin-bottom:24px}.eyebrow{color:#839095;font-size:10px;letter-spacing:1.4px;margin-bottom:8px}.subtitle{color:#718086;font-size:13px;margin-top:7px}
.button{border-color:#dce5e6;border-radius:6px;font-size:13px;padding:9px 14px;min-height:36px;font-weight:500}.button:hover{background:#f0f7f6;border-color:#b8d8d3}.button.primary{background:#087f79;border-color:#087f79;color:white}.button.primary:hover{background:#066a65;border-color:#066a65}.button.lime-btn{background:#e8f7f2;border-color:#c7e9df;color:#08776d}.button.small{font-size:12px;padding:7px 11px;min-height:32px}.text-btn{color:#087f79}.actions{gap:8px}
input,select,textarea{color:#34454b;border-color:#dce5e7;border-radius:6px;padding:10px 12px;font-size:13px}input::placeholder{color:#8b979c}input[type=checkbox]{accent-color:#087f79}.field{font-size:13px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #168f85;outline-offset:3px}
.stats{gap:16px;margin-bottom:24px}.stat{padding:20px 22px;box-shadow:0 1px 2px #1a344403}.stat-top{font-size:12px;color:#58666c}.stat-top svg{color:#85969a}.stat-value{font-size:32px;font-weight:600;margin:18px 0 10px;color:#1d262b}.stat-bottom{font-size:11px;color:#7b888d}.positive{color:#29835e}
.card{box-shadow:0 1px 2px #1a344403}.card-head{padding:20px 22px}.dashboard-grid,.lower-grid{gap:20px}.stack{gap:20px}
.badge{border-radius:20px;padding:5px 9px;background:#edf9ef;color:#35794a;font-size:11px;font-weight:500;line-height:1.4}.badge.orange{background:#fff6e9;color:#956223}.badge.gray{background:#f1f4f5;color:#66747a}.badge.purple{background:#f1effb;color:#7760a2}
.table-wrap{border-radius:8px}th{background:#fbfcfd;color:#69787e;font-size:12px;font-weight:500;padding:14px 20px;white-space:nowrap}td{padding:16px 20px;border-color:#eaf0f1;font-size:13px}tbody tr:hover{background:#f3faf8}th+th{border-left:1px solid #edf1f2}.client-name b{font-size:13px}.client-name small,.client-package-summary small,.client-next-session small{font-size:11px;color:#7b878d}.client-package-summary{gap:6px}.client-package-summary>b{font-size:12px}.client-next-session{color:#24776e;gap:6px}.client-next-session span{font-size:12px}
.clients-toolbar{padding:16px 18px;margin-bottom:16px;background:#fff;border:1px solid var(--line);border-radius:8px;gap:18px}.clients-toolbar .search{margin-right:auto}.clients-toolbar .subtle{font-size:12px;padding-bottom:10px}.search input{width:280px}.search>span{color:#819297}
.segmented{background:#f0f4f4}.segmented button{color:#77868b;font-size:12px}.segmented button.selected{color:#087f79}.profile-tabs{background:#fff;padding:0;border-radius:0;border-bottom:1px solid var(--line);gap:12px}.profile-tab{color:#76868b;border-radius:0;padding:13px 12px;font-size:13px;border-bottom:2px solid transparent}.profile-tab:hover{background:#f5faf8}.profile-tab.active{color:#087f79;background:white;border-bottom-color:#089589}
.profile-hero{border-radius:9px;padding:26px}.profile-identity p,.profile-notes{color:#6d7c82}.profile-identity>.avatar{background:#e9f6f2;color:#2c7e70}.profile-quick-actions{background:#fff}
.calendar-day{border-radius:8px}.calendar-day.today{background:#f3fbf8;border-color:#4ca799}.calendar-day-bookable:hover{border-color:#7cbcaf}.calendar-day-heading span{color:#43877a}.calendar-event{background:#edf8f5;border-left-color:#1c9587}.calendar-event .calendar-session-time,.calendar-event .calendar-session-client{color:#256e63}.session-pill{border-radius:6px}.session-pill.pill-type{background:#e6f3f0;color:#28746a;border-color:#d4e9e3}.session-pill.pill-status{background:#edf9ef;color:#387647;border-color:#dceede}.session-pill.pill-location{color:#66777c}.session-pill.pill-fact{background:#f7fafb;color:#49646b}
.session-workout{background:#f8fbfb;border-radius:9px}.session-section-number{color:#3e8073;background:#e9f6f1}.session-line{background:#51a899}.session-info p,.time small{color:#829097}.day.active{background:#087f79}.day.active i{background:#b8e9dc}.day b{color:#52696c}.session-row{padding-block:18px;border-color:var(--line)}
.insight{background:#f0f9f6;border-color:#dceee8}.insight-top span{color:#538777}.insight p{color:#67877d}.insight h2{color:#235c4e}.activity-icon,.workout-icon{background:#ebf6f3;color:#288475}.workout-card{padding:22px;min-height:230px}.workout-card p,.workout-card .card-foot small{color:#78898d}.bar-chart .bar{background:#cde9e1}.bar-chart .bar.current{background:#198f7d}.progress{background:#eaf1ef}.progress span{background:#299884}
.conversation.selected{background:#edf8f5}.bubble{background:#f0f6f5}.bubble.mine{background:#087f79}.detail-box{background:#f3f8f7}.client-hero{background:#eef8f5;color:#234a41;border:1px solid #dbece6;border-radius:10px}.client-hero p{color:#648477}.client-hero .eyebrow{color:#4d8c78}.client-hero .big-number{color:#68ab94}
.action-dropdown{border-color:#e0e8e9;border-radius:8px;box-shadow:0 10px 30px #243d491a}.action-dropdown-trigger[aria-expanded=true]{background:#edf7f4;border-color:#92c5b8}.action-dropdown .action-dropdown-item:hover{background:#eef8f4}.action-dropdown .action-dropdown-item:focus-visible{outline-color:#168f85}.action-dropdown .destructive-action:hover{background:#fff0ee}
dialog{border-radius:12px;padding:28px;box-shadow:0 20px 80px #223b4826}dialog::backdrop{background:#1c303a55;backdrop-filter:blur(2px)}.modal-heading h2{font-size:20px}#toast{background:#184b43}
.auth-page{background:white}.auth-brand{background:#f2f9f6;border-right:1px solid #e1eee8;color:#21493e;padding:8vw 6vw}.auth-brand .brand{padding:0}.auth-brand .wordmark{width:250px}.auth-brand h1{font-size:48px;letter-spacing:-2px;line-height:1.2;font-weight:650}.auth-brand p{color:#6d877d}.auth-content{background:white}.auth-card h1{font-size:30px}.auth-card .subtitle{line-height:1.7}
footer{padding:16px 30px 24px;color:#8c989e;font-size:10px;letter-spacing:.4px}
@media(min-width:1500px){main{padding-top:32px}.stat{padding:24px}.session-row{padding-block:20px}}
@media(max-width:1180px) and (min-width:701px){.sidebar{width:210px;padding-inline:12px}.main-shell{margin-left:210px;width:calc(100% - 210px)}.wordmark{width:166px}main{padding:26px 24px}.main-shell>header{padding-inline:24px}}
@media(max-width:950px){.stats{gap:12px}.stat{padding:18px}.auth-brand h1{font-size:38px}.clients-toolbar .search{width:100%}.clients-toolbar .search input{width:100%}}
@media(max-width:700px){.sidebar{width:232px;padding:22px 15px 16px}.main-shell{margin:0;width:100%}.main-shell>header{height:64px;padding:0 16px}.menu-open .mobile-menu{left:241px;top:14px}.header-right{gap:6px}.header-right>.avatar{display:none}main{padding:22px 16px}h1{font-size:25px}.stats{gap:10px}.stat{padding:16px}.stat-value{font-size:27px}.page-top{gap:12px}.page-top>.actions{align-items:flex-end}.clients-toolbar{padding:14px}.clients-toolbar .search input{width:100%}.card-head{padding:18px}.auth-brand{padding:30px 24px;border-right:0;border-bottom:1px solid #e1eee8}.auth-brand .wordmark{width:190px}.auth-brand h1{font-size:28px;letter-spacing:-1px;margin:28px 0 0}.auth-content{padding:32px 24px}.profile-tabs{gap:2px}.profile-tab{padding:12px 10px}.profile-hero{padding:20px}dialog{padding:22px}footer{padding:16px;font-size:10px}.button{min-height:38px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* v0.5.4 — dark charcoal sidebar with teal navigation accents. */
.sidebar{background:#17252b;color:#ced8dc;border-right-color:#26383f;color-scheme:dark}
.sidebar .brand{color:#fff}
.sidebar .wordmark{filter:invert(1);mix-blend-mode:screen}
.sidebar .workspace-select{background:#203239;color:#e0eaed;border-color:#3a4e56}
.sidebar .nav-label{color:#94a9b2}
.sidebar nav{scrollbar-color:#48616b transparent}
.sidebar .nav-link,.sidebar .nav-group-title{color:#c3d1d7}
.sidebar .nav-link:hover{background:#253a42;color:#fff}
.sidebar .nav-link.active{background:#214640;color:#b8f4df;box-shadow:inset 3px 0 #55cbb0}
.sidebar .nav-group.group-active>.nav-link:not(.active){background:#21363c;color:#d0ebe3}
.sidebar .group-active>.nav-group-title{color:#a7e7d3}
.sidebar .nav-children{border-left-color:#3a5059}
.sidebar .nav-count{background:#31584f;color:#bcf0de}
.sidebar .nav-divider{background:#354a53}
.sidebar .plan-box{background:#1d3037;border-color:#354a53}
.sidebar .mini-tag{color:#90dbc4}
.sidebar .plan-box p{color:#e5eef1}
.sidebar .plan-box small{color:#a7bac2}
.sidebar .profile{color:#e0eaee}
.sidebar .profile small{color:#a7bac2}
.sidebar .avatar{background:#33574e;color:#d4f4e6}
.sidebar button:focus-visible,.sidebar a:focus-visible,.sidebar select:focus-visible{outline-color:#6bdfbf}

/* v0.5.5 — slightly larger, more readable interface typography. */
body{font-size:16px}
h2{font-size:19px}h3{font-size:17px}small{font-size:13px}
.subtitle,.page-top .subtitle,.subtle{font-size:15px;line-height:1.6}
.eyebrow{font-size:12px}.breadcrumb{font-size:14px}
.sidebar .nav-link,.sidebar .nav-group-title{font-size:15px;line-height:1.45}
.sidebar .nav-link.nav-child{font-size:14px;line-height:1.45}
.sidebar .workspace-select{font-size:14px}
.sidebar .nav-label,.sidebar .mini-tag{font-size:12px}
.sidebar .plan-box p,.sidebar .profile{font-size:14px}
.sidebar .plan-box small,.sidebar .profile small,.sidebar .nav-count{font-size:13px}
.avatar{font-size:13px}
.button,.button.small,.page-top>.actions .button,.header-right .small{font-size:14px}
.text-btn{font-size:14px}.field{font-size:15px}
input,select,textarea{font-size:15px;line-height:1.4}
.badge{font-size:13px;line-height:1.4}
.stat-top{font-size:14px}.stat-bottom{font-size:13px}
.card-head .subtitle{font-size:14px}
th{font-size:14px}td{font-size:15px;line-height:1.5}
.client-name b{font-size:16px}.client-name small{font-size:14px;line-height:1.5}
.client-package-summary>b{font-size:15px}
.client-package-summary small,.client-next-session small{font-size:14px;line-height:1.5}
.client-next-session b,.client-next-session span{font-size:15px;line-height:1.5}
.clients-toolbar .subtle{font-size:14px}
.segmented button,.profile-tab{font-size:14px}
.profile-identity p,.profile-notes,.profile-checkin{font-size:15px}
.workout-card h2{font-size:19px}.workout-card p{font-size:15px}
.workout-card .card-foot small,.workout-setting-row small{font-size:14px}
.workout-setting-row h3{font-size:16px}
.line-item p,.metric-item,.session-info strong{font-size:15px}
.session-info p,.time small,.attention-row p,.activity-item p,.activity-item small{font-size:14px;line-height:1.5}
.attention-row strong{font-size:15px}
.session-row .badge{font-size:13px}
.session-pill{font-size:13px}.session-exercise p{font-size:14px}
.session-workout-notes,.session-exercise h4{font-size:15px}
/* Keep schedule entries compact while making their labels easier to read. */
.calendar-day h3{font-size:15px}
.calendar-event .calendar-session-time,.calendar-event .calendar-session-client{font-size:13px}
.calendar-event .calendar-session-title{font-size:14px;line-height:1.35}
.calendar-event .session-pill{font-size:12px;line-height:1.25;padding:2px 5px}
.action-dropdown-trigger{font-size:14px}
.action-dropdown .action-dropdown-item{font-size:14px;line-height:1.5}
.conversation b,.bubble{font-size:15px}.conversation p{font-size:14px}
.meta-line,.chart-labels,.chart-meta span,.detail-box small{font-size:13px}
.notice,.error-box{font-size:15px}
footer{font-size:12px}
@media(max-width:700px){
 .breadcrumb{font-size:13px}
 /* Avoid browser zoom when focusing form fields on phones. */
 input,select,textarea{font-size:16px}
 .sidebar .workspace-select{font-size:16px}
 .page-top>.actions .button{font-size:14px}
 .stat-top{font-size:14px}.stat-bottom{font-size:13px}
 .profile-hero-actions .button{white-space:normal}
}
