.jdb37Shell{--ink:#08284e;--muted:#688098;--blue:#0787f2;--line:#dce8f3;--soft:#f4f9fd;color:var(--ink);width:min(1180px,calc(100% - 28px));margin:auto}
.jdb37Public{background:#f4f8fc;padding:42px 0 72px;min-height:70vh}
.jdb37Hero{text-align:center;max-width:780px;margin:0 auto 26px}.jdb37Hero h1{font-size:clamp(32px,5vw,54px);margin:0 0 10px;letter-spacing:-.045em}.jdb37Hero p{margin:0;color:var(--muted);font-size:17px;line-height:1.55}
.jdb37TypeGrid,.jdb37RinkGrid,.jdb37Kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.jdb37Type,.jdb37Rink,.jdb37Card{border:1px solid var(--line);background:#fff;border-radius:22px;box-shadow:0 12px 34px rgba(8,40,78,.06)}
.jdb37Type{padding:20px;cursor:pointer;text-align:left;display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,180px);gap:12px;align-items:center;min-height:210px;overflow:hidden}.jdb37Type:hover,.jdb37Type.active,.jdb37Rink:hover{border-color:#78bffc;transform:translateY(-1px)}.jdb37TypeCopy{display:grid;gap:8px;align-content:center}.jdb37Type strong{font-size:22px;color:var(--ink)}.jdb37Type span,.jdb37Rink span{color:var(--muted);line-height:1.45}.jdb37Type small{color:#0a72ce;font-weight:800}.jdb37TypeArt{display:block;width:100%;height:172px;object-fit:contain;object-position:center bottom;align-self:end;justify-self:end}
.jdb37Flow{margin-top:18px}.jdb37Card{padding:22px}.jdb37Toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}.jdb37Toolbar h2,.jdb37Toolbar h3{margin:0 0 5px}.jdb37Hint{color:var(--muted);line-height:1.5}.jdb37Back,.jdb37Button{border:0;border-radius:13px;padding:11px 15px;font-weight:850;cursor:pointer}.jdb37Back{background:#edf5fb;color:#17466f}.jdb37Button{background:var(--blue);color:#fff}.jdb37Button.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.jdb37Button.danger{background:#fff0f0;color:#a72d2d}.jdb37Button:disabled{opacity:.48;cursor:not-allowed}
.jdb37Rink{padding:17px;cursor:pointer;text-align:left}.jdb37Rink h3{margin:0 0 5px}.jdb37Badge{display:inline-flex;margin-top:10px;border-radius:999px;padding:6px 10px;background:#eaf8f0;color:#16804a!important;font-size:12px;font-weight:850}
.jdb37CalendarLayout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:16px}.jdb37CalHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.jdb37CalNav{display:flex;gap:6px}.jdb37CalNav button{width:38px;height:38px;border:1px solid var(--line);background:#fff;border-radius:11px;cursor:pointer;font-size:20px}.jdb37Month{display:grid;grid-template-columns:repeat(7,minmax(66px,1fr));gap:6px}.jdb37Dow{text-align:center;color:var(--muted);font-size:12px;font-weight:850;padding:5px}.jdb37Day{min-height:74px;border:1px solid #e1eaf2;background:#fafcfe;border-radius:12px;padding:8px;text-align:left}.jdb37Day.available{background:#ecf9f2;border-color:#a6ddbc;cursor:pointer}.jdb37Day.selected{outline:3px solid rgba(7,135,242,.2);border-color:var(--blue)}.jdb37Day:disabled{opacity:.42}.jdb37Day b{display:block}.jdb37Day small{font-size:10px;color:#187c4b;font-weight:800}.jdb37Side{background:var(--soft);border:1px solid var(--line);border-radius:18px;padding:15px}.jdb37Side h3{margin:0 0 12px}.jdb37Slots{display:grid;gap:8px}.jdb37Slot{border:1px solid #cddfeb;background:#fff;border-radius:12px;padding:11px;text-align:left;cursor:pointer;font-weight:800}.jdb37Slot.selected,.jdb37Slot:hover{border-color:var(--blue);background:#eaf6ff}.jdb37Slot small{display:block;color:var(--muted);margin-top:3px}
.jdb37Summary{background:#eef8ff;border:1px solid #cae6fa;border-radius:16px;padding:15px;line-height:1.65;margin-bottom:16px}.jdb37Form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.jdb37Field{display:grid;gap:6px;font-weight:800}.jdb37Field input,.jdb37Field select,.jdb37Field textarea,.jdb37Filter input,.jdb37Filter select,.jdb37Settings input,.jdb37Settings select,.jdb37Settings textarea{border:1px solid #cfe0ed;border-radius:12px;padding:11px 12px;font:inherit;background:#fff}.jdb37Full{grid-column:1/-1}.jdb37Login{background:#fff8df;border:1px solid #efd890;border-radius:16px;padding:16px;display:flex;justify-content:space-between;gap:14px;align-items:center}.jdb37Success{text-align:center;padding:30px}.jdb37SuccessIcon{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#e7f8ee;color:#128448;font-size:34px;margin:0 auto 14px}
.jdb37Admin{display:grid;gap:15px}.jdb37AdminHero{background:linear-gradient(135deg,#072750,#0788ef);color:#fff;border-radius:24px;padding:22px;display:flex;justify-content:space-between;gap:16px;align-items:center}.jdb37AdminHero h2{margin:5px 0}.jdb37AdminHero p{margin:0;color:#dcebfa}.jdb37Db{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.16);font-size:12px;font-weight:850}.jdb37Kpis{grid-template-columns:repeat(4,minmax(0,1fr));min-width:min(520px,100%)}.jdb37Kpi{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:11px}.jdb37Kpi b{display:block;font-size:22px}.jdb37Kpi small{color:#dbefff}.jdb37Tabs{display:flex;gap:8px;flex-wrap:wrap}.jdb37Tabs button{border:0;border-radius:999px;padding:10px 14px;background:#eaf3fa;color:#214866;font-weight:850;cursor:pointer}.jdb37Tabs button.active{background:var(--blue);color:#fff}
.jdb37Filters{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:9px;margin-bottom:14px}.jdb37TableWrap{overflow:auto}.jdb37Table{border-collapse:collapse;width:100%;min-width:920px}.jdb37Table th,.jdb37Table td{padding:11px 10px;border-bottom:1px solid #e3ebf2;text-align:left;vertical-align:top}.jdb37Table th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.jdb37Table td small{display:block;color:var(--muted);margin-top:3px}.jdb37Table select{border:1px solid #cfe0ed;border-radius:10px;padding:8px}.jdb37Actions{display:flex;gap:6px;flex-wrap:wrap}.jdb37Status{display:inline-flex;padding:6px 9px;border-radius:999px;background:#eef4f9;font-size:12px;font-weight:800}.jdb37Status.paid{background:#e8f8ef;color:#147948}.jdb37Status.wait{background:#fff5d6;color:#826000}.jdb37Status.cancel{background:#fff0f0;color:#9a2e2e}
.jdb37CalendarBoard{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:8px;overflow:auto}.jdb37CalendarDay{min-height:140px;background:#f8fbfd;border:1px solid var(--line);border-radius:14px;padding:10px}.jdb37CalendarDay>span{font-weight:850}.jdb37Event{margin-top:7px;background:#fff;border-left:4px solid var(--blue);border-radius:8px;padding:7px;font-size:12px}.jdb37Event.school{border-left-color:#2ca66f}.jdb37Event b,.jdb37Event small{display:block}
.jdb37Settings{display:grid;gap:16px}.jdb37SettingsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.jdb37Checks,.jdb37Days{display:flex;gap:8px;flex-wrap:wrap}.jdb37Checks label,.jdb37Days label{background:#f1f7fb;border-radius:12px;padding:9px 11px}.jdb37Branch{border:1px solid var(--line);border-radius:18px;padding:16px}.jdb37Branch h3{margin-top:0}.jdb37Notice{padding:13px;border-radius:14px;background:#eef8ff;color:#235170}.jdb37Empty{text-align:center;padding:28px;color:var(--muted)}
.jdb37Manual{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.jdb37Manual .jdb37Field{align-content:start}.jdb37Manual input,.jdb37Manual select,.jdb37Manual textarea{width:100%;box-sizing:border-box}.jdb37Manual [hidden]{display:none!important}
#panel-reservations[data-jdb-authority="37"]>:not(#jdbReservationAdminV37){display:none!important}
@media(max-width:820px){.jdb37TypeGrid,.jdb37RinkGrid,.jdb37CalendarLayout,.jdb37Form,.jdb37SettingsGrid,.jdb37Manual{grid-template-columns:1fr}.jdb37Full{grid-column:auto}.jdb37Month{min-width:620px}.jdb37CalendarScroll{overflow:auto}.jdb37AdminHero{align-items:flex-start;flex-direction:column}.jdb37Kpis{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;width:100%}.jdb37Filters{grid-template-columns:1fr 1fr}.jdb37Login{align-items:flex-start;flex-direction:column}.jdb37Flow{scroll-margin-top:92px}}
@media(max-width:460px){.jdb37Type{grid-template-columns:minmax(0,1fr) 104px;min-height:176px;padding:15px}.jdb37TypeArt{height:144px}.jdb37Type strong{font-size:19px}}
.jdb37Check{display:flex!important;align-items:flex-start;gap:10px;font-weight:600!important;background:#f5f9ff;border:1px solid #dceafb;border-radius:14px;padding:13px 15px}.jdb37Check input{width:18px!important;height:18px!important;min-height:0!important;flex:0 0 auto;margin-top:2px}.jdb37Billing{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;background:#f8fbff;border:1px solid #dceafb;border-radius:16px;padding:16px}.jdb37Billing[hidden]{display:none!important}.jdb37Billing label{display:grid;gap:6px;font-weight:700}.jdb37Billing input{width:100%;padding:11px 12px;border:1px solid #cbdff3;border-radius:10px;background:#fff}.jdb37Summary small{color:#496b88}
@media(max-width:720px){.jdb37Billing{grid-template-columns:1fr 1fr}.jdb37Billing label:nth-last-child(1){grid-column:1/-1}}

/* Reservation schedule editor: shared by administrators and operators. */
.jdb37SettingsV2{gap:20px}.jdb37GlobalSettings{padding:14px;background:#eef7ff;border:1px solid #d4e8f8;border-radius:16px}.jdb37SettingsV2 .jdb37Branch{padding:20px;background:#fff}.jdb37BranchHead,.jdb37Subhead{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.jdb37BranchHead{padding-bottom:17px;margin-bottom:17px;border-bottom:1px solid #e3edf5}.jdb37BranchHead h3{margin:0 0 5px}.jdb37BranchHead p{margin:0;color:var(--muted);line-height:1.45}.jdb37Switch{display:flex;align-items:center;gap:8px;background:#e8f7ef;color:#126c42;border:1px solid #bfe7d1;border-radius:999px;padding:9px 13px;font-weight:850;white-space:nowrap}.jdb37Switch input{width:18px;height:18px;min-height:0;padding:0}.jdb37Weekdays{grid-column:1/-1;display:grid;gap:8px}.jdb37Days label{cursor:pointer;font-weight:800}.jdb37BandEditor,.jdb37Exception,.jdb37Password{margin-top:18px;padding:16px;border-radius:16px;background:#f7fbfe;border:1px solid #dceaf4}.jdb37Subhead{align-items:center}.jdb37Subhead small{display:block;color:var(--muted);margin-top:3px;line-height:1.4}.jdb37BandRows{display:grid;gap:10px;margin-top:13px}.jdb37BandRow{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) minmax(160px,1.25fr) 42px;gap:10px;align-items:end}.jdb37BandRow>label{display:grid;gap:5px;font-weight:800}.jdb37BandRow input{width:100%;box-sizing:border-box}.jdb37BandRows[data-band-rows="school"] .jdb37BandRow{grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) 42px}.jdb37RemoveBand{width:42px;height:42px;border:1px solid #ffc9c9;border-radius:12px;background:#fff1f1;color:#ae2b2b;font-size:22px;font-weight:900;cursor:pointer}.jdb37Password{display:grid;grid-template-columns:minmax(240px,1fr) minmax(260px,1fr);gap:14px;align-items:end;background:#fff9e8;border-color:#f0dda4}.jdb37Password p{grid-column:1/-1;margin:0;color:#785f18}.jdb37ExceptionGrid{display:grid;grid-template-columns:repeat(7,minmax(34px,1fr));gap:6px;margin-top:13px}.jdb37ExceptionDow{text-align:center;color:var(--muted);font-size:12px;font-weight:850;padding:4px}.jdb37ExceptionDay{aspect-ratio:1;border:1px solid #e1eaf1;border-radius:10px;background:#f4f7f9;color:#8ca0b1;font-weight:850}.jdb37ExceptionDay.eligible{background:#eaf8f0;color:#126f43;border-color:#aee0c4;cursor:pointer}.jdb37ExceptionDay.eligible:hover{border-color:#15955c;box-shadow:0 0 0 2px rgba(21,149,92,.12)}.jdb37ExceptionDay.removed{background:#fff0f0;color:#a42d2d;border-color:#f2bcbc;text-decoration:line-through}.jdb37StickySave{position:sticky;bottom:10px;z-index:3;display:flex;align-items:center;gap:13px;padding:13px;background:rgba(255,255,255,.96);border:1px solid #d7e7f3;border-radius:16px;box-shadow:0 10px 30px rgba(8,40,78,.12);backdrop-filter:blur(8px)}.jdb37StickySave .jdb37Button{padding:13px 18px}.jdb37CalNav strong{min-width:135px;text-align:center;text-transform:capitalize}
@media(max-width:820px){.jdb37BranchHead,.jdb37Subhead{align-items:stretch;flex-direction:column}.jdb37Switch{align-self:flex-start}.jdb37BandRow,.jdb37BandRows[data-band-rows="school"] .jdb37BandRow{grid-template-columns:1fr 1fr}.jdb37BandRow>label:nth-child(3){grid-column:1/-1}.jdb37RemoveBand{grid-column:2;justify-self:end}.jdb37Password{grid-template-columns:1fr}.jdb37Password p{grid-column:auto}.jdb37Exception{overflow:auto}.jdb37ExceptionGrid{min-width:420px}.jdb37StickySave{align-items:stretch;flex-direction:column}.jdb37StickySave .jdb37Button{width:100%}}
@media(max-width:460px){.jdb37SettingsV2 .jdb37Branch{padding:15px}.jdb37BandEditor,.jdb37Exception,.jdb37Password{padding:13px}.jdb37BandRow,.jdb37BandRows[data-band-rows="school"] .jdb37BandRow{grid-template-columns:1fr}.jdb37BandRow>label:nth-child(3),.jdb37RemoveBand{grid-column:auto}.jdb37RemoveBand{justify-self:end}.jdb37ExceptionGrid{min-width:360px}}
