/* Shared application chrome and controls, including nested dialogs. */
html,body,body *{scrollbar-width:none!important}*::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
#main:focus{outline:none}#app-view{min-height:100dvh}.is-navigating #main{cursor:progress}
.catalog-card,.customer-card,.reminder-detail{border-radius:9px;border-color:var(--line);background:var(--surface)}.panel{border-color:var(--line)}.more-nav>a{border-radius:7px;min-height:52px}.field input,.field textarea{border-radius:7px}
.select-control{position:relative;display:inline-flex;flex-direction:column;min-width:0;vertical-align:middle}.select-control>select{position:absolute!important;left:1px!important;top:1px!important;width:1px!important;height:1px!important;min-height:1px!important;max-height:1px!important;padding:0!important;border:0!important;opacity:0;pointer-events:none}
.select-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:7px;background:var(--field-bg);color:var(--text);text-align:right;font-size:13px;line-height:1.7;cursor:pointer}.select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.select-trigger>.icon{width:16px;height:16px;color:var(--muted);flex-shrink:0}.select-trigger:hover{border-color:var(--line-strong)}.select-trigger[aria-expanded=true]{border-color:var(--olive);background:var(--selected-bg)}.select-trigger[aria-invalid=true]{border-color:var(--danger)}.select-validation{font-size:11px;line-height:1.8;color:var(--danger);padding-top:5px}
.field .select-control{width:100%}.field .select-trigger{min-height:48px}.week-filter>.select-control{width:165px;max-width:190px}.week-filter .select-trigger{font-size:12px;background:var(--surface-soft);min-height:43px}.schedule-filter>.select-control{flex:0 1 150px;min-width:0;max-width:150px}.report-filter .select-control{flex:1}
#picker-mount .select-control{width:100%}#picker-mount .select-trigger{font-family:inherit;font-size:15px;min-height:40px;padding:5px 8px;background:var(--surface-hover);border:0}
.select-dialog{position:fixed;inset:auto;margin:0;padding:0;width:300px;max-width:calc(100% - 24px);max-height:calc(var(--visible-height,100dvh) - 24px);border:1px solid var(--line-strong);border-radius:12px;background:var(--surface-raised);color:var(--ink);box-shadow:0 15px 60px var(--shadow);overflow:hidden}.select-dialog[open]{display:flex;flex-direction:column}.select-dialog::backdrop{background:#11170d14}.select-dialog-header{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 17px 12px;border-bottom:1px solid var(--line)}.select-dialog-header h2{font-size:15px;font-weight:600;line-height:1.8}.select-count{font-size:10px;color:var(--muted)}.select-dialog-header .icon-button{width:34px;height:34px}.select-search-wrap{flex:none;padding:13px 13px 6px}.select-search{width:100%;min-height:43px;border:1px solid var(--line);border-radius:7px;background:var(--field-bg);color:var(--ink);padding:9px 12px;font-size:16px}.select-search::placeholder{font-size:12px;color:var(--muted)}.select-options{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;max-height:min(340px,55dvh);padding:7px;min-height:0}.select-option{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:right;width:100%;min-height:45px;background:transparent;border:1px solid transparent;border-radius:6px;padding:10px 12px;font-size:13px;color:var(--text);line-height:1.8}.select-option>span:first-child{min-width:0;overflow-wrap:anywhere}.select-option:hover,.select-option:focus-visible{background:var(--surface-hover);outline:none;border-color:var(--line-strong)}.select-option[aria-selected=true]{background:var(--selected-bg);color:var(--ink);font-weight:550}.select-option-check{color:var(--olive);font-size:16px}.select-empty{padding:27px 15px;text-align:center;font-size:12px;color:var(--muted)}
:root{--past-bg:#f6efe1;--past-line:#d7c2a0;--past-ink:#8c6233}:root[data-theme=dark]{--past-bg:#373023;--past-line:#76603c;--past-ink:#e2bd86}
.booking-card{min-width:0;display:flex;flex-direction:column}.booking-card .planner-booking{height:100%;margin:0}.booking-card .planner-booking:hover{transform:none}.planner-booking-status{flex-wrap:wrap}.booking-time-state{flex:1 0 100%;font-size:10px;line-height:1.8;color:var(--olive);margin-top:5px;text-align:right}.booking-card[data-time-state=past] .planner-booking{background:var(--past-bg);border-color:var(--past-line);border-right-color:var(--past-ink)}.booking-card[data-time-state=past] .booking-time-state{color:var(--past-ink);font-weight:550}.booking-card[data-time-state=past] .planner-booking-status{border-color:var(--past-line)}.booking-card[data-time-state=past] .planner-booking-time{border-color:var(--past-line)}
.booking-card:has(.booking-complete:not([hidden])) .planner-booking{border-radius:8px 8px 0 0;border-bottom:0}.booking-complete{display:flex;align-items:center;justify-content:center;gap:7px;min-height:43px;width:100%;border:1px solid var(--selected-line);border-right:3px solid var(--olive);border-radius:0 0 8px 8px;background:var(--selected-bg);color:var(--ink);font-size:11px;font-weight:550;padding:10px}.booking-complete>.icon{width:15px;height:15px}.booking-complete:hover{filter:brightness(.94)}.booking-card[data-time-state=past] .booking-complete{background:var(--past-bg);border-color:var(--past-line);border-right-color:var(--past-ink);color:var(--past-ink)}
.dashboard-schedules{min-width:0;width:100%;display:flex;flex-direction:column;gap:24px}.attention-panel{border-color:var(--past-line)}.attention-note{font-size:11px;color:var(--past-ink)}.booking-day{font-size:10px;color:var(--muted);display:block;margin-top:6px;line-height:1.8}
@media(max-width:760px){.field .select-trigger{min-height:51px;font-size:16px;padding:12px 13px}.week-filter>.select-control{max-width:154px;width:154px}.week-filter .select-trigger{font-size:12px;min-height:45px}.schedule-filter>.select-control{flex-basis:146px;max-width:146px}.select-dialog{--select-gap:clamp(12px,calc(var(--visible-height,100dvh)*.1),64px);inset:auto;top:calc(var(--visible-top,0px) + var(--select-gap));left:50%;transform:translateX(-50%);width:calc(100% - 32px);max-width:440px;max-height:min(580px,calc(var(--visible-height,100dvh) - var(--select-gap) - 16px));margin:0;border-radius:18px}.select-dialog::backdrop{background:var(--overlay)}.select-dialog-header{padding:18px 18px 14px}.select-dialog-header h2{font-size:17px}.select-options{max-height:none;padding:8px;scrollbar-width:thin}.select-option{min-height:50px;font-size:14px;padding:12px}.booking-complete{font-size:12px;min-height:46px}.booking-time-state{font-size:11px}}
@media(max-width:360px){.schedule-filter>.select-control{flex-basis:130px;max-width:130px}.week-filter .select-trigger{font-size:11px;padding-inline:8px;gap:7px}}

/* The account pages and workspace use the same type and control tokens. */
.button{font-size:var(--type-body);min-height:var(--control-height);border-radius:var(--control-radius)}
.button.primary{border-radius:99px}.button.compact{font-size:var(--type-caption);min-height:42px}
.dashboard-header>.button,.page-heading>.button,.form-footer .button{font-size:var(--type-body)}
.theme-button,.topbar .theme-button{font-size:var(--type-caption);min-height:44px;min-width:44px;border-radius:var(--control-radius)}
.field input,.field textarea,.editor-modal .field input,.editor-modal .field textarea,.field .select-trigger{font-size:var(--type-control);border-radius:var(--control-radius)}
.field>span,.editor-modal .field>span,.settings-panel .field>span{font-size:var(--type-body)}
.select-trigger{border-radius:var(--control-radius)}
.editor-form .form-footer>.button,.settings-panel .form-footer>.button{font-size:var(--type-body);min-height:var(--control-height)}
.editor-form .form-footer>.button.primary,.settings-panel .form-footer>.button.primary{border-radius:99px}

.select-load-more{flex:none;margin:0 14px 14px}.select-dialog-header h2:focus{outline:none}
