/* Fremio V24: the attendance workflow remains primary, light and touch friendly. */
.fv17 .fv24-deadline{display:flex;gap:8px;align-items:center;justify-content:flex-end;
 font-size:.88rem;font-weight:700;color:#194f58;max-width:26rem;text-align:right}
.fv17 .fv24-deadline i{color:#158b75;flex-shrink:0}
.fv17 .fv17-person:has(input:disabled){opacity:.74}
.fv17 .fv17-person:has(input:checked) .fv17-member-status{color:#086a52;font-weight:750}
.fv17 .fv17-session.fv17-today{border-color:#75c6af;box-shadow:0 2px 14px rgba(10,125,90,.09)}
.fv17 .fv17-session .fv17-open{min-height:48px}
.fv17 .fv17-session .fv17-status{white-space:normal;text-align:center}
.fv17 .fv17-alert.error{overflow-wrap:anywhere}
@media(max-width:760px){
 .fv17 .fv17-bottom{gap:8px;align-items:center}
 .fv17 .fv24-deadline{max-width:100%;font-size:.8rem;justify-content:flex-start;text-align:left}
 .fv17 .fv17-person{min-height:62px;gap:10px}
 .fv17 .fv17-person-name{font-size:1rem}
 .fv17 .fv17-checkbox{width:29px;height:29px}
}

/* V24.4: immediate access, session groups, reliable save indicator and mobile ergonomics. */
.fv17 .fv244-view-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.fv17 .fv244-view-tabs button{border:1px solid #d7e7e5;color:#315965;background:#fff;border-radius:999px;font-weight:700;font-size:13px;padding:10px 17px;min-height:42px}
.fv17 .fv244-view-tabs button.is-current{border-color:#087f77;background:#e4f7f1;color:#075a52}
.fv17 .fv244-group-heading{color:#234253;font-size:14px;letter-spacing:.015em;margin:23px 0 0;font-weight:800}
.fv17 .fv244-checkin-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:2px 0 12px}
.fv17 .fv244-unmarked{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:700;color:#3c6670;cursor:pointer;margin:0}
.fv17 .fv244-unmarked input{accent-color:#0d8c81;width:19px;height:19px}
.fv17 .fv244-save-state{font-size:12px;font-weight:700;color:#17816c}
.fv17 .fv17-people{content-visibility:auto}
.fv17 .fv17-person:has(input:checked){background:#f2fbf7;border-radius:10px}
.fv17 .fv17-session-actions .fv17-open{background:#087f77;color:#fff;border-color:#087f77}
.fv17 .fv17-session-actions .fv17-open:hover{background:#076e68}
.fv244-device-option{display:flex!important;align-items:flex-start;gap:11px;margin:11px 0 3px!important;padding:12px;border:1px solid #dfebe8;border-radius:12px;background:#f6faf9;cursor:pointer}
.fv244-device-option input{width:19px!important;min-height:19px!important;height:19px!important;padding:0!important;flex-shrink:0;margin:3px 0 0;accent-color:#0d8c81}
.fv244-device-option span{display:grid;gap:4px}.fv244-device-option strong{font-size:13px;color:#123e45}.fv244-device-option small{font-size:11px;line-height:1.5;color:#667c86}
@media(max-width:650px){
 .fv17 .fv244-view-tabs{flex-wrap:nowrap;overflow-x:auto;padding:3px 0 8px;scroll-snap-type:x mandatory}
 .fv17 .fv244-view-tabs button{flex:none;scroll-snap-align:start;padding:10px 14px}
 .fv17 .fv17-session-actions .fv17-open{width:100%}
 .fv17 .fv17-person{padding:14px 6px;min-height:68px}
 .fv17 .fv17-checkbox{width:32px;height:32px}
 .fv17 .fv17-filter{position:sticky;top:10px;z-index:3;background:#fff}
 .fv17 .fv17-member-status{white-space:normal;max-width:90px;text-align:right}
}

.fv17 .fv244-install-tip{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#f1f8fb;border:1px solid #d4e8ee;border-radius:13px;padding:13px 17px;margin-top:24px;color:#355869;font-size:13px;line-height:1.5}
.fv17 .fv244-install-tip i{color:#0b9585;margin-right:6px}.fv17 .fv244-install-tip button:not([hidden]){background:#0b9386;color:#fff;border:0;border-radius:10px;padding:10px 14px;white-space:nowrap;font-weight:750}
@media(max-width:650px){.fv17 .fv244-install-tip{flex-wrap:wrap}}
