.schedule-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-bottom:18px}.schedule-toolbar .field{margin:0}.slot-list{display:grid;gap:10px}.day-title{margin:28px 0 8px;font-size:20px}.slot{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:16px}.slot-time{font-size:20px;font-weight:900}.slot-meta{color:var(--muted);font-size:13px}.slot-actions{display:flex;gap:8px;align-items:center}.slot.full{border-color:#f0cf91}.member-tabs{display:flex;gap:8px;margin:18px 0}.member-tabs button.active{background:var(--ink);color:#fff}.member-note{font-size:13px;color:var(--muted)}.danger{border:1px solid #e4b4b4;background:#fff;color:#a13232;border-radius:8px;padding:9px 12px;font-weight:800}.disabled{opacity:.5;cursor:not-allowed}.mini-input{border:1px solid var(--line);border-radius:8px;padding:9px}.admin-slot-form{display:grid;grid-template-columns:1fr 1fr 100px auto;gap:10px;align-items:end;background:#fff;border:1px solid var(--line);padding:16px;border-radius:12px;margin-bottom:18px}.admin-slot-form .field{margin:0}.schedule-message{padding:20px;background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--muted)}
.attendee-modal{width:min(760px,100%)}.attendee-list{display:grid;border:1px solid var(--line);border-radius:11px;overflow:hidden}.attendee-row{display:grid;grid-template-columns:1.4fr .8fr auto;gap:12px;align-items:center;padding:14px;border-bottom:1px solid var(--line)}.attendee-row:last-child{border-bottom:0}.attendee-row>span{display:grid;gap:4px}.attendee-row small{color:var(--muted)}
.calendar-head,.chosen-day{display:flex;justify-content:space-between;align-items:end;gap:12px}.calendar-head h3,.chosen-day h3{margin:5px 0}.calendar-help{font-size:11px;color:var(--muted)}.date-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin:14px 0 24px}.date-cell{min-height:62px;border:1px solid var(--line);border-radius:10px;background:#fff;display:grid;place-items:center;align-content:center;gap:2px;position:relative;color:var(--ink)}.date-cell small{text-transform:uppercase;font-size:9px;color:var(--muted);font-weight:800}.date-cell b{font-size:18px}.date-cell i{width:5px;height:5px;background:var(--blue);border-radius:50%;position:absolute;bottom:7px}.date-cell:hover:not(:disabled){border-color:var(--blue)}.date-cell.selected{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:0 7px 18px #11151722}.date-cell.selected small{color:#c3ccd0}.date-cell.booked:after{content:'✓';position:absolute;right:6px;top:5px;color:#25a8dc;font-size:10px;font-weight:900}.date-cell:disabled{opacity:.3;cursor:default;background:#f3f5f6}.chosen-day{margin-top:8px}.member-day-slots{display:grid;gap:9px;padding:4px 0 8px}.member-day-slots .slot{grid-template-columns:85px 1fr auto;padding:13px 15px}.member-day-slots .slot-actions button{min-width:115px}
@media(max-width:760px){.slot{grid-template-columns:1fr}.slot-actions{justify-content:flex-start;flex-wrap:wrap}.admin-slot-form{grid-template-columns:1fr 1fr}.member-shell{padding:18px}.member-hero h1{font-size:34px}.date-calendar{gap:5px}.date-cell{min-height:54px;border-radius:8px}.date-cell b{font-size:16px}.calendar-head{align-items:start}.calendar-help{max-width:95px;text-align:right}.member-day-slots .slot{grid-template-columns:62px 1fr}.member-day-slots .slot-actions{grid-column:1/-1}.member-day-slots .slot-actions button{width:100%}}
/* FLOW v42 — compacte, horizontaal swipebare ledenagenda */
#memberRosterCard .calendar-head{display:none}
#memberRosterCard .chosen-day{display:flex;align-items:center;margin:16px 0 4px}
#memberRosterCard .chosen-day .eyebrow{display:none}
#memberRosterCard .chosen-day h3{margin:0;color:#092b42;font-size:18px;text-transform:capitalize}
#memberRosterCard .date-calendar{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:10px;margin:8px -4px 4px;padding:4px 4px 10px}
#memberRosterCard .date-calendar::-webkit-scrollbar{display:none}
#memberRosterCard .date-cell{display:grid!important;flex:0 0 88px;min-height:92px;padding:10px 6px;border-radius:16px;background:#fff;border:1px solid #dfe8ec;scroll-snap-align:start;scroll-snap-stop:always}
#memberRosterCard .date-cell small{font-size:13px;text-transform:none}
#memberRosterCard .date-cell b{font-size:26px;line-height:1}
#memberRosterCard .date-cell.selected{background:#159ee2;border-color:#159ee2;color:#fff;box-shadow:0 7px 18px rgba(21,158,226,.2)}
#memberRosterCard .date-cell.selected small{color:#fff}
#memberRosterCard .date-cell i{display:none}
#memberRosterCard .date-cell.booked:after{right:8px;top:7px;color:#159ee2;font-size:12px}
#memberRosterCard .date-cell.selected.booked:after{color:#fff}
#memberRosterCard .member-day-slots{gap:0}
#memberRosterCard .member-day-slots .slot{border:0;border-top:1px solid #e6edf0;border-radius:0;box-shadow:none;padding:15px 4px;grid-template-columns:92px 1fr auto}
#memberRosterCard .slot-time{font-size:24px;color:#092b42}
#memberRosterCard .slot b{font-size:17px;color:#092b42}
#memberRosterCard .slot-meta{font-size:14px;margin-top:4px}
#memberRosterCard .slot-actions .primary{background:#159ee2;border-color:#159ee2;color:#fff;border-radius:12px;padding:13px 18px;font-size:16px}
@media(max-width:760px){#memberRosterCard .date-calendar{gap:9px}#memberRosterCard .date-cell{flex-basis:78px;min-height:86px;padding:8px 5px}#memberRosterCard .date-cell small{font-size:12px}#memberRosterCard .date-cell b{font-size:24px}#memberRosterCard .member-day-slots .slot{grid-template-columns:64px 1fr auto;padding:13px 0}#memberRosterCard .slot-time{font-size:20px}#memberRosterCard .slot b{font-size:14px}#memberRosterCard .slot-meta{font-size:11px}#memberRosterCard .member-day-slots .slot-actions{grid-column:auto}#memberRosterCard .member-day-slots .slot-actions button{width:auto;min-width:92px;padding:11px 10px;font-size:13px}}
.booking-limit-notice{margin:10px 0 14px;padding:12px 14px;border-radius:12px;background:#eaf7fd;color:#0a668d;font-size:14px;line-height:1.4;border:1px solid #bde8f8}
.booking-limit-notice strong{color:#073c55}
.slot-actions .booking-blocked{background:#eef2f4!important;color:#8a969c!important;border-color:#e1e7ea!important;box-shadow:none!important;cursor:not-allowed}
