/* Coaching layouts. Brand values and shared identity: /brand.css. */
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:var(--text-body)/var(--leading-body) var(--font-family);letter-spacing:var(--tracking-body);-webkit-font-smoothing:antialiased}
button,input,textarea,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
button:disabled{opacity:.45;cursor:not-allowed}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--muted);outline-offset:3px}
button:focus:not(:focus-visible){outline:none}
svg{vertical-align:middle;flex:none}
h1,h2,h3,p{margin:0}
h1{font-size:var(--text-metric);letter-spacing:-1.2px;line-height:1.22;font-weight:600}
h2{font-size:var(--text-section);font-weight:600;letter-spacing:-.4px}
h3{font-size:var(--text-subheading);font-weight:600;letter-spacing:-.25px}
.muted{color:var(--muted)}
.small{font-size:var(--text-small)}
.eyebrow{text-transform:none;letter-spacing:1.4px;font-size:var(--text-micro);font-weight:600;color:var(--muted)}
.boot{min-height:100vh;display:grid;place-content:center;gap:20px;text-align:center}
.shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}
.sidebar{background:var(--white);border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;width:224px;padding:30px 18px 20px;display:flex;flex-direction:column;z-index:20}
.workspace-tag{padding:14px 13px;border:1px solid var(--line);border-radius:var(--radius-chip);display:flex;align-items:center;gap:10px;margin-bottom:28px}
.workspace-tag strong{font-size:var(--text-small);font-weight:600}
.workspace-tag p{font-size:var(--text-micro);color:var(--muted)}
.nav-label{font-size:var(--text-micro);color:var(--muted);letter-spacing:1.4px;padding:0 13px;margin-bottom:9px}
.nav{display:grid;gap:5px}
.nav-link{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:var(--radius-chip);font-size:var(--text-small);color:var(--muted);font-weight:500;background:none;border:0;width:100%;text-align:left}
.nav-link:hover{background:var(--paper)}
.nav-link.active{background:var(--soft);color:var(--ink);font-weight:600}
.nav-link .count{margin-left:auto;background:var(--line);border-radius:var(--radius-chip);padding:0 6px;font-size:var(--text-micro)}
.sidebar-foot{margin-top:auto}
.pilot-note{border:1px solid var(--line);padding:15px;border-radius:var(--radius-tile);margin-bottom:18px}
.pilot-note p{font-size:var(--text-caption);color:var(--muted);margin:8px 0 12px}
.pilot-note strong{font-size:var(--text-small)}
.avatar{display:inline-grid;place-items:center;flex:none;width:36px;height:36px;background:var(--soft);border:1px solid var(--line);border-radius:50%;font-size:var(--text-caption);font-weight:600;color:var(--muted)}
.avatar.lg{width:54px;height:54px;font-size:var(--text-subheading)}
.avatar.dark{background:var(--ink);color:var(--white);border-color:var(--ink)}
.account{display:flex;align-items:center;gap:10px;padding:8px 10px}
.account strong{font-size:var(--text-small)}
.account p{font-size:var(--text-micro);color:var(--muted)}
.workspace{grid-column:2;min-width:0}
.topbar{height:74px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:var(--white);gap:16px}
.breadcrumb{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:var(--text-caption)}
.breadcrumb span:last-child{color:var(--ink);font-weight:500}
.top-actions{display:flex;gap:14px;align-items:center}
.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:var(--radius-card);padding:5px 9px;font-size:var(--text-micro);white-space:nowrap;background:var(--white)}
.pill.soft{background:var(--soft);border-color:var(--soft)}
.pill.dark{background:var(--ink);color:var(--white);border-color:var(--ink)}
.dot{width:5px;height:5px;background:var(--muted);border-radius:50%;display:inline-block}
.main{max-width:1510px;margin:auto;padding:38px 42px 55px}
.page-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:29px}
.page-heading p{font-size:var(--text-small);color:var(--muted);margin-top:8px}
.heading-copy .eyebrow{margin-bottom:10px}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:1px solid var(--line);border-radius:var(--radius-chip);min-height:38px;padding:9px 14px;background:var(--white);color:var(--ink);font-size:var(--text-caption);font-weight:600;transition:background .15s}
.btn:hover{background:var(--soft)}
.btn.primary{background:var(--ink);color:var(--white);border-color:var(--ink)}
.btn.primary:hover{background:var(--ink)}
.btn.ghost{background:transparent;border-color:transparent}
.btn.sm{min-height:31px;padding:6px 10px;font-size:var(--text-micro)}
.btn.wide{width:100%}
.btn.icon{width:36px;padding:8px}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:28px}
.stat{border:1px solid var(--line);border-radius:var(--radius-tile);padding:18px 20px;background:var(--white);box-shadow:none}
.stat-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:var(--text-caption)}
.stat-value{font-size:var(--text-metric);letter-spacing:-1.5px;font-weight:600;margin:15px 0 8px;line-height:1}
.stat-value small{font-size:var(--text-body);font-weight:400;letter-spacing:0;color:var(--muted);margin-left:4px}
.stat-foot{font-size:var(--text-micro);color:var(--muted);display:flex;gap:5px;align-items:center}
.board{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}
.stack{display:grid;gap:22px;min-width:0}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:none;overflow:hidden;min-width:0}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 24px;border-bottom:1px solid var(--line)}
.card-head p{font-size:var(--text-caption);color:var(--muted);margin-top:4px}
.card-body{padding:23px 24px}
.task-row{display:flex;gap:14px;align-items:center;padding:18px 24px;border-bottom:1px solid var(--soft)}
.task-row:last-child{border:0}
.task-row .task-copy{min-width:0;flex:1}
.task-row strong{font-size:var(--text-small);font-weight:600}
.task-row p{color:var(--muted);font-size:var(--text-caption);margin-top:4px}
.task-title{display:flex;align-items:center;gap:7px;margin-bottom:5px}
.task-title .pill{font-size:var(--text-micro);padding:2px 7px}
.task-row .avatar{width:35px;height:35px}
.card-footer{border-top:1px solid var(--line);padding:13px 24px;font-size:var(--text-micro);display:flex;align-items:center;gap:7px;color:var(--muted)}
.flow-item{display:flex;align-items:center;gap:12px;padding:13px 0}
.flow-item+.flow-item{border-top:1px solid var(--soft)}
.flow-icon{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-chip);padding:8px}
.flow-item .flow-copy{flex:1}
.flow-item strong{font-size:var(--text-caption);font-weight:500}
.flow-item p{font-size:var(--text-micro);color:var(--muted);margin-top:2px}
.flow-number{font-size:var(--text-subheading);font-weight:600;letter-spacing:-.5px}
.insight{background:var(--soft);padding:20px 22px;border:1px solid var(--line);border-radius:var(--radius-tile)}
.insight h3{font-size:var(--text-small);margin:10px 0 7px}
.insight p{font-size:var(--text-caption);line-height:1.7;color:var(--muted)}
.activity-row{display:flex;gap:12px;padding:12px 0}
.activity-row+.activity-row{border-top:1px solid var(--soft)}
.activity-row .activity-icon{width:27px;height:27px;border-radius:var(--radius-chip);background:var(--paper);display:grid;place-items:center}
.activity-row strong{font-size:var(--text-caption);font-weight:500}
.activity-row p{color:var(--muted);font-size:var(--text-micro);margin-top:3px}
.activity-row time{margin-left:auto;font-size:var(--text-micro);color:var(--muted);white-space:nowrap}
.subhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:7px 0 15px}
.subhead h2{font-size:var(--text-subheading)}
.client-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.person-card{padding:19px;cursor:pointer}
.person-card:hover{border-color:var(--line)}
.person-top{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.person-top strong{font-size:var(--text-small);font-weight:600}
.person-top p{color:var(--muted);font-size:var(--text-micro);margin-top:2px}
.person-bottom{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-micro);color:var(--muted);gap:10px}
.mini-chart{width:85px;height:30px}
.section-gap{margin-top:26px}
.search{position:relative;max-width:340px;width:100%}
.search svg{position:absolute;left:12px;top:12px;color:var(--muted)}
.search input{padding-left:36px}
.field{width:100%;border:1px solid var(--line);background:var(--white);border-radius:var(--radius-chip);padding:11px 12px;color:var(--ink);min-width:0;font-size:var(--text-small)}
.field::placeholder{color:var(--muted)}
.field:focus{border-color:var(--muted)}
textarea.field{min-height:110px;resize:vertical;line-height:1.8}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.form-grid .span{grid-column:1/-1}
label.field-label{display:block;font-size:var(--text-caption);font-weight:500;margin-bottom:7px}
.help{font-size:var(--text-micro);color:var(--muted);line-height:1.7;margin-top:7px}
.table-scroll{overflow:auto}
table{border-collapse:collapse;width:100%;text-align:left}
th{color:var(--muted);font-size:var(--text-micro);text-transform:none;letter-spacing:.8px;font-weight:500;padding:13px 22px;background:var(--paper);border-bottom:1px solid var(--line)}
td{padding:17px 22px;border-bottom:1px solid var(--soft);font-size:var(--text-caption)}
tr:last-child td{border:0}
.table-person{display:flex;gap:11px;align-items:center}
.table-person strong{font-size:var(--text-small);display:block}
.table-person p{font-size:var(--text-micro);color:var(--muted)}
.table-person .avatar{width:33px;height:33px}
.click-row{cursor:pointer}
.click-row:hover td{background:var(--paper)}
.empty{text-align:center;padding:38px 22px;color:var(--muted)}
.empty svg{margin-bottom:14px}
.empty h3{color:var(--ink);margin-bottom:8px}
.empty p{font-size:var(--text-small);max-width:360px;margin:0 auto 16px}
.back-link{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:var(--text-caption);margin-bottom:20px}
.profile-title{display:flex;align-items:center;gap:15px}
.profile-title h1{font-size:var(--text-title-mobile)}
.profile-title p{margin-top:5px}
.tabs{display:flex;gap:23px;border-bottom:1px solid var(--line);margin-bottom:24px;overflow:auto;scrollbar-width:none}
.tab{border:0;background:none;color:var(--muted);padding:12px 0;font-size:var(--text-caption);white-space:nowrap;border-bottom:2px solid transparent}
.tab.active{color:var(--ink);font-weight:600;border-color:var(--ink)}
.detail-board{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:22px;align-items:start}
.detail-side .card-body{padding:20px}
.detail-side h3{font-size:var(--text-small)}
.detail-side .eyebrow{margin-bottom:12px}
.info-line{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--soft);font-size:var(--text-caption)}
.info-line:last-child{border:0}
.info-line span:first-child{color:var(--muted)}
.info-line span:last-child{font-weight:500;text-align:right}
.macro-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.macro-item{border:1px solid var(--line);border-radius:var(--radius-chip);padding:14px;background:var(--paper)}
.macro-item strong{font-size:var(--text-large);letter-spacing:-.7px;font-weight:600;display:block}
.macro-item small{font-size:var(--text-micro);color:var(--muted);font-weight:400;letter-spacing:0}
.macro-item p{font-size:var(--text-micro);color:var(--muted);margin-top:4px}
.note-box{border:1px solid var(--line);background:var(--paper);border-radius:var(--radius-chip);padding:13px 15px;font-size:var(--text-caption);line-height:1.8;color:var(--muted);margin:17px 0}
.note-box.warning{background:var(--paper);border-color:var(--line);color:var(--muted)}
.note-box p+p{margin-top:8px}
.textarea-transcript{min-height:250px!important}
.evidence{border-left:2px solid var(--line);padding:9px 14px;margin:13px 0;font-size:var(--text-caption);color:var(--muted);background:var(--paper)}
.evidence strong{display:block;font-size:var(--text-micro);color:var(--ink);margin-bottom:4px}
.question{display:flex;align-items:flex-start;gap:7px;font-size:var(--text-caption);color:var(--muted);padding:8px 0}
.day-picker{display:flex;gap:7px;padding:16px 24px;border-bottom:1px solid var(--line);overflow:auto}
.day-btn{flex:1;min-width:42px;border:1px solid var(--line);border-radius:var(--radius-chip);background:var(--white);padding:10px 4px;font-size:var(--text-caption);color:var(--muted)}
.day-btn.active{background:var(--ink);border-color:var(--ink);color:var(--white)}
.nutrition-summary{padding:19px 24px;background:var(--paper);display:grid;grid-template-columns:repeat(4,1fr);gap:15px;border-bottom:1px solid var(--line)}
.nutrition-summary strong{font-size:var(--text-section);letter-spacing:-.5px;font-weight:600;display:block}
.nutrition-summary span{font-size:var(--text-micro);color:var(--muted)}
.meal{padding:20px 24px;border-bottom:1px solid var(--line)}
.meal:last-child{border:0}
.meal-head{display:flex;align-items:center;gap:13px}
.meal-art{width:48px;height:48px;background:var(--soft);border:1px solid var(--line);border-radius:var(--radius-tile);display:grid;place-items:center;flex:none;color:var(--muted)}
.meal-title{flex:1;min-width:0}
.meal-title .eyebrow{font-size:var(--text-micro);letter-spacing:1.1px;margin-bottom:4px}
.meal-title h3{font-size:var(--text-small)}
.meal-title p{font-size:var(--text-micro);color:var(--muted);margin-top:4px}
.meal-actions{display:flex;gap:5px;align-items:center}
.meal-details{padding:17px 0 0 61px}
.meal-details p{font-size:var(--text-caption);color:var(--muted);line-height:1.8;margin:13px 0}
.ingredients{display:grid;gap:6px}
.ingredient{display:flex;justify-content:space-between;gap:15px;font-size:var(--text-caption);border-bottom:1px dashed var(--soft);padding:5px 0}
.ingredient small{color:var(--muted);font-size:var(--text-micro)}
.check-line{display:flex;align-items:center;gap:7px;font-size:var(--text-micro);color:var(--muted)}
.check-line.warn{color:var(--muted)}
.chart{width:100%;height:165px;margin:15px 0 0}
.chart-labels{display:flex;justify-content:space-between;font-size:var(--text-micro);color:var(--muted)}
.progress-list{display:grid;gap:11px}
.progress-list div{display:flex;justify-content:space-between;gap:12px;font-size:var(--text-caption)}
.progress-list span{color:var(--muted)}
.message-list{min-height:260px;max-height:480px;overflow:auto;display:flex;flex-direction:column;gap:14px;padding:24px}
.message{max-width:82%;padding:13px 16px;border-radius:var(--radius-tile);background:var(--soft);font-size:var(--text-small);line-height:1.8;align-self:flex-start;white-space:pre-wrap}
.message.client{align-self:flex-end;background:var(--ink);color:var(--white)}
.message .message-meta{display:block;font-size:var(--text-micro);opacity:.6;margin-top:7px}
.chat-form{display:flex;gap:8px;border-top:1px solid var(--line);padding:16px 24px}
.chat-form .field{resize:none;min-height:43px;max-height:100px}
.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.photo-grid img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius-chip);border:1px solid var(--line)}
.photo-upload{border:1px dashed var(--line);border-radius:var(--radius-chip);padding:25px;text-align:center;display:block;cursor:pointer;font-size:var(--text-caption);color:var(--muted)}
.photo-upload input{display:none}
.modal-backdrop{position:fixed;inset:0;background:var(--scrim);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:none}
.modal{background:var(--white);border-radius:var(--radius-card);width:100%;max-width:530px;max-height:90vh;overflow:auto;box-shadow:none}
.modal-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:23px 25px;border-bottom:1px solid var(--line)}
.modal-body{padding:24px 25px}
.modal-foot{display:flex;gap:9px;justify-content:flex-end;padding:17px 25px;border-top:1px solid var(--line)}
.modal .field{margin-bottom:10px}
.swap-option{display:flex;align-items:center;gap:13px;padding:15px 0;border-bottom:1px solid var(--line);width:100%;background:var(--white);text-align:left;border-top:0;border-right:0;border-left:0}
.swap-option:last-child{border:0}
.swap-option strong{font-size:var(--text-small);display:block}
.swap-option p{font-size:var(--text-micro);color:var(--muted);margin-top:4px}
#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(100px);background:var(--ink);color:var(--white);padding:12px 20px;border-radius:var(--radius-chip);font-size:var(--text-small);max-width:90vw;z-index:200;box-shadow:none;transition:transform .2s;pointer-events:none}
#toast.show{transform:translateX(-50%) translateY(0)}
#toast.error{background:var(--muted)}
.busy-line{display:flex;gap:9px;align-items:center;font-size:var(--text-caption);color:var(--muted);padding:12px 0}
.spinner{width:14px;height:14px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--muted);animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}
}
.mobile-nav{display:none}
.demo-bar{background:var(--soft);border-bottom:1px solid var(--line);text-align:center;padding:7px 15px;font-size:var(--text-micro);letter-spacing:.15px;color:var(--muted)}
.client-shell{min-height:100vh;background:var(--paper);padding-bottom:85px}
.client-header{max-width:1040px;margin:auto;padding:22px 30px;display:flex;align-items:center;justify-content:space-between;gap:15px}
.client-main{max-width:1040px;margin:auto;padding:14px 30px 30px}
.client-main h1{font-size:var(--text-title);letter-spacing:-1.3px}
.client-intro{margin-bottom:27px}
.client-intro p{font-size:var(--text-small);color:var(--muted);margin-top:8px}
.client-board{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px;align-items:start}
.client-hero{border-radius:var(--radius-card);background:var(--soft);border:1px solid var(--line);padding:23px 25px;margin-bottom:22px;display:flex;align-items:center;justify-content:space-between;gap:15px}
.client-hero .eyebrow{margin-bottom:8px}
.client-hero h2{font-size:var(--text-section);letter-spacing:-.6px}
.client-hero p{font-size:var(--text-caption);color:var(--muted);margin-top:6px}
.client-nav{position:fixed;bottom:0;left:0;right:0;background:var(--white);backdrop-filter:none;border-top:1px solid var(--line);padding:9px 20px max(9px,env(safe-area-inset-bottom));z-index:30}
.client-nav-inner{max-width:640px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr)}
.client-nav a{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--muted);font-size:var(--text-micro);padding:5px}
.client-nav a.active{color:var(--ink);font-weight:600}
.client-logged{border-color:var(--line);background:var(--soft)}
.client-logged svg{color:var(--muted)}
.client-goals{display:grid;grid-template-columns:repeat(2,1fr);gap:19px}
.client-goal .goal-number{font-size:var(--text-large);font-weight:600;letter-spacing:-.7px}
.client-goal p{font-size:var(--text-micro);color:var(--muted);margin:3px 0 8px}
progress{height:4px;border:0;width:100%;display:block;appearance:none;background:var(--soft);border-radius:var(--radius-card);overflow:hidden}
progress::-webkit-progress-bar{background:var(--soft)}
progress::-webkit-progress-value{background:var(--muted)}
progress::-moz-progress-bar{background:var(--muted)}
.recipe-note{padding:12px 24px;font-size:var(--text-micro);color:var(--muted);background:var(--paper);border-top:1px solid var(--line)}
.timer{font-variant-numeric:tabular-nums}
.checkbox-line{display:flex;gap:9px;align-items:flex-start;font-size:var(--text-caption);color:var(--muted);margin:13px 0}
.checkbox-line input{accent-color:var(--ink)}
.error-page{max-width:500px;margin:100px auto;padding:30px}
.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.inline-form{display:flex;gap:10px;align-items:flex-end}
.inline-form .grow{flex:1}
.client-section-title{display:flex;justify-content:space-between;align-items:center;margin:22px 0 13px}
.client-section-title h2{font-size:var(--text-subheading)}
.week-stats{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}
.text-link{font-size:var(--text-caption);text-decoration:underline;text-underline-offset:3px;color:var(--muted)}


