.record-choice-entry { display:flex; align-items:center; gap:12px; width:100%; max-width:390px; margin-top:16px; padding:15px 18px; border:1px solid #e0e4d6; border-radius:17px; background:#f9faf4b0; color:#405340; text-align:left; cursor:pointer; font:inherit; transition:background 160ms ease, border-color 160ms ease; }
.record-entry-icon { display:grid; place-items:center; flex:0 0 34px; height:34px; border-radius:11px; background:#edf2e4; font-size:14px; color:#82946f; }
.record-choice-entry > span:not(.record-entry-icon) { display:grid; gap:4px; flex:1; min-width:0; }
.record-choice-entry strong { font-size:13px; font-weight:500; }
.record-choice-entry small { font-size:11px; line-height:1.6; color:#7a856f; }
.record-choice-entry > i:last-child { font-size:9px; color:#829276; }
.record-choice-entry:hover { background:#f0f5e7; border-color:#cfd9c0; }
@media (max-width:900px) { .record-choice-entry { max-width:none; margin-top:14px; } }
.record-choices-dialog { width:min(570px, calc(100vw - 28px)); max-height:calc(100dvh - 40px); padding:0; border:1px solid #dce3d3; border-radius:26px; background:#fbfcf7; color:#354a3b; box-shadow:0 26px 90px #20392b30; overflow:auto; overscroll-behavior:contain; }
.record-choices-dialog::backdrop { background:#1b30244d; backdrop-filter:blur(7px); }
.record-choices-heading { position:relative; padding:28px 30px 14px; }
.record-choices-symbol { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:#eaf0df; color:#7c8e63; margin-bottom:18px; }
.record-choices-close { position:absolute; top:18px; right:18px; display:grid; place-items:center; width:34px; height:34px; padding:0; border:0; border-radius:50%; background:#f0f2e9; color:#66775f; cursor:pointer; }
.record-choices-heading .eyebrow { font-size:.6rem; letter-spacing:.15em; }
.record-choices-heading h2 { margin:8px 0 10px; font-family:var(--serif); font-size:2.7rem; font-weight:400; line-height:1.07; letter-spacing:-.025em; }
.record-choices-heading p { max-width:420px; margin:0; font-size:.86rem; line-height:1.65; color:#6c7867; }
.record-choices-body { padding:0 22px 16px; }
.record-choice { position:relative; display:grid; grid-template-columns:32px 1fr 34px; gap:10px; align-items:start; padding:19px 8px; border-bottom:1px solid #e2e7db; cursor:pointer; }
.record-choice-icon { display:grid; place-items:center; width:30px; height:30px; border-radius:10px; background:#eff2e8; color:#7c8a6d; font-size:13px; }
.record-choice-copy { display:grid; gap:6px; }
.record-choice-copy strong { font-size:.88rem; font-weight:550; }
.record-choice-copy > span { font-size:.78rem; line-height:1.6; color:#65735e; }
.record-choice-copy small { font-size:.69rem; line-height:1.55; color:#7e8777; }
.record-choice input { position:absolute; opacity:0; width:1px; height:1px; }
.record-choice-switch { width:34px; height:21px; border-radius:20px; background:#d5dcce; margin-top:3px; transition:background .18s; }
.record-choice-switch::after { content:""; display:block; width:17px; height:17px; border-radius:50%; margin:2px; background:#fff; box-shadow:0 1px 3px #25352126; transition:transform .18s; }
.record-choice input:checked + .record-choice-switch { background:#6c845b; }
.record-choice input:checked + .record-choice-switch::after { transform:translateX(13px); }
.record-choice:has(input:disabled) { opacity:.55; cursor:default; }
.record-choice:has(input:focus-visible) { outline:2px solid #748b65; outline-offset:3px; border-radius:12px; }
.record-choice-availability { margin:7px 8px 0; color:#887358; font-size:.73rem; }
.record-privacy-note { display:flex; gap:10px; padding:14px; border-radius:13px; background:#eef2e7; margin:18px 0 10px; }
.record-privacy-note i { margin-top:4px; color:#7c8d6c; font-size:11px; }
.record-privacy-note p { margin:0; font-size:.73rem; line-height:1.65; color:#62735b; }
.record-privacy-details { padding:4px 8px; }
.record-privacy-details summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:16px; cursor:pointer; font-size:.75rem; padding:10px 0; }
.record-privacy-details summary::-webkit-details-marker { display:none; }
.record-privacy-details summary i { font-size:9px; transition:transform .18s; }
.record-privacy-details[open] summary i { transform:rotate(180deg); }
.record-privacy-details dl { display:grid; gap:17px; margin:10px 0; }
.record-privacy-details dt { font-size:.77rem; font-weight:550; margin-bottom:5px; }
.record-privacy-details dd { margin:0; font-size:.73rem; line-height:1.7; color:#6a7762; }
.record-choices-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:16px 24px; border-top:1px solid #e1e6d8; background:#f5f7ee; }
.record-choices-footer p { font-size:.71rem; color:#6f7d64; flex:1 1 120px; margin:0; }
.record-choices-footer .button { font-size:.77rem; padding:11px 16px; min-height:42px; }
.record-status { border:0; background:transparent; color:#767364; padding:3px 5px; display:inline-flex; align-items:center; gap:7px; font:inherit; font-size:.66rem; cursor:pointer; white-space:nowrap; }
.record-status-dot { width:5px; height:5px; border-radius:50%; background:#ad7966; flex:none; }
.record-status:focus-visible, .record-choice-entry:focus-visible, .record-choices-close:focus-visible { outline:2px solid #748b65; outline-offset:3px; }
.record-readonly-state { font-size:.72rem; color:#6e7a63; white-space:nowrap; }
.record-readonly-state[data-active="true"] { color:#526a40; }
.call-view[data-role="client"] .call-badges:has(.record-status:not([hidden])) { grid-column:auto; padding:0; margin:0; }
.call-view[data-role="therapist"] .call-badges:has(.record-status:not([hidden])) { flex-basis:auto; }
.call-view[data-role="client"] .record-choice-call { width:38px; min-width:38px; padding:0; }
@media (max-width:700px) {
    .record-choices-heading { padding:24px 22px 12px; }
    .record-choices-heading h2 { font-size:2.35rem; }
    .record-choices-body { padding-inline:14px; }
    .call-view[data-role="client"] .call-badges:has(.record-status:not([hidden])) { grid-column:1 / -1; justify-content:center; }
}
@media (prefers-reduced-motion:reduce) { .record-choice-switch, .record-choice-switch::after, .record-privacy-details summary i { transition:none; } }

.client-brand-line { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.therapist-call-header .call-badges { display:inline-flex; margin-left:10px; vertical-align:middle; }
.record-status:disabled { opacity:1; cursor:default; }
.call-badges .record-status { letter-spacing:normal; text-transform:none; }
