/* Styling for account conversations and controlled programme sources. */
:root {--programme-rule:#d9dddc;}
.client-conversations {width:min(840px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:0;border:1px solid #d6dcda;border-radius:16px;background:#fbfbf9;color:#202729;box-shadow:0 30px 100px #1118;}
.client-conversations::backdrop {background:#10181988;backdrop-filter:blur(5px);}
.conversation-header {position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 30px;background:#fbfbf9;border-bottom:1px solid #d9dddc;}
.conversation-header h2 {font-size:25px;line-height:1.35;letter-spacing:-.5px;margin:0;overflow-wrap:anywhere;}
.conversation-body {padding:22px 30px 30px;}.conversation-back {padding:7px 0;border:0;background:none;color:#6b7476;cursor:pointer;font:inherit;}
.conversation-intro,.conversation-service-note {font-size:14px;line-height:1.7;color:#626d70;}
.conversation-context {margin:16px 0 24px;padding:14px 0;border-top:1px solid #dde1df;border-bottom:1px solid #dde1df;display:grid;gap:10px;}
.conversation-context:empty {display:none;}.conversation-context>div {display:grid;grid-template-columns:76px minmax(0,1fr);gap:16px;line-height:1.6;}.conversation-context dt {font-size:12px;color:#687274;}.conversation-context dd {margin:0;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:160px;overflow:auto;}
.conversation-field {display:grid;gap:8px;margin:20px 0;font-size:14px;font-weight:600;}
.conversation-field :is(input,textarea),.conversation-body>input {box-sizing:border-box;width:100%;min-width:0;padding:12px 14px;border:1px solid #bdc6c3;border-radius:7px;background:white;font-family:inherit;font-size:15px;font-weight:400;line-height:1.65;color:#202729;}
.conversation-field textarea {font-family:inherit;font-size:15px;line-height:1.7;resize:vertical;}.conversation-body>input {margin-top:20px;}
.conversation-status {font-size:14px;color:#4d5a5e;line-height:1.6;}
.conversation-history {list-style:none;padding:0;margin:24px 0;}.conversation-message {padding:24px 0;border-bottom:1px solid #d9dddc;}.conversation-message.from-j7 {padding-left:18px;border-left:2px solid #9b6c3c;}.conversation-message-meta {display:flex;justify-content:space-between;gap:20px;font-size:13px;}.conversation-message-meta time {color:#697375;}.conversation-message-body {white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.8;}.conversation-agreement {padding-top:12px;font-size:13px;line-height:1.65;color:#825c31;}
.conversation-list-row {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 20px;width:100%;text-align:left;padding:20px 0;border:0;border-bottom:1px solid #d9dddc;border-radius:0;background:none;color:#202729;cursor:pointer;}.conversation-list-row strong {font-size:16px;}.conversation-list-row span {grid-column:1;font-size:13px;color:#5a696d;}.conversation-list-row small {grid-column:2;grid-row:1/3;align-self:center;color:#5a696d;}.conversation-list-row:hover strong {color:#885d2d;}.conversation-pages {display:flex;justify-content:space-between;align-items:center;margin-top:18px;gap:12px;}
@media(max-width:600px){.client-conversations{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:12px}.conversation-header,.conversation-body{padding:18px}.conversation-header{align-items:flex-start;gap:12px}.conversation-header h2{font-size:21px}.conversation-header button{font-size:12px;max-width:110px}.conversation-list-row{grid-template-columns:1fr}.conversation-list-row small{grid-column:1;grid-row:auto}.conversation-message-meta{flex-wrap:wrap;gap:6px}.conversation-context>div{grid-template-columns:1fr;gap:3px}}
.programme-commitments {padding:28px 30px;background:white;border:1px solid #d7dcda;border-radius:12px;margin:28px 0;}
.programme-commitments[hidden] {display:none;}
.programme-commitments .button.secondary,.issued-programme-source .programme-source-actions .button.secondary,.issued-programme-source>.button.secondary {display:inline-flex;align-items:center;justify-content:center;min-height:40px;max-width:100%;padding:10px 14px;border:1px solid #b8b9b3;border-radius:7px;background:#fff;color:#252b2e;font:inherit;font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;}
.programme-commitments .button.secondary:hover,.issued-programme-source .programme-source-actions .button.secondary:hover,.issued-programme-source>.button.secondary:hover {background:#f3f4f1;border-color:#929b97;}
.programme-source-recorder>button.button {min-height:40px;padding:10px 14px;border:1px solid;border-radius:7px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;}
.programme-commitments--embedded {padding:0;margin:0;border:0;border-radius:0;}
.programme-commitments--embedded .programme-commitment-periods {display:grid;gap:0;margin-bottom:18px;}
.programme-commitments--embedded .programme-commitment-periods p {border-bottom:1px solid #e5e7e5;padding:12px 0;margin:0;}
.programme-commitments h2 {margin:0;font-size:22px;}.programme-commitments p {color:#596365;}
.programme-commitment-source {display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:20px 0 10px;}.programme-commitment-source span{font-size:13px;color:#687172;}
.programme-commitment-periods {display:flex;flex-wrap:wrap;gap:18px 36px;margin-bottom:18px;}.programme-commitment-periods p{display:grid;gap:8px;flex:1 1 190px;line-height:1.65;}.programme-commitment-periods strong{font-size:14px;color:#293234;}
.issued-programme-source {padding:30px 0 38px;border-top:1px solid var(--programme-rule);border-bottom:1px solid var(--programme-rule);margin:24px 0;}
.issued-programme-source[hidden] {display:none;}
.programme-source-header {display:flex;align-items:flex-start;justify-content:space-between;gap:30px;}
.programme-source-header h2 {font-size:clamp(24px,2.5vw,34px);font-weight:560;line-height:1.25;max-width:750px;margin:10px 0 12px;letter-spacing:-.6px;}
.programme-source-eyebrow {font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#986029;font-weight:650;}
.programme-source-origin,.programme-source-page {font-size:13px;color:#677073;}
.programme-source-actions {display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.programme-source-modes {display:flex;gap:22px;border-bottom:1px solid var(--programme-rule);margin-top:28px;}
.programme-source-modes button {border:0;border-radius:0;background:transparent!important;box-shadow:none;color:#50595b;padding:14px 0;}
.programme-source-modes button[aria-pressed=true] {border-bottom:2px solid #a15f2f;color:#192125;}
.programme-source-phases {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:26px;}
.programme-source-phase {text-align:left;display:flex;flex-direction:column;gap:13px;border:0;border-bottom:1px solid #ccd1d0;background:transparent;padding:22px 24px;color:#242b2d;min-width:0;font:inherit;cursor:pointer;transition:background .2s;}
.programme-source-phase:hover {background:#f0efea;}
.programme-source-phase[aria-pressed=true] {border-bottom:2px solid #995d2f;background:#f1eee8;}
.programme-source-phase-index {font-size:12px;color:#92683a;}
.programme-source-phase strong {font-size:21px;font-weight:560;}
.programme-source-timing {font-size:14px;line-height:1.5;color:#5c6567;}
.programme-source-phase-detail {max-width:850px;padding:28px 24px 4px;}
.programme-source-phase-detail h3 {font-size:20px;}.programme-source-phase-detail p {line-height:1.8;}
.programme-source-wording {max-width:900px;margin:26px auto;}
.programme-source-wording section {padding:20px 0;border-bottom:1px solid var(--programme-rule);}
.programme-source-transcript {white-space:pre-wrap;font-size:15px;line-height:1.85;}
.programme-source-recorder {display:grid;gap:18px;max-width:760px;padding:25px 0;}
.programme-source-recorder label {display:grid;gap:7px;font-size:14px;}.programme-source-recorder input {min-height:44px;padding:10px;border:1px solid #bbc1c0;border-radius:6px;}
.programme-source-recorder .programme-source-confirmation {display:flex;align-items:center;gap:12px;}
@media(max-width:650px){.programme-source-header{display:block}.programme-source-actions{justify-content:flex-start;margin-top:20px}.programme-source-phases{grid-template-columns:1fr}.programme-source-phase{display:grid;grid-template-columns:25px 1fr;padding:16px 8px;gap:10px}.programme-source-timing{grid-column:2}.programme-source-phase-detail{padding:20px 8px}.issued-programme-source{padding:22px 0}.programme-source-recorder{width:100%;}}
