:root{--paper:#f7f5ef;--ink:#233b2b;--muted:#687064;--line:#e0e4d9;--green:#2c4a35;--soft:#eaf0e5;--white:#fffefa;--warm:#f1eadb;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.65}button:disabled.secondary{cursor:default}a{color:inherit}button svg,a svg{stroke-width:1.7px;flex-shrink:0}:is(button:focus-visible,a:focus-visible,summary:focus-visible){outline-offset:4px;outline:3px solid #8caa76}input:focus,textarea:focus,select:focus{outline-offset:2px;outline:2px solid #789465}h1:focus{outline:none}p,h1,h2,h3,h4{margin:0}p{line-height:1.65}button{border:0}a{text-decoration:none}[hidden]{display:none!important}.preserve{white-space:pre-wrap;overflow-wrap:anywhere}.muted{color:var(--muted)}.small-label{color:var(--muted);overflow-wrap:anywhere;font-size:13px}.eyebrow{letter-spacing:1.8px;font-size:10px;font-weight:600;line-height:1.5}.portal-skip{z-index:20;background:var(--green);color:#fff;padding:16px;position:fixed;top:-80px;left:20px}.portal-skip:focus{top:8px}.portal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;max-width:960px;margin:auto;padding:23px 28px;display:flex}.portal-brand{align-items:center;gap:11px;display:flex}.portal-mark{letter-spacing:-5px;font-family:Georgia,serif;font-size:48px;line-height:.8}.portal-mark span{color:#87986a}.portal-brand>span:last-child{letter-spacing:2px;font-size:15px;font-weight:700}.portal-brand small{letter-spacing:2.8px;margin-top:5px;font-size:7px;font-weight:400;display:block}.account-button{border:1px solid var(--line);background:0 0;border-radius:30px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:11px 14px;font-size:12px;display:flex}.account-button:hover{background:var(--soft)}.portal-main{max-width:660px;margin:auto;padding:38px 28px 130px}.page-intro{margin-bottom:28px}.page-intro .eyebrow{color:var(--muted);margin-bottom:10px}.page-intro h1{letter-spacing:-1.6px;overflow-wrap:anywhere;margin-bottom:12px;font-family:Georgia,Times New Roman,serif;font-size:42px;font-weight:400;line-height:1.12}.page-intro>p:last-child{max-width:480px;color:var(--muted);font-size:15px}.focus-card{background:var(--green);color:#fcfaf2;isolation:isolate;border-radius:21px;padding:26px 28px;position:relative;overflow:hidden}.focus-top{color:#dce6cf;justify-content:space-between;align-items:center;gap:12px;margin-bottom:21px;display:flex}.focus-top .eyebrow{max-width:85%}.focus-card h2{letter-spacing:-.4px;z-index:1;white-space:pre-wrap;overflow-wrap:anywhere;font-family:Georgia,serif;font-size:29px;font-weight:400;line-height:1.2;position:relative}.focus-card>p{color:#e4eadf;z-index:1;white-space:pre-wrap;overflow-wrap:anywhere;max-width:93%;margin-top:13px;font-size:14px;position:relative}.focus-card>button{color:var(--ink);z-index:1;background:#fbfbf2;border-radius:30px;align-items:center;gap:20px;min-height:46px;margin-top:25px;padding:12px 18px;font-size:13px;display:inline-flex;position:relative}.focus-card>button:hover{background:#e8efd9}.focus-circle{z-index:-1;border:1px solid #728d5f;border-radius:50%;width:200px;height:200px;position:absolute;bottom:-95px;right:-65px}.focus-circle:before,.focus-circle:after{content:"";border:1px solid #728d5f;border-radius:50%;position:absolute;inset:18px}.focus-circle:after{inset:38px}.section-caption{justify-content:space-between;align-items:center;gap:15px;margin:29px 0 14px;display:flex}.section-caption h2{align-items:center;gap:8px;font-size:17px;font-weight:600;display:flex}.section-caption>span{color:var(--muted);font-size:12px}.quick-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.quick-card{text-align:left;background:var(--white);border:1px solid var(--line);border-radius:18px;flex-direction:column;align-items:flex-start;min-width:0;min-height:178px;padding:21px 18px 18px;transition:background .15s,border-color .15s;display:flex;position:relative}.quick-card:hover{background:#f0f3e9;border-color:#b4c1a6}.quick-icon{background:var(--soft);border-radius:13px;place-items:center;width:43px;height:43px;margin-bottom:19px;display:grid}.quick-icon.warm{background:var(--warm)}.quick-title{letter-spacing:-.3px;padding-right:10px;font-size:17px;font-weight:600;line-height:1.25}.quick-description{color:var(--muted);max-width:90%;margin-top:7px;font-size:12px;line-height:1.45}.quick-arrow{color:#8a957e;position:absolute;top:31px;right:12px}.week-summary{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin:14px 1px 29px;font-size:11px;display:flex}.week-summary>span{align-items:center;gap:5px;display:flex}.state-done{color:var(--green)}.coach-card{background:#efeee5;border:1px solid #e2e4d6;border-radius:18px;margin-top:25px;padding:21px}.coach-heading{align-items:center;gap:13px;display:flex}.coach-heading img{object-fit:cover;border:1px solid #d8decd;border-radius:50%}.coach-heading h2{font-size:16px;font-weight:600}.coach-heading p{color:var(--muted);margin-top:4px;font-size:11px}.coach-copy{color:#5d6658;margin:16px 0 17px;font-size:13px}.primary,.secondary{text-align:center;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:51px;padding:13px 17px;font-size:14px;font-weight:500;line-height:1.35;transition:background .15s;display:flex}.primary{background:var(--green);color:#fffef6;border:1px solid var(--green)}.primary:hover{background:#203d29}.secondary{color:var(--ink);background:0 0;border:1px solid #bcc7b2}.secondary:hover{background:var(--soft)}.contact-button{gap:8px;min-height:50px;font-size:13px}.contact-button>span{flex:1}.contact-link{color:var(--green);align-items:center;gap:7px;min-height:44px;font-size:13px;line-height:1.4;display:inline-flex}.contact-link>span{flex:1}.admin-entry{color:var(--muted);justify-content:center;align-items:center;gap:8px;min-height:44px;padding:18px 0 3px;font-size:12px;display:flex}.admin-entry svg:last-child{margin-left:auto}.portal-footnote{letter-spacing:.4px;color:#8a9081;text-align:center;margin-top:35px;font-size:10px;line-height:1.5}.bottom-nav{z-index:5;background:#fffefb;border:1px solid #e2e6da;border-radius:20px;justify-content:space-around;width:min(490px,100% - 36px);padding:6px 12px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 5px 24px #263c2810}.bottom-nav button{color:#737c6d;background:0 0;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:33.33%;max-width:140px;min-height:58px;font-size:10px;display:flex;position:relative}.bottom-nav button.active{color:var(--green);background:#edf2e7;font-weight:600}.bottom-nav button:hover{background:#f2f4ee}.plan-heading{margin:0 0 23px}.plan-heading h2{margin-bottom:10px;font-size:20px;line-height:1.3}.plan-heading p{color:var(--muted);font-size:14px}.session-list{gap:14px;display:grid}.session{background:var(--white);border:1px solid var(--line);border-radius:16px;overflow:hidden}summary{cursor:pointer;min-height:48px;list-style:none}summary::-webkit-details-marker{display:none}.session>summary{align-items:center;gap:14px;padding:20px;display:flex}.session>summary>span:nth-child(2){flex:1;min-width:0}.session>summary strong{overflow-wrap:anywhere;font-size:17px;font-weight:600;line-height:1.35;display:block}.session>summary small{color:var(--muted);margin-top:5px;font-size:11px;line-height:1.5;display:block}.session-number{color:#839475;flex-shrink:0;width:32px;font-family:Georgia,serif;font-size:23px}.session>summary>svg{flex-shrink:0;transition:transform .15s}.session[open]>summary>svg{transform:rotate(180deg)}.session-body{padding:0 20px 20px}.session-note{color:var(--muted);border-top:1px solid var(--line);margin-bottom:18px;padding-top:16px;font-size:13px}.exercises{margin:0;padding:0;list-style:none}.exercises>li{border-top:1px solid var(--line);padding:18px 0}.exercise-title{align-items:baseline;gap:10px;display:flex}.exercise-title>span{color:#89957d;min-width:10px;font-size:12px}.exercise-title h3{overflow-wrap:anywhere;font-size:17px;font-weight:600;line-height:1.35}.exercise-meta{flex-wrap:wrap;gap:7px;margin:12px 0 0;display:flex}.exercise-meta>span{color:#66725e;overflow-wrap:anywhere;background:#f0f2e9;border-radius:6px;padding:6px 9px;font-size:10px;line-height:1.4}.exercise-meta strong{color:var(--ink);font-size:12px;font-weight:600}.exercise-note{color:var(--muted);margin-top:12px;font-size:13px}.video-button{background:0 0;border:1px solid #cad4bf;border-radius:25px;align-items:center;gap:7px;min-height:44px;margin-top:13px;padding:9px 13px;font-size:12px;display:inline-flex}.video-button:hover{background:var(--soft)}.workout-done{color:var(--ink);background:#e4eddc;border-color:#cedcc3}.workout-done:hover{background:#d7e4cc}.history{margin-top:30px}.history>h2{margin-bottom:15px;font-size:16px;font-weight:600}.history-row{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding:13px 0;font-size:13px;line-height:1.4;display:flex}.history-row>span{overflow-wrap:anywhere;flex:1;min-width:0}.history-row>svg{color:#82966d;flex-shrink:0}.history-row time{color:var(--muted);flex-shrink:0;font-size:11px}.empty-card{background:var(--white);border:1px solid var(--line);text-align:center;border-radius:18px;padding:32px 25px}.empty-icon{background:var(--soft);color:var(--green);border-radius:50%;place-items:center;width:68px;height:68px;margin:0 auto 22px;display:grid}.empty-card h2{letter-spacing:-.5px;font-family:Georgia,serif;font-size:25px;font-weight:400;line-height:1.25}.empty-card p{color:var(--muted);margin:14px 0 15px;font-size:14px}.empty-card .contact-link{margin:auto}.empty-card.small{text-align:left;padding:23px}.empty-card.small h3{font-size:15px;font-weight:500}.empty-card.small p{margin-bottom:0;font-size:13px}.loading{color:var(--muted);align-items:center;gap:9px;margin-bottom:20px;font-size:13px;display:flex}.spin{animation:1.2s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.access-card{background:#eff3e8;border:1px solid #d5decb;border-radius:16px;gap:15px;margin-bottom:25px;padding:23px;display:flex}.access-card>svg{flex-shrink:0}.access-card h2{font-size:18px;font-weight:600;line-height:1.3}.access-card p{color:var(--muted);margin:10px 0 15px;font-size:13px}.access-card .primary{font-size:13px}.access-card>div{flex:1;min-width:0}.checkin-form{background:var(--white);border:1px solid var(--line);border-radius:18px;gap:23px;padding:25px;display:grid}.form-intro .eyebrow{color:#78866a}.form-intro p{color:var(--muted);margin-top:10px;font-size:13px}.energy-field{border:0;min-width:0;margin:0;padding:0}.energy-field legend{margin-bottom:14px;font-size:15px;font-weight:600}.energy-options{grid-template-columns:repeat(5,1fr);gap:9px;display:grid}.energy-options label{position:relative}.energy-options label>span{cursor:pointer;background:#f3f3eb;border:1px solid #e2e6d9;border-radius:11px;place-items:center;height:48px;font-size:17px;display:grid}.energy-options input{opacity:0;cursor:pointer;z-index:1;width:100%;height:100%;margin:0;position:absolute;inset:0}.energy-options label.selected>span{background:var(--green);color:#fff;border-color:var(--green)}.energy-options input:focus-visible+span{outline-offset:3px;outline:3px solid #8caa76}.energy-labels{color:var(--muted);justify-content:space-between;margin-top:8px;font-size:10px;display:flex}.field{flex-direction:column;gap:9px;min-width:0;display:flex}.field>span{font-size:14px;font-weight:500;line-height:1.35}.field input,.field textarea,.field select{width:100%;min-width:0;color:var(--ink);background:#fffefa;border:1px solid #d5dccb;border-radius:10px;padding:13px 12px;font-size:16px;line-height:1.5}.field input,.field select{min-height:49px}.field textarea{resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#979e90;font-size:13px}.field select{-webkit-appearance:auto;appearance:auto}.field-hint{color:var(--muted);font-size:11px;font-weight:400;line-height:1.65}.checkin-form>.field-hint{text-align:center;margin-top:-10px}.notice{overflow-wrap:anywhere;border-radius:10px;padding:14px 15px;font-size:13px;line-height:1.6}.notice.error{color:#804a36;background:#f7e9e3;border:1px solid #e9cbbd}.notice.success{color:#3c5a2f;background:#eaf1e2;border:1px solid #d6e1ca}.sent-status{color:#526c41;background:#e9f0e0;border:1px solid #d8e3ca;border-radius:12px;align-items:flex-start;gap:9px;margin-bottom:18px;padding:15px 17px;font-size:12px;line-height:1.6;display:flex}.sent-status svg{flex-shrink:0}.coach-reply{background:#eaf0e3;border-left:3px solid #8ca276;border-radius:4px 13px 13px 4px;margin-bottom:20px;padding:22px}.coach-reply>.eyebrow{color:#657b52;font-size:9px}.coach-reply p{margin-top:12px;font-size:14px}.reply-preview{text-align:left;background:#e8efdf;border:1px solid #d3dfc6;border-radius:13px;align-items:center;gap:12px;width:100%;margin:15px 0 20px;padding:18px;display:flex}.reply-dot{background:#719359;border-radius:50%;flex-shrink:0;width:8px;height:8px}.reply-preview>span:nth-child(2){flex:1}.reply-preview strong{font-size:13px;font-weight:600;display:block}.reply-preview>span>span{color:var(--muted);margin-top:5px;font-size:11px;line-height:1.5;display:block}.past-checkin{border:1px solid var(--line);background:var(--white);border-radius:13px;margin-bottom:10px;padding:4px 18px}.past-checkin summary{justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.past-checkin>p{margin:12px 0;font-size:13px}.past-checkin .coach-reply{margin-top:15px;margin-bottom:14px}.portal-dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);overscroll-behavior:contain;border-radius:21px;width:min(560px,100% - 30px);max-height:85dvh;padding:25px;box-shadow:0 22px 100px #16301e33}.portal-dialog::backdrop{background:#192d2366}.dialog-top{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.dialog-top h2{overflow-wrap:anywhere;min-width:0;font-family:Georgia,serif;font-size:23px;font-weight:400;line-height:1.3}.icon-button{background:0 0;border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;display:inline-grid}.icon-button:hover{background:var(--soft)}.portal-dialog>p{overflow-wrap:anywhere;margin:15px 0 20px;font-size:14px}.dialog-link{border-top:1px solid var(--line);align-items:center;gap:10px;min-height:51px;padding:10px 0;font-size:14px;display:flex}.dialog-link>svg:last-child{margin-left:auto}.video-dialog iframe{aspect-ratio:16/9;background:#172c20;border:0;border-radius:9px;width:100%}.video-dialog video{background:#172c20;border-radius:10px;width:100%;max-height:65dvh;display:block}.video-dialog .dialog-top{margin-bottom:15px}.admin-main{max-width:860px;margin:auto;padding:38px 28px 60px}.admin-tabs{border:1px solid var(--line);background:#eceee4;border-radius:13px;gap:10px;margin:0 0 26px;padding:5px;display:flex}.admin-tabs button{min-height:44px;color:var(--muted);background:0 0;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:9px;font-size:13px;display:flex}.admin-tabs button.active{background:var(--white);color:var(--ink);box-shadow:0 1px 3px #273c2410}.client-selector{align-items:flex-end;gap:13px;margin-bottom:22px;display:flex}.client-selector .field{flex:1}.client-selector>.secondary{flex-shrink:0;width:auto;min-height:51px}.stack{gap:19px;display:grid}.admin-card{background:var(--white);border:1px solid var(--line);border-radius:16px;min-width:0;margin-bottom:22px;padding:25px}.admin-card .section-caption{margin:0}.admin-card>h2{font-size:20px;font-weight:500;line-height:1.3}.admin-card>p{font-size:13px}.checkbox-field{align-items:center;gap:10px;min-height:44px;font-size:13px;display:flex}.checkbox-field input{width:20px;height:20px;accent-color:var(--green)}.session-editor{background:#f6f7f0;border:1px solid #d3dcc9;border-radius:12px;padding:20px}.editor-heading{justify-content:space-between;align-items:center;gap:15px;min-width:0;display:flex}.editor-heading h3{font-size:17px;font-weight:500}.editor-heading h4{font-size:14px;font-weight:500}.remove-button{color:#836b55;background:0 0;align-items:center;gap:7px;min-height:44px;font-size:11px;display:flex}.exercise-editor{border-top:1px solid var(--line);padding-top:14px}.field-grid{gap:12px;display:grid}.field-grid.three{grid-template-columns:1fr 1fr 1fr}.save-plan{gap:15px;margin:0 0 35px;display:grid}.save-plan>.primary{box-shadow:0 5px 20px #233c2410}.admin-checkins{margin-top:35px}.admin-checkin{background:var(--white);border:1px solid var(--line);border-radius:14px;margin-bottom:15px}.admin-checkin>summary{justify-content:space-between;align-items:center;gap:12px;padding:19px 21px;display:flex}.admin-checkin>summary strong{font-size:15px;font-weight:500;display:block}.admin-checkin>summary small{color:var(--muted);margin-top:6px;font-size:11px;line-height:1.5;display:block}.checkin-content{border-top:1px solid var(--line);padding:20px}.checkin-content>p{font-size:14px}.checkin-content strong{font-weight:500}.admin-help{border-top:1px solid var(--line);margin-top:14px;padding-top:22px}.admin-help h3{margin-bottom:13px;font-size:15px;font-weight:500}.admin-help ol{color:var(--muted);margin:0;padding-left:20px;font-size:13px;line-height:1.8}.admin-help li{margin-bottom:10px;padding-left:5px}.admin-card .notice,.client-selector+.notice{margin-bottom:15px}@media (min-width:900px){.portal-header{margin-top:12px}.portal-main{padding-top:45px}.focus-card{padding:28px 30px}.focus-card h2{font-size:33px}.quick-card{min-height:182px}.coach-card{margin-top:28px}}@media (max-width:600px){.portal-header{padding:19px 21px}.portal-main{padding:28px 20px 118px}.page-intro{margin-bottom:24px}.page-intro h1{letter-spacing:-1.3px;font-size:35px}.page-intro>p:last-child{font-size:13px;line-height:1.65}.page-intro .eyebrow{letter-spacing:1.5px;font-size:9px}.focus-card{border-radius:18px;padding:22px}.focus-card h2{font-size:27px}.focus-top{margin-bottom:19px}.focus-card>p{margin-top:11px;font-size:13px}.focus-card>button{margin-top:22px;font-size:12px}.quick-grid{gap:11px}.quick-card{min-height:173px;padding:17px 15px}.quick-title{font-size:16px}.quick-description{max-width:95%;font-size:11px}.quick-icon{width:39px;height:39px;margin-bottom:18px}.quick-arrow{width:16px;top:27px;right:10px}.section-caption{margin-top:25px}.section-caption h2{font-size:16px}.section-caption>span{font-size:11px}.week-summary{gap:5px;font-size:10px}.coach-card{padding:19px}.bottom-nav{width:100%;padding:6px 16px calc(7px + env(safe-area-inset-bottom));border-bottom:0;border-radius:19px 19px 0 0;justify-content:space-between;bottom:0;left:0;transform:none;box-shadow:0 -3px 22px #263c2808}.bottom-nav button{max-width:150px;min-height:57px}.empty-card{padding:28px 22px}.empty-card h2{font-size:24px}.empty-card p{font-size:13px}.checkin-form{gap:23px;padding:21px}.field>span{font-size:13px}.energy-options{gap:8px}.energy-field legend{font-size:14px}.sent-status{font-size:11px}.session>summary{gap:10px;padding:19px 17px}.session-body{padding:0 17px 18px}.session>summary strong{font-size:16px}.exercise-meta{gap:6px}.exercise-meta>span{padding:6px 8px;font-size:10px}.exercise-meta strong{font-size:11px}.portal-dialog{padding:21px}.account-button{gap:7px;padding:10px 12px;font-size:11px}.portal-brand>span:last-child{font-size:13px}.portal-brand small{font-size:6px}.portal-mark{font-size:43px}.portal-brand{gap:10px}.admin-main{padding:28px 20px 45px}.client-selector{gap:10px}.client-selector>.secondary{padding:12px 13px;font-size:12px}.admin-card{padding:21px}.admin-card .section-caption{flex-wrap:wrap;gap:8px}.field-grid.three{gap:8px}.field-grid.three .field>span{font-size:11px}.field-grid.three input{padding:11px 9px}.session-editor{padding:17px}.access-card{gap:12px;padding:20px}.access-card>svg{width:20px}.access-card h2{font-size:17px}.access-card p{font-size:12px}.checkin-content{padding:19px}.admin-checkin>summary{padding:18px 19px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.account-privacy{border-top:1px solid var(--line)}.account-privacy summary{justify-content:space-between;align-items:center;padding:13px 0;font-size:13px;display:flex}.account-privacy p{color:var(--muted);margin:0 0 15px;font-size:12px;line-height:1.7}
