/* Studio 2.2. Explicit minimum sizes prevent iOS native date controls escaping cards. */
form,fieldset,label,.form-grid,.stack,.filters,.date-form{min-width:0;min-inline-size:0;max-width:100%;box-sizing:border-box}
.form-grid>*,.filters>label,.stack>label{min-width:0;min-inline-size:0;max-width:100%}
input:not([type=checkbox]):not([type=radio]),select,textarea{box-sizing:border-box;min-width:0;min-inline-size:0;max-width:100%;max-inline-size:100%}
input[type=date],input[type=time],input[type=datetime-local],input[type=month]{display:block;-webkit-appearance:none;appearance:none;width:100%;inline-size:100%;min-width:0!important;min-inline-size:0!important;max-width:100%;max-inline-size:100%;min-height:46px;margin:0;overflow:hidden;flex:1 1 auto;text-align:left;box-sizing:border-box}
input::-webkit-date-and-time-value{min-width:0;text-align:left;margin:0;padding:0;line-height:24px}
input::-webkit-datetime-edit{min-width:0;max-width:100%;padding:0}
.button-glass:after{content:none!important}.button-glass .icon{width:18px;height:18px;stroke-width:1.5}
.finance-filters,.date-range22{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:16px;align-items:end;padding:0!important;border:0!important;background:none!important;width:100%;max-width:100%}
.finance-filters>label,.date-range22>label{min-width:0;width:100%;max-width:100%;margin:0}.finance-filters>button,.date-range22>button{grid-column:auto;max-width:100%;white-space:normal}
.finance-explainer{margin:14px 0 20px}.family-pricing22{min-width:0}.family-pricing22 .notice{margin-top:0}.family-pricing22 small{display:block;margin-top:12px}[data-person-mode=family]{grid-column:1/-1}
.calendar-title22{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:24px}.calendar-title22 h2{margin:10px 0 0;font-size:25px}.calendar-title22 .badge{white-space:normal}.calendar-nav22{display:flex;gap:8px;align-items:center}.calendar-nav22 .pill{margin:0}.calendar-nav22>a:first-child svg{transform:rotate(180deg)}
.capacity-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.capacity-metric{border:1px solid #e6ded4;background:#faf7f1;border-radius:14px;padding:17px;display:flex;flex-direction:column;gap:9px;min-width:0}.capacity-metric span{font-size:12px}.capacity-metric strong{font-size:29px;line-height:1.3;font-weight:400;overflow-wrap:anywhere}.capacity-metric.free{background:#f0f4ec;color:#526547;border-color:#dae2d3}.capacity-metric.busy{background:#f4e9db;color:#95663f;border-color:#e4d0b8}.capacity-metric.blocked{background:#f1eeeb;color:#82766a}
.calendar-caption22{font-size:12px;line-height:1.75;color:#8d7c6c;margin:15px 0}.calendar-legend22{display:flex;gap:18px;flex-wrap:wrap;font-size:11px;padding:12px 0 17px}.free{--state-color:#607653}.busy{--state-color:#9e6d47}.blocked{--state-color:#8d8074}.calendar-legend22 span{color:var(--state-color)}.calendar-legend22 span:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;margin-right:6px}
.calendar-month22{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;width:100%;min-width:0;scroll-margin-top:25px}.calendar-weekday22{text-align:center;font-size:11px;color:#8d7c6c;padding:10px 0}.calendar-cell22{display:flex;flex-direction:column;align-items:center;gap:9px;min-width:0;min-height:100px;padding:12px 4px;border:1px solid #e9dfd3;border-radius:12px;background:#fffdfa;color:#5f4f43;transition:background .15s,border-color .15s}.calendar-cell22>strong{font-size:18px;font-weight:400}.calendar-cell-counts22{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;font-size:10px;line-height:1.4}.calendar-cell-counts22 .free{color:#607653}.calendar-cell-counts22 .busy{color:#9a6740}.calendar-cell22>small{font-size:9px;line-height:1.2;color:#8d8074}.calendar-cell22:hover{border-color:#b58b66;background:#faf5ed}.calendar-cell22.selected{background:#ecdfcf;border-color:#aa7c56;box-shadow:inset 0 0 0 1px #aa7c56}.calendar-cell22.today>strong{border-bottom:2px solid #9b6c4b}.calendar-cell22.closed{background:#f7f4ef;color:#a39383}
.day-panel22{scroll-margin-top:22px}.day-jump22{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;margin:20px 0 26px;max-width:600px}.calendar-help22{font-size:14px;margin:22px 0}.slot-tools22{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:11px}.slot-tools22 .text-link{font-size:12px}.slot-tools22>span{color:#8d7c6c}.admin-slots22{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.admin-slot22{position:relative;display:block;min-width:0;margin:0}.admin-slot22>input{position:absolute;opacity:0;width:1px;height:1px}.admin-slot22>span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:91px;padding:10px 4px;border:1px solid #dce4d4;border-radius:12px;background:#f7faf3;transition:background .15s,border-color .15s}.admin-slot22 strong{font-size:17px;line-height:1.3;font-weight:400}.admin-slot22 small{font-size:10px;line-height:1.4}.admin-slot22 em{font-style:normal;font-size:10px;color:#617553}.admin-slot22.free{cursor:pointer}.admin-slot22.free:hover>span{border-color:#a78162}.admin-slot22>input:checked+span{background:#9e6e4b;color:#fff;border-color:#9e6e4b;box-shadow:inset 0 0 0 1px #fff6}.admin-slot22>input:checked+span small,.admin-slot22>input:checked+span em{color:#fff1e5}.admin-slot22>input:focus-visible+span{outline:2px solid #8e6444;outline-offset:3px}.admin-slot22.busy>span{background:#f4e8d8;border-color:#e0c6a6;color:#96653e}.admin-slot22.busy em{color:#96653e}.admin-slot22.blocked>span{background:#efebe6;border-color:#dfd6cb;color:#8d7d6e}.admin-slot22.blocked em{color:#8d7d6e}.admin-slot22.past.free>span{background:#f6f3ef;border-color:#e8e0d7;opacity:.65}
.calendar-detail-columns22{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.day-booking22,.day-block22{display:flex;align-items:center;gap:16px;border-bottom:1px solid #eadfd2;padding:16px 0;min-width:0}.day-booking22>span,.day-block22>span{flex:1;min-width:0}.day-booking22 strong,.day-block22 strong{display:block;font-size:13px;overflow-wrap:anywhere}.day-booking22 small,.day-block22 small{display:block;font-size:11px}.day-booking22 time{color:#9e6e4b;font-size:18px;flex-shrink:0}.day-block22 form{flex-shrink:0}.bulk-panel22 summary,.capacity-days22 summary{display:flex;align-items:center;gap:14px;justify-content:space-between;list-style:none}.bulk-panel22 summary::-webkit-details-marker,.capacity-days22 summary::-webkit-details-marker{display:none}.bulk-panel22 details>p{margin:12px 0 24px;font-size:13px}.bulk-panel22 summary{font-size:18px}.bulk-panel22 details[open]>summary{border-bottom:1px solid #e6d9c9;margin-bottom:12px}
.capacity-progress22{display:flex;flex-direction:column;gap:9px;margin:22px 0;font-size:13px}.capacity-progress22 progress{display:block;width:100%;height:8px;border:0;border-radius:20px;overflow:hidden;appearance:none;background:#f0ebe2}.capacity-progress22 progress::-webkit-progress-bar{background:#ede7db;border-radius:20px}.capacity-progress22 progress::-webkit-progress-value{background:#a67c58;border-radius:20px}.capacity-progress22 progress::-moz-progress-bar{background:#a67c58;border-radius:20px}.capacity-days22 summary{border-top:1px solid #e8ded1;padding:20px 0 0;margin-top:20px;font-size:13px}.capacity-day-list22{max-height:420px;overflow-y:auto;margin-top:15px}.capacity-day-list22 a{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:10px;padding:13px 0;border-bottom:1px solid #eee5da;font-size:12px;min-width:0}.capacity-day-list22 span{font-size:11px;color:var(--state-color)}
@media(max-width:1050px){.admin-slots22{grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-detail-columns22{gap:18px}.calendar-cell-counts22{gap:5px}}
@media(max-width:650px){input[type=date],input[type=time],input[type=datetime-local],input[type=month]{font-size:16px;padding:12px;min-height:48px}.finance-filters,.date-range22,.contained-date-grid22{grid-template-columns:minmax(0,1fr)!important;gap:18px!important}.finance-filters>button,.date-range22>button{grid-column:1!important;width:100%}.calendar-title22{gap:16px;align-items:flex-start}.calendar-title22 h2{font-size:23px}.calendar-nav22{width:100%;justify-content:space-between}.calendar-nav22 .icon-button{width:42px;height:42px}.calendar-nav22 .pill{padding:9px 22px}.capacity-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.capacity-metric{padding:14px}.capacity-metric strong{font-size:28px}.capacity-metric span{font-size:11px}.calendar-month22{gap:4px}.calendar-cell22{border-radius:8px;min-height:76px;padding:9px 1px;gap:5px}.calendar-cell22>strong{font-size:14px}.calendar-cell-counts22{gap:1px;flex-direction:column;align-items:center;font-size:9px}.calendar-cell22>small{font-size:8px}.calendar-weekday22{font-size:10px}.calendar-legend22{gap:13px;font-size:10px}.calendar-caption22{font-size:11px}.day-jump22{grid-template-columns:minmax(0,1fr)}.day-jump22 button{width:100%}.admin-slots22{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.admin-slot22>span{min-height:86px}.calendar-detail-columns22{grid-template-columns:minmax(0,1fr);gap:0}.calendar-help22{font-size:13px}.slot-tools22{align-items:center}.slot-tools22>span{width:100%}.slot-block-form22>.button{white-space:normal;line-height:1.5}.bulk-panel22 summary{font-size:17px;line-height:1.6}.capacity-day-list22 a{grid-template-columns:1fr 1fr;gap:6px;font-size:12px}.capacity-day-list22 a time{grid-column:1/-1}.family-pricing22 input{font-size:16px}.calendar-title22 .badge{font-size:10px}}
button.text-link{-webkit-appearance:none;appearance:none;background:transparent;border:0;cursor:pointer;font-family:inherit}
.slot-tools22 button.text-link{border:1px solid #e6d8c7;border-radius:99px;padding:8px 12px;line-height:1.5}
.day-block22 button.text-link{padding:10px 4px}