@media(min-width:1500px){.main{padding-top:44px}
.stats{gap:20px}
.board{grid-template-columns:minmax(0,1fr) 320px}
.task-row{padding-top:21px;padding-bottom:21px}
}


@media(max-width:1150px){.sidebar{width:190px;padding-left:12px;padding-right:12px}
.shell{grid-template-columns:190px minmax(0,1fr)}
.topbar{padding:0 26px}
.main{padding:30px 26px}
.board{grid-template-columns:minmax(0,1fr) 260px;gap:16px}
.client-strip{grid-template-columns:repeat(2,1fr)}
.client-strip .person-card:last-child{display:none}
.stat{padding:16px}
.stats{gap:11px}
.detail-board{grid-template-columns:minmax(0,1fr) 250px;gap:16px}
.card-head,.card-body,.task-row{padding-left:19px;padding-right:19px}
.page-heading .actions .btn{font-size:var(--text-micro)}
}


@media(max-width:950px){.board,.detail-board{grid-template-columns:minmax(0,1fr)}
.board>.stack:last-child{grid-template-columns:1fr 1fr}
.detail-side{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.detail-side .card{margin:0!important}
.stats{grid-template-columns:repeat(2,1fr)}
.client-board{grid-template-columns:minmax(0,1fr) 260px}
.macro-grid{gap:8px}
.macro-item{padding:12px}
.top-actions .pill{display:none}
.page-heading{align-items:flex-start}
.page-heading .actions{justify-content:flex-end}
}


@media(max-width:700px){h1{font-size:var(--text-title-mobile)}
.shell{display:block}
.sidebar{display:none}
.workspace{display:block}
.topbar{height:58px;padding:0 20px}
.breadcrumb{font-size:var(--text-micro);gap:9px}
.top-actions{gap:8px}
.top-actions .avatar{width:29px;height:29px;font-size:var(--text-micro)}
.top-actions .btn{font-size:var(--text-micro);padding:7px 9px;min-height:30px}
.main{padding:26px 18px 95px}
.page-heading{margin-bottom:22px;gap:12px}
.page-heading .actions{gap:5px}
.page-heading .actions .btn{font-size:var(--text-micro);padding:8px 9px;min-height:34px}
.page-heading p{font-size:var(--text-caption)}
.stats{gap:10px;margin-bottom:21px}
.stat{padding:15px 16px;border-radius:var(--radius-tile)}
.stat-top{font-size:var(--text-micro)}
.stat-value{font-size:var(--text-title-mobile);margin:13px 0 9px}
.stat-foot{font-size:var(--text-micro)}
.board{gap:19px}
.board>.stack:last-child{grid-template-columns:1fr}
.board>.stack:last-child .card{display:none}
.card-head{padding:18px}
.card-head h2{font-size:var(--text-subheading)}
.card-head p{font-size:var(--text-micro)}
.card-body{padding:18px}
.task-row{padding:17px 18px;gap:10px}
.task-row .task-title{flex-wrap:wrap;gap:5px}
.task-row .task-copy strong{font-size:var(--text-caption)}
.task-row .task-copy p{font-size:var(--text-micro)}
.task-row .btn{font-size:var(--text-micro);padding:6px 8px;min-height:31px}
.task-row .avatar{width:31px;height:31px;font-size:var(--text-micro)}
.task-title .pill{font-size:var(--text-micro)}
.card-footer{font-size:var(--text-micro);padding:12px 18px}
.client-strip{gap:10px}
.person-card{padding:14px}
.person-top{gap:8px}
.person-top .avatar{width:30px;height:30px;font-size:var(--text-micro)}
.person-top strong{font-size:var(--text-micro)}
.person-top p{font-size:var(--text-micro)}
.person-bottom{font-size:var(--text-micro)}
.mini-chart{width:60px}
.insight{padding:18px}
.mobile-nav{display:grid;position:fixed;bottom:0;left:0;right:0;grid-template-columns:repeat(4,1fr);padding:10px 12px max(10px,env(safe-area-inset-bottom));background:var(--white);border-top:1px solid var(--line);z-index:30;backdrop-filter:none}
.mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:var(--text-micro);color:var(--muted)}
.mobile-nav a.active{color:var(--ink);font-weight:600}
.profile-title{gap:11px}
.profile-title h1{font-size:var(--text-title-mobile)}
.profile-title .avatar{width:45px;height:45px;font-size:var(--text-body)}
.profile-title p{font-size:var(--text-micro)}
.detail-side{display:none}
.tabs{gap:21px;margin-bottom:18px}
.tab{font-size:var(--text-micro)}
.form-grid{gap:14px}
.macro-grid{grid-template-columns:repeat(2,1fr)}
.macro-item strong{font-size:var(--text-metric-small)}
.meal{padding:17px 18px}
.meal-art{width:40px;height:40px;border-radius:var(--radius-chip)}
.meal-head{gap:10px}
.meal-title h3{font-size:var(--text-caption)}
.meal-title p{font-size:var(--text-micro)}
.meal-actions{gap:2px}
.meal-actions .btn{font-size:var(--text-micro);min-height:30px;padding:5px 8px}
.meal-actions .btn.icon{width:28px;padding:4px}
.meal-details{padding-left:0;padding-top:16px}
.nutrition-summary{padding:16px 18px;gap:7px}
.nutrition-summary strong{font-size:var(--text-subheading)}
.nutrition-summary span{font-size:var(--text-micro)}
.day-picker{padding:13px 18px;gap:6px}
.day-btn{padding:9px 3px;min-width:35px;font-size:var(--text-micro)}
.photo-grid{grid-template-columns:repeat(2,1fr)}
.client-header{padding:18px 20px}
.client-main{padding:12px 18px 25px}
.client-main h1{font-size:var(--text-title-mobile)}
.client-board{grid-template-columns:1fr}
.client-board>.stack:last-child{order:-1}
.client-board>.stack:last-child .card+.card{display:none}
.client-board .client-goals{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.client-goal .goal-number{font-size:var(--text-large)}
.client-goal p{font-size:var(--text-micro)}
.client-hero{padding:19px;margin-bottom:19px}
.client-hero h2{font-size:var(--text-subheading)}
.client-hero p{font-size:var(--text-micro)}
.client-hero .btn{font-size:var(--text-micro);padding:8px 11px;white-space:nowrap}
.client-intro{margin-bottom:20px}
.client-section-title{margin-top:17px}
.client-header .pill{font-size:var(--text-micro)}
.message-list{padding:18px;min-height:300px;max-height:55vh}
.message{font-size:var(--text-caption);max-width:90%;padding:12px 14px}
.chat-form{padding:13px 18px}
.modal-backdrop{align-items:flex-end;padding:0}
.modal{border-radius:var(--radius-panel) var(--radius-panel) 0 0;max-height:90dvh}
.modal-head,.modal-body{padding:20px}
.modal-foot{padding:15px 20px max(20px,env(safe-area-inset-bottom))}
.demo-bar{font-size:var(--text-micro);padding:6px 10px}
.chart{height:150px}
.table-scroll th,.table-scroll td{padding-left:16px;padding-right:16px}
.table-scroll{scrollbar-width:thin}
.page-heading .search{max-width:150px}
.page-heading .search input{font-size:var(--text-micro)}
.mobile-hide{display:none}
.help{font-size:var(--text-micro)}
.note-box{font-size:var(--text-micro)}
.client-nav a{padding-top:4px}
.client-nav{padding-bottom:max(11px,env(safe-area-inset-bottom))}
}


@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}
}



