/* Booking — studio page section, booking dialog, My bookings, class manager */
.bk-sec h4 .muted{font-weight:600}
.bk-own{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 10px}
.bk-day{margin:0 0 10px}
.bk-dl{font-weight:800;font-size:13px;margin:0 0 4px}
.bk-row{display:flex;gap:10px;align-items:center;font-size:13.5px;background:var(--ground);border-radius:12px;padding:8px 11px;margin:0 0 4px}
.bk-row .t{font-variant-numeric:tabular-nums;min-width:74px;font-weight:700}
.bk-row .n{flex:1;min-width:0;overflow-wrap:anywhere}
.bk-row .m,.bk-mine .m,.bk-facts .m{color:var(--muted);font-size:12px}
.bk-row .n .m{display:block}
.bk-row .s{font-size:12px;font-weight:700;color:var(--yoga);white-space:nowrap}
.bk-row .s.low{color:var(--pilates)}
.bk-row .s.full{color:var(--muted)}
.bk-row .btn[disabled]{opacity:.5;cursor:default}
.btn.on{background:var(--yoga);color:#fff;border-color:var(--yoga)}
.bk-facts{list-style:none;margin:12px 0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px}
.bk-facts b{display:inline-block;min-width:92px;color:var(--muted);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.bk-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}
.bk-mine{background:var(--ground);border-radius:12px;padding:9px 12px;font-size:13.5px}
.bk-mine.cancelled{opacity:.65}
.bk-mine .btn{margin-top:6px}
.bk-acts{display:flex;gap:6px;flex-wrap:wrap}
.bk-who ol{margin:8px 0 0;padding-left:20px;font-size:13px}
.bk-who li{margin:2px 0}
.bk-capin{display:flex;gap:6px;align-items:center;margin-top:6px}
.bk-capin input{width:90px}
.bk-pay{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;border-radius:14px;padding:10px 12px;font-size:13px}
.bk-pay b{width:100%}
.bk-pay span{flex:1;min-width:200px;color:var(--muted)}
.bk-pay.on{background:color-mix(in srgb,var(--yoga) 12%,transparent)}
.bk-pay.off{background:color-mix(in srgb,var(--sun) 16%,transparent)}
.sheet .bk-h{font:600 16px/1.2 Fredoka,Nunito,system-ui,sans-serif;margin:18px 0 6px}
.sheet .bk-2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.sheet .bk-2 > div:only-child{grid-column:1/-1}
.sheet select{width:100%;font:inherit;font-size:14px;color:var(--ink);background:var(--ground);border:2px solid var(--line);border-radius:14px;padding:9px 10px}
#ypm-panel h4{font:600 16px/1.2 Fredoka,Nunito,system-ui,sans-serif;margin:16px 0 8px}
/* class packs */
.pk-box{display:flex;flex-direction:column;gap:6px;margin:0 0 12px}
.pk-have{font-size:13.5px;border-radius:12px;padding:8px 11px;background:color-mix(in srgb,var(--yoga) 12%,transparent)}
.pk-card{display:flex;gap:10px;align-items:center;font-size:13.5px;background:var(--ground);border-radius:12px;padding:8px 11px}
.pk-card .n{flex:1;min-width:0;overflow-wrap:anywhere}
.pk-card .m{display:block;color:var(--muted);font-size:12px}
.pk-tag{display:inline-block;margin-left:6px;font-size:11px;font-weight:800;color:var(--pilates);background:color-mix(in srgb,var(--pilates) 12%,transparent);border-radius:999px;padding:1px 8px}
.pk-form{margin:8px 0 4px}
.pk-chk{display:flex;gap:8px;align-items:center;margin-top:26px;font-size:13.5px}
.pk-chk input{width:auto}
.pk-linkbox input{width:100%;margin-top:6px;font-size:12px}
@media (max-width:560px){
  .pk-chk{margin-top:6px}
  .bk-row{flex-wrap:wrap}
  .bk-row .n{flex-basis:calc(100% - 90px)}
  .sheet .bk-2{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* timetable read from a screenshot */
.sh-list{list-style:none;margin:6px 0 10px;padding:0;display:flex;flex-direction:column;gap:6px;max-height:420px;overflow:auto}
.sh-row{display:grid;grid-template-columns:auto 76px 1fr 64px;gap:4px 6px;align-items:center;padding-bottom:6px;border-bottom:1px dashed var(--line,#e5ddd2)}
.sh-row input[type=text]{grid-column:2 / -1}
.sh-row input,.sh-row select{min-width:0;margin:0;font-size:13.5px;padding:6px 7px}
.sh-row input[type=checkbox]{width:18px;height:18px}
.sh-row:has(input[type=checkbox]:not(:checked)) > :not(input[type=checkbox]){opacity:.4}
.sh-note{font-size:13px;border-radius:10px;padding:7px 10px;background:color-mix(in srgb,var(--pilates) 10%,transparent)}
/* memberships, check-in, calendar (sql/schema20.sql) */
.mb-card{background:color-mix(in srgb,var(--yoga) 8%,var(--ground))}
.mb-have{background:color-mix(in srgb,var(--yoga) 16%,transparent)}
.bk-cal{display:inline-block;font-size:12.5px;color:var(--muted);margin:4px 0}
.bk-cal a{font-weight:700}
.bk-ck{display:inline-block;margin-left:6px;font-size:11.5px;font-weight:800;color:#12805c;background:color-mix(in srgb,var(--yoga) 14%,transparent);border-radius:999px;padding:1px 8px}
.bk-ckl{display:inline-flex;align-items:center;margin-right:4px;vertical-align:middle}
.bk-ckl input{width:18px;height:18px;margin:0}
.ck-own{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}
.ck-own>div:last-child{flex:1;min-width:220px}
.ck-qr{width:112px;height:112px;flex:none;background:#fff;border-radius:10px;padding:4px}
.ck-qr svg{width:100%;height:100%}
.ck-code{font-size:20px;letter-spacing:.14em}
.sh-prices{font-size:13px;border-radius:12px;padding:9px 11px;margin:8px 0;background:color-mix(in srgb,var(--sun) 16%,transparent)}
.sh-prices .acts{margin-top:6px}
.sh-row{grid-template-columns:auto 76px 1fr 64px 76px}
.sh-row input[type=text]{grid-column:2 / -1}
.sh-filled{outline:2px solid color-mix(in srgb,var(--sun) 70%,transparent)}
/* rentals when booking (sql/schema23.sql) */
.bk-rent{border:1px solid var(--line);border-radius:12px;padding:8px 12px 4px;margin:10px 0}
.bk-rent legend{font-weight:800;font-size:14px;padding:0 4px}
.bk-rent label{display:flex;gap:8px;align-items:center;margin:4px 0;font-size:14px;text-transform:none;letter-spacing:normal;font-weight:500;color:inherit}
.bk-rent label input{width:auto;flex:none;margin:0;min-height:0}
.bk-rent label span{flex:1}
.bk-rent label b{margin-left:auto}
.bk-rent .hint{margin:4px 0}
.bk-adds{display:inline-block;font-size:12px;font-weight:700;background:var(--chip);border-radius:999px;padding:2px 8px;margin-left:4px}
.bk-tally{background:color-mix(in srgb,var(--pilates) 8%,transparent);border-radius:10px;padding:6px 10px}
/* fees and no-shows (sql/schema24.sql) */
.bk-fee{border-left:4px solid var(--pilates,#FF6B6B)}
.alt.bk-ns.on{font-weight:800;color:var(--pilates,#FF6B6B)}
