/* The approved SYD / American Riviera system, shared by both workspaces. */
:root{--ink:#321b10;--nav:#321b10;--muted:#716b60;--line:#b6ab97;--paper:#f6f1e5;--accent:#b95729;--teal:#975027;--sage:#e5e4d3;--radius:3px;--bottom-nav:calc(76px + env(safe-area-inset-bottom,0px))}
body{background:var(--paper);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;font-size:16px;line-height:1.55}
h1,h2,h3{color:var(--ink);font-family:Manrope,'DM Sans',system-ui,sans-serif}h1{font-weight:700;letter-spacing:-.045em}h2{font-weight:650}p{overflow-wrap:anywhere}
button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}
.sidebar{background:var(--paper);border-right:1px solid var(--line);color:var(--ink)}
.sidebar .brand,.sidebar .nav-link,.sidebar .side-label,.sidebar .brand-small,.side-bottom small{color:var(--ink)}
.brand-mark{background:var(--ink);color:var(--paper);border-radius:2px}.sidebar .nav-link{border-radius:2px}.sidebar .nav-link.active{background:#ebe3d2;color:#8c3e1d;box-shadow:inset 3px 0 var(--accent)}.sidebar .nav-link:hover:not(.active){background:#eee6d7;color:var(--ink)}
.side-bottom{border-color:var(--line)}.avatar.owner{background:#7b7e63;color:var(--paper)}
.demo,.topbar{background:var(--paper);color:var(--muted);border-color:var(--line)}.demo{font-size:.8125rem}.topbar{padding-top:14px;padding-bottom:14px}.text-button{color:var(--ink)}
main{max-width:1320px;padding:24px 40px 44px}.riviera-masthead{height:190px;position:relative;margin:0 0 28px;border-bottom:1px solid var(--line);background:url('/studio-hero.webp') right center/cover no-repeat;isolation:isolate}
.riviera-wordmark{position:absolute;left:0;top:24%;font-size:clamp(1rem,2.1vw,1.7rem);font-weight:600;letter-spacing:.2em;line-height:1.5;color:var(--ink);padding:4px 12px 4px 0}.riviera-wordmark small{display:block;letter-spacing:.28em;font-size:.625em;text-align:center;margin-top:5px}
.page-head,.home-welcome{min-height:0;padding:0 0 24px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;box-shadow:none;margin-bottom:24px;overflow:visible;isolation:auto}.page-head::after,.home-welcome::after{display:none}.page-head>div{max-width:100%}.page-head h1{font-size:clamp(1.8rem,3.6vw,2.8rem);line-height:1.16;margin:0 0 10px}.page-head p{color:var(--muted);font-size:1rem}.page-head .eyebrow{margin-bottom:8px}
.eyebrow{font-size:.8125rem;letter-spacing:.17em;color:var(--ink);font-weight:600}.help,.small,.muted{color:var(--muted);font-size:.875rem}.field-hint{font-size:.75rem;color:var(--muted)}
.button{border:1px solid #8e8372;border-radius:2px;background:transparent;color:var(--ink);min-height:44px;white-space:normal;font-size:.9375rem;padding:11px 17px;font-weight:500;line-height:1.4;text-align:center}.button:hover{background:#eae2d1}.button.dark,.button.lime{background:var(--accent);border-color:var(--accent);color:#fffaf0}.button.dark:hover,.button.lime:hover{background:#99431f;border-color:#99431f}.button.small{min-height:44px;font-size:.875rem}.button.danger{color:#9b3325;border-color:#b68d7c}.button:disabled{opacity:.55}.button svg{width:20px;height:20px;flex-shrink:0}
.button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #93572c;outline-offset:3px}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea,.input{border-color:#a99b87;border-radius:2px;background:#fbf7ee;color:var(--ink);font-size:1rem;min-height:44px;max-width:100%}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}
.panel,.client-card,.stat,.focus{background:transparent;border-radius:0;box-shadow:none;border-color:var(--line)}.panel{border-width:0;overflow:visible}.panel-head{background:transparent;border-color:var(--line);padding:20px 0}.panel-body{padding:24px 0}.panel>.panel-body:first-child{padding-top:0}.panel-head h2{font-size:1.15rem}.panel+.panel,.panel+.template-settings{margin-top:24px}.grid,.day-layout{gap:32px}
.focus{padding:22px;background:#ede7d9}.focus h2,.focus p{color:var(--ink)}.next-session{background:#e9e8d9;border-color:var(--line)}.stat{padding:20px 24px;border:0;border-bottom:1px solid var(--line)}.stats{gap:0}.stat+.stat{border-left:1px solid var(--line)}.stat.accent{background:#e9e5d6;color:var(--ink)}.stat.accent .stat-label,.stat.accent .stat-note{color:var(--muted)}.stat.accent .stat-value{color:#9e4521}.stat-value{font-size:2rem}.stat-label{font-size:.875rem}
.riviera-section{border-bottom:1px solid #9e907c;padding:24px 0}.riviera-section>.eyebrow{margin:0 0 20px}.riviera-section-grid{display:grid;grid-template-columns:130px minmax(0,1fr) minmax(145px,205px);gap:24px;align-items:center;padding:8px 0}.riviera-section-grid+.riviera-section-grid{border-top:1px solid #d3c8b7;margin-top:18px;padding-top:20px}.riviera-section-grid h3{font-size:1.2rem;margin:0 0 6px}.riviera-section-grid p{margin:5px 0}.riviera-actions{display:grid;gap:10px}.riviera-art{display:block;width:130px;height:130px;background-image:url('/section-icons.webp');background-repeat:no-repeat;background-size:300% 100%;mix-blend-mode:multiply;flex-shrink:0}.art-calendar{background-position:0 0}.art-movement{background-position:50% 0}.art-records{background-position:100% 0}.riviera-upcoming{margin:20px 0 0 154px}.riviera-upcoming summary{font-size:.875rem}.riviera-upcoming .riviera-appointment{padding:16px 0;border-bottom:1px solid var(--line)}.riviera-appointment p{margin:5px 0}.riviera-section .hub-plan-summary{font-size:.875rem;color:var(--muted)}
.client-grid{display:block}.riviera-client{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:24px;align-items:center;padding:26px 0;border:0;border-bottom:1px solid var(--line)}.riviera-client:hover{transform:none;box-shadow:none}.riviera-client .avatar{width:64px;height:64px;font-size:1.3rem;background:#7b7e63;color:#fffaf0}.riviera-client h2{margin:0 0 5px;font-size:1.2rem}.riviera-client p{margin:0 0 8px;font-size:.875rem}.riviera-client .meta{border:0;margin:8px 0 0;padding:0;justify-content:flex-start;gap:18px;flex-wrap:wrap;font-size:.875rem}.riviera-client>.button{width:auto;min-width:130px}.toolbar{flex-wrap:wrap}.toolbar .input{flex:1 1 220px}.client-card .badge{font-size:.8125rem}
.avatar{background:#dedfcc;color:#4e533c}.badge{background:#e8e2d5;color:#625c50;border-radius:3px;white-space:normal}.badge.completed,.badge.paid{background:#e2e5d2;color:#48513b}.badge.scheduled{background:#e4e1cb;color:#5e6142}.badge.requested,.badge.partial{background:#f0dfca;color:#8a4728}
.profile-banner{background:transparent;color:var(--ink);padding:24px 0;border-radius:0;border-bottom:1px solid var(--line)}.profile-banner p,.profile-banner small{color:var(--muted)}.profile-banner .avatar{background:#7b7e63;color:var(--paper);width:76px;height:76px}.profile-contact{background:transparent;padding:20px 0;border-bottom:1px solid var(--line)}.profile-banner .rate{color:var(--ink)}.tabs{background:transparent;padding:16px 0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.tab{border:1px solid var(--line);border-radius:2px;padding:12px 8px;min-height:44px;color:var(--ink);font-size:.875rem}.tab.active{background:#777b60;color:#fffaf0;border-color:#777b60}
.personal-sections{gap:10px}.personal-section{background:transparent;border:1px solid #978a76;border-radius:2px;min-height:58px;color:var(--ink);font-size:.875rem}.personal-section.selected{background:var(--accent);border-color:var(--accent);color:#fffaf0;box-shadow:none}.personal-section:hover:not(.selected){background:#ece4d5}.personal-section .section-icon{display:none}.profile-details>div{border-color:var(--line)}.profile-details dt{font-size:.875rem;color:var(--muted)}.profile-details dd{margin:6px 0 0;color:var(--ink)}
.section-icon{background:#e8e3d4;color:var(--ink);border-radius:2px;width:36px;height:36px}.contact-sean{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:0 0 24px;margin-bottom:24px}.contact-monogram{background:#dfe0ce;color:#555b43;border-radius:50%}.contact-actions .button{min-width:145px}.message{background:#eee8db;border:0;border-radius:3px;padding:18px}.message.self{background:#e5e6d6;border-radius:3px}.message small{color:var(--muted)}
.workout-choice,.plan-card,.workout-picker .button{border-radius:2px}.workout-choice{background:transparent;border-color:var(--line);color:var(--ink)}.workout-choice.selected{background:#e6e3d1;border-color:#7e7b5e}.plan-filters,.plan-options-menu{background:#eee8dc;border-radius:2px;border-color:var(--line)}.exercise{border-color:var(--line);padding:24px 0}.exercise-num{background:transparent;color:var(--muted);border-radius:0;font-size:1.1rem}.exercise h3{font-size:1.1rem}.exercise p{font-size:.9375rem}.exercise .row{flex-wrap:wrap}.exercise-video,.exercise-demonstrations img{border-radius:2px}.personal-cue,.last-practice{background:#eee8db;border-color:var(--line);border-radius:2px}.session-brief{background:transparent;border-color:var(--line);border-radius:0}.session-save{background:var(--paper);border:1px solid var(--line);border-radius:2px}.session-exercise{border-color:var(--line);background:transparent}
.note{background:#eee8db;border-left:2px solid #8a8c68}.note small{color:var(--muted)}.empty{background:transparent;border-radius:0;color:var(--muted)}.notice,.onboarding-progress{background:#eee9d8;border-color:#b9ad91;border-radius:2px;color:#5b523d}.onboarding-steps li{background:#eee7d8;border-radius:2px}.onboarding-steps .step-complete{background:#e2e4d0}
.form-card,.statement-line,.session,.exercise,.record-history{border-color:var(--line)}.session{padding:22px 0}.session-person p{font-size:.875rem}.session-time small{font-size:.8125rem}.session:last-child{border-bottom:1px solid var(--line)}.form-card{padding:20px 0}.billing-summary{background:#eae5d6;color:var(--ink)}th{background:#eee8db;color:var(--muted)}td{border-color:var(--line)}th,td{padding:16px;font-size:.875rem}.table-wrap{max-width:100%;overscroll-behavior-x:contain}
.calendar,.calendar-seven,.day-col{background:transparent;border-color:var(--line);border-radius:0}.day-col.current{background:#eee9db}.day-col.current .day-head strong{color:#984520}.day-head{border-color:var(--line)}.cal-session{background:#e7e5d5;border-color:#c0b99e;border-left-color:#7e8060;border-radius:2px;color:var(--ink)}.cal-session.completed{background:#e6e8d9;border-color:#a5ac8e}.day-add{border-color:#a69a85;border-radius:2px}.block-item{background:#e5ded1;color:var(--ink)}
dialog{background:var(--paper);border:1px solid #a3957f;border-radius:5px;box-shadow:0 20px 70px #321b1028}dialog::backdrop{background:#30251dcc;backdrop-filter:blur(2px)}.dialog-head{border-color:var(--line)}.dialog-head h2{color:var(--ink)}.close{background:#e8e0d0;color:var(--ink);width:40px;height:40px}.waiver-section{background:#fbf7ee;border-radius:2px;border-color:var(--line)}.waiver-section[open] summary{background:#ebe5d6}.intake-field input[readonly]{background:#ebe5d6}.home-support{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0}.more-menu .button{justify-content:flex-start}summary{min-height:44px;cursor:pointer;padding-block:10px}footer{color:var(--muted);border-color:var(--line)}#toast{background:var(--ink);color:var(--paper);border-radius:3px}
.entry-page{background:var(--paper);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif}.entry-page main,.entry-page .join{background:var(--paper);border-color:var(--line);border-radius:3px;box-shadow:0 12px 40px #321b1012}.entry-page main::before{background:var(--paper) url('/studio-hero.webp') right center/cover no-repeat;height:130px}.entry-page h1{color:var(--ink)}.entry-page input,.entry-page textarea{border-radius:2px;background:#fbf7ee;border-color:#a99b87}.entry-page #status{background:#eee8db}.entry-page button,.entry-page .button{border-radius:2px}.entry-page button[type=submit]{background:var(--accent);color:#fffaf0}.entry-page .coach-entry{margin-top:34px;padding-top:18px;border-top:1px solid var(--line);text-align:center}.entry-page .coach-entry a{color:var(--muted);font-size:.8125rem}.side-account{min-width:0}.side-account #coach-signout{display:inline-block;margin-top:7px;color:#a2b6bf;font-size:.75rem;text-decoration:underline;text-underline-offset:3px}.side-account #coach-signout:hover{color:#fff}
.client-account-bar{display:flex;justify-content:flex-end;padding:12px 0}.client-account-control{min-height:44px;background:var(--paper);font-size:.875rem}
@media(min-width:761px){.riviera-masthead{background-size:auto 100%;background-position:right bottom}}
@media(min-width:1100px){body[data-mode=client] main{max-width:1160px}.riviera-masthead{height:220px}}
@media(max-width:1000px){.tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.riviera-section-grid{grid-template-columns:95px minmax(0,1fr) 150px;gap:18px}.riviera-art{width:95px;height:95px}.riviera-upcoming{margin-left:113px}.day-layout{grid-template-columns:1fr}.day-side{grid-template-columns:1fr 1fr}}
@media(max-width:760px){
 main{padding:0 20px 30px}.riviera-masthead{height:160px;margin:0 -20px 25px;background-position:65% center}.riviera-wordmark{left:20px;top:20%;font-size:1rem;background:#f6f1e5c9;padding:5px 8px 5px 0}.page-head h1{font-size:clamp(1.8rem,6.5vw,2.5rem)}.page-head{padding-bottom:22px}.page-head p{font-size:.9375rem}.home-welcome{min-height:0}.home-welcome h1{font-size:clamp(1.7rem,6.2vw,2.4rem)}
 .sidebar{background:var(--paper);border-top:1px solid var(--line);border-right:0}.sidebar .nav-link{color:var(--ink);border-radius:0;min-width:0;padding:10px 3px}.sidebar .nav-link.active{background:transparent;color:#a24822;box-shadow:inset 0 -3px var(--accent)}.sidebar .nav-link:hover:not(.active){background:#ebe4d6}.sidebar .nav-link span{font-size:.75rem}.sidebar .nav-link svg{width:23px;height:23px}
 body[data-mode=client]{--bottom-nav:calc(4.75rem + env(safe-area-inset-bottom,0px))}body[data-mode=client] .sidebar nav{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:1fr;height:4.75rem;gap:0}body[data-mode=client] .sidebar .nav-link{display:flex;min-height:44px;padding:8px 2px;gap:6px;justify-content:center}body[data-mode=client] .sidebar .nav-link span{font-size:clamp(.75rem,3.3vw,.875rem);line-height:1.2;white-space:nowrap;overflow-wrap:normal}body[data-mode=client] .sidebar .nav-link svg{width:22px;height:22px;flex-shrink:0}body[data-mode=client] .sidebar .nav-more{display:flex}
 .topbar{padding:10px 20px}.demo{padding:6px 20px;gap:6px}.demo .text-button{font-size:.8125rem}.demo #save-state{font-size:.75rem}.top-actions>.small{display:none}.crumb{font-size:.8125rem}.topbar .button{font-size:.8125rem!important}.topbar{gap:8px}
 .riviera-section{padding:24px 0}.riviera-section>.eyebrow{font-size:.8125rem;margin-bottom:16px}.riviera-section-grid{grid-template-columns:76px minmax(0,1fr);gap:12px 18px}.riviera-art{width:76px;height:76px}.riviera-section-grid h3{font-size:1.05rem}.riviera-section-grid p{font-size:.9375rem}.riviera-actions{grid-column:2;display:flex;flex-wrap:wrap;gap:8px}.riviera-actions>.button{flex:1 1 120px;font-size:.875rem;padding:10px}.riviera-upcoming{margin-left:0}.riviera-section-grid+.riviera-section-grid{padding-top:20px}.riviera-client{grid-template-columns:52px minmax(0,1fr);gap:12px 16px;padding:24px 0}.riviera-client .avatar{width:52px;height:52px;font-size:1rem}.riviera-client h2{font-size:1.125rem}.riviera-client>.button{grid-column:2;justify-self:start;min-width:150px}.riviera-client .meta{gap:12px}
 .toolbar{gap:10px}.toolbar>.button{flex:1 1 140px}.toolbar>.input{order:-1;flex-basis:100%;max-width:none}.panel-head,.panel-body{padding:20px 0}.session{padding:20px 0}.day-side{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.stat{padding:18px 0}.stat+.stat{border-left:0}.stat.accent{padding:18px}.profile-banner{padding:18px 0;gap:14px}.profile-banner .avatar{width:64px;height:64px}.profile-banner h1{font-size:1.5rem}.profile-banner .rate{text-align:left}.profile-contact{padding:18px 0;gap:14px}.profile-contact .row{flex-wrap:wrap}.profile-contact .button{flex:1 1 100px}.tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:16px 0}.tab{font-size:.8125rem;padding:10px 5px}.personal-sections{gap:6px}.personal-section{min-height:60px;padding:9px 6px;font-size:.8125rem}.contact-sean{padding:0 0 24px}.contact-actions>.button{flex:1}.section-heading>.button{width:auto}.form-card>.button{width:auto}.form-card>.row{flex-wrap:wrap}.profile-details{grid-template-columns:1fr}.profile-details>div{display:grid;grid-template-columns:1fr 1.25fr;gap:16px}.profile-details dd{margin:0;overflow-wrap:anywhere}.plan-filters{padding:14px}.exercise{align-items:flex-start;gap:10px}.exercise .row .button{flex:1 1 140px}.exercise-num{width:25px;min-width:25px}.table-wrap{border-bottom:1px solid var(--line)}th,td{padding:12px}.statement-line{flex-wrap:wrap;gap:8px}.session-save{bottom:calc(var(--bottom-nav) + 4px)}.entry-page main::before{height:110px}.entry-page main{padding-top:30px}
}
@media(max-width:360px){main{padding-inline:14px}.riviera-masthead{margin-inline:-14px}.riviera-section-grid{grid-template-columns:60px minmax(0,1fr);gap:12px}.riviera-art{width:60px;height:60px}.sidebar .nav-link span{font-size:.75rem}.personal-sections{grid-template-columns:1fr}.personal-section{min-height:44px}.riviera-client .meta{display:block}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.session-actions .button,.contact-actions .button,.workout-actions .button{border-radius:2px}

/* Two direct home actions retain the artwork and quiet section dividers. */
body[data-mode=client] .sidebar .nav-more{display:flex}
.riviera-home-shortcut .riviera-section-grid{grid-template-columns:auto minmax(0,1fr);align-items:center}
.riviera-home-shortcut .button{justify-self:start;min-width:min(100%,210px);max-width:100%}
@media(max-width:760px){.riviera-home-shortcut .button{justify-self:stretch;width:100%;min-width:0}.riviera-home-shortcut{padding:20px 0}}
