/* Shared layout rhythm. Preserve hidden states and existing module boundaries. */
body #panel :is(h2,h3,h4){color:#edf3e5!important}
body #panel .shared-toolbar{justify-content:flex-start!important;align-items:center!important;gap:12px!important;margin:0 0 14px!important;padding:0!important}
body #panel .shared-toolbar>h2{flex:1 1 220px;margin:0!important;font-size:21px!important;line-height:1.3!important;background:none!important;color:#edf3e5!important;min-height:0!important}
body #panel .shared-toolbar>.training-actions{margin:0!important;gap:8px!important}
body #panel .shared-toolbar button{margin-top:0!important;min-height:42px!important;padding:10px 15px!important;font-size:13px!important}
body #panel .training-top{align-items:flex-end!important;gap:16px!important;margin:12px 0!important}
body #panel .training-top>label{flex:0 1 330px!important;min-width:220px!important;margin:0!important}
body #panel :is(#training-student,#food-student,#billing-trainer,#ptdoc-trainer,#assessment-student,#finance-student,#membership-student){max-width:360px;width:100%;font-size:14px!important;min-height:44px!important}
body #panel .training-heading{justify-content:flex-start!important;gap:12px!important;margin:15px 0!important;align-items:center!important}
body #panel .training-heading>strong{font-size:20px!important;flex:0 1 auto}
body #panel .training-heading>span{font-size:12px!important;margin-left:auto}
body #panel .training-heading .finance-badge{margin-left:0!important;flex:0 0 auto}
body #panel .training-heading button{margin:0!important;min-height:40px!important;font-size:12px!important;padding:9px 13px!important}
body #panel :is(#training-message,#finance-message,#assessment-message,#food-message,#ptdoc-status){margin:8px 0 16px!important;font-size:12px!important;line-height:1.5!important}
body #panel .shared-toolbar>label{margin:0!important;max-width:360px}
body #panel .training-card{padding:20px!important;margin:16px 0!important}
body #panel :is(.food-layout,.shared-form-grid){gap:16px!important}
body #panel hr{margin:18px 0!important}
body #panel #shared-training:before{min-height:115px!important;margin:12px 0 22px!important;padding:20px!important;font-size:11px!important}
body #panel section>hr:first-child{display:none!important}
body #panel .shared-student{gap:12px!important;padding:15px 0!important}
body #panel .shared-student>div{padding:15px 18px!important}
/* The native select remains the authoritative value/event source. */
select.befit-native-backed{display:none!important}
.befit-picker{position:relative;display:block;width:min(100%,360px);min-width:0;color:#e7f0dc;font-size:14px;line-height:1.4;z-index:auto}
body #panel .befit-picker-trigger{width:100%;min-height:44px!important;display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;background:#172310!important;color:#e1edcf!important;border:1px solid #657f4999!important;padding:11px 14px!important;box-shadow:inset 0 1px 0 #d5ebae0b,0 4px 12px #0002;margin:0!important;font-weight:500!important;border-radius:9px!important}
.befit-picker-trigger>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.befit-picker-trigger>span:last-child{color:#a4c77f;font-size:12px}
.befit-picker.open{z-index:40}
.befit-picker-panel{position:absolute;top:calc(100% + 7px);left:0;width:100%;min-width:220px;max-width:calc(100vw - 40px);padding:9px;background:#1b2a13;border:1px solid #718c5199;border-radius:12px;box-shadow:0 20px 55px #0008,inset 0 1px 0 #def4bf15;z-index:40}
.befit-picker-panel[hidden]{display:none!important}
body #panel .befit-picker-search{width:100%;padding:10px 12px!important;min-height:40px!important;background:#111d0b!important;font-size:13px!important;border-radius:7px!important;margin:0 0 7px!important}
.befit-picker-options{max-height:240px;overflow:auto;overscroll-behavior:contain;padding:2px}
body #panel .befit-picker-option{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;text-align:left;padding:11px 12px!important;min-height:40px!important;background:transparent!important;color:#cdddbb!important;border:1px solid transparent!important;border-radius:7px!important;box-shadow:none!important;font-size:13px!important;font-weight:500!important;margin:2px 0!important;transform:none!important}
body #panel .befit-picker-option[aria-selected=true]{background:#8fae5630!important;border-color:#92b85e33!important;color:#e5f4d0!important}
body #panel .befit-picker-option:hover,body #panel .befit-picker-option:focus-visible{background:#91b65a25!important;color:#effbdc!important}
.befit-picker-empty{padding:14px 12px;color:#a3b68e;font-size:12px}
@media(max-width:700px){body #panel .training-top>label{flex-basis:100%!important;min-width:0!important;max-width:none!important}.befit-picker{width:100%}body #panel .shared-toolbar>h2{flex-basis:100%;font-size:20px!important}body #panel .shared-toolbar>label{max-width:none;min-width:0;flex:1 1 160px}body #panel .training-heading{flex-direction:row!important}body #panel .training-heading>span{flex-basis:100%;margin-left:0}body #panel .training-card{padding:15px!important}body #panel #shared-training:before{min-height:95px!important}.befit-picker-panel{min-width:0}}
@media(prefers-reduced-motion:reduce){.befit-picker *{transition:none!important;animation:none!important}}
/* Keep existing student and trainer profile photographs visible. */
body #panel img.student-profile-preview{display:block!important;width:80px!important;height:80px!important;min-width:80px;object-fit:cover!important;border-radius:50%!important;margin:6px 14px 8px 0!important;border:2px solid #9cbd693d;box-shadow:0 6px 16px #0003}
body #panel .shared-student>div:has(>img.student-profile-preview){display:grid;grid-template-columns:80px minmax(0,1fr);column-gap:16px;align-content:center}
body #panel .shared-student>div>img.student-profile-preview{grid-column:1;grid-row:1/5}
body #panel .shared-student>div:has(>img.student-profile-preview)>:not(img){grid-column:2}
/* Floating search panels retain their styling outside clipped headers. */
body .befit-floating-panel .befit-picker-search{width:100%;padding:10px 12px!important;min-height:40px!important;background:#111d0b!important;font-size:13px!important;border-radius:7px!important;margin:0 0 7px!important}
body .befit-floating-panel .befit-picker-option{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;text-align:left;padding:11px 12px!important;min-height:40px!important;background:transparent!important;color:#cdddbb!important;border:1px solid transparent!important;border-radius:7px!important;box-shadow:none!important;font-size:13px!important;font-weight:500!important;margin:2px 0!important;transform:none!important}
body .befit-floating-panel .befit-picker-option[aria-selected=true]{background:#8fae5630!important;border-color:#92b85e33!important;color:#e5f4d0!important}
body .befit-floating-panel .befit-picker-option:hover,body .befit-floating-panel .befit-picker-option:focus-visible{background:#91b65a25!important;color:#effbdc!important}
.befit-floating-panel{display:block;background:linear-gradient(145deg,#26351f,#172316);color:#e7f1dc;border:1px solid #8eaa5b66;border-radius:16px;padding:10px;box-shadow:0 20px 45px #0007;box-sizing:border-box}.befit-floating-panel[hidden]{display:none!important}.befit-floating-panel input{box-sizing:border-box;width:100%;max-width:100%;min-height:44px}.befit-floating-panel .befit-picker-options{display:block;-webkit-overflow-scrolling:touch}@media(pointer:coarse){.befit-floating-panel input{font-size:16px!important}}
