.cf-dialog { width:min(720px,calc(100% - 24px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);overflow:hidden;box-sizing:border-box;box-shadow:0 24px 70px rgba(8,14,22,.2); }
.cf-dialog[open] { display:flex;flex-direction:column; }
.cf-content { min-height:0;overflow:auto; }
.cf-dialog::backdrop { background:rgba(8,14,22,.5); }
.cf-dialog,.cf-dialog *,.bk-compact,.bk-compact * { letter-spacing:0;box-sizing:border-box; }
.cf-header { display:flex;flex:none;align-items:start;justify-content:space-between;gap:16px;padding:24px 24px 16px; }
.cf-header h2 { margin:0 0 12px;font-size:20px; }.cf-person { display:grid;gap:4px;margin:0;font-size:13px;overflow-wrap:anywhere; }.cf-person span { color:rgba(var(--ink-rgb),.6); }
.cf-close { flex:none;width:40px;height:40px;padding:0!important;font-size:24px; }
.cf-tabs { display:flex;gap:4px;padding:0 24px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2;background:var(--surface); }
.cf-tabs button { position:relative;border:0;border-bottom:3px solid transparent;border-radius:0;background:none;color:rgba(var(--ink-rgb),.65);font:inherit;font-size:13px;font-weight:650;padding:14px 10px;min-height:48px;cursor:pointer; }
.cf-tabs button[aria-selected="true"] { color:var(--ink);border-bottom-color:var(--brand-red); }
.cf-tabs button:hover { background:rgba(var(--ink-rgb),.035); }.cf-tabs button[data-dirty="true"]::after { content:'';position:absolute;right:4px;top:6px;width:5px;height:5px;border-radius:50%;background:var(--brand-orange); }
.cf-tabs button:focus-visible,.bk-more>summary:focus-visible,.bk-context>summary:focus-visible { outline:2px solid var(--brand-orange);outline-offset:-2px; }
.cf-call-picker { display:grid;gap:7px;margin:20px 24px 0;font-size:12px;font-weight:650; }.cf-call-picker select { width:100%;min-height:44px; }
.cf-feedback { margin:12px 24px 0;color:#15735e;font-size:12px; }.cf-feedback:empty { display:none; }
.cf-empty { padding:24px;font-size:14px;line-height:1.6; }
.cf-dialog .cf-pane { display:block;width:100%;max-width:none;max-height:none;padding:24px;margin:0;border:0;border-radius:0;box-shadow:none;background:none;overflow:visible;color:inherit; }
.cf-dialog [hidden] { display:none!important; }
.cf-pane>.st-dialog-head,.cf-pane>header,.cf-pane .ct-identity,.cf-pane .st-dialog-person { display:none; }
.cf-pane .st-dialog-body { padding:0; }.cf-pane form { margin:0; }
.cf-pane .st-dialog-actions,.cf-pane .ct-dialog-actions { display:none; }
.cf-save-bar { flex:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;border-top:1px solid var(--line);background:var(--surface); }
.cf-save-bar button { min-height:44px;border-radius:6px;font-size:13px; }
.cf-draft-count { color:rgba(var(--ink-rgb),.65);font-size:12px; }
.cf-feedback[data-error="true"] { color:var(--brand-red); }
@media(max-width:600px) { .cf-save-bar { padding:12px 16px;gap:12px; }.cf-draft-count { font-size:11px; }.cf-save-bar button { font-size:12px;padding:10px 12px; } }
.cf-pane [data-cancel] { display:none; }.cf-pane [type="submit"] { min-height:44px;border-radius:6px; }
.cf-pane input,.cf-pane select,.cf-pane textarea { min-width:0;max-width:100%;border-radius:6px; }
.cf-pane input[type="checkbox"] { width:18px;height:18px;min-height:18px; }
.cf-pane #ct-form { display:grid;grid-template-columns:1fr 1fr;column-gap:20px; }
.cf-pane #ct-form>label { margin:0 0 16px; }.cf-pane #ct-form>label:nth-of-type(3) { grid-column:1/-1; }
.cf-pane #ct-form>.ct-note,.cf-pane #ct-form>small,.cf-pane #ct-form>details,.cf-pane #ct-form>.ct-error,.cf-pane #ct-form>.ct-dialog-actions { grid-column:1/-1; }
.cf-pane .ct-secondary { margin-top:16px;padding-top:12px; }
.cf-pane .ct-error:empty,.cf-pane .st-dialog-error:empty { display:none; }
.cf-pane .cf-relance { display:block;padding:0;border-bottom:1px solid var(--line); }
.cf-relance>summary { cursor:pointer;padding:14px 0;font-size:12px;line-height:1.6;overflow-wrap:anywhere; }
.cf-relance-fields { display:grid;grid-template-columns:minmax(120px,1fr) minmax(100px,1fr) minmax(140px,1.2fr) 36px;align-items:end;gap:10px;padding:8px 0 16px; }
.cf-pane #st-contact-add { min-height:40px; }.cf-pane .st-dialog-history { margin-top:20px; }
.booking-row.bk-compact { grid-template-columns:150px minmax(0,1fr) 190px;gap:14px 20px;align-items:start;border-radius:8px;padding:20px; }
.bk-compact .when { min-width:0;font-size:14px;line-height:1.5; }.bk-compact .when small { font-size:11px;text-transform:none; }
.bk-compact .who-block { min-width:0;overflow-wrap:anywhere; }.bk-compact .who-block>strong { font-size:15px; }
.bk-compact .ct-booking-summary { line-height:1.6; }.bk-compact .bk-coach { min-width:0;display:grid;gap:6px; }
.bk-coach-label { font-size:11px;color:rgba(var(--ink-rgb),.65);font-weight:650; }
.bk-compact .assign-select { max-width:100%;min-height:40px;background:var(--surface);color:var(--ink);border-color:var(--line-strong);font-size:12px; }
.bk-compact .assignment-help { margin:0;font-size:11px;line-height:1.45;color:rgba(var(--ink-rgb),.6); }.bk-compact .assign-status:empty { display:none; }
.bk-compact .coach-tag { width:fit-content;border-radius:4px;font-size:12px;text-transform:none; }
.bk-actions { grid-column:2/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap; }
.bk-compact .meeting-btn,.bk-compact .bk-client-file { display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:0;min-height:42px;padding:10px 14px;border-radius:6px;font-size:12px;text-decoration:none; }
.bk-compact .meeting-btn { background:#176b62;box-shadow:none;color:white; }.bk-compact .meeting-btn .prov-label { display:none; }
.bk-compact .bk-client-file { background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);font-weight:700; }.bk-compact .bk-client-file:hover { border-color:var(--brand-red);background:rgba(255,30,78,.035); }
.bk-more { position:relative;margin-left:auto; }.bk-more>summary { display:grid;place-items:center;list-style:none;width:42px;height:42px;border:1px solid var(--line);border-radius:6px;cursor:pointer;font-size:15px; }
.bk-more>summary::-webkit-details-marker { display:none; }.bk-more[open]>summary { background:rgba(var(--ink-rgb),.06); }
.bk-menu { position:absolute;z-index:10;right:0;top:calc(100% + 5px);width:245px;padding:6px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);box-shadow:0 10px 30px rgba(8,14,22,.16); }
.bk-more.is-above .bk-menu { top:auto;bottom:calc(100% + 5px); }
.bk-menu button { display:block;width:100%;text-align:left;border:0!important;border-radius:4px!important;margin:0!important;padding:11px 12px!important;font-size:12px!important;min-height:40px;background:transparent!important;color:var(--ink); }
.bk-menu button:hover { background:rgba(var(--ink-rgb),.05)!important; }.bk-menu button.danger,.bk-menu .bl-row-btn { color:var(--brand-red); }
.bk-menu .appointment-link { margin:0;display:block; }.bk-menu input { width:100%;font-size:12px; }
.bk-context { grid-column:1/-1;border-top:1px solid var(--line);padding-top:10px; }.bk-context>summary { cursor:pointer;width:fit-content;font-size:12px;color:rgba(var(--ink-rgb),.65);padding:5px 0; }
.bk-context-body { padding:8px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;font-size:13px;line-height:1.6;overflow-wrap:anywhere; }
.bk-context-body em { font-style:normal;color:rgba(var(--ink-rgb),.6); }.bk-context-body .internal-note { grid-column:1/-1;max-width:none; }
.bk-compact.cancelled { opacity:1; }.bk-compact.cancelled .when { color:rgba(var(--ink-rgb),.6); }
[data-theme="sombre"] .cf-feedback { color:#70d6bd; }
[data-theme="sombre"] .cf-dialog { color-scheme:dark; }
@media(max-width:1100px) {
 .booking-row.bk-compact { grid-template-columns:minmax(0,1fr) 180px; }.bk-compact .when { grid-column:1/-1;display:flex;gap:12px;align-items:center;flex-wrap:wrap; }.bk-compact .who-block { grid-column:1; }.bk-actions { grid-column:1/-1; }
}
@media(max-width:600px) {
 [data-panel="bookings"] .filter-bar { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
 [data-panel="bookings"] #bk-search { grid-column:1/-1;min-width:0!important;width:100%; }
 [data-panel="bookings"] .filter-bar select { width:100%;min-width:0;padding:10px 8px;font-size:12px; }
 [data-panel="bookings"] .filter-bar .seg { grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)); }
 [data-panel="bookings"] .filter-bar .seg button { white-space:nowrap;padding:10px 8px;min-height:40px; }
 .cf-dialog { width:calc(100% - 16px);max-height:calc(100dvh - 16px); }.cf-header { padding:18px 16px 14px; }.cf-header h2 { font-size:18px; }
 .cf-tabs { padding:0 8px;gap:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr)); }.cf-tabs button { font-size:11px;padding:10px 4px;line-height:1.4;min-height:52px; }
 .cf-dialog .cf-pane { padding:20px 16px; }.cf-call-picker { margin:18px 16px 0; }.cf-feedback { margin:12px 16px 0; }
 .cf-pane #ct-form { grid-template-columns:1fr; }.cf-pane #ct-form>label { grid-column:1; }.cf-pane .st-contact-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px; }
 .cf-relance-fields { grid-template-columns:minmax(0,1fr) 36px; }.cf-pane .cf-relance-fields label:nth-child(n) { grid-column:1; }.cf-relance-fields button { grid-column:2;grid-row:1/4;align-self:center; }
 .booking-row.bk-compact { padding:16px;grid-template-columns:minmax(0,1fr);gap:12px; }.bk-compact .bk-coach,.bk-compact .who-block { grid-column:1; }.bk-compact .bk-coach { grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:center; }
 .bk-coach .assign-status,.bk-coach .assignment-help { grid-column:1/-1; }.bk-compact .when { display:block; }.bk-actions { gap:8px;flex-wrap:nowrap; }.bk-compact .meeting-btn,.bk-compact .bk-client-file { padding:8px 10px;min-height:44px;font-size:12px; }.bk-more>summary { width:38px;height:44px; }.bk-menu { width:230px;max-width:calc(100vw - 64px); }
 .bk-context-body { grid-template-columns:1fr; }.bk-context>summary { font-size:11px;line-height:1.5; }.bk-compact .internal-note-panel { padding:10px; }
}
@media(max-width:380px) {
 .bk-compact .meeting-btn,.bk-compact .bk-client-file { padding:8px;font-size:11px;gap:6px;white-space:nowrap; }
 .bk-compact .bk-client-file span { display:none; }.bk-more>summary { width:36px; }
}
