.bnb-client-profile-links{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:1rem 0;padding:0}
.bnb-account-auth-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.bnb-account-auth-heading h2{margin-top:0}
.bnb-account-auth-user{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:.75rem;flex-wrap:wrap;text-align:right}
.bnb-account-auth-user p,.bnb-account-auth-signout{margin:0}
.bnb-account-default-schedule{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e7ebe3}
.bnb-account-default-schedule .bnb-form{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap}
.bnb-account-default-schedule .bnb-form label{margin:0;min-width:160px}
.bnb-instructor-client-table-wrap{overflow-x:auto;max-width:100%;margin:1rem 0}
.bnb-instructor-client-table{width:100%;min-width:560px;border-collapse:collapse}
.bnb-instructor-client-table th,.bnb-instructor-client-table td{padding:.7rem;text-align:left;border-bottom:1px solid #e7ebe3;vertical-align:middle;overflow-wrap:anywhere}
.bnb-instructor-client-table tr[aria-current=true]{background:#f0f5ee}
.bnb-instructor-client-profile-link{white-space:nowrap}
.bnb-staff-horse-card h3{margin:.75rem 0}
.bnb-staff-horse-card .bnb-native-horse-photo{display:block;width:100%;height:200px;object-fit:cover;border-radius:6px}
.bnb-client-profile-editor{margin-top:1rem}
.bnb-client-profile-editor fieldset{margin:1rem 0;padding:1rem}
.bnb-client-profile-option{display:flex;align-items:center;gap:.55rem;margin:.45rem 0}
.bnb-client-profile-option input{flex:0 0 auto;margin:0}
.bnb-wrap .bnb-client-profile-editor .bnb-form label:has(> input[type=checkbox]){display:flex;flex-direction:row;align-items:flex-start;gap:8px;text-align:left}
.bnb-wrap .bnb-client-profile-editor .bnb-form input[type=checkbox]{flex:0 0 18px;width:18px!important;min-width:18px;max-width:18px;height:18px;min-height:18px;max-height:18px;padding:0;margin:2px 0 0;accent-color:#365a43}
#bnb-native-client-profile,#bnb-client-profile{scroll-margin-top:120px}
.bnb-client-access-grid{display:grid;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;width:100%;min-width:0}
.bnb-client-access-grid>fieldset{width:100%;min-width:0;margin:0}
.bnb-client-access-grid>fieldset:only-child{grid-column:1/-1}
.bnb-client-access-form>button.bnb-wide{grid-column:1/-1;width:100%;justify-self:stretch}
.bnb-profile-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.7rem;margin:1rem 0}
.bnb-profile-summary div{padding:.65rem;border:1px solid #e8e8e0;border-radius:.5rem}
.bnb-profile-summary dt{font-weight:700}
.bnb-profile-summary dd{margin:.2rem 0 0;overflow-wrap:anywhere}
.bnb-client-profile-section{margin-top:1.5rem}
.bnb-client-profile-section>h4{margin-bottom:.75rem}
#bnb-native-client-profile[hidden]{display:none!important}
.bnb-client-profile-editor .bnb-client-horse-access-list,.bnb-account-workspace .bnb-client-horse-access-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:4px 12px;width:100%;min-width:0}
.bnb-client-horse-access-list .bnb-client-profile-option{display:flex;align-items:flex-start;min-width:0;width:100%;margin:0;overflow-wrap:anywhere}
.bnb-client-horse-access-list .bnb-client-profile-option input[type=checkbox]{flex:0 0 18px;width:18px;min-width:18px;max-width:18px;height:18px;min-height:18px;margin:2px 0 0}
.bnb-client-horse-access-list .bnb-client-profile-option>span{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
/* Schedule host background: keep the theme canvas consistent outside the shortcode. */
body.bnb-schedule-page,
body.bnb-schedule-page #page-container,
body.bnb-schedule-page #et-main-area,
body.bnb-schedule-page #main-content { background:#fff!important; }
@supports selector(body:has(.bnb-wrap)) {
    /* Also cover builder-embedded shortcodes not present in the queried post content. */
    html:has(body:not(.wp-admin) .bnb-wrap),
    body:not(.wp-admin):has(.bnb-wrap),
    body:not(.wp-admin):has(.bnb-wrap) #page-container,
    body:not(.wp-admin):has(.bnb-wrap) #et-main-area,
    body:not(.wp-admin):has(.bnb-wrap) #main-content { background:#fff!important; }
}
/* End schedule host background. */
.bnb-class-access-choice { display:block; margin:8px 0; }
.bnb-class-access-choice input { width:auto; }
.bnb-sync-not_needed { color:#596558; background:#edf1ea; }
.bnb-diagnostic-report { width:100%; box-sizing:border-box; min-height:240px; font-family:monospace; font-size:13px; resize:vertical; }
.bnb-diagnostics form { margin-top:12px; }
.bnb-credit-choice,.bnb-rider-management { font-size:13px; }
.bnb-credit-choice summary,.bnb-rider-management summary,.bnb-refund-panel summary { cursor:pointer; color:#365a43; font-weight:600; }
.bnb-credit-choice form { min-width:230px; max-width:360px; display:flex; flex-direction:column; gap:9px; margin-top:10px; }
.bnb-credit-choice label,.bnb-refund-entry form label,.bnb-horse-preferences label { display:flex; flex-direction:column; gap:5px; }
.bnb-credit-choice select,.bnb-credit-choice textarea,.bnb-refund-entry select,.bnb-refund-entry textarea,.bnb-horse-preferences textarea { width:100%; box-sizing:border-box; padding:8px; border:1px solid #dfe5d9; border-radius:5px; font:inherit; }
.bnb-refund-entry { display:flex; flex-direction:column; gap:6px; padding:15px 0; border-bottom:1px solid #e5e9e1; font-size:14px; }
.bnb-refund-entry form { max-width:560px; display:flex; flex-direction:column; gap:10px; margin-top:8px; }
.bnb-rider-management { grid-column:1/-1; }
.bnb-rider-row { padding:10px 0; border-bottom:1px solid #e5e9e1; }
.bnb-horse-preferences { display:flex; flex-direction:column; gap:10px; margin-top:12px; }
.bnb-horse-preferences label:first-of-type { display:block; }
.bnb-horse-preferences small { font-size:12px; color:#63705e; }
.bnb-tabs { display:flex; gap:6px; flex-wrap:nowrap; overflow-x:auto; overflow-y:hidden; border-bottom:1px solid #dfe5d9; margin:0 0 24px; -webkit-overflow-scrolling:touch; }
.bnb-tabs a { flex:0 0 auto; padding:12px 20px; color:#365a43; text-decoration:none; border-bottom:3px solid transparent; font-weight:600; white-space:nowrap; }
.bnb-tabs a:hover { background:#eef2e8; }
.bnb-tabs a:focus-visible { outline:2px solid #365a43; outline-offset:2px; }
.bnb-tabs .bnb-tab-active { border-color:#365a43; background:#eef2e8; }
.bnb-scope-label { display:flex; flex-direction:column; gap:4px; font-size:12px; margin-bottom:6px; }
.bnb-scope-label select { max-width:190px; min-height:36px; background:white; border:1px solid #dfe5d9; border-radius:5px; }
.bnb-series-label { color:#365a43; }
.bnb-calendar-attention summary { cursor:pointer; color:#365a43; font-weight:600; }
.bnb-calendar-update { display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid #e5e9e1; font-size:13px; flex-wrap:wrap; }
.bnb-wrap { --bnb-green:#365a43; --bnb-ink:#2d3d32; --bnb-muted:#758176; position:relative!important; left:50%!important; transform:translateX(-50%)!important; box-sizing:border-box; width:calc(100vw - 48px)!important; min-width:0; max-width:1100px!important; margin:28px 0!important; padding:16px; border:1px solid #e3e8df; border-radius:12px; background:#fff; color:var(--bnb-ink); font:15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; container-name:bnb-shell; container-type:inline-size; }
.bnb-wrap * { box-sizing:border-box; }
.bnb-header { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:20px; }
.bnb-header h2 { margin:4px 0 0; font:600 30px/1.15 Georgia,serif; color:var(--bnb-ink); }
.bnb-eyebrow { color:#8a987f; font-size:11px; font-weight:700; letter-spacing:1.4px; }
.bnb-role { padding:6px 10px; border-radius:20px; background:#eff4ec; color:var(--bnb-green); font-size:12px; }
.bnb-intro { color:var(--bnb-muted); }
.bnb-card { margin:16px 0; padding:20px; border:1px solid #e3e8df; border-radius:12px; background:#fffefa; box-shadow:0 3px 14px rgba(42,59,45,.04); }
.bnb-card h3 { margin:0 0 16px; color:#405346; font:600 21px/1.2 Georgia,serif; }
.bnb-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.bnb-form label { display:flex; flex-direction:column; gap:6px; color:#647064; font-size:13px; font-weight:600; }
.bnb-form input,.bnb-form select,.bnb-form textarea { width:100%; min-height:42px; padding:9px 11px; border:1px solid #dfe5dc; border-radius:7px; background:#fff; color:#344237; font:inherit; }
.bnb-form textarea { min-height:84px; resize:vertical; }
.bnb-wide { grid-column:1/-1; }
.bnb-series-edit-scope { min-width:0; margin:0; padding:12px; border:1px solid #dfe5dc; border-radius:8px; display:grid; gap:9px; }
.bnb-series-edit-scope legend { padding:0 5px; color:#365a43; font-weight:700; }
.bnb-form .bnb-series-edit-choice { display:flex; flex-direction:row; align-items:center; gap:10px; margin:0; padding:10px; border:1px solid #e4e9e1; border-radius:7px; color:#344237; cursor:pointer; }
.bnb-form .bnb-series-edit-choice input[type=radio] { width:18px; min-width:18px; min-height:18px; margin:0; padding:0; accent-color:#365a43; flex:0 0 auto; }
.bnb-series-edit-scope small { color:#788278; font-weight:400; }
.bnb-form-foot { display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding-top:4px; color:#788278; font-size:12px; }
.bnb-button { display:inline-block; padding:10px 16px; border:0; border-radius:7px; background:var(--bnb-green,#365a43); color:#fff!important; font-weight:700; text-decoration:none!important; cursor:pointer; }
.bnb-button:hover { background:#294b35; }
.bnb-notice { margin:12px 0; padding:11px 14px; border:1px solid #dce7d8; border-radius:8px; background:#f2f7ef; color:#426148; }
.bnb-notice-error { border-color:#ecd4cc; background:#fff4f0; color:#985440; }
.bnb-wrap .bnb-client-edit-content .bnb-notice { scroll-margin-top:72px; }
.bnb-empty { margin:0; color:var(--bnb-muted); }
.bnb-week-card { padding-bottom:14px; }
.bnb-week-heading,.bnb-horse-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:14px; }
.bnb-week-heading h3,.bnb-horse-heading h3 { margin:0; }
.bnb-week-heading p,.bnb-horse-heading p { margin:4px 0 0; color:var(--bnb-muted); font-size:12px; }
.bnb-week-nav { display:flex; align-items:center; gap:7px; }
.bnb-week-nav a { display:inline-flex; min-width:34px; min-height:34px; justify-content:center; align-items:center; padding:6px 10px; border:1px solid #e0e7dc; border-radius:7px; color:#44634a; font-size:13px; font-weight:700; text-decoration:none; }
.bnb-week-nav a:first-child,.bnb-week-nav a:last-child { font-size:22px; line-height:1; }
.bnb-week-nav a:hover { background:#f2f6ef; }
.bnb-calendar-controls { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin:8px 0 14px; }
.bnb-calendar-views { display:flex; gap:6px; flex-wrap:wrap; }
.bnb-calendar-views a { padding:7px 12px; border:1px solid #dfe5d9; border-radius:7px; color:#365a43; font-size:13px; text-decoration:none; }
.bnb-calendar-views a:hover,.bnb-calendar-views .bnb-tab-active { background:#eef2e8; font-weight:700; }
.bnb-calendar-default-view-form { display:flex; align-items:flex-end; gap:8px; }
.bnb-calendar-default-view-form label { display:flex; flex-direction:column; gap:3px; color:#647064; font-size:12px; font-weight:600; }
.bnb-calendar-default-view-form select { min-height:36px; padding:6px 9px; border:1px solid #dfe5d9; border-radius:6px; background:#fff; color:#344237; font:inherit; }
.bnb-calendar-default-view-form .bnb-button { padding:8px 12px; font-size:12px; }
.bnb-calendar-filter { display:flex; align-items:flex-end; gap:8px; }
.bnb-calendar-filter label { display:flex; flex-direction:column; gap:3px; color:#647064; font-size:12px; font-weight:600; }
.bnb-calendar-filter select { min-width:170px; min-height:36px; padding:6px 9px; border:1px solid #dfe5d9; border-radius:6px; background:#fff; color:#344237; font:inherit; }
.bnb-calendar-filter .bnb-button { padding:8px 12px; font-size:12px; }
.bnb-week-scroll { overflow-x:auto; padding-bottom:4px; }
.bnb-week-grid { display:grid; grid-template-columns:repeat(7,minmax(116px,1fr)); gap:8px; min-width:870px; }
.bnb-agenda-list { display:flex; flex-direction:column; gap:10px; }
.bnb-agenda-more { margin-top:12px; }
.bnb-agenda-more > summary { cursor:pointer; font-weight:600; padding:8px 0; }
.bnb-agenda-more[open] > summary { margin-bottom:10px; }
.bnb-agenda-day { padding:10px 12px; border:1px solid #e7ebe3; border-radius:9px; background:#fff; }
.bnb-agenda-day > h4 { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:0 0 7px; padding-bottom:7px; border-bottom:1px solid #edf0e9; color:#405346; font-size:14px; }
.bnb-agenda-day > h4 .bnb-calendar-day-button { display:flex; flex:1; align-items:baseline; justify-content:space-between; gap:8px; padding:0; border:0; background:transparent; color:inherit; text-align:left; cursor:pointer; }
.bnb-agenda-day-items { display:flex; flex-direction:column; gap:6px; }
.bnb-agenda-lesson { display:grid; grid-template-columns:minmax(110px,150px) minmax(0,1fr) auto; align-items:center; gap:10px; padding:8px 10px; border-left:3px solid #789477; border-radius:6px; background:#f3f7f0; }
.bnb-agenda-lesson time { color:#527155; font-size:12px; font-weight:700; }
.bnb-agenda-lesson-copy { display:grid; gap:2px; min-width:0; color:#35483a; }
.bnb-agenda-lesson-copy strong { overflow-wrap:anywhere; }
.bnb-agenda-lesson-copy small { color:#6c796e; }
.bnb-agenda-lesson-actions { display:flex; align-items:center; gap:8px; }
.bnb-agenda-lesson-actions form { display:flex; align-items:center; gap:6px; margin:0; }
.bnb-agenda-lesson-actions .bnb-booking-client-choice { display:flex; align-items:center; gap:5px; font-size:12px; }
.bnb-agenda-booked { color:#46634b; font-size:12px; font-weight:700; }
.bnb-week-day { min-height:176px; padding:10px; border:1px solid #e7ebe3; border-radius:9px; background:#fff; }
.bnb-calendar-month .bnb-week-day { min-height:132px; }
.bnb-week-day-outside { background:#f8f9f6; opacity:.72; }
.bnb-week-day h4 { display:flex; justify-content:space-between; align-items:baseline; gap:5px; margin:0 0 10px; padding-bottom:8px; border-bottom:1px solid #edf0e9; color:#68756a; font-size:11px; font-weight:500; }
.bnb-week-day h4 strong { color:#405346; font-size:13px; }
.bnb-week-empty { margin:0; color:#a1a99f; font-size:11px; }
.bnb-week-events { display:flex; flex-direction:column; gap:5px; }
.bnb-week-event { display:flex; flex-direction:column; gap:2px; padding:6px; border-left:3px solid #789477; border-radius:5px; background:#f3f7f0; font-size:10px; }
.bnb-week-event-colored { border-left-color:var(--bnb-calendar-event-color); }
@supports (background:color-mix(in srgb,#000 15%,#fff)) {
  .bnb-week-event-colored { background:color-mix(in srgb,var(--bnb-calendar-event-color) 17%,#fff); }
}
.bnb-week-event time { color:#527155; font-weight:700; }
.bnb-week-event strong { display:-webkit-box; overflow:hidden; color:#35483a; font-size:11px; line-height:1.2; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.bnb-week-event span,.bnb-week-event small { color:#6c796e; }
.bnb-week-event a,.bnb-week-event .bnb-text-button { margin-top:1px; padding:0; border:0; background:transparent; color:#58765a; font-family:inherit; font-size:10px; font-weight:700; line-height:1.2; text-align:left; text-decoration:none; cursor:pointer; }
.bnb-week-event details.bnb-lesson-horse { width:100%; margin-top:3px; padding:5px; border-color:#dce5d8; border-radius:5px; background:#f9fbf7; font-size:10px; }
.bnb-week-event details.bnb-lesson-horse > summary { display:inline-flex; width:fit-content; padding:4px 7px; border:1px solid #d4dfd1; border-radius:4px; background:#eef4eb; color:#365a43; font-size:10px; font-weight:700; cursor:pointer; }
.bnb-calendar-topic { display:-webkit-box; overflow:hidden; color:#365a43!important; font-weight:600; line-height:1.2; overflow-wrap:anywhere; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.bnb-week-seat-count { white-space:nowrap; }
.bnb-week-event form { display:flex; flex-direction:column; align-items:stretch; gap:3px; margin:2px 0 0; }
.bnb-week-event .bnb-booking-client-choice { display:flex; flex-direction:column; gap:2px; font-size:10px; }
.bnb-week-event .bnb-booking-client-select { width:100%; min-height:30px; font-size:10px; }
.bnb-week-event .bnb-lesson-horse select { width:100%; min-height:28px; font-size:10px; }
.bnb-week-event .bnb-lesson-horse small { font-size:9px; line-height:1.25; }
.bnb-week-event .bnb-lesson-horse .bnb-button { margin-top:2px; padding:5px 7px; font-size:10px; line-height:1.2; }
.bnb-week-event .bnb-package-warning-inline { margin:2px 0; font-size:10px; line-height:1.2; }
.bnb-week-event .bnb-join-group-button { padding:5px 7px; font-size:10px; line-height:1.2; }
.bnb-horse-panel { margin-top:16px; }
.bnb-horse-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.bnb-horse-item { padding:12px; border:1px solid #e7ebe3; border-radius:8px; background:#fff; }
.bnb-horse-photo { display:block; width:100%; height:180px; object-fit:cover; border-radius:6px; margin-bottom:12px; }
.bnb-horse-photo-upload { display:grid; gap:8px; margin:10px 0 16px; padding:10px; border:1px solid #e7ebe3; border-radius:8px; background:#f8faf6; }
.bnb-horse-photo-upload label { display:grid; gap:6px; color:#465648; font-size:13px; font-weight:600; }
.bnb-horse-photo-upload input[type="file"] { width:100%; max-width:100%; font:inherit; }
.bnb-horse-photo-upload small { color:#758176; font-size:12px; }
.bnb-horse-photo-upload .bnb-button { justify-self:start; }
.bnb-edit-delete-lesson { margin-top:14px; padding-top:12px; border-top:1px solid #e7ebe3; }
.bnb-edit-delete-lesson > details > summary { color:#9d4038; font-weight:700; }
.bnb-horse-photo-preview { display:block; max-width:120px; max-height:120px; width:auto; height:auto; object-fit:cover; border-radius:6px; margin-top:8px; }
.bnb-horse-item > div { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.bnb-horse-item strong { color:#405346; }
.bnb-horse-item p { margin:8px 0; color:var(--bnb-muted); font-size:12px; }
.bnb-horse-saddle-list { margin:8px 0; color:var(--bnb-muted); font-size:12px; }
.bnb-horse-saddle-list ul { margin:4px 0 0; padding-left:20px; }
.bnb-horse-saddle-list li { padding:1px 0; }
.bnb-horse-status { padding:3px 7px; border-radius:12px; background:#eff6ed; color:#507953; font-size:10px; }
.bnb-horse-inactive { background:#f1f1ec; color:#798075; }
.bnb-horse-editor { margin-top:24px; border-top:1px solid #e7ebe3; padding-top:16px; scroll-margin-top:20px; }
.bnb-horse-error { margin:0 0 14px; }
.bnb-horse-editor h4 { margin:0 0 10px; color:#405346; }
.bnb-horse-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:12px; margin:0; padding:14px; border-radius:8px; background:#f6f8f3; }
.bnb-horse-form label { display:flex; flex-direction:column; gap:5px; color:#647064; font-size:12px; font-weight:600; }
.bnb-horse-photo-field { display:flex; flex-direction:column; gap:5px; color:#647064; font-size:12px; font-weight:600; }
.bnb-horse-form input:not([type=checkbox]),.bnb-horse-form select,.bnb-horse-form textarea { width:100%; box-sizing:border-box; min-height:40px; padding:8px 10px; border:1px solid #dfe5dc; border-radius:6px; background:#fff; color:#344237; font:inherit; }
.bnb-horse-form textarea { min-height:40px; resize:vertical; }
.bnb-horse-form small { color:#647064; font-size:11px; font-weight:400; }
.bnb-horse-form .bnb-horse-notes textarea { min-height:90px; }
.bnb-horse-form .bnb-horse-remove,.bnb-saddle-options label { display:flex; flex-direction:row; align-items:center; gap:7px; }
.bnb-horse-form input[type=checkbox] { width:auto; min-height:0; margin:0; }
.bnb-horse-saddles { grid-column:1/-1; border:1px solid #dfe5dc; border-radius:6px; padding:12px; min-width:0; }
.bnb-horse-saddles legend { color:#405346; font-weight:700; }
.bnb-horse-saddles > label { margin-top:10px; }
.bnb-horse-saddles p { margin:0 0 10px; color:#647064; }
.bnb-saddle-options { display:flex; flex-wrap:wrap; gap:10px 18px; }
.bnb-horse-class-types { grid-column:1/-1; border:1px solid #dfe5dc; border-radius:6px; padding:12px; min-width:0; }
.bnb-horse-class-types legend { color:#405346; font-weight:700; }
.bnb-horse-class-types > p { margin:0 0 10px; color:#647064; }
.bnb-class-type-options { display:flex; flex-wrap:wrap; gap:10px 18px; }
.bnb-class-type-options label { display:flex; flex-direction:row; align-items:center; gap:7px; }
.bnb-saddle-option { display:flex; align-items:center; gap:7px; min-width:min(100%,280px); }
.bnb-horse-form .bnb-saddle-option input[type=text] { flex:1; min-width:0; min-height:34px; padding:6px 8px; }
.bnb-horse-form-actions { grid-column:1/-1; }
.bnb-horse-form-actions { display:flex; align-items:center; gap:10px; white-space:nowrap; }
.bnb-wrap .bnb-client-bulk-email { margin:12px 0; }
.bnb-wrap .bnb-client-sms-warning { margin:12px 0 6px; color:#8c3d2d; font-size:12px; }
.bnb-wrap .bnb-client-help { margin:0 0 12px; color:#647064; font-size:13px; }
.bnb-wrap .bnb-client-help summary { cursor:pointer; color:#365a43; }
.bnb-wrap .bnb-client-table-hint { display:none; margin:8px 0; color:#647064; font-size:12px; }
@container bnb-shell (max-width:960px) {
    .bnb-wrap .bnb-client-table-hint { display:block; }
}
.bnb-wrap .bnb-client-bulk-sms { display:inline-block; margin:4px 10px 8px 0; }
.bnb-wrap .bnb-client-bulk-email > summary { display:inline-block; cursor:pointer; }
.bnb-wrap .bnb-client-contact-toolbar { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin:12px 0; min-width:0; }
.bnb-wrap .bnb-client-contact-group { display:flex; min-width:0; align-items:center; flex-wrap:wrap; gap:10px; }
.bnb-wrap .bnb-client-contact-all { margin-left:auto; justify-content:flex-end; }
.bnb-wrap .bnb-client-contact-toolbar .bnb-client-bulk-sms,.bnb-wrap .bnb-client-contact-toolbar .bnb-client-bulk-email { margin:0; }
.bnb-wrap .bnb-client-contact-toolbar .bnb-client-bulk-email > summary { list-style:none; white-space:nowrap; }
.bnb-wrap .bnb-client-contact-toolbar .bnb-client-bulk-email > summary::-webkit-details-marker { display:none; }
.bnb-wrap .bnb-client-contact-toolbar .bnb-client-contact-group > p { margin:0; }
.bnb-wrap .bnb-client-bulk-email form { display:grid; min-width:0; grid-template-columns:1fr; gap:10px; max-width:700px; padding:14px; margin-top:10px; border:1px solid #e7ebe3; border-radius:8px; }
.bnb-wrap .bnb-client-bulk-email form label,.bnb-wrap .bnb-client-directory-table form label { display:grid; min-width:0; gap:5px; font-weight:600; }
.bnb-wrap .bnb-client-bulk-email input,.bnb-wrap .bnb-client-bulk-email textarea,.bnb-wrap .bnb-client-directory-table input { box-sizing:border-box; width:100%; max-width:500px; min-width:0; }
.bnb-wrap .bnb-client-directory-table { min-width:0; max-width:100%; overflow-x:auto; margin-top:14px; }
.bnb-wrap .bnb-client-directory-table table { min-width:780px; }
.bnb-wrap .bnb-client-directory-table details { margin-top:6px; }
.bnb-wrap .bnb-client-directory-table details form { display:flex; align-items:flex-end; gap:8px; flex-wrap:wrap; margin-top:6px; }
.bnb-wrap .bnb-add-client { min-width:0; margin:12px 0 18px; }
.bnb-wrap .bnb-add-client > form { display:grid; min-width:0; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:15px 18px; padding:18px; margin-top:12px; border:1px solid #e1e7dd; border-radius:10px; background:#fbfcf9; }
.bnb-wrap .bnb-add-client label,.bnb-wrap .bnb-client-edit-form label { display:grid; min-width:0; gap:5px; font-weight:600; }
.bnb-wrap .bnb-add-client input,.bnb-wrap .bnb-client-edit-form input,.bnb-wrap .bnb-client-edit-form textarea,.bnb-wrap .bnb-client-edit-form select { box-sizing:border-box; width:100%; max-width:100%; min-width:0; }
.bnb-wrap .bnb-add-client-form > label:not(.bnb-client-adult-flag):not(.bnb-client-sms-consent) { align-content:start; gap:6px; color:#526456; font-size:13px; }
.bnb-wrap .bnb-add-client-form .bnb-add-client-wide { grid-column:1/-1; }
.bnb-wrap .bnb-add-client-form input:not([type=checkbox]),.bnb-wrap .bnb-add-client-form select,.bnb-wrap .bnb-client-email-settings input[type=email] { min-height:44px; padding:9px 11px; border:1px solid #dfe5dc; border-radius:7px; background:#fff; color:#344237; font:inherit; }
.bnb-wrap .bnb-add-client-form small.description { display:block; margin:0; color:#758176; font-size:12px; font-weight:400; line-height:1.45; }
.bnb-wrap .bnb-add-client-form fieldset .bnb-client-class-choice { display:flex!important; align-items:center!important; justify-content:flex-start!important; gap:9px; width:100%; margin:7px 0!important; color:#45564a; font-size:14px; line-height:1.4; }
.bnb-wrap .bnb-add-client-form fieldset .bnb-client-class-choice input[type=checkbox] { flex:0 0 18px; width:18px!important; height:18px; min-height:18px; margin:0!important; }
.bnb-wrap .bnb-add-client-form > label.bnb-client-adult-flag,.bnb-wrap .bnb-add-client-form > label.bnb-client-sms-consent { display:flex!important; align-items:flex-start!important; justify-content:flex-start!important; gap:9px; margin:0; color:#45564a; font-size:14px; line-height:1.45; }
.bnb-wrap .bnb-add-client-form > label.bnb-client-adult-flag { grid-column:auto; }
.bnb-wrap .bnb-add-client-form > label.bnb-client-sms-consent { grid-column:1/-1; }
.bnb-wrap .bnb-add-client-form > label.bnb-client-adult-flag input[type=checkbox],.bnb-wrap .bnb-add-client-form > label.bnb-client-sms-consent input[type=checkbox] { flex:0 0 18px; width:18px!important; height:18px; min-height:18px; margin:2px 0 0!important; }
.bnb-wrap .bnb-add-client-form .bnb-add-client-submit { grid-column:1/-1; justify-self:start; min-width:0; min-height:46px; }
.bnb-wrap .bnb-client-email-settings { display:grid; min-width:0; grid-column:1/-1; grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr); gap:14px; padding:14px; border:1px solid #e1e7dd; border-radius:9px; background:#fff; }
.bnb-wrap .bnb-client-email-settings > input[type=hidden] { display:none; }
.bnb-wrap .bnb-client-email-settings label { align-content:start; }
.bnb-wrap .bnb-client-email-settings .bnb-primary-email-field { display:grid; align-content:start; gap:7px; }
.bnb-wrap .bnb-client-email-opt-in { display:flex!important; align-items:flex-start; justify-content:flex-start; gap:7px!important; font-size:13px; font-weight:500!important; line-height:1.4; }
.bnb-wrap .bnb-client-email-opt-in input[type=checkbox] { flex:0 0 17px; width:17px!important; height:17px; min-height:17px; margin:1px 0 0!important; }
.bnb-wrap .bnb-client-extra-emails h4 { margin:0 0 4px; font-size:14px; }
.bnb-wrap .bnb-client-extra-emails > p { margin:0 0 9px; font-size:12px; line-height:1.4; }
.bnb-wrap .bnb-client-email-list { display:grid; gap:8px; }
.bnb-wrap .bnb-client-email-row { display:grid; min-width:0; grid-template-columns:minmax(0,1fr) auto auto; align-items:end; gap:8px; }
.bnb-wrap .bnb-client-email-row > label:first-child { display:grid; align-content:start; gap:5px; }
.bnb-wrap .bnb-client-email-row .bnb-remove-client-email { min-height:38px; padding:6px 9px; border:1px solid #dfe5dc; border-radius:6px; background:#fff; color:#5f6c61; cursor:pointer; }
.bnb-wrap .bnb-add-client-email { margin-top:9px; padding:0; border:0; background:none; color:#315c45; font:inherit; font-size:13px; font-weight:700; text-decoration:underline; cursor:pointer; }
.bnb-wrap .bnb-client-additional-email { overflow-wrap:anywhere; }
.bnb-wrap .bnb-client-directory { min-width:0; max-width:100%; }
.bnb-wrap .bnb-client-directory > * { min-width:0; max-width:100%; }
/* Native account rows must not inherit the theme's table/column minimum widths. */
.bnb-wrap .bnb-native-client-directory { min-width:0; max-width:100%; }
.bnb-wrap .bnb-native-client-directory .bnb-table-scroll { width:100%; max-width:100%; min-width:0; overflow-x:auto; }
.bnb-wrap .bnb-native-client-table { width:100%; min-width:0; max-width:100%; table-layout:fixed; border-collapse:collapse; }
.bnb-wrap .bnb-native-client-table th,.bnb-wrap .bnb-native-client-table td { box-sizing:border-box; min-width:0; padding:9px 10px; text-align:left; vertical-align:middle; white-space:normal; overflow-wrap:anywhere; }
.bnb-wrap .bnb-native-client-table th:nth-child(1) { width:25%; }
.bnb-wrap .bnb-native-client-table th:nth-child(2) { width:30%; }
.bnb-wrap .bnb-native-client-table th:nth-child(3) { width:13%; }
.bnb-wrap .bnb-native-client-table th:nth-child(4) { width:32%; }
.bnb-wrap .bnb-native-client-table td form { width:100%; min-width:0; margin:5px 0 0; }
.bnb-wrap .bnb-native-client-table .bnb-button { box-sizing:border-box; max-width:100%; min-width:0; height:auto; white-space:normal; line-height:1.35; padding:8px 10px; }
.bnb-wrap .bnb-native-client-mobile-email { display:none; }
@media (max-width:600px) {
    .bnb-wrap .bnb-native-client-table th,.bnb-wrap .bnb-native-client-table td { padding:8px 5px; font-size:12px; }
    .bnb-wrap .bnb-native-client-table th:nth-child(1) { width:39%; }
    .bnb-wrap .bnb-native-client-table th:nth-child(2),.bnb-wrap .bnb-native-client-table td:nth-child(2) { display:none; }
    .bnb-wrap .bnb-native-client-table th:nth-child(3) { width:22%; }
    .bnb-wrap .bnb-native-client-table td:nth-child(3) { white-space:nowrap; overflow-wrap:normal; }
    .bnb-wrap .bnb-native-client-table th:nth-child(4) { width:39%; }
    .bnb-wrap .bnb-native-client-mobile-email { display:block; margin-top:4px; font-size:11px; font-weight:400; overflow-wrap:anywhere; }
    .bnb-wrap .bnb-native-client-table .bnb-button { width:100%; font-size:12px; padding:8px 5px; }
}
.bnb-wrap .bnb-client-list { width:100%; max-width:100%; min-width:0; overflow-x:auto; overflow-y:hidden; margin-top:14px; border:1px solid #e1e7dd; border-radius:9px; background:#fffefa; container-type:inline-size; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; }
.bnb-wrap .bnb-client-table { width:100%; min-width:900px; max-width:none; border-collapse:collapse; table-layout:fixed; background:#fffefa; color:var(--bnb-ink); }
.bnb-wrap .bnb-client-table th,.bnb-wrap .bnb-client-table td { min-width:0; padding:9px 11px; border-bottom:1px solid #e7ebe3; background:#fffefa; text-align:left; vertical-align:middle; }
.bnb-wrap .bnb-client-table thead th { position:sticky; top:0; z-index:1; background:#f1f5ee; color:#526456; font-size:12px; font-weight:700; letter-spacing:.02em; }
.bnb-wrap .bnb-client-table thead th:nth-child(1) { width:22%; }
.bnb-wrap .bnb-client-table thead th:nth-child(2) { width:16%; }
.bnb-wrap .bnb-client-table thead th:nth-child(3) { width:23%; }
.bnb-wrap .bnb-client-table thead th:nth-child(4) { width:20%; }
.bnb-wrap .bnb-client-table thead th:nth-child(5) { width:19%; }
.bnb-wrap .bnb-client-row + .bnb-client-row > .bnb-client-row-main > * { border-top:1px solid #e7ebe3; }
.bnb-wrap .bnb-client-row-main { min-height:48px; }
.bnb-wrap .bnb-client-name { color:#344237; font-size:13px; font-weight:600; }
.bnb-wrap .bnb-client-name > strong { overflow-wrap:anywhere; }
.bnb-wrap .bnb-client-badges { display:inline-flex; flex-wrap:wrap; gap:3px; margin-left:4px; vertical-align:middle; }
.bnb-wrap .bnb-client-badges small { padding:2px 6px; border-radius:10px; background:#eef3eb; color:#536850; font-size:10px; font-weight:700; white-space:nowrap; }
.bnb-wrap .bnb-client-badges .bnb-adult-client-badge { background:#e8eef4; color:#3f5b75; }
.bnb-wrap .bnb-client-latest-notes { display:grid; gap:5px; margin:5px 0 10px; color:#56645a; font-size:.86em; }
.bnb-wrap .bnb-client-latest-note { display:grid; gap:2px; margin:0; white-space:pre-wrap; }
.bnb-wrap .bnb-client-latest-note time,.bnb-wrap .bnb-client-note-history-item time { color:#788278; font-size:.9em; }
.bnb-wrap .bnb-client-profile-content[hidden],.bnb-wrap .bnb-client-edit-content[hidden] { display:none!important; }
.bnb-wrap .bnb-client-detail-row[hidden] { display:none!important; }
.bnb-wrap .bnb-client-detail-cell { overflow:visible!important; padding:0!important; border-bottom:1px solid #dfe6da!important; background:#f8faf6!important; }
.bnb-wrap .bnb-client-expanded-panel { position:sticky; left:0; width:100cqi; max-width:100%; min-width:0; margin:0; overflow-wrap:anywhere; }
.bnb-wrap .bnb-client-edit-content,.bnb-wrap .bnb-client-profile-content { width:100%; min-width:0; padding:14px; }
.bnb-wrap .bnb-client-history { margin-top:0; padding:12px; border:1px solid #e7ebe3; border-radius:8px; background:#fffefa; }
.bnb-wrap .bnb-client-history > h4 { margin-top:0; }
.bnb-wrap .bnb-client-note-history { margin:10px 0 18px; }
.bnb-wrap .bnb-client-note-history ol { display:grid; gap:8px; padding-left:22px; }
.bnb-wrap .bnb-client-note-history-item { padding:10px; border-radius:7px; background:#f7f9f5; }
.bnb-wrap .bnb-client-note-history-item p { margin:6px 0 0; white-space:pre-wrap; }
.bnb-wrap .bnb-client-note-history-item small { margin-left:8px; color:#68756b; }
.bnb-wrap .bnb-client-note-staff { border-left:3px solid #9a7550; }
.bnb-wrap .bnb-client-note-client { border-left:3px solid #43866a; }
.bnb-wrap .bnb-client-contact-actions { display:flex; gap:6px; flex-wrap:wrap; }
.bnb-wrap .bnb-client-contact-cell,.bnb-wrap .bnb-client-emergency-contact { overflow-wrap:anywhere; font-size:12px; }
.bnb-wrap .bnb-client-contact-cell small { display:block; color:#758176; font-size:10px; }
.bnb-wrap .bnb-client-emergency-contact strong,.bnb-wrap .bnb-client-emergency-contact a { display:block; overflow-wrap:anywhere; }
.bnb-wrap .bnb-client-actions { white-space:normal; }
.bnb-wrap .bnb-client-actions > * { display:block; margin:2px 0; }
.bnb-wrap .bnb-client-action-toggle,.bnb-wrap .bnb-client-profile-toggle { padding:2px 0; border:0; background:transparent; color:#426149; font:inherit; font-size:11px; font-weight:600; line-height:1.35; text-align:left; text-decoration:underline; cursor:pointer; }
.bnb-wrap .bnb-client-action-toggle:hover,.bnb-wrap .bnb-client-profile-toggle:hover { color:#294b35; }
.bnb-wrap .bnb-client-action-toggle:focus-visible,.bnb-wrap .bnb-client-profile-toggle:focus-visible { outline:2px solid #66816a; outline-offset:2px; }
.bnb-wrap .bnb-client-extra-detail { margin-bottom:12px; padding-bottom:10px; border-bottom:1px solid #e1e7dd; color:#59665b; font-size:13px; }
.bnb-wrap .bnb-client-extra-detail p { margin:4px 0; }
.bnb-wrap .bnb-client-extra-detail .button { margin:5px 8px 0 0; }
.bnb-wrap .bnb-client-lifecycle-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:12px 14px; border-top:1px solid #e1e7dd; background:#f4f7f1; }
.bnb-wrap .bnb-client-lifecycle-actions form { margin:0; }
.bnb-wrap .bnb-client-delete-blocked { color:#76551b; }
.bnb-wrap .bnb-client-profile-content[hidden] { display:none!important; }
.bnb-client-profile-modal { box-sizing:border-box; width:min(920px,calc(100vw - 24px)); max-width:920px; max-height:calc(100dvh - 24px); padding:0; border:1px solid #dfe5d9; border-radius:12px; background:#fffefa; color:#2d3d32; box-shadow:0 18px 60px rgba(20,32,23,.3); overflow:auto; overscroll-behavior:contain; }
.bnb-client-profile-modal::backdrop { background:rgba(18,27,20,.68); }
.bnb-client-profile-modal-heading { position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; border-bottom:1px solid #e3e8df; background:#fffefa; }
.bnb-client-profile-modal-heading h3 { margin:0; }
.bnb-client-profile-modal-close { display:inline-flex; flex:0 0 auto; align-items:center; gap:5px; min-height:38px; padding:6px 12px; border:1px solid #dfe5d9; border-radius:20px; background:#f0f3ec; color:#35483a; font:inherit; font-weight:700; cursor:pointer; }
.bnb-client-profile-modal-close span[aria-hidden="true"] { font-size:22px; line-height:1; }
.bnb-client-profile-modal > .bnb-client-profile-editor { margin:0; border:0; border-radius:0; box-shadow:none; }
@media(max-width:600px) {
  .bnb-client-profile-modal { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); border-radius:10px; }
  .bnb-client-profile-modal-heading { padding:10px 12px; }
  .bnb-client-profile-modal-heading h3 { font-size:1.05rem; }
}
.bnb-wrap .bnb-client-edit-form { display:grid; width:100%; min-width:0; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:14px; margin-top:10px; background:#f7f9f5; border-radius:8px; }
.bnb-wrap .bnb-client-edit-form > *,.bnb-wrap .bnb-client-email-settings,.bnb-wrap .bnb-client-extra-emails,.bnb-wrap .bnb-client-email-list { min-width:0; }
.bnb-wrap .bnb-client-edit-form input:not([type=checkbox]),.bnb-wrap .bnb-client-edit-form select,.bnb-wrap .bnb-client-edit-form textarea { width:100%; max-width:100%; min-width:0; }
.bnb-wrap .bnb-client-edit-form .bnb-client-class-access,.bnb-wrap .bnb-client-edit-form .bnb-wide,.bnb-wrap .bnb-client-edit-form > button { grid-column:1/-1; }
.bnb-wrap .bnb-client-class-access { display:flex; gap:8px 18px; flex-wrap:wrap; }
.bnb-wrap .bnb-client-edit-form .bnb-client-class-access label { display:inline-flex; align-items:center; gap:6px; font-weight:400; }
.bnb-wrap .bnb-client-class-access input[type=checkbox] { width:auto; }
.bnb-wrap .bnb-add-client .bnb-client-adult-flag,.bnb-wrap .bnb-client-edit-form .bnb-client-adult-flag { display:flex; align-items:center; gap:8px; grid-column:1/-1; }
.bnb-wrap .bnb-add-client .bnb-client-adult-flag input[type=checkbox],.bnb-wrap .bnb-client-edit-form .bnb-client-adult-flag input[type=checkbox] { width:auto; min-height:0; margin:0; flex:0 0 auto; }
.bnb-wrap .bnb-adult-client-badge { display:inline-block; width:max-content; padding:2px 7px; border-radius:12px; background:#e8eef4; color:#3f5b75; font-size:11px; font-weight:700; }
.bnb-wrap .bnb-client-visible-note p { white-space:normal; }
.bnb-wrap .bnb-client-staff-note { display:block; color:#72523c; }
@media(max-width:720px) {
    .bnb-wrap .bnb-add-client > form { grid-template-columns:1fr; }
    .bnb-wrap .bnb-add-client-form .bnb-add-client-submit { width:100%; justify-self:stretch; }
    .bnb-wrap .bnb-client-email-settings { grid-template-columns:1fr; }
    .bnb-wrap .bnb-client-email-row { grid-template-columns:minmax(0,1fr) auto; }
    .bnb-wrap .bnb-client-email-row > label:first-child { grid-column:1/-1; }
    .bnb-wrap .bnb-client-edit-form { grid-template-columns:1fr; }
    .bnb-wrap .bnb-client-edit-form .bnb-client-class-access,.bnb-wrap .bnb-client-edit-form .bnb-wide,.bnb-wrap .bnb-client-edit-form > button { grid-column:1/-1; }
}
.bnb-button-light { border:1px solid #dce5d8; background:#f4f7f1; color:#436048!important; }
.bnb-button-light:hover { background:#eaf1e7; }
.bnb-lesson { display:grid; grid-template-columns:minmax(130px,190px) minmax(0,1fr) auto auto; align-items:center; gap:16px; padding:15px 0; border-bottom:1px solid #edf0e9; }
.bnb-lesson:last-child { border-bottom:0; }
.bnb-lesson-time { display:flex; flex-direction:column; color:#607160; font-size:13px; }
.bnb-lesson-time strong { color:#405346; }
.bnb-lesson-info h4 { margin:0 0 4px; color:#405346; font-size:15px; }
.bnb-lesson-info p,.bnb-lesson-info small { margin:0; color:var(--bnb-muted); font-size:12px; }
.bnb-lesson-topic { display:block; }
.bnb-lesson-collapsed { border-bottom:1px solid #edf0e9; }
.bnb-lesson-collapsed > summary { display:flex; align-items:center; gap:8px 16px; flex-wrap:wrap; padding:12px 6px; color:#405346; cursor:pointer; list-style:none; }
.bnb-lesson-collapsed > summary::-webkit-details-marker { display:none; }
.bnb-lesson-collapsed > summary::before { content:"›"; color:#58765a; font-size:18px; font-weight:700; }
.bnb-lesson-collapsed[open] > summary::before { content:"⌄"; }
.bnb-lesson-collapsed > summary span { font-weight:600; }
.bnb-lesson-collapsed > summary small { color:var(--bnb-muted); }
.bnb-lesson-collapsed .bnb-lesson { padding:12px 0 16px; }
.bnb-future-lessons { margin-top:10px; border:1px solid #dfe5d9; border-radius:8px; background:#f8faf6; }
.bnb-future-lessons > summary { display:flex; align-items:center; gap:8px; padding:11px 12px; color:#365a43; cursor:pointer; list-style:none; font-weight:700; }
.bnb-future-lessons > summary::-webkit-details-marker { display:none; }
.bnb-future-lessons > summary::before { content:"›"; font-size:18px; }
.bnb-future-lessons[open] > summary::before { content:"⌄"; }
.bnb-future-lesson-list { padding:0 10px 8px; }
.bnb-sync { padding:5px 8px; border-radius:20px; background:#f0f3ec; color:#778176; font-size:11px; white-space:nowrap; }
.bnb-add-calendar { position:relative; display:inline-block; }
.bnb-add-calendar > summary { display:inline-flex; cursor:pointer; list-style:none; }
.bnb-add-calendar > summary::-webkit-details-marker { display:none; }
.bnb-calendar-options { position:absolute; z-index:20; top:calc(100% + 5px); right:0; display:flex; min-width:170px; flex-direction:column; padding:5px; border:1px solid #e5e9e1; border-radius:8px; background:#fff; box-shadow:0 8px 20px rgba(32,48,37,.14); }
.bnb-calendar-options a { padding:8px 10px; border-radius:5px; color:#355c45; text-decoration:none; white-space:nowrap; }
.bnb-calendar-options a:hover,.bnb-calendar-options a:focus { background:#f2f5ef; }
.bnb-sync-synced { background:#eff6ed; color:#507953; }
.bnb-sync-failed { background:#fff0eb; color:#a35d49; }
.bnb-sync-error { max-width:220px; color:#9c6658; font-size:10px; }
.bnb-actions { display:flex; flex-direction:column; align-items:flex-start; gap:7px; }
.bnb-actions .bnb-sync { align-self:flex-start; max-width:200px; white-space:normal; }
.bnb-actions form { margin:0; }
.bnb-text-button { padding:0; border:0; background:transparent; color:#58765a; font-family:inherit; font-size:12px; font-weight:600; line-height:1.3; text-decoration:underline; cursor:pointer; }
.bnb-cancel-button { color:#9c6658; }
.bnb-refund-panel > summary .bnb-cancellation-awaiting,.bnb-staff-cancellation-history .bnb-cancellation-awaiting { color:#b42318; font-weight:800; }
.bnb-refund-panel > summary .bnb-cancellation-awaiting { display:inline-block; padding:2px 5px; font-size:1.16em; }
.bnb-actions details.bnb-credit-choice > summary { display:flex; align-items:center; list-style:none; color:#58765a; cursor:pointer; font-size:12px; font-weight:600; line-height:1.3; }
.bnb-actions details.bnb-credit-choice > summary::-webkit-details-marker { display:none; }
.bnb-actions details.bnb-credit-choice > summary::before,.bnb-actions .bnb-action-link::before { content:"▸"; display:inline-block; flex:0 0 16px; width:16px; color:#58765a; text-decoration:none; }
.bnb-actions details.bnb-credit-choice[open] > summary::before { content:"▾"; }
.bnb-actions .bnb-action-link { display:flex; align-items:center; color:#58765a; text-decoration:none; }
.bnb-actions .bnb-text-reminder { display:inline-flex; min-width:156px; min-height:44px; align-items:center; justify-content:center; padding:10px 12px; text-align:center; white-space:normal; }
.bnb-admin-links { display:flex; flex-wrap:wrap; gap:8px 18px; margin:14px 0; font-size:13px; }
.bnb-lesson-tools { grid-column:1/-1; display:flex; flex-direction:column; align-items:stretch; gap:10px; min-width:0; }
.bnb-lesson-note-tools { width:100%; padding:10px 12px; border:1px solid #e4e9df; border-radius:8px; background:#fbfcf9; }
.bnb-lesson-note-tools > summary { color:#365a43; cursor:pointer; font-weight:700; }
.bnb-lesson-note-form { display:grid; gap:8px; padding:10px 0; border-top:1px solid #e7ebe3; }
.bnb-lesson-note-form label { display:grid; gap:5px; color:#526456; font-size:12px; font-weight:600; }
.bnb-lesson-note-form select,.bnb-lesson-note-form textarea { width:100%; max-width:520px; padding:8px; border:1px solid #dfe5d9; border-radius:6px; font:inherit; }
.bnb-lesson-note-form textarea { min-height:64px; }
.bnb-lesson-note-form .bnb-button { justify-self:start; }
.bnb-lesson-note-history { display:grid; gap:4px; margin-top:8px; padding:8px 10px; border-radius:6px; background:#f5f7f3; font-size:12px; }
.bnb-lesson-note-entry { display:grid; gap:3px; margin:0; padding:6px 0; border-top:1px solid #e4e9df; white-space:pre-wrap; }
.bnb-lesson-note-entry small { color:#6b776c; }
.bnb-client-lesson-notes { grid-column:1/-1; margin:12px 0; padding:12px; border:1px solid #e7ebe3; border-radius:8px; background:#fff; }
.bnb-client-lesson-notes h4 { margin:0 0 8px; color:#405346; }
.bnb-client-lesson-notes ol { display:grid; gap:8px; padding-left:22px; }
.bnb-client-lesson-notes li { padding:8px; border-left:3px solid #43866a; background:#f7f9f5; }
.bnb-client-lesson-notes time { display:block; color:#758176; font-size:12px; }
.bnb-client-lesson-notes p { margin:5px 0 0; white-space:pre-wrap; }
.bnb-client-lesson-notes > p { margin:0; color:#758176; }
.bnb-lesson-horse-form { margin:10px 0; }
.bnb-lesson-horse { box-sizing:border-box; min-width:0; width:100%; margin:0; padding:12px; border:1px solid #e5e9e1; border-radius:8px; background:#f7f9f5; font-size:13px; }
.bnb-lesson-horse legend { padding:0 5px; color:#365a43; font-weight:700; }
.bnb-lesson-horse-options { display:flex; flex-wrap:wrap; gap:6px 16px; }
.bnb-lesson-horse-options label { display:flex; align-items:center; gap:7px; min-height:32px; }
.bnb-lesson-horse-options input { width:auto; }
.bnb-lesson-horse .bnb-button { margin-top:8px; }
.bnb-lesson-horse-selected { margin-bottom:8px; }
.bnb-lesson-horse-selected:empty { display:none; }
.bnb-lesson-horse-add { margin:8px 0; }
.bnb-lesson-horse-add > summary { color:#365a43; font-weight:600; cursor:pointer; }
.bnb-lesson-horse-add .bnb-lesson-horse-options { padding:8px 0; }
.bnb-rider-horses { margin:10px 0; border-top:1px solid #e5e9e1; }
.bnb-bulk-rider-horse-form { display:flex; flex-direction:column; gap:8px; }
.bnb-horse-assignment-help { margin:2px 0; color:#687168; font-size:12px; }
.bnb-rider-horse-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 18px; padding:8px 0; border-bottom:1px solid #e5e9e1; font-size:13px; }
.bnb-rider-horse-identity { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; }
.bnb-rider-horse-name { display:flex; flex-direction:column; align-items:flex-start; gap:2px; }
.bnb-rider-credit-status { color:var(--bnb-muted,#647064); font-size:11px; font-weight:400; }
.bnb-rider-horse-label { color:#405346; }
.bnb-rider-horse-row label { display:flex; flex-direction:column; gap:3px; font-size:12px; }
.bnb-rider-horse-row select { min-height:34px; max-width:240px; border:1px solid #dfe5d9; border-radius:5px; }
.bnb-past-lessons > summary { cursor:pointer; font-weight:700; color:#365a43; }
.bnb-past-nav { display:flex; flex-wrap:wrap; gap:16px; margin-top:16px; }
.bnb-instructor-list { list-style:none; padding:0; margin:0; }
.bnb-instructor-list li { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:12px 0; border-bottom:1px solid #dfe5d9; }
.bnb-instructor-list span { font-size:13px; color:var(--bnb-muted,#647064); }
.bnb-package-warning,.bnb-notice-warning { padding:12px; background:#fff7df; color:#76551b; border:1px solid #e3cd8c; border-radius:8px; }
.bnb-package-warning-inline { display:block; color:#76551b; margin:6px 0; }
.bnb-package-balance-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; }
.bnb-package-balance { display:flex; flex-direction:column; gap:5px; padding:14px; border:1px solid #dfe5d9; border-radius:10px; }
.bnb-package-balance small { color:#647064; }
.bnb-join-group-button { padding:6px 10px; border:0; border-radius:5px; background:var(--bnb-green); color:#fff; cursor:pointer; }
.bnb-calendar-day-button { display:flex; justify-content:space-between; align-items:center; width:100%; padding:0; border:0; color:inherit; background:transparent; font:inherit; text-align:left; cursor:pointer; }
.bnb-calendar-day-button:hover strong { color:#365b44; text-decoration:underline; }
.bnb-calendar-day-button:focus-visible { outline:2px solid #456b51; outline-offset:3px; border-radius:3px; }
.bnb-calendar-add-actions { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 12px; }
.bnb-calendar-add-actions .bnb-button { min-height:44px; }
.bnb-upcoming-summary { cursor:pointer; color:#35483a; font-family:Georgia,"Times New Roman",serif; font-size:22px; font-weight:700; }
.bnb-upcoming-lessons[open] > .bnb-upcoming-summary { margin-bottom:14px; }
.bnb-hide-empty-lessons { display:flex; align-items:center; gap:8px; width:max-content; max-width:100%; margin:0 0 12px; color:#405346; font-weight:600; cursor:pointer; }
.bnb-hide-empty-lessons input[type=checkbox] { flex:0 0 18px; width:18px; height:18px; min-height:18px; margin:0; accent-color:#365a43; }
.bnb-upcoming-lessons [data-bnb-empty-lesson][hidden] { display:none!important; }
.bnb-lesson-create-dialog { position:fixed; inset:0; width:min(900px,calc(100vw - 32px)); max-width:none; max-height:calc(100vh - 32px); overflow:auto; margin:auto; padding:24px; border:1px solid #e4e9df; border-radius:16px; background:#fffefb; color:#34443a; box-shadow:0 24px 80px rgba(22,37,27,.25); }
.bnb-lesson-create-dialog::backdrop { background:rgba(24,34,28,.58); }
.bnb-lesson-create-dialog .bnb-dialog-booking-card { margin:0; padding:4px 0 0; border:0; box-shadow:none; }
.bnb-lesson-create-dialog .bnb-dialog-booking-card h3 { padding-right:42px; }
.bnb-schedule-dialog { position:fixed; inset:0; width:min(720px,calc(100vw - 32px)); max-width:none; max-height:calc(100vh - 32px); overflow:auto; margin:auto; padding:24px; border:1px solid #e4e9df; border-radius:16px; background:#fffefb; color:#34443a; box-shadow:0 24px 80px rgba(22,37,27,.25); }
.bnb-schedule-dialog::backdrop { background:rgba(24,34,28,.58); }
.bnb-schedule-dialog h2, .bnb-schedule-dialog h3 { margin-top:0; padding-right:42px; }
.bnb-schedule-dialog .bnb-dialog-close { float:right; width:34px; height:34px; margin:-8px -8px 8px 12px; border:1px solid #e4e9df; border-radius:50%; background:#fffefb; color:#34443a; font-size:22px; line-height:1; cursor:pointer; }
.bnb-add-student-dialog { width:min(560px,calc(100vw - 32px)); }
.bnb-event-email-dialog textarea { min-height:150px; }
.bnb-rider-horse-assignment-form { margin:10px 0 2px; padding:12px; border:1px solid #e4e9df; border-radius:10px; background:#fbfcf9; }
.bnb-lesson-dialog-close { position:absolute; top:12px; right:12px; display:grid; place-items:center; width:38px; height:38px; border:1px solid #dfe5dc; border-radius:50%; background:#f6f8f4; color:#35483a; font-size:24px; line-height:1; cursor:pointer; }
.bnb-calendar-sync-note { display:block; margin:.5rem 0; color:var(--bnb-muted); font-size:12px; }
.bnb-admin-form > p { display:flex; align-items:end; gap:12px; flex-wrap:wrap; }
.bnb-admin-form label { display:flex; flex-direction:column; gap:5px; font-weight:600; }
.bnb-admin-form input,.bnb-admin-form select { min-width:150px; }
.bnb-admin-form .bnb-package-email-opt-in { flex-direction:row; align-items:center; gap:8px; }
.bnb-admin-form .bnb-package-email-opt-in input[type="checkbox"] { width:auto; min-width:0; margin:0; }
.bnb-admin-settings { --bnb-green:#365a43; --bnb-ink:#2d3d32; --bnb-muted:#758176; max-width:1280px; }
.bnb-account-email-settings-form .bnb-account-email-save-row { grid-column:1/-1; margin:0; padding-top:4px; }
.bnb-account-email-settings-form .bnb-account-email-save { min-height:44px; }
.bnb-admin-settings .bnb-admin-panel { box-sizing:border-box; margin:18px 0; padding:20px 24px; background:#fff; border:1px solid #dcdcde; border-radius:10px; box-shadow:0 1px 2px rgba(20,35,25,.06); }
.bnb-admin-settings .bnb-admin-panel > h2:first-child { margin-top:0; }
.bnb-admin-settings .bnb-admin-panel > h3 { margin-top:24px; }
.bnb-admin-settings .bnb-admin-accounts > summary { display:flex; align-items:center; flex-wrap:wrap; gap:6px 14px; cursor:pointer; }
.bnb-admin-settings .bnb-admin-accounts > summary::marker { color:#365b44; }
.bnb-admin-settings .bnb-admin-accordion-title { color:#1d2327; font-size:1.25em; font-weight:600; }
.bnb-admin-settings .bnb-admin-accounts[open] > summary { padding-bottom:16px; border-bottom:1px solid #dcdcde; }
.bnb-admin-settings .bnb-admin-panel-body { padding-top:12px; }
.bnb-admin-settings .bnb-admin-panel-body > h2 { margin-top:12px; }
.bnb-admin-settings .bnb-package-form > p:first-of-type { display:grid; grid-template-columns:minmax(240px,2fr) minmax(160px,.8fr) minmax(180px,1fr); align-items:end; gap:16px; }
.bnb-admin-settings .bnb-package-form > p:first-of-type label { min-width:0; }
.bnb-admin-settings .bnb-package-form > p:first-of-type input { box-sizing:border-box; width:100%; max-width:100%; min-width:0; min-height:38px; }
.bnb-admin-settings .bnb-package-form > p:first-of-type .bnb-package-count-input { width:150px; max-width:100%; }
.bnb-admin-settings .bnb-package-form .description { font-weight:400; }
.bnb-admin-settings .bnb-admin-hours .form-table th { width:190px; }
.bnb-admin-settings .bnb-admin-hours .form-table input[type="time"] { min-height:34px; }
.bnb-admin-settings .bnb-admin-inline-form { display:inline-block; margin-right:8px; }
.bnb-admin-settings .bnb-admin-panel .widefat { margin:10px 0; }
.bnb-class-type { margin:16px 0; padding:14px; border:1px solid #dfe5d9; border-radius:8px; }
.bnb-package-class-types { margin:12px 0 20px; padding:14px; border:1px solid #dfe5d9; }
.bnb-admin-form .bnb-package-class-types label { display:flex; flex-direction:row; align-items:center; gap:8px; margin:8px 0; }
.bnb-admin-form .bnb-package-class-types input[type="checkbox"] { width:auto; min-width:0; margin:0; }
.bnb-class-duration { align-self:center; color:#647064; font-size:13px; }
.bnb-role-form { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.bnb-role-options { display:flex; align-items:center; flex-wrap:wrap; gap:10px; border:0; margin:0; padding:0; }
.bnb-role-options label { display:flex; align-items:center; gap:4px; white-space:nowrap; }
@media(max-width:760px) {
  .bnb-wrap { margin:16px 0!important; }
  .bnb-client-access-grid { grid-template-columns:1fr; }
  .bnb-admin-settings .bnb-admin-panel { padding:16px; }
  .bnb-admin-settings .bnb-package-form > p:first-of-type { grid-template-columns:1fr; }
  .bnb-admin-settings .bnb-admin-hours .form-table th { width:auto; }
  .bnb-card { padding:15px; }
  .bnb-lesson-create-dialog { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); padding:18px; }
  .bnb-form { grid-template-columns:1fr; }
  .bnb-wide { grid-column:auto; }
  .bnb-week-heading,.bnb-horse-heading { align-items:flex-start; }
  .bnb-calendar-controls { align-items:flex-start; flex-direction:column; }
  .bnb-calendar-filter { width:100%; }
  .bnb-calendar-filter label { flex:1; }
  .bnb-calendar-filter select { width:100%; }
  .bnb-horse-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bnb-horse-form { grid-template-columns:1fr 1fr; }
  .bnb-horse-notes,.bnb-horse-form-actions { grid-column:1/-1; }
  .bnb-lesson { grid-template-columns:1fr auto; gap:8px 12px; }
  .bnb-lesson-time,.bnb-lesson-info { grid-column:1/-1; }
  .bnb-sync { grid-column:1; justify-self:start; }
  .bnb-actions { grid-column:1/-1; grid-row:auto; justify-self:start; }
  .bnb-actions .bnb-text-reminder { width:100%; min-height:52px; }
}
@media(max-width:480px) {
  .bnb-week-heading,.bnb-horse-heading { flex-direction:column; }
  .bnb-week-nav { align-self:stretch; }
  .bnb-week-nav a:nth-child(2) { flex:1; }
  .bnb-horse-grid { grid-template-columns:1fr; }
  .bnb-horse-form { grid-template-columns:1fr; }
}
.bnb-wrap .bnb-client-view-tabs,.bnb-report-week-nav,.bnb-report-pagination { display:flex; gap:10px; flex-wrap:wrap; margin:12px 0; }
.bnb-wrap .bnb-client-view-tabs a,.bnb-report-week-nav a,.bnb-report-pagination a { padding:8px 12px; border:1px solid #dfe5d9; border-radius:7px; color:#365a43; text-decoration:none; }
.bnb-wrap .bnb-client-view-tabs .bnb-tab-active { background:#eef2e8; font-weight:700; }
.bnb-wrap .bnb-client-toolbar { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin:12px 0; }
.bnb-wrap .bnb-client-toolbar .bnb-client-view-tabs { margin:0; }
.bnb-wrap .bnb-client-sort { display:flex; min-width:0; align-items:center; gap:8px; flex-wrap:wrap; margin:0; }
.bnb-wrap .bnb-client-sort label { color:#758176; font-size:13px; font-weight:600; }
.bnb-wrap .bnb-client-sort select { min-height:40px; max-width:100%; padding:7px 10px; border:1px solid #dfe5dc; border-radius:7px; background:#fff; color:#344237; font:inherit; }
.bnb-wrap .bnb-client-lifecycle { display:inline-flex; margin:5px 8px 5px 0; }
.bnb-wrap .bnb-client-delete-blocked { display:block; color:#795e43; }
.bnb-wrap .bnb-archived-badge { display:inline-block; margin-left:8px; padding:2px 7px; border-radius:12px; background:#f2e9dd; color:#765331; }
.bnb-wrap .bnb-client-history { padding:12px 14px; border-top:1px solid #e7ebe3; }
.bnb-wrap .bnb-client-history>summary,.bnb-older-packages>summary { color:#365a43; cursor:pointer; font-weight:700; }
.bnb-wrap .bnb-client-history h4,.bnb-report-section h4 { margin:14px 0 8px; color:#405346; }
.bnb-wrap .bnb-client-package-item { display:flex; min-width:0; max-width:100%; flex-direction:column; align-items:flex-start; gap:4px; padding:12px; margin:8px 0; border:1px solid #e7ebe3; border-radius:8px; background:#fff; }
.bnb-wrap .bnb-client-package-item small { color:#647064; }
.bnb-package-archive-form { margin-top:6px; }
.bnb-wrap .bnb-client-unpaid ul { list-style:none; margin:0; padding:0; }
.bnb-unpaid-item { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:9px 10px; border-bottom:1px solid #edf0e9; }
.bnb-unpaid-item b,.bnb-report-table .bnb-unpaid-past b { padding:3px 7px; border-radius:5px; background:#ffe1d8; color:#922e1c; font-size:11px; }
.bnb-unpaid-past { background:#fff0ec; color:#812d1e; font-weight:700; }
.bnb-payment-status-form { display:inline-flex; margin:0; }
.bnb-report-section { margin-top:24px; padding-top:18px; border-top:1px solid #e7ebe3; }
.bnb-report-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.bnb-report-heading h3,.bnb-report-heading h4 { margin:0; color:#405346; }
.bnb-report-heading p { margin:5px 0; color:#758176; font-size:13px; }
.bnb-report-unpaid summary { color:#405346; font-weight:700; cursor:pointer; }
.bnb-report-horse-chart { display:grid; gap:10px; }
.bnb-report-horse-row { display:grid; grid-template-columns:minmax(110px,200px) minmax(80px,1fr) minmax(70px,100px); align-items:center; gap:12px; }
.bnb-report-horse-name { overflow-wrap:anywhere; }
.bnb-report-horse-track { display:block; height:14px; overflow:hidden; border-radius:999px; background:#eef2eb; }
.bnb-report-horse-bar { display:block; height:100%; border-radius:inherit; background:#365a43; }
.bnb-report-horse-value { color:#365a43; font-size:13px; font-weight:700; text-align:right; white-space:nowrap; }
.bnb-report-table-wrap { overflow-x:auto; }
.bnb-report-table { width:100%; border-collapse:collapse; }
.bnb-report-table th,.bnb-report-table td { padding:10px 9px; border-bottom:1px solid #e7ebe3; text-align:left; vertical-align:top; }
.bnb-report-table th { color:#526456; background:#f4f7f1; }
.bnb-report-table .bnb-unpaid-past td { background:#fff0ec; color:#812d1e; }
.bnb-report-table .bnb-unpaid-past td:first-child { font-weight:700; }
.bnb-report-table .bnb-unpaid-past b { display:block; width:max-content; margin-top:4px; }
.bnb-report-pagination { justify-content:space-between; }
@media (max-width:520px) {
  .bnb-report-horse-row { grid-template-columns:minmax(82px,120px) minmax(52px,1fr) minmax(64px,80px); gap:8px; }
  .bnb-report-horse-track { height:12px; }
}
.bnb-horse-client-note-history { margin:12px 0; padding:10px; border-radius:8px; background:#f7f9f5; color:#465648; }
.bnb-horse-client-note-history > strong { display:block; margin-bottom:6px; }
.bnb-horse-client-note-history ul { display:grid; gap:8px; margin:0; padding-left:20px; }
.bnb-horse-client-note-history li { padding-left:2px; }
.bnb-horse-client-note-history time,.bnb-horse-feedback time { color:#758176; font-size:12px; }
.bnb-horse-feedback-client { padding:8px 0; border-top:1px solid #e7ebe3; }
.bnb-horse-feedback-client ul { margin:4px 0 0; padding-left:20px; }
.bnb-announcement-form { display:grid; gap:12px; padding:14px; border:1px solid #e7ebe3; border-radius:9px; background:#f7f9f5; }
.bnb-announcement-form label { display:grid; gap:5px; font-weight:600; }
.bnb-announcement-form input[type=text],.bnb-announcement-form textarea { width:100%; max-width:760px; padding:9px 11px; border:1px solid #dfe5dc; border-radius:6px; font:inherit; }
.bnb-announcement-options { display:flex; flex-wrap:wrap; gap:8px 20px; }
.bnb-announcement-options label { display:flex; align-items:center; gap:7px; font-size:13px; }
.bnb-announcement-options input { width:auto; }
.bnb-announcement-board { margin-top:22px; }
.bnb-announcement-board h4 { margin-bottom:10px; color:#405346; }
.bnb-announcement-item { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:14px; margin:8px 0; border:1px solid #e3e8df; border-radius:9px; background:#fff; }
.bnb-announcement-urgent { border-color:#d87d6d; background:#fff6f3; }
.bnb-announcement-copy { min-width:0; }
.bnb-announcement-copy h4 { margin:0 0 6px; color:#35483a; }
.bnb-announcement-copy p { margin:0 0 7px; white-space:pre-wrap; }
.bnb-announcement-copy small { display:block; color:#758176; }
.bnb-announcement-urgent-badge { display:inline-block; padding:2px 7px; border-radius:10px; background:#ffe1d8; color:#922e1c; font:700 11px/1.5 system-ui,sans-serif; vertical-align:middle; }
.bnb-announcement-repeat-badge { display:inline-block; padding:2px 7px; border-radius:10px; background:#edf2e9; color:#46634b; font:700 11px/1.5 system-ui,sans-serif; vertical-align:middle; }
.bnb-announcement-completed { margin-top:20px; }
.bnb-announcement-completed > summary { color:#365a43; cursor:pointer; font-weight:700; }
.bnb-announcement-complete-form { flex:0 0 auto; margin:0; }
.bnb-announcement-actions { display:flex; flex:0 0 auto; flex-wrap:wrap; align-items:flex-start; justify-content:flex-end; gap:8px; }
.bnb-announcement-edit { flex:0 1 100%; text-align:right; }
.bnb-announcement-edit > summary { color:#46634b; cursor:pointer; font-size:13px; font-weight:700; }
.bnb-announcement-edit-form { display:grid; gap:9px; min-width:min(360px,calc(100vw - 72px)); margin-top:8px; text-align:left; }
.bnb-announcement-edit-form label { display:grid; gap:4px; font-size:13px; font-weight:600; }
.bnb-announcement-edit-form input,.bnb-announcement-edit-form textarea { width:100%; box-sizing:border-box; padding:8px 10px; border:1px solid #dfe5dc; border-radius:6px; font:inherit; }
.bnb-announcement-edit-form .bnb-button { justify-self:start; }
.bnb-announcement-settings { margin:0; color:#758176; font-size:12px; }
.bnb-announcement-retire-form { margin:0; }
.bnb-client-announcement-actions { flex-direction:column; align-items:stretch; }
.bnb-client-announcement-edit { flex:initial; margin:0; text-align:left; }
.bnb-client-announcement-edit > summary { width:100%; box-sizing:border-box; text-align:center; list-style:none; }
.bnb-client-announcement-edit > summary::-webkit-details-marker { display:none; }
.bnb-client-announcement-edit[open] { width:min(360px,calc(100vw - 72px)); }
.bnb-client-announcement-edit .bnb-announcement-edit-form { min-width:0; }
.bnb-announcement-modal { box-sizing:border-box; width:min(680px,calc(100vw - 32px)); max-width:680px; max-height:82vh; padding:22px; border:1px solid #e3e8df; border-radius:12px; background:#fffefa; color:#2d3d32; box-shadow:0 18px 60px rgba(20,32,23,.3); overflow:auto; }
.bnb-announcement-modal::backdrop { background:rgba(18,27,20,.68); }
.bnb-announcement-modal-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.bnb-announcement-modal-heading h3 { margin:0; color:#8f3527; }
.bnb-announcement-modal-close { width:38px; height:38px; border:0; border-radius:50%; background:#f0f3ec; color:#35483a; font-size:24px; cursor:pointer; }
.bnb-boarder-badge { display:inline-block; width:max-content; padding:3px 7px; border-radius:12px; background:#e8f1e5; color:#365a43!important; font-size:11px; font-weight:700; }
.bnb-horse-print-button { margin:0 0 9px; padding:6px 9px; font-size:11px; }
@media print {
  @page { margin: 0.45in; }
  body.bnb-printing-horse { --bnb-muted:#526156; margin:0!important; background:#fff!important; color:#17261b!important; font:11pt/1.35 system-ui,sans-serif!important; }
  body.bnb-printing-horse > *:not(.bnb-horse-print-target) { display:none!important; }
  body.bnb-printing-horse > .bnb-horse-print-target,
  body.bnb-printing-horse > .bnb-horse-print-target * { visibility:visible!important; }
  body.bnb-printing-horse > .bnb-horse-print-target { position:static!important; display:block!important; width:100%!important; max-width:7.5in!important; margin:0 auto!important; padding:0.15in!important; border:0!important; border-radius:0!important; background:#fff!important; box-shadow:none!important; color:#17261b!important; font-size:11pt!important; break-inside:avoid; }
  body.bnb-printing-horse > .bnb-horse-print-target .bnb-horse-photo { width:auto!important; max-width:100%!important; height:auto!important; max-height:3.2in!important; margin:0 auto 0.15in!important; object-fit:contain!important; }
  body.bnb-printing-horse > .bnb-horse-print-target > div { justify-content:flex-start!important; gap:12px!important; }
  body.bnb-printing-horse > .bnb-horse-print-target p { color:#28372d!important; font-size:10.5pt!important; }
  body.bnb-printing-horse > .bnb-horse-print-target .bnb-horse-saddle-list { color:#28372d!important; font-size:10.5pt!important; }
  body.bnb-printing-horse .bnb-horse-print-target .bnb-horse-print-button,
  body.bnb-printing-horse .bnb-horse-print-target .bnb-text-button,
  body.bnb-printing-horse .bnb-horse-print-target .bnb-horse-feedback,
  body.bnb-printing-horse .bnb-horse-print-target .bnb-horse-preferences,
  body.bnb-printing-horse .bnb-horse-print-target .bnb-horse-client-note-history,
  body.bnb-printing-horse .bnb-horse-print-target .bnb-horse-admin-notes { display:none!important; }
}
@media(max-width:600px) {
  .bnb-announcement-item { flex-direction:column; }
  .bnb-announcement-complete-form,.bnb-announcement-complete-form .bnb-button { width:100%; }
  .bnb-announcement-actions,.bnb-announcement-retire-form,.bnb-announcement-retire-form .bnb-button { width:100%; }
  .bnb-announcement-edit-form { min-width:0; }
  .bnb-calendar-add-actions { display:grid; grid-template-columns:1fr 1fr; }
  .bnb-calendar-add-actions .bnb-button { min-height:48px; padding:10px 8px; }
  .bnb-calendar-default-view-form { width:100%; }
  .bnb-calendar-default-view-form label { flex:1; }
  .bnb-agenda-lesson { grid-template-columns:1fr; align-items:start; gap:5px; }
  .bnb-agenda-lesson-actions { flex-wrap:wrap; }
  .bnb-agenda-lesson-actions form { align-items:flex-start; flex-direction:column; }
  .bnb-client-announcement-edit[open] { width:100%; }
}
.bnb-announcement-edit { flex-basis:100%; margin-top:8px; }
.bnb-announcement-edit > summary { cursor:pointer; color:#365a43; font-weight:700; }
.bnb-client-announcement-admin .bnb-announcement-form,
.bnb-announcement-form { display:grid; gap:12px; }
.bnb-announcement-form > label { display:grid; gap:5px; font-weight:650; }
.bnb-announcement-options { display:flex; flex-wrap:wrap; gap:12px 20px; }
.bnb-announcement-options label { display:flex; align-items:center; gap:7px; }
.bnb-client-announcement { padding:12px 0; border-top:1px solid #e4e8df; }
.bnb-client-announcement h4 { margin:0 0 6px; }
.bnb-client-announcement p { margin:0 0 6px; white-space:pre-line; }
.bnb-calendar-event-day-button { flex:none; border:0; background:transparent; color:#365a43; cursor:pointer; padding:4px 2px; font-size:11px; font-weight:700; white-space:nowrap; }
.bnb-calendar-event-day-button:hover { text-decoration:underline; }
.bnb-week-day h4 .bnb-calendar-day-button { width:auto; min-width:0; flex:1; }
.bnb-week-public-event { border:1px solid #d6dfd1; border-left:4px solid #758c7b; border-radius:7px; padding:8px; background:#f8faf6; }
.bnb-week-public-event.bnb-event-signup { border-left-color:#a36c27; background:#fff9ed; }
.bnb-week-public-event.bnb-event-block { border-left-color:#77807a; background:#f0f2ef; }
.bnb-event-rsvp-form { display:grid; gap:8px; margin:7px 0 0; }
.bnb-event-rsvp-form label { display:grid; gap:5px; }
.bnb-event-rsvp-status { display:block; margin-top:6px; color:#365a43; font-weight:700; }
.bnb-calendar-event-manage { margin-top:8px; font-size:12px; }
.bnb-calendar-event-manage > summary { cursor:pointer; color:#365a43; font-weight:700; }
.bnb-calendar-event-form { display:grid; gap:9px; margin-top:8px; }
.bnb-calendar-event-form label { display:grid; gap:4px; }
.bnb-calendar-event-form .bnb-rsvp-field[hidden] { display:none!important; }
.bnb-text-reminder-unavailable { display:block; color:#7b4c32; font-size:12px; padding:8px 10px; }
.bnb-client-package-manager { margin:18px 0; }
.bnb-package-assignment-list { width:100%; max-width:100%; min-width:0; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.bnb-package-assignment-table { width:100%; table-layout:fixed; border-collapse:collapse; background:#fff; }
.bnb-package-assignment-table th,.bnb-package-assignment-table td { padding:10px; text-align:left; vertical-align:top; overflow-wrap:anywhere; border-bottom:1px solid #e4e9df; }
.bnb-package-assignment-table th { background:#f1f5ee; color:#405346; font-size:13px; }
.bnb-package-assignment-table form { max-width:100%; margin:0; }
.bnb-package-assignment-table input[type="date"] { width:100%; max-width:100%; min-width:0; box-sizing:border-box; }
.bnb-package-adjustment-row[hidden] { display:none!important; }
.bnb-package-expiry-form { display:flex; align-items:end; gap:10px; flex-wrap:wrap; padding:8px 0 14px; }
.bnb-package-expiry-form label { display:grid; gap:5px; max-width:240px; }
.bnb-package-status { display:inline-block; font-weight:600; color:#405346; }
.bnb-package-actions { display:grid; gap:6px; min-width:0; }
.bnb-package-actions .bnb-package-delete-form { margin:0!important; }
.bnb-package-actions button { width:100%; }
.bnb-package-delete-form { margin-top:6px!important; }
.bnb-package-delete-button { padding:6px 9px; border:1px solid #c98787; border-radius:6px; background:#fff8f7; color:#8d2929; font:inherit; cursor:pointer; }
.bnb-package-delete-button:hover { background:#fbeceb; }
.bnb-package-search { display:flex; align-items:end; gap:10px; margin:12px 0; }
.bnb-package-search label { display:grid; gap:5px; }
.bnb-older-package-assignments { margin:16px 0; }
.bnb-package-adjustment-row > td { padding:6px 10px 14px!important; background:#fbfcf9; }
.bnb-package-adjustment > summary { cursor:pointer; color:#365a43; font-weight:650; }
.bnb-package-adjustment-form { display:grid; grid-template-columns:minmax(120px,180px) minmax(200px,1fr) auto; align-items:end; gap:10px; margin-top:8px; }
.bnb-package-adjustment-form label { display:grid; gap:5px; }
.bnb-package-adjustment-history { margin:8px 0; padding-left:20px; }
.bnb-package-adjustment-history li { display:flex; flex-wrap:wrap; gap:5px 10px; align-items:baseline; margin:5px 0; }
.bnb-package-adjustment-history small { color:#68776d; }
@media(max-width:760px) {
  .bnb-package-assignment-list { overflow:visible; }
  .bnb-package-assignment-table,.bnb-package-assignment-table tbody { display:block; width:100%; }
  .bnb-package-assignment-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  .bnb-package-assignment-table tbody tr.bnb-package-assignment { display:block; width:100%; margin-top:10px; border:1px solid #dfe5dc; border-radius:8px 8px 0 0; overflow:hidden; }
  .bnb-package-assignment-table tbody tr.bnb-package-assignment td { display:grid; grid-template-columns:minmax(105px,32%) minmax(0,1fr); gap:8px; align-items:start; width:100%; min-width:0; padding:9px 10px!important; border:0!important; border-bottom:1px solid #e5e9e1!important; }
  .bnb-package-assignment-table tbody tr.bnb-package-assignment td::before { content:attr(data-label); color:#405346; font-weight:700; }
  .bnb-package-assignment-table tbody tr.bnb-package-assignment td:last-child { border-bottom:0!important; }
  .bnb-package-assignment-table .bnb-package-adjustment-row { display:block; width:100%; margin:0 0 12px; border:1px solid #dfe5dc; border-top:0; border-radius:0 0 8px 8px; background:#fbfcf9; }
  .bnb-package-assignment-table .bnb-package-adjustment-row td { display:block; width:100%; padding:8px 10px!important; border:0!important; background:transparent; }
  .bnb-package-delete-form,.bnb-package-delete-button { width:100%; }
}
@media(max-width:700px) {
  .bnb-package-adjustment-form { grid-template-columns:1fr; }
  .bnb-package-search { align-items:stretch; flex-direction:column; }
  .bnb-package-search button { width:100%; }
}
@container bnb-shell (max-width: 760px) {
  .bnb-card { padding:15px; }
  .bnb-client-access-grid { grid-template-columns:1fr; }
  .bnb-package-assignment-list { overflow:visible; }
  .bnb-package-assignment-table,.bnb-package-assignment-table tbody { display:block; width:100%; }
  .bnb-package-assignment-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  .bnb-package-assignment-table tbody tr.bnb-package-assignment { display:block; width:100%; margin-top:10px; border:1px solid #dfe5dc; border-radius:8px 8px 0 0; overflow:hidden; }
  .bnb-package-assignment-table tbody tr.bnb-package-assignment td { display:grid; grid-template-columns:minmax(105px,32%) minmax(0,1fr); gap:8px; align-items:start; width:100%; min-width:0; padding:9px 10px!important; border:0!important; border-bottom:1px solid #e5e9e1!important; }
  .bnb-package-assignment-table tbody tr.bnb-package-assignment td::before { content:attr(data-label); color:#405346; font-weight:700; }
  .bnb-package-assignment-table tbody tr.bnb-package-assignment td:last-child { border-bottom:0!important; }
  .bnb-package-assignment-table .bnb-package-adjustment-row { display:block; width:100%; margin:0 0 12px; border:1px solid #dfe5dc; border-top:0; border-radius:0 0 8px 8px; background:#fbfcf9; }
  .bnb-package-assignment-table .bnb-package-adjustment-row td { display:block; width:100%; padding:8px 10px!important; border:0!important; background:transparent; }
  .bnb-package-delete-form,.bnb-package-delete-button { width:100%; }
  .bnb-form { grid-template-columns:1fr; }
  .bnb-wide { grid-column:auto; }
  .bnb-week-heading,.bnb-horse-heading { align-items:flex-start; }
  .bnb-calendar-controls { align-items:flex-start; flex-direction:column; }
  .bnb-calendar-filter { width:100%; }
  .bnb-calendar-filter label { flex:1; }
  .bnb-calendar-filter select { width:100%; }
  .bnb-horse-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bnb-horse-form { grid-template-columns:1fr 1fr; }
  .bnb-horse-notes,.bnb-horse-form-actions { grid-column:1/-1; }
  .bnb-lesson { grid-template-columns:1fr auto; gap:8px 12px; }
  .bnb-lesson-time,.bnb-lesson-info { grid-column:1/-1; }
  .bnb-sync { grid-column:1; justify-self:start; }
  .bnb-actions { grid-column:1/-1; grid-row:auto; justify-self:start; }
  .bnb-actions .bnb-text-reminder { width:100%; min-height:52px; }
  .bnb-wrap .bnb-add-client > form { grid-template-columns:1fr; }
  .bnb-wrap .bnb-add-client-form .bnb-add-client-submit { width:100%; justify-self:stretch; }
  .bnb-wrap .bnb-client-email-settings { grid-template-columns:1fr; }
  .bnb-wrap .bnb-client-email-row { grid-template-columns:minmax(0,1fr) auto; }
  .bnb-wrap .bnb-client-email-row > label:first-child { grid-column:1/-1; }
   .bnb-wrap .bnb-client-edit-form { grid-template-columns:1fr; }
   .bnb-wrap .bnb-client-edit-form .bnb-client-class-access,.bnb-wrap .bnb-client-edit-form .bnb-wide,.bnb-wrap .bnb-client-edit-form > button { grid-column:1/-1; }
}
@container bnb-shell (max-width: 700px) {
  .bnb-package-adjustment-form { grid-template-columns:1fr; }
  .bnb-package-search { align-items:stretch; flex-direction:column; }
  .bnb-package-search button { width:100%; }
}
@container bnb-shell (max-width: 600px) {
  .bnb-announcement-item { flex-direction:column; }
  .bnb-announcement-complete-form,.bnb-announcement-complete-form .bnb-button { width:100%; }
  .bnb-announcement-actions,.bnb-announcement-retire-form,.bnb-announcement-retire-form .bnb-button { width:100%; }
  .bnb-announcement-edit-form { min-width:0; }
  .bnb-calendar-add-actions { display:grid; grid-template-columns:1fr 1fr; }
  .bnb-calendar-add-actions .bnb-button { min-height:48px; padding:10px 8px; }
   .bnb-wrap .bnb-client-contact-toolbar { align-items:stretch; flex-direction:column; }
   .bnb-wrap .bnb-client-contact-all { margin-left:0; justify-content:flex-start; }
}
@container bnb-shell (max-width: 520px) {
  .bnb-report-horse-row { grid-template-columns:minmax(82px,120px) minmax(52px,1fr) minmax(64px,80px); gap:8px; }
  .bnb-report-horse-track { height:12px; }
}
@container bnb-shell (max-width: 480px) {
  .bnb-week-heading,.bnb-horse-heading { flex-direction:column; }
  .bnb-week-nav { align-self:stretch; }
  .bnb-week-nav a:nth-child(2) { flex:1; }
  .bnb-horse-grid,.bnb-horse-form { grid-template-columns:1fr; }
}
