.crpd-workflow { margin-top: 1rem; }
.crpd-reservation-editor [hidden]{display:none!important}
.crpd-support-upload [hidden]{display:none!important}
.crpd-reservation-editor .crpd-edit-teacher-info{font-size:12px;font-weight:400;color:#52605a;overflow-wrap:anywhere}
.crpd-reservation-editor .crpd-edit-field-error{font-size:13px;color:#922626;border-left:3px solid #b23535;padding:6px 10px;background:#fff1f1;grid-column:1/-1}
.crpd-reservation-editor [aria-invalid=true]{border-color:#b23535!important}
.crpd-workflow.crpd-lifecycle .crpd-state-controls{padding:12px;border:1px solid #dce2dc;border-radius:8px;background:#fafbf9}
.crpd-workflow.crpd-lifecycle .crpd-state-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}
.crpd-workflow.crpd-lifecycle .crpd-state-actions>.crpd-quick-action{flex:0 0 auto}
.crpd-workflow.crpd-lifecycle .crpd-state-actions>.crpd-quick-action>form{margin:0}
.crpd-workflow.crpd-lifecycle .crpd-state-actions .crpd-action-buttons{margin:0;display:flex;gap:8px;flex-wrap:wrap}
.crpd-workflow.crpd-lifecycle .crpd-state-actions>button,.crpd-workflow.crpd-lifecycle .crpd-state-actions>.crpd-quick-action button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;height:44px;margin:0;padding:7px 12px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.3;border:1px solid #c0dbb9;border-radius:6px;box-shadow:none}
.crpd-workflow.crpd-lifecycle .crpd-state-actions>.crpd-state-reason-panel{order:100;flex:1 0 100%;min-width:0;padding:12px 0 0;border-top:1px solid #dce2dc}
.crpd-workflow.crpd-lifecycle .crpd-state-reason-panel[hidden]{display:none!important}
.crpd-workflow.crpd-lifecycle .crpd-state-reason-panel form{margin:0;max-width:100%}
.crpd-workflow.crpd-lifecycle .crpd-state-actions>.crpd-state-danger{color:#992525!important;background:#fff0f0!important;border-color:#dcaaaa!important}
.crpd-workflow.crpd-lifecycle .crpd-state-actions>p{flex-basis:100%;margin:4px 0}
.crpd-workflow .crpd-document-card,.crpd-workflow>details { border:1px solid #ccd9e3;border-radius:8px;padding:1rem;margin:.8rem 0;background:#fff; }
.crpd-workflow h4 { margin:0 0 .5rem;font-size:1.05rem; }
.crpd-workflow-form { display:flex;flex-direction:column;gap:.6rem;margin:1rem 0; }
.crpd-workflow-form label { display:flex;flex-direction:column;gap:.4rem; }
.crpd-workflow-form input,.crpd-workflow-form select,.crpd-workflow-form textarea { max-width:100%;width:100%;box-sizing:border-box; }
.crpd-workflow-form button,.crpd-state-legend summary { min-height:44px;cursor:pointer; }
.crpd-lifecycle { border:1px solid #ccd9e3;border-radius:8px;padding:1rem;background:#fff;overflow-wrap:anywhere; }
.crpd-state-legend { margin:1rem 0; }
.crpd-workflow label { display:flex;flex-direction:column;gap:.4rem; }
.crpd-workflow input,.crpd-workflow select,.crpd-workflow textarea { max-width:100%;width:100%;box-sizing:border-box; }
.crpd-workflow button,.crpd-workflow summary { min-height:44px;cursor:pointer; }
.crpd-workflow small { display:block;line-height:1.5; }
.crpd-workflow .crpd-version-stamp { margin:.4rem 0;color:#52616d; }
.crpd-workflow .crpd-message { border-bottom:1px solid #dbe2e8;padding:.5rem 0;overflow-wrap:anywhere; }
.crpd-unread { color:#805500;background:#fff1c2;border-radius:6px;padding:2px 5px;font-weight:600; }
.crpd-unread:empty { display:none; }
.crpd-workflow :focus-visible { outline:3px solid #0879aa;outline-offset:2px; }
.crpd-workflow input[type="checkbox"] { width:auto;align-self:flex-start; }
.crpd-workflow .crpd-document-card { overflow-wrap:anywhere; }
.crpd-workflow .crpd-quick-actions { display:flex;flex-wrap:wrap;align-items:flex-start;gap:.6rem; }
.crpd-workflow .crpd-quick-actions>p { flex-basis:100%;margin:.3rem 0; }
.crpd-workflow .crpd-quick-action { min-width:0;max-width:100%; }
.crpd-workflow .crpd-quick-action>summary,.crpd-workflow .crpd-support-upload>summary { box-sizing:border-box;min-height:44px;padding:.6rem .85rem;border:1px solid #b8cbd8;border-radius:6px;background:#f3f8fb;color:#174b64;font-weight:600;cursor:pointer; }
.crpd-workflow .crpd-action-danger>summary { background:#fff;color:#8b3030;border-color:#d8baba; }
.crpd-workflow .crpd-quick-action[open] { flex:1 1 100%; }
.crpd-workflow .crpd-quick-action[open]>summary { width:fit-content; }
.crpd-workflow .crpd-quick-action .crpd-workflow-form { margin:.6rem 0;max-width:46rem; }
.crpd-workflow .crpd-quick-actions>.crpd-quick-action { margin:0;padding:0; }
.crpd-workflow .crpd-quick-actions>div.crpd-quick-action>.crpd-workflow-form { margin:0; }
.crpd-workflow .crpd-quick-actions>.crpd-quick-action>summary,
.crpd-workflow .crpd-quick-actions>div.crpd-quick-action>.crpd-workflow-form>.crpd-action-buttons>button {
 box-sizing:border-box;min-height:44px;margin:0;padding:.6rem .85rem;font-family:inherit;font-size:inherit;font-weight:600;line-height:1.4;border-width:1px;border-style:solid;border-radius:6px;
}
/* Conversation bubbles: visual treatment only; message order and permissions unchanged. */
.crpd-workflow article.crpd-message{box-sizing:border-box;width:fit-content;max-width:85%;min-width:0;margin:10px auto 10px 0;padding:10px 14px;border:1px solid #d6e2e5;border-radius:16px 16px 16px 4px;background:#fff;color:#193c4a;box-shadow:0 2px 5px rgba(20,55,65,.09);overflow-wrap:anywhere;justify-self:start}
.crpd-workflow article.crpd-message.is-own{margin-left:auto;margin-right:0;justify-self:end;background:#e3f3e8;border-color:#c4dfce;border-radius:16px 16px 4px 16px}
.crpd-workflow article.crpd-message.is-system{margin-left:auto;margin-right:auto;justify-self:center;background:#edf2f5;border-color:#d7e1e7;border-radius:12px;color:#415461;font-size:13px}
.crpd-workflow article.crpd-message p{margin:6px 0 0;line-height:1.55}
.crpd-workflow article.crpd-message header,.crpd-workflow article.crpd-message>p:first-child{gap:6px 16px}
.crpd-workflow article.crpd-message time,.crpd-workflow article.crpd-message .crpd-version-stamp{font-size:12px;color:#536575}
@media(max-width:600px){.crpd-workflow article.crpd-message{max-width:95%;padding:9px 11px}.crpd-workflow article.crpd-message.is-system{max-width:100%}}
.crpd-workflow .crpd-quick-actions>.crpd-quick-action>summary { display:flex;align-items:center;gap:.45rem;list-style:none; }
.crpd-workflow .crpd-quick-actions>.crpd-quick-action>summary::-webkit-details-marker { display:none; }
.crpd-workflow .crpd-quick-actions>.crpd-quick-action>summary::before { content:'▸';flex:none;margin:0; }
.crpd-workflow .crpd-quick-actions>.crpd-quick-action[open]>summary::before { content:'▾'; }
.crpd-workflow .crpd-quick-actions>div.crpd-quick-action>.crpd-workflow-form>.crpd-action-buttons>button { display:inline-flex;align-items:center;justify-content:center; }
.crpd-workflow .crpd-action-buttons { display:flex;flex-wrap:wrap;gap:.5rem; }
.crpd-workflow .crpd-workflow-form button { width:auto;align-self:flex-start;padding:.55rem .9rem; }
.crpd-workflow .crpd-action-back { background:#fff;color:#344652;border:1px solid #b8cbd8;border-radius:5px; }
.crpd-workflow .crpd-action-back[hidden] { display:none; }
.crpd-workflow.crpd-lifecycle>.crpd-state-legend { border:0;padding:0;margin:.2rem 0;background:transparent; }
.crpd-workflow .crpd-state-legend>summary { display:flex;align-items:center;min-height:44px;width:fit-content;color:#315b75; }
.crpd-workflow .crpd-state-legend>summary::before { content:'▸';margin-right:.4rem; }
.crpd-workflow .crpd-state-legend[open]>summary::before { content:'▾'; }
.crpd-workflow .crpd-document-states { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem; }
.crpd-workflow .crpd-document-states .crpd-state-card { margin:0;padding:.7rem .85rem; }
.crpd-workflow .crpd-document-heading { display:flex;align-items:center;flex-wrap:wrap;gap:.45rem .8rem; }
.crpd-workflow .crpd-document-heading h4 { margin:0;font-size:1rem; }
.crpd-workflow .crpd-state-badge { background:#eef3f7;color:#344652;border-radius:5px;padding:.2rem .5rem;font-size:.9rem; }
.crpd-workflow .crpd-state-card .crpd-workflow-form { flex-direction:row;align-items:flex-end;flex-wrap:wrap;gap:.5rem;margin:.6rem 0 0; }
.crpd-workflow .crpd-state-card .crpd-workflow-form label { flex:1 1 10rem; }
.crpd-workflow .crpd-state-card .crpd-workflow-form button { align-self:flex-end; }
.crpd-workflow .crpd-document-help { margin:.5rem 0; }
.crpd-workflow .crpd-document-help>summary { display:flex;align-items:center;width:fit-content;color:#315b75; }
.crpd-workflow .crpd-document-help>summary::before { content:'▸';margin-right:.4rem; }
.crpd-workflow .crpd-document-help[open]>summary::before { content:'▾'; }
@media(max-width:540px) {
 .crpd-workflow .crpd-document-states { grid-template-columns:1fr; }
 .crpd-workflow .crpd-quick-action { flex:1 1 12rem; }
 .crpd-workflow .crpd-quick-action>summary { width:100%; }
 .crpd-workflow .crpd-quick-actions>div.crpd-quick-action>.crpd-workflow-form>.crpd-action-buttons>button { width:100%; }
}
/* Only explanatory notes collapse; reservation states and errors are untouched. */
details.crpd-responsive-notes{margin:12px 0;border:1px solid #c7d9e6;border-left:3px solid #2876a0;border-radius:7px;background:#f1f6fb;color:#17334b}
details.crpd-responsive-notes>summary{display:list-item;list-style:disclosure-closed inside;cursor:pointer;min-height:44px;box-sizing:border-box;padding:11px 13px;font:600 14px/1.5 system-ui,sans-serif;color:#17334b}
details.crpd-responsive-notes[open]>summary{list-style-type:disclosure-open}
details.crpd-responsive-notes>summary:focus-visible{outline:3px solid #1682b3;outline-offset:2px}
details.crpd-responsive-notes>aside{margin:0!important;border:0!important;padding:0 13px 12px!important;background:transparent!important}
details.crpd-responsive-notes>aside>[hidden]{display:none!important}
@media print{details.crpd-responsive-notes>aside{display:block!important}details.crpd-responsive-notes::details-content{content-visibility:visible;display:block}}
.crpd-conversation .crpd-chat-messages{gap:6px;padding:8px;margin:8px 0 0}
.crpd-conversation .crpd-chat-messages:empty{display:none}
.crpd-conversation .crpd-chat-messages article.crpd-message{margin:0;padding:7px 10px}
.crpd-conversation .crpd-chat-messages article.crpd-message p{margin:4px 0!important;line-height:1.4}
.crpd-conversation form.crpd-workflow-form{gap:6px;margin:0 0 6px}
.crpd-conversation form.crpd-workflow-form label{gap:4px}
.crpd-conversation form.crpd-workflow-form textarea{min-height:70px}
