/* Warm coastal shapes, quiet surfaces, and the same practical controls. */
:root{--ink:#263e35;--nav:#203c33;--muted:#5e6c61;--line:#dcdccd;--paper:#f5f1e8;--accent:#e5cc92;--teal:#38684f;--radius:18px}
body{background:radial-gradient(ellipse at 100% 0,#e5eadc 0,transparent 44%),var(--paper)}
.sidebar{background:linear-gradient(165deg,#29493d,#192f2a)}
.sidebar .side-label,.sidebar .brand-small,.side-bottom small{color:#bdcdbb}
.sidebar .nav-link{color:#d2ddce}.sidebar .nav-link.active{color:#203c33}.sidebar .nav-link:hover:not(.active){background:#365346}
.demo{background:#e6eadb;color:#3d503b}.topbar{background:#fbf8f0d9}.brand-mark{border-radius:14px 14px 14px 4px}
.page-head{position:relative;isolation:isolate;overflow:hidden;min-height:148px;padding:26px 30px;border:1px solid #d6deca;border-radius:22px;background:#e8eddf;box-shadow:0 5px 18px #34452c06;align-items:center}
.page-head::after{content:'';position:absolute;z-index:-1;inset:0 0 0 48%;background:url('/movement-landscape.svg') right center/auto 100% no-repeat;opacity:.62;pointer-events:none}
.page-head>div{max-width:70%}.page-head h1{font-size:2.1rem}.page-head p{color:#405847;max-width:52ch}
.home-welcome{min-height:204px;background:#e9eddb}.home-welcome::after{inset:0 0 0 43%;opacity:.95}
.home-welcome .welcome-name{font-size:1.2rem;font-weight:600;margin-top:10px}.home-welcome .welcome-note{font-size:.92rem;margin-top:6px;color:#566a54;max-width:35ch}
.panel,.client-card,.stat{background:#fffdf7;box-shadow:0 5px 18px #4c513308;border-color:var(--line)}
.panel-head{background:#f4f3e8;border-color:var(--line)}
.client-hub>.panel:nth-child(2) .panel-head{background:#edf0e4}.client-hub>.panel:first-child .panel-head{background:#f1e8d8}
.section-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:42px;height:42px;border-radius:14px;background:#e4e8d8;color:#41614d}
.section-icon svg{width:22px;height:22px}.client-hub>.panel:first-child .section-icon{background:#e8d8bc;color:#70543c}
.client-hub .panel-head h2{font-size:1.12rem}.client-hub .panel-head>.row{flex-wrap:nowrap;gap:12px}
.home-support{background:#e9edde;border-color:#d4ddc8;box-shadow:0 4px 14px #31422905}.home-support p{font-weight:500}
.button{background:#fffef9;border-color:#cdd3c2}.button:hover{background:#edf0e4}.button.dark{background:#315b46;border-color:#315b46}.button.dark:hover{background:#244733}
.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-color:#9c663f}
.onboarding-progress{background:#fbf7ec;border-left-color:#a7844d}.onboarding-steps li{background:#efefdf}.onboarding-steps .step-complete{background:#e1ead8}
.next-session{background:#e5ebda;border:1px solid #d1dac5}.prep-details>div{border-left-color:#b5bd8f}
.avatar{background:#e6e9d5;color:#4d653e}.avatar.owner{background:#42604c;color:#f0edcf}
.profile-banner{background:linear-gradient(110deg,#e7eddd,#f2e8d5)}.profile-contact{background:#fcfaf2}
.workout-choice.selected{background:#e3ebd7;border-color:#779565}.plan-filters,.plan-options-menu{background:#f0f0e4}
.note{background:#f4f2e6}.exercise-num{background:#e8ebd9;color:#4a6343}.exercise{border-color:#e1e3d3}
.message{background:#edf0e4;border-color:#dce2d0;border-radius:16px 16px 16px 4px}.message.self{background:#f3e9d8;border-color:#e9dcc4;border-radius:16px 16px 4px 16px}
.empty{background:linear-gradient(135deg,#f6f3e9,#eff2e6);border-radius:12px;color:#5b6b58}
dialog{background:#fffdf6;border-color:#d3d8c6}.dialog-head{padding-bottom:16px;border-bottom:1px solid #e1e2d3;margin-bottom:20px}.dialog-head h2{color:#315440}
.waiver-section{background:#fffef9}.waiver-section[open] summary{background:#edf0e4}.intake-field input[readonly]{background:#eef0e3}
.personal-sections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:28px}
.personal-section{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid #d6dcc9;border-radius:14px;background:#f6f5eb;text-align:left;color:var(--ink);font-weight:600;min-height:72px}
.personal-section.selected{background:#e5edd9;border-color:#7b976c;box-shadow:inset 0 -3px #7b976c}.personal-section:hover{background:#edf1e2}.personal-section:focus-visible{outline:3px solid #9c663f;outline-offset:3px}
.personal-section .section-icon{width:34px;height:34px;border-radius:10px}.personal-section-body>h2:first-child{margin-top:0}.profile-details{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.profile-details>div{padding:14px 0;border-bottom:1px solid #e5e6d8;margin:0}.profile-details dd{font-weight:500}
.contact-sean{background:#edf0e2;border:1px solid #d8dfc9;padding:24px;border-radius:16px;margin-bottom:30px}.contact-intro{display:flex;gap:14px;align-items:center}.contact-intro h2{margin:0 0 5px}.contact-intro p{margin:0}.contact-monogram{display:grid;place-items:center;width:54px;height:54px;flex-shrink:0;border-radius:50% 50% 50% 16%;background:#d9dfbc;color:#3e5942;font-weight:700}.contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.contact-sean>.help{margin-bottom:0}
.entry-page{min-height:100dvh;background:radial-gradient(ellipse at 20% 0,#e3ead6,transparent 55%),#f5f1e8;padding:24px 16px}.entry-page main,.entry-page .join{position:relative;overflow:hidden;background:#fffdf6;border:1px solid #d9ddcc;border-radius:24px;box-shadow:0 18px 60px #2f463013;padding:38px 30px;margin:24px auto}.entry-page main::before{content:'';display:block;height:100px;margin:-38px -30px 28px;background:#e8eddd url('/movement-landscape.svg') right center/auto 170% no-repeat}.entry-page h1{color:#2d503d}.entry-page input,.entry-page textarea{border:1px solid #bdcbb5;border-radius:10px;padding:12px;background:#fffef9}.entry-page #status{background:#f0f1e4}
@media(min-width:761px){.personal-section-body{padding:0 4px}.sidebar .nav-link.active{background:var(--accent)}}
@media(max-width:760px){.page-head{padding:24px 22px;min-height:142px}.page-head>div{max-width:100%}.page-head::after{inset:0 0 0 50%;opacity:.2;background-position:60% center}.page-head h1{font-size:1.85rem}.home-welcome{min-height:208px}.home-welcome::after{inset:0 0 0 38%;opacity:.28}.home-welcome .welcome-note{max-width:26ch}.sidebar .nav-link.active{background:#385546;color:#f1daa5;box-shadow:inset 0 3px #e5cc92}.personal-sections{gap:8px}.personal-section{flex-direction:column;justify-content:center;padding:12px 5px;text-align:center;font-size:.82rem;line-height:1.35;min-height:100px}.personal-section .section-icon{width:32px;height:32px}.profile-details{grid-template-columns:1fr}.contact-sean{padding:20px}.contact-actions>.button{flex:1 1 130px}.contact-intro{align-items:flex-start}.contact-monogram{width:46px;height:46px}.entry-page main,.entry-page .join{margin:8px auto;padding:30px 22px}.entry-page main::before{margin:-30px -22px 26px;height:86px}}
.avatar{position:relative;overflow:hidden;flex-shrink:0}
.avatar .client-headshot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.headshot-preview{width:160px;height:160px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--sage,#d6e2d2);font-size:42px;margin:20px auto}
.headshot-preview img{width:100%;height:100%;object-fit:cover;object-position:center}
