/* The call is a list: names, presence, and exceptions. Colour signals a choice. */
.calm-call.card{padding:22px 24px;box-shadow:none}
.calm-call .card-head{display:block;margin-bottom:6px}
.calm-call .card-head>div{width:100%;min-width:0}
.calm-call-title{display:flex;align-items:center;justify-content:space-between;gap:12px}
.calm-call-title h2{font-size:22px;line-height:1.3;margin:0;letter-spacing:-.03em}
.calm-call .card-head .muted{margin:6px 0 12px;font-size:14px;line-height:1.5}
.calm-call .card-head>.badge{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.calm-call .calm-call-emergency.btn{min-height:44px;padding:8px 12px;margin:0;border-radius:10px;background:transparent;color:var(--ink,#14263c);border:1px solid var(--line,#d3e1e5);font-size:14px;flex-shrink:0}
.calm-call [data-action="liveAllPresent"]{min-height:44px;padding:10px 16px;font-size:15px;border-radius:12px;background:var(--pale,#edf7fa);margin:0 0 8px;border:1px solid var(--line,#d3e1e5)}
.calm-call .rollcall-child{padding:16px 0;gap:10px 24px;align-items:center}
.calm-call .rollcall-child .row-main{display:block;min-width:0;width:100%}
.calm-call .row-main>div:last-child{width:100%}
.calm-call .rollcall-child .row-title{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:4px 0;border:0;border-radius:8px;background:transparent;color:var(--ink,#14263c);font-size:16px;line-height:1.35;text-align:left}
.calm-call-name{min-width:0;overflow-wrap:anywhere;font-weight:650}
.calm-call-dossier{display:flex;align-items:center;gap:6px;color:#526c7d;font-size:13px;font-weight:400;white-space:nowrap;flex-shrink:0}
.calm-call-dossier>span{font-size:24px;line-height:1}
.calm-call .rollcall-child .row-main p{margin:0;font-size:14px;line-height:1.5;color:#526c7d}
.calm-call-follow{display:inline-block;margin-top:6px;padding:3px 8px;border-radius:6px;font-size:13px;font-weight:600;line-height:1.5;color:#705114;background:#fff4d8}
.calm-call .rollcall-child .attendance{gap:0;border:1px solid #d3dfe5;border-radius:12px;overflow:hidden;grid-template-columns:repeat(3,minmax(0,1fr))}
.calm-call .rollcall-child .attendance button{min-width:0;min-height:46px;padding:9px 4px;font-size:15px;font-weight:500;border:0;border-radius:0;background:#f7f9fb;color:#425b6c;box-shadow:none;outline:0;line-height:1.4;white-space:normal}
.calm-call .rollcall-child .attendance button+button{border-left:1px solid #d3dfe5}
.calm-call .rollcall-child .attendance .selected.present{background:#e1f1e7;color:#155b3d;border-color:#d3dfe5;outline:0;font-weight:700}
.calm-call .rollcall-child .attendance .selected.absent{background:#fbe7e7;color:#8f2b2b;border-color:#d3dfe5;outline:0;font-weight:700}
.calm-call .rollcall-child .attendance .selected.justified{background:#fff0cf;color:#765313;border-color:#d3dfe5;outline:0;font-weight:700}
.calm-call .rollcall-child .attendance button:disabled{opacity:.5;cursor:not-allowed}
.calm-call .rollcall-child .attendance button:focus-visible{outline:3px solid #155b8a;outline-offset:-3px}
.calm-call .row-title:focus-visible,.calm-emergency-row:focus-visible{outline:3px solid #155b8a;outline-offset:3px}
.calm-call .follow-call-summary{padding:12px;margin:12px 0;border-radius:12px;gap:10px}
.calm-call .follow-call-summary strong{font-size:14px;line-height:1.5}
.calm-call .follow-call-summary .btn{min-height:44px;padding:8px 12px;font-size:14px;border-radius:10px;width:auto}
.calm-call .child-period-call{padding:8px 10px;margin-top:8px;border-radius:10px;font-size:14px;line-height:1.45}
.calm-call .child-period-call small{font-size:13px}
.calm-call .child-period-call .btn{min-height:44px;padding:6px 0;font-size:14px;background:transparent;border:0;text-align:left}
.calm-call>.progress{height:4px;margin-top:12px}
.calm-call>p.small{font-size:14px;line-height:1.5}
.calm-emergency-picker>h2{margin-bottom:12px}
.calm-emergency-picker>.field{margin:20px 0 12px}
.calm-emergency-list{display:grid;gap:0}
.calm-emergency-row{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:14px 0;background:transparent;color:var(--ink,#14263c);border:0;border-bottom:1px solid var(--line,#d3e1e5);border-radius:0;font:inherit;font-size:16px;text-align:left;cursor:pointer}
.calm-emergency-row strong{overflow-wrap:anywhere;font-weight:600;line-height:1.4}
.calm-emergency-row>span{font-size:14px;color:#526c7d;white-space:nowrap}
.calm-emergency-row[hidden],#calm-emergency-empty[hidden]{display:none!important}
@media(max-width:800px){
 .calm-call.card{padding:18px 16px;border-radius:20px}
 .calm-call .rollcall-child{grid-template-columns:minmax(0,1fr);padding:14px 0 16px;gap:10px}
 .calm-call .rollcall-child .attendance{grid-column:1;grid-row:2}
 .calm-call .follow-call-summary{display:flex;align-items:center;justify-content:space-between}
 .calm-call .follow-call-summary .btn{flex-shrink:0}
}
@media(max-width:360px){.calm-call.card{padding-inline:12px}.calm-call .follow-call-summary{align-items:flex-start;flex-direction:column}.calm-call-dossier{gap:4px}}
