/* Approved Focused Settings / Schedule designs. Scope to the plugin, never the host theme. */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');
.bnb-wrap{--bnb-ink:#2d3d32;--bnb-green:#365a43;--bnb-line:#e3e8df;--bnb-paper:#fffefa;color:var(--bnb-ink);font-family:"DM Sans",system-ui,-apple-system,sans-serif}
.bnb-wrap .bnb-header{gap:16px;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--bnb-line);flex-wrap:wrap}
.bnb-wrap .bnb-brand-heading img{max-width:218px;max-height:110px;object-fit:contain}
.bnb-wrap .bnb-tabs{position:sticky;top:0;z-index:20;background:#fff;overflow-x:auto;white-space:nowrap;flex-wrap:nowrap;padding-top:8px;margin-top:12px}
body.admin-bar .bnb-wrap .bnb-tabs{top:32px}
.bnb-wrap .bnb-tabs a{flex-shrink:0;color:#526456;padding:12px 15px;font-weight:600;font-size:14px}
.bnb-wrap .bnb-tabs a.bnb-tab-active{color:#365a43;background:#f2f5ef;border-bottom:3px solid #365a43}
.bnb-wrap .bnb-card{background:var(--bnb-paper);border:1px solid var(--bnb-line);border-radius:12px;box-shadow:0 3px 13px #2a3b2d09;padding:22px}
.bnb-wrap .bnb-button{border-radius:7px;min-height:40px;font-size:13px;padding:10px 15px;line-height:1.3}
.bnb-wrap :is(input,select,textarea){color:#344237}
.bnb-wrap .bnb-card h3{color:#405346;font-family:"Playfair Display",Georgia,serif}
.bnb-wrap .bnb-week-heading{align-items:center}
.bnb-wrap .bnb-calendar-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.bnb-wrap .bnb-calendar-views{border:1px solid var(--bnb-line);border-radius:8px;background:#f7f8f4;padding:4px;gap:3px}
.bnb-wrap .bnb-calendar-views a{border:0;padding:8px 11px;border-radius:6px;font-size:13px;color:#526456}
.bnb-wrap .bnb-calendar-views .bnb-tab-active{background:#fff;color:#365a43;box-shadow:0 1px 4px #2a3b2d1f}
.bnb-wrap .bnb-calendar-add-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0}
.bnb-wrap .bnb-calendar-filter{margin-left:auto}
.bnb-wrap .bnb-calendar-filter label{font-size:12px;color:#526456;font-weight:700}
.bnb-wrap .bnb-week-day{border:1px solid var(--bnb-line);border-radius:9px;background:#fff;padding:10px}
.bnb-wrap .bnb-week-day-today,.bnb-wrap .bnb-today{background:#f1f6ee;border-color:#b8cbb7;box-shadow:inset 0 0 0 1px #e1eadf}
.bnb-wrap .bnb-week-event{padding:10px;border-radius:7px;gap:5px}
.bnb-wrap .bnb-week-event time{font-size:12px;font-weight:700;color:#405948}
.bnb-wrap .bnb-card-rider{font-size:15px;line-height:1.35;color:#2f4035;font-weight:750}
.bnb-wrap .bnb-week-event small,.bnb-wrap .bnb-agenda-lesson small{font-size:12px;line-height:1.45;color:#536558}
.bnb-wrap .bnb-week-event .bnb-card-rider{font-size:14px}
.bnb-wrap .bnb-week-seat-count{font-weight:700}
.bnb-wrap .bnb-card-horse,.bnb-wrap .bnb-card-instructor,.bnb-wrap .bnb-card-class{display:block;color:#536558}
.bnb-wrap .bnb-event-description{margin:6px 0 0}
.bnb-wrap .bnb-event-description summary{font-size:12px;color:#365a43;cursor:pointer;font-weight:600}
.bnb-wrap .bnb-event-description p{font-size:13px;color:#485a4c;margin:8px 0}
.bnb-wrap .bnb-agenda-lesson{border:1px solid var(--bnb-line);border-radius:9px;background:#fff;padding:15px;gap:14px;margin:8px 0}
.bnb-wrap .bnb-agenda-lesson-copy{min-width:0}
.bnb-wrap .bnb-upcoming-item{border-bottom:1px solid var(--bnb-line);padding:12px 0}
.bnb-wrap .bnb-upcoming-item>summary{display:flex;align-items:center;gap:18px;cursor:pointer;flex-wrap:wrap;list-style:none}
.bnb-wrap .bnb-upcoming-item>summary:before{content:"›";font-size:23px;color:#365a43}
.bnb-wrap .bnb-upcoming-item[open]>summary:before{transform:rotate(90deg)}
.bnb-wrap .bnb-upcoming-item>summary h4{font-family:inherit;font-size:15px;margin:0}
.bnb-wrap .bnb-upcoming-item>summary small{font-size:12px;color:#536558}
.bnb-wrap .bnb-upcoming-open{margin-left:auto;font-size:12px;font-weight:700;color:#365a43}
.bnb-wrap .bnb-upcoming-item .bnb-lesson{padding:18px 0 8px;margin:0}
.bnb-wrap .bnb-export-menu,.bnb-wrap .bnb-account-preferences,.bnb-wrap .bnb-secondary-actions{position:relative}
.bnb-wrap .bnb-export-menu>summary,.bnb-wrap .bnb-account-preferences>summary,.bnb-wrap .bnb-secondary-actions>summary{cursor:pointer;font-weight:600;font-size:13px;color:#365a43}
.bnb-wrap .bnb-export-options,.bnb-wrap .bnb-account-preferences>.bnb-calendar-default-view-form,.bnb-wrap .bnb-account-preferences>.bnb-account-default-schedule{position:absolute;right:0;top:100%;z-index:30;width:min(320px,80vw);background:#fffefa;border:1px solid var(--bnb-line);border-radius:9px;padding:16px;box-shadow:0 10px 28px #25372824}
.bnb-wrap .bnb-export-options>*{display:block;margin-bottom:10px;font-size:13px;color:#365a43}
.bnb-wrap .bnb-export-options small{font-size:12px;color:#536558}
.bnb-wrap .bnb-account-preferences .bnb-calendar-default-view-form{display:grid;margin:0}
.bnb-wrap .bnb-account-preferences{margin-left:auto}
.bnb-wrap .bnb-account-barn-badge{display:block;width:38px;height:38px;object-fit:contain;border-radius:50%;border:1px solid var(--bnb-line);padding:3px;background:#fff;margin-left:auto}
.bnb-wrap .bnb-account-schedule-views{flex-wrap:wrap;align-items:center}
.bnb-wrap .bnb-schedule-preferences-link{font-size:12px}
.bnb-wrap .bnb-settings-heading{margin-bottom:22px}
.bnb-wrap .bnb-settings-heading h3{font-family:Georgia,serif;font-size:30px;margin:0 0 5px}
.bnb-wrap .bnb-settings-heading p{color:#68766b;margin:0}
.bnb-wrap .bnb-email-brand-preview{margin-top:18px;border:1px solid var(--bnb-line);border-radius:10px;background:#fff;padding:18px}
.bnb-wrap .bnb-email-brand-preview h4{font-family:inherit;font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#68766b}
.bnb-wrap .bnb-settings-content .bnb-email-settings-form{grid-template-columns:1fr}
.bnb-wrap .bnb-settings-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px;align-items:start}
.bnb-wrap .bnb-settings-nav{position:sticky;top:70px;border:1px solid var(--bnb-line);border-radius:11px;padding:9px;background:#fbfcf9;display:grid;gap:4px}
.bnb-wrap .bnb-settings-nav button{display:grid;gap:3px;text-align:left;border:0;border-radius:8px;padding:12px 11px;background:transparent;color:#526456;font:600 13px/1.4 inherit;cursor:pointer;width:100%}
.bnb-wrap .bnb-settings-nav button small{font-size:11px;font-weight:400;color:#68766b}
.bnb-wrap .bnb-settings-nav button[aria-pressed=true]{background:#eaf0e7;color:#365a43}
.bnb-wrap .bnb-settings-content{min-width:0}
.bnb-wrap .bnb-settings-content [hidden]{display:none!important}
.bnb-wrap .bnb-settings-content .bnb-form{display:grid;gap:14px}
.bnb-wrap .bnb-settings-content .bnb-form>label{display:grid;gap:6px;font-size:13px;color:#526456}
.bnb-wrap .bnb-settings-content .bnb-form>label:has(input[type=checkbox]){display:flex;align-items:center}
.bnb-wrap .bnb-settings-content .bnb-form>button{justify-self:start}
.bnb-wrap .bnb-settings-content .bnb-branding-form{grid-template-columns:1fr}
.bnb-wrap .bnb-settings-content .bnb-branding-actions{grid-column:1/-1;align-items:center}
.bnb-wrap .bnb-settings-content .bnb-branding-actions .bnb-button{flex:0 1 auto;align-self:center;min-height:40px}
.bnb-wrap .bnb-settings-content input:not([type=checkbox]):not([type=color]):not([type=hidden]),.bnb-wrap .bnb-settings-content select,.bnb-wrap .bnb-settings-content textarea{min-height:41px;border:1px solid #dfe5dc;border-radius:7px;padding:9px 11px;background:#fff;max-width:100%;box-sizing:border-box}
.bnb-wrap .bnb-settings-content :is(table,fieldset){max-width:100%}
.bnb-wrap .bnb-settings-content pre{white-space:pre-wrap;overflow-wrap:anywhere}
.bnb-wrap .bnb-settings-content code{overflow-wrap:anywhere;word-break:break-word}
.bnb-wrap .bnb-class-type-editor{border:1px solid var(--bnb-line);border-radius:9px;background:#fff;padding:14px;margin:10px 0}
.bnb-wrap .bnb-class-type-editor>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:700;color:#405346;cursor:pointer}
.bnb-wrap .bnb-class-type-editor>summary small{font-weight:500;font-size:12px;color:#536558}
.bnb-wrap .bnb-class-type-editor[open]>.bnb-class-type{margin-top:14px}
.bnb-wrap .bnb-settings-content .bnb-branding-logo-preview{border:1px dashed #cbd7c9;border-radius:8px;padding:16px;background:#f8faf6}
.bnb-wrap .bnb-settings-content .bnb-branding-logo-preview img{max-height:90px;max-width:240px;object-fit:contain}
.bnb-wrap .bnb-settings-content .bnb-account-email-settings{border:1px solid var(--bnb-line);border-radius:12px;padding:20px;margin-top:18px}
.bnb-wrap .bnb-settings-content .bnb-account-email-settings summary{font-weight:700;color:#405346;cursor:pointer}
.bnb-wrap .bnb-settings-nav button:focus-visible,.bnb-wrap summary:focus-visible{outline:3px solid #82b58a;outline-offset:3px}
@media(max-width:780px){
 .bnb-wrap .bnb-settings-layout{grid-template-columns:1fr;gap:16px}
 .bnb-wrap .bnb-settings-nav{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
 .bnb-wrap .bnb-settings-nav button small{display:none}
 .bnb-wrap .bnb-calendar-filter{margin-left:0}
 .bnb-wrap .bnb-week-event .bnb-card-rider{font-size:14px}
}
@media(max-width:640px){
 .bnb-wrap{padding:15px!important}
 .bnb-wrap .bnb-card{padding:16px}
 .bnb-wrap .bnb-brand-heading{margin:0}
 .bnb-wrap .bnb-brand-heading img{max-width:155px;max-height:66px}
 .bnb-wrap .bnb-header{gap:10px}
 .bnb-wrap .bnb-tabs{gap:0}
 .bnb-wrap .bnb-tabs a{padding:12px;font-size:13px;min-height:44px}
 .bnb-wrap .bnb-button,.bnb-wrap .bnb-calendar-views a,.bnb-wrap .bnb-account-schedule-views>a,.bnb-wrap .bnb-week-nav>a{min-height:44px}
 .bnb-wrap .bnb-calendar-controls{align-items:stretch;gap:10px}
 .bnb-wrap .bnb-calendar-add-actions{width:100%}
 .bnb-wrap .bnb-calendar-add-actions>.bnb-button{flex:1}
 .bnb-wrap .bnb-agenda-lesson{display:flex;flex-direction:column;align-items:stretch}
 .bnb-wrap .bnb-agenda-lesson>time{font-size:14px;font-weight:700}
 .bnb-wrap .bnb-agenda-lesson-copy .bnb-card-rider{font-size:17px}
 .bnb-wrap .bnb-agenda-lesson-actions{display:flex;gap:12px;flex-wrap:wrap}
 .bnb-wrap .bnb-upcoming-item>summary{gap:8px}
 .bnb-wrap .bnb-upcoming-open{width:100%;margin-left:22px}
 .bnb-wrap .bnb-settings-hours-form input[type=time]{max-width:115px}
 .bnb-wrap .bnb-export-menu{flex:1}
 .bnb-wrap .bnb-export-menu>summary{text-align:center}
 .bnb-wrap .bnb-export-options{right:0}
 body.admin-bar .bnb-wrap .bnb-tabs{top:46px}
}
