/* Private booking beta uses the application's existing controls and palette. */
.booking-screen [hidden],.booking-dialog [hidden],#booking-catalog-card[hidden],#widget-choice-booking[hidden]{display:none!important}
body.widgets-page #booking-screen{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;width:100%;max-width:1144px;margin:0 auto;padding:0}
#booking-screen[hidden]{display:none!important}
.booking-heading{display:flex;flex:none;align-items:center;justify-content:space-between;gap:16px;margin:0 0 12px}
.booking-heading h1{margin:0 0 5px;font-size:25px;line-height:1.2;color:var(--ui-ink);letter-spacing:-.5px}
.booking-heading>span{font-size:12px;color:var(--ui-muted)}
.booking-beta-note{display:block;color:var(--ui-primary-hover);font-size:11px;line-height:1.4}
#booking-catalog-card>.booking-beta-note{flex:none;padding:8px 18px;background:var(--ui-selected);border-bottom:1px solid var(--ui-border)}
#widget-choice-booking .widget-picker-icon,#booking-catalog-card .widget-heading-icon{color:var(--ui-muted);background:var(--ui-violet-soft)}
.booking-tabs,.booking-settings-nav{display:flex;gap:4px;flex:none;padding:4px;background:var(--ui-selected);border:1px solid var(--ui-border);border-radius:10px}
.booking-screen button,.booking-dialog button{cursor:pointer;font-family:inherit}
.booking-screen button:disabled,.booking-dialog button:disabled{cursor:default;opacity:.5}
.booking-tabs button,.booking-settings-nav button{flex:1;min-height:38px;padding:8px 12px;border:0;border-radius:7px;background:transparent;color:var(--ui-muted);font-size:13px;font-weight:550;box-shadow:none}
.booking-tabs button[aria-pressed=true],.booking-settings-nav button[aria-pressed=true]{background:var(--ui-surface);color:var(--ui-primary-hover);box-shadow:0 1px 4px var(--ui-ink-a12)}
#booking-status{flex:none;min-height:0;margin:0;color:var(--ui-muted);font-size:12px;line-height:1.45}
#booking-status:not(:empty){padding:8px 0}
.booking-body{display:flex;flex-direction:column;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:14px 0 4px;scrollbar-width:thin}
.booking-empty{padding:30px 16px;margin:0;color:var(--ui-muted);font-size:13px;line-height:1.7;text-align:center}
.booking-toolbar,.booking-section-heading,.booking-slots-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:none;margin-bottom:14px}
.booking-toolbar .booking-field{margin:0 auto 0 0;max-width:210px}
.booking-screen button:not(.widget-primary):not(.widget-secondary):not([data-tab]):not([data-section]):not([data-start]):not([data-theme]),.booking-dialog footer button:not(.widget-primary),.booking-dialog-body>button{min-height:36px;padding:8px 12px;border:1px solid #d7e2ef;border-radius:8px;background:#fff;color:#57718f;font-size:12px;font-weight:550;box-shadow:none}
.booking-screen .widget-primary,.booking-dialog .widget-primary{min-height:42px;padding:10px 20px;border:0;border-radius:9px;background:var(--ui-primary);color:var(--ui-surface);font-size:14px;font-weight:650;box-shadow:none}
.booking-field{display:flex;flex-direction:column;gap:7px;min-width:0;margin:0 0 15px;color:var(--ui-ink);font-size:12px;font-weight:550}
.booking-field input,.booking-field select,.booking-field textarea,.booking-rule input,.booking-rule select,.booking-exception>input{box-sizing:border-box;width:100%;min-width:0;min-height:40px;padding:9px 11px;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface);color:var(--ui-ink);font:400 14px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;outline:none;box-shadow:none}
.booking-field input:focus,.booking-field select:focus,.booking-field textarea:focus,.booking-rule input:focus{border-color:var(--ui-primary);box-shadow:0 0 0 2px var(--ui-focus-soft)}
.booking-field small,.booking-help{font-size:11px;font-weight:400;line-height:1.6;color:var(--ui-muted)}
.booking-check{display:flex;align-items:center;gap:9px;color:var(--ui-primary-hover);font-size:12px;line-height:1.45}
.booking-check input{width:18px;height:18px;flex:none;accent-color:var(--ui-primary)}
.booking-check small{display:block;margin-top:3px;color:var(--ui-muted);font-size:11px}
.booking-list,.booking-edit-list{display:flex;flex:1;flex-direction:column;min-height:0;gap:10px}
.booking-record{display:flex;align-items:center;gap:18px;padding:15px 18px;border:1px solid var(--ui-border);border-radius:11px;background:var(--ui-surface)}
.booking-record-time{display:flex;flex-direction:column;flex:none;gap:4px;color:var(--ui-primary-hover);font-variant-numeric:tabular-nums}
.booking-record-time strong{font-size:19px;color:var(--ui-ink)}
.booking-record-time small{font-size:12px}
.booking-record-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--ui-muted);overflow-wrap:anywhere}
.booking-record-copy strong{font-size:15px;color:var(--ui-ink)}
.booking-record-copy small{white-space:pre-wrap}
.booking-record-actions{display:flex;gap:7px;align-items:center;font-size:12px;color:var(--ui-muted)}
.booking-record.is-cancelled{background:var(--ui-surface);opacity:.65}
.booking-client-heading{margin-bottom:18px}.booking-client-heading h2{margin:0 0 6px;color:var(--ui-ink);font-size:22px}.booking-client-heading p{margin:0;color:var(--ui-muted);font-size:13px}
.booking-client-fields{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1.1fr) minmax(0,1fr);gap:16px}
.booking-slots{padding:18px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface)}
.booking-slots-heading h3{margin:0;font-size:15px;color:var(--ui-ink)}.booking-slots-heading>span{font-size:11px;color:var(--ui-muted)}
.booking-time-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.booking-time-grid button{min-height:46px;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-green-soft);color:var(--ui-green);font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;box-shadow:none}
.booking-time-grid button:hover{background:var(--ui-green-soft);border-color:var(--ui-green)}
.booking-time-grid button:disabled{background:var(--ui-bg);border-color:var(--ui-border);color:var(--ui-muted);opacity:1;text-decoration:line-through}
.booking-pager{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:16px;color:var(--ui-muted);font-size:12px}
.booking-settings-nav{align-self:stretch;flex-wrap:wrap;background:none;border:0;padding:0;margin-bottom:15px}
.booking-settings-nav button{flex:initial;min-height:34px;background:var(--ui-surface);font-size:12px;padding:7px 13px}
.booking-settings-nav button[aria-pressed=true]{background:var(--ui-selected);box-shadow:none}
.booking-settings-content{flex:1;min-width:0}
.booking-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;max-width:860px}
.booking-enabled{align-self:center}.booking-enabled strong{font-weight:550}
.booking-section-heading h2,.booking-appearance h2{margin:0 0 5px;color:var(--ui-ink);font-size:18px}
.booking-section-heading p{margin:0;color:var(--ui-muted);font-size:12px;line-height:1.5}
.booking-edit-row{display:grid;grid-template-columns:minmax(0,1fr) 100px 140px auto 32px;align-items:center;gap:12px;padding:14px;border:1px solid var(--ui-border);border-radius:11px}
.booking-edit-row .booking-field{margin:0}.booking-edit-row .booking-check{padding-top:18px}
.booking-screen button.booking-delete{min-height:30px!important;padding:3px!important;font-size:20px!important;color:var(--ui-muted)!important}
.booking-staff-row{padding:14px;border:1px solid var(--ui-border);border-radius:11px}
.booking-staff-heading{display:flex;align-items:center;gap:16px}.booking-staff-heading .booking-field{flex:1;margin:0}.booking-staff-services{display:flex;flex-wrap:wrap;gap:12px;margin:13px 0}
.booking-notification-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border:1px solid var(--ui-border);border-radius:10px}
.booking-appearance{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:28px}
.booking-appearance-preview .booking-mini-tiles{margin-top:14px}
.booking-themes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0 20px}
.booking-themes button{display:flex;flex-direction:column;gap:7px;align-items:center;padding:9px;border:1px solid var(--ui-border);border-radius:9px;background:var(--ui-surface);color:var(--ui-muted);font-size:11px;box-shadow:none}
.booking-themes button[aria-pressed=true]{border-color:var(--ui-primary);background:var(--ui-surface);box-shadow:inset 0 0 0 1px var(--ui-primary)}
.booking-themes i{display:block;width:100%;height:23px;border-radius:5px}
.booking-save-row{display:flex;justify-content:space-between;align-items:center;gap:16px;flex:none;padding:12px 0 2px;border-top:1px solid var(--ui-border);margin-top:8px}
.booking-save-row span{font-size:12px;color:var(--ui-muted)}.booking-save-row button{margin-left:auto;min-width:150px}
.booking-mini-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;max-width:510px;margin:0 auto;min-height:0}
.booking-mini-tile{display:flex;position:relative;overflow:hidden;flex-direction:column;aspect-ratio:2/3;min-width:0;padding:8% 8% 0;border-radius:10px;background:var(--booking-tile,var(--ui-selected));color:var(--booking-ink,var(--ui-ink));text-align:left;box-sizing:border-box;container-type:inline-size}
.booking-mini-tile>b{font-size:clamp(30px,40cqw,58px);line-height:.96;font-weight:750;letter-spacing:-2px}.booking-mini-tile>span{font-size:clamp(9px,11cqw,16px);line-height:1.2}.booking-mini-tile>strong{margin-top:8%;font-size:clamp(9px,10cqw,15px);line-height:1.25;text-transform:capitalize}.booking-mini-tile>em{position:relative;margin-top:10%;font-size:clamp(10px,12cqw,18px);line-height:1.3;font-style:normal;font-weight:600;z-index:1}.booking-mini-tile>img{display:block;position:absolute;width:68%;height:auto;bottom:-4%;left:16%;z-index:0}
#booking-catalog-card .widget-card-preview{display:flex;flex-direction:column;justify-content:flex-start;min-height:0}
#booking-catalog-card .widget-card-preview h3{flex:none}
#booking-catalog-card .booking-mini-tiles{flex:0 1 auto}
#booking-catalog-card .widget-card-preview-link{margin-top:10px;width:100%;border:0;background:transparent;color:var(--ui-muted);cursor:pointer;font:500 11px/1.4 system-ui}
.booking-dialog{box-sizing:border-box;width:min(780px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:0;border:1px solid var(--ui-border);border-radius:16px;color:var(--ui-ink);background:var(--ui-surface);box-shadow:0 20px 80px var(--ui-ink-a33)}
.booking-dialog::backdrop{background:var(--ui-backdrop);backdrop-filter:blur(3px)}
.booking-dialog form{display:flex;flex-direction:column;max-height:calc(100dvh - 42px)}
.booking-dialog header{display:flex;align-items:center;justify-content:space-between;flex:none;gap:20px;padding:20px 24px;border-bottom:1px solid var(--ui-border)}
.booking-dialog h2{margin:0;font-size:20px;line-height:1.3}.booking-dialog header button{width:34px;height:34px;flex:none;padding:0;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface);color:var(--ui-muted);font-size:24px}
.booking-dialog-body{overflow:auto;min-height:0;padding:20px 24px;overscroll-behavior:contain;scrollbar-width:thin}
.booking-dialog-body>p{color:var(--ui-muted);font-size:13px;line-height:1.6;margin:0 0 15px}
.booking-dialog footer{display:flex;justify-content:flex-end;gap:10px;flex:none;padding:16px 24px;border-top:1px solid var(--ui-border)}
#booking-dialog-status{flex:none;margin:0;padding:0 24px;color:var(--ui-muted);font-size:12px;line-height:1.5}#booking-dialog-status:empty{display:none}
.booking-confirm-summary{display:flex;flex-direction:column;gap:8px;margin-bottom:22px;padding:15px;border-radius:10px;background:var(--ui-surface);font-size:13px}.booking-confirm-summary span{color:var(--ui-muted)}
.booking-rule{display:grid;grid-template-columns:minmax(0,1.5fr) 100px 12px 100px;align-items:center;gap:8px;margin:0 0 12px;padding:12px;border:1px solid var(--ui-border);border-radius:10px;min-width:0}
.booking-rule legend{padding:0 5px;font-size:12px;font-weight:600}.booking-rule input,.booking-rule select{min-height:34px;padding:6px;font-size:12px}.booking-rule .booking-pause-input{display:flex;align-items:center;gap:10px;grid-column:1/-1;color:var(--ui-muted);font-size:11px}.booking-rule .booking-pause-input input{flex:1;min-width:0}
.booking-exception{position:relative;padding:12px;border:1px solid var(--ui-border);border-radius:12px;margin-bottom:12px}.booking-exception>.booking-rule{margin-top:12px}.booking-exception>input{width:200px;max-width:85%}.booking-exception>button{position:absolute;top:12px;right:12px;width:28px;height:32px;border:0;border-radius:6px;background:var(--ui-surface);color:var(--ui-muted);font-size:20px}
@media(max-width:700px){
 .booking-heading{margin:0 0 10px;gap:8px}.booking-heading h1{font-size:21px}.booking-heading>span{max-width:110px;text-align:right;font-size:10px}.booking-beta-note{font-size:10px}
 .booking-tabs button{font-size:11px;min-height:37px;padding:7px}.booking-body{padding-top:12px}
 .booking-toolbar{flex-wrap:wrap;gap:8px}.booking-toolbar .booking-field{flex:1;min-width:120px}.booking-toolbar .widget-primary{padding:9px;font-size:11px}.booking-toolbar #booking-agenda-refresh{width:100%}
 .booking-record{gap:12px;flex-wrap:wrap;padding:12px}.booking-record-copy{font-size:11px}.booking-record-actions{margin-left:auto}.booking-record-time strong{font-size:17px}
 .booking-client-heading h2{font-size:20px}.booking-client-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 10px}.booking-client-fields .booking-field:first-child{grid-column:1/-1}.booking-field{font-size:11px;gap:5px;margin-bottom:12px}.booking-field input,.booking-field select,.booking-field textarea{font-size:16px;min-height:42px}
 .booking-slots{padding:12px}.booking-slots-heading{align-items:flex-start;gap:8px}.booking-slots-heading>span{max-width:110px;text-align:right;font-size:10px}.booking-time-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.booking-time-grid button{font-size:14px;min-height:43px}
 .booking-settings-nav{gap:5px}.booking-settings-nav button{font-size:10px;padding:7px 9px}.booking-form-grid{grid-template-columns:minmax(0,1fr)}.booking-enabled{padding-bottom:10px}.booking-section-heading{align-items:flex-start}.booking-section-heading h2{font-size:17px}.booking-section-heading p{font-size:11px}.booking-edit-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:12px;gap:10px}.booking-edit-row .booking-field:first-child{grid-column:1/-1}.booking-edit-row .booking-check{padding:0}.booking-edit-row .booking-delete{justify-self:end;min-width:30px}.booking-staff-heading{flex-wrap:wrap;gap:10px}.booking-staff-heading .booking-field{min-width:100%}.booking-notification-row{flex-wrap:wrap;padding:12px}.booking-notification-row button{width:100%}.booking-appearance{grid-template-columns:minmax(0,1fr);gap:18px}.booking-appearance-preview .booking-mini-tiles{max-width:330px}.booking-themes{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-save-row{gap:8px}.booking-save-row span{font-size:10px}.booking-save-row button{min-width:130px}
 .booking-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 24px);border-radius:13px}.booking-dialog form{max-height:calc(100dvh - 26px)}.booking-dialog header{padding:16px}.booking-dialog h2{font-size:18px}.booking-dialog-body{padding:16px}.booking-dialog footer{padding:12px 16px}.booking-rule{grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr);gap:6px}.booking-rule>select{grid-column:1/-1}.booking-rule input,.booking-rule select{font-size:16px}.booking-rule .booking-pause-input{flex-direction:column;align-items:flex-start;gap:5px;width:100%}.booking-rule .booking-pause-input input{width:100%}
 #booking-catalog-card>.booking-beta-note{padding:6px 12px}#booking-catalog-card .booking-mini-tiles{max-width:340px}
}
@media(prefers-reduced-motion:reduce){.booking-screen *,.booking-dialog *{animation:none!important;transition:none!important}}

@media(min-width:701px){.booking-rule{grid-template-columns:130px 80px 12px 80px minmax(140px,1fr);padding:7px 10px;margin-bottom:8px}.booking-rule .booking-pause-input{grid-column:auto;display:flex;flex-direction:column;align-items:stretch;gap:2px;font-size:9px}.booking-rule input,.booking-rule select{min-height:32px}.booking-rule legend{font-size:11px}.booking-dialog-body>h3{font-size:15px}}
.booking-mini-tiles>img{display:block;width:100%;height:auto;min-width:0;aspect-ratio:2/3;border-radius:10px;object-fit:contain}
body.booking-client-view #subscription-bar,body.booking-client-view .booking-heading,body.booking-client-view #booking-nav,body.booking-client-view #booking-save-row{display:none!important}
body.booking-client-view #booking-screen{max-width:760px;padding:22px 0 12px}
body.booking-client-view .booking-body{padding-top:0}
.booking-client-success{box-sizing:border-box;align-self:center;width:100%;max-width:460px;margin:auto;padding:24px;text-align:center}
.booking-client-check{display:grid;place-items:center;width:66px;height:66px;margin:0 auto 20px;border-radius:50%;background:var(--ui-green-soft);color:var(--ui-green);font-size:36px;font-weight:600;animation:booking-client-check .25s ease-out both}
.booking-client-success h2{margin:0 0 10px;color:var(--ui-ink);font-size:27px;letter-spacing:-.4px}
.booking-client-success>p{margin:0 0 24px;color:var(--ui-muted);font-size:14px;line-height:1.6}
.booking-client-success .booking-confirm-summary{line-height:1.5}.booking-client-success .booking-confirm-summary small{color:var(--ui-muted);font-size:11px}
@keyframes booking-client-check{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}
@media(max-width:700px){body.booking-client-view #booking-screen{padding:12px 0}.booking-client-success{padding:18px 12px}.booking-client-success h2{font-size:25px}}

/* Branded customer experience. Administrative tools keep their existing style. */
body.booking-client-view .panel{background:var(--ui-selected)!important;padding:18px!important}
body.booking-client-view #booking-screen{max-width:1040px;padding:0}
body.booking-client-view .booking-body{padding:0;scrollbar-gutter:auto}
.bc-experience,.bc-dialog{--bc-accent:#d9325c;--bc-tint:#fff0f4;color:var(--ui-ink);font:400 15px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.bc-experience[data-accent=blue],.bc-dialog[data-accent=blue]{--bc-accent:#1378bb;--bc-tint:#eef6fd}
.bc-experience[data-accent=violet],.bc-dialog[data-accent=violet]{--bc-accent:#8050b4;--bc-tint:#f6f0fd}
.bc-experience[data-accent=teal],.bc-dialog[data-accent=teal]{--bc-accent:#087f80;--bc-tint:#ebf8f6}
.bc-experience{border:1px solid var(--ui-border);border-radius:18px;background:var(--ui-surface);overflow:hidden;flex:none;width:100%}
.bc-experience button,.bc-dialog button{font-family:inherit;cursor:pointer;transition:background .14s,border-color .14s}
.bc-experience button:focus-visible,.bc-dialog button:focus-visible,.bc-date-picker:focus-within{outline:3px solid var(--ui-primary);outline-offset:3px}
.bc-hero{height:138px;display:flex;position:relative;align-items:stretch;background:var(--ui-primary);color:var(--ui-surface);overflow:hidden}
.bc-brand{display:flex;flex-direction:column;justify-content:center;gap:10px;position:relative;z-index:1;min-width:0;flex:1;padding:20px 30px}
.bc-brand>span{font-size:13px;color:var(--ui-muted);max-width:100%;overflow-wrap:anywhere}
.bc-brand h2{margin:0;color:var(--ui-surface);font-family:Georgia,"Times New Roman",serif;font-size:32px;font-weight:400;line-height:1.1;letter-spacing:-.6px;overflow-wrap:anywhere}
.bc-cover{width:43%;height:100%;object-fit:cover;object-position:75% 50%;display:block;flex:none}
.bc-hero-art{width:26%;display:grid;place-items:center;background:var(--ui-primary);color:var(--ui-muted)}
.bc-hero-art svg{width:76px;height:76px;stroke-width:.8}
.bc-content{padding:18px 26px 14px}
.bc-service-summary{display:flex;align-items:center;gap:20px;padding:0 0 16px;border-bottom:1px solid var(--ui-border)}
.bc-service-summary>div{flex:1;min-width:0}.bc-service-summary strong{font-size:15px;font-weight:600;display:block;overflow-wrap:anywhere}.bc-service-summary small{display:block;margin-top:3px;color:var(--ui-muted);font-size:12px}
.bc-muted{color:var(--ui-muted);font-size:12px}
.booking-screen .bc-experience .bc-link,.bc-dialog .bc-link{padding:4px 0!important;border:0!important;background:none!important;border-radius:2px!important;min-height:28px!important;color:var(--ui-primary-hover)!important;font-family:inherit!important;font-size:13px!important;line-height:1.4!important;font-weight:500!important;white-space:normal;box-shadow:none!important}
.bc-staff-section{margin:16px 0 18px}.bc-staff-section h3{font-size:12px;color:var(--ui-muted);font-weight:500;margin:0 0 9px}
.bc-staff-list{display:flex;gap:10px;overflow:auto;padding:2px 2px 4px;scrollbar-width:thin;overscroll-behavior-x:contain}
.booking-screen .bc-experience button.bc-staff{flex:1 0 175px;max-width:32.6%;display:flex;align-items:center;gap:11px;text-align:left;min-height:66px!important;padding:10px 12px!important;border:1px solid var(--ui-border)!important;border-radius:11px!important;background:var(--ui-surface)!important;color:var(--ui-ink)!important;font:inherit!important;box-shadow:none!important}
.booking-screen .bc-experience button.bc-staff[aria-pressed=true]{border-color:var(--ui-primary)!important;background:var(--ui-selected)!important}
.bc-staff>span:not(.bc-avatar){min-width:0}.bc-staff strong{display:block;font-size:14px;font-weight:600;overflow-wrap:anywhere}.bc-staff small{display:block;margin-top:2px;font-size:12px;color:var(--ui-muted)}.bc-staff b{margin-left:auto;color:var(--ui-primary-hover);font-size:16px}
.bc-avatar{display:flex;align-items:center;justify-content:center;flex:none;width:42px;height:42px;border-radius:50%;overflow:hidden;background:var(--ui-bg);color:var(--ui-muted);font-weight:600;font-size:15px}
.bc-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.bc-calendar-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.bc-calendar-heading h3{font-size:22px;line-height:1.2;letter-spacing:-.4px;margin:0;font-weight:650}
.bc-date-picker{position:relative;display:flex;align-items:center;gap:7px;color:var(--ui-muted);font-size:12px;min-height:32px;flex:none;cursor:pointer}.bc-date-picker svg{width:17px;height:17px}.bc-date-picker input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;min-height:0!important;padding:0!important}
.bc-dates{display:grid;grid-template-columns:20px repeat(7,minmax(0,1fr)) 20px;gap:6px;align-items:stretch;margin:14px 0 18px}
.booking-screen .bc-experience .bc-dates button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;min-width:0;min-height:58px!important;padding:7px 2px!important;border:1px solid transparent!important;border-radius:9px!important;background:var(--ui-surface)!important;color:var(--ui-ink)!important;box-shadow:none!important;font:inherit!important}
.bc-dates small{font-size:11px;color:var(--ui-muted)}.bc-dates strong{font-size:21px;font-weight:550}
.booking-screen .bc-experience .bc-dates button[aria-pressed=true]{border-color:var(--ui-selected)!important;background:var(--ui-selected)!important;color:var(--ui-primary-hover)!important}.bc-dates button[aria-pressed=true] small{color:var(--ui-primary-hover)}
.booking-screen .bc-experience .bc-dates .bc-week-arrow{padding:0!important;color:var(--ui-muted)!important;font-size:26px!important}
.bc-period{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;margin:0 0 11px;align-items:start}.bc-period>span{font-size:12px;color:var(--ui-muted);padding-top:11px}.bc-period>div{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.booking-screen .bc-experience .bc-period button{min-height:40px!important;padding:8px 5px!important;border:1px solid transparent!important;border-radius:8px!important;background:var(--ui-selected)!important;color:var(--ui-ink)!important;font-size:14px!important;font-weight:400!important;line-height:1.3!important;font-variant-numeric:tabular-nums;box-shadow:none!important}
.booking-screen .bc-experience .bc-period button:hover{background:var(--ui-selected)!important;border-color:var(--ui-primary)!important}
.booking-screen .bc-experience .bc-period button.is-selected{background:var(--ui-primary)!important;border-color:var(--ui-primary)!important;color:var(--ui-surface)!important}
.bc-empty{text-align:center;font-size:13px;color:var(--ui-muted);padding:22px 8px;line-height:1.6}.bc-empty button{display:block;margin:10px auto 0}
.bc-status{color:var(--ui-muted);font-size:12px;line-height:1.5}.bc-status:empty{display:none}
.bc-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:12px;font-size:11px;color:var(--ui-muted)}.bc-slot-pages{display:flex;align-items:center;justify-content:center;gap:18px;margin:12px 0;font-size:12px;color:var(--ui-muted)}
.bc-dialog{width:min(490px,calc(100% - 24px));border:1px solid var(--ui-border);border-radius:18px;box-shadow:0 16px 70px var(--ui-ink-a29)}
.bc-dialog header{border:0;padding:24px 26px 10px}.bc-dialog h2{font-size:22px;letter-spacing:-.4px;font-weight:650}.bc-dialog .booking-dialog-body{padding:6px 26px 12px}
.bc-review article{padding:10px 0 18px;border-bottom:1px solid var(--ui-border);margin-bottom:12px}
.bc-review-heading{display:flex;justify-content:space-between;gap:8px;align-items:start}.bc-review-heading h3{margin:0 0 3px;color:var(--ui-ink);font-size:16px;font-weight:500}.bc-review-heading strong{color:var(--ui-primary-hover);font-size:25px;line-height:1.2;font-weight:650;letter-spacing:-.5px}
.bc-review-heading>div:last-child{display:flex;gap:3px}.bc-dialog .bc-review-heading button{border:0;background:none;padding:3px;color:var(--ui-muted);min-height:28px;width:26px;font-size:23px}.bc-review-heading svg{width:17px;height:17px}
.bc-review-person{display:flex;align-items:center;gap:10px;margin:14px 0;font-size:14px}.bc-review-person .bc-avatar{width:30px;height:30px;font-size:12px}
.bc-review-duration{margin:5px 0;color:var(--ui-muted);font-size:12px;line-height:1.35}
.bc-review-service{display:flex;justify-content:space-between;gap:12px;font-size:14px;margin:7px 0}.bc-review-service b{font-weight:500;white-space:nowrap}.bc-review-service>span{overflow-wrap:anywhere}
.bc-review-hint{color:var(--ui-muted);font-size:11px;margin:2px 0 14px}
.bc-comment{padding:14px 0;border-top:1px solid var(--ui-border)}.bc-comment summary{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13px;list-style:none}.bc-comment summary::-webkit-details-marker{display:none}.bc-comment summary::after{content:'›';margin-left:auto;font-size:22px;color:var(--ui-muted)}.bc-comment svg,.bc-reminder-row svg{width:19px;height:19px;flex:none}
.bc-comment textarea{width:100%;padding:10px;border:1px solid var(--ui-border);border-radius:9px;background:var(--ui-surface);font:inherit;font-size:16px;resize:vertical;min-height:80px;max-height:160px;margin-top:10px;color:var(--ui-ink)}
.bc-reminder-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;border-top:1px solid var(--ui-border);padding:12px 0}.bc-reminder-row>span{display:flex;align-items:center;gap:10px;font-size:13px}.bc-reminder-row small{grid-column:1/-1;color:var(--ui-muted);font-size:11px;padding-left:29px}.bc-identity{color:var(--ui-muted);font-size:12px;margin:10px 0 0}
.bc-dialog footer{padding:12px 26px 22px;border:0}.bc-dialog #booking-dialog-cancel{display:none}.bc-dialog #booking-dialog-submit{width:100%;border-radius:10px;min-height:46px;background:var(--ui-primary);font-weight:600;white-space:normal}
.bc-picker-hint{font-size:13px!important;color:var(--ui-muted)!important}.bc-service-picker{display:flex;flex-direction:column}.bc-service-picker label{display:flex;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid var(--ui-border);cursor:pointer}.bc-service-picker input{width:18px;height:18px;accent-color:var(--bc-accent,var(--ui-red))}.bc-service-picker span{flex:1;min-width:0}.bc-service-picker strong{font-size:14px;font-weight:500;display:block;overflow-wrap:anywhere}.bc-service-picker small{font-size:12px;color:var(--ui-muted)}.bc-service-picker b{font-size:13px;font-weight:500;white-space:nowrap}
.bc-success{max-width:460px;width:100%;margin:auto;align-self:center;padding:28px 20px;text-align:center;color:var(--ui-ink)}.bc-success>span{display:grid;place-items:center;border-radius:50%;width:58px;height:58px;background:var(--ui-green-soft);color:var(--ui-green);font-size:30px;margin:0 auto 18px}.bc-success h2{font-size:26px;letter-spacing:-.5px;margin:0 0 8px}.bc-success p{font-size:14px;color:var(--ui-muted)}.bc-success>div{padding:12px 0;border-top:1px solid var(--ui-border);font-size:14px}.bc-success small{display:block;margin-top:5px;color:var(--ui-muted)}.booking-screen .bc-success button{margin-top:15px;background:var(--ui-red)!important;border:0!important;color:var(--ui-surface)!important;padding:12px 24px!important;border-radius:10px!important;font-size:14px!important}
.booking-staff-prices{margin:12px 0;padding:10px;background:var(--ui-surface);border-radius:8px}.booking-staff-prices summary{cursor:pointer;color:var(--ui-muted);font-size:12px;margin-bottom:10px}.booking-staff-prices .booking-field{display:inline-flex;width:calc(50% - 8px);margin-right:8px}.booking-upload{display:inline-flex;align-items:center;position:relative;border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:8px;color:var(--ui-primary-hover);padding:8px 12px;font-size:12px;cursor:pointer}.booking-upload input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.booking-brand-upload{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.booking-brand-upload small{width:100%}.booking-client-brand-settings{margin:0 0 25px}.booking-client-brand-settings h2{font-size:18px;margin:0}
@media(min-width:701px) and (max-height:820px){.bc-hero{height:106px}.bc-brand{padding:15px 24px}.bc-brand h2{font-size:27px}.bc-content{padding:14px 22px 12px}.bc-staff-section{margin:12px 0}.bc-service-summary{padding-bottom:12px}.bc-dates{margin:10px 0 13px}.booking-screen .bc-experience .bc-dates button{min-height:52px!important}.bc-calendar-heading h3{font-size:20px}.bc-period{margin-bottom:8px}.booking-screen .bc-experience .bc-period button{min-height:36px!important;padding:7px 4px!important}.bc-bottom{margin-top:8px}}
@media(max-width:700px){body.booking-client-view .panel{padding:8px!important}body.booking-client-view #booking-screen{padding:0}.bc-experience{border-radius:14px}.bc-hero{height:112px}.bc-brand{padding:16px;gap:7px}.bc-brand>span{font-size:11px}.bc-brand h2{font-size:24px;letter-spacing:-.4px}.bc-cover{width:36%}.bc-hero-art svg{width:52px;height:52px}.bc-content{padding:14px 14px 12px}.bc-service-summary{gap:8px;padding-bottom:12px}.bc-service-summary>.bc-muted{display:none}.bc-service-summary strong{font-size:13px}.bc-service-summary small{font-size:11px}.booking-screen .bc-experience .bc-link{font-size:12px!important}.bc-staff-section{margin:13px 0}.booking-screen .bc-experience button.bc-staff{flex:0 0 146px;max-width:70%;gap:8px;min-height:60px!important;padding:8px 10px!important}.bc-avatar{width:34px;height:34px;font-size:12px}.bc-staff strong{font-size:13px}.bc-staff small{font-size:11px}.bc-staff b{font-size:12px}.bc-calendar-heading{gap:8px}.bc-calendar-heading h3{font-size:18px;letter-spacing:-.4px}.bc-date-picker{font-size:10px;gap:4px}.bc-date-picker svg{width:14px;height:14px}.bc-dates{gap:1px;grid-template-columns:14px repeat(7,minmax(0,1fr)) 14px;margin:9px 0 15px}.booking-screen .bc-experience .bc-dates button{min-height:52px!important}.bc-dates small{font-size:9px}.bc-dates strong{font-size:19px}.bc-period{display:block;margin-bottom:13px}.bc-period>span{display:block;font-size:11px;padding:0 0 6px}.bc-period>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.booking-screen .bc-experience .bc-period button{min-height:40px!important;font-size:14px!important}.bc-bottom{align-items:start;flex-direction:column;gap:6px;font-size:10px}.bc-dialog{border-radius:16px}.bc-dialog header{padding:20px 18px 10px}.bc-dialog h2{font-size:20px}.bc-dialog .booking-dialog-body{padding:4px 18px 10px}.bc-dialog footer{padding:10px 18px 18px}.bc-review-heading strong{font-size:24px}.bc-review-heading h3{font-size:15px}.bc-review-service{font-size:13px}.bc-review-person{margin:12px 0}.bc-reminder-row>span{font-size:12px}.booking-staff-prices .booking-field{width:100%;margin-right:0}}
@media(prefers-reduced-motion:reduce){.bc-experience *,.bc-dialog *{animation:none!important;transition:none!important}}

.bc-avatar{position:relative}.bc-avatar img{position:absolute;inset:0}

/* Shared industry artwork; typography mirrors the 480 × 720 native renderer. */
.booking-mini-tile{display:block;padding:0;background:var(--booking-tile);container-type:inline-size}
.booking-mini-tile>span,.booking-mini-tile>strong,.booking-mini-tile>em{position:absolute;left:7%;z-index:2;margin:0;font-style:normal;line-height:1.03}
.booking-mini-tile>span{top:4.3%;font-size:5.84cqw;font-weight:500;text-transform:capitalize}
.booking-mini-tile>strong{top:10.1%;font-size:7.5cqw;font-weight:550}
.booking-mini-tile>em{top:21%;max-width:86%;font-size:14.1cqw;font-weight:750;line-height:1.01;letter-spacing:-.4px}
.booking-mini-tile>img{inset:auto 0 0;display:block;width:100%;height:55.56%;object-fit:cover;z-index:1;mask-image:linear-gradient(to bottom,transparent,var(--ui-ink) 23%);-webkit-mask-image:linear-gradient(to bottom,transparent,var(--ui-ink) 23%)}
.bc-experience,.bc-dialog{--bc-accent:#2563a6;--bc-tint:#edf4fb;--bc-hero:#20364f}
.bc-hero{background:var(--bc-hero)}
.bc-brand{flex-direction:row;align-items:center;justify-content:flex-start;gap:14px}
.bc-brand>div{min-width:0}.bc-brand>div>span{display:block;margin-top:7px;color:var(--ui-surface-acb);font-size:13px}
.bc-brand-logo{width:56px;height:56px;flex:none;object-fit:contain;background:var(--ui-surface);border-radius:12px;padding:3px}
.bc-community-cover{object-fit:contain;object-position:center;background:var(--ui-surface-a0a)}
.bc-staff-list{overflow-x:auto;overflow-y:hidden}
.bc-avatar{background:var(--ui-selected);color:var(--ui-primary-hover)}
.booking-screen .bc-success button{background:var(--bc-accent,var(--ui-primary))!important}
@media(min-width:701px){
 body.booking-client-view main{max-width:none!important;width:100%;height:100dvh;padding:0!important;margin:0}
 body.booking-client-view .panel{width:100%;height:100%;padding:0!important;border:0;border-radius:0;background:var(--ui-surface)!important;box-shadow:none;overflow:hidden}
 body.booking-client-view #booking-screen{display:flex;flex:1;width:100%;height:100%;max-width:none;margin:0;padding:0!important;min-height:0}
 body.booking-client-view .booking-body{overflow:hidden;min-height:0;flex:1}
 .bc-experience{display:flex;flex-direction:column;flex:1;min-height:0;height:100%;border:0;border-radius:0}
 .bc-hero{height:clamp(84px,17vh,138px);min-height:0;flex:none}
 .bc-content{display:flex;flex-direction:column;flex:1;min-height:0;padding:14px 26px 12px}
 .bc-service-summary,.bc-staff-section,.bc-bottom,.bc-status{flex:none}
 .bc-service-summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .bc-staff-section{margin:10px 0 12px}
 .bc-calendar{display:flex;flex-direction:column;min-height:0;flex:1}
 .bc-calendar-heading,.bc-dates{flex:none}
 .bc-dates{margin:8px 0 12px}
 .bc-slots{flex:1;min-height:64px;overflow:hidden}
 .bc-slot-pages{margin:4px 0 0;height:36px;gap:16px}
 .bc-period{margin-bottom:8px}
 .booking-screen .bc-experience .bc-period button{height:36px;min-height:36px!important;padding:6px 4px!important}
 .bc-period>span{padding-top:8px}
 .bc-bottom{margin-top:6px}
}
@media(min-width:701px) and (max-height:600px){
 .bc-hero{height:72px}.bc-brand{padding:10px 22px}.bc-brand h2{font-size:24px}.bc-brand-logo{width:42px;height:42px}.bc-brand>div>span{font-size:11px;margin-top:3px}
 .bc-content{padding:9px 22px}.bc-service-summary{padding-bottom:7px}.bc-staff-section{margin:6px 0}.bc-staff-section h3{margin-bottom:4px}.booking-screen .bc-experience button.bc-staff{min-height:52px!important;padding:6px 10px!important}.bc-avatar{width:32px;height:32px}.bc-calendar-heading h3{font-size:18px}.bc-dates{margin:4px 0 7px}.booking-screen .bc-experience .bc-dates button{min-height:44px!important;padding:3px!important}.bc-dates strong{font-size:18px}.bc-dates small{font-size:10px}
}
@media(max-width:700px){.bc-brand{gap:9px}.bc-brand-logo{width:38px;height:38px;border-radius:9px}.bc-brand>div>span{font-size:11px;margin-top:4px}.bc-brand h2{font-size:21px}}
@media(min-width:701px){
 .bc-dialog{width:min(720px,calc(100% - 32px))}
 .bc-dialog .booking-dialog-body{overflow:visible}
 .bc-review{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
 .bc-review-bookings{display:flex;min-width:0;align-self:start;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:thin}
 .bc-review article{flex:0 0 100%;min-width:0;scroll-snap-align:start;border:0;margin:0;padding:8px 0}
 .bc-review-services{display:flex;overflow-x:auto;overflow-y:hidden;gap:8px;padding-bottom:5px;scrollbar-width:thin}
 .bc-review-service{flex:0 0 100%;display:flex;flex-direction:column;justify-content:flex-start;gap:4px;min-width:0;min-height:52px;margin:0;max-height:88px;overflow-wrap:anywhere}
 .bc-review-service>span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
 .bc-review-options{min-width:0}.bc-review-hint{margin-bottom:10px}
 .bc-comment{padding:8px 0}.bc-comment textarea{resize:none;min-height:54px;max-height:54px;font-size:14px;padding:7px}
 .bc-reminder-row{padding:8px 0}.bc-reminder-row small{padding-left:0}.bc-identity{margin-top:4px}
 .bc-dialog header{padding:17px 24px 10px}.bc-dialog .booking-dialog-body{padding:6px 24px 10px}.bc-dialog footer{padding:10px 24px 16px}
}
.bc-picker-pages{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;color:var(--ui-muted);font-size:12px}
@media(min-width:701px){
 .bc-service-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.bc-service-picker label{min-width:0;padding:10px 0}.bc-service-picker label strong{font-size:13px;overflow-wrap:anywhere}.bc-service-picker label small,.bc-service-picker label b{font-size:11px}
 .bc-success{height:100%;width:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;margin:0;max-width:none}
 .bc-success-list{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;max-width:min(95%,900px);padding:10px 0;scrollbar-width:thin}
 .bc-success-list>div{flex:none;min-width:240px;max-width:340px;border:1px solid var(--ui-border);border-radius:12px;padding:16px;font-size:14px;overflow-wrap:anywhere}
}
@media(min-width:701px) and (max-height:900px){
 .booking-client-brand-settings{margin-bottom:12px}.booking-client-brand-settings h2{font-size:16px}.booking-client-brand-settings .booking-help{margin:6px 0 10px;font-size:11px}.booking-client-brand-settings .booking-field{margin-bottom:8px}.booking-appearance h2{font-size:16px}.booking-themes button{padding:8px}.booking-themes button i{height:20px;margin-bottom:5px}
}
.bc-brand h2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* Time-first client page: a VK-style cover, with no vertical page scroll. */
body.booking-client-view main{width:100%!important;max-width:none!important;height:100dvh;padding:0!important;margin:0}
body.booking-client-view .panel{width:100%;height:100%;padding:0!important;border:0;border-radius:0;background:var(--ui-surface)!important;box-shadow:none;overflow:hidden}
body.booking-client-view #booking-screen{display:flex;flex:1;width:100%;height:100%;max-width:none;min-height:0;margin:0;padding:0!important}
body.booking-client-view .booking-body{overflow:hidden;min-height:0;flex:1}
.bc-time-first{display:flex;flex-direction:column;flex:1;height:100%;min-height:0;border:0;border-radius:0}
.bc-vk-hero{display:block;height:auto;min-height:0;flex:none;background:var(--ui-surface);color:var(--ui-ink);overflow:visible}
.bc-banner{height:clamp(86px,15vh,158px);width:100%;overflow:hidden;background:var(--bc-hero);position:relative}
.bc-banner .bc-cover{display:block;width:100%;height:100%;object-fit:cover;object-position:center;position:absolute;inset:0}
.bc-banner .bc-community-cover{object-fit:contain}
.bc-vk-hero .bc-brand{padding:12px 30px 14px;min-height:74px;gap:16px;position:relative;align-items:center;color:var(--ui-ink)}
.bc-vk-hero .bc-brand-logo{width:72px;height:72px;margin-top:-37px;border:4px solid var(--ui-surface);border-radius:50%;padding:0;object-fit:cover;box-shadow:0 1px 5px var(--ui-ink-a1a)}
.bc-vk-hero .bc-brand h2{color:var(--ui-ink);font:650 23px/1.16 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.5px}
.bc-vk-hero .bc-brand>div>span{font-size:12px;color:var(--ui-muted);margin-top:5px}
.bc-time-first .bc-content{display:flex;flex:1;min-height:0;flex-direction:column;padding:10px 30px 18px}
.bc-time-first .bc-staff-section{flex:none;margin:0 0 17px}
.bc-time-first .bc-staff-section h3{margin-bottom:8px}
.bc-time-first .bc-calendar{display:flex;flex-direction:column;flex:1;min-height:0}
.bc-time-first .bc-calendar-heading,.bc-time-first .bc-dates{flex:none}
.bc-calendar-tools{display:flex;gap:14px;align-items:center;min-width:0}
.bc-time-first .bc-dates{gap:12px;margin:15px 0 20px;grid-template-columns:22px repeat(7,minmax(0,1fr)) 22px}
.booking-screen .bc-time-first .bc-dates button{height:clamp(60px,10vh,86px);min-height:60px!important;padding:9px 2px!important;gap:6px;border-radius:13px!important}
.bc-time-first .bc-dates strong{font-size:28px;font-weight:600}
.bc-time-first .bc-dates small{font-size:12px}
.bc-time-first .bc-slots{flex:1;min-height:55px;overflow:hidden}
.bc-time-first .bc-period{grid-template-columns:56px minmax(0,1fr);gap:14px;margin-bottom:12px}
.bc-time-first .bc-period>div{gap:10px}
.bc-time-first .bc-period>span{padding-top:12px}
.booking-screen .bc-time-first .bc-period button{display:flex;flex-direction:column;align-items:center;justify-content:center;height:var(--bc-slot-height,48px);min-height:38px!important;padding:5px 4px!important;line-height:1.25!important;font-size:16px!important;border-radius:10px!important}
.bc-time-first .bc-period button small{display:block;font-size:9px;line-height:1.1;opacity:.9}
.bc-time-first .bc-slot-pages{height:34px;margin:5px 0 0;gap:18px}
.bc-time-first .bc-status{flex:none}
.bc-time-services h3{font-size:15px;margin:0 0 7px;color:var(--ui-ink)}
.bc-time-review .bc-service-picker label{padding:8px 0;min-height:46px}.bc-time-review .bc-service-picker strong{font-size:13px}.bc-time-review .bc-service-picker small,.bc-time-review .bc-service-picker b{font-size:11px}
.bc-time-review .bc-comment{margin-top:5px}.bc-time-review:has(.bc-comment[open]) .bc-time-services{display:none}
.bc-time-dialog .booking-dialog-body{overflow:visible}.bc-time-review .bc-review-options{min-width:0}.bc-time-review .bc-review-bookings{display:flex;overflow-x:auto;overflow-y:hidden;min-width:0;scroll-snap-type:x mandatory}
.bc-time-review article{flex:0 0 100%;min-width:0;scroll-snap-align:start;border:0;margin:0;padding:6px 0}
@media(min-width:701px) and (max-height:680px){
 .bc-banner{height:76px}.bc-vk-hero .bc-brand{padding:8px 24px 9px;min-height:56px}.bc-vk-hero .bc-brand-logo{width:56px;height:56px;margin-top:-28px}.bc-vk-hero .bc-brand h2{font-size:20px}.bc-time-first .bc-content{padding:6px 24px 12px}.bc-time-first .bc-staff-section{margin-bottom:8px}.bc-time-first .bc-staff-section h3{margin-bottom:4px}.bc-time-first .bc-dates{margin:7px 0 10px;gap:8px}.booking-screen .bc-time-first .bc-dates button{min-height:50px!important;height:50px;padding:4px!important;gap:3px}.bc-time-first .bc-dates strong{font-size:22px}.bc-time-first .bc-period{margin-bottom:8px}
}
@media(max-width:700px){
 .bc-banner{height:clamp(76px,14vh,122px)}.bc-vk-hero .bc-brand{padding:8px 14px 10px;min-height:64px;gap:11px}.bc-vk-hero .bc-brand-logo{width:56px;height:56px;border-width:3px;margin-top:-28px}.bc-vk-hero .bc-brand h2{font-size:18px}.bc-vk-hero .bc-brand>div>span{font-size:10px;margin-top:3px}
 .bc-time-first .bc-content{padding:4px 14px 12px}.bc-time-first .bc-staff-section{margin:0 0 11px}.bc-time-first .bc-staff-section h3{margin-bottom:5px}.bc-time-first .bc-calendar-heading{gap:8px}.bc-time-first .bc-calendar-heading h3{font-size:19px}.bc-calendar-tools{gap:6px}.bc-calendar-tools .bc-date-picker{font-size:9px}.bc-calendar-tools #bc-cart{font-size:10px!important;min-height:24px!important}.bc-time-first .bc-dates{gap:3px;grid-template-columns:12px repeat(7,minmax(0,1fr)) 12px;margin:10px 0 12px}.booking-screen .bc-time-first .bc-dates button{min-height:52px!important;height:58px;padding:4px 0!important;gap:4px}.bc-time-first .bc-dates small{font-size:9px}.bc-time-first .bc-dates strong{font-size:22px}
 .bc-time-first .bc-period{display:block;margin-bottom:10px}.bc-time-first .bc-period>span{font-size:10px;padding:0 0 4px;line-height:12px}.bc-time-first .bc-period>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.booking-screen .bc-time-first .bc-period button{font-size:14px!important}.bc-time-first .bc-slot-pages{height:30px;margin-top:3px}
 .bc-time-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.bc-time-dialog form{max-height:calc(100dvh - 18px)}.bc-time-dialog header{padding:13px 16px 6px}.bc-time-dialog h2{font-size:19px}.bc-time-dialog .booking-dialog-body{padding:3px 16px 8px}.bc-time-dialog footer{padding:8px 16px 12px}.bc-time-review .bc-review-bookings{margin-bottom:4px}.bc-time-review article{padding:2px 0}.bc-time-review .bc-review-heading{align-items:center}.bc-time-review .bc-review-heading>div:first-child{display:flex;align-items:center;gap:10px}.bc-time-review .bc-review-heading h3{font-size:13px;margin:0}.bc-time-review .bc-review-heading strong{font-size:18px}.bc-time-review .bc-review-person{margin:5px 0;font-size:12px}.bc-time-review .bc-avatar{width:26px;height:26px;font-size:10px}.bc-time-review .bc-time-services h3{font-size:13px;margin:0 0 3px}.bc-time-review .bc-service-picker label{min-height:43px;padding:6px 0}.bc-time-review .bc-comment{padding:6px 0}.bc-time-review .bc-comment summary{font-size:12px}.bc-time-review .bc-comment textarea{min-height:54px;max-height:54px;resize:none;margin-top:5px}.bc-time-review .bc-reminder-row{padding:7px 0;gap:2px 8px}.bc-time-review .bc-reminder-row>span{font-size:11px}.bc-time-review .bc-reminder-row small{font-size:9px;padding-left:0}.bc-time-review .bc-identity{font-size:10px;margin:3px 0 0}.bc-time-review .bc-picker-pages{margin-top:4px}.bc-time-dialog #booking-dialog-submit{min-height:42px}.bc-time-dialog .bc-link{min-height:26px!important;font-size:12px!important}
 .bc-success{height:100%;width:100%;margin:0;max-width:none;padding:22px 16px;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden}.bc-success-list{display:flex;max-width:100%;overflow-x:auto;overflow-y:hidden;gap:12px}.bc-success-list>div{flex:0 0 100%;min-width:0;font-size:13px;padding:12px}
}
@media(max-width:700px) and (max-height:650px){.bc-banner{height:66px}.bc-vk-hero .bc-brand{min-height:51px;padding-top:5px;padding-bottom:6px}.bc-vk-hero .bc-brand-logo{width:46px;height:46px;margin-top:-23px}.bc-vk-hero .bc-brand h2{font-size:16px}.bc-time-first .bc-staff-section{margin-bottom:6px}.booking-screen .bc-time-first button.bc-staff{min-height:48px!important;padding:5px 8px!important}.bc-time-first .bc-dates{margin:6px 0 8px}.booking-screen .bc-time-first .bc-dates button{height:48px;min-height:48px!important}.bc-time-first .bc-dates strong{font-size:20px}.bc-time-first .bc-calendar-heading h3{font-size:17px}.bc-time-review .bc-reminder-row{padding:5px 0}.bc-time-review .bc-service-picker label{min-height:40px;padding:4px 0}}
.bc-banner{height:clamp(110px,21vh,180px);background:var(--ui-selected)}
.bc-banner .bc-community-cover{object-fit:cover;object-position:center 65%}
@media(min-width:701px) and (max-height:680px){.bc-banner{height:80px}.bc-banner .bc-community-cover{object-fit:contain}}
@media(max-width:700px){.bc-banner{height:clamp(76px,14vh,122px)}}
@media(max-width:700px) and (max-height:650px){.bc-banner{height:66px}}
.bc-staff-title{display:flex;justify-content:space-between;align-items:center;min-height:28px;gap:12px;margin-bottom:5px}
.bc-time-first .bc-staff-title h3{margin:0}
.bc-staff-title #bc-cart{font-size:11px!important;min-height:24px!important}
.bc-review-pages{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:var(--ui-muted);min-width:0}
.bc-review-pages button{height:26px;min-height:26px!important;padding:1px 10px!important}
@media(min-width:701px){.bc-time-review .bc-review-bookings{grid-column:1;grid-row:1;align-self:start}.bc-time-review .bc-review-pages{grid-column:1;grid-row:1;align-self:end;margin-top:130px}.bc-time-review .bc-review-options{grid-column:2;grid-row:1}}
@media(max-width:700px){.bc-review-pages{margin:-2px 0 5px}.bc-time-review:has(.bc-comment[open]) .bc-reminder-row,.bc-time-review:has(.bc-comment[open]) .bc-identity{display:none}}


/* Stable booking workspace with a calm default palette and optional page themes. */
.bc-booking-workspace{--bc-accent:#237d88;--bc-tint:#eff7f8;--bc-tint2:#f4f8fc;--bc-sidebar-width:clamp(220px,22vw,270px)}
.bc-booking-workspace .bc-color-hero{height:86px;min-height:86px;overflow:hidden;background:radial-gradient(ellipse at 3% 20%,var(--ui-selected),transparent 65%),radial-gradient(ellipse at 96% 15%,var(--bc-tint2),transparent 62%),var(--ui-surface);border-bottom:1px solid var(--ui-border)}
.bc-booking-workspace .bc-brand{height:100%;min-height:0;padding:10px 24px;gap:14px;margin:0}
.bc-booking-workspace .bc-brand h2{font:650 19px/1.15 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.3px;color:var(--ui-ink)}
.bc-booking-workspace .bc-brand>div>span{font-size:12px;line-height:1.25;color:var(--ui-muted);margin-top:3px}
.bc-logo-wrap{position:relative;display:grid;place-items:center;width:52px;height:52px;flex:none;border-radius:50%;background:var(--ui-surface);color:var(--ui-primary-hover);font-size:22px;font-weight:600;box-shadow:0 3px 12px var(--ui-ink-a0d);overflow:hidden}
.bc-booking-workspace .bc-brand-logo{position:absolute;inset:0;width:52px;height:52px;border:3px solid var(--ui-surface);border-radius:50%;object-fit:cover;padding:0;margin:0;box-shadow:none}
.bc-booking-workspace .bc-content{display:grid;grid-template-columns:var(--bc-sidebar-width) minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:0 24px;padding:22px 24px 8px}
.bc-booking-workspace .bc-staff-section{align-self:start;min-width:0;max-height:100%;margin:0;padding:15px;border:0;border-radius:15px;background:linear-gradient(145deg,var(--ui-selected),var(--ui-surface));box-shadow:none;overflow:hidden}
.bc-booking-workspace .bc-staff-title{min-height:24px;margin:0 0 10px;gap:8px}
.bc-booking-workspace .bc-staff-title h3{font-size:13px;font-weight:550;margin:0;color:var(--ui-muted)}
.bc-booking-workspace .bc-staff-list{display:flex;gap:8px;min-height:0;padding:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:none}
.bc-booking-workspace .bc-staff-list::-webkit-scrollbar{display:none}
.booking-screen .bc-booking-workspace button.bc-staff{position:relative;display:flex;flex:none;align-items:center;gap:10px;width:100%;max-width:none;min-width:0;height:64px;min-height:64px!important;padding:10px!important;border:1px solid var(--ui-border)!important;border-radius:10px!important;background:var(--ui-surface)!important;color:var(--ui-ink)!important;scroll-snap-align:start}
.booking-screen .bc-booking-workspace button.bc-staff[aria-pressed=true]{background:var(--ui-selected)!important;border-color:var(--ui-selected)!important;box-shadow:0 3px 10px var(--ui-ink-a0a)!important}
.bc-booking-workspace .bc-staff .bc-avatar{width:52px;height:52px;font-size:18px}
.bc-booking-workspace .bc-staff strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:1.25;font-weight:600}
.bc-booking-workspace .bc-staff small{font-size:11px;line-height:1.25;margin-top:4px}
.bc-booking-workspace .bc-staff b{visibility:hidden;font-size:15px;margin-left:auto}
.bc-booking-workspace .bc-staff[aria-pressed=true] b{visibility:visible}
.bc-staff-scroll-cue{display:flex;flex:none;align-items:center;justify-content:center;height:22px;margin-top:8px}
.booking-screen .bc-booking-workspace #bc-staff-more{display:flex;align-items:center;justify-content:center;width:38px;height:22px;min-height:22px!important;padding:0!important;border:0!important;border-radius:999px!important;background:var(--ui-surface)!important;color:var(--ui-muted)!important;box-shadow:0 2px 8px var(--ui-ink-a08)!important}
.bc-staff-scroll-cue svg{width:18px;height:18px}
.bc-booking-workspace .bc-staff-scroll-cue button[hidden]{display:flex!important;visibility:hidden}
.bc-booking-workspace .bc-calendar-heading h3{font-size:23px;line-height:1.2;letter-spacing:-.4px}
.bc-booking-workspace .bc-date-picker{font-size:12px;min-height:30px}
.bc-booking-workspace .bc-dates{grid-template-columns:22px repeat(var(--bc-date-count,7),minmax(0,1fr)) 22px;gap:8px;margin:18px 0 20px}
.booking-screen .bc-booking-workspace .bc-dates button{height:60px;min-height:60px!important;padding:7px 2px!important;gap:3px;border:1px solid transparent!important;border-radius:10px!important;background:var(--ui-surface)!important}
.booking-screen .bc-booking-workspace .bc-dates button[aria-pressed=true]{background:var(--ui-selected)!important;border-color:var(--ui-border)!important;color:var(--ui-primary-hover)!important;box-shadow:0 3px 10px var(--ui-ink-a0e)!important}
.bc-booking-workspace .bc-dates button[aria-pressed=true] small{color:var(--ui-primary-hover)}
.bc-booking-workspace .bc-dates strong{position:relative}
.bc-booking-workspace .bc-dates button[data-bookings=true] strong::after{content:"";position:absolute;left:calc(100% + 5px);top:50%;transform:translateY(-50%);width:5px;height:5px;border-radius:50%;background:var(--ui-primary)}
.bc-booking-workspace .bc-dates button[data-bookings=true][aria-pressed=true] strong::after{background:var(--ui-primary)}
.bc-booking-workspace .bc-dates strong{font-size:23px;line-height:1.15;font-weight:550}
.bc-booking-workspace .bc-dates small{font-size:11px;line-height:1.2}
.booking-screen .bc-booking-workspace .bc-dates button.bc-week-arrow{background:transparent!important;box-shadow:none!important}
.bc-slots-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:28px;margin:0 0 14px}
.bc-slots-heading h4{font-size:13px;font-weight:550;line-height:1.3;margin:0;color:var(--ui-primary-hover);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#bc-slot-state{flex:none;color:var(--ui-muted);font-size:10px;line-height:1.2}
.bc-booking-workspace .bc-slots{min-height:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
.bc-booking-workspace .bc-slots[aria-busy=true]{pointer-events:none;cursor:progress}
.bc-booking-workspace .bc-period{width:var(--bc-time-width,100%);grid-template-columns:54px minmax(0,1fr);gap:12px;margin:0 0 var(--bc-period-gap,22px)}
.bc-booking-workspace .bc-period:last-child{margin-bottom:0}
.bc-booking-workspace .bc-period>span{font-size:12px;line-height:18px;padding-top:13px}
.bc-booking-workspace .bc-period>div{grid-template-columns:repeat(var(--bc-slot-cols,6),minmax(66px,1fr));gap:8px}
.booking-screen .bc-booking-workspace .bc-period button{height:var(--bc-slot-height,44px);min-height:var(--bc-slot-height,44px)!important;padding:6px 4px!important;border:1px solid var(--ui-border)!important;border-radius:9px!important;background:var(--ui-surface)!important;box-shadow:0 2px 5px var(--ui-ink-a05)!important;font-size:14px!important;line-height:1.25!important}
.booking-screen .bc-booking-workspace .bc-period button.is-selected{background:var(--ui-primary)!important;border-color:var(--ui-primary)!important;color:var(--ui-surface)!important}
.bc-booking-workspace .bc-period button small{font-size:9px;line-height:10px}
.booking-screen .bc-booking-workspace .bc-period button.is-selected{box-shadow:0 3px 9px var(--ui-ink-a18)!important}
.bc-booking-workspace .bc-status{grid-column:1/-1;margin-top:0}
.bc-booking-workspace button{transition:background-color .14s ease,border-color .14s ease,transform .14s ease}
@media(hover:hover) and (pointer:fine){
 .booking-screen .bc-booking-workspace button.bc-staff:hover,.booking-screen .bc-booking-workspace .bc-period button:hover{transform:translateY(-1px);border-color:var(--ui-primary)!important;box-shadow:0 4px 12px var(--ui-ink-a10)!important}
}
@media(min-width:701px) and (max-height:650px){
 .bc-booking-workspace .bc-color-hero{height:72px;min-height:72px}
 .bc-booking-workspace .bc-content{padding:14px 18px 8px;column-gap:20px}
 .bc-booking-workspace .bc-calendar-heading h3{font-size:21px}
 .bc-booking-workspace .bc-dates{margin:10px 0 12px}
 .booking-screen .bc-booking-workspace .bc-dates button{height:54px;min-height:54px!important}
 .bc-booking-workspace .bc-slots-heading{margin-bottom:10px}
}
@media(max-width:700px){
 .bc-booking-workspace .bc-color-hero{height:74px;min-height:74px}
 .bc-booking-workspace .bc-brand{padding:10px 14px;gap:10px}
 .bc-booking-workspace .bc-brand h2{font-size:16px}
 .bc-booking-workspace .bc-brand>div>span{font-size:11px}
 .bc-booking-workspace .bc-logo-wrap,.bc-booking-workspace .bc-brand-logo{width:44px;height:44px}
 .bc-booking-workspace .bc-content{display:flex;padding:8px 14px 12px}
 .bc-booking-workspace .bc-staff-section{align-self:stretch;max-height:none;flex:none;padding:0 0 10px;border:0;border-bottom:1px solid var(--ui-border);border-radius:0;box-shadow:none;margin:0 0 12px;overflow:hidden}
 .bc-booking-workspace .bc-staff-title{min-height:18px;margin-bottom:5px}
 .bc-booking-workspace .bc-staff-title h3{font-size:11px}
 .bc-booking-workspace .bc-staff-list{display:flex;gap:8px;height:86px;padding:0 0 2px;scroll-snap-type:x proximity}
 .booking-screen .bc-booking-workspace button.bc-staff{flex:0 0 96px;flex-direction:column;justify-content:center;text-align:center;gap:4px;width:96px;height:84px;min-height:84px!important;padding:7px 5px!important}
 .bc-booking-workspace .bc-staff .bc-avatar{width:30px;height:30px;font-size:12px}
 .bc-booking-workspace .bc-staff strong{font-size:11px;line-height:1.2;-webkit-line-clamp:1}
 .bc-booking-workspace .bc-staff small{font-size:10px;line-height:1.2;margin-top:2px}
 .bc-booking-workspace .bc-staff b{position:absolute;right:7px;top:5px;font-size:12px}
 .bc-booking-workspace .bc-calendar-heading h3{font-size:19px}
 .bc-booking-workspace .bc-date-picker{font-size:10px;min-height:25px;gap:4px}
 .bc-booking-workspace .bc-dates{grid-template-columns:18px repeat(var(--bc-date-count,4),minmax(0,1fr)) 18px;gap:7px;margin:10px 0 12px}
 .booking-screen .bc-booking-workspace .bc-dates button{height:54px;min-height:54px!important;padding:6px 2px!important}
 .bc-booking-workspace .bc-dates small{font-size:11px}
 .bc-booking-workspace .bc-dates strong{font-size:23px}
 .bc-booking-workspace .bc-slots-heading{min-height:22px;margin:0 0 7px;gap:5px}
 .bc-booking-workspace .bc-slots-heading h4{font-size:11px}
 .bc-booking-workspace #bc-slot-state{font-size:8px}
 .bc-booking-workspace .bc-period{display:block;width:var(--bc-time-width,100%);margin-bottom:10px}
 .bc-booking-workspace .bc-period>span{display:block;height:16px;line-height:13px;padding:0;font-size:10px}
 .bc-booking-workspace .bc-period>div{grid-template-columns:repeat(var(--bc-slot-cols,4),minmax(52px,1fr));gap:6px}
 .booking-screen .bc-booking-workspace .bc-period button{height:var(--bc-slot-height,38px);min-height:var(--bc-slot-height,38px)!important;padding:4px!important;font-size:14px!important;border-radius:8px!important}
 .bc-booking-workspace .bc-period button small{display:none}
 .bc-booking-workspace .bc-slots[data-compact-periods=true] .bc-period{display:grid;grid-template-columns:36px minmax(0,1fr);gap:8px}
 .bc-booking-workspace .bc-slots[data-compact-periods=true] .bc-period>span{padding-top:10px}
}
@media(max-width:700px) and (max-height:650px){
 .bc-booking-workspace .bc-color-hero{height:64px;min-height:64px}
 .bc-booking-workspace .bc-brand{padding-top:6px;padding-bottom:6px}
 .bc-booking-workspace .bc-brand h2{font-size:15px}
 .bc-booking-workspace .bc-staff-section{padding-bottom:7px;margin-bottom:8px}
 .bc-booking-workspace .bc-staff-list{height:72px}
 .booking-screen .bc-booking-workspace button.bc-staff{height:70px;min-height:70px!important;padding:5px!important;gap:3px}
 .bc-booking-workspace .bc-staff .bc-avatar{width:34px;height:34px}
 .bc-booking-workspace .bc-dates{margin:7px 0 9px}
 .booking-screen .bc-booking-workspace .bc-dates button{height:48px;min-height:48px!important}
 .bc-booking-workspace .bc-calendar-heading h3{font-size:17px}
}
@media(prefers-reduced-motion:reduce){
 .bc-booking-workspace button{transition:none!important;transform:none!important}
}

/* Clear selection tiles and a persistent next action. */
.booking-screen .bc-booking-workspace button.bc-staff{height:76px;min-height:76px!important;box-shadow:none!important}
.booking-screen .bc-booking-workspace button.bc-staff[aria-pressed=true]{border-color:var(--ui-primary)!important;box-shadow:inset 3px 0 var(--ui-primary),0 3px 10px var(--ui-ink-a0d)!important}
.bc-booking-workspace .bc-staff em{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.3;font-style:normal;color:var(--ui-muted);margin-top:3px}
.bc-booking-workspace .bc-staff b{flex:none;align-self:center;color:var(--ui-primary-hover);font-size:22px;font-weight:400}
.booking-screen .bc-booking-workspace .bc-dates button{height:72px;min-height:72px!important;box-shadow:none!important}
.bc-booking-workspace .bc-dates em{font-size:10px;line-height:1.1;font-style:normal;color:var(--ui-muted)}
.bc-booking-workspace .bc-dates [aria-pressed=true] em{color:var(--ui-primary-hover)}
.bc-booking-workspace .bc-booking-actions{display:flex;flex:none;align-items:center;justify-content:space-between;gap:16px;min-height:64px;margin-top:14px;padding:10px 14px;border:1px solid var(--ui-border);border-radius:14px;background:linear-gradient(105deg,var(--ui-selected),var(--ui-surface));box-shadow:0 6px 22px var(--ui-ink-a0c)}
.bc-footer-person{display:flex;align-items:center;gap:10px;min-width:0}
.bc-footer-person>div{min-width:0}
.bc-footer-person .bc-avatar{width:48px;height:48px;font-size:16px}
.bc-footer-person strong{display:block;color:var(--ui-ink);font-size:13px;font-weight:600;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.bc-footer-person small{display:block;margin-top:3px;color:var(--ui-muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.booking-screen .bc-booking-workspace #bc-booking-open{display:flex;align-items:center;justify-content:center;gap:18px;flex:none;width:180px;min-height:44px!important;padding:10px 20px!important;border:0!important;border-radius:999px!important;background:linear-gradient(135deg,var(--ui-surface-a12),transparent),var(--ui-primary)!important;color:var(--ui-surface)!important;font-size:14px;font-weight:600;box-shadow:0 5px 14px var(--ui-ink-a21)!important}
.booking-screen .bc-booking-workspace #bc-booking-open:disabled{opacity:1;background:var(--ui-selected)!important;color:var(--ui-muted)!important;box-shadow:none!important}
#bc-booking-open>span{font-size:21px;line-height:1}
@media(min-width:701px){
 .bc-booking-workspace .bc-staff-section{display:flex;flex-direction:column;align-self:stretch;height:100%;min-height:0}
 .bc-booking-workspace .bc-staff-title{flex:none}
 .bc-booking-workspace .bc-staff-list{flex:1;flex-direction:column;height:auto;min-height:0;overflow-x:hidden;overflow-y:auto;scroll-snap-type:none;overscroll-behavior-y:contain;padding:2px}
 .booking-screen .bc-booking-workspace button.bc-staff{height:auto;min-height:84px!important}
 .bc-booking-workspace .bc-staff em{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal}
 .booking-screen .bc-booking-workspace #bc-booking-open{width:clamp(180px,38%,300px)}
}
@media(min-width:701px) and (max-height:650px){
 .booking-screen .bc-booking-workspace .bc-dates button{height:60px;min-height:60px!important;gap:2px;padding:5px 2px!important}
 .bc-booking-workspace .bc-booking-actions{min-height:56px;margin-top:10px;padding:6px 10px}
}
@media(max-width:700px){
 .bc-booking-workspace .bc-staff-scroll-cue{display:none}
 .bc-booking-workspace .bc-staff-section{background:transparent}
 .bc-booking-workspace .bc-dates[data-swipe=true]{display:flex;gap:7px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-snap-type:x proximity;overscroll-behavior-x:contain;touch-action:pan-x;margin-top:6px;margin-bottom:8px;padding:4px 0}
 .bc-booking-workspace .bc-dates[data-swipe=true]::-webkit-scrollbar{display:none}
 .booking-screen .bc-booking-workspace .bc-dates[data-swipe=true] button{flex:0 0 calc((100% - 21px)/4);scroll-snap-align:start}
 .bc-booking-workspace .bc-staff-list{height:98px}
 .booking-screen .bc-booking-workspace button.bc-staff{height:96px;min-height:96px!important;gap:3px;padding:6px 5px!important}
 .bc-booking-workspace .bc-staff .bc-avatar{width:38px;height:38px;font-size:15px}
 .bc-booking-workspace .bc-staff em{display:block;font-size:10px;line-height:1.2;margin-top:1px}
 .booking-screen .bc-booking-workspace .bc-dates button{height:54px;min-height:54px!important}
 .bc-booking-workspace .bc-dates em{display:none}
 .bc-booking-workspace .bc-booking-actions{min-height:58px;padding:7px 8px;margin-top:10px;gap:8px;border-radius:11px}
 .bc-footer-person{gap:7px}.bc-footer-person .bc-avatar{width:42px;height:42px;font-size:15px}
 .bc-footer-person strong{font-size:11px}.bc-footer-person small{font-size:9px;max-width:190px}
 .booking-screen .bc-booking-workspace #bc-booking-open{width:124px;min-height:44px!important;padding:8px 12px!important;gap:9px;font-size:12px}
}
@media(max-width:700px) and (max-height:650px){
 .bc-booking-workspace .bc-staff-list{height:90px}
 .bc-booking-workspace .bc-staff .bc-avatar{width:34px;height:34px}
 .booking-screen .bc-booking-workspace button.bc-staff{height:88px;min-height:88px!important;gap:2px;padding:5px!important}
 .booking-screen .bc-booking-workspace .bc-dates button{height:48px;min-height:48px!important}
}
.booking-staff-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
@media(max-width:700px){.booking-staff-details{grid-template-columns:minmax(0,1fr)}}

/* Service selection shares the community header with the time picker. */
.bc-service-content{display:grid;grid-template-columns:var(--bc-sidebar-width) minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:12px 24px;flex:1;min-height:0;padding:22px 24px 8px}
.bc-service-appt small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bc-service-main{display:flex;flex-direction:column;min-width:0;min-height:0}
.bc-service-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;flex:none;padding:0 0 16px}
.bc-service-heading h3{grid-column:1;grid-row:1;font-size:23px;line-height:1.2;letter-spacing:-.4px;margin:0}
.bc-service-heading>.bc-link{grid-column:2;grid-row:1;white-space:nowrap}
.bc-services-list{display:flex;flex-direction:column;flex:1;gap:6px;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--ui-disabled-bg) transparent;scrollbar-gutter:stable;padding:3px 5px 3px 1px}
.bc-services-list::-webkit-scrollbar{width:5px}
.bc-services-list::-webkit-scrollbar-thumb{background:var(--ui-disabled-bg);border-radius:5px}
.bc-services-list::-webkit-scrollbar-track{background:transparent}
.bc-service-search{display:flex;flex:none;align-items:center;gap:9px;min-height:40px;box-sizing:border-box;margin:0 0 12px;padding:0 11px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface);transition:border-color .12s ease,box-shadow .12s ease}
.bc-service-search:focus-within{border-color:var(--ui-primary);box-shadow:0 0 0 3px var(--ui-selected)}
.bc-service-search>svg{flex:none;width:17px;height:17px;color:var(--ui-muted)}
.booking-screen .bc-service-search input{flex:1;width:100%;min-width:0;height:38px;min-height:0!important;margin:0;padding:0!important;border:0!important;border-radius:0;background:transparent!important;color:var(--ui-ink);font:inherit;font-size:13px;box-shadow:none!important;outline:none!important;appearance:none}
.bc-service-search input::placeholder{color:var(--ui-muted);opacity:1}
.bc-service-search input::-webkit-search-cancel-button{display:none}
.booking-screen .bc-service-search button{display:grid;place-items:center;flex:none;width:28px;height:28px;min-height:28px!important;padding:0!important;border:0!important;border-radius:7px!important;background:transparent!important;color:var(--ui-muted)!important;font-size:20px;font-weight:400;box-shadow:none!important}
.booking-screen .bc-service-search button:hover{background:var(--ui-selected)!important;color:var(--ui-primary-hover)!important}
.bc-service-search button[hidden],.bc-service-option[hidden],.bc-service-search-empty[hidden]{display:none!important}
.bc-service-search-empty{margin:0;padding:30px 12px;text-align:center;color:var(--ui-muted);font-size:13px}
.bc-service-option{display:flex;align-items:center;gap:14px;flex:none;height:64px;min-width:0;padding:6px 14px;border:1px solid var(--ui-border);border-radius:9px;background:var(--ui-surface);cursor:pointer}
.bc-service-option[data-selected=true]{background:var(--ui-selected);border-color:var(--ui-border);box-shadow:0 2px 6px var(--ui-ink-a08)}
.bc-service-option input{flex:none;width:20px;height:20px;min-height:0!important;margin:0;accent-color:var(--ui-primary);cursor:pointer}
.bc-service-option>span{flex:1;min-width:0}
.bc-service-option strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;line-height:1.2;font-weight:550}
.bc-service-option small{display:block;font-size:11px;line-height:1.1;margin-top:3px;color:var(--ui-muted)}
.bc-service-option b{flex:none;max-width:32%;font-size:14px;font-weight:550;line-height:1.2;text-align:right;overflow-wrap:anywhere}
.bc-services-status:empty{display:none}
.bc-services-status{flex:none;min-height:28px;margin:0;padding:3px 0;color:var(--ui-red);font-size:11px;line-height:1.3}
.bc-service-total{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;min-height:54px;border-top:1px solid var(--ui-border);padding-top:10px}
.bc-service-total[data-empty=true]{visibility:hidden}
.bc-service-total>div{display:flex;align-items:center;gap:16px;min-width:0}
.bc-service-total strong{font-size:14px;font-weight:550}
.bc-service-total span{font-size:13px;color:var(--ui-muted);font-variant-numeric:tabular-nums}
.bc-service-total b{font-size:19px;font-weight:650;line-height:1.2;text-align:right}
.bc-service-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:66px;padding:10px 16px;border:1px solid var(--ui-border);border-radius:14px;box-shadow:0 6px 22px var(--ui-ink-a0c);background:linear-gradient(105deg,var(--ui-selected),var(--ui-surface));flex:none}
.bc-service-footer>span{font-size:12px;line-height:1.3;color:var(--ui-muted)}
.booking-screen .bc-service-footer button{flex:none;min-height:44px!important;width:240px;max-width:55%;border:0!important;border-radius:999px!important;padding:10px 16px!important;background:var(--ui-primary)!important;color:var(--ui-surface)!important;font-size:14px;font-weight:600;box-shadow:0 5px 14px var(--ui-ink-a21)!important}
.booking-screen .bc-service-footer button:disabled{opacity:1;background:var(--ui-selected)!important;color:var(--ui-muted)!important;box-shadow:none!important}
@media(min-width:701px){
 .bc-service-sidebar{grid-column:1;grid-row:1/-1;align-self:stretch;height:100%;overflow:hidden}
 .bc-service-main{grid-column:2;grid-row:1}
 .bc-service-footer{grid-column:2;grid-row:2}
}
@media(min-width:701px) and (max-height:650px){.bc-service-content{padding:14px 18px 8px;gap:10px 20px}.bc-service-heading{padding-bottom:12px}.bc-service-heading h3{font-size:21px}.bc-service-footer{min-height:56px;padding:6px 12px}}
@media(max-width:700px){
 .bc-service-content{display:flex;flex-direction:column;padding:8px 14px 12px;gap:0}
 .bc-service-appt>span:not(.bc-avatar){width:100%}
 .bc-service-main{flex:1}
 .bc-service-heading{padding-bottom:9px;gap:5px 8px}
 .bc-service-heading h3{font-size:19px}
 .bc-service-search{min-height:38px;margin-bottom:8px}
 .booking-screen .bc-service-search input{height:36px;font-size:16px}
 .booking-screen .bc-service-heading>.bc-link{font-size:11px!important;min-height:24px!important}
 .bc-service-option{height:52px;padding:4px 10px;gap:10px}
 .bc-service-option input{width:18px;height:18px}
 .bc-service-option strong{font-size:13px;line-height:1.2}
 .bc-service-option small{font-size:10px;margin-top:2px}
 .bc-service-option b{font-size:12px}
 .bc-services-status{min-height:24px;font-size:10px;padding-top:2px}
 .bc-service-total{min-height:52px;padding-top:8px}
 .bc-service-total>div{flex-direction:column;align-items:start;gap:3px}
 .bc-service-total strong{font-size:12px}.bc-service-total span{font-size:11px}.bc-service-total b{font-size:17px}
 .bc-service-footer{min-height:60px;margin-top:10px;padding:7px 10px;gap:8px;border-radius:11px}
 .bc-service-footer>span{font-size:10px}
 .booking-screen .bc-service-footer button{font-size:12px;width:200px;padding:8px 10px!important}
}
@media(max-width:700px) and (max-height:650px){.bc-service-option{height:48px;padding:3px 8px}.bc-service-option strong{font-size:12px}.bc-service-option small{font-size:9px;margin-top:1px}.bc-service-heading h3{font-size:17px}.bc-service-footer{margin-top:6px;min-height:56px}.bc-service-total{min-height:46px}.bc-services-status{min-height:22px}}

/* Room for hover/focus borders and selected-tile shadows inside the time grid. */
@media(min-width:701px){
 .bc-booking-workspace .bc-slots{padding:8px}
 .bc-booking-workspace .bc-period>span{padding-top:calc((var(--bc-slot-height,44px) - 18px)/2)}
 .bc-booking-workspace .bc-slots[data-compact-times=true] button small{display:none}
 .booking-screen .bc-booking-workspace .bc-slots[data-compact-times=true] .bc-period button{padding:4px!important}
}

/* Static decorative atmosphere: no animation or extra image requests. */
.bc-booking-workspace{position:relative;isolation:isolate;background:var(--ui-surface)}
.bc-booking-workspace::before,.bc-booking-workspace::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1}
.bc-booking-workspace::before{background:var(--ui-primary);opacity:.095;-webkit-mask-image:var(--bc-scene);mask-image:var(--bc-scene);-webkit-mask-size:cover;mask-size:cover;-webkit-mask-position:center;mask-position:center}
.bc-booking-workspace::after{background:radial-gradient(ellipse at 100% 75%,var(--ui-primary),transparent 58%),radial-gradient(ellipse at 0% 100%,var(--ui-primary),transparent 46%);opacity:.065}
.bc-booking-workspace{--bc-scene:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201200%20900%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%3E%3Cpath%20d%3D%22M-80%20750C190%20350%20390%201020%20660%20760S1040%20590%201300%20820M910-70C750%20160%201320%20190%201170%20440%22%2F%3E%3C%2Fsvg%3E")}
.bc-booking-workspace[data-preset=beauty]{--bc-scene:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201200%20900%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%3E%3Cpath%20d%3D%22M-80%20820C100%20550%20160%20550%20320%20780S620%20940%20730%20740M-90%20860C80%20580%20160%20600%20300%20820M920-60C760%2080%201190%20100%201300%20340M980-80C850%2060%201220%2095%201340%20290%22%2F%3E%3C%2Fsvg%3E")}
.bc-booking-workspace[data-preset=consulting]{--bc-scene:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201200%20900%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%3E%3Crect%20x%3D%22920%22%20y%3D%22-110%22%20width%3D%22420%22%20height%3D%22300%22%20rx%3D%2285%22%20transform%3D%22rotate%2818%201130%2040%29%22%2F%3E%3Crect%20x%3D%22-150%22%20y%3D%22690%22%20width%3D%22450%22%20height%3D%22280%22%20rx%3D%2275%22%20transform%3D%22rotate%28-12%2075%20830%29%22%2F%3E%3C%2Fsvg%3E")}
.bc-booking-workspace[data-preset=health]{--bc-scene:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201200%20900%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%3E%3Ccircle%20cx%3D%221120%22%20cy%3D%2220%22%20r%3D%22190%22%2F%3E%3Ccircle%20cx%3D%221120%22%20cy%3D%2220%22%20r%3D%22260%22%2F%3E%3Cpath%20d%3D%22M-100%20760C100%20600%20180%201050%20390%20810S630%20750%20690%20960%22%2F%3E%3C%2Fsvg%3E")}
.bc-booking-workspace[data-preset=auto]{--bc-scene:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201200%20900%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%3E%3Ccircle%20cx%3D%221230%22%20cy%3D%22850%22%20r%3D%22260%22%2F%3E%3Ccircle%20cx%3D%221230%22%20cy%3D%22850%22%20r%3D%22180%22%2F%3E%3Cpath%20d%3D%22M-80%20100%20220-40M-80%20140%20280-40M950%20650h300%22%2F%3E%3C%2Fsvg%3E")}
.bc-booking-workspace[data-preset=lessons]{--bc-scene:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201200%20900%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%3E%3Cpath%20d%3D%22M-80%20790h150V670h150V550h150M940-70v140h150v140h150M10%20850h170V730h160%22%2F%3E%3C%2Fsvg%3E")}
.bc-booking-workspace[data-preset=photo]{--bc-scene:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201200%20900%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%3E%3Ccircle%20cx%3D%221140%22%20cy%3D%2230%22%20r%3D%22230%22%2F%3E%3Ccircle%20cx%3D%221140%22%20cy%3D%2230%22%20r%3D%22160%22%2F%3E%3Cpath%20d%3D%22M-80%20660h210v210h230M-40%20710h120v210%22%2F%3E%3C%2Fsvg%3E")}

.bc-avatar-fallback{display:flex;flex:none;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;background:var(--ui-selected);color:var(--ui-primary-hover);font-size:inherit;font-weight:600;line-height:1}
.bc-avatar-fallback[data-avatar-variant="1"]{background:var(--ui-selected);color:var(--ui-muted)}
.bc-avatar-fallback[data-avatar-variant="2"]{background:var(--ui-red-soft);color:var(--ui-muted)}
.bc-avatar-fallback[data-avatar-variant="3"]{background:var(--ui-selected);color:var(--ui-warning)}
.bc-avatar-fallback[data-avatar-variant="4"]{background:var(--ui-green-soft);color:var(--ui-green)}
.bc-avatar-fallback[data-avatar-variant="5"]{background:var(--ui-selected);color:var(--ui-muted)}

/* Give portraits and names their own breathing room in the desktop rail. */
@media(min-width:701px){
 .bc-booking-workspace .bc-staff-section{padding:10px}
 .bc-booking-workspace .bc-staff-title{padding-left:5px;padding-right:5px;margin-top:5px}
 .booking-screen .bc-booking-workspace button.bc-staff{display:grid;grid-template-columns:52px minmax(0,1fr) 12px;column-gap:14px}
 .bc-booking-workspace .bc-staff>span:not(.bc-avatar){width:100%;text-align:center}
 .bc-booking-workspace .bc-staff b{margin-left:0;justify-self:center}
 .bc-booking-workspace .bc-content>.bc-staff-section{grid-column:1;grid-row:1;align-self:stretch;height:auto;max-height:none}
 .bc-booking-workspace .bc-content>.bc-calendar{grid-column:2;grid-row:1;align-self:stretch}
 .bc-booking-workspace .bc-service-sidebar{height:auto;max-height:none}
 .bc-booking-workspace .bc-calendar>.bc-booking-actions{margin-bottom:0}
}

/* A calm, shared calendar instead of the browser's unstyled date popup. */
.booking-screen .bc-booking-workspace button.bc-date-picker{display:flex;align-items:center;gap:7px;min-height:32px!important;padding:5px 8px!important;border:1px solid transparent!important;border-radius:8px!important;background:transparent!important;color:var(--ui-muted)!important;font-size:12px;font-weight:400;box-shadow:none!important;white-space:nowrap}
.booking-screen .bc-booking-workspace button.bc-date-picker:hover,.booking-screen .bc-booking-workspace button.bc-date-picker[aria-expanded=true]{background:var(--ui-selected)!important;color:var(--ui-primary-hover)!important}
.bc-date-overlay{position:fixed;inset:0;z-index:1000;background:var(--ui-primary-a12)}
.bc-date-overlay[hidden]{display:none!important}
.bc-month-popover{position:fixed;top:100px;right:24px;width:min(304px,calc(100vw - 16px));padding:16px;box-sizing:border-box;border:1px solid var(--ui-border);border-radius:18px;background:var(--ui-surface);color:var(--ui-ink);box-shadow:0 18px 60px var(--ui-ink-a26),0 3px 10px var(--ui-ink-a0d)}
.bc-month-header{display:flex;align-items:center;gap:4px;margin-bottom:13px}
.bc-month-header strong{flex:1;font-size:15px;font-weight:650;text-align:center;text-transform:capitalize}
.booking-screen .bc-booking-workspace .bc-month-popover button{display:grid;place-items:center;min-width:0;min-height:34px!important;height:34px;padding:0!important;border:0!important;border-radius:9px!important;background:transparent!important;color:var(--ui-ink)!important;font-size:13px;font-weight:500;line-height:1;box-shadow:none!important;transition:background-color .12s ease,color .12s ease}
.booking-screen .bc-booking-workspace .bc-month-header button{width:30px;flex:none;font-size:23px}
.booking-screen .bc-booking-workspace #bc-calendar-close{width:24px;margin-left:4px;color:var(--ui-muted)!important;font-size:21px}
.bc-month-weekdays,.bc-month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.bc-month-weekdays{margin-bottom:6px;color:var(--ui-muted);font-size:11px;text-align:center;line-height:22px}
.booking-screen .bc-booking-workspace .bc-month-popover button:hover:enabled{background:var(--ui-selected)!important;color:var(--ui-primary-hover)!important}
.booking-screen .bc-booking-workspace .bc-month-days button{position:relative;font-variant-numeric:tabular-nums}
.booking-screen .bc-booking-workspace .bc-month-days button[data-outside=true]{color:var(--ui-muted)!important}
.booking-screen .bc-booking-workspace .bc-month-days button[aria-current=date]{box-shadow:inset 0 0 0 1px var(--ui-primary)!important;color:var(--ui-primary-hover)!important}
.booking-screen .bc-booking-workspace .bc-month-days button[aria-pressed=true]{background:var(--ui-primary)!important;color:var(--ui-surface)!important;box-shadow:0 3px 8px var(--ui-ink-a16)!important}
.bc-month-days button[data-bookings=true]::after{content:"";position:absolute;bottom:3px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:var(--ui-primary)}
.bc-month-days button[data-bookings=true][aria-pressed=true]::after{background:var(--ui-surface)}
.booking-screen .bc-booking-workspace .bc-month-popover button:disabled{opacity:1;color:var(--ui-muted)!important;background:transparent!important;cursor:default}
.bc-month-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--ui-border);margin-top:10px;padding-top:8px}
.booking-screen .bc-booking-workspace .bc-month-footer button{padding:0 8px!important;color:var(--ui-primary-hover)!important;font-size:12px}
.bc-month-footer span{font-size:11px;color:var(--ui-muted)}
.bc-booking-workspace .bc-staff .bc-staff-status{font-size:11px;color:var(--ui-green)}
.bc-staff-status::before{content:"";display:inline-block;width:4px;height:4px;vertical-align:middle;margin-right:5px;border-radius:50%;background:currentColor}
.bc-booking-workspace .bc-staff-status[data-state=off],.bc-booking-workspace .bc-staff-status[data-state=closed]{color:var(--ui-muted)}
.bc-booking-workspace .bc-staff-status[data-state=busy]{color:var(--ui-warning)}
@media(max-width:700px){.booking-screen .bc-booking-workspace button.bc-date-picker{min-height:25px!important;padding:4px!important;gap:4px;font-size:10px}.bc-booking-workspace .bc-staff .bc-staff-status{font-size:10px}}

/* Final review shares the same header and keeps every appointment together. */
.bc-confirm-content{display:flex;flex:1;flex-direction:column;min-height:0;padding:22px 24px 12px}
.bc-confirm-heading{display:flex;align-items:center;gap:14px;flex:none;margin-bottom:22px}
.bc-confirm-heading h3{margin:0;font-size:24px;line-height:1.2;letter-spacing:-.4px;font-weight:650;outline:none}
.booking-screen .bc-confirm-heading button{display:grid;place-items:center;flex:none;width:30px;height:32px;min-height:32px!important;padding:0!important;border:0!important;border-radius:8px!important;background:transparent!important;color:var(--ui-ink)!important;font-size:23px;box-shadow:none!important}
.bc-confirm-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,33%);gap:22px;flex:1;min-height:0}
.bc-confirm-records{min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--ui-disabled-bg) transparent;padding:1px 5px 8px 1px}
.bc-confirm-day h4{margin:0 0 13px;font-size:18px;line-height:1.3;font-weight:600}
.bc-confirm-day+.bc-confirm-day{margin-top:20px}
.bc-confirm-card{padding:16px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface);box-shadow:0 4px 14px var(--ui-ink-a06);margin-bottom:12px}
.bc-confirm-card:last-child{margin-bottom:0}
.bc-confirm-card>header{display:flex;align-items:center;gap:12px;padding:0 0 12px}
.bc-confirm-card .bc-avatar{width:48px;height:48px}
.bc-confirm-card>header>div{flex:1;min-width:0}
.bc-confirm-card strong{display:block;font-size:15px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.bc-confirm-card small{display:block;margin-top:4px;font-size:12px;line-height:1.4;color:var(--ui-muted);font-variant-numeric:tabular-nums}
.bc-confirm-card small span{color:var(--ui-muted);white-space:nowrap}
.booking-screen .bc-confirm-card button.bc-link{font-size:12px!important;flex:none}
.booking-screen .bc-confirm-card .bc-confirm-remove{display:grid;place-items:center;flex:none;width:24px;height:26px;min-height:26px!important;padding:0!important;border:0!important;border-radius:7px!important;background:transparent!important;box-shadow:none!important;color:var(--ui-muted)!important;font-size:20px;font-weight:400}
.bc-confirm-services{border-top:1px solid var(--ui-border);padding-top:5px}
.bc-confirm-services>div{display:flex;align-items:start;justify-content:space-between;gap:18px;padding:8px 0;font-size:14px;line-height:1.4}
.bc-confirm-services>div+div{border-top:1px solid var(--ui-border)}
.bc-confirm-services>div>span{min-width:0;overflow-wrap:anywhere}
.bc-confirm-services b{flex:none;font-weight:550;max-width:35%;text-align:right;overflow-wrap:anywhere}
.bc-confirm-summary{align-self:start;min-width:0;padding:20px;border:1px solid var(--ui-border);border-radius:14px;background:linear-gradient(130deg,var(--ui-selected),var(--ui-surface));box-shadow:0 4px 18px var(--ui-ink-a05)}
.bc-confirm-reminder-row{display:flex;align-items:center;gap:10px;padding-bottom:18px;border-bottom:1px solid var(--ui-border)}
.bc-confirm-reminder-row>svg{flex:none;width:21px;height:21px;color:var(--ui-primary-hover)}
.bc-confirm-reminder-row>div{flex:1;min-width:0}
.bc-confirm-reminder-row strong{display:block;font-size:12px;line-height:1.35;font-weight:500}
.bc-confirm-reminder-row small{display:block;margin-top:4px;font-size:11px;color:var(--ui-muted)}
.booking-screen .bc-confirm-summary #bc-reminders{position:relative;flex:none;width:40px;height:24px;min-height:24px!important;padding:3px!important;border:0!important;border-radius:20px!important;background:var(--ui-muted)!important;box-shadow:none!important;transition:background-color .15s ease}
.booking-screen .bc-confirm-summary #bc-reminders[aria-checked=true]{background:var(--ui-primary)!important}
#bc-reminders>span{display:block;width:18px;height:18px;border-radius:50%;background:var(--ui-surface);box-shadow:0 1px 3px var(--ui-ink-a26);transform:translateX(0);transition:transform .15s ease}
#bc-reminders[aria-checked=true]>span{transform:translateX(16px)}
.bc-confirm-total{padding:18px 0}
.bc-confirm-total>span{display:block;color:var(--ui-muted);font-size:12px;margin-bottom:9px}
.bc-confirm-total>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:16px}
.bc-confirm-total strong{font-size:24px;line-height:1.2;font-weight:650;text-align:right;overflow-wrap:anywhere}
.bc-confirm-status{margin:0 0 12px;color:var(--ui-muted);font-size:12px;line-height:1.4}
.bc-confirm-status:empty{display:none}
.booking-screen .bc-confirm-summary #bc-confirm-submit{display:block;width:100%;min-height:46px!important;padding:11px 14px!important;border:0!important;border-radius:10px!important;background:var(--ui-primary)!important;color:var(--ui-surface)!important;font-size:14px;font-weight:600;box-shadow:0 4px 12px var(--ui-ink-a16)!important}
.booking-screen .bc-confirm-summary #bc-confirm-submit:disabled{background:var(--ui-disabled-bg)!important;color:var(--ui-muted)!important;box-shadow:none!important}
@media(min-width:701px) and (max-height:650px){.bc-confirm-content{padding:14px 18px 8px}.bc-confirm-heading{margin-bottom:15px}.bc-confirm-heading h3{font-size:21px}.bc-confirm-layout{gap:18px}.bc-confirm-card{padding:12px;margin-bottom:10px}.bc-confirm-day h4{font-size:16px;margin-bottom:9px}.bc-confirm-card>header{padding-bottom:8px}.bc-confirm-services>div{padding:6px 0}.bc-confirm-summary{padding:16px}}
@media(max-width:700px){
 .bc-confirm-content{padding:8px 14px 12px}
 .bc-confirm-heading{gap:9px;margin-bottom:14px;min-height:30px}
 .bc-confirm-heading h3{font-size:20px}
 .bc-confirm-layout{display:flex;flex-direction:column;gap:12px}
 .bc-confirm-records{flex:1;padding-right:3px;padding-bottom:2px}
 .bc-confirm-day h4{font-size:16px;margin-bottom:10px}
 .bc-confirm-card{padding:12px;margin-bottom:10px}
 .bc-confirm-card>header{gap:9px;padding-bottom:10px}
 .bc-confirm-card .bc-avatar{width:42px;height:42px}
 .bc-confirm-card strong{font-size:13px}
 .bc-confirm-card small{font-size:11px;margin-top:3px}
 .bc-confirm-card small span{font-size:10px}
 .booking-screen .bc-confirm-card button.bc-link{font-size:10px!important}
 .booking-screen .bc-confirm-card .bc-confirm-remove{width:17px;font-size:18px}
 .bc-confirm-services>div{font-size:12px;padding:7px 0}
 .bc-confirm-summary{flex:none;width:100%;align-self:stretch;padding:13px}
 .bc-confirm-reminder-row{padding-bottom:12px}
 .bc-confirm-reminder-row strong{font-size:12px}
 .bc-confirm-total{padding:12px 0}
 .bc-confirm-total>span{font-size:11px;margin-bottom:5px}
 .bc-confirm-total>div{font-size:14px}
 .bc-confirm-total strong{font-size:21px}
 .booking-screen .bc-confirm-summary #bc-confirm-submit{min-height:44px!important;font-size:13px}
}
@media(prefers-reduced-motion:reduce){#bc-reminders>span{transition:none}}

/* Personal records share the booking header and preserve the in-progress choice. */
.bc-booking-workspace .bc-brand>div{flex:1;min-width:0}
.booking-screen .bc-booking-workspace #bc-my-bookings{display:flex;align-items:center;justify-content:center;gap:8px;flex:none;min-height:38px;padding:9px 13px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface-ac9);color:var(--ui-primary-hover);font-size:13px;white-space:nowrap;box-shadow:0 2px 8px var(--ui-ink-a05)}
#bc-my-bookings svg{width:17px;height:17px;flex:none}
.booking-screen .bc-booking-workspace #bc-my-bookings[aria-pressed=true]{background:var(--ui-selected);border-color:var(--ui-border)}
.bc-mine-content{display:flex;flex:1;flex-direction:column;min-height:0;padding:22px 24px 12px}
.bc-mine-content .bc-confirm-heading{margin-bottom:18px}
.booking-screen .bc-mine-content #bc-mine-book{width:auto;height:auto;margin-left:auto;min-height:36px!important;padding:7px 12px!important;color:var(--ui-primary-hover)!important;font-size:13px;background:var(--ui-selected)!important}
.bc-mine-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:1px 5px 8px 1px;scrollbar-width:thin;scrollbar-color:var(--ui-disabled-bg) transparent}
.bc-mine-list>h4{font-size:17px;font-weight:600;margin:0 0 12px}
.bc-mine-list>.bc-confirm-card{max-width:850px}
.bc-mine-list>.bc-confirm-card+h4{margin-top:24px}
.bc-mine-empty{display:flex;height:100%;min-height:180px;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px}
.bc-mine-empty>svg{width:40px;height:40px;color:var(--ui-muted);stroke-width:1.2}
.bc-mine-empty h4{font-size:19px;margin:0;font-weight:550}
.booking-screen .bc-mine-empty button,.booking-screen .bc-success-actions button{min-height:42px;padding:10px 22px;border:0;border-radius:10px;background:var(--ui-primary);color:var(--ui-surface);font-size:14px}
.bc-mine-status{font-size:13px;color:var(--ui-muted);margin:10px 0}
.bc-mine-status:empty{display:none}
.booking-screen #bc-mine-more{flex:none;align-self:center;min-height:36px;margin:8px 0 0;padding:7px 18px;border:1px solid var(--ui-border);border-radius:9px;background:var(--ui-surface);color:var(--ui-primary-hover);font-size:13px}
.bc-success-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:12px}
.booking-screen .bc-success-actions #booking-client-again{background:var(--ui-selected);color:var(--ui-primary-hover)}
@media(max-width:700px){
 .bc-booking-workspace .bc-brand{gap:9px}
 .bc-booking-workspace .bc-brand h2{font-size:14px}
 .booking-screen .bc-booking-workspace #bc-my-bookings{font-size:11px;gap:5px;padding:8px;min-height:34px}
 #bc-my-bookings svg{width:14px;height:14px}
 .bc-mine-content{padding:8px 14px 12px}
 .bc-mine-content .bc-confirm-heading{gap:8px;margin-bottom:14px}
 .bc-mine-content .bc-confirm-heading h3{font-size:19px}
 .booking-screen .bc-mine-content #bc-mine-book{font-size:11px;padding:6px 8px!important}
 .bc-mine-list>h4{font-size:16px}
}

/* Use the same preview bands as the other catalogue widgets. */
#booking-catalog-card .booking-mini-tiles{flex:none;max-width:none;width:100%;padding:0 6px;box-sizing:border-box}
#booking-catalog-card .widget-card-preview-link{flex:none;margin:0;min-height:31px;padding:9px;border:0;border-top:1px solid var(--ui-border);border-radius:0;background:var(--ui-surface);color:var(--ui-primary-hover);line-height:1.4}

/* Management workspace: calm surfaces, a clear calendar and an independent day list. */
#booking-screen{--ba-accent:var(--ui-primary);--ba-tint:var(--ui-selected);--ba-line:var(--ui-selected);--ba-ink:var(--ui-primary)}
#booking-nav{border:0;background:var(--ui-selected);padding:4px;border-radius:11px}
#booking-nav button{min-height:36px;font-size:13px;border-radius:8px;background:transparent;color:var(--ui-muted)}
#booking-nav button[aria-pressed=true]{background:var(--ui-surface);color:var(--ui-primary);box-shadow:0 1px 4px var(--ui-ink-a12)}
.booking-body[data-view=agenda],.booking-body[data-view=settings]{padding-top:16px;overflow:hidden}
.ba-workspace{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;flex:1;min-height:0;min-width:0;color:var(--ba-ink)}
.ba-sidebar{min-width:0;min-height:0;overflow-y:auto;padding:16px;border-radius:15px;background:var(--ui-surface);scrollbar-width:thin}
.ba-month{margin-bottom:22px}
.ba-month header{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:16px}
.ba-month header strong{font-size:14px;font-weight:600;text-transform:capitalize}
.ba-weekdays,.ba-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.ba-weekdays{color:var(--ui-muted);font-size:10px;text-align:center;margin-bottom:8px;line-height:22px}
#booking-screen .ba-month button{display:grid;place-items:center;padding:0;border:0;background:transparent;border-radius:8px;color:var(--ui-primary-hover);box-shadow:none;font-size:12px;min-height:30px}
#booking-screen .ba-month header button{width:30px;height:30px}
.ba-month svg,.ba-day-actions svg{width:17px;height:17px;flex:none}
#booking-screen .ba-days button{position:relative;width:100%;aspect-ratio:1;min-height:29px;color:var(--ui-ink);font-variant-numeric:tabular-nums}
#booking-screen .ba-days button[data-outside=true]{color:var(--ui-muted)}
#booking-screen .ba-days button[aria-current=date]::after{content:"";position:absolute;bottom:3px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:currentColor}
#booking-screen .ba-days button[aria-pressed=true]{color:var(--ui-surface);background:var(--ba-accent);box-shadow:0 3px 8px var(--ui-ink-a1a)}
#booking-screen .ba-month button:hover{background:var(--ui-selected)}
#booking-screen .ba-days button[aria-pressed=true]:hover{background:var(--ui-primary)}
#booking-screen #booking-agenda-today{display:block;width:100%;margin-top:12px;background:var(--ui-surface);border:1px solid var(--ba-line);min-height:33px;color:var(--ba-accent)}
.ba-day{display:flex;flex-direction:column;min-width:0;min-height:0}
.ba-day-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;margin:2px 0 18px}
.ba-eyebrow{display:block;color:var(--ui-muted);font-size:11px;line-height:1.4;text-transform:capitalize;margin-bottom:4px}
.ba-day-heading h2{font-size:24px;line-height:1.2;letter-spacing:-.5px;margin:0;font-weight:650}
.ba-day-actions{display:flex;align-items:center;gap:6px}
#booking-screen .ba-day-actions button{display:flex;align-items:center;justify-content:center;width:34px;height:36px;padding:8px}
#booking-screen .ba-day-actions #booking-add{width:auto;gap:8px;margin-left:5px;padding:9px 14px;min-height:38px;font-size:12px;border-radius:9px}
.ba-filters{display:flex;align-items:center;gap:14px;flex:none}
.ba-search{display:flex;align-items:center;gap:9px;flex:1;min-width:0;padding:0 11px;border:1px solid var(--ba-line);border-radius:9px;background:var(--ui-surface);color:var(--ui-muted)}
.ba-search svg{width:17px;height:17px;flex:none}
.ba-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ba-ink);font:inherit;font-size:14px;line-height:1.4;min-height:40px;padding:8px 0;box-shadow:none}
.ba-search:focus-within{border-color:var(--ui-primary);box-shadow:0 0 0 3px var(--ui-ink-a0a)}
.ba-filters .booking-check{font-size:11px;white-space:nowrap}
.ba-day-summary{padding:14px 0 10px;flex:none;font-size:11px;color:var(--ui-muted)}
.ba-records{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:2px 5px 6px 1px;gap:10px}
.ba-records .booking-record{border:1px solid var(--ba-line);border-left:3px solid var(--ui-primary);border-radius:12px;gap:18px;padding:16px;background:var(--ui-surface);box-shadow:0 3px 12px var(--ui-ink-a05)}
.ba-records .booking-record-time{align-self:flex-start;width:53px;gap:6px}
.ba-records .booking-record-time strong{font-size:19px;color:var(--ba-accent);font-weight:600}
.ba-records .booking-record-time small{font-size:11px;color:var(--ui-muted)}
.ba-records .booking-record-copy strong{font-size:15px;font-weight:600}
.ba-records .booking-record-copy>span{font-size:12px;color:var(--ui-muted);line-height:1.4}
.ba-records .booking-record-copy small{font-size:11px;color:var(--ui-muted)}
#booking-screen .ba-records [data-cancel]{border:0;background:transparent;color:var(--ui-muted);font-weight:400}
.ba-records .is-cancelled{border-left-color:var(--ui-border);background:var(--ui-surface);opacity:.7}
.ba-records .ba-cancelled{font-size:11px;color:var(--ui-muted)}
.ba-empty{display:flex;flex:1;min-height:150px;flex-direction:column;justify-content:center;align-items:center;padding:30px 16px;text-align:center}
.ba-empty>svg{width:36px;height:36px;stroke-width:1.1;color:var(--ui-muted);margin-bottom:16px}
.ba-empty h3{font-size:17px;font-weight:550;color:var(--ui-muted);margin:0 0 8px}
.ba-empty p{color:var(--ui-muted);font-size:12px;line-height:1.6;max-width:270px;margin:0}
#booking-agenda-delivery:empty{display:none}
#booking-screen button:focus-visible,#booking-screen summary:focus-visible{outline:2px solid var(--ui-primary);outline-offset:3px}
.ba-settings{display:grid;grid-template-columns:164px minmax(0,1fr);gap:26px;flex:1;min-height:0;min-width:0}
.ba-settings .booking-settings-nav{display:flex;flex-direction:column;align-self:start;gap:4px;padding:6px;background:var(--ui-surface);border-radius:12px;margin:0}
.ba-settings .booking-settings-nav button{width:100%;min-height:40px;text-align:left;padding:10px 12px;border-radius:8px;background:transparent;font-size:12px;color:var(--ui-muted)}
.ba-settings .booking-settings-nav button[aria-pressed=true]{background:var(--ui-surface);color:var(--ba-accent);box-shadow:0 2px 8px var(--ui-ink-a09)}
.ba-settings .booking-settings-content{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:1px 6px 14px 1px;min-height:0}
.ba-settings-card,.booking-client-brand-settings,.ba-settings .booking-appearance,.ba-settings .booking-notification-list{background:var(--ui-surface);border:1px solid var(--ba-line);border-radius:13px;padding:20px;margin-bottom:16px;box-shadow:0 3px 12px var(--ui-ink-a04)}
.ba-settings-card>header{margin-bottom:18px}
.ba-settings-card h2,.ba-settings .booking-client-brand-settings h2,.ba-settings .booking-appearance h2{font-size:17px;color:var(--ba-ink);font-weight:600;line-height:1.3;margin:0}
.ba-settings-card header p{font-size:12px;color:var(--ui-muted);margin:7px 0 0;line-height:1.5}
.ba-settings-card .booking-form-grid{max-width:none;gap:18px 22px}
.ba-settings-card .booking-field{margin:0;font-size:12px;color:var(--ui-muted);font-weight:500}
.ba-settings-card .booking-enabled{padding:0;margin:0}
.ba-settings-card .booking-enabled strong{font-size:14px;color:var(--ui-primary-hover)}
.ba-settings .booking-field input,.ba-settings .booking-field select{font-size:14px;min-height:40px;border-color:var(--ui-border);border-radius:8px}
.ba-settings .booking-section-heading{margin:0 0 17px;align-items:center}
.ba-settings .booking-section-heading p{font-size:11px;max-width:440px;line-height:1.5}
.ba-settings .booking-section-heading h2{font-size:20px;font-weight:600;margin:0 0 5px}
.ba-settings .booking-edit-list{flex:none;gap:12px}
.ba-settings .booking-edit-row{grid-template-columns:minmax(100px,1fr) 75px 95px auto 24px;padding:14px;border-color:var(--ba-line);gap:12px;background:var(--ui-surface)}
.booking-service-staff{grid-column:1/-1;min-width:0;border:0;padding:0;margin:0}.booking-service-staff legend{padding:0;margin:0 0 8px;font-size:11px;color:var(--ui-muted)}.booking-service-people{display:flex;flex-wrap:wrap;gap:8px 16px}.booking-edit-row .booking-service-staff .booking-check{padding-top:0;min-width:0;overflow-wrap:anywhere}.booking-service-staff .booking-help{margin:0}
.ba-settings .booking-edit-row .booking-field{font-size:10px;gap:6px;color:var(--ui-muted);font-weight:400}
.ba-settings .booking-staff-row{border-color:var(--ba-line);padding:0;background:var(--ui-surface);box-shadow:0 2px 9px var(--ui-ink-a03);overflow:clip}
.booking-staff-row>summary{display:flex;align-items:center;gap:12px;padding:15px;cursor:pointer;list-style:none}
.booking-staff-row>summary::-webkit-details-marker{display:none}
.booking-staff-row>summary::after{content:"⌄";font-size:18px;color:var(--ui-muted);margin-left:5px;transform:rotate(0deg)}
.booking-staff-row[open]>summary::after{transform:rotate(180deg)}
.ba-staff-initial{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--ui-selected);color:var(--ui-muted);font-weight:600;flex:none}
.booking-staff-row summary>span:nth-child(2){flex:1;min-width:0}
.booking-staff-row summary strong{display:block;font-size:14px;font-weight:600;overflow-wrap:anywhere;color:var(--ui-primary-hover)}
.booking-staff-row summary small{display:block;margin-top:4px;font-size:11px;color:var(--ui-muted)}
.ba-staff-state{font-size:10px;color:var(--ui-muted)}
.ba-staff-state[data-active=true]{color:var(--ui-green)}
.ba-staff-editor{padding:18px;border-top:1px solid var(--ui-border)}
.ba-settings .booking-staff-heading{gap:12px;margin-bottom:18px}
.ba-settings .booking-staff-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
.ba-settings .booking-staff-details .booking-field:last-child{grid-column:1/-1}
.ba-field-heading{font-size:12px;font-weight:500;color:var(--ui-muted);margin:0 0 10px}
.ba-settings .booking-staff-services{gap:8px 15px;margin:0 0 16px;padding:12px;background:var(--ui-surface);border-radius:9px}
.ba-settings .booking-staff-prices{margin:0 0 18px;padding:10px 0;color:var(--ui-muted);font-size:12px}
.ba-settings .booking-staff-prices summary{margin-bottom:10px;cursor:pointer}
.ba-settings .booking-notification-list{padding:0;overflow:hidden}
.ba-settings .booking-notification-row{border:0;border-bottom:1px solid var(--ba-line);border-radius:0;padding:18px}
.ba-settings .booking-notification-row:last-child{border:0}
.ba-settings .booking-appearance{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}
.ba-settings .booking-client-brand-settings>.booking-help{margin-bottom:20px;max-width:560px}
#booking-save-row{padding:12px 0 0;background:var(--ui-surface)}
#booking-save:disabled{opacity:1;background:var(--ui-selected);color:var(--ui-muted)}
.booking-body[data-view=client]{padding:12px 0 0;overflow:hidden}
.booking-body[data-view=client]>.bc-experience{display:flex;flex:1;flex-direction:column;width:100%;height:100%;min-height:0;box-sizing:border-box}
body.booking-client-view .booking-body[data-view=client]{padding:0}
@media(max-width:900px) and (min-width:701px){.ba-workspace{grid-template-columns:226px minmax(0,1fr);gap:16px}.ba-sidebar{padding:12px}.ba-day-heading h2{font-size:21px}.ba-day-actions{gap:3px}#booking-screen .ba-day-actions #booking-add{padding:8px;font-size:11px}.ba-settings{grid-template-columns:140px minmax(0,1fr);gap:16px}.ba-settings .booking-edit-row{grid-template-columns:minmax(80px,1fr) 60px 80px auto 20px;gap:8px}}
@media(max-width:700px){
 #booking-nav button{font-size:11px;min-height:37px;padding:7px 5px}
 .booking-body[data-view=agenda],.booking-body[data-view=settings]{padding-top:12px;overflow-y:auto}
 .ba-workspace{display:flex;flex-direction:column;gap:14px;flex:none;min-height:100%}
 .ba-sidebar{display:grid;grid-template-columns:minmax(0,1fr);padding:14px;overflow:visible;flex:none}
 .ba-month{margin-bottom:16px}.ba-month header{margin-bottom:8px}.ba-weekdays{margin-bottom:3px}
 #booking-screen .ba-days button{aspect-ratio:auto;min-height:34px;font-size:13px}#booking-screen #booking-agenda-today{margin-top:8px}
 .ba-sidebar .booking-field{margin-bottom:0}.ba-sidebar #booking-staff-notifications{margin-top:12px}
 .ba-day{flex:none;padding:0 2px 12px}.ba-day-heading{margin:0 0 14px;gap:6px}.ba-day-heading h2{font-size:23px}.ba-eyebrow{font-size:10px}
 .ba-day-actions{gap:4px}#booking-screen .ba-day-actions button{width:29px;height:34px;padding:6px;min-height:34px}#booking-screen .ba-day-actions #booking-add{width:36px;height:36px;margin-left:3px;padding:8px;min-height:36px}.ba-day-actions #booking-add span{display:none}
 .ba-filters{gap:10px;flex-wrap:wrap}.ba-search{flex-basis:100%}.ba-search input{font-size:16px;min-height:42px}.ba-filters .booking-check{font-size:11px}
 .ba-records{flex:none;overflow:visible;padding-right:1px;gap:10px}.ba-records .booking-record{padding:14px;gap:12px}.ba-records .booking-record-actions{margin:3px 0 0 65px;flex-basis:100%;justify-content:flex-start}.ba-records .booking-record-copy strong{font-size:15px}.ba-empty{min-height:150px;padding:24px 15px}
 .ba-settings{display:flex;flex-direction:column;gap:14px;flex:none;min-height:100%}
 .ba-settings .booking-settings-nav{flex-direction:row;flex-wrap:nowrap;gap:2px;overflow-x:auto;align-self:stretch;scrollbar-width:none;padding:4px;flex:none}
 .ba-settings .booking-settings-nav button{flex:0 0 auto;width:auto;text-align:center;font-size:11px;padding:8px 10px;min-height:36px;white-space:nowrap}
 .ba-settings .booking-settings-content{overflow:visible;padding-right:0;flex:none}
 .ba-settings-card,.booking-client-brand-settings,.ba-settings .booking-appearance{padding:16px;margin-bottom:12px;border-radius:12px}
 .ba-settings-card h2{font-size:16px}.ba-settings-card>header{margin-bottom:16px}.ba-settings-card .booking-form-grid{gap:16px}
 .ba-settings .booking-field input,.ba-settings .booking-field select{font-size:16px;min-height:42px}
 .ba-settings .booking-edit-row{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;gap:10px}.ba-settings .booking-edit-row .booking-field:first-child{grid-column:1/-1}
 .ba-settings .booking-section-heading h2{font-size:19px}.ba-settings .booking-section-heading p{max-width:225px}.ba-settings .booking-section-heading>button{flex:none;font-size:11px}
 .ba-settings .booking-staff-heading .booking-field{min-width:100%}.ba-settings .booking-staff-details{grid-template-columns:minmax(0,1fr)}.ba-staff-editor{padding:14px}.booking-staff-row>summary{padding:13px;gap:9px}
 .ba-settings .booking-appearance{grid-template-columns:minmax(0,1fr)}.ba-settings .booking-notification-row button{width:auto;max-width:100%}
 #booking-save-row{padding-top:10px}#booking-save-row button{min-height:42px}
 .booking-body[data-view=client]{padding-top:10px}
}

.ba-staff-permission{margin:0 0 20px;padding:13px;border-radius:9px;background:var(--ui-surface);align-items:flex-start}
.ba-staff-permission strong{font-weight:500;color:var(--ui-primary-hover)}
.ba-widget-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;flex:none;margin:0 0 20px}
.ba-widget-heading h2{margin:0 0 6px;font-size:23px;font-weight:650;color:var(--ui-ink);letter-spacing:-.4px}
.ba-widget-heading p{margin:0;color:var(--ui-muted);font-size:12px;line-height:1.4}
.ba-settings.ba-widget-settings{grid-template-columns:minmax(0,1fr)}
.booking-body[data-view=widget]{overflow:hidden}
@media(max-width:700px){.ba-widget-heading{align-items:start;gap:10px;margin-bottom:14px}.ba-widget-heading h2{font-size:20px}.ba-widget-heading p{font-size:11px}#booking-screen .ba-widget-heading button{font-size:11px;max-width:140px}.booking-body[data-view=widget]{overflow-y:auto}}

/* The native widget editor uses the same controls / preview / appearance pattern. */
.ba-settings.bw-settings{display:flex;min-height:0}
.bw-settings>.booking-settings-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;min-height:0;overflow:hidden;padding:0 1px 8px}
.bw-controls{min-width:0;min-height:0;overflow-y:auto;scrollbar-width:thin;padding-right:5px}
.bw-controls .booking-field{margin:0 0 20px;color:var(--ui-muted);font-size:13px;font-weight:500;gap:8px}
.bw-controls .booking-field input,.bw-controls .booking-field select{min-height:44px;padding:10px 11px;font-size:16px;border:1px solid var(--ui-border);border-radius:8px}
#booking-screen .bw-records-link{border:0;background:transparent;color:var(--ui-primary-hover);padding:9px 0;min-height:36px;font-size:12px;font-weight:500;text-align:left}
.bw-preview-column{display:flex;flex-direction:column;min-width:0;min-height:0;gap:14px;padding:0 0 1px}
.bw-preview-column>h2{margin:0;font-size:17px;color:var(--ui-ink);font-weight:650;line-height:1.3;flex:none}
.bw-live-preview{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;max-height:390px;width:100%;border:1px solid var(--ui-border);border-radius:12px;overflow:hidden;background:var(--ui-surface)}
.bw-live-preview>h3{flex:none;margin:0;padding:12px 14px 10px;color:var(--ui-primary-hover);font-size:13px;line-height:1.3;font-weight:600;overflow-wrap:anywhere}
.bw-live-preview>.booking-mini-tiles{flex:1 1 0;min-height:0;max-width:none;grid-template-rows:minmax(0,1fr);padding:0 6px 6px;gap:5px;box-sizing:border-box;overflow:hidden;align-items:stretch}
.bw-live-preview>.booking-mini-tiles>img{width:100%;height:100%;min-height:0;max-height:100%;object-fit:contain;align-self:stretch}
.bw-live-preview>.booking-mini-tiles>.booking-mini-tile{aspect-ratio:auto;height:100%;min-height:0}
.bw-live-preview>span{flex:none;padding:10px;border-top:1px solid var(--ui-border);color:var(--ui-muted);font-size:12px;line-height:1.3;text-align:center;overflow-wrap:anywhere}
#booking-screen #booking-widget-appearance{display:flex;align-items:center;justify-content:center;gap:8px;flex:none;min-height:44px;width:100%;margin:0;border:1px solid var(--ui-border);border-radius:9px;background:var(--ui-surface);color:var(--ui-primary-hover);font-size:13px;font-weight:600;box-shadow:none}
#booking-widget-appearance svg{width:20px;height:20px}
#booking-leave-status:empty{display:none}
.settings-leave-dialog #booking-leave-save,.settings-leave-dialog #booking-preview-save{background:var(--ui-primary);color:var(--ui-surface);border-color:var(--ui-primary)}
.settings-leave-dialog #booking-leave-discard{background:var(--ui-surface);border-color:var(--ui-red);color:var(--ui-red)}
.booking-screen .bc-booking-workspace #bc-preview-back{display:grid;place-items:center;width:28px;min-height:34px;height:34px;flex:none;padding:0;border:0;border-radius:8px;background:transparent;color:var(--ui-muted);box-shadow:none}
#bc-preview-back svg{width:21px;height:21px}
@media(max-width:700px){
 .bw-settings>.booking-settings-content{display:flex;flex-direction:column;gap:22px;overflow:visible;padding:0 1px 8px}
 .ba-settings.bw-settings{flex:none}
 .bw-controls{overflow:visible;padding:0}.bw-controls .booking-field{margin-bottom:16px;font-size:12px}
 .bw-preview-column{min-height:310px;gap:12px;flex:none}.bw-live-preview{flex:none;height:310px;max-height:none}.bw-preview-column>h2{font-size:16px}
 .booking-screen .bc-booking-workspace #bc-preview-back{width:24px;min-height:30px;height:30px;margin-left:-3px}
 #bc-preview-back svg{width:19px;height:19px}
}
@media(min-width:701px) and (max-height:650px){.bw-controls .booking-field{margin-bottom:13px}.bw-preview-column{gap:10px}}

/* Keep the widget preview at its native proportions, without blank flex bands. */
.booking-body[data-view=widget]{padding-top:0}
.bw-preview-column{align-self:start;height:auto;min-height:0}
.bw-live-preview{flex:none;height:auto;max-height:none}
.bw-live-preview>.booking-mini-tiles{flex:none;grid-template-rows:auto;align-items:start;overflow:visible}
.bw-live-preview>.booking-mini-tiles>img{height:auto;max-height:none;aspect-ratio:2/3;object-fit:contain;align-self:start;border-radius:8px}
.bw-live-preview>.booking-mini-tiles>.booking-mini-tile{aspect-ratio:2/3;height:auto;min-height:0}
.bw-preview-column>h2{font-size:17px}
#booking-screen #booking-widget-appearance{min-height:44px}
@media(min-width:701px){
 .bw-settings>.booking-settings-content{gap:24px;padding:0 0 8px;overflow-y:auto}
 .bw-controls{padding-right:0}
}
@media(max-width:700px){.bw-preview-column{min-height:0}.bw-live-preview{height:auto;max-height:none}}

.bw-live-preview>h3{padding:13px 14px 10px}
.bw-live-preview>.booking-mini-tiles{padding:0 8px 8px;gap:6px}
.bw-live-preview>span{padding:12px 9px}


/* Booking appearance follows the calendar's portrait preview and colour cards. */
.bw-appearance-dialog[open]{display:flex;flex-direction:column;overflow:hidden}
.bw-appearance-dialog>header,.bw-appearance-dialog>footer{flex:none}
.bw-appearance-dialog .calendar-appearance-body{display:grid;grid-template-columns:minmax(160px,.45fr) minmax(0,1fr);gap:24px;flex:0 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.bw-appearance-dialog .appearance-preview{grid-column:1;grid-row:auto;align-self:start;min-width:0}
.bw-appearance-dialog .booking-mini-tiles{grid-template-columns:minmax(0,1fr);width:100%;max-width:clamp(90px,calc((100dvh - 220px)*2/3),300px);gap:0;align-items:start}
.bw-appearance-dialog .booking-mini-tiles>:not(:first-child){display:none}
.bw-appearance-dialog .booking-mini-tiles>img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:2/3;object-fit:contain;border:1px solid var(--ui-border);border-radius:12px;box-sizing:border-box}
.bw-appearance-dialog .booking-mini-tile{height:auto;max-height:none;aspect-ratio:2/3;border:1px solid var(--ui-border);border-radius:12px}
.bw-appearance-controls{grid-column:2;min-width:0}
.bw-appearance-dialog .bw-appearance-controls>h3{margin:0 0 12px;font-size:16px;line-height:1.3}
.bw-appearance-dialog .appearance-presets{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.bw-appearance-dialog .appearance-preset{min-width:0;min-height:72px;padding:8px 6px;cursor:pointer;font-family:inherit}
.bw-appearance-dialog .appearance-preset strong{display:block;font-size:12px;line-height:1.35;overflow-wrap:anywhere}
.bw-appearance-dialog .palette-swatch{display:block;height:24px;margin-bottom:7px;border-radius:5px}
.bw-appearance-dialog .bw-appearance-close{display:grid;place-items:center;flex:none;width:40px;min-height:40px;margin:0;padding:0;border:1px solid var(--ui-border);border-radius:9px;color:var(--ui-muted);background:var(--ui-surface);font:25px/1 system-ui;cursor:pointer}
.bw-appearance-dialog .bw-appearance-done{flex:none;min-width:110px;min-height:44px;margin:0;padding:10px 16px;border:1px solid var(--ui-primary);border-radius:9px;background:var(--ui-primary);color:var(--ui-surface);font:600 14px/1.3 system-ui;cursor:pointer}
@media(max-width:700px){
 .bw-appearance-dialog .calendar-appearance-body{grid-template-columns:minmax(0,1fr);gap:16px;padding:16px}
 .bw-appearance-dialog .appearance-preview,.bw-appearance-controls{grid-column:1}
 .bw-appearance-dialog .booking-mini-tiles{max-width:144px}
 .bw-appearance-dialog .appearance-presets{grid-template-columns:repeat(3,minmax(0,1fr))}
 .bw-appearance-dialog .appearance-preset{min-height:64px;padding:7px 5px}
 .bw-appearance-dialog .appearance-preset strong{font-size:11px}
 .bw-appearance-dialog>footer{padding:12px 16px;gap:10px}
 .bw-appearance-dialog>footer p{font-size:11px}
 .bw-appearance-dialog .bw-appearance-done{min-width:100px}
}
@media(max-width:700px) and (max-height:680px){.bw-appearance-dialog .booking-mini-tiles{max-width:100px}}

.bw-appearance-dialog .appearance-toggles{height:auto;margin-bottom:18px}
.bw-appearance-dialog .appearance-toggles .holiday-option{min-height:54px;flex:none}
.booking-mini-tile{background:var(--booking-gradient,var(--booking-tile,var(--ui-selected)))}
@media(max-width:700px){.bw-appearance-dialog .appearance-toggles .holiday-option{min-height:48px}.bw-appearance-dialog .appearance-toggles .holiday-option strong{font-size:12px}}

.booking-mini-tiles>.instant-booking{display:block;width:100%;height:auto;aspect-ratio:2/3;border-radius:8px}
.bw-appearance-dialog .booking-mini-tiles>.instant-booking{border:1px solid var(--ui-border);border-radius:12px;box-sizing:border-box}

@media(max-width:700px){
 .bw-settings>.booking-settings-content>.bw-preview-column{order:-1;flex:none;width:100%;align-self:stretch}
}

/* Phone appearance mirrors the holiday editor: portrait + switches, palette below. */
@media(max-width:700px){
 .bw-appearance-dialog .calendar-appearance-body{grid-template-columns:104px minmax(0,1fr);column-gap:12px;row-gap:12px}
 .bw-appearance-dialog .appearance-preview{grid-column:1;grid-row:1}
 .bw-appearance-dialog .booking-mini-tiles{width:104px;max-width:104px}
 .bw-appearance-dialog .appearance-preview figcaption{font-size:10px;line-height:1.3}
 .bw-appearance-dialog .bw-appearance-controls{display:contents}
 .bw-appearance-dialog .appearance-toggles{grid-column:2;grid-row:1;width:100%;height:156px;margin:0;box-sizing:border-box}
 .bw-appearance-dialog .appearance-toggles .holiday-option{flex:1;min-height:0;padding:8px 9px;gap:7px}
 .bw-appearance-dialog .appearance-toggles .holiday-option strong{font-size:11px;line-height:1.25}
 .bw-appearance-dialog .appearance-toggles .holiday-switch{width:34px;height:22px;flex:none}
 .bw-appearance-dialog .appearance-toggles .holiday-switch:before{width:16px;height:16px}
 .bw-appearance-dialog .appearance-toggles input:checked+.holiday-switch:before{transform:translateX(12px)}
 .bw-appearance-dialog .appearance-toggles .holiday-option input{right:9px;width:34px;height:22px}
 .bw-appearance-dialog .bw-appearance-controls>h3{grid-column:1/-1;grid-row:2;margin:0}
 .bw-appearance-dialog .appearance-presets{grid-column:1/-1;grid-row:3}
}
@media(max-width:359px){
 .bw-appearance-dialog .calendar-appearance-body{grid-template-columns:90px minmax(0,1fr);padding:12px;column-gap:10px}
 .bw-appearance-dialog .booking-mini-tiles{width:90px;max-width:90px}
 .bw-appearance-dialog .appearance-toggles{height:135px}
 .bw-appearance-dialog .appearance-toggles .holiday-option{padding:6px 7px}
 .bw-appearance-dialog .appearance-toggles .holiday-option strong{font-size:10px}
}
/* First setup keeps the existing booking form typography and controls. */
.booking-setup{box-sizing:border-box;width:100%;max-width:720px;margin:0 auto;padding:8px 0 18px}
.booking-setup h2{margin:7px 0 22px;color:var(--ui-ink);font-size:24px;line-height:1.25;letter-spacing:-.4px}
.booking-setup h3{margin:0 0 16px;font-size:16px;color:var(--ui-ink)}
.bs-row{padding:18px 0 8px;border-bottom:1px solid var(--ui-border);margin-bottom:16px}
.bs-row-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;font-size:14px;color:var(--ui-ink)}
.bs-time{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}
.bs-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.booking-setup footer{margin-top:24px;padding-top:14px;border-top:1px solid var(--ui-border)}
.bs-error{display:block;color:var(--ui-red);font-size:12px;line-height:1.5;margin:5px 0 10px}
.booking-setup [aria-invalid=true]{border-color:var(--ui-red)}
.bs-assign{margin:0 0 12px;padding:0;border:0;display:grid;gap:12px;min-width:0}
.bs-assign legend{font-size:12px;color:var(--ui-primary-hover);margin-bottom:12px}
.bs-mode{margin-bottom:14px}
.bs-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:16px}
.bs-days label{position:relative;display:block;cursor:pointer;text-align:center}
.bs-days input{position:absolute;opacity:0;width:100%;height:100%;margin:0;inset:0;cursor:pointer}
.bs-days span{display:block;border:1px solid var(--ui-border);border-radius:8px;padding:12px 3px;font-size:13px;color:var(--ui-primary-hover);background:var(--ui-surface)}
.bs-days input:checked+span{border-color:var(--ui-primary);color:var(--ui-primary-hover);background:var(--ui-selected);font-weight:650}
.bs-days input:focus-visible+span{outline:2px solid var(--ui-primary);outline-offset:2px}
.bs-person-hours{margin:16px 0}
.bs-person-hours>div{margin-top:14px}
.bs-success{flex:none;margin-bottom:18px;padding:16px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:10px;color:var(--ui-ink);font-size:14px;line-height:1.5}
.bs-success .bs-actions{justify-content:flex-start;margin-top:12px}
.bs-link{box-sizing:border-box;width:100%;padding:10px;border:1px solid var(--ui-border);border-radius:8px;color:var(--ui-ink);background:var(--ui-surface);font:inherit}
@media(max-width:650px){.booking-setup{padding:4px 4px 16px}.booking-setup h2{font-size:21px;margin-bottom:14px}.bs-row{padding-top:12px}.bs-actions>.widget-primary{flex:1;min-height:46px}.bs-actions>button{min-height:44px!important}.bs-success .bs-actions{align-items:stretch}.bs-success .bs-actions>button{flex:1}.bs-time{gap:10px}.bs-days{gap:4px}.bs-mode button{padding:9px 6px}}

/* Service selection reuses the client service pane before the time picker. */
.bc-service-content[data-picking=true]{grid-template-columns:minmax(0,1fr)}
.bc-service-content[data-picking=true] .bc-service-main,.bc-service-content[data-picking=true] .bc-service-footer{grid-column:1}
.bc-service-sidebar[hidden]{display:none!important}
.bc-chosen-services{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;margin:6px 0 12px;font-size:12px;color:var(--ui-muted)}
.bc-chosen-services>span{min-width:0;overflow-wrap:anywhere}.bc-chosen-services>button{flex:none}
@media(max-width:700px){.bc-chosen-services{gap:8px;font-size:11px}.bc-chosen-services>button{font-size:11px!important}}

/* Compact administrative booking screens. Widget and customer editors retain their layout. */
.ba-workspace{grid-template-columns:224px minmax(0,1fr);gap:20px}
.ba-sidebar{padding:12px;border-radius:12px;align-self:start}
.ba-month{margin-bottom:14px}.ba-month header{margin-bottom:8px}
.ba-day-heading{margin-bottom:12px}.ba-day-heading h2{font-size:22px}
.ba-day-summary{padding:10px 0 8px}.ba-records{flex:0 1 auto}
.ba-empty{flex:none;min-height:0;padding:28px 16px}.ba-empty>svg{width:28px;height:28px;margin-bottom:10px}
.ba-empty h3{font-size:15px}.ba-records .booking-record{padding:12px 14px;gap:14px;border-radius:10px}
.ba-settings:not(.bw-settings){grid-template-columns:178px minmax(0,1fr);gap:20px}
.ba-settings-select{display:none}
.ba-settings:not(.bw-settings) .booking-settings-content{max-width:860px}
.ba-settings:not(.bw-settings) .booking-settings-nav button{font-size:12px;line-height:1.4;padding:9px 10px}
.ba-settings:not(.bw-settings) .ba-settings-card,.ba-settings:not(.bw-settings) .booking-client-brand-settings{padding:16px;box-shadow:none;margin-bottom:12px}
.ba-settings:not(.bw-settings) .ba-settings-card>header{margin-bottom:14px}
.ba-settings:not(.bw-settings) .booking-edit-list{gap:8px}
.ba-service-row{border:1px solid var(--ba-line);border-radius:11px;background:var(--ui-surface);min-width:0}
.ba-service-row>summary{display:flex;align-items:center;gap:12px;padding:14px;cursor:pointer;list-style:none}
.ba-service-row>summary::-webkit-details-marker{display:none}
.ba-service-row>summary::after{content:'⌄';font-size:18px;color:var(--ui-muted);flex:none}
.ba-service-row[open]>summary::after{transform:rotate(180deg)}
.ba-service-summary{flex:1;min-width:0}.ba-service-summary strong{display:block;font-size:14px;font-weight:600;color:var(--ui-primary-hover);overflow-wrap:anywhere}
.ba-service-summary small{display:block;margin-top:4px;font-size:12px;color:var(--ui-muted)}
.ba-service-row .ba-staff-state{flex:none;font-size:11px}
.ba-settings .ba-service-row>.booking-edit-row{border:0;border-top:1px solid var(--ba-line);border-radius:0 0 11px 11px;grid-template-columns:minmax(100px,1fr) 100px 100px auto 28px}
.ba-staff-editor{padding:14px}.ba-settings .booking-staff-heading{margin-bottom:14px}
.ba-editor-group{border-top:1px solid var(--ba-line);border-bottom:1px solid var(--ba-line);margin:0 0 16px}
.ba-editor-group>summary{padding:12px 0;cursor:pointer;color:var(--ui-primary-hover);font-size:12px;font-weight:550}
.ba-staff-permission{margin-bottom:10px;padding:10px;background:transparent}
.ba-booking-method{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px 18px;padding:14px 0}
.ba-booking-method+.ba-booking-method{border-top:1px solid var(--ba-line)}
.ba-booking-method h3{font-size:14px;margin:0 0 6px;color:var(--ui-primary-hover)}.ba-booking-method p{font-size:12px;color:var(--ui-muted);line-height:1.5;margin:0}
.ba-booking-method .bs-link,.ba-booking-method [role=status]{grid-column:1/-1}.ba-booking-method [role=status]:empty{display:none}
.ba-settings:not(.bw-settings) .booking-notification-row{padding:12px 14px}
.ba-settings:not(.bw-settings) .booking-field{margin-bottom:12px}
.ba-manual{width:100%;max-width:860px;min-height:0;overflow:auto;box-sizing:border-box;padding:0 2px 12px}
.ba-manual-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.ba-manual-heading h2{margin:0;font-size:20px;color:var(--ui-ink)}.ba-manual .booking-client-heading{display:none}
.ba-manual .booking-client-fields{gap:14px}.ba-manual .booking-slots{padding:14px}.ba-manual .booking-time-grid{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px}
@media(max-width:1050px){
 .ba-settings .ba-service-row>.booking-edit-row{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ba-service-row .booking-field:first-child{grid-column:1/-1}.ba-service-row .booking-delete{justify-self:end}
 .ba-service-row .booking-edit-row .booking-check{padding-top:0}
}
@media(max-width:700px){
 .ba-workspace{display:flex;min-height:0;gap:16px}.ba-sidebar{align-self:stretch;padding:10px 12px}
 .ba-month{margin-bottom:10px}#booking-screen .ba-days button{min-height:36px}
 .ba-day-heading{flex-wrap:wrap;gap:10px}.ba-day-heading h2{font-size:22px}.ba-day-actions{margin-left:auto;gap:6px}
 #booking-screen .ba-day-actions button{width:38px;height:40px;min-height:40px}
 #booking-screen .ba-day-actions #booking-add{width:auto;height:40px;padding:8px 12px;gap:6px;margin-left:0}
 .ba-day-actions #booking-add span{display:inline;font-size:12px}
 .ba-records .booking-record{padding:12px;gap:10px}.ba-records .booking-record-actions{margin-left:63px;flex-wrap:wrap}
 .ba-settings:not(.bw-settings){display:flex;min-height:0;gap:12px}
 .ba-settings:not(.bw-settings) .booking-settings-nav{display:none}
 .ba-settings-select{display:flex;margin:0!important}.ba-settings-select>span{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
 .ba-settings:not(.bw-settings) .booking-settings-content{max-width:none}
 .ba-settings:not(.bw-settings) .booking-field input,.ba-settings:not(.bw-settings) .booking-field select{font-size:16px;min-height:44px}
 .ba-settings:not(.bw-settings) .booking-form-grid{grid-template-columns:minmax(0,1fr);gap:0}
 .ba-settings .booking-section-heading{gap:10px;margin-bottom:12px}.ba-settings .booking-section-heading h2{font-size:18px;line-height:1.3}
 .ba-settings .booking-section-heading>button{min-height:44px;max-width:46%;font-size:12px}
 .ba-service-row>summary{padding:13px 12px;gap:8px}.ba-service-row .ba-staff-state{max-width:90px;text-align:right;font-size:11px}
 .ba-settings .booking-staff-heading{flex-wrap:wrap}.ba-settings .booking-staff-heading .booking-field{flex-basis:100%}
 .ba-booking-method{grid-template-columns:minmax(0,1fr);gap:12px}.ba-booking-method>button{justify-self:start;min-height:44px!important}
 .ba-settings:not(.bw-settings) .booking-notification-row{flex-wrap:wrap;gap:12px}
 .ba-manual-heading{align-items:flex-start;margin-bottom:14px}.ba-manual-heading h2{font-size:18px}
 .ba-manual .booking-client-fields{grid-template-columns:minmax(0,1fr);gap:0}
 .ba-manual .booking-field input,.ba-manual .booking-field select{font-size:16px;min-height:44px}
 .ba-manual .booking-slots{padding:12px}.ba-manual .booking-slots-heading{flex-wrap:wrap;gap:5px}
 .ba-manual .booking-time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Specialist editor: list stays compact; the dialog owns an isolated draft. */
#booking-screen .ba-staff-item{display:flex;align-items:center;gap:12px;width:100%;padding:14px;text-align:left;border:1px solid var(--ba-line);border-radius:11px;background:var(--ui-surface);color:var(--ui-primary-hover)}
.ba-staff-item-copy{flex:1;min-width:0}.ba-staff-item-copy strong{display:block;font-size:14px;font-weight:600;overflow-wrap:anywhere}.ba-staff-item-copy small{display:block;margin-top:5px;font-size:12px;font-weight:400;line-height:1.4;color:var(--ui-muted)}.ba-staff-item .ba-staff-state{flex:none;font-size:11px}
#booking-screen .ba-staff-item:hover{border-color:var(--ui-primary);background:var(--ui-surface)}
.bs-person-dialog{width:min(660px,calc(100% - 32px));max-height:calc(100dvh - 40px)}
.bs-person-dialog form{max-height:calc(100dvh - 42px)}
.bs-person-dialog .booking-dialog-body{padding:18px 24px;scroll-padding-block:16px;overflow-x:hidden}
.bs-person-basics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;margin-bottom:12px}.bs-person-basics>.booking-check{grid-column:1/-1;min-height:32px}
.bs-person-group{border-top:1px solid var(--ui-border)}.bs-person-group>summary{padding:14px 2px;color:var(--ui-primary-hover);font-size:14px;font-weight:550;cursor:pointer;line-height:1.4}.bs-person-group>div{padding:2px 2px 14px}
.bs-person-dialog .booking-staff-services{margin:0;gap:10px 18px}.bs-person-dialog .booking-check{min-height:32px}.bs-person-dialog .ba-staff-permission{padding:4px 0}
.bs-person-dialog .booking-dialog-body button{min-height:40px;padding:8px 12px;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface);color:var(--ui-primary-hover);font:550 12px/1.4 system-ui}
.bs-person-dialog .booking-dialog-body .bs-person-delete{color:var(--ui-muted);margin-top:18px;border-color:var(--ui-border)}
#booking-staff-status{margin:0;padding:0 24px 12px;color:var(--ui-muted);font-size:13px;line-height:1.5;flex:none}#booking-staff-status:empty{display:none}
.bs-person-dialog footer{background:var(--ui-surface);gap:10px}.bs-person-dialog footer button{min-height:44px}
@media(max-width:700px){
 .bs-person-dialog{position:fixed;inset:0;width:100%;max-width:none;height:var(--staff-height,100dvh);max-height:var(--staff-height,100dvh);top:var(--staff-top,0px);bottom:auto;margin:0;border:0;border-radius:0;box-sizing:border-box}
 .bs-person-dialog form{height:100%;max-height:100%;min-height:0}
 .bs-person-dialog header{padding:14px 16px;padding-top:max(14px,env(safe-area-inset-top));gap:12px}.bs-person-dialog h2{font-size:18px}
 .bs-person-dialog header button{width:44px;height:44px;min-height:44px}
 .bs-person-dialog .booking-dialog-body{flex:1;min-height:0;padding:16px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 .bs-person-basics{grid-template-columns:minmax(0,1fr);gap:0}.bs-person-dialog .booking-field input,.bs-person-dialog .booking-field select{min-height:44px;font-size:16px}
 .bs-person-group>summary{min-height:44px;box-sizing:border-box;padding:13px 0}.bs-person-dialog .booking-check{min-height:40px}
 .bs-person-dialog footer{padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom));flex:none}.bs-person-dialog footer button{flex:1;min-height:46px}
 #booking-staff-status{padding:0 16px 10px}.ba-staff-item .ba-staff-initial{width:34px;height:34px}.ba-staff-item .ba-staff-state{max-width:70px}
}

/* Services reuse the specialist modal, including its mobile keyboard layout. */
#booking-service-status{margin:0;padding:0 24px 12px;color:var(--ui-muted);font-size:13px;line-height:1.5;flex:none}#booking-service-status:empty{display:none}
.bs-service-people{margin:0 0 16px}.bs-service-people legend{font-size:12px;color:var(--ui-ink);font-weight:550}
.bs-service-people .booking-service-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px}
.bs-service-people .booking-check{min-width:0;align-items:flex-start;padding:6px 0}.bs-service-people .booking-check span{min-width:0;overflow-wrap:anywhere}
.ba-service-item .ba-staff-state{max-width:120px;overflow-wrap:anywhere;text-align:right}
@media(max-width:700px){
 #booking-service-status{padding:0 16px 10px}.bs-service-people .booking-service-people{grid-template-columns:minmax(0,1fr)}
 .bs-person-dialog .booking-service-staff{margin-bottom:16px}
}

#booking-screen .ba-service-item{box-sizing:border-box;min-width:0}.ba-service-item .ba-staff-item-copy small{overflow-wrap:anywhere}

/* Daily journal: date controls first, appointments take the available width. */
.bj-journal{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;color:var(--ui-ink)}
.bj-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;flex:none;min-width:0}
.bj-datebar{display:grid;grid-template-columns:36px minmax(140px,220px) 36px auto;gap:5px;align-items:start;min-width:0}
.bj-heading-actions{display:flex;gap:7px;align-items:center;flex:none}.bj-heading svg{width:17px;height:17px;flex:none}
#booking-screen .bj-heading button{display:flex;align-items:center;justify-content:center;min-height:38px;padding:8px;border-radius:8px}
#booking-screen .bj-heading #booking-add{gap:6px;padding:8px 12px;font-size:13px;white-space:nowrap}
#booking-screen .bj-heading #booking-agenda-today{width:auto;margin:0;padding:8px 10px;font-size:12px}
.bj-calendar{min-width:0}.bj-calendar>summary{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:7px;border:1px solid var(--ui-border);border-radius:8px;list-style:none;cursor:pointer;background:var(--ui-surface)}
.bj-calendar>summary::-webkit-details-marker{display:none}.bj-calendar>summary strong{font-size:15px;font-weight:600;white-space:nowrap}.bj-calendar>summary>span{font-size:11px;color:var(--ui-muted)}
.bj-calendar[open]>summary{border-color:var(--ui-primary);background:var(--ui-surface)}.bj-calendar-panel{box-sizing:border-box;width:280px;max-height:310px;overflow:auto;padding:12px;margin:8px 0 0;border:1px solid var(--ui-border);border-radius:11px;background:var(--ui-surface)}
.bj-calendar-panel header{margin-bottom:8px}.bj-calendar-panel .ba-days button{aspect-ratio:auto;min-height:32px}
.bj-toolbar{display:flex;align-items:center;gap:12px;flex:none;min-width:0}.bj-toolbar .ba-search{min-width:0;flex:1}.bj-staff-filter{min-width:0;flex:0 1 210px}
.bj-staff-filter select{box-sizing:border-box;width:100%;min-width:0;min-height:40px;border:1px solid var(--ui-border);border-radius:8px;padding:8px 10px;color:var(--ui-primary-hover);background:var(--ui-surface);font:400 13px/1.4 system-ui}
.bj-toolbar .booking-check{flex:none;white-space:nowrap;font-size:12px}.bj-count{padding:10px 0 8px;font-size:12px;color:var(--ui-muted);flex:none}
.bj-sr-only{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
.bj-columns,.bj-record{display:grid;grid-template-columns:68px minmax(120px,1fr) minmax(100px,150px) 112px 32px;gap:12px;align-items:center;padding:10px 12px}
.bj-columns{flex:none;border-bottom:1px solid var(--ui-border);color:var(--ui-muted);font-size:11px}.bj-records{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin}
.bj-record{position:relative;border-bottom:1px solid var(--ui-border);align-items:start;background:var(--ui-surface);min-width:0}.bj-record:last-child{border-bottom:0}.bj-record:hover{background:var(--ui-surface)}
.bj-time{display:flex;flex-direction:column;gap:3px;font-variant-numeric:tabular-nums}.bj-time strong{font-size:15px;font-weight:600;color:var(--ui-primary-hover)}.bj-time small{font-size:11px;color:var(--ui-muted)}
.bj-copy{display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}.bj-copy>span{color:var(--ui-muted);font-size:12px;line-height:1.4}
#booking-screen button.bj-client{min-height:24px;padding:0;border:0;background:transparent;box-shadow:none;text-align:left;font-size:14px;font-weight:600;line-height:1.4;color:var(--ui-ink);overflow-wrap:anywhere;min-width:0}
.bj-meta{display:contents}.bj-employee{font-size:12px;line-height:1.5;color:var(--ui-muted);overflow-wrap:anywhere;padding-top:3px}.bj-status{justify-self:start;margin-top:2px;padding:3px 7px;border-radius:5px;background:var(--ui-green-soft);color:var(--ui-green);font-size:10px;line-height:1.5;white-space:nowrap}
.bj-status[data-status=cancelled]{background:var(--ui-bg);color:var(--ui-muted)}.bj-record.is-cancelled .bj-time,.bj-record.is-cancelled .bj-copy{opacity:.65}
.bj-record-actions{min-width:0;align-self:start}.bj-record-actions>summary{display:flex;align-items:center;justify-content:center;cursor:pointer;list-style:none;width:32px;height:32px;border-radius:7px;font-size:22px;color:var(--ui-muted)}.bj-record-actions>summary::-webkit-details-marker{display:none}
.bj-record-actions>summary:hover{background:var(--ui-selected)}.bj-record-actions[open]{grid-column:1/-1}.bj-record-actions[open]>summary{position:absolute;right:12px;top:10px;background:var(--ui-selected)}
.bj-record-actions>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:3px 0 2px}#booking-screen .bj-record-actions button{font-size:12px;min-height:36px;padding:7px 10px}#booking-screen .bj-record-actions [data-cancel]{color:var(--ui-muted);border-color:var(--ui-border)}
.bj-empty{margin:8px 0;padding:14px;border-radius:9px;background:var(--ui-surface);color:var(--ui-muted);font-size:13px;line-height:1.5}
.bj-specialist-tools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;flex:none}.bj-detail-text{white-space:pre-wrap;overflow-wrap:anywhere}
#booking-screen .bj-calendar>summary:focus-visible,#booking-screen .bj-record-actions>summary:focus-visible{outline:2px solid var(--ui-primary);outline-offset:2px}
@media(max-width:760px){
 .bj-heading{flex-wrap:wrap;gap:8px}.bj-datebar{width:100%;grid-template-columns:36px minmax(0,1fr) 36px 64px;gap:4px}.bj-heading-actions{margin-left:auto}
 #booking-screen .bj-heading button{min-height:40px}.bj-calendar>summary{min-height:40px;padding:5px;gap:5px}.bj-calendar>summary strong{font-size:14px}.bj-calendar>summary>span{display:none}
 .bj-calendar-panel{width:min(280px,calc(100vw - 56px));margin-left:-40px}#booking-screen .bj-calendar-panel .ba-days button{min-height:36px}
 .bj-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.bj-toolbar .ba-search{grid-column:1/-1}.bj-toolbar .ba-search input,.bj-staff-filter select{font-size:16px;min-height:42px}.bj-toolbar .booking-check{font-size:11px}
 .bj-columns{display:none}.bj-record{grid-template-columns:55px minmax(0,1fr) 32px;gap:5px 10px;padding:12px 4px}.bj-time{grid-column:1;grid-row:1/3}.bj-copy{grid-column:2;grid-row:1}
 .bj-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;grid-column:2;grid-row:2;min-width:0}.bj-employee{font-size:11px;padding:0}.bj-status{margin:0;font-size:10px}
 .bj-record-actions{grid-column:3;grid-row:1}.bj-record-actions>summary{height:38px}.bj-record-actions[open]{grid-column:1/-1;grid-row:3}.bj-record-actions[open]>summary{right:4px;top:12px}
 #booking-screen .bj-record-actions button{min-height:40px}.bj-empty{font-size:12px;padding:12px}.bj-count{padding:10px 0 3px}
}
@media(max-width:700px){.bj-journal{flex:none;min-height:0}.bj-records{flex:none;overflow:visible}}
.bj-calendar>summary strong{min-width:0;overflow:hidden;text-overflow:ellipsis}
@media(max-width:380px){.bj-calendar>summary>svg{display:none}.bj-calendar>summary strong{font-size:13px}}

/* Top-layer calendar, anchored without moving the journal. */
.bj-date-popover{position:fixed;inset:auto;margin:0;box-sizing:border-box;width:304px;max-width:calc(100vw - 16px);max-height:var(--calendar-height,calc(100dvh - 16px));padding:14px;border:1px solid var(--ui-border);border-radius:13px;background:var(--ui-surface);color:var(--ui-ink);box-shadow:0 12px 40px var(--ui-ink-a24);overflow:auto}
.bj-date-popover::backdrop{background:transparent}.bj-date-popover .ba-month{margin:0}.bj-date-popover .ba-month header{gap:10px;margin-bottom:8px}.bj-date-popover header strong{font:600 14px/1.4 system-ui;text-transform:capitalize}
.bj-date-popover button{font:400 13px/1 system-ui;border:0;border-radius:7px;background:var(--ui-surface);color:var(--ui-primary-hover);min-height:36px;cursor:pointer}.bj-date-popover header button{width:36px;font-size:25px}.bj-date-popover .ba-days button{width:100%;aspect-ratio:auto;min-height:36px}.bj-date-popover .ba-days [data-outside=true]{color:var(--ui-muted)}.bj-date-popover .ba-days [aria-pressed=true]{color:var(--ui-surface);background:var(--ui-primary)}.bj-date-popover button:hover{background:var(--ui-selected)}.bj-date-popover .ba-days [aria-current=date]{box-shadow:inset 0 0 0 1px var(--ui-primary)}.bj-date-popover button:focus-visible{outline:2px solid var(--ui-primary);outline-offset:1px}
#booking-screen .bj-heading .bj-date-button{min-width:0;display:flex;gap:6px;font-size:14px;padding:7px 9px;white-space:nowrap}.bj-date-button strong{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:14px;font-weight:600}.bj-date-button>span{font-size:11px;color:var(--ui-muted)}
.bj-toolbar{display:flex;align-items:center;justify-content:flex-start;gap:8px}.bj-toolbar .ba-search{flex:0 1 320px}.bj-toolbar .ba-search input{font-size:13px;min-height:36px;padding:6px 0}.bj-toolbar .ba-search svg{width:15px}
#booking-screen #booking-agenda-filter-toggle{font-size:12px;min-height:36px;padding:7px 10px;display:flex;gap:6px;align-items:center}
#booking-agenda-filter-count:empty{display:none}#booking-agenda-filter-count{font-size:10px;min-width:17px;padding:2px;border-radius:5px;color:var(--ui-primary-hover);background:var(--ui-selected)}
.bj-filter-panel{display:flex;align-items:center;gap:14px;padding:10px 0 4px;flex:none}.bj-filter-panel[hidden]{display:none}.bj-filter-panel .bj-staff-filter{flex:0 1 220px}.bj-filter-panel .booking-check{white-space:nowrap;font-size:12px}
.bj-count{padding:6px 0 3px;font-size:11px}.bj-count:has([hidden]){display:none}
.bj-record{grid-template-columns:64px minmax(130px,1fr) minmax(90px,150px) 32px;gap:12px;padding:11px 10px}.bj-meta{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.bj-time strong{font-size:14px}.bj-employee{padding:0;font-size:12px}.bj-status{font-size:10px;margin:0}.bj-record-actions{grid-column:4}
.bj-record-actions[open]{grid-column:1/-1}.bj-empty{padding:10px 0;background:transparent;margin:4px 0;font-size:13px}.bj-records{margin-top:4px}
/* Manual booking uses the existing modal controls in a narrow desktop side sheet. */
.bj-entry-dialog{position:fixed;inset:0;width:min(600px,calc(100% - 32px));height:fit-content;max-height:calc(100dvh - 32px);margin:auto;border-radius:14px}
.bj-entry-dialog form{height:auto;max-height:calc(100dvh - 34px);min-height:0}.bj-entry-dialog .booking-dialog-body{flex:1;min-height:0;padding:18px 20px}.bj-entry-dialog header{padding:18px 20px}.bj-entry-dialog h2{font-size:20px}.bj-entry-dialog footer{padding:12px 20px}
.bj-entry-selects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.bj-entry-dialog .booking-field{margin-bottom:12px;font-size:12px}.bj-entry-dialog h3{font-size:13px;font-weight:600;color:var(--ui-primary-hover);margin:0 0 12px}.bj-entry-time{margin:2px 0 18px}.bj-entry-time-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.bj-entry-time-heading h3{margin:0}.bj-entry-time-heading input{box-sizing:border-box;width:155px;max-width:60%;min-width:0;min-height:38px;padding:7px 9px;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface);color:var(--ui-primary-hover);font:400 13px/1.4 system-ui}
.bj-entry-slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.bs-person-dialog .booking-dialog-body .bj-entry-slot-grid button{box-sizing:border-box;min-width:0;min-height:38px;padding:7px 4px;border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-primary-hover);font-size:13px;font-variant-numeric:tabular-nums}
.bs-person-dialog .booking-dialog-body .bj-entry-slot-grid button[aria-pressed=true]{border-color:var(--ui-primary);background:var(--ui-selected);color:var(--ui-primary-hover);box-shadow:inset 0 0 0 1px var(--ui-primary)}
.bs-person-dialog .booking-dialog-body .bj-entry-slot-grid button:disabled{background:var(--ui-surface);color:var(--ui-muted);border-color:var(--ui-border);opacity:1;text-decoration:line-through}
.bj-entry-slot-grid small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:10px;color:var(--ui-muted)}
.bj-entry-customer{border-top:1px solid var(--ui-border);padding-top:16px}.bj-entry-customer[hidden]{display:none}.bj-entry-customer details>summary{font-size:12px;color:var(--ui-muted);cursor:pointer;padding:6px 0}.bj-entry-customer textarea{box-sizing:border-box;width:100%;min-width:0;resize:vertical;border:1px solid var(--ui-border);border-radius:8px;padding:8px;font:400 14px/1.4 system-ui;color:var(--ui-primary-hover)}
.bj-entry-summary{margin:14px 0 0;font-size:12px;line-height:1.5;color:var(--ui-muted);overflow-wrap:anywhere}
#booking-entry-status{margin:0;padding:0 20px 12px;color:var(--ui-muted);font-size:12px;line-height:1.5;flex:none}#booking-entry-status:empty{display:none}
.bj-entry-dialog .booking-pager{gap:10px;margin-top:8px;font-size:11px}
@media(max-width:760px){
 .bj-toolbar{display:flex;gap:7px}.bj-toolbar .ba-search{flex:1;min-width:0}.bj-toolbar .ba-search input{font-size:16px;min-height:40px}.bj-filter-panel{gap:10px}.bj-filter-panel .bj-staff-filter{flex:1}.bj-filter-panel select{min-height:40px;font-size:16px}.bj-filter-panel .booking-check{font-size:11px}
 .bj-record{grid-template-columns:52px minmax(0,1fr) 32px;gap:5px 9px;padding:11px 2px}.bj-meta{display:flex;flex-direction:row;flex-wrap:wrap;grid-column:2;grid-row:2;gap:3px 7px}.bj-record-actions{grid-column:3}.bj-record-actions[open]{grid-column:1/-1}.bj-employee{font-size:11px}
 #booking-screen .bj-heading .bj-date-button{padding:6px 4px}.bj-date-button>span{display:none}
}
@media(max-width:700px){
 .bj-entry-dialog{inset:0;width:100%;height:var(--staff-height,100dvh);max-height:var(--staff-height,100dvh);top:var(--staff-top,0px);bottom:auto;border-radius:0}
 .bj-entry-dialog header{padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top))}.bj-entry-dialog .booking-dialog-body{padding:16px}.bj-entry-dialog footer{padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom))}
 .bj-entry-dialog h2{font-size:18px}.bj-entry-time-heading input{font-size:16px;min-height:42px}.bj-entry-customer textarea{font-size:16px}#booking-entry-status{padding:0 16px 10px}
 .bj-entry-dialog footer .widget-primary{font-size:13px;padding:10px 12px;flex:2}.bj-entry-dialog footer>button:first-child{flex:1}
}
@media(max-width:380px){#booking-screen .bj-date-button>svg{display:none}.bj-date-button strong{font-size:13px}}

.bj-date-popover{overscroll-behavior:contain}
@media(max-width:700px){.bs-person-dialog .booking-dialog-body .bj-entry-slot-grid button{min-height:40px}}

/* One journal toolbar; secondary controls live in the top layer. */
.bj-heading{align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.bj-datebar{grid-template-columns:34px minmax(125px,auto) 34px auto;align-items:center;width:auto;gap:4px}.bj-heading-actions{margin-left:auto;gap:5px}
#booking-screen .bj-heading button{min-height:38px}.bj-icon-button{position:relative;width:38px;flex:none}#booking-screen .bj-heading #booking-agenda-filter-toggle{padding:8px;min-height:38px;font-size:12px;gap:0}
#booking-screen .bj-heading #booking-add{font-size:12px;min-height:38px;padding:8px 11px}.bj-icon-button[data-active=true]{color:var(--ui-primary-hover);background:var(--ui-selected);border-color:var(--ui-primary)}.bj-icon-button[data-active=true]::after{content:'';position:absolute;right:5px;top:5px;width:5px;height:5px;border-radius:50%;background:var(--ui-primary)}
#booking-agenda-filter-count{position:absolute;right:-3px;top:-4px;min-width:15px;box-sizing:border-box;text-align:center;background:var(--ui-primary);color:var(--ui-surface);border:2px solid var(--ui-surface);font-size:9px;line-height:12px;padding:0 2px}
.bj-sync{font-size:11px;color:var(--ui-muted);margin:6px 0;flex:none}.bj-sync:empty{display:none}
.bj-record{grid-template-columns:56px minmax(0,1fr) 34px;gap:12px;padding:12px 8px;align-items:center;cursor:pointer;min-height:66px;box-sizing:border-box}.bj-time{grid-column:1;grid-row:1;gap:3px}.bj-copy{grid-column:2;grid-row:1;gap:3px}.bj-client{font-size:14px;line-height:1.4;font-weight:600;color:var(--ui-ink)}.bj-copy>span{font-size:12px;color:var(--ui-muted);line-height:1.45;overflow-wrap:anywhere}.bj-cancelled-label{font-size:10px;color:var(--ui-muted);line-height:1.3}
#booking-screen .bj-record .bj-more{grid-column:3;grid-row:1;align-self:center;width:34px;min-height:38px;padding:0;border:0;background:transparent;color:var(--ui-muted);font-size:23px;border-radius:8px}.bj-record:focus-visible{outline:2px solid var(--ui-primary);outline-offset:-2px}.bj-record:hover,.bj-record:focus-visible{background:var(--ui-surface)}#booking-screen .bj-record .bj-more:hover{background:var(--ui-selected)}
.bj-popover{position:fixed;inset:auto;margin:0;padding:12px;box-sizing:border-box;width:310px;max-width:calc(100vw - 16px);max-height:var(--popup-height,calc(100dvh - 16px));border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface);color:var(--ui-primary-hover);box-shadow:0 10px 35px var(--ui-ink-a24);overflow:auto;overscroll-behavior:contain;font:400 13px/1.45 system-ui}
.bj-popover::backdrop{background:transparent}.bj-popover header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.bj-popover header strong{font-size:13px;font-weight:600}.bj-popover button{box-sizing:border-box;min-height:38px;min-width:34px;padding:7px 10px;font:500 13px/1.4 system-ui;border:0;border-radius:7px;background:var(--ui-surface);color:var(--ui-primary-hover);cursor:pointer}.bj-popover button:hover{background:var(--ui-selected)}.bj-popover button:focus-visible{outline:2px solid var(--ui-primary);outline-offset:-2px}.bj-popover header button{font-size:21px;padding:2px;line-height:1}
.bj-popup-field{display:flex;flex-direction:column;gap:6px;margin:8px 0 10px;font-size:12px}.bj-popup-field select{min-width:0;width:100%;box-sizing:border-box;border:1px solid var(--ui-border);border-radius:8px;padding:9px;font:400 14px system-ui;color:var(--ui-primary-hover);background:var(--ui-surface)}.bj-filters-popover .booking-check{font-size:13px;min-height:38px;display:flex;align-items:center;gap:8px}.bj-filters-popover .bj-reset{color:var(--ui-primary-hover);margin-top:8px;padding-left:0}
.bj-search-popover{width:380px;padding:8px}.bj-search-line{display:flex;align-items:center;gap:2px}.bj-search-line input{box-sizing:border-box;min-width:0;flex:1;border:0;background:var(--ui-surface);min-height:40px;font:400 15px system-ui;padding:8px;color:var(--ui-primary-hover)}.bj-search-line input::-webkit-search-cancel-button{display:none}.bj-search-line button:last-child{color:var(--ui-primary-hover);font-size:12px}
.bj-actions-popover{width:170px;padding:5px}.bj-actions-popover button{display:block;width:100%;text-align:left;min-height:40px}.bj-actions-popover .bj-danger{color:var(--ui-muted)}
.bs-person-dialog .booking-dialog-body button.bj-choice{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:48px;padding:9px 12px;text-align:left;font-size:14px;font-weight:400;color:var(--ui-primary-hover)}.bj-choice>span:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}.bj-choice strong{font-weight:500;overflow-wrap:anywhere}.bj-choice small{font-size:11px;line-height:1.4;color:var(--ui-muted)}.bj-choice:focus-visible{outline:2px solid var(--ui-primary);outline-offset:1px}
.bj-options-popover{width:420px;padding:8px}.bj-options-popover header{padding-left:6px;margin:0 0 5px}.bj-options-popover [role=listbox]{display:flex;flex-direction:column;gap:2px}.bj-options-popover [role=option]{display:flex;width:100%;text-align:left;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:9px 10px}.bj-options-popover [role=option]>span:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}.bj-options-popover [role=option] strong{font-size:13px;font-weight:500;overflow-wrap:anywhere}.bj-options-popover [role=option] small{font-size:11px;color:var(--ui-muted);font-weight:400}.bj-options-popover [aria-selected=true]{background:var(--ui-selected);color:var(--ui-primary-hover)}
@media(max-width:760px){.bj-datebar{width:auto;grid-template-columns:32px minmax(115px,auto) 32px auto}.bj-heading-actions{margin-left:auto}.bj-record{grid-template-columns:49px minmax(0,1fr) 34px;gap:9px;padding:11px 2px}.bj-copy{grid-row:1}.bj-client{font-size:13px}.bj-copy>span{font-size:11px}.bj-time strong{font-size:13px}.bj-heading .bj-date-button>span{display:none}}
@media(max-width:700px){.bj-popup-field select,.bj-search-line input{font-size:16px}.bj-popover button{min-height:42px}.bj-options-popover [role=option]{min-height:50px}.bj-options-popover [role=option] strong{font-size:14px}.bs-person-dialog .booking-dialog-body button.bj-choice{min-height:50px;font-size:15px}}
@media(max-width:420px){.bj-datebar{grid-template-columns:30px minmax(115px,1fr) 30px auto;width:100%}.bj-heading{gap:6px}.bj-heading-actions{margin-left:auto}.bj-heading-actions #booking-add{min-width:0}}

/* Journal polish: internal focus rings never collide with neighbouring cells. */
#booking-agenda-calendar{padding:12px;border-radius:11px;box-shadow:0 8px 28px var(--ui-ink-a1c)}
#booking-agenda-calendar .ba-days{gap:4px;padding:2px;box-sizing:border-box}
#booking-agenda-calendar button{box-sizing:border-box;margin:0;padding:0;box-shadow:none;outline-offset:-3px}
#booking-agenda-calendar .ba-days button{min-width:0;min-height:34px;border-radius:6px;font-size:12px;position:relative}
#booking-agenda-calendar button:focus-visible{outline:2px solid var(--ui-primary);outline-offset:-3px;box-shadow:none}
#booking-agenda-calendar .ba-days button[aria-current=date]{box-shadow:none;font-weight:600}
#booking-agenda-calendar .ba-days button[aria-current=date]::after{content:'';position:absolute;bottom:3px;left:calc(50% - 1.5px);width:3px;height:3px;border-radius:50%;background:currentColor}
#booking-agenda-calendar .ba-days button[aria-pressed=true]{background:var(--ui-primary);color:var(--ui-surface);box-shadow:none}
#booking-agenda-calendar .ba-days button[aria-pressed=true]:hover{background:var(--ui-primary)}
#booking-agenda-calendar .ba-days button[aria-pressed=true]:focus-visible{outline-color:var(--ui-surface)}
#booking-journal-tools{flex:1;min-width:0;justify-content:flex-end}
.bj-inline-search{display:flex;align-items:center;flex:1 1 150px;min-width:100px;max-width:320px;height:36px;box-sizing:border-box;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface);gap:0;overflow:hidden}
.bj-inline-search[hidden]{display:none}.bj-inline-search:focus-within{border-color:var(--ui-primary)}
.bj-inline-search input{box-sizing:border-box;flex:1;min-width:0;width:100%;height:34px;padding:6px 9px;border:0;background:transparent;color:var(--ui-primary-hover);font:400 13px system-ui;outline:none;box-shadow:none}
.bj-inline-search input::-webkit-search-cancel-button{display:none}
#booking-screen .bj-inline-search button{flex:none;min-width:28px;width:28px;min-height:30px;height:30px;padding:4px;border:0;background:transparent;color:var(--ui-muted);border-radius:5px;font-size:17px}
#booking-screen .bj-inline-search button:hover{background:var(--ui-selected);color:var(--ui-primary-hover)}
#booking-screen .bj-inline-search button:focus-visible,#booking-screen .bj-heading button:focus-visible{outline:2px solid var(--ui-primary);outline-offset:-3px}
#booking-journal-tools.is-searching #booking-agenda-search-toggle{display:none}
.bj-record{grid-template-columns:56px minmax(0,1fr) auto;cursor:default}
.bj-record:hover{background:var(--ui-surface)}.bj-record.is-cancelled:hover{background:var(--ui-surface)}
.bj-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:3px;grid-column:3;grid-row:1;flex:none;align-self:center}
#booking-screen .bj-row-actions button{min-height:32px;padding:6px 8px;border:0;background:transparent;border-radius:6px;color:var(--ui-primary-hover);font-size:12px;font-weight:500;line-height:1.4;white-space:nowrap;box-shadow:none}
#booking-screen .bj-row-actions [data-cancel]{color:var(--ui-muted)}
#booking-screen .bj-row-actions button:hover{background:var(--ui-selected);color:var(--ui-primary-hover)}
#booking-screen .bj-row-actions [data-cancel]:hover{background:var(--ui-surface);color:var(--ui-red)}
#booking-screen .bj-row-actions button:focus-visible{outline:2px solid var(--ui-primary);outline-offset:-2px}
#booking-screen .bj-row-actions button:disabled{opacity:.45;cursor:default;background:transparent}
#booking-entry-options{width:360px;padding:6px;border-radius:10px;box-shadow:0 8px 26px var(--ui-ink-a1c)}
#booking-entry-options header{padding:0 4px;margin:0 0 3px;gap:8px}
#booking-entry-options header strong{font-size:12px;font-weight:500;color:var(--ui-muted)}
#booking-entry-options header button{min-height:30px;height:30px;min-width:30px;width:30px;font-size:19px}
#booking-entry-options [role=listbox]{gap:1px;padding:2px}
#booking-entry-options [role=option]{min-height:38px;padding:6px 8px;gap:8px;border:0;border-radius:6px;background:var(--ui-surface);box-shadow:none;outline-offset:-2px}
#booking-entry-options [role=option]>span:first-child{gap:1px}
#booking-entry-options [role=option] strong{font-size:13px;line-height:1.35;font-weight:500}
#booking-entry-options [role=option] small{font-size:11px;line-height:1.35;font-weight:400;color:var(--ui-muted)}

#booking-entry-options [role=option][aria-selected=true]{background:var(--ui-selected);color:var(--ui-primary-hover)}
#booking-entry-options button:focus-visible{outline:2px solid var(--ui-primary);outline-offset:-2px;box-shadow:none}
#booking-entry-options button:disabled{opacity:.45;cursor:default;background:transparent}
.bs-person-dialog .booking-dialog-body button.bj-choice{min-height:42px;padding:7px 10px;border-color:var(--ui-border);font-size:13px;box-shadow:none}
.bs-person-dialog .booking-dialog-body button.bj-choice:focus-visible{outline:2px solid var(--ui-primary);outline-offset:-2px}
@media(max-width:700px){
 #booking-journal-tools{flex:1 1 auto}.bj-inline-search{height:40px;max-width:none}.bj-inline-search input{font-size:16px;height:38px}
 #booking-journal-tools.is-searching #booking-add{width:38px;min-height:38px;padding:8px}#booking-journal-tools.is-searching #booking-add span{display:none}
 .bj-record{grid-template-columns:49px minmax(0,1fr) auto;gap:8px}.bj-row-actions{flex-direction:column;align-items:stretch;gap:0}
 #booking-screen .bj-row-actions button{min-height:32px;padding:6px;font-size:11px;text-align:right}
 #booking-entry-options [role=option]{min-height:44px;padding:7px 8px}#booking-entry-options [role=option] strong{font-size:13px}
 .bs-person-dialog .booking-dialog-body button.bj-choice{min-height:44px;font-size:14px;padding:7px 10px}
}

/* Calm journal surfaces and two clearly separated participants. */
.bj-records{padding:2px;box-sizing:border-box}.bj-record{grid-template-columns:54px minmax(0,1fr) auto;gap:14px;margin:0 0 7px;padding:12px 14px;min-height:78px;border:1px solid var(--ui-border);border-left:3px solid var(--ui-border);border-radius:10px;background:var(--ui-surface)}
.bj-record:last-child{border-bottom:1px solid var(--ui-border)}.bj-record:hover{background:var(--ui-surface)}.bj-record.is-cancelled{border-left-color:var(--ui-border);background:var(--ui-surface)}.bj-record.is-cancelled:hover{background:var(--ui-surface)}
.bj-time{align-self:start;padding-top:4px;gap:5px}.bj-time strong{font-size:15px;color:var(--ui-primary-hover)}.bj-time small{font-size:11px;color:var(--ui-muted)}
.bj-copy{gap:5px}.bj-participants{display:flex;align-items:center;flex-wrap:wrap;gap:7px 10px;min-width:0}.bj-person{display:flex;align-items:center;gap:8px;min-width:0;max-width:100%}.bj-customer{flex:0 1 auto;max-width:300px}.bj-assignee{flex:0 1 auto;max-width:260px;font-size:12px;color:var(--ui-primary-hover)}.bj-person>strong,.bj-person>span:not(.bj-avatar){min-width:0;overflow-wrap:anywhere;line-height:1.4}.bj-assigned-label{color:var(--ui-muted);font-size:10px;white-space:nowrap;line-height:1.4}
.bj-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;border-radius:50%;overflow:hidden;font:600 10px/1 system-ui;background:var(--ui-selected);color:var(--ui-muted)}.bj-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}.bj-avatar-staff{background:var(--ui-bg);color:var(--ui-muted);width:26px;height:26px}.bj-avatar-client{border:1px solid var(--ui-border);box-sizing:border-box}.bj-copy>.bj-record-service{font-size:12px;color:var(--ui-muted);line-height:1.4;margin-left:36px}
.bj-row-actions{gap:6px}#booking-screen .bj-row-actions button{min-height:34px;padding:7px 10px;border:1px solid var(--ui-border);background:var(--ui-selected);border-radius:7px;color:var(--ui-primary-hover);font-size:12px;font-weight:550}
#booking-screen .bj-row-actions [data-cancel]{border-color:var(--ui-border);background:var(--ui-surface);color:var(--ui-muted)}#booking-screen .bj-row-actions button:hover{background:var(--ui-selected);border-color:var(--ui-primary);color:var(--ui-primary-hover)}#booking-screen .bj-row-actions [data-cancel]:hover{background:var(--ui-red-soft);border-color:var(--ui-border);color:var(--ui-red)}
#booking-screen .bj-row-actions button:focus-visible{outline:2px solid var(--ui-primary);outline-offset:-3px}#booking-screen .bj-row-actions button:disabled{background:var(--ui-bg);border-color:var(--ui-border);color:var(--ui-muted);opacity:1;cursor:default}
#booking-screen .bj-heading button{min-height:38px;border-color:var(--ui-border);border-radius:8px;font-weight:500}#booking-screen .bj-heading #booking-add{background:var(--ui-primary);font-weight:600;font-size:12px}#booking-screen .bj-heading #booking-add:hover{background:var(--ui-primary)}.bj-datebar{gap:4px}.bj-inline-search{border-color:var(--ui-border);background:var(--ui-surface)}
#booking-agenda-calendar .ba-days button{height:34px;line-height:1;box-shadow:none;outline-offset:-3px}#booking-agenda-calendar .ba-weekdays{margin-bottom:5px}#booking-agenda-calendar .ba-month header{margin-bottom:6px}
.bj-entry-dialog .booking-dialog-body{padding:16px 18px}.bj-entry-dialog .booking-field{margin-bottom:11px;gap:5px}.bj-entry-dialog h3{margin-bottom:9px;font-size:12px}.bj-entry-time{margin-bottom:14px}.bj-entry-customer{padding-top:13px}.bj-entry-current{margin:0 0 12px;padding:8px 10px;border-radius:7px;background:var(--ui-selected);color:var(--ui-muted);font-size:12px;line-height:1.45}
.bs-person-dialog.bj-entry-dialog .booking-dialog-body .bj-choice{min-height:40px;padding:6px 9px;border-radius:7px}.bj-choice small{font-size:10px}.bs-person-dialog.bj-entry-dialog .booking-dialog-body .bj-entry-slot-grid button{min-height:36px;padding:6px 4px;border-radius:7px;font-size:12px}.bs-person-dialog.bj-entry-dialog .booking-dialog-body .bj-entry-slot-grid button[aria-pressed=true]{background:var(--ui-selected);border-color:var(--ui-primary);color:var(--ui-primary-hover);box-shadow:inset 0 0 0 1px var(--ui-primary)}
.bj-entry-dialog .booking-field input:focus,.bj-entry-dialog .booking-field textarea:focus{box-shadow:none;border-color:var(--ui-primary);outline:2px solid var(--ui-primary);outline-offset:-2px}.bj-entry-dialog .bj-entry-time-heading input:focus-visible{outline:2px solid var(--ui-primary);outline-offset:-2px}
#booking-entry-options{padding:5px;width:340px}#booking-entry-options [role=listbox]{padding:2px;gap:1px}#booking-entry-options [role=option]{padding:5px 8px;min-height:36px;border-radius:6px}#booking-entry-options [role=option][aria-selected=true]{background:var(--ui-selected);color:var(--ui-primary-hover)}#booking-entry-options [role=option] strong{font-size:12px}#booking-entry-options [role=option] small{font-size:10px}
@media(max-width:900px){#booking-journal-tools.is-searching #booking-add{width:38px;padding:8px}#booking-journal-tools.is-searching #booking-add span{display:none}.bj-participants{gap:6px 8px}.bj-customer,.bj-assignee{max-width:100%}}
@media(max-width:700px){
 .bj-heading{gap:7px}.bj-datebar{width:100%;grid-template-columns:32px minmax(0,1fr) 32px auto}#booking-journal-tools{flex-basis:100%;width:100%;min-width:0}.bj-inline-search{flex:1;max-width:none}
 .bj-record{grid-template-columns:44px minmax(0,1fr);gap:8px 10px;padding:11px 10px;margin-bottom:7px;border-radius:9px}.bj-time{grid-column:1;grid-row:1/3;padding-top:3px}.bj-time strong{font-size:14px}.bj-copy{grid-column:2;grid-row:1;gap:5px}
 .bj-participants{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 6px}.bj-customer{grid-column:1/-1}.bj-assigned-label{grid-column:1;font-size:9px}.bj-assignee{grid-column:2;font-size:11px;gap:6px}.bj-avatar-staff{width:22px;height:22px;font-size:9px}.bj-avatar-client{width:26px;height:26px}.bj-client{font-size:13px}.bj-copy>.bj-record-service{margin-left:0;font-size:11px}
 .bj-row-actions{grid-column:2;grid-row:2;flex-direction:row;justify-content:flex-start;gap:6px;flex-wrap:wrap}#booking-screen .bj-row-actions button{min-height:32px;font-size:11px;padding:6px 10px;text-align:center}
 .bj-entry-dialog .booking-dialog-body{padding:14px 16px}.bs-person-dialog.bj-entry-dialog .booking-dialog-body .bj-choice{min-height:44px;font-size:14px}.bs-person-dialog.bj-entry-dialog .booking-dialog-body .bj-entry-slot-grid button{min-height:40px;font-size:13px}
 #booking-entry-options [role=option]{min-height:44px;padding:6px 8px}#booking-entry-options [role=option] strong{font-size:13px}#booking-entry-options [role=option] small{font-size:11px}
}

/* Search owns a stable toolbar zone; focus never removes its trigger. */
.bj-search-area{display:flex;align-items:center;flex:1 1 220px;min-width:38px;max-width:360px;gap:5px;min-height:38px}
#booking-screen #booking-journal-tools #booking-agenda-search-toggle{display:flex;flex:none}
.bj-search-area .bj-inline-search{flex:1;min-width:0;max-width:none;animation:bj-search-reveal .14s ease-out}
.bj-search-area .bj-inline-search[hidden]{display:none}
@keyframes bj-search-reveal{from{opacity:0;transform:translateX(-3px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.bj-search-area .bj-inline-search{animation:none}}
/* Aligned client, service and specialist zones, without a linking label. */
.bj-record{grid-template-columns:50px minmax(0,1fr) 174px;gap:12px;padding:11px 12px;min-height:76px;border-color:var(--ui-border);border-left-color:var(--staff-color,var(--ui-primary));background:var(--ui-surface);margin-bottom:7px}
.bj-record:hover{background:var(--ui-surface)}
.bj-record.is-cancelled,.bj-record.is-cancelled:hover{background:var(--ui-surface);border-left-color:var(--ui-border)}
.bj-copy{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr);gap:6px 14px;align-items:center}
.bj-customer{grid-column:1;grid-row:1;min-width:0;max-width:none}
.bj-assignee{grid-column:3;grid-row:1;min-width:0;max-width:none}
.bj-copy>.bj-record-service{grid-column:2;grid-row:1;margin:0;font-size:12px;line-height:1.45;color:var(--ui-muted);overflow-wrap:anywhere}
.bj-client-info,.bj-staff-info{display:flex;flex-direction:column;gap:2px;min-width:0}
.bj-client{display:block;font-size:13px;overflow-wrap:anywhere;line-height:1.4}
.bj-client-contact{font-size:11px;font-weight:400;line-height:1.4;color:var(--ui-muted);overflow-wrap:anywhere;text-decoration:none}
.bj-client-contact[href]:hover{color:var(--ui-primary-hover);text-decoration:underline}
.bj-client-contact[href]:focus-visible{outline:2px solid var(--ui-primary);outline-offset:1px;border-radius:2px}
.bj-staff-info small{font-size:10px;color:var(--ui-muted);line-height:1.3}
.bj-staff-info>span{font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.bj-avatar-staff{width:30px;height:30px;background:var(--ui-selected);box-shadow:none;border:0}
.bj-avatar-client{background:var(--ui-selected);color:var(--ui-muted);border:0}
.bj-avatar .bc-avatar-fallback{position:absolute;inset:0}
.bj-avatar img{z-index:1}.bj-avatar img[hidden]{display:none}
.ba-staff-item .bj-avatar-staff{width:36px;height:36px}
.bj-time{box-sizing:border-box;background:var(--ui-selected);border-radius:7px;padding:6px 3px;text-align:center;align-items:center;align-self:center}
.bj-cancelled-label{grid-column:1/-1;color:var(--ui-muted);font-size:10px;line-height:1.3}
.bj-records{margin-top:0}.bj-heading{margin-bottom:6px}
/* Rescheduling changes contact only when the existing disclosure is used. */
.bj-entry-current{padding:8px 10px;margin-bottom:11px}
.bj-entry-current strong{display:block;font-size:13px;line-height:1.4;color:var(--ui-primary-hover);font-weight:600;overflow-wrap:anywhere}
.bj-entry-current>span{display:block;margin-top:2px;font-size:11px;color:var(--ui-muted)}
.bj-entry-customer[data-moving=true]{padding-top:4px;border-top:0}
.bj-entry-phone>summary{color:var(--ui-primary-hover);font-size:12px;cursor:pointer;min-height:30px;box-sizing:border-box;padding:7px 0}
.bj-entry-phone>summary:focus-visible{outline:2px solid var(--ui-primary);outline-offset:-2px;border-radius:5px}
.bj-entry-phone .booking-field{margin:5px 0 9px}
.bj-entry-customer[data-moving=true] .bj-entry-summary{font-size:11px;margin:5px 0 0;line-height:1.4}
.booking-client-brand-heading{display:flex;align-items:start;gap:14px;justify-content:space-between;margin-bottom:14px}
.booking-client-brand-heading .booking-help{margin:6px 0 0}
.booking-client-brand-heading>button{flex:none}
.booking-brand-identity{margin:0 0 18px;padding:10px 12px;border-radius:8px;background:var(--ui-selected);color:var(--ui-muted);font-size:12px;line-height:1.5}
.booking-brand-palette{border-top:1px solid var(--ui-border);padding-top:5px}
.booking-brand-palette>summary{cursor:pointer;color:var(--ui-primary-hover);font-size:12px;padding:10px 0;line-height:1.4}
.booking-brand-palette>summary:focus-visible{outline:2px solid var(--ui-primary);outline-offset:-2px;border-radius:5px}
.booking-client-brand-settings .booking-brand-save-hint{margin:16px 0 0;color:var(--ui-muted);line-height:1.5;font-size:12px}
@media(min-width:701px) and (max-width:1100px){
 .bj-copy{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:4px 12px}
 .bj-assignee{grid-column:2;grid-row:1/3}
 .bj-copy>.bj-record-service{grid-column:1;grid-row:2;margin-left:36px;font-size:11px}
}
@media(max-width:900px){
 #booking-screen #booking-journal-tools #booking-add{width:38px;padding:8px}
 #booking-screen #booking-journal-tools #booking-add span{display:none}
 .bj-search-area{max-width:none;flex-basis:160px}
 .booking-client-brand-heading{flex-wrap:wrap}
}
@media(max-width:700px){
 .bj-search-area{flex:1;min-width:38px}
 .bj-record{grid-template-columns:44px minmax(0,1fr);gap:7px 10px;padding:10px}
 .bj-copy{grid-template-columns:minmax(0,1fr);gap:5px}
 .bj-time{grid-column:1;grid-row:1/3;align-self:start;padding:6px 2px}
 .bj-customer{grid-column:1;grid-row:1}
 .bj-copy>.bj-record-service{grid-column:1;grid-row:2;margin-left:34px;font-size:11px}
 .bj-assignee{grid-column:1;grid-row:3;gap:8px}
 .bj-staff-info{flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:3px 6px}
 .bj-staff-info>span{font-size:11px}
 .bj-assignee .bj-avatar{width:24px;height:24px;margin:0 5px}
 .bj-client-contact{font-size:11px}.bj-cancelled-label{grid-row:4}
 .bj-entry-current{margin-bottom:9px}
 .bj-entry-dialog form{height:100%;max-height:100%}
 .booking-client-brand-heading{gap:10px}.booking-brand-identity{font-size:11px}
}
@media(max-width:380px){.bj-entry-selects{grid-template-columns:minmax(0,1fr)}}

.bs-person-dialog h2:focus{outline:none}
@media(max-width:700px){#booking-journal-tools,.bj-search-area{min-height:40px}}

/* v266: calm, aligned participant blocks and one toolbar language. */
.bj-copy{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:6px 22px}
.bj-customer{grid-column:1;grid-row:1}.bj-assignee{grid-column:2;grid-row:1}
.bj-person{align-items:flex-start;gap:9px}.bj-avatar-client,.bj-avatar-staff{width:32px;height:32px;border:0;margin:0;box-shadow:none}
.bj-client-info,.bj-staff-info{gap:2px}.bj-client-info .bj-record-service{font-size:11px;color:var(--ui-muted);line-height:1.4;margin-top:1px;overflow-wrap:anywhere}
.bj-staff-info{min-height:32px;justify-content:center}.bj-staff-info small{font-size:10px}.bj-staff-info>span{font-size:12px}
.bj-record{min-height:82px;border-color:var(--ui-border);border-left-width:3px;box-shadow:0 1px 3px var(--ui-ink-a04)}
.bj-record+.bj-record{margin-top:8px}.bj-record.is-cancelled .bj-cancelled-label{color:var(--ui-muted)}
#booking-screen .bj-heading .bj-icon-button{width:38px;min-width:38px;padding:8px;justify-content:center;border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-muted)}
#booking-screen .bj-heading .bj-icon-button[aria-expanded=true],#booking-screen .bj-heading .bj-icon-button[data-active=true]{background:var(--ui-selected);border-color:var(--ui-primary);color:var(--ui-primary-hover)}
.bj-inline-search{border-color:var(--ui-border);border-radius:8px}.bj-inline-search:focus-within{border-color:var(--ui-primary);box-shadow:0 0 0 2px var(--ui-focus-soft)}
.bj-inline-search input{padding-left:10px}#booking-screen .bj-inline-search button[hidden]{display:none}
.bj-popover{border-color:var(--ui-border);border-radius:12px;box-shadow:0 8px 30px var(--ui-ink-a1c)}
.bj-popover .booking-check{padding:8px 0;color:var(--ui-primary-hover);font-size:12px}
#booking-agenda-calendar{border-color:var(--ui-border);overflow:auto;scroll-padding:4px}
#booking-agenda-calendar .ba-days{grid-auto-rows:36px;gap:3px;padding:3px}
#booking-agenda-calendar .ba-days button{height:36px;min-height:36px;aspect-ratio:auto;line-height:1;outline-offset:-3px;border:0}
#booking-agenda-calendar .ba-days button:disabled{color:var(--ui-muted);background:transparent;cursor:default}
#booking-agenda-calendar .ba-days button[aria-pressed=true]{background:var(--ui-primary);color:var(--ui-surface);border-radius:8px}
/* Reuse the top-layer calendar instead of the operating system's date picker. */
.bj-entry-time-heading{margin:0 0 7px}.bj-entry-time-heading h3{margin:0!important}
.bj-entry-datebar{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;gap:5px;margin-bottom:10px}
.bs-person-dialog .booking-dialog-body .bj-entry-datebar button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:6px;color:var(--ui-primary-hover);border-color:var(--ui-border);font-weight:500}
.bj-entry-datebar svg{width:16px;height:16px;flex:none}.bj-entry-datebar button[aria-expanded=true]{background:var(--ui-selected);border-color:var(--ui-primary)}
.bj-entry-datebar #booking-entry-date-toggle{justify-content:center;background:var(--ui-surface)}.bj-entry-datebar #booking-entry-date-toggle span:last-child{margin-left:auto;color:var(--ui-muted)}.bj-entry-datebar #booking-entry-date-label{margin-right:auto;font-size:13px}
.bj-entry-datebar button:disabled{opacity:.4;cursor:default}
/* Specialist identity, optional sections and service selections form one system. */
.bs-person-identity{display:grid;grid-template-columns:86px minmax(0,1fr);gap:16px;align-items:center;margin-bottom:6px}
.bs-person-photo{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0}
.bs-person-photo .bj-avatar{width:60px;height:60px}.bs-person-photo .booking-upload{font-size:10px;padding:4px 5px;border:0;color:var(--ui-primary-hover);line-height:1.4;text-align:center}
.bs-person-dialog .bs-person-photo button{padding:2px 5px;min-height:24px;font-size:10px;border:0;background:transparent;color:var(--ui-muted)}
.bs-person-identity .bs-person-basics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.bs-person-identity .booking-field{margin-bottom:0}
.bs-person-available{margin:10px 0 14px!important;min-height:30px!important;font-weight:400}
.bs-person-group{border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface);margin:8px 0;overflow:clip}
.bs-person-group>summary{display:flex;align-items:center;gap:10px;min-height:58px;padding:10px 12px;list-style:none;cursor:pointer;box-sizing:border-box}
.bs-person-group>summary::-webkit-details-marker{display:none}.bs-person-group>summary::after{content:'⌄';color:var(--ui-muted);font-size:16px;margin-left:auto;flex:none}.bs-person-group[open]>summary::after{transform:rotate(180deg)}
.bs-person-group>summary>span{min-width:0}.bs-person-group>summary strong{display:block;font-size:13px;font-weight:550;color:var(--ui-primary-hover);line-height:1.4}.bs-person-group>summary small{display:block;font-size:10px;font-weight:400;color:var(--ui-muted);line-height:1.4;margin-top:2px}
.bs-person-group>summary b{margin-left:auto;flex:none;border-radius:6px;padding:3px 7px;background:var(--ui-selected);color:var(--ui-muted);font-size:11px;font-weight:500}.bs-person-group>summary b+*{margin-left:0}
.bs-person-group[open]>summary{background:var(--ui-surface);border-bottom:1px solid var(--ui-border)}.bs-person-group>div{padding:12px}
.bs-person-group .booking-field{margin-bottom:12px}.bs-person-group .booking-field:last-child{margin-bottom:0}
.bs-person-dialog .booking-dialog-body .bs-schedule-card{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;width:100%;padding:12px;min-height:60px;border:1px solid var(--ui-border);border-radius:10px;margin:8px 0;background:var(--ui-surface)}
.bs-schedule-card>span:first-child{min-width:0}.bs-schedule-card strong{display:block;font-size:13px;font-weight:550;color:var(--ui-primary-hover)}.bs-schedule-card small{display:block;font-size:10px;font-weight:400;color:var(--ui-muted);line-height:1.5;margin-top:3px}.bs-schedule-card>span:last-child{font-size:11px;font-weight:500;color:var(--ui-muted);white-space:nowrap}
.bs-service-grid,.bs-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;min-width:0}
.booking-service-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.bs-person-dialog .booking-check.bs-staff-choice,.bs-person-dialog .booking-check.bs-service-choice{display:flex;align-items:center;gap:8px;min-width:0;padding:9px;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface);cursor:pointer;margin:0;font-weight:400}
.bs-staff-choice>span:not(.bj-avatar),.bs-service-choice>span{flex:1;min-width:0}.bs-staff-choice strong,.bs-service-choice strong{display:block;font-size:12px;font-weight:500;line-height:1.4;overflow-wrap:anywhere}.bs-staff-choice small,.bs-service-choice small{display:block;font-size:10px;font-weight:400;line-height:1.4;color:var(--ui-muted);margin-top:2px}
.bs-staff-choice input,.bs-service-choice input{flex:none;margin:0;accent-color:var(--ui-primary)}.bs-staff-choice:has(:checked),.bs-service-choice:has(:checked){border-color:var(--ui-border)!important;background:var(--ui-surface)!important}
.bs-person-dialog .booking-check.bs-staff-choice{display:grid;grid-template-columns:32px minmax(0,1fr) 16px;gap:8px}
.bs-staff-choice input{grid-column:3;grid-row:1}.bs-staff-choice .bj-avatar{grid-column:1;grid-row:1;width:32px;height:32px}.bs-staff-choice>span:last-child{grid-column:2;grid-row:1}
.bs-access-options{display:grid;gap:6px}.bs-access-options .ba-staff-permission{padding:8px!important;margin:0;border-radius:8px;background:var(--ui-surface)}
.bs-access-options .ba-staff-permission input:disabled+span{opacity:.55}.bs-access-options small{font-size:10px!important;line-height:1.4}.bs-access-options strong{font-size:12px!important;font-weight:500!important}
.bs-price-grid .booking-field{margin:0;font-size:11px}.bs-price-grid .booking-help{grid-column:1/-1}
.bs-service-people{padding:12px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface);margin:2px 0 12px}.bs-service-people legend{padding:0 4px;margin:0;font-size:12px;color:var(--ui-muted)}
/* A week's overview stays compact; only the day being edited expands. */
.bs-schedule-dialog{width:min(620px,calc(100% - 24px));height:fit-content;max-height:calc(100dvh - 24px);border-radius:14px}
.bs-schedule-dialog form{max-height:calc(100dvh - 26px)}.bs-schedule-dialog .booking-dialog-body{padding:14px 20px}.bs-schedule-dialog header{padding:16px 20px}.bs-schedule-dialog h2{font-size:17px}.bs-schedule-dialog h2:focus{outline:none}.bs-schedule-dialog footer{padding:12px 20px}
.bs-schedule-intro{margin:0 0 12px!important;font-size:11px!important;line-height:1.4!important;color:var(--ui-muted)!important}
.bs-schedule-week{border:1px solid var(--ui-border);border-radius:10px;overflow:clip}.bs-schedule-day+.bs-schedule-day{border-top:1px solid var(--ui-border)}
.bs-schedule-day>summary{display:grid;grid-template-columns:112px minmax(0,1fr) 12px;gap:10px;align-items:center;list-style:none;padding:11px 12px;cursor:pointer;min-height:43px;box-sizing:border-box}
.bs-schedule-day>summary::-webkit-details-marker{display:none}.bs-schedule-day>summary strong{font-size:12px;font-weight:500;color:var(--ui-primary-hover)}.bs-schedule-day>summary>span{font-size:11px;color:var(--ui-muted);line-height:1.4;overflow-wrap:anywhere}.bs-schedule-day[open]>summary{background:var(--ui-surface)}.bs-schedule-day[open]>summary>span:last-child{transform:rotate(180deg)}
.bs-schedule-day .booking-rule{display:grid;grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr);gap:8px;padding:12px;margin:0;border:0;border-radius:0;background:var(--ui-surface)}
.bs-schedule-day .booking-rule legend{display:none}.bs-schedule-day .booking-rule select{grid-column:1/-1}.bs-schedule-day .booking-rule input{width:100%;min-width:0}.bs-schedule-day .booking-rule>span{align-self:center;text-align:center;color:var(--ui-muted)}
.bs-schedule-day .booking-rule .booking-pause-input{grid-column:1/-1;display:block;font-size:10px;color:var(--ui-muted)}.bs-schedule-day .booking-pause-input input{margin-top:5px}
.bs-schedule-day .booking-rule[data-mode=closed]>:not(select):not(legend),.bs-schedule-day .booking-rule[data-mode=always]>input,.bs-schedule-day .booking-rule[data-mode=always]>span{display:none}
.bs-schedule-extras{margin-top:12px}.bs-schedule-extras>summary{display:flex;align-items:center;gap:7px;cursor:pointer;font-size:12px;color:var(--ui-primary-hover);min-height:34px}.bs-schedule-extras>summary span{font-size:10px;color:var(--ui-muted)}.bs-schedule-extras .booking-help{font-size:11px}.bs-schedule-extras .booking-exception{margin-bottom:10px;padding:10px;border:1px solid var(--ui-border);border-radius:9px;background:var(--ui-surface)}
.bs-schedule-dialog select,.bs-person-dialog select,.bj-popover select,.ba-settings select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%237b96af' stroke-width='1.5'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px}
@media(max-width:700px){
 .bj-copy{grid-template-columns:minmax(0,1fr);gap:8px}.bj-assignee{grid-column:1;grid-row:2}.bj-staff-info{display:flex;flex-direction:column;align-items:start;gap:1px;min-height:32px}.bj-assignee .bj-avatar{width:32px;height:32px;margin:0}.bj-staff-info>span{font-size:11px}.bj-cancelled-label{grid-row:3}
 .bs-person-dialog{inset:0;top:calc(var(--staff-top,0px) + 8px);bottom:auto;margin:0 auto;width:calc(100% - 16px);height:fit-content;max-height:calc(var(--staff-height,100dvh) - 16px);border:1px solid var(--ui-border);border-radius:13px}
 .bs-person-dialog form{height:auto;max-height:calc(var(--staff-height,100dvh) - 18px)}
 .bs-person-identity{grid-template-columns:70px minmax(0,1fr);gap:10px}.bs-person-identity .bs-person-basics{grid-template-columns:minmax(0,1fr);gap:9px}.bs-person-photo .bj-avatar{width:52px;height:52px}.bs-person-available{margin:6px 0 12px!important}
 .bs-person-group>summary{padding:10px;min-height:56px}.bs-person-group>div{padding:10px}.bs-person-dialog .booking-check.bs-staff-choice,.bs-person-dialog .booking-check.bs-service-choice{min-height:48px}
 .bs-schedule-dialog .booking-dialog-body{padding:12px}.bs-schedule-dialog header{padding:14px}.bs-schedule-dialog footer{padding:12px}.bs-schedule-day>summary{grid-template-columns:94px minmax(0,1fr) 10px;gap:7px;padding:11px 10px}.bs-schedule-day>summary strong{font-size:11px}.bs-schedule-day>summary>span{font-size:10px}
 .bs-schedule-dialog input,.bs-schedule-dialog select{font-size:16px;min-height:42px}
 .bj-entry-datebar #booking-entry-date-label{font-size:13px}.bs-person-dialog .booking-dialog-body .bj-entry-datebar button{min-height:40px}
}
@media(max-width:480px){.booking-service-people,.bs-service-grid{grid-template-columns:minmax(0,1fr)}.bs-price-grid{gap:8px}}
/* The accent belongs to the specialist; the toolbar remains visible while scrolling. */
.bj-record{border-left-color:var(--staff-color,var(--ui-primary))}.bj-record.is-cancelled{border-left-color:var(--ui-border)}
.bj-heading{position:sticky;top:0;z-index:2;background:var(--ui-surface);padding-bottom:5px}
.bs-person-group>summary>span:first-child{flex:1}.bs-person-group>summary b{margin-left:0}.bs-person-group>summary::after{margin-left:4px}
.bs-schedule-extras>summary::before{content:'⌄';display:inline-block;font-size:15px;color:var(--ui-muted)}.bs-schedule-extras[open]>summary::before{transform:rotate(180deg)}

/* The same reserved toolbar space holds one active tool. */
#booking-journal-tools{flex:1 1 360px;max-width:570px;min-width:0;gap:5px}
.bj-tool-zone{position:relative;flex:1 1 280px;min-width:0;height:40px}
.bj-tool-zone .bj-inline-search,.bj-inline-filters{position:absolute;inset:0;box-sizing:border-box;display:flex;align-items:center;width:100%;max-width:none;height:40px;min-width:0;margin:0;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface)}
.bj-tool-zone .bj-inline-search{animation:bj-search-reveal .14s ease-out}.bj-inline-filters{padding:3px;gap:5px;animation:bj-filter-reveal .14s ease-out}
.bj-inline-filters[hidden],.bj-tool-zone .bj-inline-search[hidden]{display:none}
@keyframes bj-filter-reveal{from{opacity:0;transform:translateX(3px)}to{opacity:1;transform:none}}
.bj-inline-filters select{appearance:none;flex:1;min-width:0;width:100%;height:32px;border:0;border-radius:5px;background:var(--ui-surface);color:var(--ui-primary-hover);font:400 12px system-ui;padding:5px 20px 5px 7px;text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%237b96af'%3E%3Cpath d='m2 4 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 5px center}
.bj-include-cancelled{display:flex;align-items:center;gap:4px;flex:none;font-size:10px;color:var(--ui-muted);cursor:pointer;white-space:nowrap;min-height:30px;padding:0 3px;border-radius:5px}
.bj-include-cancelled input{margin:0;width:14px;height:14px;accent-color:var(--ui-primary)}.bj-include-cancelled svg{display:none;width:16px;height:16px}
#booking-screen .bj-inline-filters button{display:flex;align-items:center;justify-content:center;flex:none;width:28px;min-width:28px;min-height:30px;height:30px;border:0;padding:4px;background:transparent;color:var(--ui-muted)}
.bj-inline-filters button svg{width:16px;height:16px}.bj-inline-filters:focus-within{border-color:var(--ui-primary);box-shadow:0 0 0 2px var(--ui-focus-soft)}
.bj-inline-filters select:focus-visible,.bj-inline-filters button:focus-visible,.bj-include-cancelled:focus-within{outline:2px solid var(--ui-primary);outline-offset:-2px}
.bj-customer{align-items:center}.bj-customer .bj-avatar{align-self:center}.bj-copy{align-items:center}.bj-assignee{align-items:center}
/* Compact settings, units and accessible switches. */
.booking-switch{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:36px;margin:0;color:var(--ui-primary-hover);font-size:13px;cursor:pointer}
.booking-switch>span{min-width:0}.booking-switch strong{font-size:13px;font-weight:550}.booking-switch small{display:block;font-size:11px;font-weight:400;line-height:1.4;color:var(--ui-muted);margin-top:4px}
.booking-switch input{appearance:none;position:relative;flex:none;width:36px;height:22px;padding:0;margin:0;border:1px solid var(--ui-border);border-radius:20px;background:var(--ui-selected);cursor:pointer;transition:background .14s ease}
.booking-switch input::before{content:'';display:block;position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--ui-surface);box-shadow:0 1px 3px var(--ui-ink-a25);transition:transform .14s ease}
.booking-switch input:checked{background:var(--ui-primary);border-color:var(--ui-primary)}.booking-switch input:checked::before{transform:translateX(14px)}.booking-switch input:disabled{opacity:.4;cursor:default}
.booking-switch input:focus-visible{outline:2px solid var(--ui-primary);outline-offset:3px}
.booking-unit{position:relative}.booking-unit input{padding-right:48px!important}.booking-unit>span{position:absolute;right:11px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--ui-muted);pointer-events:none}
.booking-service-search{display:flex;align-items:center;height:38px;box-sizing:border-box;border:1px solid var(--ui-border);border-radius:8px;margin:0 0 10px;background:var(--ui-surface)}
.booking-service-search input{flex:1;min-width:0;width:100%;height:36px;border:0;padding:7px 10px;color:var(--ui-primary-hover);background:transparent;font:400 13px system-ui;outline:none}
.booking-service-search input::-webkit-search-cancel-button{display:none}.booking-service-search:focus-within{border-color:var(--ui-primary);box-shadow:0 0 0 2px var(--ui-focus-soft)}
#booking-screen .booking-service-search button{flex:none;width:30px;min-width:30px;min-height:30px;border:0;background:transparent;padding:4px;font-size:18px;color:var(--ui-muted)}
#booking-services-empty{padding:16px;text-align:center;border-radius:8px;background:var(--ui-surface)}
.ba-settings .ba-settings-card{padding:15px 16px;margin-bottom:11px}.ba-settings-card>header{margin-bottom:12px}.ba-settings-card h2{font-size:15px}.ba-settings-card .booking-form-grid{gap:14px}
.bn-card .booking-switch{margin-bottom:10px}.bn-recipients{display:grid;gap:4px}.bn-recipient{display:flex;align-items:center;gap:8px;min-height:38px;min-width:0;padding:7px 0;margin:0!important;font-weight:400;color:var(--ui-primary-hover);cursor:pointer}
.bn-recipient input{flex:none;margin:0;accent-color:var(--ui-primary)}.bn-recipient>span:not(.bj-avatar){min-width:0;flex:1}.bn-recipient strong{display:block;font-size:12px;font-weight:500;overflow-wrap:anywhere;line-height:1.4}
.bn-recipient .bj-avatar{width:28px;height:28px}.bn-delivery{display:block;font-size:10px;line-height:1.4;color:var(--ui-muted);margin-top:2px;font-weight:400}.bn-delivery[data-state=ready]{color:var(--ui-green)}.bn-delivery[data-state=error]{color:var(--ui-muted)}
.bn-staff-row{display:flex;align-items:center;gap:8px;min-width:0}.bn-staff-row>.bn-recipient{flex:1}.bn-staff-row>button{flex:none}
.bn-permission{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--ui-border);padding-top:10px;margin-top:7px}.bn-permission>span{font-size:10px;color:var(--ui-muted)}
#booking-screen .bn-permission button,#booking-screen .bn-staff-row>button{min-height:32px;padding:6px 8px;font-size:11px;color:var(--ui-muted)}
.bn-check{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-top:12px}.bn-check .booking-help{font-size:11px;line-height:1.4;margin:0;min-width:0}.bn-check>button{flex:none;font-size:11px!important}.bn-client-hint{font-size:10px!important;margin:10px 0 0!important}
.booking-client-brand-settings>header .booking-help{margin:7px 0 0;line-height:1.45;font-size:12px}.booking-brand-auto{font-size:11px;color:var(--ui-muted);margin:10px 0 18px}
.booking-client-brand-settings h3{font-size:13px;font-weight:550;color:var(--ui-primary-hover);margin:18px 0 12px}.booking-client-brand-settings .booking-form-grid{gap:14px}
.booking-brand-preview{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px;border-top:1px solid var(--ui-border);padding-top:14px}.booking-brand-preview small{font-size:10px;color:var(--ui-muted)}
.booking-method-action{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.booking-method-state{font-size:11px;color:var(--ui-muted)}.booking-method-state[data-connected=true]{color:var(--ui-green)}
.ba-settings .ba-booking-method{padding:0;border:0;margin:0}.ba-booking-method>p{font-size:12px;color:var(--ui-muted);line-height:1.5;margin:0 0 12px}
@media(max-width:900px){#booking-journal-tools{max-width:none;flex-basis:320px}}
@media(max-width:700px){
 #booking-journal-tools{flex-basis:100%;width:100%;max-width:none}.bj-tool-zone{flex-basis:160px}.bj-tool-zone input,.booking-service-search input,.bj-inline-filters select{font-size:16px}
 .ba-settings .ba-settings-card{padding:13px 12px}.bn-check,.bn-permission{flex-wrap:wrap;gap:8px}.bn-check>button{margin-left:auto}.booking-switch{font-size:12px}
 .bn-staff-row{align-items:start}.bn-staff-row>button{margin-top:5px}.booking-brand-preview{gap:8px}
}
@media(max-width:480px){.bj-include-cancelled{position:relative;width:28px;justify-content:center;padding:0}.bj-include-cancelled input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.bj-include-cancelled>span{display:none}.bj-include-cancelled svg{display:block}.bj-include-cancelled:has(:checked){background:var(--ui-selected);color:var(--ui-primary-hover)}.bj-inline-filters{gap:3px}.bj-inline-filters select{font-size:16px}}
@media(prefers-reduced-motion:reduce){.bj-tool-zone .bj-inline-search,.bj-inline-filters{animation:none}.booking-switch input,.booking-switch input::before{transition:none}}

.bj-journal{overflow-anchor:none}
.booking-client-brand-settings>.booking-field{max-width:360px}
/* v268: compact notification controls and contextual navigation. */
.bn-card{padding:12px 14px!important}.bn-card>header{margin-bottom:7px}.bn-card>header h2{font-size:14px}.bn-card>header p{margin:4px 0 0;font-size:11px}
.bn-card .booking-switch{margin-bottom:3px;min-height:30px}.bn-card .bn-recipient{min-height:31px;padding:4px 0}.bn-card .bn-recipients{gap:2px}
.bn-permission{padding-top:7px;margin-top:4px;gap:8px}.bn-permission>span{font-size:10px}
#booking-screen .bn-permission button{min-height:30px;padding:5px 7px;font-weight:400}
.bn-check{justify-content:flex-start;align-items:center;gap:10px;min-height:34px;margin-top:10px}.bn-check>button{margin-left:0}.bn-check .booking-help:empty{display:none}.bn-check .booking-help{font-size:11px;line-height:1.4}
#booking-notify-result[data-state=ready]{color:var(--ui-green)}#booking-notify-result[data-state=error]{color:var(--ui-muted)}#booking-notify-result[data-state=checking]{color:var(--ui-muted)}
.bs-access-context{margin:0 0 10px;color:var(--ui-muted);font-size:11px;line-height:1.45}.bs-access-permission{font-size:10px;line-height:1.45;margin:9px 0 0;color:var(--ui-muted)}
.booking-staff-default-label{margin:14px 0 0;border-top:1px solid var(--ui-border);padding-top:4px}.booking-staff-default-label>summary{cursor:pointer;color:var(--ui-muted);font-size:12px;padding:10px 0}.booking-staff-default-label>.booking-field{margin:8px 0 0;max-width:360px}
/* The page preview is the primary action; unique appearance settings stay optional. */
.booking-preview-launch{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0 10px}.booking-preview-launch small{font-size:10px;color:var(--ui-muted)}
.booking-client-brand-settings .booking-brand-auto{font-size:11px;margin:0 0 15px;color:var(--ui-muted)}
.booking-client-style{border-top:1px solid var(--ui-border);border-bottom:1px solid var(--ui-border);padding:3px 0;margin-top:14px}.booking-client-style>summary{cursor:pointer;color:var(--ui-primary-hover);font-size:12px;padding:11px 0;line-height:1.4}.booking-client-style>.booking-form-grid{padding:8px 0 0}.booking-client-style .booking-brand-palette{border-top:0;margin-top:0;padding-top:0}
#booking-screen .booking-source-link{min-height:32px;border:0;background:transparent;padding:7px 0;margin-top:9px;text-align:left;font-size:11px;font-weight:400;color:var(--ui-muted);box-shadow:none}
.booking-client-style>summary:focus-visible,.booking-staff-default-label>summary:focus-visible{outline:2px solid var(--ui-primary);outline-offset:-2px;border-radius:5px}
/* Reuse the actual customer screen with explicit preview navigation. */
.booking-preview-page{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;height:100%}.booking-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:none;padding:12px 18px;background:var(--ui-surface);border-bottom:1px solid var(--ui-border)}
.booking-preview-heading>div{min-width:0}.booking-preview-heading h2{font-size:17px;line-height:1.3;margin:0;color:var(--ui-primary-hover);font-weight:600}.booking-preview-heading h2:focus{outline:none}.booking-preview-heading span{display:block;margin-top:4px;font-size:10px;line-height:1.4;color:var(--ui-muted)}
#booking-screen .booking-preview-heading>button{flex:none;background:var(--ui-selected);color:var(--ui-primary-hover);border-color:var(--ui-border);min-height:36px;padding:8px 12px;font-size:12px;font-weight:500}
.booking-preview-client{display:flex;flex:1;min-height:0;min-width:0;overflow:hidden}.booking-preview-client>.bc-experience{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;height:100%;box-sizing:border-box;width:100%}
.booking-preview-page #bc-preview-back{display:none!important}
@media(max-width:700px){
 .bn-card{padding:11px 12px!important}.bn-permission{gap:5px}.bn-check{gap:8px}.bn-check>button{margin-left:0}.bn-check .booking-help{flex:1 1 120px}
 .booking-preview-launch{align-items:flex-start;gap:7px}.booking-preview-launch small{flex-basis:100%}
 .booking-preview-heading{padding:10px 12px;gap:9px;flex-wrap:wrap}.booking-preview-heading h2{font-size:15px}.booking-preview-heading span{font-size:10px}
 #booking-screen .booking-preview-heading>button{min-height:34px;font-size:11px;padding:7px 9px}.booking-preview-client{overflow:hidden}
}

/* v270: only the thin journal stripe carries the specialist accent. */
.bj-record{border-left-color:var(--staff-color,var(--ui-primary))}
#booking-screen .booking-method-action>button{min-width:160px;margin:0}

.bj-record.is-cancelled{border-left-color:var(--staff-color,var(--ui-primary))}

/* v274: an explicit, compact cancellation sheet, retaining the confirmed action. */
#booking-dialog.bj-cancel-dialog{width:min(430px,calc(100% - 28px));border-radius:15px}
#booking-dialog.bj-cancel-dialog header{padding:17px 18px 13px;border-bottom:0;gap:10px}
#booking-dialog.bj-cancel-dialog h2{font-size:18px;line-height:1.3;color:var(--ui-primary-hover)}
#booking-dialog.bj-cancel-dialog header button{width:32px;height:32px;min-height:32px;font-size:22px}
#booking-dialog.bj-cancel-dialog .booking-dialog-body{padding:0 18px 17px}
.bj-cancel-summary{display:grid;gap:5px;padding:12px;border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:9px;overflow-wrap:anywhere}
.bj-cancel-summary strong{font-size:13px;font-weight:600;color:var(--ui-primary-hover);line-height:1.45}.bj-cancel-summary>span{font-size:11px;color:var(--ui-muted)}.bj-cancel-summary p{margin:0;font-size:12px;line-height:1.5;color:var(--ui-muted)}
#booking-dialog.bj-cancel-dialog footer{padding:12px 18px;gap:9px}#booking-dialog.bj-cancel-dialog footer button{flex:1;min-height:40px;font-size:12px;border-radius:8px}
#booking-dialog.bj-cancel-dialog #booking-dialog-submit{background:var(--ui-red);border:1px solid var(--ui-red);color:var(--ui-surface);box-shadow:none}#booking-dialog.bj-cancel-dialog #booking-dialog-submit:disabled{opacity:.55}
@media(max-width:700px){
 /* Mobile zones: time and assignee at left, centred customer, actions at right. */
 .bj-record{grid-template-columns:64px minmax(0,1fr) 76px;grid-template-rows:auto 1fr;column-gap:8px;row-gap:4px;padding:8px 9px;min-height:96px;align-items:start;margin-bottom:7px}
 .bj-record+.bj-record{margin-top:0}
 .bj-time{grid-column:1;grid-row:1;align-self:start;justify-self:center;width:50px;box-sizing:border-box;padding:5px 2px;gap:2px}.bj-time strong{font-size:13px}.bj-time small{font-size:10px}
 .bj-copy{display:contents}
 .bj-customer{display:flex;grid-column:2;grid-row:1 / span 2;align-self:center;align-items:center;gap:6px;min-width:0}.bj-customer .bj-avatar{width:25px;height:25px;flex:none;font-size:9px}
 .bj-client-info{min-width:0;flex:1;gap:1px}.bj-client{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.35;overflow-wrap:anywhere}
 .bj-client-contact{max-width:100%;font-size:10px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .bj-client-info .bj-record-service{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:10px;line-height:1.4;margin:2px 0 0}
 .bj-assignee{display:flex;grid-column:1;grid-row:2;align-self:start;flex-direction:column;align-items:center;gap:3px;min-width:0;text-align:center}.bj-assignee .bj-avatar{width:21px;height:21px;margin:0;flex:none}
 .bj-staff-info{display:block;min-width:0;max-width:64px;min-height:0;line-height:1.3}.bj-staff-info small{display:none}.bj-staff-info>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:9px;line-height:1.3;overflow-wrap:anywhere}
 .bj-row-actions{grid-column:3;grid-row:1 / span 2;align-self:center;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:center;gap:6px;width:76px;margin:0}
 #booking-screen .bj-row-actions button{width:100%;min-width:0;min-height:38px;height:38px;padding:6px 3px;text-align:center;font-size:10px;line-height:1.2;border-radius:7px}
 .bj-cancelled-label{grid-column:2;grid-row:3;margin:0;font-size:10px}
 /* The modal uses the visible viewport intersected with VK and OS safe areas. */
 .booking-admin-dialog{--booking-top:max(var(--booking-visual-top,0px),env(safe-area-inset-top,0px),var(--booking-vk-top,0px),var(--booking-top-reserve,0px));--booking-bottom:min(calc(var(--booking-visual-top,0px) + var(--booking-visual-height,100dvh)),calc(100dvh - max(env(safe-area-inset-bottom,0px),var(--booking-vk-bottom,0px))),calc(var(--booking-layout-height,100dvh) - max(env(safe-area-inset-bottom,0px),var(--booking-vk-bottom,0px))));--booking-left:max(var(--booking-visual-left,0px),env(safe-area-inset-left,0px),var(--booking-vk-left,0px));--booking-right:min(calc(var(--booking-visual-left,0px) + var(--booking-visual-width,100vw)),calc(var(--booking-layout-width,100vw) - max(env(safe-area-inset-right,0px),var(--booking-vk-right,0px))));--booking-modal-height:max(140px,calc(var(--booking-bottom) - var(--booking-top) - 24px))}
 .booking-admin-dialog.booking-dialog,#booking-staff-discard-dialog.booking-admin-dialog{position:fixed;inset:auto;top:calc((var(--booking-top) + var(--booking-bottom)) / 2);left:calc((var(--booking-left) + var(--booking-right)) / 2);transform:translate(-50%,-50%);margin:0;width:calc(var(--booking-right) - var(--booking-left) - 24px);height:auto;max-width:660px;max-height:var(--booking-modal-height);padding:0;border:1px solid var(--ui-border);border-radius:14px;overflow:hidden;box-sizing:border-box}
 .booking-admin-dialog.booking-dialog form{height:auto;min-height:0;max-height:calc(var(--booking-modal-height) - 2px);display:flex;flex-direction:column;overflow:hidden}
 .booking-admin-dialog.booking-dialog header{padding:12px 14px;gap:8px;flex:none}.booking-admin-dialog.booking-dialog h2{font-size:17px;line-height:1.35}.booking-admin-dialog.booking-dialog header button{width:34px;height:34px;min-height:34px;font-size:23px}
 .booking-admin-dialog.booking-dialog .booking-dialog-body{padding:13px 14px;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scroll-padding:10px;-webkit-overflow-scrolling:touch}
 .booking-admin-dialog.booking-dialog footer{padding:10px 14px;flex:none;gap:9px}.booking-admin-dialog.booking-dialog footer button{min-height:41px;flex:1;font-size:12px}
 .booking-admin-dialog.booking-dialog input,.booking-admin-dialog.booking-dialog select,.booking-admin-dialog.booking-dialog textarea{font-size:16px}
 #booking-staff-discard-dialog.booking-admin-dialog{padding:18px}
 #booking-screen.booking-modal-open .booking-body{overflow-y:hidden!important;overscroll-behavior:none}
 .bj-entry-selects{gap:8px}.bj-entry-dialog .booking-field{margin-bottom:10px;gap:4px}.bj-entry-dialog h3{font-size:11px;margin-bottom:7px}.bj-entry-current{margin:0 0 10px;padding:7px 9px;font-size:11px}
 .bs-person-dialog.bj-entry-dialog .booking-dialog-body .bj-choice{min-height:41px;font-size:12px;padding:7px 8px}
 .bs-person-dialog.bj-entry-dialog .booking-dialog-body .bj-entry-slot-grid button{min-height:36px;font-size:12px}.bj-entry-time{margin-bottom:10px}.bj-entry-customer{padding-top:9px}
 /* Only the selected settings section is mounted; only one large group opens at a time. */
 .ba-settings{gap:10px;min-height:0}.ba-settings .ba-settings-select{margin-bottom:0}.ba-settings .booking-section-heading{margin:0 0 9px;gap:8px}.ba-settings .booking-section-heading h2,.ba-settings .booking-client-brand-settings>header h2{display:none}
 .ba-settings .booking-section-heading p{font-size:11px;max-width:none;margin:0}.ba-settings .booking-section-heading:has(>button){justify-content:flex-end}.ba-settings .booking-section-heading>button{min-height:36px}
 .ba-settings .ba-settings-card.booking-setting-group{padding:0!important;margin:0 0 9px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface);overflow:clip}
 .booking-setting-group>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:54px;padding:10px 12px;list-style:none;cursor:pointer}.booking-setting-group>summary::-webkit-details-marker{display:none}
 .booking-setting-group>summary strong{display:block;font-size:13px;font-weight:550;color:var(--ui-primary-hover);line-height:1.4}.booking-setting-group>summary small{display:block;margin-top:3px;color:var(--ui-muted);font-size:10px;line-height:1.4}.booking-setting-group>summary>span:last-child{font-size:16px;color:var(--ui-muted)}.booking-setting-group[open]>summary{background:var(--ui-surface);border-bottom:1px solid var(--ui-border)}.booking-setting-group[open]>summary>span:last-child{transform:rotate(180deg)}
 .booking-setting-group-body{padding:11px 12px}.booking-group-intro{font-size:10px;line-height:1.5;color:var(--ui-muted);margin:0 0 10px}.ba-settings .booking-setting-group .booking-form-grid{gap:10px}
 .ba-settings .booking-field{margin-bottom:11px;gap:5px}.ba-settings .booking-field input,.ba-settings .booking-field select{min-height:41px;font-size:16px}.ba-settings .booking-field .booking-help{font-size:10px}
 .ba-settings .booking-rule-availability{padding:10px 12px!important;margin-bottom:9px}.booking-rule-availability .booking-switch small{font-size:10px;margin-top:2px}
 .ba-settings .ba-staff-item{padding:10px;gap:8px;min-height:62px}.ba-staff-item-copy strong{font-size:12px}.ba-staff-item-copy small{font-size:10px;margin-top:3px}.ba-staff-item .ba-staff-state{font-size:10px}
 .bs-person-group>summary{min-height:50px;padding:9px 10px}.bs-person-group>div{padding:10px}.bs-person-dialog .booking-dialog-body .bs-schedule-card{min-height:52px;padding:10px}
 .booking-client-brand-settings{padding:12px!important;margin-bottom:8px}.booking-client-brand-settings>header .booking-help{margin:0;font-size:11px}.booking-preview-launch{margin:12px 0 9px;gap:6px}.booking-client-brand-settings .booking-brand-auto{margin-bottom:11px;font-size:10px}
 #booking-save-row{flex:none;position:sticky;bottom:0;padding:9px 0 0;background:var(--ui-surface);z-index:2}#booking-save-row button{min-height:42px}
}

/* v276: mobile settings use internal pages; desktop navigation stays unchanged. */
@media(max-width:700px){
 #booking-screen.booking-mobile-settings{padding-top:max(0px,calc(max(env(safe-area-inset-top,0px),var(--booking-settings-safe-top,0px)) - var(--booking-settings-offset-top,0px)))!important;padding-bottom:calc(max(env(safe-area-inset-bottom,0px),var(--booking-settings-safe-bottom,0px)) + var(--booking-settings-keyboard,0px))!important;box-sizing:border-box}
 .booking-mobile-settings-detail>#booking-nav{display:none}
 .booking-mobile-settings-detail>.booking-body{padding-top:8px}
 .booking-mobile-settings-home{padding:0 1px 8px}.booking-mobile-settings-home>header{padding:2px 2px 15px}.booking-mobile-settings-home h2{margin:0;color:var(--ui-primary-hover);font-size:20px;line-height:1.3;letter-spacing:-.3px}.booking-mobile-settings-home header p{margin:5px 0 0;color:var(--ui-muted);font-size:11px}
 #booking-mobile-settings-menu{display:flex;flex-direction:column;border:1px solid var(--ui-border);border-radius:13px;background:var(--ui-surface);overflow:hidden}
 #booking-screen #booking-mobile-settings-menu>button{display:flex;align-items:center;gap:11px;width:100%;padding:12px 11px;min-height:68px;text-align:left;border:0;border-radius:0;background:var(--ui-surface);box-shadow:none}
 #booking-screen #booking-mobile-settings-menu>button+button{border-top:1px solid var(--ui-border)}#booking-screen #booking-mobile-settings-menu>button:active{background:var(--ui-surface)}
 .booking-mobile-menu-icon{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:10px;background:var(--settings-icon-bg,var(--ui-violet-soft));color:var(--settings-icon-ink,var(--ui-violet))}.booking-mobile-menu-icon svg{width:21px;height:21px}
 .booking-mobile-menu-copy{flex:1;min-width:0}.booking-mobile-menu-copy strong{display:block;font-size:13px;line-height:1.35;font-weight:600;color:var(--ui-primary-hover)}.booking-mobile-menu-copy small{display:block;margin-top:4px;font-size:10px;line-height:1.4;color:var(--ui-muted);font-weight:400}.booking-mobile-menu-chevron{flex:none;color:var(--ui-muted);font-size:23px;font-weight:400}
 .booking-mobile-settings .ba-settings{display:flex;flex-direction:column;gap:14px;min-height:0}.booking-mobile-settings .booking-settings-content{flex:none;min-width:0}
 .booking-mobile-settings-heading{flex:none;position:sticky;top:-8px;z-index:3;background:var(--ui-surface);padding:0 0 11px;border-bottom:1px solid var(--ui-border)}
 #booking-screen #booking-mobile-settings-back{padding:4px 0;border:0;min-height:34px;background:none;color:var(--ui-muted);font-size:12px;box-shadow:none;text-align:left}.booking-mobile-settings-heading h2{margin:7px 0 0;color:var(--ui-primary-hover);font-size:20px;line-height:1.35;letter-spacing:-.3px;outline:none}
 .booking-mobile-settings #booking-save-row{padding-bottom:5px}.booking-mobile-settings .booking-body{scroll-padding-top:100px;scroll-padding-bottom:14px}
}

.booking-subscription-note{flex:none;padding:14px 16px;margin:0 0 14px;background:var(--ui-selected);border:1px solid var(--ui-border);border-radius:12px;color:var(--ui-primary-hover)}.booking-subscription-note strong{font-size:15px}.booking-subscription-note p{font-size:12px;line-height:1.5;margin:7px 0 12px}.booking-subscription-note button{min-height:40px}

/* v287: the supplied journal composition, with existing mobile zones. */
.bc-avatar-fallback{font-size:inherit;font-weight:600;line-height:1;background-image:none}
.bj-record{border:1px solid var(--ui-border);border-left:5px solid var(--staff-color,var(--ui-primary));border-radius:15px;background:linear-gradient(110deg,var(--ui-surface),var(--ui-surface));box-shadow:0 4px 18px var(--ui-ink-a06)}
.bj-record:hover{background:var(--ui-surface);box-shadow:0 5px 20px var(--ui-ink-a0b)}
.bj-time{background:var(--ui-surface);color:var(--ui-primary-hover);border-radius:9px}.bj-time small{color:var(--ui-muted)}
.bj-client-info .bj-record-service{display:inline-block;align-self:flex-start;width:fit-content;max-width:100%;box-sizing:border-box;background:var(--ui-surface);border-radius:20px;padding:2px 8px;color:var(--ui-muted)}
.bj-client-info .bj-record-service::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--ui-green);margin-right:6px;vertical-align:1px}
#booking-screen .bj-row-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--ui-surface);border-color:var(--ui-border);color:var(--ui-primary-hover);border-radius:10px;font-weight:550}
.bj-row-actions svg{width:17px;height:17px;flex:none}
#booking-screen .bj-row-actions [data-cancel]{background:var(--ui-surface);border-color:var(--ui-border);color:var(--ui-red)}
#booking-screen .bj-heading #booking-add{background:linear-gradient(115deg,var(--ui-primary),var(--ui-primary));border:1px solid var(--ui-primary);color:var(--ui-surface);box-shadow:0 3px 10px var(--ui-ink-a1a)}
#booking-screen .bj-heading #booking-add:hover{background:linear-gradient(115deg,var(--ui-primary),var(--ui-primary))}
/* Desktop includes the narrower VK desktop frame; only phones stack actions. */
@media(min-width:701px){
 .bj-record{--bj-actions-width:clamp(228px,25vw,248px);grid-template-columns:64px minmax(0,1fr) var(--bj-actions-width);grid-template-rows:auto;align-items:center;gap:18px;padding:11px 14px;min-height:78px;margin-bottom:8px}
 .bj-record+.bj-record{margin-top:0}
 .bj-copy{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px;align-items:center;min-width:0}
 .bj-customer,.bj-assignee{display:flex;flex-direction:row;gap:13px;align-items:center;align-self:center;min-width:0;max-width:none}
 .bj-customer{grid-column:1;grid-row:1}.bj-assignee{grid-column:2;grid-row:1;border-left:1px solid var(--ui-border);padding-left:20px}
 .bj-record .bj-avatar{width:44px;height:44px;font-size:17px;flex:none;margin:0}
 .bj-client-info{min-width:0;gap:1px}.bj-client{display:block;font-size:14px;line-height:1.3;color:var(--ui-ink);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .bj-client-contact{font-size:12px;line-height:1.25;color:var(--ui-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .bj-client-info .bj-record-service{margin-top:0;padding:1px 7px;font-size:11px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .bj-staff-info{display:flex;flex-direction:column;gap:2px;min-width:0;min-height:0;justify-content:center}.bj-staff-info small{font-size:11px;line-height:1.3;color:var(--ui-muted)}.bj-staff-info>span{display:block;font-size:13px;line-height:1.3;color:var(--ui-ink);font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .bj-time{align-self:center;box-sizing:border-box;width:64px;min-height:54px;padding:8px 3px;gap:3px;justify-content:center}.bj-time strong{font-size:17px;line-height:1.2}.bj-time small{font-size:12px;line-height:1.2}
 .bj-row-actions{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;align-self:center;gap:10px;width:var(--bj-actions-width);grid-column:3;grid-row:1;margin:0}
 #booking-screen .bj-row-actions button{flex:1 1 0;width:auto;min-width:0;height:38px;min-height:38px;margin:0;padding:7px 8px;font-size:12px;line-height:1.3}
}
@media(max-width:700px){
 .bj-record{padding:8px 9px;min-height:96px;border-left-width:4px;border-radius:12px}.bj-assignee{border-left:0;padding-left:0}.bj-client-info .bj-record-service{padding:1px 5px;line-height:1.4}.bj-client-info .bj-record-service::before{width:5px;height:5px;margin-right:4px;vertical-align:1px}
 #booking-screen .bj-row-actions button{gap:3px;border-radius:8px}.bj-row-actions svg{width:11px;height:11px}.bj-record .bj-avatar-client{font-size:11px}.bj-record .bj-avatar-staff{font-size:10px}
}
/* The photo is prepared locally; only the chosen compact crop is uploaded. */
.booking-photo-dialog{max-width:400px}.booking-photo-dialog .booking-dialog-body{padding:8px 20px 12px;display:flex;flex-direction:column;align-items:center;gap:10px}
.booking-photo-hint{font-size:12px;line-height:1.4;color:var(--ui-muted);text-align:center;margin:0}
.booking-photo-stage{position:relative;width:min(100%,290px);aspect-ratio:1;overflow:hidden;border-radius:12px;background:var(--ui-selected);touch-action:none;cursor:grab;flex:none;user-select:none}.booking-photo-stage:active{cursor:grabbing}
#booking-photo-canvas{display:block;width:100%;height:100%;pointer-events:none}.booking-photo-mask{position:absolute;inset:0;border:2px solid var(--ui-surface);border-radius:50%;box-shadow:0 0 0 100px var(--ui-ink-a80);pointer-events:none;box-sizing:border-box}
.booking-photo-zoom{display:flex;align-items:center;gap:12px;width:100%;color:var(--ui-muted)}.booking-photo-zoom input{flex:1;min-width:0;accent-color:var(--ui-primary);height:30px;padding:0;border:0;box-shadow:none;background:transparent}
.booking-photo-fit{border:0!important;background:transparent!important;box-shadow:none!important;color:var(--ui-muted)!important;font-size:12px!important;min-height:32px!important;padding:3px 8px!important}
#booking-photo-status{margin:0;color:var(--ui-muted);font-size:12px;text-align:center}#booking-photo-status:empty{display:none}
#booking-photo-apply{background:var(--ui-primary);color:var(--ui-surface);border:1px solid var(--ui-primary)}
@media(max-width:700px){.booking-photo-dialog .booking-dialog-body{padding:8px 16px 10px;gap:7px}.booking-photo-stage{width:min(100%,260px,calc(var(--booking-modal-height,80dvh) - 220px));min-width:100px}.booking-photo-dialog footer button{font-size:12px!important}}

@media(max-width:700px){
 body.widgets-page:not(.booking-client-view) #booking-screen .booking-body{padding-inline:0}
 body.widgets-page:not(.booking-client-view) #booking-screen .bj-records{padding-inline:0}
 .booking-mobile-settings-home{padding-inline:0}
}

/* Journal color identifies the specialist; customer placeholders stay neutral. */
.bj-record.is-cancelled{border-left-color:var(--staff-color,var(--ui-primary))}
.bj-record .bj-avatar-client .bc-avatar-fallback{background:var(--ui-selected);color:var(--ui-muted)}
.bj-record .bj-avatar-staff .bc-avatar-fallback{background:var(--ui-selected);background:color-mix(in srgb,var(--staff-color) 18%,var(--ui-surface));color:var(--ui-primary-hover);color:color-mix(in srgb,var(--staff-color) 65%,var(--ui-primary))}

/* Record summaries stay compact; full services belong to the read-only dialog. */
.bj-record[data-record]{cursor:pointer}.bj-record[data-record]:focus-visible{outline:2px solid var(--ui-primary);outline-offset:2px}
.bj-record-details-hint{display:block;max-width:100%;color:var(--ui-muted);font-size:11px;font-weight:400;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bj-record-details-hint>span{margin-left:3px;color:var(--ui-muted)}
.bj-record .bj-avatar-staff .bc-avatar-fallback,#booking-dialog.bj-details-dialog .bc-avatar-fallback{background:var(--ui-selected);color:var(--ui-muted)}
#booking-dialog.bj-details-dialog{width:min(510px,calc(100% - 32px));max-width:510px;border-radius:16px}
#booking-dialog.bj-details-dialog header{padding:17px 20px;gap:12px}#booking-dialog.bj-details-dialog h2{font-size:18px;color:var(--ui-ink);outline:none}
#booking-dialog.bj-details-dialog .booking-dialog-body{padding:18px 20px;display:flex;flex-direction:column;gap:16px;overflow-x:hidden}
.bj-detail-customer,.bj-detail-specialist{display:flex;align-items:center;gap:12px;min-width:0}.bj-detail-customer>div,.bj-detail-specialist>div{min-width:0;flex:1}
.bj-detail-customer .bj-avatar{width:52px;height:52px;font-size:20px}.bj-detail-customer h3{margin:0;color:var(--ui-ink);font-size:17px;line-height:1.4;font-weight:600;overflow-wrap:anywhere}
.bj-detail-customer .bj-client-contact{display:block;font-size:13px;line-height:1.5;margin-top:3px;white-space:normal;overflow-wrap:anywhere}
.bj-detail-profile{display:inline-block;font-size:12px;line-height:1.5;color:var(--ui-muted);margin-top:5px;text-decoration:none}.bj-detail-profile:hover{text-decoration:underline}.bj-detail-contact{font-size:13px;line-height:1.5;color:var(--ui-muted);margin:3px 0 0;overflow-wrap:anywhere}
.bj-detail-block{padding:13px 14px;border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:11px;min-width:0}.bj-detail-block h3{margin:0 0 9px;color:var(--ui-muted);font-size:11px;font-weight:500;line-height:1.4}
.bj-detail-services{list-style:none;margin:0;padding:0;display:grid;gap:11px}.bj-detail-services strong{display:block;font-size:13px;line-height:1.5;color:var(--ui-primary-hover);font-weight:550;overflow-wrap:anywhere}.bj-detail-services small{display:block;margin-top:3px;color:var(--ui-muted);font-size:11px;line-height:1.4}
.bj-detail-total{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--ui-border);padding-top:10px;margin:12px 0 0;font-size:12px;color:var(--ui-muted)}.bj-detail-total strong{font-weight:600;color:var(--ui-primary-hover)}
.bj-detail-facts{margin:0;display:grid;gap:9px}.bj-detail-facts>div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px;font-size:12px;line-height:1.5}.bj-detail-facts dt{color:var(--ui-muted)}.bj-detail-facts dd{margin:0;color:var(--ui-primary-hover);overflow-wrap:anywhere}
.bj-detail-specialist{border-top:1px solid var(--ui-border);padding-top:14px}.bj-detail-specialist .bj-avatar{width:40px;height:40px;font-size:16px}.bj-detail-specialist small{display:block;color:var(--ui-muted);font-size:11px;margin-bottom:3px}.bj-detail-specialist strong{display:block;color:var(--ui-primary-hover);font-size:13px;font-weight:550;line-height:1.5;overflow-wrap:anywhere}
.bj-detail-note{margin:0;color:var(--ui-muted);font-size:12px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
#booking-dialog.bj-details-dialog footer{padding:12px 20px}#booking-dialog.bj-details-dialog footer button{min-height:40px}
@media(max-width:700px){.bj-record-details-hint{font-size:9px;line-height:1.4}#booking-dialog.bj-details-dialog{width:calc(var(--booking-right,100vw) - var(--booking-left,0px) - 24px)}#booking-dialog.bj-details-dialog header{padding:13px 14px}#booking-dialog.bj-details-dialog .booking-dialog-body{padding:14px;gap:13px}.bj-detail-facts>div{grid-template-columns:110px minmax(0,1fr);gap:8px}.bj-detail-customer h3{font-size:15px}#booking-dialog.bj-details-dialog footer{padding:10px 14px}}

/* v290: shared administrative surfaces, using the approved lilac visual language. */
#booking-screen{--booking-ui-accent:var(--ui-primary);--booking-ui-line:var(--ui-selected);--booking-ui-ink:var(--ui-primary);--booking-ui-muted:var(--ui-primary)}
.bj-record[data-pointer-return]:focus-visible{outline:none;background:linear-gradient(110deg,var(--ui-surface),var(--ui-surface))}
.bj-record.is-cancelled[data-pointer-return]:focus-visible{background:var(--ui-surface)}
#booking-screen .bc-avatar-fallback,.booking-dialog:not(.bc-dialog) .bc-avatar-fallback{background:var(--ui-selected);color:var(--ui-muted)}
.booking-dialog.booking-admin-dialog:not(.bc-dialog){border-color:var(--ui-border);border-radius:18px;box-shadow:0 22px 70px var(--ui-ink-a38);background:var(--ui-surface)}
.booking-dialog.booking-admin-dialog:not(.bc-dialog) header{padding:18px 22px;gap:14px;border-bottom:1px solid var(--ui-border)}
.booking-dialog.booking-admin-dialog:not(.bc-dialog) h2{color:var(--ui-ink);font-size:22px;font-weight:650;letter-spacing:-.35px}
.booking-dialog.booking-admin-dialog:not(.bc-dialog) header button{width:36px;height:36px;min-height:36px;border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:10px;color:var(--ui-muted);font-size:25px;box-shadow:none}
.booking-dialog.booking-admin-dialog:not(.bc-dialog) .booking-dialog-body{padding:18px 22px}
.booking-dialog.booking-admin-dialog:not(.bc-dialog) footer{padding:14px 22px;border-top:1px solid var(--ui-border);gap:10px}
.booking-dialog.booking-admin-dialog:not(.bc-dialog) footer button{min-height:42px;border-radius:10px;font-size:13px;padding:10px 17px}
.booking-dialog.booking-admin-dialog:not(.bc-dialog) .widget-primary{color:var(--ui-surface);background:linear-gradient(110deg,var(--ui-primary),var(--ui-primary));border:1px solid var(--ui-primary);box-shadow:0 4px 12px var(--ui-ink-a1a)}
.booking-dialog.booking-admin-dialog:not(.bc-dialog) .widget-primary:disabled{opacity:.48;box-shadow:none}
.booking-dialog.booking-admin-dialog:not(.bc-dialog) .booking-field{color:var(--ui-muted);gap:6px;font-size:12px}
.booking-dialog.booking-admin-dialog:not(.bc-dialog) input:not([type=checkbox]):not([type=range]),.booking-dialog.booking-admin-dialog:not(.bc-dialog) select,.booking-dialog.booking-admin-dialog:not(.bc-dialog) textarea{border-color:var(--ui-border);border-radius:9px;background:var(--ui-surface);color:var(--ui-primary-hover)}
.booking-dialog.booking-admin-dialog:not(.bc-dialog) input:focus-visible,.booking-dialog.booking-admin-dialog:not(.bc-dialog) select:focus-visible,.booking-dialog.booking-admin-dialog:not(.bc-dialog) textarea:focus-visible{outline:2px solid var(--ui-primary);outline-offset:1px}
#booking-entry-dialog.bj-entry-dialog{width:min(660px,calc(100% - 32px))}
#booking-entry-dialog .bj-entry-selects{gap:16px}#booking-entry-dialog .bj-entry-selects .booking-field{margin-bottom:17px}
#booking-entry-dialog .bj-choice{min-height:62px;padding:10px 12px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface);gap:10px;text-align:left}
.bj-choice-content{display:flex!important;flex:1;flex-direction:row!important;align-items:center;gap:11px;min-width:0}.bj-choice-copy{display:flex;flex:1;flex-direction:column;min-width:0;gap:4px}.bj-choice-copy strong{font-size:14px;line-height:1.35;font-weight:550;overflow-wrap:anywhere}.bj-choice-copy small{font-size:12px;line-height:1.4;color:var(--ui-muted);overflow-wrap:anywhere}
.bj-choice-content .bj-avatar{width:40px;height:40px;font-size:15px}
#booking-entry-dialog .bj-entry-time-heading h3{color:var(--ui-ink);font-size:14px;font-weight:600}#booking-entry-dialog .bj-entry-time-heading{margin-bottom:10px}
#booking-entry-dialog .bj-entry-datebar{grid-template-columns:40px minmax(0,1fr) 40px;gap:8px;margin-bottom:12px}
#booking-entry-dialog .bj-entry-datebar button{min-height:42px;height:42px;border-color:var(--ui-border);border-radius:9px;background:var(--ui-surface)}
#booking-entry-dialog #booking-entry-date-toggle{background:var(--ui-surface);justify-content:flex-start;padding:8px 12px;gap:10px}#booking-entry-dialog .bj-entry-datebar svg{width:20px;height:20px}#booking-entry-dialog #booking-entry-date-label{font-size:14px;color:var(--ui-primary-hover);font-weight:550}
#booking-entry-dialog .bj-entry-slot-grid{gap:8px}#booking-entry-dialog .bj-entry-slot-grid button{min-height:40px;border:1px solid var(--ui-border);border-radius:9px;background:var(--ui-surface);color:var(--ui-primary-hover);font-size:14px;font-weight:500}
#booking-entry-dialog .bj-entry-slot-grid button[aria-pressed=true]{border-color:var(--ui-primary);background:var(--ui-selected);color:var(--ui-primary-hover);box-shadow:inset 0 0 0 1px var(--ui-primary)}
#booking-entry-dialog .bj-entry-slot-grid button:disabled{background:var(--ui-surface);color:var(--ui-muted);border-color:var(--ui-border);text-decoration:line-through;cursor:default}
#booking-entry-dialog .booking-pager{justify-content:center;gap:13px;margin-top:14px}#booking-entry-dialog .booking-pager button{min-height:38px;border-radius:9px;border-color:var(--ui-border);padding:7px 14px;color:var(--ui-muted);background:var(--ui-surface)}#booking-entry-dialog .booking-pager span{font-size:12px;color:var(--ui-muted)}
#booking-entry-dialog .bj-entry-current{padding:12px;border:0;border-radius:11px;background:var(--ui-surface);margin:0 0 16px;gap:5px}#booking-entry-dialog .bj-entry-current strong{color:var(--ui-ink);font-size:14px}#booking-entry-dialog .bj-entry-current span{color:var(--ui-muted);font-size:12px}
#booking-entry-dialog [data-moving=true] .bj-entry-summary{display:none}#booking-entry-dialog .bj-entry-phone>summary{color:var(--ui-muted);font-size:12px;padding:7px 0}
#booking-entry-options{border-color:var(--ui-border);border-radius:13px;box-shadow:0 14px 38px var(--ui-ink-a26)}
#booking-entry-options [role=option]{min-height:56px;padding:8px 10px;gap:10px}#booking-entry-options [role=option][aria-selected=true]{background:var(--ui-selected);color:var(--ui-primary-hover)}#booking-entry-options [role=option]>.bj-choice-content{flex:1}
#booking-entry-options .bj-avatar{width:34px;height:34px;border-radius:10px}#booking-entry-options .bj-avatar{border-radius:50%}
#booking-service-dialog .bs-service-people,#booking-staff-dialog .bs-person-group{border-color:var(--ui-border);border-radius:11px;background:var(--ui-surface)}
#booking-staff-dialog .bs-person-group[open]>summary{background:var(--ui-surface);border-bottom-color:var(--ui-border)}#booking-staff-dialog .bs-schedule-card{border-color:var(--ui-border);background:var(--ui-surface);border-radius:10px}
#booking-staff-discard-dialog{border-color:var(--ui-border);border-radius:17px;box-shadow:0 20px 60px var(--ui-ink-a32)}#booking-staff-discard{background:var(--ui-red);border-color:var(--ui-red);color:var(--ui-surface)}
/* Settings lists share accessible search and a restrained status chip. */
#booking-screen .ba-settings{color:var(--ui-ink)}#booking-screen .booking-section-heading h2{font-size:22px;color:var(--ui-ink);letter-spacing:-.4px}
#booking-screen [data-add=services],#booking-screen [data-add=staff]{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:linear-gradient(110deg,var(--ui-primary),var(--ui-primary));border:1px solid var(--ui-primary);color:var(--ui-surface);min-height:40px;padding:9px 14px;border-radius:10px;box-shadow:0 4px 12px var(--ui-ink-a1a)}
#booking-screen [data-add=services] svg{width:18px;height:18px;flex:none}
#booking-screen .booking-service-search{display:flex;align-items:center;gap:9px;min-height:42px;margin-bottom:13px;padding:0 12px;border:1px solid var(--ui-border);border-radius:11px;background:var(--ui-surface)}
#booking-screen .booking-service-search>svg{width:19px;height:19px;flex:none;color:var(--ui-muted)}#booking-screen .booking-service-search input{height:40px;min-height:40px;padding:7px 0;border:0;border-radius:0;background:transparent;font-size:13px;box-shadow:none}
#booking-screen .ba-service-item{min-height:72px;padding:12px 14px;gap:13px;border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:13px;box-shadow:0 3px 13px var(--ui-ink-a07)}
#booking-screen .ba-service-item:hover{border-color:var(--ui-primary);background:var(--ui-surface)}#booking-screen .ba-service-item .ba-staff-item-copy strong{color:var(--ui-ink);font-size:15px}#booking-screen .ba-service-item .ba-staff-item-copy small{font-size:12px;color:var(--ui-muted)}
#booking-screen .ba-service-item .ba-staff-state{font-size:11px;color:var(--ui-muted);background:var(--ui-bg);border-radius:18px;padding:5px 9px;line-height:1.4;max-width:110px}
#booking-screen .ba-service-item .ba-staff-state[data-active=true]{background:var(--ui-green-soft);color:var(--ui-green)}#booking-screen .ba-service-item .ba-staff-state[data-active=true]::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--ui-green);margin-right:5px;vertical-align:1px}
#booking-screen .ba-settings-card{border-color:var(--ui-border);border-radius:12px;box-shadow:0 3px 12px var(--ui-ink-a05)}
.booking-settings-menu-art{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:10px;color:var(--settings-icon-ink,var(--ui-violet));background:var(--settings-icon-bg,var(--ui-violet-soft))}.booking-settings-menu-art svg{width:20px;height:20px}

@media(min-width:701px){
 #booking-screen .ba-settings:not(.bw-settings){grid-template-columns:210px minmax(0,1fr);gap:20px}
 #booking-settings-nav{padding:9px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface);align-self:stretch;justify-content:flex-start}
 #booking-screen #booking-settings-nav>button{display:flex;align-items:center;gap:10px;min-height:56px;padding:9px 10px;text-align:left;border-radius:11px;color:var(--ui-muted);font-size:12px}
 #booking-screen #booking-settings-nav>button[aria-pressed=true]{color:var(--ui-primary-hover);background:var(--ui-selected);box-shadow:none}
}

#booking-dialog.bj-cancel-dialog{width:min(510px,calc(100% - 28px));border-radius:19px;background:linear-gradient(130deg,var(--ui-surface) 68%,var(--ui-surface))}
#booking-dialog.bj-cancel-dialog header{padding:20px 20px 8px;border-bottom:0;align-items:flex-start}#booking-dialog.bj-cancel-dialog h2{display:flex;align-items:center;gap:12px;font-size:21px;color:var(--ui-ink);letter-spacing:-.3px}
.bj-cancel-art{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:13px;background:var(--ui-red-soft);color:var(--ui-red)}.bj-cancel-art svg{width:25px;height:25px}
#booking-dialog.bj-cancel-dialog .booking-dialog-body{padding:0 20px 18px}.bj-cancel-explanation{font-size:13px!important;line-height:1.5!important;color:var(--ui-muted)!important;margin:0 0 14px!important}
#booking-dialog.bj-cancel-dialog .bj-cancel-summary{display:flex;align-items:center;gap:13px;padding:16px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface);min-width:0}.bj-cancel-summary>div{min-width:0}.bj-cancel-summary .bj-avatar{width:44px;height:44px;font-size:17px}.bj-cancel-summary strong{display:block;font-size:15px;color:var(--ui-ink)}.bj-cancel-summary div>span{display:block;font-size:12px;color:var(--ui-muted);margin-top:5px}.bj-cancel-summary p{font-size:13px;color:var(--ui-muted);margin-top:5px;overflow-wrap:anywhere}
#booking-dialog.bj-cancel-dialog footer{padding:14px 20px;gap:12px;background:var(--ui-surface)}#booking-dialog.bj-cancel-dialog footer button{min-height:44px;font-size:13px;border-radius:11px;flex:1}
#booking-dialog.bj-cancel-dialog #booking-dialog-submit{display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(110deg,var(--ui-red),var(--ui-red));border:1px solid var(--ui-red);color:var(--ui-surface);box-shadow:0 4px 12px var(--ui-ink-a20)}#booking-dialog.bj-cancel-dialog #booking-dialog-submit svg{width:19px;height:19px;flex:none}
/* Keep read-only details in the same family without adding new actions. */
#booking-dialog.bj-details-dialog{border-color:var(--ui-border);background:linear-gradient(135deg,var(--ui-surface) 72%,var(--ui-surface))}
#booking-dialog.bj-details-dialog .bj-detail-block{border-color:var(--ui-border);background:var(--ui-surface)}#booking-dialog.bj-details-dialog .bj-detail-facts{padding:13px 14px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface)}
#booking-dialog.bj-details-dialog .bj-detail-specialist{border-top-color:var(--ui-border)}#booking-dialog.bj-details-dialog #booking-dialog-cancel{background:linear-gradient(110deg,var(--ui-primary),var(--ui-primary));border:1px solid var(--ui-primary);color:var(--ui-surface);min-width:112px}
@media(max-width:700px){
 .booking-dialog.booking-admin-dialog:not(.bc-dialog){border-radius:15px}
 .booking-dialog.booking-admin-dialog:not(.bc-dialog) header{padding:13px 14px;gap:9px}.booking-dialog.booking-admin-dialog:not(.bc-dialog) h2{font-size:18px}
 .booking-dialog.booking-admin-dialog:not(.bc-dialog) .booking-dialog-body{padding:13px 14px}.booking-dialog.booking-admin-dialog:not(.bc-dialog) footer{padding:11px 14px;gap:8px}
 .booking-dialog.booking-admin-dialog:not(.bc-dialog) input:not([type=checkbox]):not([type=range]),.booking-dialog.booking-admin-dialog:not(.bc-dialog) select,.booking-dialog.booking-admin-dialog:not(.bc-dialog) textarea{font-size:16px}
 #booking-entry-dialog.bj-entry-dialog{width:calc(var(--booking-right,100vw) - var(--booking-left,0px) - 24px)}
 #booking-entry-dialog .bj-entry-selects{gap:10px}#booking-entry-dialog .bj-entry-selects .booking-field{margin-bottom:12px}#booking-entry-dialog .bj-choice{min-height:58px;padding:9px 10px}
 #booking-entry-dialog .bj-entry-selects{grid-template-columns:minmax(0,1fr)}.bj-choice-copy strong{font-size:13px}.bj-choice-copy small{font-size:11px}.bj-choice-content .bj-avatar{width:34px;height:34px}
 #booking-entry-dialog .bj-entry-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}#booking-entry-dialog .bj-entry-slot-grid button{font-size:13px;min-height:40px}
 #booking-entry-dialog .bj-entry-datebar{grid-template-columns:34px minmax(0,1fr) 34px;gap:6px}#booking-entry-dialog #booking-entry-date-toggle{padding:7px 8px;gap:6px}#booking-entry-dialog #booking-entry-date-label{font-size:12px}
 #booking-screen .booking-service-search input{font-size:16px}#booking-screen .ba-service-item{min-height:68px;padding:10px;gap:10px}#booking-screen .ba-service-item .ba-staff-item-copy strong{font-size:13px}#booking-screen .ba-service-item .ba-staff-item-copy small{font-size:11px}#booking-screen .ba-service-item .ba-staff-state{font-size:10px;padding:4px 7px;max-width:80px}
 #booking-dialog.bj-cancel-dialog header{padding:16px 14px 8px}#booking-dialog.bj-cancel-dialog h2{font-size:18px;gap:9px}.bj-cancel-art{width:35px;height:35px;border-radius:11px}.bj-cancel-art svg{width:22px;height:22px}#booking-dialog.bj-cancel-dialog .booking-dialog-body{padding:0 14px 14px}#booking-dialog.bj-cancel-dialog .bj-cancel-summary{padding:12px;gap:10px}#booking-dialog.bj-cancel-dialog footer{padding:12px 14px;gap:8px}
}
#booking-dialog.bj-details-dialog{width:min(560px,calc(100% - 32px));max-width:560px}
.bj-detail-status{flex:none;align-self:center;padding:6px 11px;border-radius:20px;background:var(--ui-green-soft);color:var(--ui-green);font-size:11px;font-weight:550;line-height:1.4}.bj-detail-status[data-status=cancelled]{background:var(--ui-red-soft);color:var(--ui-red)}
#booking-dialog.bj-details-dialog .bj-detail-services li{display:flex;align-items:center;gap:12px;min-width:0}#booking-dialog.bj-details-dialog .bj-detail-services li>div{min-width:0;flex:1}#booking-dialog.bj-details-dialog .bj-detail-services strong{font-size:14px}
.bj-detail-facts dt{display:flex;align-items:center;gap:9px;min-width:0}.bj-detail-facts dt>span:last-child{min-width:0;overflow-wrap:anywhere}.bj-detail-fact-icon{display:grid;place-items:center;flex:none;width:27px;height:27px;border-radius:8px;background:var(--ui-violet-soft);color:var(--ui-violet)}.bj-detail-fact-icon svg{width:18px;height:18px}.bj-detail-fact-icon[data-fact="Время"]{background:var(--ui-selected);color:var(--ui-primary-hover)}.bj-detail-fact-icon[data-fact="Продолжительность"],.bj-detail-fact-icon[data-fact="Статус"]{background:var(--ui-green-soft);color:var(--ui-green)}
#booking-dialog.bj-details-dialog .bj-detail-facts>div{grid-template-columns:170px minmax(0,1fr);align-items:center}#booking-dialog.bj-details-dialog .bj-detail-facts dd{font-size:13px;color:var(--ui-primary-hover)}
@media(max-width:700px){#booking-dialog.bj-details-dialog{width:calc(var(--booking-right,100vw) - var(--booking-left,0px) - 24px)}.bj-detail-customer{flex-wrap:wrap;gap:10px}.bj-detail-customer>div{flex:1;min-width:120px}.bj-detail-status{margin-left:64px;padding:4px 9px;font-size:10px}#booking-dialog.bj-details-dialog .bj-detail-facts>div{grid-template-columns:145px minmax(0,1fr);font-size:11px;gap:7px}#booking-dialog.bj-details-dialog .bj-detail-facts dd{font-size:12px}.bj-detail-facts dt{gap:7px}.bj-detail-fact-icon{width:23px;height:23px}.bj-detail-fact-icon svg{width:16px;height:16px}}
.bj-choice-content .bj-avatar>svg{width:23px;height:23px}
@media(min-width:701px){#booking-entry-save{min-width:188px}}
@media(max-width:700px){#booking-entry-dialog footer button{padding:10px 8px;min-width:0;flex:1}#booking-entry-dialog footer #booking-entry-save{flex:1.7}#booking-dialog.bj-cancel-dialog footer button{padding:10px 8px;font-size:12px;white-space:nowrap}#booking-dialog.bj-cancel-dialog #booking-dialog-submit{gap:6px}#booking-dialog.bj-cancel-dialog #booking-dialog-submit svg{width:16px;height:16px}}
#booking-screen .ba-settings:not(.bw-settings) .booking-settings-content{max-width:none}
.bj-choice-content .bj-avatar-staff{color:var(--ui-muted);background:var(--ui-selected)}

/* Keep specialist identity and settings hues; soften only the decorative accents. */
.bj-record,.bj-record.is-cancelled{border-left-color:color-mix(in srgb,var(--staff-color,var(--ui-primary)) 82%,white)}
.booking-settings-menu-art svg,.booking-mobile-menu-icon svg{opacity:1}

:where([data-section="services"],[data-mobile-section="services"]) {--settings-icon-ink:var(--ui-violet);--settings-icon-bg:var(--ui-violet-soft)}
:where([data-section="staff"],[data-mobile-section="staff"]) {--settings-icon-ink:var(--ui-teal);--settings-icon-bg:var(--ui-teal-soft)}
:where([data-section="main"],[data-mobile-section="main"]) {--settings-icon-ink:var(--ui-primary);--settings-icon-bg:var(--ui-selected)}
:where([data-section="notifications"],[data-mobile-section="notifications"]) {--settings-icon-ink:#CE831B;--settings-icon-bg:var(--ui-warning-soft)}
:where([data-section="appearance"],[data-mobile-section="appearance"]) {--settings-icon-ink:var(--ui-pink);--settings-icon-bg:var(--ui-pink-soft)}
:where([data-section="methods"],[data-mobile-section="methods"]) {--settings-icon-ink:var(--ui-accent);--settings-icon-bg:var(--ui-selected)}

/* v297: one selector surface, modality-aware focus, and compact mobile journal. */
#booking-entry-options[open]{display:flex;flex-direction:column;box-sizing:border-box;max-height:var(--popup-height);overflow:hidden;padding:8px}
#booking-entry-options>header{flex:none;min-width:0}
#booking-entry-options [role=listbox]{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;scroll-padding:4px}
#booking-entry-options [role=option]{flex:none;box-sizing:border-box;white-space:normal;min-width:0}
#booking-entry-options .bj-choice-content{flex-direction:row;gap:10px}
#booking-entry-options .bj-choice-copy{min-width:0;text-align:left}
#booking-entry-options .bj-choice-copy :is(strong,small){white-space:normal;overflow-wrap:anywhere}
#booking-entry-options [role=option]>span:last-child:not(.bj-choice-content){flex:none;width:18px;text-align:center}
#booking-entry-dialog .bj-entry-selects{grid-template-columns:repeat(2,minmax(0,1fr))}
#booking-entry-dialog .bj-entry-selects .booking-field{min-width:0}
#booking-calendar-today{display:none}
#booking-screen .bj-record:focus-visible{outline:2px solid var(--ui-primary);outline-offset:-3px;box-shadow:0 4px 18px var(--ui-ink-a06)}
#booking-screen [data-pointer-return]:focus{outline:none!important;box-shadow:none!important}
@media(max-width:700px){
 #booking-screen .bj-heading{position:sticky;display:flex;flex-wrap:nowrap;align-items:center;gap:6px;isolation:isolate}
 #booking-screen .bj-datebar{display:block;flex:1 1 auto;width:auto;min-width:0}
 #booking-day-prev,#booking-day-next,#booking-agenda-today{display:none!important}
 #booking-screen .bj-heading .bj-date-button{width:100%;height:44px;min-height:44px;min-width:0;padding:6px 8px;gap:6px;justify-content:flex-start}
 #booking-screen .bj-heading .bj-date-button svg{width:18px;height:18px;flex:none}
 #booking-selected-date{font-size:12px;white-space:nowrap}
 #booking-journal-tools{position:static;flex:0 0 auto;flex-basis:auto;width:auto;max-width:none;min-width:0;gap:6px;margin:0}
 #booking-screen #booking-journal-tools>.bj-icon-button,#booking-screen #booking-add{width:44px;min-width:44px;height:44px;min-height:44px;padding:8px;box-sizing:border-box;margin:0}
 #booking-journal-tools .bj-tool-zone{display:none;position:static;width:auto;height:44px;min-width:0;filter:none}
 #booking-journal-tools:is(.is-searching,.is-filtering) .bj-tool-zone{display:block}
 #booking-journal-tools .bj-tool-zone>:is(.bj-inline-search,.bj-inline-filters){height:44px}
 #booking-calendar-today{display:block;width:100%;min-height:38px;margin-top:6px;padding:6px;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-selected);color:var(--ui-primary-hover)}
 #booking-entry-dialog .bj-entry-selects{grid-template-columns:minmax(0,1fr)}
 .bj-record{grid-template-columns:54px minmax(0,1fr) 88px;padding:6px 5px;column-gap:7px}
 .bj-time{justify-self:start;margin-left:1px}
 .bj-assignee{width:54px}
 .bj-staff-info{max-width:54px}
 .bj-row-actions{width:88px;gap:5px}
 #booking-screen .bj-row-actions button{height:40px;min-height:40px;padding:6px 4px;font-size:11px;gap:4px}
 .bj-row-actions svg{width:12px;height:12px}
}

/* v298: compact controls; closed choices never grow with their labels. */
#booking-entry-dialog .bj-choice{height:64px;min-height:64px;max-height:64px;box-sizing:border-box;overflow:hidden}
#booking-entry-dialog .bj-choice-content,#booking-entry-dialog .bj-choice-copy{min-width:0;overflow:hidden}
#booking-entry-dialog .bj-choice-copy :is(strong,small){display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}
#booking-service-search-toggle{display:none}
#booking-calendar-today{display:block;width:100%;min-height:38px;margin-top:6px;padding:6px;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-selected);color:var(--ui-primary-hover)}
@media(min-width:701px){
 #booking-day-prev,#booking-day-next,#booking-agenda-today{display:none!important}
 #booking-screen .bj-heading{flex-wrap:nowrap}
 #booking-screen .bj-datebar{display:block;flex:none;width:auto}
 #booking-screen .bj-heading .bj-date-button{min-width:180px}
 #booking-journal-tools{flex:1 1 auto;max-width:none;margin-left:0}
}
@media(max-width:700px){
 .booking-mobile-settings-detail .ba-settings{gap:8px}
 .booking-mobile-settings-detail .booking-mobile-settings-heading{display:flex;align-items:center;gap:8px;top:0;padding:0;border:0;min-height:44px}
 #booking-screen #booking-mobile-settings-back{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface);font-size:21px}
 .booking-mobile-settings-heading #booking-mobile-settings-title{margin:0;font-size:18px;line-height:1.3;min-width:0;color:var(--ui-ink)}
 .booking-mobile-settings-detail .booking-body{scroll-padding-top:60px}
 .booking-mobile-settings-detail #booking-settings-content .booking-section-heading h2{display:none}
 .booking-mobile-settings-detail #booking-settings-content .booking-section-heading>div:not(:has(p)){display:none}
 .booking-mobile-settings-detail .booking-section-heading:not(:has(button)):not(:has(p)){display:none}
 .booking-mobile-settings-detail .booking-section-heading{margin:0 0 8px;gap:8px}
 #booking-screen .booking-services-toolbar{display:flex;justify-content:space-between;align-items:center;margin:0 0 8px;min-height:44px}
 #booking-screen #booking-service-search-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;min-width:44px;height:44px;min-height:44px;padding:9px;border:1px solid var(--ui-border);border-radius:10px;color:var(--ui-primary-hover);background:var(--ui-surface)}
 #booking-service-search-toggle svg{width:20px;height:20px}
 #booking-screen #booking-service-search-toggle[aria-expanded=true]{background:var(--ui-selected);border-color:var(--ui-primary)}
 #booking-screen .booking-services-toolbar [data-add=services]{max-width:none;min-height:44px;height:44px;padding:8px 12px;margin:0;font-size:12px}
 #booking-screen .booking-service-search{margin-bottom:8px;min-height:44px}
 #booking-screen .booking-service-search[hidden]{display:none}
 #booking-screen .booking-service-search input{font-size:16px}
 .booking-mobile-settings-detail .booking-setting-group{margin-bottom:8px}
 .booking-mobile-settings-detail .booking-client-brand-settings{padding:10px!important}
 .booking-mobile-settings-detail .booking-client-brand-settings>header{margin-bottom:8px}
 .booking-mobile-settings-detail .booking-preview-launch{margin:8px 0;gap:6px}
 #booking-entry-dialog .bj-choice{height:62px;min-height:62px;max-height:62px}
 .bj-record{grid-template-columns:50px minmax(0,1fr) 92px;column-gap:6px;padding-left:4px;padding-right:5px}
 .bj-time{margin-left:0}
 .bj-assignee,.bj-staff-info{width:50px;max-width:50px}
 .bj-row-actions{width:92px}
 .bj-customer{align-self:center;min-width:0}
}

/* v299: compact entry sheets and an inline mobile service search. */
#booking-entry-dialog.bj-entry-dialog{width:min(740px,calc(100% - 24px))}
#booking-entry-dialog.booking-admin-dialog header{padding:12px 16px}
#booking-entry-dialog.booking-admin-dialog h2{font-size:20px}
#booking-entry-dialog.booking-admin-dialog .booking-dialog-body{padding:12px 16px;min-height:0;overscroll-behavior:contain}
#booking-entry-dialog.booking-admin-dialog footer{padding:10px 16px}
#booking-entry-dialog .bj-entry-current{padding:6px 8px;margin:0 0 8px;gap:2px}
#booking-entry-dialog .bj-entry-selects{gap:12px}
#booking-entry-dialog .bj-entry-selects .booking-field{margin-bottom:10px;gap:4px}
#booking-entry-dialog .bj-choice{height:58px;min-height:58px;max-height:58px;padding:8px 10px}
#booking-entry-dialog .bj-entry-datebar{grid-template-columns:minmax(0,1fr);margin-bottom:8px}
#booking-entry-day-prev,#booking-entry-day-next{display:none!important}
#booking-entry-dialog #booking-entry-date-toggle{height:40px;min-height:40px}
#booking-entry-dialog .bj-entry-time-heading{margin-bottom:6px}
#booking-entry-dialog .bj-entry-slot-grid{gap:6px}
#booking-entry-dialog .bj-entry-slot-grid button{min-height:40px;padding:5px;line-height:1.2;font-size:13px}
#booking-entry-dialog .bj-entry-slot-grid small{font-size:10px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
#booking-entry-dialog .booking-pager{gap:8px;margin-top:8px}
#booking-entry-dialog .booking-pager button{min-height:36px;padding:5px 12px}
#booking-entry-dialog .bj-entry-time{margin-bottom:8px}
#booking-entry-dialog .bj-entry-customer{padding-top:4px}
#booking-entry-dialog .bj-entry-customer h3{margin-bottom:6px}
#booking-entry-dialog .bj-entry-customer .booking-field{margin-bottom:6px;gap:4px}
#booking-entry-dialog .bj-entry-summary{font-size:11px;margin:5px 0 0;line-height:1.35;overflow-wrap:anywhere}
@media(max-width:700px){
 #booking-entry-dialog.bj-entry-dialog{width:calc(var(--booking-right,100vw) - var(--booking-left,0px) - 16px)}
 #booking-entry-dialog.booking-admin-dialog header{padding:10px 12px;gap:8px}
 #booking-entry-dialog.booking-admin-dialog h2{font-size:18px}
 #booking-entry-dialog.booking-admin-dialog .booking-dialog-body{padding:10px 12px}
 #booking-entry-dialog.booking-admin-dialog footer{padding:9px 12px}
 #booking-entry-dialog .bj-entry-selects{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 #booking-entry-dialog .bj-choice{height:56px;min-height:56px;max-height:56px;padding:7px 8px;gap:5px}
 #booking-entry-dialog .bj-choice-content{gap:5px}
 #booking-entry-dialog .bj-choice-content .bj-avatar{width:28px;height:28px;flex:none}
 #booking-entry-dialog .bj-choice-copy strong{font-size:12px}
 #booking-entry-dialog .bj-choice-copy small{font-size:10px}
 #booking-entry-dialog .bj-entry-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 #booking-entry-dialog .bj-entry-slot-grid button{min-height:42px;font-size:13px}
 #booking-entry-dialog .booking-form-grid{gap:6px}
 #booking-entry-dialog .bj-entry-customer input{height:40px;min-height:40px;font-size:16px}
 .bj-record{grid-template-columns:46px minmax(0,1fr) 100px;padding-left:2px;column-gap:8px}
 .bj-time{width:46px;padding-left:0;padding-right:0}
 .bj-assignee,.bj-staff-info{width:46px;max-width:46px}
 .bj-row-actions{width:100px}
 .bj-customer{justify-content:center;gap:7px;padding:0 2px}.bj-customer .bj-client-info{flex:0 1 auto}.bj-customer .bj-avatar{width:32px;height:32px;font-size:12px}
}

/* One list toolbar: full add label at rest, inline search plus compact add while open. */
.booking-list-search-toggle,.booking-list-search-close{display:none}
@media(min-width:701px){.booking-list-toolbar{flex-wrap:wrap}.booking-list-toolbar .booking-list-search{flex:1 1 100%;margin:0}}
@media(max-width:700px){
 #booking-screen .booking-list-toolbar{display:flex;position:relative;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:8px;min-height:44px;margin:0 0 8px}
 #booking-screen .booking-list-toolbar>div:not(.booking-list-search){display:none}
 #booking-screen .booking-list-search-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;min-width:44px;height:44px;padding:9px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface);color:var(--ui-primary-hover)}
 .booking-list-search-toggle svg{width:20px;height:20px}
 #booking-screen .booking-list-toolbar>[data-add]{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:1;width:auto;min-width:44px;max-width:none;height:44px;min-height:44px;padding:8px 10px;margin:0;font-size:12px;order:3}
 .booking-list-toolbar>[data-add] svg{width:18px;height:18px;flex:none}
 #booking-screen .booking-list-toolbar .booking-list-search{display:none;flex:1;min-width:0;width:auto;height:44px;margin:0;padding:0 5px;order:2}
 #booking-screen .booking-list-toolbar.is-search-open .booking-list-search{display:flex}
 #booking-screen .booking-list-toolbar.is-search-open .booking-list-search-toggle{display:none}
 #booking-screen .booking-list-toolbar.is-search-open>[data-add]{flex:0 0 44px;width:44px;padding:9px}
 .booking-list-toolbar.is-search-open>[data-add]>span{display:none}
 #booking-screen .booking-list-toolbar .booking-list-search>svg{display:none}
 #booking-screen .booking-list-search-close{display:flex;align-items:center;justify-content:center;flex:none;width:36px;height:40px;min-height:40px;padding:4px;font-size:21px}
 #booking-screen .booking-list-search input{min-width:0;font-size:16px}
}

/* Shared add/move choices: the list has the same horizontal avatar spacing as its trigger. */
#booking-entry-options.bj-options-popover [role=option]{display:flex;align-items:center;gap:10px;min-height:60px;padding:9px 10px}
#booking-entry-options.bj-options-popover [role=option]>.bj-choice-content{display:flex;flex-direction:row;align-items:center;gap:12px;min-width:0;flex:1}
#booking-entry-options .bj-choice-content .bj-avatar{flex:0 0 36px;width:36px;height:36px}
#booking-entry-options .bj-choice-copy{flex:1;min-width:0;gap:3px}
#booking-entry-options .bj-choice-copy :is(strong,small){display:block;white-space:normal;overflow-wrap:anywhere;line-height:1.3}
#booking-entry-dialog .bj-choice-content{gap:10px}
#booking-entry-dialog .bj-entry-slot-grid{grid-template-columns:repeat(var(--entry-columns,8),minmax(0,1fr));gap:6px}
#booking-entry-dialog .bj-entry-slot-grid button{display:grid;place-items:center;min-height:38px;padding:6px 3px;font-size:13px;line-height:1.2}
#booking-entry-dialog .bj-entry-current{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;margin:0 0 10px;padding:9px 11px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-selected)}
#booking-entry-dialog .bj-entry-current>strong{font-size:14px;line-height:1.4;min-width:0;overflow-wrap:anywhere}
#booking-entry-dialog .bj-entry-current>span{display:block;font-size:12px;line-height:1.45;color:var(--ui-muted);margin:0}
#booking-entry-dialog .bj-entry-current b{font-size:14px;font-weight:650;color:var(--ui-primary-hover)}
#booking-entry-dialog .bj-entry-summary{padding:7px 9px;background:var(--ui-selected);border-radius:8px;color:var(--ui-ink);line-height:1.4}
#booking-entry-dialog .bj-entry-summary:empty{display:none}
/* One date popover for journal, add and move. Native date restrictions stay in JS. */
#booking-agenda-calendar{width:296px;max-width:calc(100vw - 16px);padding:12px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface);color:var(--ui-ink);font:13px/1.4 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;box-shadow:0 12px 36px var(--ui-ink-a12)}
#booking-agenda-calendar .ba-month>header{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:6px;margin:0 0 10px;padding:0;border:0;background:transparent}
#booking-agenda-calendar .ba-month>header strong{text-align:center;font-size:14px;color:var(--ui-ink);font-weight:600}
#booking-agenda-calendar .ba-month>header button{width:36px;height:36px;min-height:36px;margin:0;border:1px solid var(--ui-border);border-radius:9px;color:var(--ui-primary-hover);background:var(--ui-surface);font-size:21px;line-height:1}
#booking-agenda-calendar .ba-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;gap:3px;padding:0 3px;margin:0 0 4px;color:var(--ui-muted);font-size:11px}
#booking-agenda-calendar .ba-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:34px;gap:3px;padding:3px}
#booking-agenda-calendar .ba-days button{height:34px;min-height:34px;min-width:0;border:0;border-radius:8px;background:transparent;color:var(--ui-ink);font-size:12px;font-weight:500;line-height:1;font-family:inherit}
#booking-agenda-calendar .ba-days button:hover:not(:disabled):not([aria-pressed=true]){background:var(--ui-selected);color:var(--ui-primary-hover)}
#booking-agenda-calendar .ba-days button[data-outside=true]{color:var(--ui-muted)}
#booking-agenda-calendar .ba-days button:disabled,#booking-agenda-calendar .ba-month>header button:disabled{color:var(--ui-disabled);opacity:.5;cursor:default;background:transparent}
#booking-agenda-calendar .ba-days button[aria-pressed=true]{background:var(--ui-primary);color:var(--ui-surface)}
#booking-agenda-calendar button:focus-visible{outline:2px solid var(--ui-primary);outline-offset:-3px}
@media(max-width:700px){
 #booking-entry-dialog .bj-entry-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 #booking-entry-dialog .bj-entry-slot-grid button{min-height:42px;font-size:13px}
 #booking-entry-options.bj-options-popover [role=option]{min-height:60px}
 #booking-entry-dialog .bj-choice-content{gap:8px}
 #booking-entry-dialog .bj-entry-current>strong{font-size:13px}
 #booking-entry-dialog .bj-entry-current b{font-size:13px}
}

/* Whole-word labels, with the widest useful mobile option surface. */
#booking-entry-options .bj-choice-copy :is(strong,small){word-break:normal;overflow-wrap:normal;hyphens:none;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;max-width:100%}
#booking-entry-options .bj-choice-copy{min-width:0;overflow:hidden}
#booking-entry-options [role=option]{align-items:center}
@media(hover:hover){
 :is(.bj-options-popover,#booking-entry-options) [role=option]:not([aria-selected=true]):hover{background:#F3F7FD;color:var(--ui-ink)}
 :is(.bj-options-popover,#booking-entry-options) [role=option][aria-selected=true]:hover{background:var(--ui-selected);color:var(--ui-primary-hover)}
}
.bj-options-popover [role=option]{transition:background-color .14s ease,color .14s ease}
.bj-options-popover [role=option][aria-selected=true]{background:var(--ui-selected);color:var(--ui-primary-hover)}
.bj-options-popover [role=option]:focus-visible{outline:2px solid var(--ui-primary);outline-offset:-3px}
@media(prefers-reduced-motion:reduce){.bj-options-popover [role=option]{transition:none}}

/* Keep loading, empty and populated availability in the same reserved area. */
#booking-entry-slots{min-height:var(--entry-slots-height,0px)}
#booking-entry-dialog .booking-dialog-body{scrollbar-gutter:stable}
@media(min-width:701px){
}
@media(max-width:700px){
 .bj-customer .bj-avatar{width:38px;height:38px;flex:0 0 38px;font-size:14px}
 #booking-entry-dialog .bj-entry-current{display:grid;grid-template-columns:minmax(0,1fr);justify-content:start;gap:3px}
 #booking-entry-dialog .bj-entry-current>span{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-start;gap:2px 5px}
 #booking-entry-dialog .bj-entry-current>strong{overflow-wrap:normal;word-break:normal}
}
#booking-entry-slots{display:flow-root}

/* Content-sized entry sheets. The body alone scrolls above the keyboard. */
#booking-entry-dialog.bj-entry-dialog{height:auto}
#booking-entry-dialog.bj-entry-dialog form{height:auto;min-height:0}
#booking-entry-required{margin:0;padding:0 16px 8px;color:var(--ui-muted);font-size:12px;line-height:1.4;flex:none}
#booking-entry-required:empty{display:none}
#booking-entry-options .bj-service-option{display:flex;align-items:center;gap:10px;min-height:58px;padding:10px;border-radius:8px;cursor:pointer;flex:none}
#booking-entry-options .bj-service-option input{width:18px;height:18px;flex:none;margin:0;accent-color:var(--ui-primary)}
#booking-entry-options .bj-service-option[data-selected=true]{background:var(--ui-selected)}
#booking-entry-options .bj-service-option:focus-within{outline:2px solid var(--ui-primary);outline-offset:-2px}
#booking-entry-services-footer{flex:none;display:flex;align-items:center;gap:8px;border-top:1px solid var(--ui-border);padding:10px 4px 2px}
#booking-entry-services-footer[hidden]{display:none}
#booking-entry-services-summary{flex:1;min-width:0;margin:0;font-size:12px;color:var(--ui-muted);line-height:1.4}
#booking-entry-services-apply{min-height:40px;padding:8px 12px;border-radius:9px}
@media(hover:hover){#booking-entry-options .bj-service-option:not([data-selected=true]):hover{background:#F3F7FD}}
@media(max-width:700px){
 #booking-journal.has-journal-tool .bj-datebar{display:none}
 #booking-journal.has-journal-tool #booking-journal-tools{flex:1 1 100%;width:100%;margin:0}
 #booking-journal.has-journal-tool #booking-journal-tools .bj-tool-zone{position:relative;inset:auto;display:block;flex:1 1 auto;width:auto;min-width:0;height:44px;filter:none}
 #booking-journal.has-journal-tool #booking-agenda-search-toggle{display:none}
 #booking-journal.has-journal-tool #booking-journal-tools.is-filtering #booking-agenda-filter-toggle{display:none}
 #booking-screen .bj-inline-search input{font-size:16px}
 #booking-agenda-search-close,#booking-agenda-filter-close{flex:none;width:28px;min-width:28px;height:34px;padding:3px;border:0;background:transparent;color:var(--ui-primary-hover);font-size:20px}
 #booking-entry-dialog.bj-entry-dialog form{max-height:calc(var(--booking-modal-height,100dvh) - 2px)}
 #booking-entry-required{padding:0 12px 7px;font-size:11px}
}

.bc-any-avatar svg{width:24px;height:24px;color:var(--ui-muted)}

#booking-entry-options #booking-entry-option-list{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;scroll-padding:4px}
#booking-entry-options .bj-service-option input{min-width:18px;min-height:18px;height:18px}
.bc-booking-workspace .bc-staff>span:not(.bc-avatar){min-width:0;max-width:100%;overflow:hidden}
.bc-any-avatar{display:grid;place-items:center;flex:none;background:var(--ui-selected);border-radius:50%}
.bc-staff[data-bc-staff="__any__"] strong{overflow-wrap:normal;word-break:normal}
@media(max-width:700px){.bc-booking-workspace .bc-staff[data-bc-staff="__any__"] strong{-webkit-line-clamp:2}}

/* Both settings lists share the same disclosure search and toolbar geometry. */
#booking-screen #booking-settings-content .booking-settings-list-toolbar{display:flex;position:relative;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:8px;height:44px;min-height:44px;margin:0 0 8px}
#booking-screen #booking-settings-content .booking-settings-list-toolbar>div:first-child{display:block;flex:none;min-width:0}
#booking-screen #booking-settings-content .booking-settings-list-toolbar h2{display:block;margin:0;white-space:nowrap}
#booking-screen .booking-settings-list-toolbar .booking-list-search-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;padding:9px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface);color:var(--ui-primary-hover);margin:0 0 0 auto}
#booking-screen .booking-settings-list-toolbar .booking-list-search-toggle svg{width:20px;height:20px}
#booking-screen .booking-settings-list-toolbar>[data-add]{display:inline-flex;align-items:center;justify-content:center;flex:none;order:3;gap:6px;width:auto;max-width:none;min-width:44px;height:44px;min-height:44px;padding:8px 12px;margin:0;white-space:nowrap}
#booking-screen .booking-settings-list-toolbar>[data-add] svg{width:18px;height:18px;flex:none}
#booking-screen .booking-settings-list-toolbar .booking-list-search{display:none;order:2;flex:1 1 0;min-width:0;width:auto;height:44px;margin:0;padding:0 4px}
#booking-screen .booking-settings-list-toolbar.is-search-open .booking-list-search{display:flex;animation:bj-search-reveal .14s ease-out}
#booking-screen .booking-settings-list-toolbar.is-search-open .booking-list-search-toggle{display:none}
#booking-screen .booking-settings-list-toolbar.is-search-open>[data-add]{flex:0 0 44px;width:44px;padding:9px}
#booking-screen .booking-settings-list-toolbar.is-search-open>[data-add]>span{display:none}
#booking-screen .booking-settings-list-toolbar .booking-list-search>svg{display:none}
#booking-screen .booking-settings-list-toolbar .booking-list-search-close{display:flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;min-width:32px;height:40px;min-height:40px;padding:4px;font-size:21px}
#booking-screen .booking-settings-list-toolbar .booking-list-search input{width:100%;min-width:0}
@media(max-width:700px){#booking-screen #booking-settings-content .booking-settings-list-toolbar h2{font-size:18px}}
@media(max-width:480px){#booking-screen .booking-settings-list-toolbar>[data-add]{flex:0 0 44px;width:44px;padding:9px}#booking-screen .booking-settings-list-toolbar>[data-add]>span{display:none}}
@media(prefers-reduced-motion:reduce){#booking-screen .booking-settings-list-toolbar.is-search-open .booking-list-search{animation:none}}

/* The full specialist title wraps by words at compact widths. */
#booking-screen #booking-settings-content .booking-staff-toolbar>div:first-child{flex:0 1 auto}
#booking-screen #booking-settings-content .booking-staff-toolbar h2{white-space:normal;overflow-wrap:normal;word-break:normal;font-size:clamp(18px,1.55vw,22px);line-height:21px}
@media(max-width:700px){
 #booking-screen #booking-settings-content .booking-staff-toolbar>div:first-child{flex:1 1 auto}
 #booking-screen #booking-settings-content .booking-staff-toolbar h2{font-size:16px;line-height:20px}
 #booking-screen .booking-staff-toolbar>[data-add]{flex:0 0 44px;width:44px;padding:9px}
 #booking-screen .booking-staff-toolbar>[data-add]>span{display:none}
 #booking-screen #booking-settings-content .booking-staff-toolbar.is-search-open>div:first-child{display:none}
}


/* Schedule cards reuse the specialist list and the existing weekly editor. */
#booking-screen .booking-schedule-item{align-items:center}
#booking-screen .booking-schedule-item .ba-staff-item-copy{display:grid;gap:7px;min-width:0}
#booking-screen .booking-schedule-item .ba-staff-item-copy>strong{white-space:normal;overflow-wrap:anywhere}
#booking-screen .booking-schedule-item .ba-staff-item-copy>small{white-space:normal;line-height:1.45}
#booking-screen .booking-schedule-days{display:flex;flex-wrap:wrap;gap:4px}
#booking-screen .booking-schedule-days>span{display:inline-grid;place-items:center;min-width:28px;height:25px;padding:0 4px;border-radius:6px;background:var(--ui-bg);color:var(--ui-muted);font-size:12px;line-height:1}
#booking-screen .booking-schedule-days>[data-working=true]{background:var(--ui-selected);color:var(--ui-primary-hover);font-weight:600}
#booking-screen .booking-schedule-chevron{margin-left:auto;flex:none}
:where([data-section="schedule"],[data-mobile-section="schedule"]){--settings-icon-ink:var(--ui-primary);--settings-icon-bg:var(--ui-selected)}
@media(max-width:480px){#booking-screen .booking-schedule-item{gap:10px;padding:12px}#booking-screen .booking-schedule-days{gap:3px}#booking-screen .booking-schedule-days>span{min-width:23px;height:24px;padding:0 3px;font-size:11px}}


/* Booking rules are a compact form, not nested mobile accordions. */
#booking-settings-content .booking-rules-layout{display:grid;gap:12px;min-width:0}
#booking-screen .booking-rules-layout>.ba-settings-card{margin:0;padding:14px 16px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface)}
#booking-screen .booking-rules-layout>.ba-settings-card>header{margin:0 0 12px}
#booking-screen .booking-rules-layout h2{font-size:15px;line-height:1.4}
#booking-screen .booking-rules-layout .booking-form-grid{gap:12px 16px;align-items:start}
#booking-screen .booking-rules-layout .booking-field{margin:0;min-width:0}
#booking-screen .booking-rules-layout .booking-help{margin:4px 0 0;line-height:1.4}
#booking-screen .booking-rules-layout .booking-rule-availability{padding:12px 16px!important}
#booking-screen .booking-rules-layout .booking-rule-availability .booking-switch{margin:0;padding:0}
#booking-screen .booking-rules-policy{margin:12px 0 0;color:var(--ui-muted);font-size:12px;line-height:1.45}
#booking-screen .booking-rules-layout .booking-form-grid>.booking-field:last-child:nth-child(3){grid-column:1/-1}
@media(max-width:700px){
 #booking-screen .booking-rules-layout>.ba-settings-card{padding:12px}
 #booking-screen .booking-rules-layout .booking-rule-availability{padding:12px!important}
 #booking-screen .booking-rules-layout .booking-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px}
 #booking-screen .booking-rules-layout .booking-field{font-size:12px;line-height:1.4}
 #booking-screen .booking-rules-layout .booking-help,#booking-screen .booking-rules-policy{font-size:11px}
 #booking-screen .booking-rules-layout .booking-field input,#booking-screen .booking-rules-layout .booking-field select{font-size:16px}
}
/* Compact booking rules and the existing atomic setup flow. */
#booking-settings-content .booking-rules-layout{gap:0;border:1px solid var(--ui-border);border-radius:12px;overflow:hidden;background:var(--ui-surface)}
#booking-screen .booking-rules-layout>.ba-settings-card{border:0;border-radius:0;padding:14px 16px;background:transparent}
#booking-screen .booking-rules-layout>.ba-settings-card+.ba-settings-card{border-top:1px solid var(--ui-border)}
#booking-screen .booking-rules-layout>.ba-settings-card>header{margin-bottom:10px}
#booking-screen .booking-rules-layout .booking-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}
#booking-screen .booking-rules-layout>.ba-settings-card:last-child .booking-form-grid{grid-template-columns:minmax(110px,.7fr) minmax(150px,1fr) minmax(180px,1.4fr)}
#booking-screen .booking-rules-layout .booking-form-grid>.booking-field:last-child:nth-child(3){grid-column:auto}
#booking-screen .booking-rules-layout .booking-help{font-size:12px}
#booking-screen .booking-rules-policy{margin:10px 0 0;font-size:12px;line-height:1.45;color:var(--ui-muted)}
/* Setup shares the cards, field rhythm and quiet accents of booking settings. */
#booking-screen .booking-body[data-view=setup]{padding:8px 0 16px;scroll-padding:12px;overflow-anchor:none}
#booking-screen .booking-setup{box-sizing:border-box;flex:none;width:100%;max-width:800px;min-width:0;margin:0 auto;padding:20px;border:1px solid var(--ui-border);border-radius:16px;background:var(--ui-bg);color:var(--ui-ink)}
#booking-screen .booking-setup h2{margin:0 0 18px;font-size:22px;font-weight:650;line-height:1.3;letter-spacing:-.35px}
#booking-screen .booking-setup h3{margin:0 0 12px;font-size:14px;font-weight:650;line-height:1.4}
#booking-screen .bs-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0 0 18px;padding:3px;list-style:none;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface)}
#booking-screen .bs-progress li{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:28px;padding:0 5px;border:0;border-radius:7px;color:var(--ui-muted)}
#booking-screen .bs-progress li>span{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;background:var(--ui-bg);color:inherit;font-size:11px;font-weight:650}
#booking-screen .bs-progress small{font-size:12px;line-height:1.3;overflow-wrap:normal;word-break:normal;white-space:nowrap}
#booking-screen .bs-progress [aria-current=step]{background:var(--ui-selected);color:var(--ui-primary-hover);font-weight:650}
#booking-screen .bs-progress [aria-current=step]>span{background:var(--ui-primary);color:#fff}
#booking-screen .bs-progress [data-done=true]{color:var(--ui-green)}
#booking-screen .bs-progress [data-done=true]>span{background:var(--ui-green-soft)}
#booking-screen .bs-editors{display:grid;gap:10px;min-width:0}
#booking-screen .bs-editor{min-width:0;overflow:hidden;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface);transition:border-color .14s ease,box-shadow .14s ease}
#booking-screen .bs-editor[data-open=true]{border-color:#bfd3ec;box-shadow:0 2px 8px var(--ui-ink-a04)}
#booking-screen .bs-editor-heading{display:flex;align-items:center;gap:4px;padding:4px 7px}
#booking-screen .bs-editor[data-open=true]>.bs-editor-heading{background:linear-gradient(90deg,#f0f6fe,var(--ui-surface))}
#booking-screen .bs-editor-toggle{display:flex;flex:1;align-items:center;justify-content:space-between;gap:10px;min-width:0;min-height:52px!important;padding:7px 8px!important;border:0!important;border-radius:7px;text-align:left;background:transparent!important;color:var(--ui-ink)!important;box-shadow:none!important}
#booking-screen .bs-editor-toggle>.bs-editor-copy{display:grid;flex:1;gap:3px;min-width:0}
#booking-screen .bs-editor-toggle strong{font-size:14px;font-weight:600;line-height:1.4;overflow-wrap:break-word}
#booking-screen .bs-editor-toggle small{font-size:12px;font-weight:400;line-height:1.35;color:var(--ui-muted);overflow-wrap:break-word}
#booking-screen .bs-editor-toggle:hover{background:var(--ui-selected)!important}
#booking-screen .bs-editor-toggle:focus-visible{outline:2px solid var(--ui-primary);outline-offset:-2px}
#booking-screen .bs-chevron{flex:none;width:18px;height:18px;color:var(--ui-muted);transition:transform .14s ease}
#booking-screen .bs-editor[data-open=true] .bs-chevron{transform:rotate(180deg)}
#booking-screen .bs-summary-avatar{display:flex;flex:none}
#booking-screen .bs-summary-avatar .bj-avatar{width:38px;height:38px}
#booking-screen .bs-editor[data-open=true] .bs-summary-avatar{display:none}
#booking-screen .booking-setup .bs-remove{display:grid;place-items:center;flex:none;width:40px;height:40px;min-height:40px!important;padding:10px!important;border:0!important;border-radius:8px;background:transparent!important;color:var(--ui-muted)!important;box-shadow:none!important}
#booking-screen .bs-remove svg{width:18px;height:18px}
#booking-screen .booking-setup .bs-remove:hover,#booking-screen .booking-setup .bs-remove:active{color:var(--ui-red)!important;background:var(--ui-red-soft,#fbeef0)!important}
#booking-screen .bs-editor-body{padding:14px 16px 16px;border-top:1px solid #e8eef6}
#booking-screen .bs-service-body{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(110px,.8fr) minmax(140px,1fr);gap:12px;align-items:start}
#booking-screen .bs-service-body>.bs-time{display:contents}
#booking-screen .booking-setup .booking-field{gap:5px;min-width:0;margin:0;font-size:12px;font-weight:550;line-height:1.4;color:var(--ui-ink)}
#booking-screen .booking-setup .booking-field>span{margin:0}
#booking-screen .booking-setup input:not([type=checkbox]):not([type=file]),#booking-screen .booking-setup select{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface);color:var(--ui-ink);font-size:16px;transition:border-color .14s ease,box-shadow .14s ease}
#booking-screen .booking-setup input:focus-visible,#booking-screen .booking-setup select:focus-visible{outline:2px solid var(--ui-primary);outline-offset:1px}
#booking-screen .booking-setup .booking-field input[aria-invalid=true]{border-color:var(--ui-red)}
#booking-screen .booking-setup .bs-error{color:var(--ui-red)}
#booking-screen .booking-setup .bs-time{gap:12px;margin-top:12px}
#booking-screen .booking-setup .bs-add{display:flex;align-items:center;justify-content:center;min-height:42px;margin-top:12px;padding:9px 14px;border:1px dashed #b8cde7;border-radius:9px;background:var(--ui-surface);color:var(--ui-primary-hover);font-size:13px}
#booking-screen .booking-setup .bs-add:hover{background:var(--ui-selected);border-color:var(--ui-primary)}
#booking-screen .bs-mode{width:fit-content;min-width:260px;margin-bottom:12px;padding:3px;background:#edf2f8;border-color:var(--ui-border)}
#booking-screen .bs-mode button{min-height:34px}
#booking-screen .bs-identity{display:flex;align-items:start;gap:16px;min-width:0}
#booking-screen .bs-basics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex:1;gap:12px;min-width:0}
#booking-screen .bs-photo{display:flex;flex-direction:column;align-items:center;flex:none;gap:7px;width:90px}
#booking-screen .bs-photo .bj-avatar{width:56px;height:56px;border:2px solid #fff;box-shadow:0 0 0 1px var(--ui-border)}
#booking-screen .bs-photo .booking-upload{display:grid;place-items:center;min-height:32px;font-size:12px;line-height:1.35;text-align:center;cursor:pointer;color:var(--ui-primary-hover)}
#booking-screen .bs-photo button{min-height:32px!important;padding:4px 6px!important;font-size:11px!important}
#booking-screen .bs-assign{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 0;padding:12px 0 0;border-top:1px solid #e8eef6}
#booking-screen .bs-assign legend{margin:0 0 8px;padding:0;color:var(--ui-muted);font-size:12px}
#booking-screen .bs-assign .booking-check{min-height:36px;margin:0;padding:6px 9px;border:1px solid var(--ui-border);border-radius:8px;font-size:12px;color:var(--ui-ink);overflow-wrap:normal;word-break:normal}
#booking-screen .bs-assign .booking-check:has(input:checked){background:var(--ui-selected);border-color:#c4d9f2}
#booking-screen .bs-schedule{padding:16px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface)}
#booking-screen .bs-days{gap:6px;margin-bottom:12px}
#booking-screen .bs-days span{padding:11px 2px;border-radius:8px;color:var(--ui-muted);font-size:12px}
#booking-screen .bs-days input:checked+span{background:var(--ui-selected);border-color:#8fb7e7;color:var(--ui-primary-hover)}
#booking-screen .bs-schedule>.booking-check{min-height:36px;margin:10px 0 0;font-size:12px;color:var(--ui-ink)}
#booking-screen .bs-schedule .bs-zone{margin-top:14px;padding-top:12px;border-top:1px solid #e8eef6}
#booking-screen .bs-person-hours{margin:10px 0 0;padding:0;border:0}
#booking-screen .bs-person-hours:has(>.booking-check){border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface)}
#booking-screen .bs-person-hours>.booking-check{min-height:54px;gap:10px;margin:0;padding:10px 14px;color:var(--ui-ink)}
#booking-screen .bs-person-hours>.booking-check>span{display:grid;gap:2px;min-width:0}
#booking-screen .bs-person-hours>.booking-check strong{font-size:13px;font-weight:600;overflow-wrap:break-word}
#booking-screen .bs-person-hours>.booking-check small{margin:0;font-size:11px;color:var(--ui-muted)}
#booking-screen .bs-person-hours>div{margin:0;padding:12px 14px 14px;border:0;border-top:1px solid #e8eef6;border-radius:0;background:transparent}
#booking-screen .bs-person-hours:has(>.booking-check)>.bs-error{padding:0 14px}
#booking-screen .bs-remove-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;background:#fdf4f5;color:var(--ui-ink);font-size:13px;line-height:1.4}
#booking-screen .bs-remove-confirm>span{flex:1 1 100%;overflow-wrap:break-word}
#booking-screen .bs-remove-confirm button{min-height:36px!important;padding:6px 12px!important;font-size:13px!important}
#booking-screen .bs-danger{background:var(--ui-red)!important;border-color:var(--ui-red)!important;color:#fff!important}
#booking-screen .bs-danger:hover,#booking-screen .bs-danger:active{background:#a92c3b!important;border-color:#a92c3b!important;color:#fff!important}
#booking-screen .bs-review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;padding:0;border:0;background:transparent}
#booking-screen .bs-review section{min-width:0;padding:14px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface)}
#booking-screen .bs-review h3{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 12px}
#booking-screen .bs-count{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:7px;background:var(--ui-selected);color:var(--ui-primary-hover);font-size:12px;font-weight:600}
#booking-screen .bs-review ul{display:grid;gap:0;margin:0;padding:0;list-style:none}
#booking-screen .bs-review li{display:grid;gap:4px;padding:10px 0;font-size:13px;line-height:1.45;overflow-wrap:break-word}
#booking-screen .bs-review li:first-child{padding-top:0}
#booking-screen .bs-review li:last-child{padding-bottom:0}
#booking-screen .bs-review li+li{border-top:1px solid #e8eef6}
#booking-screen .bs-review strong{font-weight:600}
#booking-screen .bs-review li>span,#booking-screen .bs-review li>small,#booking-screen .bs-review-person>div>span,#booking-screen .bs-review-person small{font-size:12px;font-weight:400;color:var(--ui-muted)}
#booking-screen .bs-review li.bs-review-person{display:flex;align-items:start;gap:9px}
#booking-screen .bs-review-person>.bj-avatar{flex:none;width:32px;height:32px;font-size:13px}
#booking-screen .bs-review-person>div{display:grid;gap:4px;min-width:0}
#booking-screen .bs-review-zone{grid-column:1/-1;margin:0;padding:10px 12px;border:1px solid var(--ui-border);border-radius:9px;background:var(--ui-surface);color:var(--ui-muted);font-size:12px;line-height:1.4}
#booking-screen .bs-review>.booking-help{grid-column:1/-1;margin:0;font-size:12px;line-height:1.5}
#booking-screen .booking-setup footer{display:flex;align-items:center;gap:16px;margin-top:16px;padding:14px 0 0;border-top:1px solid var(--ui-border)}
#booking-screen .booking-setup footer .bs-actions{order:2;flex:none;flex-wrap:nowrap;gap:8px}
#booking-screen .booking-setup footer .bs-actions>button{min-height:42px;font-size:13px}
#booking-screen .booking-setup footer>.booking-help{flex:1;min-width:0;margin:0;font-size:11px;line-height:1.5;color:var(--ui-muted)}
#booking-screen .booking-setup [hidden]{display:none!important}
@media(max-width:800px){
 #booking-screen .booking-rules-layout>.ba-settings-card:last-child .booking-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #booking-screen .booking-rules-layout .booking-form-grid>.booking-field:last-child:nth-child(3){grid-column:1/-1}
}
@media(max-width:650px){
 #booking-screen .booking-rules-layout>.ba-settings-card{padding:12px}
 #booking-screen .booking-setup{padding:12px;border-radius:12px}
 #booking-screen .booking-setup h2{margin-bottom:14px;font-size:20px}
 #booking-screen .bs-progress{margin-bottom:14px}
 #booking-screen .bs-progress li{gap:4px;padding:0 3px}
 #booking-screen .bs-progress small{font-size:11px}
 #booking-screen .bs-editor-body{padding:12px}
 #booking-screen .bs-service-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 #booking-screen .bs-service-body>.booking-field:first-child{grid-column:1/-1}
 #booking-screen .bs-service-body>.bs-time>.booking-field>span{min-height:2.8em}
 #booking-screen .booking-setup .bs-time{gap:10px}
 #booking-screen .bs-basics{grid-template-columns:minmax(0,1fr);gap:10px}
 #booking-screen .bs-identity{gap:12px}
 #booking-screen .bs-photo{width:70px}
 #booking-screen .bs-mode{width:100%;min-width:0}
 #booking-screen .bs-mode button{flex:1;min-width:0}
 #booking-screen .bs-schedule{padding:12px}
 #booking-screen .bs-days{gap:4px}
 #booking-screen .bs-days span{padding:11px 1px;font-size:11px}
 #booking-screen .bs-review{grid-template-columns:minmax(0,1fr);gap:10px}
 #booking-screen .booking-setup footer{flex-direction:column;align-items:stretch;gap:10px}
 #booking-screen .booking-setup footer .bs-actions{order:0;justify-content:space-between}
 #booking-screen .booking-setup .bs-actions>button{min-width:0;min-height:44px!important;padding:10px 12px;font-size:14px}
 #booking-screen .booking-setup .bs-actions>.widget-primary{flex:1}
}
@media(max-width:480px){
 #booking-screen .bs-progress li{min-height:30px;gap:0}
 #booking-screen .bs-progress li>span{display:none}
 #booking-screen .bs-progress [aria-current=step]{background:var(--ui-primary);color:#fff}
 #booking-screen .bs-progress [data-done=true]{background:var(--ui-green-soft)}
 #booking-screen .bs-progress [data-done=true] small:before{content:'✓';margin-right:3px;font-size:10px}
 #booking-screen .bs-editor-toggle{gap:7px;padding:7px!important}
 #booking-screen .bs-editor-heading{padding:3px 5px}
 #booking-screen .booking-setup .bs-remove{width:40px;min-height:44px!important}
}
@media(prefers-reduced-motion:reduce){#booking-screen .booking-setup *{scroll-behavior:auto;transition:none!important}}

/* Mobile journal: one horizontal summary, with existing actions in the detail sheet. */
.bj-record-open,.bj-detail-mobile-icon,.bj-detail-mobile-label{display:none}
@media(max-width:700px){
 #booking-screen .bj-record{box-sizing:border-box;grid-template-columns:44px minmax(0,1fr) 12px;grid-template-rows:minmax(0,1fr);align-items:center;column-gap:8px;row-gap:0;height:72px;min-height:72px;padding:9px 10px 9px 8px;margin-bottom:8px;border:1px solid var(--ui-border);border-left:3px solid color-mix(in srgb,var(--staff-color,var(--ui-primary)) 82%,white);border-radius:12px;background:var(--ui-surface);box-shadow:none}
 #booking-screen .bj-record:last-child{border-bottom:1px solid var(--ui-border)}
 #booking-screen .bj-record .bj-time{grid-column:1;grid-row:1;align-self:center;justify-self:start;width:44px;min-height:0;margin:0;padding:0;gap:4px;text-align:center;background:transparent}
 #booking-screen .bj-record .bj-time strong{font-size:16px;line-height:1.2;color:var(--ui-primary);font-weight:650;white-space:nowrap}
 #booking-screen .bj-record .bj-time small{font-size:11px;line-height:1.2;white-space:nowrap}
 #booking-screen .bj-record .bj-copy{display:grid;grid-column:2;grid-row:1;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:8px;align-items:center;min-width:0;overflow-wrap:normal}
 #booking-screen .bj-record :is(.bj-customer,.bj-assignee){display:flex;flex-direction:row;align-items:center;align-self:center;gap:7px;width:auto;max-width:none;min-width:0;grid-row:1;text-align:left}
 #booking-screen .bj-record .bj-customer{grid-column:1}
 #booking-screen .bj-record .bj-assignee{grid-column:2;min-height:40px;border-left:1px solid var(--ui-border);padding-left:9px}
 #booking-screen .bj-record .bj-avatar{width:36px;height:36px;flex:none;margin:0;font-size:14px}
 #booking-screen .bj-record :is(.bj-client-info,.bj-staff-info){display:flex;flex-direction:column;justify-content:center;gap:0;align-items:stretch;min-width:0;max-width:none;min-height:0;flex:1;overflow:hidden}
 #booking-screen .bj-record .bj-client{display:block;overflow:hidden;white-space:normal;word-break:normal;overflow-wrap:normal;hyphens:none;font-size:12px;line-height:16px;font-weight:600;color:var(--ui-ink)}
 #booking-screen .bj-record .bj-client>span{display:block;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 #booking-screen .bj-record .bj-staff-info>span{display:block;min-width:0;max-width:100%;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal;overflow-wrap:normal;font-size:12px;line-height:17px;font-weight:550;color:var(--ui-ink)}
 #booking-screen .bj-record :is(.bj-row-actions,.bj-record-details-hint),#booking-screen .bj-record .bj-staff-info>small{display:none}
 #booking-screen .bj-record .bj-record-open{display:flex;grid-column:3;grid-row:1;align-items:center;justify-content:center;color:var(--ui-muted)}
 .bj-record-open svg{width:12px;max-width:100%;height:18px;flex:none}
 #booking-screen .bj-record .bj-cancelled-label{position:absolute;top:3px;right:24px;max-width:90px;margin:0;font-size:8px;line-height:10px;color:var(--ui-red)}

 #booking-dialog.bj-details-dialog{top:auto;bottom:calc(var(--booking-layout-height,100dvh) - var(--booking-bottom,100dvh));left:calc((var(--booking-left,0px) + var(--booking-right,100vw)) / 2);transform:translateX(-50%);width:calc(var(--booking-right,100vw) - var(--booking-left,0px));max-width:560px;max-height:var(--booking-modal-height,calc(100dvh - 72px));border:1px solid var(--ui-border);border-radius:22px 22px 16px 16px;background:var(--ui-surface)}
 #booking-dialog.bj-details-dialog::backdrop{background:var(--ui-ink-a38)}
 #booking-dialog.bj-details-dialog form{max-height:calc(var(--booking-modal-height,100dvh - 72px) - 2px)}
 #booking-dialog.bj-details-dialog header{position:relative;align-items:center;border:0;padding:28px 18px 10px;gap:12px}
 #booking-dialog.bj-details-dialog header::before{content:'';position:absolute;top:12px;left:50%;transform:translateX(-50%);width:42px;height:5px;border-radius:6px;background:var(--ui-border)}
 #booking-dialog.bj-details-dialog h2{font-size:23px;font-weight:650;line-height:1.3;letter-spacing:-.3px}
 #booking-dialog.bj-details-dialog header button{width:40px;height:40px;min-height:40px;flex:none;border:0;border-radius:50%;background:var(--ui-selected);color:var(--ui-primary-hover);font-size:27px}
 #booking-dialog.bj-details-dialog .booking-dialog-body{padding:12px 18px 18px;gap:20px;scrollbar-width:thin}
 #booking-dialog.bj-details-dialog .bj-detail-customer{order:0;flex-wrap:nowrap;gap:14px}
 #booking-dialog.bj-details-dialog .bj-detail-customer .bj-avatar{width:64px;height:64px;font-size:25px;flex:none}
 #booking-dialog.bj-details-dialog .bj-detail-customer>div{min-width:0}
 #booking-dialog.bj-details-dialog .bj-detail-customer h3{font-size:18px;line-height:1.35;font-weight:650;word-break:normal;overflow-wrap:break-word}
 #booking-dialog.bj-details-dialog .bj-detail-mobile-label{display:block;margin-top:4px;font-size:12px;color:var(--ui-muted)}
 #booking-dialog.bj-details-dialog .bj-detail-customer :is(.bj-client-contact,.bj-detail-contact,.bj-detail-profile){font-size:12px;line-height:1.45;margin-top:5px}
 #booking-dialog.bj-details-dialog .bj-detail-facts{order:1;display:grid;grid-template-columns:minmax(0,1fr);gap:3px;padding:0;border:0;border-radius:0;background:transparent}
 #booking-dialog.bj-details-dialog .bj-detail-facts>div{grid-template-columns:40px minmax(0,1fr);gap:12px;min-width:0}
 #booking-dialog.bj-details-dialog [data-detail-fact="Время"]{order:0}
 #booking-dialog.bj-details-dialog [data-detail-fact="Время"] dt>span:last-child{display:none}
 #booking-dialog.bj-details-dialog [data-detail-fact="Время"] dd{font-size:19px;line-height:1.4;font-weight:650;color:var(--ui-ink)}
 #booking-dialog.bj-details-dialog [data-detail-fact="Время"] .bj-detail-fact-icon{width:40px;height:40px;border-radius:50%;background:var(--ui-selected);color:var(--ui-primary-hover)}
 #booking-dialog.bj-details-dialog [data-detail-fact="Время"] svg{width:21px;height:21px}
 #booking-dialog.bj-details-dialog [data-detail-fact="Дата"]{order:1;margin-top:-2px}
 #booking-dialog.bj-details-dialog [data-detail-fact="Дата"] dt{display:none}
 #booking-dialog.bj-details-dialog [data-detail-fact="Дата"] dd{grid-column:2;font-size:13px;color:var(--ui-muted)}
 #booking-dialog.bj-details-dialog :is([data-detail-fact="Продолжительность"],[data-detail-fact="Статус"]){order:2;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-left:52px;font-size:11px;line-height:1.45}
 #booking-dialog.bj-details-dialog :is([data-detail-fact="Продолжительность"],[data-detail-fact="Статус"]) .bj-detail-fact-icon{display:none}
 #booking-dialog.bj-details-dialog :is([data-detail-fact="Продолжительность"],[data-detail-fact="Статус"]) dd{font-size:11px;color:var(--ui-muted)}
 #booking-dialog.bj-details-dialog .bj-detail-specialist{order:2;gap:12px;border-top:1px solid var(--ui-border);padding-top:18px}
 #booking-dialog.bj-details-dialog .bj-detail-specialist .bj-avatar{width:48px;height:48px;font-size:19px;flex:none}
 #booking-dialog.bj-details-dialog .bj-detail-specialist small{font-size:12px;margin-bottom:4px}
 #booking-dialog.bj-details-dialog .bj-detail-specialist strong{font-size:16px;color:var(--ui-ink);line-height:1.4;word-break:normal;overflow-wrap:break-word}
 #booking-dialog.bj-details-dialog .bj-detail-block{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:12px;row-gap:5px;min-width:0;padding:18px 0 0;border:0;border-top:1px solid var(--ui-border);border-radius:0;background:transparent}
 #booking-dialog.bj-details-dialog .bj-detail-service-block{order:3}
 #booking-dialog.bj-details-dialog .bj-detail-note-block{order:4}
 #booking-dialog.bj-details-dialog .bj-detail-mobile-icon{display:grid;place-items:center;grid-column:1;grid-row:1 / span 3;width:40px;height:40px;border-radius:50%;background:var(--ui-selected);color:var(--ui-primary-hover)}
 #booking-dialog.bj-details-dialog .bj-detail-mobile-icon svg{width:21px;height:21px}
 #booking-dialog.bj-details-dialog .bj-detail-block :is(h3,ul,p){grid-column:2;min-width:0}
 #booking-dialog.bj-details-dialog .bj-detail-block h3{margin:0;color:var(--ui-ink);font-size:14px;font-weight:600;line-height:1.5}
 #booking-dialog.bj-details-dialog .bj-detail-services{gap:9px}
 #booking-dialog.bj-details-dialog .bj-detail-services strong{font-size:13px;line-height:1.45;font-weight:500;color:var(--ui-muted);word-break:normal;overflow-wrap:break-word}
 #booking-dialog.bj-details-dialog .bj-detail-services small{font-size:11px;line-height:1.4}
 #booking-dialog.bj-details-dialog .bj-detail-note{font-size:13px;line-height:1.5;word-break:normal;overflow-wrap:break-word}
 #booking-dialog.bj-details-dialog .bj-detail-total{font-size:12px;gap:8px;flex-wrap:wrap;margin-top:7px;padding-top:8px}
 #booking-dialog.bj-details-dialog footer{flex-direction:column;padding:8px 18px 16px;border:0;gap:10px;background:var(--ui-surface)}
 #booking-dialog.bj-details-dialog:not(.bj-details-actions) footer{display:none}
 #booking-dialog.bj-details-dialog footer button{display:flex;align-items:center;justify-content:center;gap:9px;flex:none;width:100%;min-height:46px;border-radius:12px;padding:11px 14px;font-size:15px;line-height:1.4;font-weight:550;box-shadow:none}
 #booking-dialog.bj-details-dialog footer svg{width:19px;height:19px;flex:none}
 #booking-dialog.bj-details-dialog #booking-dialog-submit{--ui-action-bg:var(--ui-selected);--ui-action-hover:var(--ui-selected);--ui-action-ink:var(--ui-primary);--ui-action-hover-ink:var(--ui-primary-hover);--ui-action-border:var(--ui-primary);order:0;border:1px solid var(--ui-primary);background:var(--ui-selected);color:var(--ui-primary)}
 #booking-dialog.bj-details-dialog #booking-dialog-cancel{--ui-action-bg:var(--ui-red-soft);--ui-action-hover:var(--ui-danger-tint-hover);--ui-action-ink:var(--ui-red);--ui-action-hover-ink:var(--ui-danger-hover);--ui-action-border:var(--ui-red);order:1;border:1px solid var(--ui-red);background:var(--ui-red-soft);color:var(--ui-red);min-width:0}
 #booking-dialog.bj-details-dialog #booking-dialog-status:empty{display:none}
}
@media(max-width:360px){
 #booking-screen .bj-record{grid-template-columns:42px minmax(0,1fr) 10px;column-gap:6px;padding-inline:6px;height:68px;min-height:68px}
 #booking-screen .bj-record .bj-time{width:42px}
 #booking-screen .bj-record .bj-time strong{font-size:14px}
 #booking-screen .bj-record .bj-copy{gap:6px}
 #booking-screen .bj-record .bj-avatar{width:30px;height:30px;font-size:12px}
 #booking-screen .bj-record :is(.bj-customer,.bj-assignee){gap:5px}
 #booking-screen .bj-record .bj-assignee{padding-left:6px;min-height:36px}
 #booking-screen .bj-record :is(.bj-client,.bj-staff-info>span){font-size:11px;line-height:15px}
 #booking-dialog.bj-details-dialog header{padding-inline:14px}
 #booking-dialog.bj-details-dialog .booking-dialog-body{padding-inline:14px}
 #booking-dialog.bj-details-dialog footer{padding-inline:14px}
}
@media(min-width:701px){.bj-client>:is(.bj-name-first,.bj-name-rest){display:contents}}

/* Desktop journal uses the same detail actions as the approved mobile sheet. */
@media(min-width:701px){
 #booking-screen .bj-record{grid-template-columns:64px minmax(0,1fr) 16px;gap:18px;height:78px;min-height:78px}
 #booking-screen .bj-record .bj-copy{grid-template-columns:minmax(0,1.05fr) minmax(0,1.15fr) minmax(0,1fr);gap:20px}
 #booking-screen .bj-record .bj-customer{grid-column:1}
 #booking-screen .bj-record .bj-row-services{display:flex;flex-direction:column;justify-content:center;gap:3px;grid-column:2;grid-row:1;min-width:0;border-left:1px solid var(--ui-border);padding-left:20px}
 .bj-row-services small{font-size:11px;color:var(--ui-muted);line-height:1.3}
 .bj-row-services>span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:normal;word-break:normal;font-size:13px;line-height:18px;color:var(--ui-ink)}
 #booking-screen .bj-record .bj-assignee{grid-column:3}
 #booking-screen .bj-record .bj-staff-info>small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;max-width:100%}
 #booking-screen .bj-record .bj-row-actions{display:none}
 #booking-screen .bj-record .bj-record-open{display:flex;grid-column:3;grid-row:1;color:var(--ui-muted)}
 .bj-record-open svg{width:16px;height:18px}
 #booking-dialog.bj-details-dialog{width:min(600px,calc(100% - 40px));max-width:600px}
 #booking-dialog.bj-details-dialog .booking-dialog-body{gap:18px;padding:18px 24px;max-height:65dvh}
 #booking-dialog.bj-details-dialog .bj-detail-customer .bj-avatar{width:60px;height:60px}
 #booking-dialog.bj-details-dialog .bj-detail-customer h3{font-size:20px}
 #booking-dialog.bj-details-dialog .bj-detail-customer{order:0}
 #booking-dialog.bj-details-dialog .bj-detail-facts{order:1}
 #booking-dialog.bj-details-dialog .bj-detail-specialist{order:2}
 #booking-dialog.bj-details-dialog .bj-detail-service-block{order:3}
 #booking-dialog.bj-details-dialog .bj-detail-note-block{order:4}
 #booking-dialog.bj-details-dialog.bj-details-actions footer{justify-content:stretch;gap:12px}
 #booking-dialog.bj-details-dialog.bj-details-actions footer button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;flex:1;min-width:0;border-radius:11px;font-size:14px}
 #booking-dialog.bj-details-dialog.bj-details-actions #booking-dialog-submit{order:0;--ui-action-bg:var(--ui-selected);--ui-action-hover:var(--ui-selected);--ui-action-ink:var(--ui-primary);--ui-action-hover-ink:var(--ui-primary-hover);--ui-action-border:var(--ui-primary)}
 #booking-dialog.bj-details-dialog.bj-details-actions #booking-dialog-cancel{order:1;--ui-action-bg:var(--ui-red-soft);--ui-action-hover:var(--ui-danger-tint-hover);--ui-action-ink:var(--ui-red);--ui-action-hover-ink:var(--ui-danger-hover);--ui-action-border:var(--ui-red)}
 #booking-dialog.bj-details-dialog.bj-details-actions footer svg{width:19px;height:19px;flex:none}
}
@media(max-width:700px){
 #booking-screen .bj-record .bj-row-services{display:none}
 #booking-screen .bj-record :is(.bj-customer,.bj-assignee){min-height:40px;align-items:center;justify-content:flex-start;padding-block:0}
 #booking-screen .bj-record :is(.bj-client-info,.bj-staff-info){height:32px;min-height:32px;justify-content:center;align-items:stretch}
 #booking-screen .bj-record .bj-staff-info>span{white-space:normal;width:100%;line-height:16px}
 #booking-screen .bj-record .bj-staff-info>span>span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:16px}
 #booking-screen .bj-record .bj-avatar{align-self:center}
}
@media(max-width:360px){#booking-screen .bj-record :is(.bj-client-info,.bj-staff-info){height:30px;min-height:30px}#booking-screen .bj-record .bj-staff-info>span>span{line-height:15px}}

@media(min-width:701px){#booking-screen .bj-record .bj-cancelled-label{position:absolute;top:3px;right:38px;font-size:9px;margin:0}}
@media(min-width:701px){#booking-dialog.bj-details-dialog header button{width:40px;height:40px;min-height:40px}}

/* Mobile service and staff lists share one heading with their search/add tools. */
@media(max-width:700px){
 #booking-screen.booking-mobile-settings-detail #booking-settings-content .booking-settings-list-toolbar{position:sticky;top:0;z-index:3;background:var(--ui-surface);gap:8px;margin-bottom:12px}
 #booking-screen .booking-settings-list-toolbar #booking-mobile-settings-back{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;min-width:36px;height:44px;min-height:44px;padding:0;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface);color:var(--ui-muted);font-size:20px}
 #booking-screen #booking-settings-content .booking-settings-list-toolbar>div:first-of-type:not(.booking-list-search){display:block;min-width:0;flex:1}
 #booking-screen #booking-settings-content .booking-settings-list-toolbar h2{margin:0;font-size:18px;line-height:1.35;color:var(--ui-ink)}
 #booking-screen .booking-settings-list-toolbar>[data-add]{flex:0 0 44px;width:44px;padding:9px}
 #booking-screen .booking-settings-list-toolbar>[data-add]>span{display:none}
 #booking-screen #booking-settings-content .booking-settings-list-toolbar.is-search-open>div:first-of-type:not(.booking-list-search){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 #booking-screen .booking-settings-list-toolbar.is-search-open #booking-service-search-toggle{display:none}
 #booking-screen .booking-settings-list-toolbar #booking-mobile-settings-title:focus:not(:focus-visible){outline:none}
}
