.legal-page{max-width:1120px;margin-inline:auto;display:grid;gap:1.5rem}.legal-heading{max-width:760px;padding-block:1rem}.legal-heading h1{font-size:clamp(2.3rem,5vw,3.6rem);letter-spacing:-.035em;margin-block:.5rem}.legal-heading>p{font-size:1.1rem;line-height:1.7;color:#526d63}.legal-context{display:inline-flex;align-items:center;gap:.5rem;background:#e4eee5;border:1px solid #cfded1;border-radius:999px;padding:.5rem .9rem;color:#245746;font-weight:600}.legal-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.legal-card{background:#fffefb;border:1px solid #d8e1d7;border-radius:24px;padding:clamp(1.25rem,3vw,2rem);box-shadow:0 8px 30px #234a3510;min-width:0}.legal-card h2{margin-block:.7rem;font-size:1.45rem;color:#234a38}.legal-card p{color:#536b5e;line-height:1.7}.legal-test-card{background:linear-gradient(145deg,#edf4e9,#e5eee4);border-color:#c6d8c7}.legal-symbol{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;background:#dce9dc;color:#285e49}.legal-test-card .stacked-form{margin-top:1.3rem}.legal-badge{display:inline-block;border:1px solid #d8d7bb;border-radius:999px;padding:.3rem .7rem;background:#f4f2e6;color:#67653f;font-size:.85rem;font-weight:600}.legal-badge.is-ready{background:#e3f1e5;border-color:#c4dbc7;color:#255c38}.legal-availability{border-block-start:1px solid #dbe4d8;margin-block:1.4rem;padding-block-start:1rem}.legal-scope{font-size:.92rem;color:#647364;max-width:850px}.legal-agreement{scroll-margin-top:6rem}.legal-section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.legal-document{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85;font-size:.96rem;max-height:34rem;overflow-y:auto;padding:1.25rem;margin-top:1rem;border:1px solid #dce3d8;border-radius:14px;background:#f8faf5;color:#2f4436}.legal-document-full{max-height:none;overflow:visible}.legal-card summary{cursor:pointer;font-weight:600;color:#315a44;padding-block:.75rem}.legal-hash{overflow-wrap:anywhere;font-size:.76rem;color:#667762;line-height:1.8}.legal-sign-form{margin-top:1.5rem}.legal-history-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:1.2rem;border-bottom:1px solid #e2e7dc}.legal-history-row p{font-size:.9rem;margin-block:.35rem}.legal-record{display:grid;gap:1rem}.legal-record div{display:grid;grid-template-columns:minmax(110px,1fr) 2fr;gap:1rem}.legal-record dt{color:#60715f}.legal-record dd{margin:0;overflow-wrap:anywhere}.legal-use-choice{border:1px solid #ccdacb;border-radius:16px;background:#f0f5eb;padding:1rem;display:grid;gap:.8rem}.legal-use-choice legend{font-weight:650;padding-inline:.4rem}.legal-use-choice small{line-height:1.6;color:#536b5e}.legal-use-choice:has(input[value=professional]:checked) .legal-testing-declaration{display:none}.legal-testing-banner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.6rem 1.2rem;background:#e7efdc;color:#3c5632;padding:.6rem 1rem;font-size:.88rem;border-block:1px solid #d1ddc5}.legal-testing-banner a{color:inherit;text-decoration:underline}.legal-admin-list{display:grid;gap:1rem}.legal-admin-list textarea{min-height:14rem}.legal-country-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.legal-country-grid .legal-card{padding:1rem}.legal-review-status{display:flex;flex-wrap:wrap;gap:1rem}.legal-review-status>div{flex:1;min-width:180px;background:#f1f5ec;border-radius:16px;padding:1rem}.legal-review-status strong{display:block}.legal-page .check-row{align-items:flex-start}.legal-page input[type=checkbox]{margin-top:.25rem;flex-shrink:0}.legal-page .button{white-space:normal;text-align:center}.legal-admin-form{scroll-margin-top:6rem}.legal-document:focus-visible{outline:3px solid #508a6a;outline-offset:3px}@media(max-width:700px){.legal-options{grid-template-columns:1fr}.legal-card{border-radius:18px}.legal-history-row{align-items:flex-start;flex-direction:column}.legal-record div{grid-template-columns:1fr;gap:.25rem}}@media print{.site-header,.site-footer,.button-row,.legal-testing-banner{display:none!important}.legal-page{display:block;max-width:none}.legal-card{box-shadow:none;border:0;padding:0;margin-block:1.5rem}.legal-document{max-height:none;overflow:visible;border:0;background:white;padding:0;font-size:10pt}.legal-heading h1{font-size:20pt}.legal-record{font-size:10pt}}

.session-focus-mode .legal-testing-banner{padding-block:.3rem;align-self:start;grid-row:1}.session-focus-mode .app-shell>main:has(.legal-testing-banner){grid-template-rows:auto minmax(0,1fr)}
.legal-page .button{min-height:44px}.legal-page input[type=checkbox],.legal-use-choice input[type=checkbox],.legal-use-choice input[type=radio]{width:18px;height:18px;flex:0 0 18px}.legal-record dd{line-height:1.55}

.section.legal-page {
    padding-inline: 1.25rem;
}

.legal-context {
    max-width: 100%;
    overflow-wrap: anywhere;
}

.legal-context svg {
    flex-shrink: 0;
}

/* Registration and the shared personal/practice agreement centre. */
.onboarding-panel{width:min(100% - 2.5rem,780px);max-width:780px;margin:2rem auto 4rem;padding:0}
.auth-panel.onboarding-panel{padding:clamp(1.25rem,4vw,2.5rem);width:min(100% - 2.5rem,740px)}
.onboarding-heading h1{font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.2;letter-spacing:-.03em;margin:.6rem 0 1rem;color:#234a38}
.onboarding-heading p{line-height:1.7;color:#536b5e;max-width:65ch}
.onboarding-saved{font-size:.88rem;color:#526d63;margin:1rem 0}
.onboarding-progress{margin-bottom:1.8rem}
.onboarding-progress ol{list-style:none;display:flex;gap:.6rem;padding:0;margin:0}
.onboarding-progress li{flex:1;display:flex;align-items:center;gap:.55rem;color:#5c6f63;font-size:.85rem;line-height:1.4;min-width:0;border-bottom:2px solid #d9e2d7;padding-bottom:.9rem}
.onboarding-step-number{display:grid;place-items:center;flex:0 0 28px;height:28px;border:1px solid #d2dcd0;border-radius:50%;font-weight:650;background:#f7f9f3}
.onboarding-progress [aria-current=step]{color:#214e38;font-weight:700;border-color:#366b49}
.onboarding-progress [aria-current=step] .onboarding-step-number,.onboarding-progress .is-complete .onboarding-step-number{color:#fff;background:#366b49;border-color:#366b49}
.onboarding-choices{border:0;padding:0;margin:0;display:grid;gap:.8rem;min-width:0}
.onboarding-choices legend{font-weight:650;margin-bottom:1rem;font-size:1.1rem}
.onboarding-choice{display:flex;align-items:flex-start;gap:.9rem;border:1px solid #d1ddce;border-radius:16px;padding:1.1rem;cursor:pointer;background:#fffefb;transition:background .15s,border-color .15s}
.onboarding-choice:has(input:checked){background:#edf4e8;border-color:#42744b;box-shadow:0 0 0 1px #42744b}
.onboarding-choice:has(input:focus-visible){outline:3px solid #508a6a;outline-offset:3px}
.onboarding-choice input[type=radio]{width:19px;height:19px;flex:0 0 19px;margin:.2rem 0 0;accent-color:#366b49}
.onboarding-choice>span{display:grid;gap:.35rem;min-width:0}
.onboarding-choice strong{color:#274f39;font-size:1.05rem}
.onboarding-choice span span{font-size:.94rem;line-height:1.6;color:#526453;font-weight:400}
.onboarding-choice small{font-size:.82rem;font-weight:600;color:#3c6243}
.onboarding-testing-declaration{padding:.6rem .1rem}
[data-onboarding-form]:not(:has([name=mode][value=testing]:checked)) .onboarding-testing-declaration{display:none}
.onboarding-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.1rem;padding-top:1.2rem;border-top:1px solid #dce3d7}
.onboarding-actions>a{color:#4e6753;text-decoration:underline;text-underline-offset:.2em;font-size:.94rem}
.onboarding-panel .check-row{align-items:flex-start;line-height:1.6;gap:.7rem}
.onboarding-panel input:not([type=checkbox]):not([type=radio]),.onboarding-panel select,.legal-sign-form input:not([type=checkbox]){font-weight:400}
.onboarding-panel input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;margin-top:.25rem;accent-color:#366b49}
.onboarding-agreements{max-width:960px}
.legal-contexts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:.8rem}
.legal-context-card{display:flex;align-items:center;gap:.8rem;padding:1rem 1.15rem;border:1px solid #d3decf;border-radius:16px;text-decoration:none;background:#fffefb;color:#39553c;min-width:0}
.legal-context-card.is-selected{border-color:#42744b;box-shadow:0 0 0 1px #42744b;background:#edf4e8}
.legal-context-card>span{display:grid;gap:.3rem;min-width:0;overflow-wrap:anywhere}
.legal-context-card small{font-size:.8rem;color:#5a6e57}
.legal-context-card svg{flex-shrink:0}
.legal-sharing-choice{border-block:1px solid #dce3d7;margin-block:1.4rem;padding-block:1rem}
.legal-sharing-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.legal-toggle{display:inline-flex!important;align-items:center;gap:.75rem;cursor:pointer;position:relative;min-height:44px}
.legal-toggle input[role=switch]{position:absolute;opacity:0;width:44px;height:26px;margin:0}
.legal-toggle-track{position:relative;display:block;width:44px;height:26px;flex:0 0 44px;border-radius:99px;border:1px solid #8a9988;background:#a3aea0;transition:background .15s}
.legal-toggle-track:after{content:'';display:block;width:18px;height:18px;border-radius:50%;background:#fff;position:absolute;left:3px;top:3px;box-shadow:0 1px 3px #0003;transition:transform .15s}
.legal-toggle input:checked+.legal-toggle-track{background:#366b49;border-color:#366b49}
.legal-toggle input:checked+.legal-toggle-track:after{transform:translateX(18px)}
.legal-toggle input:focus-visible+.legal-toggle-track{outline:3px solid #508a6a;outline-offset:3px}
.legal-info-button{display:grid;place-items:center;background:#f0f5eb;border:1px solid #cbd9c7;border-radius:50%;color:#3b613d;width:32px;height:32px;padding:0;font:600 16px Georgia,serif;cursor:pointer;flex:0 0 32px}
.legal-info-button:focus-visible{outline:3px solid #508a6a;outline-offset:3px}
.legal-info-button[aria-expanded=true]{background:#dcebd8}
.legal-sharing-choice>p{font-size:.9rem;margin:1rem 0 0;padding:1rem;background:#f0f5eb;border-radius:12px}
.legal-agreement-heading{margin-block:1.3rem}
.legal-agreement-heading h3{color:#294d37;font-size:1.2rem;margin:0 0 .5rem}
.legal-agreement-heading p{margin:0;font-size:.95rem}
.legal-version{display:block;margin-top:.6rem;font-size:.8rem;color:#64765d}
.legal-card .legal-context-details{font-size:.88rem;color:#64765d;overflow-wrap:anywhere}
.legal-toggle-track{direction:ltr}
.legal-secondary-option>summary{cursor:pointer;color:#536b5e;font-size:.92rem;padding:.7rem .15rem}
.legal-secondary-option>form{padding:1rem;border:1px solid #d9e3d5;border-radius:16px}
.profile-legal-link{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #dce3d7;font-size:.88rem}
.profile-legal-link a{color:#536b5e;text-decoration:underline;text-underline-offset:.2em}
.legal-page [hidden],.onboarding-panel [hidden]{display:none!important}
@media(max-width:600px){.onboarding-panel{margin-top:1.25rem}.onboarding-progress ol{gap:.4rem}.onboarding-progress li{flex-direction:column;align-items:flex-start;gap:.45rem;font-size:.72rem}.onboarding-step-number{flex-basis:auto;width:25px;height:25px}.onboarding-choice{padding:.9rem}.onboarding-actions{align-items:stretch}.onboarding-actions>a{display:flex;align-items:center}.legal-toggle strong{font-size:.94rem}.legal-heading h1{font-size:2rem}.legal-page{gap:1rem}.legal-context-card{padding:.85rem}.legal-sharing-row{gap:.5rem}}
@media(prefers-reduced-motion:reduce){.onboarding-choice,.legal-toggle-track,.legal-toggle-track:after{transition:none}}
