.portal{--portal-title:clamp(1.5rem,2.6vw,2.25rem);--portal-heading:1.25rem;--portal-small:.875rem;--portal-gap:24px;min-height:100vh}
.portal-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px clamp(20px,4vw,64px);border-bottom:1px solid var(--line-color)}
.portal-header img{width:220px;height:auto}.logo-dark{display:none}[data-theme=dark] .logo-dark{display:block}[data-theme=dark] .logo-light{display:none}
.header-actions,.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.eyebrow{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--fg-muted);font-weight:600}
.portal h1{font-size:var(--portal-title);letter-spacing:-.04em;line-height:1.15;margin:12px 0 20px;font-weight:600}.portal h2{font-size:var(--portal-heading);line-height:1.4;margin:0 0 12px;font-weight:600}.portal h3{font-size:1rem;font-weight:600}
.portal p{margin:0 0 20px}.muted,.hint{color:var(--fg-muted)}.hint{font-size:var(--portal-small);line-height:1.6}
.portal button,.portal .button{min-height:44px;padding:12px 20px;font-size:var(--portal-small);font-weight:600;border:1px solid var(--line-strong);display:inline-flex;justify-content:center;align-items:center;gap:8px;border-radius:2px}
.portal button:hover,.portal .button:hover{border-color:var(--fg-muted)}.portal .primary{background:var(--fg);color:var(--bg);border-color:var(--fg)}.portal button:disabled{opacity:.5;cursor:wait}.portal .quiet{border:0;text-decoration:underline;text-underline-offset:4px}
.portal .danger{color:#bb5148}.portal [hidden]{display:none!important}
.portal-footer{padding:28px clamp(20px,4vw,64px);border-top:1px solid var(--line-color);display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--fg-muted)}
.portal-tools{margin:24px 0 40px;padding:24px;background:var(--bg-alt);border:1px solid var(--line-color)}
.portal-tools>.hint{margin:16px 0 0}
.onboarding-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:24px}
.onboarding-grid strong{display:block;font-size:16px;margin-top:12px;font-weight:500}
.library-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:20px;margin-top:32px}
.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.resource-card{display:flex;flex-direction:column;align-items:start;padding:24px;border:1px solid var(--line-color);background:var(--bg-elev)}
.resource-card h2{margin:20px 0 12px;letter-spacing:-.025em}
.resource-card .actions{margin-top:20px}.resource-card .hint{flex:1}
.resource-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;width:100%;font-size:12px;color:var(--fg-muted)}
.preserve,.agreement-copy{white-space:pre-wrap;overflow-wrap:anywhere}
.agreement-copy{font-size:15px;line-height:1.85;max-width:850px;padding:28px;border:1px solid var(--line-color);margin:28px 0;background:var(--bg-elev)}
.resource-body{max-width:850px;line-height:1.85;padding:32px 0}
#worksheet-form,#resource-editor,#agreement-sign{max-width:850px}
#worksheet-form textarea{min-height:130px}
#resource-editor #edit-content{min-height:340px}
#agreement-sign .check-row{margin-bottom:16px!important}
.review-block summary{cursor:pointer;padding:12px 0;font-weight:500}
@media(max-width:900px){.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-filters{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.resource-grid,.onboarding-grid{grid-template-columns:1fr}.onboarding-grid{gap:20px}.onboarding-grid>div{border-bottom:1px solid var(--line-color);padding-bottom:16px}.library-filters{grid-template-columns:1fr}.library-filters .field{margin-bottom:0}.library-filters{margin-bottom:24px}.agreement-copy{padding:16px}.portal-tools{padding:20px}}
@media print{.portal-header,.portal-footer,.back-link,.portal button,.portal-tools{display:none!important}.workspace{padding:0}.agreement-copy{border:0;padding:0;background:white;color:black}}
.login-layout{max-width:1100px;margin:0 auto;padding:88px 32px 112px;display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:start;min-height:65vh}.login-intro h1{max-width:420px}.login-intro p{max-width:400px;color:var(--fg-muted)}.login-panel{background:var(--bg-elev);border:1px solid var(--line-color);padding:32px}.steps-summary{margin-top:40px}.steps-summary li{border-top:1px solid var(--line-color);padding:16px 0;display:flex;gap:20px;font-size:var(--portal-small)}.steps-summary span{color:var(--fg-muted)}
.portal label,.portal legend{font-weight:500;font-size:var(--portal-small);margin-bottom:8px;display:block}.portal input:not([type=checkbox]):not([type=radio]),.portal select,.portal textarea{width:100%;padding:12px;background:var(--bg);border:1px solid var(--line-strong);border-radius:2px;color:var(--fg);font:inherit;font-size:16px;min-height:48px}.portal textarea{min-height:112px;resize:vertical}.portal input:focus,.portal select:focus,.portal textarea:focus{outline:2px solid var(--accent);outline-offset:2px}
.portal fieldset{border:0;padding:0;margin:0}.field{margin-bottom:24px;min-width:0}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.field.wide{grid-column:1/-1}.choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}.choices label,.check-row{display:flex!important;gap:10px;align-items:start;padding:12px;border:1px solid var(--line-color);margin:0!important;font-weight:400!important;min-height:44px}.choices input,.check-row input{margin-top:4px;accent-color:var(--accent)}.choices label:has(input:checked){border-color:var(--accent);background:var(--bg-alt)}
.notice{padding:16px;background:var(--bg-alt);border:1px solid var(--line-color);margin:20px 0;font-size:var(--portal-small);overflow-wrap:anywhere}.notice.error{border-color:#bb5148}.notice:empty{display:none}
.workspace{max-width:1240px;margin:0 auto;padding:48px 32px 80px;min-height:65vh}.page-heading{display:flex;justify-content:space-between;gap:24px;align-items:start;margin-bottom:40px}.page-heading p{margin:0;max-width:660px;color:var(--fg-muted)}.module{display:grid;grid-template-columns:100px 1fr auto;gap:24px;align-items:center;border-block:1px solid var(--line-color);padding:32px 0;margin:32px 0}.module-number{font-size:48px;font-weight:400;color:var(--fg-muted);letter-spacing:-.05em}.module p{margin:8px 0 0;max-width:660px}.tag{font-size:12px;letter-spacing:.06em;text-transform:uppercase;display:inline-block;padding:5px 8px;background:var(--bg-alt);border:1px solid var(--line-color)}
.intake-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:48px}.section-nav{position:sticky;top:20px;align-self:start}.section-nav button{width:100%;border:0;justify-content:start;text-align:left;font-weight:400;padding:10px 12px;gap:12px;margin-bottom:4px}.section-nav button[aria-current=step]{background:var(--bg-alt);font-weight:600}.section-nav .number{width:20px;color:var(--fg-muted);font-size:12px}.section-nav progress{width:100%;height:4px;accent-color:var(--accent);margin:16px 0}.section-heading{padding-bottom:24px;margin-bottom:28px;border-bottom:1px solid var(--line-color)}.section-heading p{margin:8px 0 0}.form-actions{display:flex;gap:12px;justify-content:space-between;align-items:center;border-top:1px solid var(--line-color);padding-top:24px;margin-top:24px}.status-line{font-size:12px;color:var(--fg-muted);min-height:20px}
.dropzone{padding:32px 24px;text-align:center;border:1px dashed var(--line-strong);background:var(--bg-alt);margin-bottom:24px}.dropzone.dragover{border-color:var(--accent);outline:2px solid var(--accent)}.file-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line-color);padding:12px 0;overflow-wrap:anywhere}.file-row span{min-width:0}.file-row small{display:block;color:var(--fg-muted)}.review-block{padding:24px 0;border-bottom:1px solid var(--line-color)}.review-block dl{display:grid;grid-template-columns:minmax(140px,1fr) 2fr;gap:12px 24px;font-size:var(--portal-small)}.review-block dt{color:var(--fg-muted)}.review-block dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.submission-row{display:grid;grid-template-columns:1fr 1fr auto;gap:24px;padding:24px 0;border-bottom:1px solid var(--line-color);align-items:center}.submission-row p{margin:0}.submission-row small{color:var(--fg-muted)}.admin-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);gap:48px}.admin-panel{border:1px solid var(--line-color);padding:24px;background:var(--bg-elev)}.admin-panel .field-grid{display:block}.admin-top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.loading{padding:80px;text-align:center;color:var(--fg-muted)}.success-mark{font-size:36px;line-height:1;margin:0 0 24px;color:var(--accent)}.back-link{margin-bottom:24px}.invite-box{margin-top:32px;padding:24px;border:1px solid var(--line-color);max-width:680px}.invite-box .actions{margin-top:20px}.consent-copy{font-size:var(--portal-small);line-height:1.8}
@media(max-width:800px){.portal-header{padding:20px;align-items:start}.portal-header img{width:170px}.header-actions{justify-content:end;gap:4px}.header-actions .eyebrow{display:none}.header-actions button{padding:8px}.login-layout{grid-template-columns:1fr;padding:40px 20px 56px;gap:32px}.steps-summary{display:none}.workspace{padding:32px 20px 56px}.intake-layout{grid-template-columns:1fr;gap:24px}.section-nav{position:static;display:flex;overflow-x:auto;gap:8px;padding-bottom:8px}.section-nav button{width:auto;white-space:nowrap;min-width:fit-content}.section-nav progress,.section-nav .status-line{display:none}.admin-columns{grid-template-columns:1fr;gap:32px}.module{grid-template-columns:48px 1fr;gap:16px}.module-number{font-size:32px}.module .actions{grid-column:2}.portal-footer{padding:24px 20px;flex-direction:column;gap:8px}.page-heading{flex-direction:column;margin-bottom:28px}.submission-row{grid-template-columns:1fr auto}.submission-row>div:nth-child(2){grid-column:1;grid-row:2}.submission-row>button{grid-column:2;grid-row:1/3}}
@media(max-width:480px){.field-grid,.choices{grid-template-columns:1fr}.login-panel{padding:24px}.form-actions{flex-wrap:wrap}.form-actions .actions{width:100%;justify-content:space-between}.review-block dl{grid-template-columns:1fr;gap:4px}.review-block dd{margin-bottom:12px}.portal-header img{width:145px}}

