.booking-details-modal{width:min(640px,100% - 32px);height:min(760px,100dvh - 32px)}.booking-details-modal[open]{grid-template-rows:minmax(0,1fr)}.bd-root{min-height:0;display:grid}.booking-details-modal .booking-modal-form{grid-template-rows:auto auto minmax(0,1fr) auto;height:100%}.bd-head{align-items:center}.bd-heading{gap:4px;min-width:0;display:grid}.booking-details-modal .bd-title input,.booking-details-modal .bd-title input:hover,.booking-details-modal .bd-title input:focus{width:100%;min-height:0;box-shadow:none;color:var(--ink);font:400 24px / 1.15 var(--font-display);background:0 0;border:0;border-bottom:1px dashed #0000;border-radius:0;outline:none;margin:0;padding:0 0 2px;transition:border-color .14s}.booking-details-modal .bd-title input:hover{border-bottom-color:var(--border-strong)}.booking-details-modal .bd-title input:focus{border-bottom:1px solid var(--accent)}.bd-title-text{font:400 24px / 1.15 var(--font-display);margin:0}.bd-heading p{color:var(--muted);margin:0;font-size:13px}.bd-meta{flex-wrap:wrap;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.bd-meta li{border:1px solid var(--line);background:var(--surface-raised);min-height:28px;color:var(--ink);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:13px;display:inline-flex}.bd-meta svg{color:var(--accent);flex:none}.bd-meta small{color:var(--muted);font-size:12px}.bd-meta-day:first-letter{text-transform:uppercase}.bd-head-side{align-items:center;gap:10px;display:inline-flex}.bd-head-side .tag{white-space:nowrap}.bd-body{grid-template-columns:minmax(0,1fr);gap:18px;display:grid}.bd-body>*{margin-block:0}.bd-kinds{margin:0}.bd-facts{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:0;display:grid}.bd-facts>div{border:1px solid var(--line);background:var(--surface-raised);border-radius:10px;gap:4px;min-width:0;padding:12px 14px;display:grid}.bd-facts dt{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.bd-facts dd{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:15px;font-weight:600}.bd-section{gap:10px;display:grid}.bd-section h3,.bd-notes>span{color:var(--ink);font:700 11px / 1.3 var(--font-action);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;margin:0;display:inline-flex}.bd-players .booking-payer[data-booker]{border-color:color-mix(in srgb, var(--accent) 40%, var(--line))}.bd-badge{background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.bd-make-holder{border:1px solid var(--line);min-height:30px;color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;margin:0;padding:0 12px;font-size:12px}.bd-make-holder[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--surface)}.bd-price-unknown{color:var(--muted);margin:0;font-size:13px}.bd-notes{gap:8px;margin:0;display:grid}.bd-notes textarea{width:100%}.bd-notes-text{background:var(--surface-raised);border-radius:10px;align-items:flex-start;gap:8px;margin:0;padding:12px 14px;font-size:14px;display:flex}.bd-fixed-note{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.bd-attendance{margin:0}.bd-foot{flex-direction:column;align-items:flex-end;gap:16px;padding-block:16px 18px}.bd-manage{align-items:center;gap:6px;display:inline-flex}@media (max-width:560px){.bd-head{grid-template-columns:auto minmax(0,1fr)}.bd-head-side{grid-column:1/-1;justify-content:space-between}.booking-details-modal .bd-title input,.bd-title-text{font-size:20px}}.bd-body .inspector-edit,.bd-body .inspector-attendance{margin:0}.bd-body .inspector-attendance{border:1px solid var(--line);background:var(--surface-raised);border-radius:12px;padding:4px 14px}.bd-summary{border:1px solid var(--line);background:var(--surface-raised);border-radius:12px;gap:14px;padding:18px 20px 16px;display:grid}.bd-summary h3{margin:0;font-size:15px;font-weight:600}.bd-summary dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 20px;margin:0;display:grid}.bd-summary dl>div{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon label""icon value";align-items:center;column-gap:10px;min-width:0;padding-bottom:8px;display:grid}.bd-summary dt{display:contents}.bd-summary dt svg{color:var(--muted);grid-area:icon}.bd-summary dt{color:var(--muted);font-size:11px}.bd-summary dd{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;grid-area:value;margin:0;font-size:14px;font-weight:500;overflow:hidden}.bd-summary-foot{color:var(--muted);margin:0;font-size:12px}@media (max-width:560px){.bd-summary dl{grid-template-columns:repeat(2,minmax(0,1fr))}}.bd-player-link{min-width:0;color:inherit;text-decoration:none}.bd-player-link strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.bd-player-link:hover strong{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.bd-player-link:focus-visible{outline:2px solid var(--action);outline-offset:2px;border-radius:4px}.booking-details-modal .bd-head{column-gap:12px;padding-bottom:14px}.booking-details-modal .bd-heading{gap:0}.booking-details-modal .bd-title{margin:0;display:block}.booking-details-modal .bd-heading>p:not(.bd-title-text){margin-top:2px}.bd-players .booking-payer-name{gap:1px}.bd-players .booking-payer-name strong{font-size:14px;font-weight:600}.bd-players .booking-payer-name small.numeral{color:var(--muted);font:400 12px / 1.3 var(--font-body);letter-spacing:0;font-variant-numeric:tabular-nums}.bd-section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.bd-add-toggle{border:1px solid var(--line);min-height:30px;color:var(--accent);font:700 10.5px / 1 var(--font-action);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;margin:0;padding:0 12px;display:inline-flex}.bd-add-toggle:hover,.bd-add-toggle[aria-expanded=true]{border-color:var(--accent);background:var(--accent-soft)}.bd-add-player-slide{opacity:0;transition:grid-template-rows .26s var(--ease-brand), opacity .2s ease;grid-template-rows:0fr;display:grid}.bd-add-player-slide[data-open]{opacity:1;grid-template-rows:1fr}.bd-add-player{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;min-height:0;display:grid;overflow:hidden}.bd-add-player-slide[data-open]>.bd-add-player{border:1px dashed var(--line);border-radius:10px;padding:12px 14px 14px;overflow:visible}.bd-add-player .error-message{grid-column:1/-1;margin:0}@media (prefers-reduced-motion:reduce){.bd-add-player-slide{transition:none}}.bd-remove-player{width:30px;height:30px;min-height:0;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;place-items:center;margin:0;padding:0;display:grid}.bd-remove-player:hover{background:color-mix(in srgb, var(--action) 14%, transparent);color:var(--action)}.bd-confirm{border:1px solid var(--line);background:var(--surface);width:min(420px,100% - 32px);color:var(--ink);border-radius:14px;padding:22px 24px 20px;box-shadow:0 18px 48px #00000040}.bd-confirm::backdrop{background:#0c0c0c59}.bd-confirm[open]{animation:bd-confirm-in .18s var(--ease-brand)}@keyframes bd-confirm-in{0%{opacity:0;scale:.96}}#main .bd-confirm h3,.bd-confirm h3{color:var(--ink);font:400 20px / 1.15 var(--font-display);letter-spacing:0;margin:0 0 8px}.bd-confirm p{color:var(--muted);margin:0 0 18px;font-size:13.5px;line-height:1.5}.bd-confirm-actions{justify-content:flex-end;gap:10px;display:flex}.bd-body .bd-attendance{padding:0;overflow:clip}.bd-attendance>summary{cursor:pointer;align-items:center;gap:12px;padding:14px 16px;list-style:none;display:flex}.bd-attendance>summary::-webkit-details-marker{display:none}.bd-attendance>summary:after{content:"";border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);width:7px;height:7px;transition:transform .2s var(--ease-brand);margin-left:auto;transform:rotate(45deg)}.bd-attendance[open]>summary:after{transform:rotate(-135deg)}.bd-attendance>summary>span:not(.bd-attendance-icon){gap:2px;display:grid}.bd-attendance>summary strong{font-size:14px;font-weight:600}.bd-attendance>summary small{color:var(--muted);font-size:12px}.bd-attendance-icon{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:9px;place-items:center;display:grid}.bd-attendance .attendance-panel{border-top:1px solid var(--line);gap:12px;padding:4px 16px 16px;display:grid}.bd-attendance .attendance-heading{justify-content:space-between;align-items:center;padding-top:12px;display:flex}.bd-attendance .attendance-heading h3{margin:0}.bd-attendance .attendance-refresh{font-size:12px}.bd-attendance .attendance-state{align-items:center;gap:10px;margin:0;display:flex}.bd-attendance .attendance-state span{font-size:12px;display:inline}.bd-attendance .attendance-state .attendance-state-badge{background:var(--surface-sunken);color:var(--ink);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.bd-attendance .attendance-note{margin:0;font-size:12px}.bd-attendance form fieldset{border:0;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:8px 16px;margin:0;padding:0;display:grid}.bd-attendance form legend{grid-column:1/-1;margin-bottom:6px;font-size:13px;font-weight:600}.bd-attendance form label{color:var(--muted);margin:0;font-size:12px}.bd-attendance form select,.bd-attendance form textarea{grid-row:3;width:100%}.bd-attendance form label[for$=-action]{grid-area:2/1}.bd-attendance form label[for$=-reason]{grid-area:2/2}.bd-attendance form select{grid-column:1}.bd-attendance form textarea{grid-column:2}.bd-attendance form .attendance-correction,.bd-attendance form button[type=submit]{grid-column:1/-1}.bd-attendance form button[type=submit]{justify-self:end;margin-top:4px}.bd-attendance .attendance-history{border-top:1px solid var(--line);padding-top:10px;font-size:13px}.bd-attendance .attendance-history>summary{color:var(--muted);cursor:pointer;font-size:12px}@media (max-width:560px){.bd-attendance form fieldset{grid-template-columns:minmax(0,1fr)}.bd-attendance form label[for$=-action],.bd-attendance form label[for$=-reason],.bd-attendance form select,.bd-attendance form textarea{grid-area:auto/1}}.bd-foot-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:inline-flex}.bd-foot-actions:empty{display:none}.bd-cancel-lesson{border:1px solid var(--line);min-height:42px;color:var(--ink);font:700 11px / 1 var(--font-action);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:5px;align-items:center;gap:8px;margin:0;padding:0 18px;display:inline-flex}.bd-cancel-lesson:hover{border-color:var(--action);color:var(--action)}.bd-confirm-field{color:var(--muted);gap:6px;margin:0 0 16px;font-size:12px;display:grid}.bd-confirm-field textarea{width:100%}.bd-confirm-actions{flex-wrap:wrap}.bd-player-actions{align-items:center;gap:6px;display:inline-flex}.bd-players .booking-payer[data-leaving]{opacity:.55;border-style:dashed}.bd-players .booking-payer[data-leaving] .booking-payer-name strong{text-decoration:line-through}.bd-pay .bd-price-badge{background:var(--surface-sunken);color:var(--muted);white-space:nowrap;border-radius:999px;grid-column:3;justify-self:end;padding:4px 12px;font-size:12px;font-weight:600}.bd-pay .bd-pay-state{text-align:right;margin-top:-6px;font-size:12px}.bd-count{background:var(--surface-sunken);min-width:20px;height:20px;color:var(--ink);font:600 11px / 1 var(--font-body);letter-spacing:0;border-radius:999px;place-items:center;margin-left:8px;padding:0 6px;display:inline-grid}.bd-program{align-items:center;gap:6px;display:inline-flex}.bd-program i{border-radius:3px;width:10px;height:10px}.bd-roll{background:var(--surface-sunken);color:var(--muted);font:600 11px / 1.5 var(--font-body);letter-spacing:0;text-transform:none;border-radius:999px;margin-left:4px;padding:1px 8px}.bd-players li[data-state]{transition:border-color .2s var(--ease-brand), background-color .2s var(--ease-brand)}.bd-players li[data-state=present]{border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent-soft) 55%, var(--surface))}.bd-players li[data-state=absent]{border-left:3px solid var(--action);background:color-mix(in srgb, var(--action) 6%, var(--surface))}.bd-players li[data-state=excused]{border-left:3px solid var(--border-strong)}.bd-crown{color:var(--accent);vertical-align:-1px;flex:none;margin-right:6px}.bd-players .booking-payer{flex-wrap:wrap;align-items:center;gap:10px 12px;display:flex}.bd-players .booking-payer>.booking-payer-name{flex:160px;min-width:0}.bd-players .booking-payer>.attendance-mini,.bd-players .booking-payer>.bd-player-actions,.bd-players .booking-payer>.bd-make-holder{flex:none}.bd-players .booking-payer>.attendance-mini{order:3}.bd-players .booking-payer>.bd-player-actions{align-items:center;gap:4px;display:inline-flex}.bd-roll{white-space:nowrap}@media (max-width:520px){.bd-players .booking-payer>.booking-payer-name{flex-basis:calc(100% - 60px)}.bd-players .booking-payer>.attendance-mini{order:2}.bd-players .booking-payer>.bd-player-actions{order:3;margin-left:auto}.bd-section:has(.bd-players)>.bd-section-head{flex-wrap:wrap;row-gap:8px}.bd-section-head .bd-add-toggle{white-space:nowrap}}@media (max-width:560px){.bd-foot{align-items:stretch}.bd-foot .bd-manage{align-self:flex-end}.bd-foot-actions>*{flex:auto;justify-content:center}}.bd-tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:2px;padding:0 20px;display:flex;position:relative;overflow-x:auto}.bd-tabs button{min-height:42px;color:var(--muted);font:700 11px / 1 var(--font-action);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;flex:none;align-items:center;gap:6px;margin:0 0 -1px;padding:8px 12px;display:inline-flex}.bd-tabs button:hover{color:var(--ink);background:0 0}.bd-tabs button[aria-current=page]{border-bottom-color:var(--accent);color:var(--accent)}.bd-tabs[data-thumb] button[aria-current=page]{border-bottom-color:#0000}.bd-tabs button:focus-visible{outline-offset:-2px}.bd-tab-dot{background:var(--accent);border-radius:999px;width:6px;height:6px}.bd-body{align-content:start;overflow:auto}.bd-panel{grid-template-columns:minmax(0,1fr);align-content:start;gap:18px;display:grid}.bd-panel[hidden]{display:none}.bd-panel>*{margin-block:0}.bd-panel:not([hidden]){animation:bd-tab-in .22s var(--ease-brand)}@keyframes bd-tab-in{0%{opacity:0;translate:0 4px}}@media (prefers-reduced-motion:reduce){.bd-panel:not([hidden]){animation:none}}.bd-panel .bd-notes textarea{min-height:180px}@media (max-width:560px){.bd-tabs{padding:0 12px}.bd-tabs button{letter-spacing:.04em;padding:8px 7px;font-size:10px}}.bd-panel>.bd-pay{z-index:2;position:sticky;top:-20px;box-shadow:0 10px 24px -18px #00000073}
