.consent-page{max-width:1050px;margin:auto;padding:35px 28px 60px;color:#5e4e37}.consent-heading{margin:45px 0 24px}.consent-heading h1{font-size:clamp(2.5rem,5vw,3.7rem);margin:12px 0}.consent-page p{font-size:16px;line-height:1.75}.consent-preview{display:flex;gap:14px;align-items:flex-start;background:#e9e4d4;border:1px solid #d7cbb5;border-radius:14px;padding:18px 22px}.consent-preview svg{flex-shrink:0;margin-top:6px}.consent-preview p{margin:0}.consent-stages{display:flex;gap:8px;margin:24px 0;flex-wrap:wrap}.consent-stages button{padding:12px 18px;font-size:15px;border:1px solid #cdbb9e;border-radius:25px;color:#645037}.consent-stages button[aria-current]{background:#74533c;color:white}.consent-card{padding:32px}.consent-card h2{font-size:1.8rem;line-height:1.3;margin:16px 0}.consent-card h3{font-size:1.25rem}.consent-choices{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0 35px}.consent-choices button{padding:22px;text-align:left;border:2px solid #dacbb3;border-radius:14px;background:#fcf8ef;color:#65543f;font-size:16px}.consent-choices button[aria-pressed=true]{border-color:#745b40;background:#eee5d4}.consent-choices span{display:block;font-size:14px;margin-top:8px}.consent-page fieldset{border:1px solid #d9ccb7;border-radius:12px;margin:28px 0;padding:22px;min-width:0}.consent-page legend{padding:0 8px;font-size:18px;font-weight:600}.consent-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.consent-fields label{font-size:15px;line-height:1.5}.consent-fields input{display:block;width:100%;margin-top:8px;background:#f1ecdf;border:1px solid #cdbd9f;padding:12px;border-radius:8px;color:#70624f;min-height:46px;font-size:16px;box-sizing:border-box}.consent-terms{padding-left:26px}.consent-terms li{padding:4px 0 12px 10px;font-size:16px}.consent-terms h4{margin:8px 0;font-size:17px}.consent-terms p{margin:0;white-space:pre-line}.consent-check{display:flex;gap:10px;align-items:center;font-size:16px;margin:15px 0}.consent-check input{width:20px;height:20px}.consent-signature+.consent-signature,.emergency-person+.emergency-person{border-top:1px solid #d9ccb7;margin-top:24px;padding-top:15px}.counsellor-record summary{font-size:16px;cursor:pointer}.consent-page button:disabled{cursor:not-allowed;opacity:.65}.consent-home,.consent-preview-next{display:inline-block;color:#74533c;text-decoration:underline;text-underline-offset:4px;font-size:16px;margin:20px}.consent-home{margin-left:0}.payment-summary>div{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #d9ccb7;font-size:16px}.payment-summary dd{text-align:right;margin:0}.consent-preview-link{display:inline-block;text-decoration:none;margin:0 0 20px}@media(max-width:620px){.consent-page{padding:24px 16px 40px}.consent-card{padding:20px}.consent-choices,.consent-fields{grid-template-columns:1fr}.consent-page fieldset{padding:15px}.consent-stages button{font-size:14px;padding:10px 13px}.consent-heading{margin-top:30px}.consent-card h2{font-size:1.6rem}}.portal .consent-error-summary{margin:24px 0;padding:22px;border:2px solid #9b493b;border-radius:12px;background:#fff5ed;color:#73362d;outline-offset:4px}.portal .consent-error-summary h3{margin:0 0 8px}.portal .consent-error-summary p{margin:0}.portal .consent-error-summary ul{margin:12px 0 0;padding-left:22px}.portal .consent-error-summary a{text-decoration:underline;text-underline-offset:3px}.portal .consent-field-error{display:block;font-size:14px;line-height:1.5;font-weight:400;color:#8c352d}.portal input[aria-invalid=true]{border:2px solid #9b493b;background:#fff8f2}.portal .consent-check input[aria-invalid=true]{outline:2px solid #9b493b;outline-offset:3px}.client-space{max-width:1240px;margin:auto;padding:0 36px 24px}.client-header{position:static;display:flex;justify-content:space-between;align-items:center;height:auto;padding:28px 0;background:none;border-bottom:1px solid #cdbb9b60}.client-header nav{display:flex;flex-direction:row;align-items:center;gap:26px;color:#7b6b52;font-size:14px}.client-header nav>a[aria-current]{color:#865437;border-bottom:1px solid #b38b68;padding-bottom:5px}.client-exit{display:flex;align-items:center;gap:8px}.client-welcome{padding:45px 0 32px}.client-welcome h1{font-size:clamp(2.7rem,5vw,4rem);color:#544532;margin:16px 0 12px}.client-welcome p{color:#847055}.client-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:25px}.client-next{padding:32px}.client-next>.icon{margin-bottom:21px}.client-next h2{margin:14px 0}.client-next>p{color:#827058;font-size:15px;max-width:430px}.client-steps{margin:28px 0 0;padding-left:23px;color:#815b3f}.client-steps li{padding:0 0 18px 7px}.client-steps strong{font-size:14px;color:#61513c}.client-steps span{display:block;color:#8b785e;font-size:13px;margin-top:4px}.client-next .primary{margin-top:8px}.client-side{display:grid;gap:20px;grid-template-rows:1fr auto}.client-sessions{padding:30px}.client-card-heading{display:flex;align-items:center;gap:14px}.client-card-heading h2{font-size:1.6rem}.client-empty{border:1px dashed #d7c8b1;border-radius:14px;text-align:center;padding:34px 18px;margin-top:24px;color:#9b896d;background:#f5eedf70}.client-empty>svg{margin-bottom:17px}.client-empty h3{font-family:Georgia,serif;font-size:21px;font-weight:400;color:#6e5c43}.client-empty p{font-size:14px;max-width:300px;margin:12px auto 0;color:#89785d}.client-online{display:flex;gap:16px;align-items:flex-start;color:#8a795a;padding:22px}.client-online h3{font-size:15px;color:#6c5c44}.client-online p{font-size:13px;margin-top:6px}.client-prices{display:grid;grid-template-columns:1fr 1fr;gap:24px}.client-prices h3{font:24px Georgia,serif;color:#5e4e37}.client-prices p{font-size:14px;color:#87755a;margin:10px 0 20px}.client-prices strong{font:28px Georgia,serif;color:#946144}.client-prices small{font:12px Arial,sans-serif;color:#938167;margin-left:6px}@media(max-width:700px){.client-space{padding:0 20px 20px}.client-header{align-items:flex-start;gap:24px;flex-direction:column;padding:22px 0}.client-header nav{gap:20px;font-size:12px;flex-wrap:wrap}.client-welcome{padding-top:30px}.client-grid,.client-prices{grid-template-columns:1fr}.client-next,.client-sessions{padding:24px}.client-header .brand{font-size:23px}}.portal{max-width:1280px;margin:auto}.portal h1{font-size:clamp(30px,4vw,48px);line-height:1.2}.portal label{display:grid;gap:8px;margin:16px 0;font-weight:600}.portal input,.portal select{min-width:0;border:1px solid #c8c3b5;border-radius:10px;background:#fcfbf6;color:#343c2f;padding:12px;font:inherit}.portal button:disabled{opacity:.6;cursor:wait}.portal form{max-width:100%}.portal .primary{margin:12px 0;display:inline-flex;align-items:center;justify-content:center;gap:8px}.portal .client-header nav{flex-wrap:wrap}.portal .client-exit{border:0;background:transparent;color:inherit;cursor:pointer;font:inherit}.portal .client-sessions article{border-top:1px solid #ddd9cd;padding:20px 0}.portal .booking-list,.portal .slot-list{display:grid;gap:16px}.portal .slot-card{padding:20px;display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}.portal .status{font-size:13px;font-weight:700;text-transform:capitalize;padding:5px 10px;border-radius:30px;background:#e3e8da;display:inline-block}.portal table{width:100%;border-collapse:collapse;text-align:left}.portal td,.portal th{padding:12px;border-bottom:1px solid #ddd9cd;vertical-align:top}.portal .table-scroll{overflow:auto}.portal .admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.portal .admin-card{padding:24px;margin:24px 0}.portal .account-status{white-space:pre-wrap}.portal .consent-home{display:block;margin:20px 0}.portal .inline-links{display:flex;gap:24px;flex-wrap:wrap;margin:20px 0}.portal .consent-stages{margin:25px 0;display:flex;flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap}.portal .consent-stages span{padding:10px 14px;border:1px solid #d9ccb7;border-radius:24px;font-size:14px}.portal .consent-stages span[aria-current=step]{background:#74533c;border-color:#74533c;color:#fff}.portal .consent-check{display:flex;align-items:flex-start;gap:12px}.portal .consent-check input{margin-top:3px}.portal .mfa-qr{width:220px;height:220px;background:white}.portal .notice{display:block;padding:20px}.portal .success{background:#e3e8da;border-radius:12px;padding:20px}@media(max-width:750px){.portal .admin-grid{grid-template-columns:1fr}.portal .client-header{align-items:flex-start;gap:20px}.portal .client-header nav{gap:12px}.portal table{font-size:13px}}