.client-shell{max-width:640px;padding:max(24px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) calc(144px + env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));margin:0 auto}.client-brand-bar{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.client-brand{gap:var(--space-1);color:var(--ink);font-size:var(--text-sm);letter-spacing:.12em;font-weight:800;text-decoration:none;display:grid}.client-brand span{color:var(--muted);font-size:var(--text-xs);letter-spacing:0;font-weight:400}.client-avatar{border:1px solid var(--line);background:var(--surface);width:48px;height:48px;color:var(--ink);border-radius:50%;flex:0 0 48px;place-items:center;font-weight:650;text-decoration:none;display:grid}.client-preview-note{margin:var(--space-5) 0 0;padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-control);color:var(--muted);font-size:var(--text-xs)}.client-main{gap:var(--space-5);padding-top:var(--space-8);display:grid}.client-page-heading{margin-bottom:var(--space-1)}.client-eyebrow{color:var(--muted);font-size:var(--text-xs);letter-spacing:.1em;margin:0;font-weight:650}.client-page-heading h1{margin:var(--space-2) 0;letter-spacing:-.045em;font-size:clamp(1.875rem,7vw,2.5rem);font-weight:650;line-height:1.15}.client-page-heading>p:last-child{margin-bottom:0}.client-muted{color:var(--muted);font-size:var(--text-sm)}.client-card-top{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.client-balance-card{padding:var(--space-6)}.client-balance-card>h2{margin:var(--space-4) 0 0;font-size:var(--text-lg);font-weight:600}.client-balance{align-items:center;gap:var(--space-5);margin:var(--space-5) 0 var(--space-6);display:flex}.client-balance strong{letter-spacing:-.07em;font-variant-numeric:tabular-nums;font-size:clamp(4.5rem,18vw,6rem);font-weight:600;line-height:1}.client-balance>span{color:var(--muted);font-size:var(--text-lg);line-height:1.4}.client-pack-progress{gap:var(--space-2);display:grid}.client-pack-progress progress{appearance:none;border-radius:var(--radius-pill);background:var(--surface-muted);border:0;width:100%;height:7px;display:block;overflow:hidden}.client-pack-progress progress::-webkit-progress-bar{background:var(--surface-muted);border-radius:var(--radius-pill)}.client-pack-progress progress::-webkit-progress-value{background:var(--ink);border-radius:var(--radius-pill)}.client-pack-progress progress::-moz-progress-bar{background:var(--ink);border-radius:var(--radius-pill)}.client-pack-progress>span{color:var(--muted);font-size:var(--text-xs)}.client-card-bottom{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--line);font-size:var(--text-xs);flex-wrap:wrap;display:flex}.client-card-bottom>span{color:var(--muted)}.client-card-bottom a,.client-section-heading a{min-height:44px;color:var(--ink);text-underline-offset:4px;align-items:center;font-weight:650;display:inline-flex}.client-section{min-width:0;scroll-margin-top:var(--space-6)}.client-section-heading{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.client-section-heading h2,.client-coach-card h2{font-size:var(--text-base);letter-spacing:-.02em;margin:0;font-weight:650}.client-section-heading a{font-size:var(--text-xs);flex-shrink:0}.client-appointment-link{border-radius:var(--radius-card);color:var(--ink);text-decoration:none;display:block}.client-appointment-card{align-items:center;gap:var(--space-4);padding:var(--space-5);display:flex}.client-appointment-card>div{flex:1;min-width:0}.client-appointment-card h3{margin:0 0 var(--space-1);font-size:var(--text-sm);font-weight:650}.client-appointment-card p{color:var(--muted);font-size:var(--text-xs);margin:0}.client-appointment-card>svg{flex-shrink:0;width:18px;height:18px}.client-calendar-icon,.client-empty-icon{background:var(--surface-muted);border-radius:var(--radius-control);flex:0 0 44px;place-items:center;width:44px;height:48px;display:grid}.client-calendar-icon svg,.client-empty-icon svg{width:22px;height:22px}.client-caption{margin:var(--space-3) 0 0;color:var(--muted);font-size:var(--text-xs);line-height:1.65}.client-session-history{margin:0;padding:0;list-style:none}.client-session-history li{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--line);font-size:var(--text-sm);display:flex}.client-session-history li:first-child{padding-top:0}.client-session-history li:last-child{border-bottom:0;padding-bottom:0}.client-session-history li>span{background:var(--success-surface);width:28px;height:28px;color:var(--success);border-radius:50%;place-items:center;display:grid}.client-coach-card{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.client-coach-card h2{margin-top:var(--space-2)}.client-coach-card p:not(.client-eyebrow){margin:var(--space-2) 0 0;color:var(--muted);font-size:var(--text-xs)}.client-action{text-align:center;text-decoration:none}.client-full-width{width:100%}.client-back{padding-inline:var(--space-3);font-size:var(--text-sm);justify-self:start;margin:-12px 0 -8px -12px}.client-stack{gap:var(--space-3);display:grid}.client-policy{padding:var(--space-5);background:var(--surface-muted)}.client-policy h2{margin:0 0 var(--space-2);font-size:var(--text-sm);font-weight:650}.client-policy p{color:var(--muted);font-size:var(--text-sm);margin:0;line-height:1.65}.client-policy p+p{margin-top:var(--space-3)}.client-empty{text-align:center}.client-empty-icon{margin:0 auto var(--space-4)}.client-empty h3{font-size:var(--text-base);margin:0}.client-empty p{color:var(--muted);font-size:var(--text-sm);margin-bottom:0}.client-detail-date{font-size:var(--text-lg);margin:0;font-weight:650}.client-detail-time{margin:var(--space-5) 0 0;letter-spacing:-.03em;font-size:1.75rem;font-weight:600;line-height:1.3}.client-details{gap:var(--space-4);margin:var(--space-6) 0 0;padding-top:var(--space-5);border-top:1px solid var(--line);display:grid}.client-details>div{gap:var(--space-3);font-size:var(--text-sm);grid-template-columns:minmax(70px,1fr) minmax(0,2fr);display:grid}.client-details dt{color:var(--muted)}.client-details dd{overflow-wrap:anywhere;margin:0}.client-feedback{padding:var(--space-5);border:1px solid var(--success);border-radius:var(--radius-control);background:var(--success-surface);color:var(--success);font-size:var(--text-sm)}.client-feedback p{margin:var(--space-2) 0 0}.client-dialog-actions{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.client-payment-card{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.client-payment-card h2{margin:var(--space-2) 0;font-size:var(--text-xl);font-weight:650}.client-payment-card p:not(.client-eyebrow){color:var(--muted);font-size:var(--text-xs);margin:0}.client-small-title{margin:0 0 var(--space-4);font-size:var(--text-base);font-weight:650}.client-card-top .client-small-title{margin:0}.client-profile-heading{align-items:center;gap:var(--space-4);display:flex}.client-profile-heading h2{font-size:var(--text-lg);margin:0;font-weight:650}.client-profile-heading p{margin:var(--space-1) 0 0}.client-invoice-amount{margin:var(--space-5) 0 var(--space-2);font-size:1.75rem;font-weight:600}.client-invoice-button{margin-top:var(--space-5)}.client-skip-link{z-index:20;border:1px solid var(--ink);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);padding:12px 20px;position:absolute;top:-120px;left:20px}.client-skip-link:focus{top:12px}@media (hover:hover){.client-appointment-link:hover .ui-card{border-color:var(--border-control)}}@media (max-width:360px){.client-shell{padding-inline:max(16px, env(safe-area-inset-left)) max(16px, env(safe-area-inset-right))}.client-appointment-card{gap:var(--space-3);padding:var(--space-4)}.client-balance-card{padding:var(--space-5)}.client-dialog-actions .ui-button{width:100%}}