@media(max-width:700px){.page-heading{flex-wrap:wrap}
.field{font-size:var(--text-subheading)}
.field-label{font-size:var(--text-small)!important}
.help{font-size:var(--text-caption)}
.note-box{font-size:var(--text-small)}
.client-intro p{font-size:var(--text-body)}
.client-shell .meal-head{flex-wrap:wrap;align-items:flex-start}
.client-shell .meal-title{min-width:180px}
.client-shell .meal-title h3{font-size:var(--text-body)}
.client-shell .meal-title p{font-size:var(--text-caption)}
.client-shell .meal-title .eyebrow{font-size:var(--text-micro)}
.client-shell .meal-actions{width:100%;padding-left:50px;justify-content:flex-start;gap:8px;margin-top:8px}
.client-shell .meal-actions .btn{min-height:38px;font-size:var(--text-caption);padding:8px 12px}
.client-shell .meal-actions .btn.icon{width:38px;padding:8px}
.client-shell .meal-details p{font-size:var(--text-body)}
.ingredient{font-size:var(--text-small)}
.ingredient small{font-size:var(--text-micro)}
.message{font-size:var(--text-body)}
.client-hero h2{font-size:var(--text-section)}
.client-hero p{font-size:var(--text-caption)}
.client-hero .btn{min-height:40px}
.task-row .task-copy strong{font-size:var(--text-small)}
.task-row .task-copy p{font-size:var(--text-caption)}
.task-row .btn{min-height:38px}
.table-scroll th,.table-scroll td{padding-left:10px;padding-right:10px}
.table-scroll th:nth-child(3),.table-scroll th:nth-child(4),.table-scroll th:nth-child(5),.table-scroll td:nth-child(3),.table-scroll td:nth-child(4),.table-scroll td:nth-child(5){display:none}
.table-person strong{font-size:var(--text-small)}
.table-person p{font-size:var(--text-micro);max-width:155px;white-space:normal}
.search input{font-size:var(--text-subheading)!important}
.empty p{font-size:var(--text-body)}
.photo-upload{font-size:var(--text-body);min-height:110px}
.client-nav a{font-size:var(--text-micro);min-height:48px}
.mobile-nav a{min-height:44px}
}



@media(max-width:700px){.client-intro h1.section-gap{margin-top:12px}
.client-hero{padding:16px 18px;min-height:83px;gap:12px}
.client-hero .eyebrow,.client-hero p{display:none}
.client-hero h2{font-size:var(--text-body);line-height:1.5}
.client-board>aside.stack .insight{display:none}
.client-board>aside .card-head{padding:13px 18px}
.client-board>aside .card-body{padding:15px 18px}
.client-board>aside .card-body>.help{display:none}
.client-board .client-goal p{font-size:var(--text-micro)}
.client-board .client-goal .goal-number{font-size:var(--text-section)}
.client-shell .nutrition-summary strong{font-size:var(--text-subheading)}
.client-shell .nutrition-summary span{font-size:var(--text-micro)}
}


button,a{scroll-margin-bottom:100px;scroll-margin-top:80px}
.photo-grid figure{margin:0}

