/* Compact client records and consultation workspace. */
.record-app{--r-wine:#640b27;--r-ink:#30272b;--r-muted:#82717a;--r-line:#e7dde1;min-height:100dvh;background:#faf8f7;color:var(--r-ink);font:14px/1.5 var(--font,Arial,sans-serif)}
.record-app *{box-sizing:border-box}.record-app h1,.record-app h2,.record-app p{margin:0}.record-app a{text-decoration:none;color:inherit}.record-app button,.record-app input,.record-app textarea,.record-app select{font:inherit}.record-app button{cursor:pointer}.record-app button:disabled{opacity:.5;cursor:wait}.record-app :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid #b78394;outline-offset:3px}.record-shell{width:min(1140px,100% - 56px);margin-inline:auto}.record-header{background:#500e26;color:#fff}.record-header>.record-shell{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:20px}.record-brand{font-family:Georgia,serif;font-size:24px;line-height:1.2}.record-brand small{display:block;font:8px/1.7 Arial,sans-serif;letter-spacing:.15em;color:#dcbcc7;margin-top:4px}.record-header nav{display:flex;gap:22px}.record-header nav a{display:flex;align-items:center;gap:7px;font-size:12px;color:#f4e7ec}.record-header nav a:hover{color:#fff;text-decoration:underline}.record-main{padding-top:20px;padding-bottom:35px;min-height:calc(100dvh - 130px)}.record-back{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--r-muted)!important;margin-bottom:15px}.record-back:hover{text-decoration:underline}.record-footer{border-top:1px solid var(--r-line);padding:17px 0;color:#94838b;font-size:10px;text-align:center}.record-page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:23px 0 22px}.record-eyebrow{font-size:9px;letter-spacing:.12em;font-weight:650;color:#946477;margin-bottom:5px!important}.record-page-heading h1{font:550 clamp(23px,2.5vw,31px)/1.25 var(--font,Arial,sans-serif);letter-spacing:-.035em;overflow-wrap:anywhere}.record-page-heading p:not(.record-eyebrow){font-size:12px;color:var(--r-muted);margin-top:7px;overflow-wrap:anywhere}.record-heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.record-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:8px;min-height:38px;padding:9px 14px;font-size:12px!important;line-height:1.4;white-space:nowrap}.record-button.primary{color:white;background:var(--r-wine)}.record-button.primary:hover{background:#7d1738}.record-button.secondary{background:white;border-color:var(--r-line);color:var(--r-wine)}.record-button.secondary:hover{background:#f5edef}.record-text-link{font-size:12px;color:var(--r-wine)!important}.record-text-link:hover{text-decoration:underline}.record-menu{display:flex;gap:4px;border-bottom:1px solid #ded0d7;margin-bottom:20px;overflow:auto}.record-menu button{display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;font-size:13px;padding:13px 18px;border:0;border-bottom:2px solid transparent;background:transparent;color:#8a7580;min-height:47px}.record-menu button[aria-current=page]{border-bottom-color:var(--r-wine);color:var(--r-wine);font-weight:600;background:linear-gradient(0deg,#f3e8ed66,transparent)}.record-menu button span{font-size:10px;padding:1px 6px;background:#ecdee5;border-radius:8px}.record-panel{border:1px solid var(--r-line);border-radius:13px;background:#fff;padding:20px}.compact-section-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}.compact-section-title h2{font:550 17px/1.4 var(--font,Arial,sans-serif)!important;letter-spacing:-.02em}.record-status{font-size:10px;font-weight:550;border:1px solid #e6d8de;border-radius:20px;background:#f8f1f4;color:#825269;padding:4px 9px;white-space:nowrap}.record-status.status-confirmed,.record-status.status-completed{color:#366245;background:#f0f6f1;border-color:#d5e5d9}.record-status.status-pending{background:#fff7e7;color:#8a692b;border-color:#eee0bd}.record-status.status-cancelled,.record-status.status-no_show{color:#986a76;background:#fbf2f4}.compact-consultation-row{display:grid;grid-template-columns:155px 1fr auto 125px;align-items:center;gap:22px;border-top:1px solid #eee5e9;padding:17px 2px}.compact-consultation-row:hover{background:#fcf8fa}.compact-consultation-row:first-child{border-top:0}.compact-date,.compact-consultation-name{display:grid;gap:4px;min-width:0}.compact-date strong,.compact-consultation-name strong{font-size:13px;font-weight:550}.compact-date span,.compact-consultation-name span{font-size:11px;color:var(--r-muted);overflow-wrap:anywhere}.open-consultation{display:flex;align-items:center;justify-content:flex-end;gap:6px;color:var(--r-wine);font-size:11px}.compact-empty{padding:30px 20px;display:grid;justify-items:center;text-align:center;gap:12px;color:#8e7580;font-size:13px}.compact-client-facts{display:grid;grid-template-columns:1fr 1fr;gap:18px 30px;margin:22px 0 3px}.compact-client-facts dt{font-size:11px;color:var(--r-muted);margin-bottom:4px}.compact-client-facts dd{margin:0;font-size:14px;overflow-wrap:anywhere}
.client-access-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;background:#f2ebee;border:1px solid #e4d8de;border-radius:9px;padding:9px 12px;font-size:11px}.client-access-bar .access-identity{display:flex;align-items:center;gap:10px;margin-right:auto}.client-access-bar .access-identity strong{font-size:12px;color:#603447;white-space:nowrap}.client-access-bar .access-state{font-size:10px;color:#88737c}.client-access-bar button,.client-access-bar>a{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #e1d3da;border-radius:6px;color:#692b44;padding:6px 9px;min-height:30px;font-size:11px}.client-access-bar button:hover,.client-access-bar>a:hover{background:#fcf7f9}.client-access-bar> .portal-notice{flex-basis:100%}.record-app .portal-notice{padding:12px 15px;border-radius:8px;margin:12px 0;font-size:12px}.record-app .portal-notice.error{border:1px solid #efcdd5}.record-app .portal-notice.success{border:1px solid #cee1d2}.record-app .compact-dialog{background:transparent;min-height:0}.compact-inline{display:flex;align-items:flex-end;gap:12px}.compact-dialog .p-actions{margin-top:18px}.compact-dialog .portal-copy{padding-top:15px;margin-top:15px}.compact-dialog .p-help{margin-top:12px}
.consultation-form>fieldset{border:0;padding:0;margin:0;min-width:0}.consultation-columns{display:grid;grid-template-columns:1.25fr 1fr;gap:30px}.consultation-columns>section{min-width:0}.consultation-form label{display:grid;gap:7px;font-size:12px;font-weight:550;margin-bottom:14px}.consultation-form input:not([type=checkbox]),.consultation-form textarea{width:100%;border:1px solid #dfd3d9;border-radius:7px;background:#fff;padding:10px 12px;color:#342831;font-size:14px;line-height:1.5;min-height:42px}.consultation-form textarea{resize:vertical}.consultation-form input::placeholder,.consultation-form textarea::placeholder{color:#aa98a2;font-size:13px}.consultation-form .field-help{display:flex;align-items:center;gap:6px;font-size:11px;line-height:1.6;color:#8b7881;font-weight:400}.consultation-form .odu-help{color:#9b7527;margin:-7px 0 19px}.consultation-form .consultation-share{display:flex;align-items:center;gap:9px;margin:0;font-size:12px}.consultation-share input{accent-color:#640b27;width:16px;height:16px}.consultation-share span{display:flex;align-items:center;gap:7px}.sharing-state{display:block;color:#8d7a82;margin:5px 0 0 25px;font-size:11px}.consultation-ebo{border-left:1px solid #e9e0e4;padding-left:30px}.consultation-ebo h2{font-size:16px;font-weight:550;margin:0 0 17px}.consultation-extra{border-top:1px solid #eee4e9;margin-top:22px;padding-top:15px}.consultation-extra summary{font-size:12px;cursor:pointer;color:#8a6576;padding:4px 0}.consultation-extra[open]>.consultation-columns{margin-top:16px}.consultation-save{display:flex;flex-wrap:wrap;gap:10px;border-top:1px solid #eee4e9;margin-top:16px;padding-top:18px}.compact-portal-section.portal{min-height:0;background:transparent}.compact-portal-section .p-card{padding:20px;border-radius:13px;box-shadow:none;border:1px solid #e7dde1;background:#fff}.compact-portal-section .p-stack{gap:12px}.compact-portal-section h2{font-size:20px}.compact-portal-section .p-form{gap:14px;margin-top:14px}.compact-portal-section .p-fields{gap:14px}.compact-portal-section .p-section-heading{margin-bottom:12px}.compact-portal-section .p-help{font-size:11px}.compact-portal-section .p-button{padding:8px 13px;min-height:36px;border-radius:8px;font-size:12px}.compact-portal-section .p-empty{padding:30px 20px}.compact-ebo-details{border:1px solid #e7dde1;border-radius:12px;background:white;overflow:hidden}.compact-ebo-details>summary{cursor:pointer;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none}.compact-ebo-details>summary::-webkit-details-marker{display:none}.compact-ebo-details>summary:after{content:'+';font-size:20px;color:#996c7e}.compact-ebo-details[open]>summary:after{content:'−'}.compact-ebo-details>summary>div{flex:1;min-width:0}.compact-ebo-details>summary strong{font-size:14px;font-weight:550;display:block}.compact-ebo-details>summary small{font-size:11px;display:block;color:#947987;margin-top:4px}.compact-ebo-body{padding:0 18px 18px}.compact-ebo-body>.admin-ebo{padding:16px 0 0!important;border:0!important;border-top:1px solid #eee2e8!important;border-radius:0!important}.compact-ebo-body .admin-ebo h3{font-size:18px}.compact-ebo-body .admin-ebo-steps{margin-top:17px}.compact-ebo-body .admin-ebo-steps>div{padding:13px 0}.compact-ebo-body .p-split{margin:12px 0}.compact-ebo-body .portal-copy{padding:14px!important;margin:10px 0!important}.compact-ebo-body .p-actions{gap:8px}.compact-ebo-body .upload-work{padding:15px}.ebo-verse strong{display:block;font-size:11px;color:#967485}.compact-portal-section .message-section>.p-muted{font-size:12px}.compact-portal-section .message-legend{margin:14px 0}.compact-portal-section .message-list{max-height:390px;gap:12px}.compact-portal-section .message{padding:13px 16px}.compact-portal-section .message-section .p-form{padding-top:16px}
/* Customer view keeps only one task visible at a time. */
.client-dashboard .portal-top{padding:20px 32px;border-bottom:1px solid #eee4e8;max-width:1120px}.client-dashboard .portal-shell{padding:25px 32px 30px;max-width:1040px}.client-dashboard .portal-welcome{margin-bottom:21px}.client-dashboard .portal-welcome h1{font-size:29px;letter-spacing:-.035em;margin:7px 0 0}.client-dashboard .portal-welcome .p-overline{font-size:9px}.client-dashboard .portal-tabs{margin-bottom:24px;padding:4px;border-radius:11px}.client-dashboard .portal-tabs>button{min-height:42px;padding:10px 14px;border-radius:8px}.client-dashboard .p-card{padding:21px 23px;border-radius:14px;box-shadow:none;border:1px solid #e8dde2;background:white}.client-dashboard h2{font-size:21px}.client-dashboard h3{font-size:18px}.client-dashboard .p-section-heading{margin-bottom:12px}.client-dashboard .p-section-heading .p-overline{display:none}.client-dashboard .portal-agenda,.client-dashboard .p-stack{gap:15px}.client-dashboard .portal-appointment{gap:20px}.client-dashboard .appointment-date{min-width:76px;padding:14px 10px;border-radius:10px}.client-dashboard .appointment-date strong{font-size:29px}.client-dashboard .appointment-content>.p-link{margin-top:9px}.client-dashboard .p-form{gap:17px;margin-top:20px}.client-dashboard .p-fields{gap:17px}.client-dashboard .ritual-progress{margin:20px 0 16px}.client-dashboard .ritual-callout{margin-top:17px;padding:16px;border-radius:10px}.client-dashboard .p-empty{padding:30px 20px}.client-dashboard .p-empty h3{font-size:17px}.client-dashboard .client-number{font-size:11px}.client-odu{display:flex;align-items:center;gap:13px;padding:14px 17px;border:1px solid #ddbc6e;border-radius:10px;margin:15px 0 12px;color:#906716;background:linear-gradient(115deg,#fff9e8 10%,#fff1c9 45%,#fffbee 65%,#fff2ce);background-size:200% 100%;box-shadow:0 0 15px #deb64e25,inset 0 1px 0 #fff;animation:odu-shine 6s ease-in-out infinite alternate}.client-odu>svg{color:#b88820;filter:drop-shadow(0 0 4px #deb65b66)}.client-odu small{display:block;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#a47a2e}.client-odu strong{display:block;font-size:19px;font-weight:600;letter-spacing:-.02em;text-shadow:0 0 12px #d9a63055;overflow-wrap:anywhere}.client-shared-notes{border-top:1px solid #eee5e8;padding-top:12px;margin:13px 0}.client-shared-notes summary{font-size:12px;font-weight:550;color:#785163;cursor:pointer}.client-shared-notes .p-preserve{padding:10px 0 2px;color:#705d66}.client-dashboard .ebo-information{display:grid;gap:10px;font-size:13px;margin-bottom:14px}.ebo-information>div>small{display:block;font-size:10px;color:#947485;margin-bottom:3px}.ebo-information>div>p{font-size:13px!important}
@keyframes odu-shine{from{background-position:0% 50%;box-shadow:0 0 12px #deb64e22}to{background-position:100% 50%;box-shadow:0 0 20px #deb64e44}}
@media(max-width:820px){.record-shell{width:calc(100% - 36px)}.record-header nav{gap:15px}.record-header nav a:nth-last-child(2){display:none}.record-page-heading{align-items:flex-start}.record-heading-actions{max-width:230px}.consultation-columns{gap:20px;grid-template-columns:1.15fr 1fr}.consultation-ebo{padding-left:20px}.compact-consultation-row{grid-template-columns:130px 1fr auto;gap:14px}.open-consultation{grid-column:2/4;justify-content:flex-start}.client-access-bar .access-identity{width:auto}.client-dashboard .portal-reserved{display:none}}
@media(max-width:600px){.record-shell{width:calc(100% - 28px)}.record-header>.record-shell{min-height:68px;gap:10px}.record-brand{font-size:21px}.record-brand small{font-size:6px}.record-header nav{gap:14px}.record-header nav a{font-size:0;gap:0;min-width:22px;min-height:40px;justify-content:center}.record-header nav svg{width:19px;height:19px}.record-main{padding-top:15px}.record-page-heading{flex-direction:column;gap:14px;margin:18px 0}.record-page-heading h1{font-size:25px}.record-heading-actions{max-width:none;justify-content:flex-start;gap:10px}.record-button{min-height:42px}.record-menu{gap:0;margin-bottom:16px}.record-menu button{font-size:11px;padding:12px 10px;gap:5px;flex:1}.record-menu button svg{width:14px}.record-panel{padding:16px;border-radius:10px}.client-access-bar{gap:7px;padding:10px}.client-access-bar .access-identity{width:100%;justify-content:space-between;margin-bottom:2px}.client-access-bar button,.client-access-bar>a{font-size:10px;padding:7px;min-height:36px}.compact-consultation-row{grid-template-columns:106px 1fr;gap:10px;padding:15px 0}.compact-consultation-row>.record-status{grid-column:1;justify-self:start}.open-consultation{grid-column:2;grid-row:2;justify-content:flex-end}.compact-date strong,.compact-consultation-name strong{font-size:12px}.compact-date span,.compact-consultation-name span{font-size:10px}.compact-section-title h2{font-size:16px!important}.compact-client-facts{grid-template-columns:1fr;gap:15px}.consultation-columns{grid-template-columns:1fr;gap:22px}.consultation-ebo{border-left:0;border-top:1px solid #e9e0e4;padding:20px 0 0}.consultation-form input:not([type=checkbox]),.consultation-form textarea{font-size:16px}.consultation-form .consultation-share{font-size:11px}.consultation-save{gap:8px}.consultation-save .record-button{flex:1;font-size:11px!important;padding:10px}.compact-portal-section .p-card{padding:16px}.compact-ebo-details>summary{padding:14px}.compact-ebo-body{padding:0 14px 14px}.compact-portal-section .admin-ebo-steps>div{gap:10px}.compact-portal-section .admin-ebo-steps>div>.p-button{margin-left:39px}.compact-inline{flex-wrap:wrap}.client-dashboard .portal-top{padding:17px 18px}.client-dashboard .portal-shell{padding:21px 16px}.client-dashboard .portal-welcome h1{font-size:26px}.client-dashboard .portal-top-actions{gap:10px}.client-dashboard .portal-top-actions>.client-number{display:block;font-size:9px;padding:5px 8px}.client-dashboard .portal-brand{font-size:18px}.client-dashboard .portal-monogram{display:none}.client-dashboard .portal-tabs{gap:2px;margin-bottom:21px}.client-dashboard .portal-tabs>button{font-size:10px;min-height:55px;gap:5px;padding:8px 9px}.client-dashboard .p-card{padding:18px 15px}.client-dashboard .portal-appointment{gap:13px}.client-dashboard .appointment-date{min-width:56px;padding:11px 7px}.client-dashboard .appointment-date strong{font-size:25px}.client-dashboard .appointment-date span{font-size:8px}.client-dashboard .appointment-content h3{font-size:18px}.client-dashboard .p-section-heading>.p-muted{max-width:100px;font-size:10px}.client-odu{padding:12px;gap:9px;margin-top:13px}.client-odu>svg{width:18px}.client-odu strong{font-size:18px}.client-odu small{font-size:8px}.client-dashboard .p-preserve{font-size:12px}.client-dashboard .ritual-progress small{font-size:9px}.client-dashboard .ritual-progress{gap:5px}.client-dashboard .ritual-callout{padding:14px}.client-dashboard .portal-footer{padding:20px 15px}}
@media(prefers-reduced-motion:reduce){.client-odu{animation:none}}

.compact-access-wrap.portal{min-height:0;background:transparent}.compact-client-number{white-space:nowrap;color:#76425a}.compact-client-number strong{font-size:13px;letter-spacing:.03em;margin-left:3px}.access-status{font-size:10px;color:#927783}.access-status.enabled{color:#53775a}.access-status.enabled:before{content:'';display:inline-block;width:5px;height:5px;background:#78a480;border-radius:50%;margin:0 5px 1px 0}.access-bar-actions{display:flex;align-items:center;gap:13px;margin-left:auto}.compact-access-wrap .client-access-bar .p-button{font-size:11px;padding:6px 10px;min-height:31px;border-radius:6px}.compact-access-wrap .client-access-bar .p-link{font-size:11px;padding:5px 0;border:0;background:none}.compact-ebo-details>summary>div>span{display:block;color:#947987;font-size:11px;margin-top:4px}.compact-ebo-body{border-top:1px solid #eee4e8;padding-top:15px}.compact-ebo-body .p-actions{margin-top:8px}.compact-dialog.portal{min-height:0;background:transparent}@media(max-width:600px){.access-bar-actions{width:100%;margin-left:0;gap:13px;flex-wrap:wrap}.compact-access-wrap .client-access-bar .p-button{min-height:36px}.compact-access-wrap .client-access-bar .p-link{font-size:10px}.access-status{margin-left:auto}.compact-access-wrap .client-access-bar{padding:10px 12px}}