/* Coaching delivery: the next action leads; secondary context stays quiet. */
.coaching-dashboard{margin:0 0 40px}.roadmap-entry,.dashboard-intro,.section-line{display:flex;align-items:center;justify-content:space-between;gap:24px}.roadmap-entry{border-block:1px solid var(--line-color);padding:28px 0}.roadmap-entry p{max-width:720px;margin-bottom:0}.dashboard-intro{padding:24px 0 32px}.dashboard-intro h2{font-size:clamp(24px,3vw,32px);letter-spacing:-.035em;margin:10px 0}.dashboard-intro p{margin:0;color:var(--fg-muted)}.status-badge{font-size:12px;border:1px solid var(--line-strong);padding:5px 9px;display:inline-block;white-space:nowrap}
.dashboard-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--line-strong);padding:24px 0;margin-bottom:40px}.dashboard-summary>div{padding:0 24px;border-right:1px solid var(--line-color);display:flex;flex-direction:column;gap:8px}.dashboard-summary>div:first-child{padding-left:0}.dashboard-summary>div:last-child{border:0}.dashboard-summary span,.dashboard-summary small{font-size:12px;color:var(--fg-muted)}.dashboard-summary strong{font-weight:500;font-size:26px;line-height:1.25;letter-spacing:-.025em}.dashboard-summary .session-value{font-size:18px;letter-spacing:0}
.dashboard-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:48px}.section-line{margin-bottom:12px}.section-line h2{margin:0}.next-task{padding:26px 0;border-bottom:1px solid var(--line-color);min-width:0}.next-task h3{font-size:20px;line-height:1.35;margin:12px 0}.next-task p{color:var(--fg-muted);white-space:pre-wrap;overflow-wrap:anywhere}.task-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--fg-muted)}.priority{font-weight:600;color:var(--fg)}.priority.critical,.overdue{color:#b54134}.next-task>button{margin-top:18px}.dashboard-aside{display:flex;flex-direction:column;gap:24px}.dashboard-panel{border:1px solid var(--line-color);padding:24px;background:var(--bg-elev);min-width:0}.dashboard-panel h2{margin-top:8px}.phase-progress{padding:14px 0}.phase-progress>div{display:flex;justify-content:space-between;gap:10px;font-size:12px}.phase-progress small{font-size:12px;color:var(--fg-muted)}.portal progress{width:100%;height:5px;appearance:none;border:0;display:block;margin:12px 0;background:var(--bg-alt);accent-color:var(--accent)}.portal progress::-webkit-progress-bar{background:var(--bg-alt)}.portal progress::-webkit-progress-value{background:var(--accent)}.portal progress::-moz-progress-bar{background:var(--accent)}
.portal .waiting-task{display:flex;flex-direction:column;align-items:start;text-align:left;width:100%;white-space:normal;gap:5px;border:0;border-bottom:1px solid var(--line-color);padding:14px 0}.waiting-task span{font-size:12px;color:var(--fg-muted)}.empty-roadmap{padding:30px 0;max-width:540px}.empty-roadmap p{color:var(--fg-muted)}.health-panel{margin-top:40px}.health-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}.health-category{padding:18px 0;border-bottom:1px solid var(--line-color);min-width:0}.health-category summary{cursor:pointer;line-height:1.6;font-size:14px}.health-category summary strong{float:right;margin-left:8px}.health-category p{font-size:14px}.health-category button{display:block;margin:8px 0;white-space:normal;text-align:left}.preserve{white-space:pre-wrap;overflow-wrap:anywhere}
.roadmap-toolbar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:24px 0}.roadmap-toolbar .field{min-width:220px;margin:0 auto 0 0}.roadmap-group{margin:36px 0}.roadmap-group h2{padding-bottom:12px;border-bottom:1px solid var(--line-strong)}.roadmap-group h2 small{color:var(--fg-muted);font-size:14px}.roadmap-task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px}.roadmap-form{max-width:860px;margin:28px 0}.roadmap-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.roadmap-form .check-row{margin-bottom:16px!important}.roadmap-form button[type=submit]{margin-top:24px}.portal .health-editor{padding:24px 0;border-top:1px solid var(--line-color);margin:20px 0}.health-editor legend{padding-right:10px}.client-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}.client-directory h2{margin-top:16px}.evidence-list{padding:0;list-style:none}.evidence-list li{display:flex;flex-direction:column;gap:6px;padding:12px 0;border-bottom:1px solid var(--line-color)}.evidence-list button{align-self:start;word-break:break-word;white-space:normal;text-align:left}.evidence-list small{color:var(--fg-muted);font-size:12px}
.task-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid var(--line-color);border-top:1px solid var(--line-color);margin-top:24px}.calendar-day,.calendar-blank{min-height:120px;padding:10px;border-right:1px solid var(--line-color);border-bottom:1px solid var(--line-color);min-width:0}.calendar-day h3{font-size:11px!important;letter-spacing:0;font-weight:400;color:var(--fg-muted)}.calendar-day.has-tasks{background:var(--bg-alt)}.portal .calendar-day button{font-size:12px;padding:8px 0;width:100%;text-align:left;display:block;border:0;white-space:normal;overflow-wrap:anywhere}.calendar-day button small{display:block;color:var(--fg-muted);margin-top:4px}
[data-theme=dark] .overdue,[data-theme=dark] .priority.critical{color:#e99889}
@media(max-width:900px){.dashboard-layout{gap:24px;grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr)}.dashboard-summary>div{padding-inline:12px}.roadmap-task-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.roadmap-entry,.dashboard-intro,.section-line{align-items:start;flex-direction:column;gap:16px}.dashboard-summary{grid-template-columns:1fr 1fr;gap:24px 0;margin-top:24px}.dashboard-summary>div{padding:0 12px!important;border:0}.dashboard-summary strong{font-size:22px}.dashboard-summary>div:nth-child(odd){padding-left:0!important}.dashboard-layout{display:contents}.coaching-dashboard:has(.dashboard-summary),#dashboard-body{display:flex;flex-direction:column}.dashboard-intro{order:0}.next-actions{order:1}.dashboard-summary{order:2}.dashboard-aside{order:3}.health-panel{order:4}.dashboard-panel{padding:20px}.roadmap-task-grid,.health-grid,.client-directory,.roadmap-form .form-grid{grid-template-columns:1fr}.roadmap-toolbar{align-items:stretch}.roadmap-toolbar .field{width:100%}.task-calendar{grid-template-columns:1fr}.calendar-blank,.calendar-day:not(.has-tasks){display:none}.calendar-day{min-height:0;padding:16px}.calendar-day h3{font-size:14px!important}.calendar-day button{font-size:14px!important}.portal .next-task>button{width:100%}.health-category summary strong{float:none;margin-left:8px}}
.module-cover{position:relative;overflow:hidden;background:#d5cdbf;aspect-ratio:16/9;isolation:isolate}
.module-cover:has(.cover-title)::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 10%,rgba(19,24,25,.75) 60%,#131819 100%);z-index:0}
.module-cover .cover-title{position:absolute;left:22px;right:22px;bottom:20px;color:#fff;font-size:clamp(18px,1.8vw,24px);line-height:1.22;letter-spacing:-.025em;font-weight:600;z-index:1;overflow-wrap:anywhere;text-wrap:balance}
.module-cover .cover-crest{z-index:1}
.resource-card>h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.worksheet-profile{padding:22px;border:1px solid var(--line-color);margin:24px 0;background:var(--bg-elev)}
.worksheet-profile p{margin:0 0 14px}
.onboarding-grid .cover-title{font-size:20px;bottom:16px;left:16px}
.module>.module-cover .cover-title{font-size:16px;bottom:12px;left:12px;right:12px}
.module-cover>img:first-child{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.module-cover .cover-crest{position:absolute;left:14px;top:14px;width:36px;height:36px;object-fit:contain;opacity:.85;background:#f7f4ec;padding:5px;border-radius:50%}
.resource-card>.module-cover{width:calc(100% + 48px);margin:-24px -24px 24px}
.resource-card:hover>.module-cover>img:first-child{transform:scale(1.025)}
.onboarding-grid .module-cover{margin-bottom:20px;width:100%}
.onboarding-grid .module-cover .cover-crest{width:30px;height:30px;left:10px;top:10px}
.module:has(>.module-cover){grid-template-columns:200px 1fr auto}
.roadmap-entry>.module-cover{width:180px;flex:none}
.roadmap-entry>div:not(.module-cover){flex:1}
.next-task>.module-cover{float:right;width:112px;margin:0 0 16px 20px}
.next-task>.module-cover .cover-crest{width:24px;height:24px;padding:3px;left:6px;top:6px}
.next-task:after{content:"";display:block;clear:both}
@media(prefers-reduced-motion:reduce){.module-cover>img:first-child{transition:none}.resource-card:hover>.module-cover>img:first-child{transform:none}}
@media(max-width:800px){.module:has(>.module-cover){grid-template-columns:160px 1fr}.module:has(>.module-cover)>.actions{grid-column:2}}
@media(max-width:600px){.module:has(>.module-cover){grid-template-columns:1fr}.module:has(>.module-cover)>.actions{grid-column:1}.module>.module-cover,.roadmap-entry>.module-cover{width:100%}.onboarding-grid .module-cover{aspect-ratio:2.3}.next-task>.module-cover{width:84px;margin-left:12px}}
.coaching-scheduling{border:1px solid var(--line-color);border-radius:12px;padding:24px;margin:0 0 32px}
.scheduling-intro h2{margin:8px 0}
.scheduling-intro p{margin:0 0 24px}
.scheduling-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.scheduling-options article{display:flex;flex-direction:column;align-items:flex-start;border-top:1px solid var(--line-color);padding-top:20px;min-width:0}
.scheduling-options h3{margin:12px 0 8px}
.scheduling-options p{margin:0 0 20px}
.scheduling-options .button-link{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 20px;background:var(--fg);color:var(--bg);border:1px solid var(--fg);border-radius:2px;font-size:var(--portal-small);font-weight:600;text-decoration:none}
.scheduling-options .button-link:hover{background:var(--bg);color:var(--fg)}
.scheduling-options .button-link:focus-visible{outline:2px solid var(--fg);outline-offset:4px}
.portal .scheduling-note{margin:24px 0 0;max-width:90ch}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.coaching-scheduling{padding:20px}.scheduling-options{grid-template-columns:1fr}}
