/* Shared accessible form rhythm, scoped to the booking application. */
.gmb{font-size:16px;line-height:1.6}.gmb-admin{font-size:14px;--gmb-accent:#806557;--gmb-line:#e8dfd8;--gmb-ink:#332c2b}
.gmb-admin h1{font-size:26px;line-height:1.3}.gmb-admin h2{font-size:22px}.gmb-admin h3{font-size:19px}.gmb-admin h4{font-size:16px;line-height:1.4}
.gmb-admin .gmb-grid>label,.gmb-admin .gmb-card>label{font-size:14px;line-height:1.5}.gmb-admin .gmb-grid label small,.gmb-admin .gmb-status-pill{font-size:13px}
.gmb-admin .gmb-table th{font-size:13px;text-transform:none;letter-spacing:0;background:#faf7f4}.gmb-admin .gmb-table td{font-size:14px;line-height:1.5}.gmb-admin .gmb-table-sub{color:#655a54}
.gmb-admin .gmb-card :is(input:not([type=checkbox]):not([type=hidden]),select,textarea){font-size:15px;border-color:#cbbfb6;border-radius:6px;min-height:44px}.gmb .gmb-card{border-radius:10px}
.gmb .button,.gmb button{font-size:14px;line-height:20px;min-height:40px;padding:9px 16px;border-radius:6px;letter-spacing:0;text-transform:none;box-shadow:none}
.gmb .gmb-secondary{background:#fff;color:#51453f;border-color:#cbbfb6}.gmb button:hover:not(:disabled),.gmb .button:hover{filter:brightness(.96)}
.gmb-admin td .button{font-size:13px;min-height:36px}.gmb [hidden],#gmb-calendar-app [hidden],#gmb-visit-dialog [hidden]{display:none!important}
.gmb-question-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.gmb-question-heading h4{margin:0;overflow-wrap:anywhere}.gmb .gmb-question-remove{flex:0 0 40px;width:40px;padding:0;font-size:22px;margin:0}
.gmb-question-row{margin-top:16px}.gmb-question-row>p{margin-bottom:0}.gmb-question-row label input[type=checkbox]{margin-right:7px}.gmb-question-row .gmb-grid{gap:16px 24px}
.gmb .flatpickr-wrapper,#gmb-calendar-app .flatpickr-wrapper,#gmb-visit-dialog .flatpickr-wrapper{display:block;width:100%;min-width:0}
.flatpickr-calendar{font:14px/1.5 system-ui,sans-serif;color:#332c2b;border:1px solid #e8dfd8;border-radius:8px;box-shadow:0 6px 24px #332c2b18}
.flatpickr-day.selected,.flatpickr-day.selected:hover{background:#806557;border-color:#806557}.flatpickr-day.today{border-color:#806557}.flatpickr-time input{font-size:16px!important}
.gmb .flatpickr-calendar :is(input,select),#gmb-visit-dialog .flatpickr-calendar :is(input,select){padding:0;min-height:0;height:auto;border:0;border-radius:0;font-size:14px}
.gmb .flatpickr-calendar .flatpickr-time input,#gmb-visit-dialog .flatpickr-calendar .flatpickr-time input{height:100%}
.gmb .flatpickr-calendar.static.open{z-index:30}.gmb :is(input,select,textarea):focus-visible{outline:2px solid #806557;outline-offset:2px}
#gmb-calendar-app .gmb-kpi small,#gmb-visit-dialog small{font-size:13px;line-height:1.5}
@media(max-width:720px){.gmb :is(input,select,textarea),.gmb-admin .gmb-card :is(input:not([type=checkbox]):not([type=hidden]),select,textarea){font-size:16px}.gmb .button,.gmb button{min-height:44px}.gmb-admin h1{font-size:24px}.gmb-admin h2{font-size:21px}.gmb .gmb-question-remove{flex-basis:44px;width:44px}}
.gmb .flatpickr-calendar select.flatpickr-monthDropdown-months,#gmb-calendar-app .flatpickr-calendar select.flatpickr-monthDropdown-months,#gmb-visit-dialog .flatpickr-calendar select.flatpickr-monthDropdown-months{width:auto;max-width:65%;display:inline-block}
.flatpickr-calendar{background:#fff}

/* Own popup only: generic theme/admin input sizes must not leak into picker internals. */
.flatpickr-calendar.gmb-datepicker{width:336px;max-width:calc(100vw - 24px);padding:8px!important;box-sizing:border-box;background:#fff;box-shadow:0 8px 30px #332c2b24;border-radius:10px;line-height:1.4}
.gmb-datepicker .flatpickr-months{height:48px!important;position:relative}.gmb-datepicker .flatpickr-month{height:48px!important;overflow:visible!important}.gmb-datepicker .flatpickr-current-month{display:flex!important;align-items:center;justify-content:center;gap:6px;height:44px!important;left:28px!important;top:0!important;width:calc(100% - 56px)!important;padding:0!important;font-size:15px!important}
.gmb-datepicker .flatpickr-current-month select.flatpickr-monthDropdown-months{flex:1 1 auto!important;width:auto!important;max-width:140px!important;min-width:0!important;height:36px!important;min-height:0!important;padding:3px 4px!important;line-height:30px!important;border:0!important;background:#fff!important;font:500 14px/30px system-ui,sans-serif!important;margin:0!important}
.gmb-datepicker .flatpickr-current-month .numInputWrapper{flex:0 0 72px!important;width:72px!important;height:36px!important;display:inline-block!important}.gmb-datepicker .flatpickr-current-month input.cur-year{width:72px!important;min-width:0!important;max-width:none!important;height:36px!important;min-height:0!important;padding:3px 18px 3px 4px!important;border:0!important;border-radius:4px!important;margin:0!important;font:500 15px/30px system-ui,sans-serif!important;box-sizing:border-box!important}
.gmb-datepicker .flatpickr-months :is(.flatpickr-prev-month,.flatpickr-next-month){top:8px!important;width:28px!important;height:32px!important;padding:8px!important;box-sizing:border-box!important}.gmb-datepicker .flatpickr-innerContainer,.gmb-datepicker .flatpickr-rContainer{width:100%}.gmb-datepicker .flatpickr-days{width:100%!important}.gmb-datepicker .dayContainer{width:100%!important;min-width:100%!important;max-width:100%!important;padding:0!important}.gmb-datepicker .flatpickr-day{flex-basis:14.285714%!important;max-width:none!important;height:38px!important;line-height:36px!important;font-size:14px!important}.gmb-datepicker .flatpickr-weekdays{height:30px!important}.gmb-datepicker .flatpickr-weekday{font:500 12px/30px system-ui,sans-serif!important}
.gmb-datepicker .flatpickr-time{display:flex!important;align-items:center;justify-content:center;height:56px!important;max-height:none!important;overflow:visible!important;padding:4px 0!important;margin-top:5px;border-top:1px solid #e8dfd8!important}.gmb-datepicker .flatpickr-time .numInputWrapper{float:none!important;flex:1 1 0!important;width:auto!important;min-width:0!important;height:46px!important;border:1px solid #d9cfc7!important;border-radius:6px!important;box-sizing:border-box!important}.gmb-datepicker .flatpickr-time input.numInput{width:100%!important;min-width:0!important;max-width:none!important;height:44px!important;min-height:0!important;margin:0!important;padding:0 22px!important;border:0!important;background:transparent!important;box-shadow:none!important;font:500 18px/44px system-ui,sans-serif!important;box-sizing:border-box!important;text-align:center!important}.gmb-datepicker .flatpickr-time .flatpickr-time-separator{float:none!important;flex:0 0 18px!important;width:18px!important;height:44px!important;line-height:44px!important;text-align:center!important}.gmb-datepicker .numInputWrapper :is(.arrowUp,.arrowDown){width:18px!important;box-sizing:border-box!important}
