/* Tutor Booking addon (uses only the shared uos CSS variables) */
.tb-tutor{display:flex;flex-direction:column;gap:10px}
.tb-tutor-head{display:flex;gap:12px;align-items:center}
.tb-tutor-head img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:0 0 auto;border:1px solid var(--uos-border)}
.tb-tutor-head h3{margin:0;font-size:17px;color:var(--uos-ink)}
.tb-tutor-head small{color:var(--uos-muted)}
.tb-topics{display:flex;flex-wrap:wrap;gap:6px}
.tb-stars{color:var(--uos-warning);font-weight:700;white-space:nowrap}
.tb-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;flex-wrap:wrap}
.tb-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.tb-day{border:1px solid var(--uos-border);border-radius:var(--uos-radius);padding:10px}
.tb-day h4{font-size:14px;margin:0 0 8px;color:var(--uos-ink)}
.tb-slots{display:flex;flex-wrap:wrap;gap:6px}
.tb-slot,.uos-form label.tb-slot{position:relative;display:inline-block;margin:0;font-weight:inherit}
.tb-slot input{position:absolute;opacity:0;pointer-events:none}
.tb-slot span{display:inline-block;padding:5px 9px;border-radius:999px;border:1px solid var(--uos-border);font-size:13px;font-weight:600;cursor:pointer;color:var(--uos-text);background:var(--uos-card, #fff)}
.tb-slot input:checked+span{background:var(--uos-accent);border-color:var(--uos-primary);color:var(--uos-on-accent)}
.tb-slot input:focus-visible+span{outline:2px solid var(--uos-primary);outline-offset:2px}
.tb-range{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:8px;align-items:center;margin-bottom:8px}
.tb-booking{border:1px solid var(--uos-border);border-radius:var(--uos-radius);padding:14px;margin-bottom:12px}
.tb-booking:last-child{margin-bottom:0}
.tb-booking-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:flex-start}
.tb-booking h3{font-size:16px;margin:0 0 4px;color:var(--uos-ink)}
.tb-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;align-items:flex-start}
.tb-actions details{flex:1 1 260px}
.tb-actions summary{cursor:pointer;font-weight:600;color:var(--uos-primary)}
.tb-inline-form{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.tb-inline-form .uos-input{flex:1 1 200px}
.tb-rate{display:flex;gap:4px;flex-direction:row-reverse;justify-content:flex-end}
.tb-rate input{position:absolute;opacity:0}
.tb-rate label{font-size:22px;cursor:pointer;color:var(--uos-border);margin:0}
.tb-rate input:checked~label,.tb-rate label:hover,.tb-rate label:hover~label{color:var(--uos-warning)}
.tb-check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 12px}
@media(max-width:575px){.tb-range{grid-template-columns:1fr 1fr}.tb-range select{grid-column:1/-1}}
