/* Fremio V21. Small, accessible improvements: attendance is primary; admin stays compact. */
:root{--fv21-green:#0b887c;--fv21-ink:#163044;--fv21-border:#dce9e7}
.fv17 .fv17-intro{padding-bottom:12px}
.fv17 .fv17-intro p{font-size:clamp(14px,1.45vw,16px)}
.fv17 .fv17-schedule{gap:12px}
.fv17 .fv17-session{border-radius:18px;transition:border-color .16s, box-shadow .16s}
.fv17 .fv17-session:focus-within{border-color:#0c8f80;box-shadow:0 0 0 3px rgba(12,143,128,.11)}
.fv17 .fv17-panel{border-color:#bbdcd5;border-radius:20px;box-shadow:0 12px 36px rgba(16,59,59,.075)}
.fv17 .fv17-person{padding:12px 8px;border-radius:10px}
.fv17 .fv17-person:has(input:checked){background:#f0faf6}
.fv17 .fv17-person:has(input:focus-visible){outline:2px solid #188e82;outline-offset:2px}
.fv17 .fv17-person-name{overflow-wrap:anywhere}
.fv17 .fv17-member-status{white-space:normal;text-align:right}
.fv17 .fv17-person input[type="checkbox"]{width:26px;height:26px;flex-shrink:0}
.fv17 .fv17-primary,.fv17 .fv17-open{font-weight:750}
.fv17 .fv17-primary{background:var(--fv21-green)}
.fv17 .fv17-primary:hover:not(:disabled){background:#07675f}
.fv17 .fv17-bottom{border-radius:0 0 12px 12px}
.fv17 .fv17-summary{margin:15px 0}
.fv17 .fv17-summary>div{box-shadow:none}
.fv17 .fv17-help{padding:13px 16px}
.fv17 .fv17-help p{font-size:12px}
.fv17 .fv17-alert.error{border:1px solid #fac8c4}
.fv17 .fv17-status.fv17-today{font-weight:800}
@media(max-width:680px){
 .fv17 .fv17-person{min-height:66px;gap:10px}
 .fv17 .fv17-person-name{font-size:15px}
 .fv17 .fv17-person .fv17-avatar{width:38px;height:38px}
 .fv17 .fv17-panel{padding:14px}
 .fv17 .fv17-bottom{bottom:0;box-shadow:0 -12px 20px rgba(255,255,255,.95);border-radius:0}
 .fv17 .fv17-primary{min-height:52px}
}
@media(prefers-reduced-motion:reduce){.fv17 .fv17-session{transition:none}}
