/* FOCUS LAB workspace: one navigation system, a readable coaching desk. */
body[data-focus-role]{--bg:#0c0f0b;--panel:#151a12;--panel2:#1d2419;--line:#36412e;--ink:#f0f2e9;--muted:#acb69f;--accent:#dfbd77;--accent2:#edd39d;background:#0c0f0b}
.app{max-width:1680px;grid-template-columns:235px minmax(0,1fr);min-width:0}
.app [hidden],.mobile-nav [hidden],.drawer-backdrop [hidden]{display:none!important}
.app>main{min-width:0;max-width:none;padding:30px clamp(22px,3.3vw,55px) 60px}
.sidebar{height:100dvh;padding:25px 17px 18px;border-color:var(--line);background:#11160e;backdrop-filter:none;overflow:hidden}
.workspace-brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;padding:0 7px 25px}
.workspace-brand img{width:43px;height:43px;object-fit:contain;background:#0a0c08;border-radius:50%;padding:3px}
.workspace-brand>span{font-size:24px;font-weight:850;font-stretch:75%;letter-spacing:-.04em;line-height:1}
.workspace-brand b{font-weight:850;color:var(--accent)}
.workspace-brand small{display:block;font-stretch:100%;font-size:6px;letter-spacing:.12em;color:var(--muted);margin-top:7px}
.sidebar .role-switch{margin:0 0 15px}
.sidebar .nav{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#405033 transparent;padding:0 2px 20px;display:flex;flex-direction:column;gap:3px}
.workspace-nav-label{display:block;padding:18px 11px 7px;color:#87977a;font-size:8px;font-weight:650;letter-spacing:.14em}
.workspace-nav-label:first-child{padding-top:8px}
.sidebar .nav button,.sidebar .nav a{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 11px;border:0;border-radius:7px;background:none;color:var(--muted);font-size:11px;font-weight:500;text-align:left;line-height:1.5;box-shadow:none;transform:none;text-decoration:none}
.sidebar .nav button.active{background:#2b3522;color:#f1d9a5;box-shadow:inset 2px 0 #dfbd77}
.sidebar .nav :is(button,a):hover{background:#20291a;color:var(--ink);transform:none}
.sidebar .nav .nav-icon{flex:none;width:17px;height:17px}
.sidebar .profile{flex:none;display:flex;align-items:center;gap:9px;margin-top:8px;padding:17px 3px 0;border-top:1px solid var(--line)}
.sidebar .profile>div:nth-child(2){flex:1;overflow:hidden}
.sidebar .profile .avatar{flex:none;width:31px;height:31px;min-width:31px;font-size:10px;background:#2d3824;color:#e6d2a2}
.sidebar .profile strong,.sidebar .profile small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;line-height:1.8}
.sidebar .profile small{font-size:8px;color:var(--muted)}
.sidebar .logout-btn{flex:none;min-height:44px;min-width:36px;padding:8px;border-color:var(--line);background:none;color:var(--muted);font-size:17px}
.app .top{align-items:center;gap:18px;margin-bottom:29px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.app .top h1{font-size:clamp(28px,3.1vw,40px);font-weight:750;line-height:1.05;letter-spacing:-.035em;margin:9px 0}
.app .top .eyebrow{font-size:9px;color:#99aa89;letter-spacing:.13em}
.app .top .date{font-size:11px;color:var(--muted);line-height:1.7}
.app .top .actions{display:flex;gap:8px}
.app .icon-btn{min-width:44px;min-height:44px;border-radius:10px;background:#1b2416;border-color:var(--line);color:var(--ink)}
.app .session,.app .readiness,.app .client-card,.app .dashboard-card,.app .admin-stat,.app .block{border-color:var(--line);border-radius:13px;background:var(--panel);box-shadow:none}
.app .session{background:linear-gradient(130deg,#252f1d,#151a12 72%)}
.app .section-head h3,.app .dashboard-card-title h3{font-size:23px;font-weight:750;text-transform:none;letter-spacing:-.025em}
.app :is(.program-toolbar,.users-toolbar) :is(input,select){min-height:48px;background:#1b2316;border-color:#415036;border-radius:8px;font-size:13px}
.app :is(.add,.client-small-btn,.program-add){min-height:44px;border-radius:7px;font-size:12px}
.app .save{border-radius:8px;min-height:48px}
.app .client-tabs{gap:6px;overflow-x:auto;padding-bottom:9px;flex-wrap:nowrap;scrollbar-width:thin}
.app .client-tabs button{min-height:44px;flex:none;border-radius:7px;font-size:12px}
.app .client-tabs button.active{background:#d9bc7b;color:#18200f;border-color:#d9bc7b}
.app .users-table,.app .program-table{border-color:var(--line);border-radius:12px;overflow:hidden}
.app .users-row{align-items:center;border-color:var(--line);background:#151b11}
.app .users-row:hover{background:#1b2416}
.directory-status{display:block;font-size:10px;color:#a0b18e;line-height:1.8}
.workspace-demo{margin:16px 0;color:var(--muted);font-size:11px}
.workspace-demo summary{cursor:pointer;min-height:32px;line-height:2}
.workspace-demo .demo-link{margin-top:8px}
.coach-welcome{display:flex;justify-content:space-between;align-items:center;gap:25px;margin:3px 0 15px}
.coach-welcome .eyebrow{font-size:9px;letter-spacing:.14em;color:#b7a275}
.coach-welcome h2{font-size:clamp(32px,3.6vw,49px);font-weight:850;font-stretch:75%;line-height:1;letter-spacing:-.04em;margin:13px 0}
.coach-welcome>div>p:last-child{font-size:12px;line-height:1.8;color:var(--muted);margin:0;max-width:54ch}
.workspace-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:12px 16px;border:1px solid #b99d61;border-radius:7px;background:#dfbd77;color:#18200f;font-size:11px;font-weight:700;white-space:nowrap}
.workspace-primary:hover{background:#edd39d}
.workspace-primary .nav-icon{width:16px;height:16px}
.workspace-sync{display:flex;align-items:center;gap:8px;min-height:20px;margin:0 0 21px;color:#a4b397;font-size:10px;line-height:1.8;overflow-wrap:anywhere}
.workspace-sync[data-state=partial],.workspace-sync[data-state=error]{color:#e4c38a}
#coach-home .admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
#coach-home .admin-stat{min-height:145px;padding:20px;gap:17px;background:#171e12}
#coach-home .admin-stat:nth-child(2){border-color:#74603b;background:#211f15}
#coach-home .admin-stat-head{font-size:11px;line-height:1.6;font-weight:500;color:#bcc7af}
#coach-home .admin-stat-head>span{color:inherit}
#coach-home .admin-stat-head .nav-icon{flex:none;width:17px;height:17px;color:#9cae88}
#coach-home .admin-stat b{font-size:39px;line-height:1;font-weight:750;font-stretch:85%;font-variant-numeric:tabular-nums;letter-spacing:-.035em;color:#f2f0e4}
#coach-home .admin-stat:nth-child(2) b{color:#e8c888}
#coach-home .admin-stat>small{color:#9aaa89;font-size:9px;line-height:1.8}
.app .coach-load-dashboard{margin:22px 0 30px;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.workspace-priorities{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-bottom:32px}
.workspace-priorities>section{padding:22px;border:1px solid var(--line);border-radius:13px;background:#151b11;min-width:0}
.workspace-panel-heading .eyebrow{font-size:8px;color:#9aab88;letter-spacing:.1em;line-height:1.8}
.workspace-panel-heading h3{font-size:23px;font-weight:750;letter-spacing:-.03em;line-height:1.12;margin:12px 0 23px}
.priority-list,.workspace-agenda{display:grid}
.priority-list button,.workspace-agenda button{display:flex;align-items:center;gap:12px;min-height:70px;width:100%;padding:14px 0;border:0;border-top:1px solid var(--line);background:none;color:var(--ink);text-align:left}
.priority-list button>span:nth-child(2),.workspace-agenda button>span:nth-child(2){flex:1;min-width:0}
.priority-list button>span:last-child{flex:none;color:#d5bb7e}
.priority-list button:hover strong,.workspace-agenda button:hover strong{color:#f0d49b}
.priority-list strong,.workspace-agenda strong{display:block;font-size:12px;font-weight:650;line-height:1.7;overflow-wrap:anywhere}
.priority-list small,.workspace-agenda small{display:block;font-size:10px;line-height:1.7;color:#a8b79a;margin-top:3px}
.priority-dot{width:7px;height:7px;border:1px solid #a28346;border-radius:50%;background:#d1ac65;flex:none}
.workspace-agenda time{flex:none;min-width:45px;font-size:10px;font-weight:650;color:#c6b083;line-height:1.7}
.agenda-status{flex:none;font-size:8px;line-height:1.8;color:#a8b89a;border:1px solid #425735;border-radius:4px;padding:3px 6px}
.workspace-roster-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:23px}
.workspace-roster-head .eyebrow{color:#a7b892;font-size:8px;letter-spacing:.12em}
.workspace-roster-head h3{font-size:clamp(24px,2.9vw,33px);font-weight:750;letter-spacing:-.035em;line-height:1.1;margin:13px 0 0}
#coachRosterCount{font-size:10px;color:var(--muted);line-height:1.8;flex:none;margin:0}
.roster-tools{display:flex;align-items:center;gap:14px;justify-content:space-between;margin-bottom:16px}
.roster-search{display:flex;align-items:center;gap:12px;flex:1;min-width:0;background:#161f10;border:1px solid #435237;border-radius:8px;padding:0 14px}
.roster-search .nav-icon{width:17px;height:17px;flex:none;color:#98ac83}
.roster-search input{border:0;outline:0;box-shadow:none!important;background:none;width:100%;min-width:0;min-height:48px;padding:12px 0;color:var(--ink);font-size:13px}
.roster-search:focus-within{outline:2px solid #bba369;outline-offset:2px}
.roster-search input:focus{outline:0}
.roster-search input::placeholder{color:#a0b18d;font-size:12px}
.roster-sort{display:flex;align-items:center;gap:10px;font-size:10px;color:var(--muted);flex:none}
.roster-sort select{min-height:48px;max-width:220px;padding:9px 31px 9px 12px;border:1px solid #435237;border-radius:8px;background:#161f10;color:var(--ink);font-size:11px}
.roster-filters{display:flex;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:thin;padding:0 0 12px;margin-bottom:4px}
.roster-filters button{display:inline-flex;align-items:center;justify-content:center;gap:9px;flex:none;min-height:42px;padding:10px 12px;border:1px solid #384b2c;border-radius:7px;background:#141d0e;color:#aebe9e;font-size:10px;line-height:1.6}
.roster-filters button span{display:inline-flex;align-items:center;justify-content:center;min-width:17px;min-height:17px;padding:0 3px;font-size:9px;background:#2b3a20;border-radius:3px;color:#d1dcbe}
.roster-filters button[aria-pressed=true]{background:#d9bc7b;border-color:#d9bc7b;color:#17220e;font-weight:700}
.roster-filters button[aria-pressed=true] span{background:#c1a368;color:#17220e}
.coach-roster{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#141c0f}
.roster-row{display:grid;grid-template-columns:minmax(150px,1.15fr) minmax(170px,1.3fr) minmax(100px,.7fr) auto;gap:17px;align-items:center;padding:20px 21px 8px;border-bottom:1px solid var(--line)}
.roster-row:last-child{border-bottom:0}
.roster-person{display:flex;align-items:center;gap:12px;min-width:0}
.roster-person>div{min-width:0}
.roster-avatar{display:grid;place-items:center;flex:none;width:35px;height:35px;border:1px solid #405530;border-radius:50%;background:#27381b;color:#e5c993;font-size:10px;font-weight:650}
.roster-name{display:block;min-height:34px;padding:0;border:0;background:none;color:#edf1e3;font-size:13px;font-weight:700;line-height:1.6;text-align:left;overflow-wrap:anywhere}
.roster-name:hover{color:#edd39d;text-decoration:underline;text-underline-offset:4px}
.roster-person small{display:block;color:#a2b490;font-size:9px;line-height:1.8}
.roster-badge{display:inline-flex;align-items:center;padding:3px 7px;border:1px solid #465d32;border-radius:4px;background:#25391a;color:#becfa9;font-size:8px;font-weight:600;line-height:1.8}
.roster-badge.attention{color:#eed09a;border-color:#766139;background:#3b3020}
.roster-badge.muted{color:#b8c1ae;background:#252d20;border-color:#49573b}
.roster-state p{margin:6px 0 0;color:#b7c5a6;font-size:10px;line-height:1.7;max-width:34ch}
.roster-compliance{display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}
.roster-compliance>b{font-size:22px;font-weight:700;letter-spacing:-.04em}
.roster-compliance>span{font-size:9px;color:#b6c5a2;line-height:1.7}
.roster-compliance small{display:block;font-size:8px;color:#8fa67c}
.roster-actions{display:flex;align-items:center;gap:6px}
.roster-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;min-width:44px;padding:9px 10px;border:1px solid #455d32;border-radius:6px;background:#1d2b13;color:#cddbb9;font-size:10px;line-height:1.6}
.roster-actions button:hover{background:#2d3e20;color:#f0d59f}
.roster-actions .nav-icon{width:14px;height:14px;flex:none}
.roster-details{grid-column:1/-1;min-width:0;margin-top:0}
.roster-details summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:39px;color:#a7b992;font-size:9px;line-height:1.7;cursor:pointer;list-style:none}
.roster-details summary::-webkit-details-marker{display:none}
.roster-details summary>span{font-size:16px}
.roster-details[open] summary>span{transform:rotate(45deg)}
.roster-detail-content{display:grid;grid-template-columns:1.1fr 1fr;gap:25px;border-top:1px solid #344a26;margin-top:3px;padding:21px 0}
.roster-detail-content p,.roster-detail-content li{font-size:11px;line-height:1.8;color:#aebf9a;margin:0 0 10px;overflow-wrap:anywhere}
.roster-detail-content ul{padding-left:17px;margin-block:15px}
.roster-detail-content .load-figures{gap:10px;margin-bottom:20px}
.roster-detail-content .load-figures b{font-size:21px;color:#dfca99}
.roster-detail-content .load-figures span{font-size:9px}
.roster-detail-content .load-chart{height:100px}
.roster-detail-content .load-week span,.roster-detail-content .load-week b{font-size:9px}
.roster-pagination{display:flex;justify-content:center;align-items:center;gap:15px;margin:20px 0}
.roster-pagination button,.workspace-empty button{min-height:44px;padding:9px 14px;border:1px solid #425b30;border-radius:7px;background:#202f15;color:#c9d9b3;font-size:11px}
.roster-pagination>span{font-size:10px;color:var(--muted)}
.roster-pagination button:disabled{cursor:default;opacity:.4}
.workspace-method{margin-top:19px;border-top:1px solid var(--line);padding-top:9px}
.workspace-method summary{min-height:44px;padding:12px 0;font-size:10px;line-height:1.8;color:#aabf93;cursor:pointer}
.workspace-method p{font-size:11px;line-height:1.9;color:#aabf93;max-width:110ch;margin:10px 0 18px}
.workspace-empty{padding:28px 20px;color:#adc19b;font-size:12px;line-height:1.8}
.workspace-empty strong{display:block;color:#dce7d1;font-size:13px;font-weight:650;line-height:1.7}
.workspace-empty p{margin:8px 0 16px;font-size:11px;line-height:1.8}
.workspace-empty.compact{padding:0;max-width:46ch}
.workspace-muted{font-size:12px;color:#b7c7a7;line-height:1.8}
.workspace-loading{display:flex;align-items:center;gap:12px;min-height:170px;justify-content:center;font-size:12px;color:#bdd1aa;border:1px solid var(--line);border-radius:12px}
.workspace-loading>span{width:16px;height:16px;border:2px solid #405431;border-top-color:#dfbd77;border-radius:50%;animation:workspace-spin .8s linear infinite}
#coach-home .quick-grid{gap:12px}
#coach-home .quick-action{min-height:145px;padding:19px;border:1px solid #3d502d;border-radius:9px;background:#17220f;box-shadow:none}
#coach-home .quick-action i{display:block;color:#cbb382;font-size:0;font-style:normal;margin-bottom:18px}
#coach-home .quick-action i svg{width:20px;height:20px}
#coach-home .quick-action strong{font-size:12px;line-height:1.6;font-weight:650}
#coach-home .quick-action small{font-size:10px;line-height:1.8;color:#a6bc91;margin-top:7px}
#coach-home .quick-action:hover{transform:none;background:#203015;border-color:#758c55}
#coach-home .dashboard-split{gap:17px}
#coach-home .dashboard-card-title h3{font-size:22px;text-transform:none;line-height:1.15}
#coach-home .dashboard-card-title>span{font-size:9px}
#coach-home .person-row{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;text-align:left;color:var(--ink);min-height:70px;padding:14px 0;gap:12px}
#coach-home .person-row:last-child{border-bottom:0}
#coach-home .person-row strong{font-size:12px}
#coach-home .person-row small{font-size:10px;color:#a8bd96;line-height:1.7}
#coach-home .person-avatar{width:34px;height:34px;font-size:10px;background:#2a3d1d;color:#dec68f}
.feedback-open{display:block;width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;text-align:left;color:var(--ink);padding:15px 0}
.feedback-open strong{font-size:12px;line-height:1.7}
.feedback-open span,.feedback-open small{display:block;color:#a8bd96;font-size:10px;line-height:1.8;margin-top:4px}
.feedback-open:hover strong{color:#e8c888}
.coach-publishing{margin-top:25px;border:1px solid var(--line);border-radius:12px;background:#151d10}
.coach-publishing>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:88px;padding:20px 23px;list-style:none;cursor:pointer}
.coach-publishing>summary::-webkit-details-marker{display:none}
.coach-publishing>summary strong{display:block;font-size:15px;font-weight:700}
.coach-publishing>summary small{display:block;font-size:10px;line-height:1.8;color:#b0c49a;margin-top:5px}
.coach-publishing>summary>span:last-child{font-size:23px;color:#d9bc7b}
.coach-publishing[open]>summary>span:last-child{transform:rotate(45deg)}
.coach-publishing .feed-admin{margin:0!important;border:0!important;border-top:1px solid var(--line)!important;border-radius:0 0 12px 12px!important;background:none!important;box-shadow:none!important}
.mobile-drawer{background:#141d0e;border-color:var(--line);max-width:360px}
.drawer-head{border-bottom:1px solid #405432}
.drawer-brand{font-family:Archivo,system-ui,sans-serif;font-stretch:75%;letter-spacing:-.04em}
.drawer-item{min-height:48px;font-size:12px;border-radius:7px}
.drawer-item.active{background:#2b3b1e;color:#e5cb92}
@keyframes workspace-spin{to{transform:rotate(360deg)}}
@media (max-width:1240px){.app{grid-template-columns:210px minmax(0,1fr)}.sidebar{padding-inline:12px}.app>main{padding-inline:24px}.roster-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:15px}.roster-actions{justify-content:flex-end}.workspace-priorities{gap:13px}.workspace-priorities>section{padding:20px}.workspace-agenda button{gap:9px}.agenda-status{font-size:7px}.workspace-panel-heading h3{font-size:22px}#coach-home .admin-stats{gap:10px}#coach-home .admin-stat{padding:16px}#coach-home .admin-stat-head{font-size:10px}}
@media (max-width:1000px){.workspace-priorities{grid-template-columns:1fr}.coach-welcome{gap:15px}.workspace-primary{font-size:10px;padding:11px 12px}.coach-welcome>div>p:last-child{max-width:37ch}.workspace-roster-head{align-items:flex-start;flex-direction:column;gap:13px}#coach-home .admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}#coach-home .admin-stat{min-height:130px}}
@media (max-width:900px){.app{display:block}.sidebar{display:none}.app>main{padding:24px 22px calc(115px + env(safe-area-inset-bottom))}.app .top{margin-bottom:27px;padding-bottom:20px}.app .top h1{font-size:34px}.app .top .actions{display:flex}.app .menu-toggle{display:grid}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));left:12px;right:12px;bottom:calc(9px + env(safe-area-inset-bottom));padding:6px;z-index:20;border:1px solid #596d42;border-radius:14px;background:#14200ff2;backdrop-filter:blur(18px);box-shadow:0 6px 35px #0007}.mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:54px;padding:7px 2px;border:0;border-radius:8px;background:none;font-size:9px;color:#9bb084;line-height:1.7}.mobile-nav button.active{background:#304323;color:#f0d599}.mobile-nav .nav-icon{width:18px;height:18px;margin:0}.coach-welcome h2{font-size:43px}.workspace-priorities{grid-template-columns:1fr 1fr}.roster-tools{gap:10px}.roster-sort{gap:7px}#coach-home .admin-stats{grid-template-columns:repeat(4,minmax(0,1fr))}#coach-home .admin-stat{min-height:133px;padding:16px}#coach-home .admin-stat b{font-size:35px}}
@media (max-width:650px){.app>main{padding-inline:18px;padding-top:22px}.app .top h1{font-size:30px}.app .top .date{font-size:10px}.app .top .eyebrow{font-size:8px}.coach-welcome{align-items:flex-start;flex-direction:column;gap:15px;margin-bottom:14px}.coach-welcome h2{font-size:39px}.coach-welcome>div>p:last-child{font-size:12px;max-width:36ch}.workspace-primary{min-height:44px;font-size:11px;padding:11px 14px}.workspace-sync{font-size:9px;margin-bottom:18px}#coach-home .admin-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#coach-home .admin-stat{min-height:132px;padding:17px;gap:13px}#coach-home .admin-stat-head{font-size:11px}#coach-home .admin-stat-head .nav-icon{width:15px;height:15px}#coach-home .admin-stat b{font-size:37px}#coach-home .admin-stat>small{font-size:9px}.workspace-priorities{grid-template-columns:1fr;gap:15px;margin-bottom:28px}.workspace-priorities>section{padding:20px}.workspace-panel-heading h3{font-size:25px;margin-bottom:20px}.priority-list strong,.workspace-agenda strong{font-size:13px}.priority-list small,.workspace-agenda small{font-size:11px}.workspace-agenda time{font-size:11px;min-width:51px}.agenda-status{font-size:8px}.workspace-roster-head h3{font-size:28px;max-width:19ch}.roster-tools{flex-direction:column;align-items:stretch}.roster-search{flex:none}.roster-sort{align-self:flex-end}.roster-sort select{min-height:44px;font-size:11px}.roster-filters button{font-size:10px}.roster-row{padding:18px 16px 7px;gap:16px 8px}.roster-person,.roster-state{grid-column:1/-1}.roster-person{gap:12px}.roster-name{font-size:14px;min-height:32px}.roster-person small{font-size:10px}.roster-state{display:flex;align-items:flex-start;gap:10px}.roster-state p{font-size:11px;margin:0;flex:1;max-width:none}.roster-badge{flex:none;font-size:9px;padding:3px 7px}.roster-compliance{gap:8px}.roster-compliance>b{font-size:23px}.roster-compliance>span{font-size:9px}.roster-compliance small{font-size:8px}.roster-actions{gap:6px}.roster-actions button{font-size:10px;padding:9px}.roster-actions .nav-icon{display:none}.roster-details summary{font-size:10px}.roster-detail-content{grid-template-columns:1fr;gap:23px}.roster-detail-content p,.roster-detail-content li{font-size:12px}.workspace-method summary{font-size:11px}.workspace-method p{font-size:12px}.roster-pagination{gap:10px}.roster-pagination button{font-size:10px}#coach-home .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#coach-home .quick-action{min-height:150px;padding:17px}#coach-home .quick-action strong{font-size:12px}#coach-home .quick-action small{font-size:11px}#coach-home .dashboard-card-title h3{font-size:24px}.coach-publishing>summary{padding:20px}.coach-publishing>summary small{font-size:11px}#coach-home .dashboard-split{grid-template-columns:1fr;gap:0}.mobile-nav button{font-size:9px}.app .client-tabs button{font-size:11px}.app :is(input,select,textarea){font-size:16px}.app :is(.program-toolbar,.users-toolbar) :is(input,select){font-size:16px}}
@media (max-width:350px){.app>main{padding-inline:15px}.app .top h1{font-size:28px}.app .top .date{max-width:25ch}.app .top .actions{gap:6px}.coach-welcome h2{font-size:36px}#coach-home .admin-stat{padding:15px}#coach-home .admin-stat-head{font-size:10px}.roster-row{padding-inline:13px}.roster-actions button{padding-inline:8px;font-size:9px}.roster-compliance>span{font-size:8px}.mobile-nav{left:8px;right:8px}.mobile-nav button{font-size:8px}.roster-badge{font-size:8px}.roster-state p{font-size:10px}}
@media (prefers-reduced-motion:reduce){.workspace-loading>span{animation:none}.app *{scroll-behavior:auto!important;transition:none!important}}

@media (min-width:901px){.sidebar .nav button,.sidebar .nav a{font-size:12px}.sidebar .profile strong{font-size:11px}}
@media (max-width:650px){#coach-home .admin-stat>small{font-size:11px}.roster-filters button{font-size:11px}.roster-filters button span{font-size:10px}.roster-badge{font-size:10px}.roster-compliance>span{font-size:10px}.roster-compliance small{font-size:9px}.roster-actions button{font-size:11px}.roster-person small{font-size:11px}.workspace-sync{font-size:10px}}
@media (max-width:350px){.roster-actions button{font-size:9px}.roster-badge{font-size:9px}.roster-compliance>span{font-size:9px}}
