/* Status is a workflow, not an editable clinical field. */
.session-workflow{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px;padding:18px 20px;border:1px solid #d9e1ee;border-radius:20px;background:linear-gradient(145deg,#f7f9fd,#fff)}
.session-workflow[data-state="in_progress"]{border-color:#bad7ca;background:linear-gradient(145deg,#edf8f3,#fff)}
.session-workflow[data-state="completed"]{border-color:#c9d5eb;background:linear-gradient(145deg,#eef3fb,#fff)}
.session-workflow[data-state="cancelled"]{border-color:#e7c9c9;background:linear-gradient(145deg,#fff4f4,#fff)}
.session-workflow-copy{display:flex;align-items:flex-start;gap:14px}.session-workflow-copy>div{display:grid;gap:4px}.session-workflow-copy p{margin:0;color:var(--muted);font-size:13px}.session-workflow-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}.workflow-inline-note{color:#65738a;font-size:11px;white-space:nowrap}.session-workflow-reason{flex-basis:100%;padding-top:16px;border-top:1px solid #dce2eb}.session-workflow-reason label{display:grid;gap:7px}.session-workflow-reason>div{display:flex;gap:8px;margin-top:10px}.session-workflow .danger,.appointment-workflow .danger{color:#a52323;border-color:#e4bcbc;background:#fff5f5}
.session-planning .quick-execution,.session-planning .change-details,.session-planning .response-note{opacity:.38}.session-planning .section.grid.two:last-of-type{opacity:.45}.session-locked .plan-item,.session-locked .framework,.session-locked .priority-grid,.session-locked>.grid.two{opacity:.72}.session-locked input:disabled,.session-locked textarea:disabled,.session-locked select:disabled{color:#263044;background:#f4f6fa;opacity:1}.session-locked .save-repuli-exercise{display:none}
.appointment-workflow .item-head{align-items:flex-start}.appointment-workflow-actions{display:flex;flex-wrap:wrap;gap:8px}.appointment-status-reason{margin:16px 0;padding:16px;border:1px solid #e5c3c3;border-radius:16px;background:#fff6f6}.appointment-status-reason button{margin-top:10px}.appointment-terminal .appointment-edit-fields{opacity:.7}.appointment-terminal input:disabled,.appointment-terminal textarea:disabled,.appointment-terminal select:disabled{color:#273247;background:#f4f6f9;opacity:1}
@media(max-width:800px){.session-workflow{align-items:stretch;flex-direction:column}.session-workflow-actions,.appointment-workflow-actions{justify-content:stretch}.session-workflow-actions button,.appointment-workflow-actions button{width:100%}}

.home-program-decision{display:flex;align-items:flex-start;flex-wrap:wrap;gap:10px;margin-top:14px;padding:16px;border:1px solid #dce4ef;border-radius:16px;background:#f7f9fd}.home-program-decision .no-home-program-reason{flex-basis:100%;margin-top:4px}.home-program-planning-note{flex-basis:100%;margin:0}.session-closure-check{margin:0 0 22px;padding:22px;border:1px solid #e2c879;border-radius:22px;background:linear-gradient(145deg,#fff9e8,#fff)}.session-closure-check.ready{border-color:#9bcab6;background:linear-gradient(145deg,#eef9f4,#fff)}.session-closure-check h3{margin:4px 0 0}.closure-check-list{display:grid;gap:8px;margin:16px 0}.closure-check-list button{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;text-align:left;color:#253246;background:#fff;border:1px solid #dfe5ee}.closure-check-list button.done{color:#176b4a;border-color:#c7e3d6;background:#f4fbf7}.closure-check-list button.missing{color:#8d5b00;border-color:#ead7a4;background:#fffdf7}.closure-check-list button span{font-size:18px}.closure-check-list button small{color:inherit}.session-closure-check .editor-actions{position:static;margin:16px 0 0;padding:16px 0 0;background:transparent}@media(max-width:700px){.home-program-decision{flex-direction:column}.home-program-decision>button{width:100%}.closure-check-list button{grid-template-columns:26px 1fr}.closure-check-list button small{grid-column:2}.session-closure-check .editor-actions{align-items:stretch;flex-direction:column}}
.delivery-roadmap .section-heading{align-items:flex-end}.roadmap-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.roadmap-summary>div{padding:16px 18px;border:1px solid #dce3f0;border-radius:18px;background:#f7f9fd;display:flex;flex-direction:column}.roadmap-summary strong{font-size:24px}.roadmap-summary span{color:#687386;font-size:13px}.roadmap-summary .needs-plan{border-color:#efc15a;background:#fff9e9}.roadmap-list{display:grid;gap:12px}.roadmap-card{display:grid;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px;border:1px solid #dce3f0;border-radius:20px;background:#fff}.roadmap-card>time{display:flex;flex-direction:column;padding-right:16px;border-right:1px solid #e4e9f2}.roadmap-card>time b{font-size:21px}.roadmap-card>time span,.roadmap-main p,.roadmap-main small{color:#687386}.roadmap-card.unplanned{border-left:5px solid #e4b33f}.roadmap-card.planned{border-left:5px solid #174de5}.roadmap-card.cancelled{opacity:.62;background:#f3f4f6}.roadmap-main h3{margin:4px 0 8px}.roadmap-main p{margin:0}.roadmap-card button{white-space:nowrap}@media(max-width:760px){.roadmap-summary{grid-template-columns:repeat(2,1fr)}.roadmap-card{grid-template-columns:1fr}.roadmap-card>time{border-right:0;border-bottom:1px solid #e4e9f2;padding:0 0 10px}.roadmap-card button{width:100%}}
.catalog-price{display:grid;gap:2px;margin-top:12px}.catalog-price small{color:#7a6330;font-size:10px;font-weight:800;letter-spacing:.12em}.catalog-price strong{color:#102c78;font-size:26px;line-height:1.1}.catalog-price-hint{margin:10px 0 0;padding:10px 12px;border-left:3px solid #d4af62;border-radius:8px;background:#fff9e9;color:#67552f;font-size:12px}
.catalog-header-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.catalog-template-link{display:inline-flex;align-items:center;padding:12px 16px;border-radius:12px;text-decoration:none}.catalog-import-editor{margin-bottom:22px}.catalog-import-steps{display:flex;gap:9px;margin:18px 0}.catalog-import-steps span{display:flex;align-items:center;gap:7px;padding:9px 13px;border-radius:999px;background:#eef3ff;color:#294a88;font-size:12px;font-weight:700}.catalog-import-steps b{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:#174de5;color:#fff}.catalog-import-drop{position:relative;display:grid;gap:5px;margin:18px 0;padding:28px;border:1px dashed #91a9d5;border-radius:20px;background:linear-gradient(145deg,#f2f6ff,#fff);text-align:center}.catalog-import-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.catalog-import-drop strong{color:#123685;font-size:18px}.catalog-import-drop small{color:var(--muted)}.catalog-import-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.catalog-import-summary article{padding:16px;border:1px solid var(--line);border-radius:16px;background:#f8fafc}.catalog-import-summary strong,.catalog-import-summary span{display:block}.catalog-import-summary strong{font-size:24px}.catalog-import-summary span{color:var(--muted);font-size:12px}.catalog-import-summary .valid{border-color:#acd6c2;background:#f0faf5}.catalog-import-summary .duplicate{border-color:#ead593;background:#fff9e9}.catalog-import-summary .invalid{border-color:#e6b8b8;background:#fff4f4}.catalog-import-table{overflow-x:auto;border:1px solid var(--line);border-radius:16px}.catalog-import-row{display:grid;grid-template-columns:50px minmax(180px,1.4fr) 120px minmax(180px,1fr) minmax(180px,1fr);min-width:850px;border-bottom:1px solid #e5eaf1}.catalog-import-row:last-child{border-bottom:0}.catalog-import-row>*{display:block;padding:12px}.catalog-import-row small{display:block;margin-top:4px;color:var(--muted);font-weight:400}.catalog-import-row.header{background:#0a1730;color:#fff;font-size:11px;font-weight:800;letter-spacing:.06em}.catalog-import-row.valid{box-shadow:inset 4px 0 #2e996d}.catalog-import-row.duplicate{box-shadow:inset 4px 0 #d5a72d}.catalog-import-row.invalid{box-shadow:inset 4px 0 #c64d4d}.catalog-import-confirm{margin-top:18px}.catalog-import-confirm textarea{min-height:76px}@media(max-width:800px){.catalog-header-actions{justify-content:stretch}.catalog-header-actions>*{flex:1;text-align:center}.catalog-import-summary{grid-template-columns:repeat(2,1fr)}.catalog-import-steps{align-items:stretch;flex-direction:column}}
.calendar-staff header,.calendar-staff header strong{color:var(--text)}
.appointment-patient-field{position:relative}.appointment-patient-field>select[hidden]{display:none}.patient-episode-search{position:relative}.patient-search-input{display:grid;grid-template-columns:auto 1fr auto;align-items:center;border:1px solid #cbd6dc;border-radius:10px;background:#fff}.patient-search-input:focus-within{border-color:var(--klein);box-shadow:0 0 0 3px rgba(0,47,167,.1)}.patient-search-input>span{padding-left:12px;color:var(--klein);font-size:20px}.patient-search-input input{border:0;box-shadow:none}.patient-search-input button{padding:7px 12px;color:#697386}.patient-search-selection{display:flex;align-items:baseline;gap:8px;min-height:29px;padding:7px 10px;border-radius:0 0 10px 10px;background:#eef3ff}.patient-search-selection strong{color:#11234d}.patient-search-selection span{color:#5c6880;font-size:11px}.patient-search-results{position:absolute;z-index:20;top:52px;left:0;right:0;display:grid;max-height:330px;overflow:auto;padding:7px;border:1px solid #cbd6dc;border-radius:14px;background:#fff;box-shadow:0 18px 45px rgba(12,24,50,.2)}.patient-search-results button{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:11px 12px;color:var(--text);background:#fff;text-align:left}.patient-search-results button:hover{background:#eef3ff;box-shadow:none}.patient-search-results button strong{grid-column:1}.patient-search-results button span{grid-column:1;color:#596579;font-size:12px}.patient-search-results button small{grid-column:2;grid-row:1/3;align-self:center;color:#7b8595}.patient-search-results p{margin:8px;color:var(--muted);font-size:12px}
.calendar-availability{width:auto;border:0;text-align:left;cursor:pointer}.calendar-availability span,.calendar-availability small{display:block;color:inherit}.calendar-availability small{margin-top:3px;font-size:9px;opacity:.8}.calendar-availability:hover{filter:brightness(.96);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--clinic-color) 38%,transparent)}.availability-edit .editor-actions>div{display:flex;gap:8px}.availability-edit .danger{color:#a52323;background:#fff5f5}

.session-start-warning{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;padding:14px 16px;border:1px solid #e3bd58;border-radius:14px;background:#fff8e4;color:#6e4c00}.session-start-warning strong{width:100%;color:#8b5000}.session-start-warning p{width:100%;margin:0;color:#6d6250;font-size:12px}.session-start-warning button{padding:8px 11px;color:#173a7a;background:#fff}.approved-cue-choices{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:9px}.approved-cue-choices small{color:#4a5b77;font-weight:800}.approved-cue-choices button{padding:7px 10px;color:#173a7a;background:#eef3ff;box-shadow:none;font-size:12px}
/* Planning cards show the governed Plan only; Actual/Response opens after treatment starts. */
.session-planning .quick-execution,.session-planning .change-details,.session-planning .response-note,.session-planning .plan-item-editor>label:last-of-type{display:none}
.session-planning .delivery-quick-entry{display:none}
