.audience-hero{padding:28px 30px;margin-bottom:22px;border:1px solid #d4e6df;background:linear-gradient(115deg,#e8f4ed,#f5faf8);border-radius:18px}.audience-hero h2{margin:8px 0 12px;color:#164b47;font-size:1.75rem;letter-spacing:-.6px}.audience-hero p{max-width:80ch;line-height:1.7;color:#52716b;margin:0}.audience-note{padding:18px 22px;border:1px solid #dce8e3;border-left:4px solid #2b8a7d;border-radius:10px;background:#f8fbf9;margin:20px 0;color:#365d55}.audience-note p{margin:8px 0 0;font-size:.88rem;line-height:1.6}.audience-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px}.audience-course,.audience-group{border:1px solid #dce8e2;background:#fff;border-radius:15px;padding:22px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.audience-course h3,.audience-group h3{margin:2px 0;color:#194b48}.audience-course p,.audience-group p{margin:0;color:#5a746e;line-height:1.6;font-size:.9rem}.audience-course dl{width:100%;font-size:.85rem;display:grid;gap:12px;margin:4px 0}.audience-course dt{color:#7a8f88;font-size:.75rem}.audience-course dd{margin:3px 0;color:#284f46}.audience-course button,.audience-group button{margin-top:auto}.audience-participation{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:8px;background:#f0f7f3;width:100%}.audience-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0 26px}.audience-stats article{background:#fff;border:1px solid #dce8e2;border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:14px}.audience-stats span{font-size:.8rem;color:#658078}.audience-stats strong{font-size:1.8rem;color:#1e6259}.audience-member-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.audience-member-tags span{font-size:.75rem;padding:5px 8px;background:#edf5f1;color:#376457;border-radius:6px}.audience-personal-summary,.audience-document-access{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #cce1d7;border-radius:13px;padding:20px 24px;background:#fff;margin:0 0 22px}.audience-personal-summary h3{margin:8px 0;color:#245e54}.audience-personal-summary p,.audience-document-access p{font-size:.82rem;color:#657e75;margin:8px 0 0}.audience-document-access strong{display:block;margin-top:7px}.audience-document-access{grid-column:1/-1;background:#f4faf6}.audience-dialog{padding:0;width:min(660px,94vw);max-height:90vh;border:1px solid #c9dcd2;border-radius:16px;box-shadow:0 30px 90px #142e3b40}.audience-dialog form{display:flex;flex-direction:column;max-height:88vh}.audience-dialog header{padding:22px 26px;border-bottom:1px solid #e0eae4}.audience-dialog h2{margin:7px 0 0;color:#234e48}.audience-dialog-body{padding:20px 26px;overflow:auto;display:grid;gap:16px}.audience-dialog-body>label{display:grid;gap:7px;font-size:.85rem;font-weight:600;color:#375e55}.audience-dialog input:not([type=checkbox]),.audience-dialog textarea{width:100%;padding:11px 12px;border:1px solid #cadcd2;border-radius:8px;font:inherit}.audience-dialog footer{padding:16px 26px;border-top:1px solid #e0eae4;display:flex;justify-content:flex-end;gap:10px;background:#fafcfb}.audience-check{display:flex!important;align-items:center;gap:10px}.audience-choices{padding:12px;border:1px solid #dce8e1;border-radius:10px;display:grid;gap:6px;max-height:330px;overflow:auto}.audience-choices legend{padding:0 6px;font-size:.8rem;color:#507469}.audience-choice{display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:8px;background:#f4f8f5;cursor:pointer}.audience-choice input{margin-top:4px;accent-color:#247a68;width:17px;height:17px;flex:none}.audience-choice span{display:grid;gap:4px}.audience-choice small{color:#6b8379;font-size:.75rem}.audience-dialog .audience-note{margin:0}@media(max-width:800px){.audience-stats{grid-template-columns:1fr 1fr}.audience-hero{padding:23px}.audience-personal-summary,.audience-document-access{align-items:flex-start;flex-direction:column}.audience-dialog-body{padding:18px}.audience-dialog header,.audience-dialog footer{padding:18px}}

.audience-choice[hidden]{display:none}
.audience-choice,.audience-check{flex-direction:row}
.audience-choice span{min-width:0;overflow-wrap:anywhere}

/* Reserve a real list area: the people must not shrink behind the footer. */
.audience-group-dialog{width:min(1000px,calc(100vw - 32px));height:min(740px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);overflow:hidden}
.audience-group-dialog form{height:100%;max-height:none;min-height:0}
.audience-group-dialog header,.audience-group-dialog footer{flex:none}
.audience-group-dialog .audience-dialog-body{flex:1;min-height:0;grid-template-columns:minmax(220px,.8fr) minmax(0,1.4fr);grid-template-rows:minmax(0,1fr) auto;align-items:stretch;gap:0 26px;overflow:auto}
.audience-group-details{display:flex;flex-direction:column;gap:20px;min-width:0;padding-right:24px;border-right:1px solid #e0eae4}
.audience-group-dialog label{font-size:.85rem;color:#375e55;gap:8px}
.audience-group-description summary{font-size:.85rem;font-weight:600;color:#375e55;cursor:pointer}
.audience-group-description label{margin-top:14px}
.audience-group-description textarea{min-height:110px;max-height:200px}
.audience-group-hint{font-size:.82rem;line-height:1.6;color:#657e75;margin:0}
.audience-group-people{display:flex;flex-direction:column;min-height:0;min-width:0;gap:14px}
.audience-picker-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.audience-picker-head h3{margin:0;font-size:1rem;color:#234e48}
.audience-picker-head span{font-size:.75rem;color:#477267;background:#e9f4ee;border-radius:20px;padding:5px 10px;white-space:nowrap}
.audience-group-dialog .audience-people-list{flex:1;min-height:180px;min-width:0;max-height:none;display:block;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;margin:0}
.audience-people-list .audience-choice{margin-bottom:7px;min-height:64px;align-items:center}
.audience-people-list .audience-choice:last-of-type{margin-bottom:0}
.audience-people-list .audience-choice input{margin:0;flex:none}
.audience-people-list .audience-choice:has(input:checked){background:#e2f1e8;box-shadow:inset 0 0 0 1px #75aa92}
.audience-no-results{padding:16px 8px;color:#657e75;font-size:.85rem}
.audience-group-dialog .error{grid-column:1/-1;margin:12px 0 0}
@media(max-width:760px){
  .audience-group-dialog{width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}
  .audience-group-dialog header,.audience-group-dialog footer{padding:15px 18px}
  .audience-group-dialog .audience-dialog-body{display:flex;flex-direction:column;gap:22px;padding:18px;overflow:auto}
  .audience-group-details{flex:none;padding:0 0 18px;border-right:0;border-bottom:1px solid #e0eae4;gap:14px}
  .audience-group-hint{display:none}
  .audience-group-people{flex:none;min-height:390px}
  .audience-group-dialog .audience-people-list{flex:none;height:300px;min-height:300px;max-height:300px}
}
@media(min-width:761px) and (max-height:600px){.audience-group-people{min-height:350px}.audience-group-dialog .audience-dialog-body{grid-template-rows:auto auto}}
