.cm-app{--cm-green:#283a36;--cm-cream:#f5f2ec;--cm-border:#d9dedb;color:var(--cm-green);max-width:1180px;margin:40px auto;font-family:inherit;font-size:16px;line-height:1.55}.cm-app *{box-sizing:border-box}.cm-app h2{font-size:clamp(28px,4vw,42px);line-height:1.15;margin:0 0 18px}.cm-app h3{font-size:21px;margin:0 0 14px}.cm-heading{margin-bottom:28px;max-width:760px}.cm-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:1.4px;color:#a95131;margin:0 0 12px}.cm-card{background:var(--cm-cream);border:1px solid var(--cm-border);border-radius:16px;padding:26px;margin-bottom:20px}.cm-booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.cm-app button,.cm-app input[type=submit]{background:var(--cm-green)!important;color:#fff!important;border:0!important;border-radius:10px!important;min-height:44px;padding:11px 18px!important;font:inherit!important;cursor:pointer}.cm-app button:hover{background:#465e55!important}.cm-app button:disabled{opacity:.35;cursor:not-allowed}.cm-app button:focus-visible,.cm-app a:focus-visible,.cm-app input:focus-visible,.cm-app select:focus-visible{outline:3px solid #a95131!important;outline-offset:3px}.cm-app label{display:block;font-weight:500;margin-bottom:14px}.cm-app input:not([type=checkbox]):not([type=submit]),.cm-app select{display:block!important;width:100%!important;min-height:46px!important;background:#fff!important;color:#283a36!important;border:1px solid #b9c5be!important;border-radius:10px!important;padding:10px 12px!important;margin:6px 0 0!important;font:inherit!important}.cm-app fieldset{padding:0;border:0;margin:0;min-width:0}.cm-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.cm-app .cm-check{display:flex;align-items:flex-start;gap:10px;font-size:14px;font-weight:400}.cm-app input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;margin-top:3px;accent-color:#283a36}.cm-month{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.cm-month h3{margin:0;text-transform:capitalize;text-align:center}.cm-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.cm-app .cm-calendar button{padding:5px!important;background:#fff!important;color:#283a36!important;border:1px solid #c5cec9!important}.cm-app .cm-calendar button:disabled{background:#eae7e1!important;color:#626c67!important;opacity:.65}.cm-app .cm-calendar button[aria-pressed=true],.cm-app .cm-times button[aria-pressed=true]{background:#283a36!important;color:#fff!important;outline:2px solid #a95131;outline-offset:1px}.cm-weekday{text-align:center;font-size:12px}.cm-times{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.cm-app .cm-times button{background:#fff!important;color:#283a36!important;border:1px solid #b9c5be!important}.cm-small{font-size:13px!important;color:#53615a}.cm-selection{font-weight:600;min-height:48px}.cm-message:empty{display:none}.cm-message{padding:14px 18px;background:#e8f0e9;border-radius:10px}.cm-message.cm-error{background:#fff0e9;color:#7e2912}.cm-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.cm-primary{width:100%;margin-top:12px}.cm-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:22px}.cm-toolbar label{margin:0}.cm-appointment{display:flex;justify-content:space-between;gap:20px}.cm-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cm-cancelled{opacity:.65}.cm-checks{display:flex;flex-wrap:wrap;gap:10px 20px;margin:15px 0}.cm-settings summary{font-size:20px;cursor:pointer;font-weight:600}.cm-settings form{margin-top:24px}.cm-app a{color:#283a36;text-decoration:underline}.cm-success{max-width:700px}.cm-mail p{border-top:1px solid var(--cm-border);padding-top:12px}
@media(max-width:767px){.cm-app{margin:24px auto;padding:0 8px}.cm-booking-grid,.cm-fields{grid-template-columns:1fr}.cm-card{padding:18px}.cm-calendar{gap:4px}.cm-appointment{display:block}.cm-actions{margin-top:15px}.cm-toolbar{align-items:stretch}.cm-toolbar>*{flex:1 1 45%}}
.cm-staff-grid button{min-height:106px;display:flex;flex-direction:column;align-items:center;gap:6px}.cm-staff-grid strong{font-size:20px}.cm-day-summary{font-size:11px;line-height:1.3}.cm-dots{display:flex;gap:4px;margin-top:auto;padding:4px 0}.cm-dot{width:8px;height:8px;border-radius:50%;background:#ccc;display:block}.cm-dot.cm-free{background:#60866c}.cm-dot.cm-booked{background:#b6603d}.cm-dot.cm-blocked{background:#566979;border-radius:2px}.cm-legend{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:12px}.cm-view-tools{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.cm-staff-grid button[aria-current=date]{box-shadow:inset 0 0 0 2px #a95131}.cm-day-slots{margin-top:24px;border-top:1px solid #d9dedb;padding-top:24px;scroll-margin-top:120px}.cm-slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.cm-slot{padding:16px;border:1px solid #d9dedb;border-radius:12px;background:#fff;min-width:0}.cm-slot p{font-size:14px;overflow-wrap:anywhere}.cm-slot button{width:100%;margin-top:8px;font-size:13px!important;padding:10px!important}.cm-slot button+button{background:#465e55!important}.cm-slot.cm-booked{border-top:4px solid #b6603d}.cm-slot.cm-blocked{border-top:4px solid #566979}.cm-slot.cm-free{border-top:4px solid #60866c}.cm-slot.cm-closed,.cm-slot.cm-past,.cm-slot.cm-future{background:#eceae5;color:#63716b}.cm-app .cm-staff-grid button[aria-pressed=true] .cm-dots{background:#fff;border-radius:5px;padding:4px}.cm-appointment p{overflow-wrap:anywhere}
@media(max-width:767px){.cm-staff-grid button{min-height:62px;gap:2px}.cm-staff-grid strong{font-size:16px}.cm-day-summary{display:none}.cm-dot{width:5px;height:5px}.cm-dots{gap:3px}.cm-slot-grid{grid-template-columns:1fr 1fr}.cm-staff-calendar{padding:12px}.cm-view-tools button{font-size:13px!important}.cm-legend{font-size:11px;gap:6px 12px}.cm-slot{padding:12px}.cm-slot strong{font-size:14px}}
@media(max-width:380px){.cm-slot-grid{grid-template-columns:1fr}.cm-dots{gap:2px}.cm-dot{width:4px;height:4px}}
.cm-app .cm-staff-grid button strong{color:inherit!important}

/* Toolbar: controls share baseline and height. */
.cm-app .cm-toolbar{align-items:flex-end;gap:12px}.cm-app .cm-toolbar>label{margin:0!important}.cm-app .cm-toolbar>button,.cm-app .cm-toolbar input[type=month]{height:48px!important;min-height:48px!important;margin-bottom:0!important}.cm-app .cm-toolbar>button{display:flex;align-items:center;justify-content:center;line-height:1.2!important}
@media(max-width:767px){.cm-app .cm-toolbar{display:grid;grid-template-columns:1fr 1fr;align-items:end}.cm-app .cm-toolbar>label{grid-column:1/-1}.cm-app .cm-toolbar>button{height:auto!important;min-height:60px!important;width:100%;margin:0!important}}

.cm-app .cm-settings label:has(input[name="notice"]){display:none!important}

/* Administrator form editor */
.cm-field-row{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:14px;align-items:end;padding:18px 0;border-bottom:1px solid #ddd}
.cm-form-fields form>button{margin-top:20px}.cm-app textarea{width:100%;min-height:110px;border:1px solid #bec9c5;border-radius:10px;padding:12px;font:inherit}
@media(max-width:767px){.cm-field-row{grid-template-columns:1fr}.cm-field-row button{width:100%}}

.cm-app button.cm-delete{background:#913f37!important;color:#fff!important}.cm-delete-confirm{border:1px solid #913f37}.cm-delete-confirm input{max-width:420px}

.cm-slot-edit{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid #ddd}.cm-schedule-editor [hidden]{display:none!important}.cm-schedule-editor button,.cm-availability button{margin:6px 4px 6px 0}.cm-schedule-status{color:#913f37}.cm-slot-grid{margin-top:18px}
@media(max-width:767px){.cm-slot-edit{grid-template-columns:1fr 1fr}.cm-slot-edit button{width:100%}.cm-schedule-editor .cm-fields{grid-template-columns:1fr}}

.cm-week-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:16px}.cm-week-day{background:#fff;border:1px solid #deded7;border-radius:10px;padding:20px}.cm-day-title{padding-bottom:14px;border-bottom:1px solid #e7e5df}.cm-day-checks{padding-top:12px}.cm-day-checks .cm-check{margin:12px 0}.cm-week-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.cm-app .cm-settings-link{display:inline-block;background:#465f56;color:#fff!important;padding:14px 20px;border-radius:10px;text-decoration:none}.cm-settings-day{padding:22px 0;border-bottom:1px solid #dcded8}.cm-settings-day h4{font-size:21px;margin:0 0 14px}.cm-time-edit{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:16px;align-items:end;margin-bottom:14px}.cm-slot-settings form>button{margin-top:24px}.cm-week-status{color:#283a36}
@media(max-width:767px){.cm-week-days{grid-template-columns:1fr}.cm-time-edit{grid-template-columns:1fr 1fr}.cm-time-edit button{width:100%}}

.cm-slot-settings>summary{font-size:22px;font-weight:600;cursor:pointer}.cm-slot-settings[open]>summary{margin-bottom:20px}.cm-settings-day>summary{font-size:20px;font-weight:600;cursor:pointer}.cm-settings-day[open]>summary{margin-bottom:18px}.cm-settings-day{padding:18px 0}
