/* Private communications: inherits portal typography; dormant without an adapter. */
.communications-panel { --fep-h2:clamp(1.2rem,2vw,1.5rem); --fep-h3:1.15rem; --fep-body:.95rem; margin: 1.5rem 0; padding: clamp(1rem,2.5vw,1.75rem); border: 1px solid #d8e6ef; border-radius: 16px; background: #fff; color: #183c4c; min-width: 0; }
.communications-panel[hidden], .communications-panel [hidden] { display: none; }
.communications-heading { display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.communications-heading h2 { margin:0; color:#24658c; font-size:clamp(1.2rem,2vw,1.5rem); line-height:1.3; }
.communications-panel h3 { font-size:1.15rem; margin:1.2rem 0 .6rem; }
.communications-panel h4 { font-size:1rem; color:#596b76; margin:1.25rem 0 .5rem; }
.communications-note { color:#596b76; font-size:.9rem; line-height:1.6; }
.communications-status { min-height:1.5em; font-size:.95rem; overflow-wrap:anywhere; }
.communications-status[data-error=true] { color:#953a2c; }
.communications-selector { display:grid; gap:.5rem; font-size:.9rem; font-weight:600; }
.communications-selector select, .communications-form textarea { width:100%; max-width:100%; min-width:0; box-sizing:border-box; font:inherit; padding:.75rem; border:1px solid #b8cdda; border-radius:8px; background:#fff; color:inherit; }
.communications-form { display:grid; gap:.8rem; margin:1.25rem 0; }
.communications-form label { display:grid; gap:.6rem; font-weight:600; }
.communications-form textarea { resize:vertical; font-weight:400; line-height:1.6; }
.communications-form .btn { justify-self:start; }
.communications-availability { border-left:3px solid #509bd0; padding:.3rem 0 .3rem .8rem; font-size:.95rem; }
.communications-copy { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.65; }
.communications-actions { display:flex; flex-wrap:wrap; gap:.7rem; margin:1rem 0; }
.communications-dates { list-style:none; padding:0; margin:.8rem 0; }
.communications-dates li { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.75rem; padding:.8rem 0; border-bottom:1px solid #e4edf3; font-size:.95rem; overflow-wrap:anywhere; }
.communications-dates time { color:#596b76; font-size:.9rem; }
.communications-recovery { background:#f3f8fb; padding:1rem; border-radius:8px; margin-bottom:1rem; }
.communications-panel .btn { white-space:normal; min-height:44px; }
.communications-panel :is(button,select,textarea,summary,[tabindex]):focus-visible { outline:3px solid #24658c; outline-offset:3px; }
.communications-panel :disabled { opacity:.6; cursor:default; }
.communications-pagination { display:flex; align-items:center; flex-wrap:wrap; gap:.75rem; margin:1rem 0; font-size:.9rem; }
.communications-pagination[hidden], [data-learner-agenda] [hidden] { display:none; }
.communications-panel > .communications-selector { margin:.8rem 0; }
.space-agenda-dates { list-style:none; padding:0; margin:1rem 0; }
.space-agenda-dates li { display:grid; gap:.3rem; padding:.85rem 0; border-bottom:1px solid #d8e6ef; overflow-wrap:anywhere; font-size:.9rem; }
.space-agenda-dates time { color:#24658c; font-weight:600; }
.space-agenda-dates span { color:#596b76; }
[data-learner-agenda] { min-width:0; }
[data-learner-agenda] .btn { min-height:44px; white-space:normal; max-width:100%; margin-top:.3rem; }
[data-learner-agenda] :is(button,[tabindex]):focus-visible { outline:3px solid #24658c; outline-offset:3px; }
.communications-panel summary { cursor:pointer; padding:.8rem 0; }
@media(max-width:600px) { .communications-heading { align-items:flex-start; } .communications-heading .btn { padding:.55rem .7rem; } .communications-dates li { grid-template-columns:1fr; gap:.35rem; } .communications-actions { flex-direction:column; align-items:stretch; } }

@media(max-width:600px) { .communications-pagination { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); } .communications-pagination > span { grid-column:1 / -1; grid-row:1; } }
