:root { --padel-green: #68bf24; --padel-navy: #03294f; }
.page { justify-content:flex-start; }
.padel-login { min-height:100vh!important; min-height:100dvh!important; position:relative; isolation:isolate; background:linear-gradient(90deg,rgba(3,14,36,.08) 20%,rgba(4,20,48,.38) 58%,rgba(2,12,31,.84) 100%),url('/dist/assets/images/brand/chaiptering-login-bg-mirrored.png') center/cover no-repeat fixed; }
.padel-login::before { position:absolute; z-index:-1; inset:0; content:""; background:radial-gradient(circle at 82% 18%,rgba(57,113,255,.18),transparent 34%),linear-gradient(to bottom,transparent 62%,rgba(2,10,28,.32)); pointer-events:none; }
.padel-login-card { width:100%; max-width:450px; margin-left:auto; margin-right:clamp(20px,7vw,120px); margin-block-end:0!important; border-radius:1rem; background:rgba(255,255,255,.97); box-shadow:0 28px 75px rgba(0,12,35,.42)!important; backdrop-filter:blur(8px); }
.padel-login-logo { width: 290px; max-width: 90%; height: 145px; object-fit: contain; }
@media(max-width:767.98px){.padel-login{justify-content:center}.padel-login-card{margin-left:0;margin-right:0}}
@media(max-width:575.98px){.padel-login{padding:10px!important;background-attachment:scroll;background-position:58% center}.padel-login-card .card-body{padding:20px!important}.padel-login-logo{width:230px;height:112px}.padel-login .text-center{margin-bottom:18px!important}.padel-login .text-center p{margin-top:8px!important}}
@media(max-height:620px) and (max-width:575.98px){.padel-login{align-items:flex-start!important}.padel-login-logo{height:82px}.padel-login-card .card-body{padding:14px 20px!important}.padel-login .text-center{margin-bottom:12px!important}.padel-login .mb-4{margin-bottom:14px!important}}
@media(max-width:992px){.main-content.app-content{padding-inline:0!important}}
.padel-brand { background: #fff; }
.padel-logo { width: 190px !important; height: 58px !important; object-fit: contain; }
.padel-logo-small { width: 46px !important; height: 46px !important; object-fit: cover; object-position: left; }
.padel-brand { overflow:hidden; }
.app-sidebar .main-sidebar-header.padel-brand { display:flex!important; height:6.5rem; padding:10px 14px; border-color:rgba(255,255,255,.08); background:var(--menu-bg); }
.padel-sidebar-brand-link { width:100%; height:100%; display:flex; align-items:center; justify-content:flex-start; padding:0 14px; overflow:hidden; border-radius:12px; background:linear-gradient(135deg,rgba(22,36,65,.96),rgba(10,16,31,.96)); border:1px solid rgba(90,128,255,.18); box-shadow:inset 0 1px 0 rgba(255,255,255,.04); }
.padel-sidebar-brand-image { display:block; width:185px; max-width:calc(100% - 8px); height:58px; object-fit:contain; } .padel-sidebar-lockup{display:flex;align-items:center;gap:9px;white-space:nowrap}.padel-sidebar-lockup-icon{width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 5px 10px rgba(41,91,255,.28))}.padel-sidebar-wordmark{color:#f6f8ff;font-size:22px;font-weight:750;letter-spacing:-1px;line-height:1}.padel-sidebar-wordmark>span{background:linear-gradient(135deg,#2e78ff 15%,#18d4df 50%,#8e56ff 90%);-webkit-background-clip:text;background-clip:text;color:transparent}
.app-sidebar .main-sidebar { margin-block-start:6.5rem; }
@media(max-width:991.98px){.app-sidebar .main-sidebar-header.padel-brand{height:5.75rem}.app-sidebar .padel-sidebar-brand-image{width:174px;height:68px}.app-sidebar .main-sidebar{margin-block-start:5.75rem}}
.padel-header-company { position:absolute; left:50%; top:0; bottom:0; transform:translateX(-50%); display:flex !important; align-items:center !important; justify-content:center; height:auto !important; margin:0 !important; padding:0 1rem !important; max-width:40%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.padel-header-company-logo { width:34px; height:34px; flex:0 0 34px; margin-right:.65rem; border-radius:8px; object-fit:contain; background:#fff; }
.company-form-logo { width:120px; height:70px; padding:6px; border:1px solid #e3e9ef; border-radius:10px; object-fit:contain; background:#fff; }
.court-price-list { display:grid; gap:10px; }
.court-price-row { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:10px 12px; border:1px solid #edf0f4; border-radius:10px; background:#fafbfd; }
.court-price-row>span { min-width:80px; color:#17365d; }
.court-price-row .input-group { width:180px; }
.report-range-form { min-width:440px; }
.report-filter-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.report-presets { display:flex; gap:8px; }
.report-presets a { flex:0 0 auto; padding:7px 12px; border:1px solid #e2e8ef; border-radius:8px; color:#536174; background:#fff; font-size:12px; }
.report-kpi span { display:block; margin-bottom:7px; color:#7a8796; font-size:12px; }
.report-kpi h3 { margin:0; color:#17365d; font-size:24px; }
.report-kpi .ti { display:grid; place-items:center; width:46px; height:46px; border-radius:13px; color:#169447; background:rgba(104,191,36,.11); font-size:23px; }
.report-table th { padding:12px 16px; color:#718092; background:#f8fafc; font-size:11px; text-transform:uppercase; }
.report-table td { padding:13px 16px; vertical-align:middle; border-color:#edf0f4; }
.report-rank { display:grid; place-items:center; width:27px; height:27px; border-radius:50%; color:#fff; background:#03294f; font-size:11px; font-weight:700; }
@media(max-width:767px){.report-filter-toolbar{align-items:stretch;flex-direction:column}.report-range-form{min-width:100%;width:100%}.report-range-form .input-group{flex-wrap:wrap}.report-presets{overflow:auto}}
@media (max-width: 767.98px) { .padel-header-company { max-width:42%; font-size:.78rem; } }
.padel-header-user { display:flex !important; flex-direction:column !important; justify-content:center !important; align-self:stretch !important; height:auto !important; margin-top:0 !important; margin-bottom:0 !important; padding-top:0 !important; padding-bottom:0 !important; }
.padel-header-profile-link { display:flex !important; align-items:center !important; align-self:stretch !important; }
.padel-mobile-account-item{display:none}
.padel-mobile-account-head{display:none}
.padel-mobile-logout{width:100%;border:0;background:transparent;text-align:left}
@media(max-width:991.98px){
 .padel-header-user,.padel-header-profile-link,.padel-header-logout{display:none!important}
 .padel-header-company{right:12px!important;left:auto!important;max-width:43%!important;padding:0!important;transform:none!important;justify-content:flex-end!important}
 .padel-header-company-logo{width:30px;height:30px;flex-basis:30px;margin-right:.45rem}
 .padel-header-company span{overflow:hidden;text-overflow:ellipsis}
 .padel-mobile-account-item{display:block}
 .padel-mobile-account-head{display:block;margin:18px 12px 7px;padding:16px 8px 4px;border-top:1px solid rgba(255,255,255,.13)}
 .padel-mobile-account-user{display:flex;align-items:center;gap:10px;color:#fff}
 .padel-mobile-account-user .avatar{color:#9ddd67;background:rgba(114,199,42,.13)}
 .padel-mobile-account-user strong,.padel-mobile-account-user small{display:block;max-width:155px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .padel-mobile-account-user strong{font-size:12px}
 .padel-mobile-account-user small{margin-top:2px;color:#8f9baa;font-size:9px;letter-spacing:.08em;text-transform:uppercase}
}
.padel-header-page { display:flex!important; align-items:center; gap:10px; height:auto!important; padding-left:6px!important; }
.padel-header-page-icon { display:inline-grid; place-items:center; flex:0 0 34px; width:34px; height:34px; border:1px solid rgba(20,148,71,.18); border-radius:9px; color:#149447; background:rgba(20,148,71,.1); font-size:18px; }
.padel-header-page-copy { display:flex; flex-direction:column; justify-content:center; min-width:0; line-height:1.15; }
.padel-header-page-copy strong { color:#182433; font-size:13px; font-weight:700; }
.padel-header-page-copy small { display:block; max-width:310px; margin-top:3px; overflow:hidden; color:#7b8796; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
@media(max-width:1399.98px) and (min-width:1200px){.padel-header-page-copy small{max-width:160px}}
@media(max-width:1199.98px){.padel-header-page-copy small{display:none}.padel-header-page-copy strong{font-size:12px}}
@media(max-width:767.98px){.padel-header-page-icon{display:none}.padel-header-page{padding-left:0!important}.padel-header-page-copy strong{max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
.btn-primary { --bs-btn-bg: var(--padel-navy); --bs-btn-border-color: var(--padel-navy); --bs-btn-hover-bg: #064078; --bs-btn-hover-border-color: #064078; }
.bg-primary-transparent { color: var(--padel-green) !important; background-color: rgba(104,191,36,.12) !important; }
.padel-page-icon { color: #149447; background: rgba(20,148,71,.1); border: 1px solid rgba(20,148,71,.18); }
.court-stat { border: 1px solid #edf0f4; box-shadow: 0 6px 22px rgba(15,38,64,.04); }
.court-table thead th { background: #f8fafc; color: #536174; font-size: 12px; font-weight: 600; padding: 14px 18px; }
.court-table tbody td { padding: 16px 18px; border-color: #edf0f4; }
.court-thumb { width: 58px; height: 58px; border-radius: 12px; object-fit: cover; box-shadow: 0 4px 12px rgba(3,41,79,.12); }
.court-thumb-default { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 58px; font-size: 27px; color: #fff; background: linear-gradient(145deg,var(--padel-navy),#07538e 60%,var(--padel-green)); }
.court-description { display:block; max-width:300px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.court-empty-icon { display:inline-flex; width:72px; height:72px; align-items:center; justify-content:center; border-radius:20px; color:var(--padel-green); background:rgba(104,191,36,.1); font-size:34px; }
.court-photo-preview { min-height:220px; border:1px dashed #cdd6df; border-radius:14px; overflow:hidden; background:linear-gradient(145deg,#f6f9fb,#edf4ef); display:flex; flex-direction:column; gap:8px; align-items:center; justify-content:center; color:#82909f; }
.court-photo-preview i { font-size:58px; color:var(--padel-green); }
.court-photo-preview img { width:100%; height:220px; object-fit:cover; }
.booking-slots-card { scroll-margin-top: 95px; border-top: 3px solid var(--padel-green); }
.court-info-banner { color:#365173; background:#f4f7ff; border:1px solid #e4eaf7; }
.court-setup-card { border:1px solid #e5eaf0; box-shadow:0 5px 18px rgba(20,42,72,.04); }
.court-card-header { display:flex; align-items:center; justify-content:space-between; padding:18px; }
.court-card-image { width:52px; height:52px; border-radius:13px; object-fit:cover; }
.court-card-icon { display:inline-flex; align-items:center; justify-content:center; color:var(--padel-green); background:rgba(104,191,36,.1); font-size:25px; }
.court-section-label { color:#7b8796; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; margin-bottom:10px; }
.court-week-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px 14px; }
.court-day-row { display:flex; justify-content:space-between; gap:12px; padding:9px 11px; border-radius:8px; background:#f7f9fb; font-size:12px; }
.court-day-row strong { color:#17365d; }
.court-editor-modal .modal-content { border:0; border-radius:14px; overflow:hidden; }
.court-editor-modal .modal-content>form { display:flex; flex-direction:column; width:100%; max-height:calc(100vh - 3.5rem); min-height:0; }
.court-editor-modal .modal-body { flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; }
.court-editor-modal .modal-header,.court-editor-modal .modal-footer { flex:0 0 auto; }
.court-editor-modal .modal-header { padding:18px 24px; border-color:#e9edf2; }
.court-mobile-tabs{display:none}
@media(max-width:991.98px){
 .court-editor-modal .modal-dialog{margin:8px;min-height:calc(100% - 16px);align-items:flex-start}
 .court-editor-modal .modal-content{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}
 .court-editor-modal .modal-content>form{height:100%;max-height:none}
 .court-editor-modal .modal-header,.court-editor-modal .modal-footer,.court-mobile-tabs{flex-shrink:0}
 .court-mobile-tabs{display:grid;grid-template-columns:1fr 1fr;padding:0 16px;border-bottom:1px solid #e3e9ef;background:#fff}
 .court-mobile-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;padding:13px 8px;border:0;border-bottom:2px solid transparent;color:#758397;background:transparent;font-size:12px;font-weight:700}
 .court-mobile-tabs button.active{border-bottom-color:var(--padel-green);color:var(--padel-navy)}
 .court-editor-modal .court-mobile-pane,.court-editor-modal .modal-body .court-mobile-pane{display:none!important}
 .court-editor-modal .court-mobile-pane.active,.court-editor-modal .modal-body .court-mobile-pane.active{display:block!important}
 .court-editor-modal .modal-body{padding:18px!important}
 .court-editor-modal .modal-footer{padding:12px 16px;background:#fff;box-shadow:0 -6px 18px rgba(15,38,64,.06)}
}
.court-mobile-tabs{display:none}
@media(max-width:991.98px){
 .court-editor-modal .modal-dialog{margin:8px;min-height:calc(100% - 16px);align-items:flex-start}
 .court-editor-modal .modal-content{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}
 .court-editor-modal .modal-content>form{height:100%;max-height:none}
 .court-editor-modal .modal-header,.court-editor-modal .modal-footer,.court-mobile-tabs{flex-shrink:0}
 .court-mobile-tabs{display:grid;grid-template-columns:1fr 1fr;padding:0 16px;border-bottom:1px solid #e3e9ef;background:#fff}
 .court-mobile-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;padding:13px 8px;border:0;border-bottom:2px solid transparent;color:#758397;background:transparent;font-size:12px;font-weight:700}
 .court-mobile-tabs button.active{border-bottom-color:var(--padel-green);color:var(--padel-navy)}
 .court-editor-modal .court-mobile-pane,.court-editor-modal .modal-body .court-mobile-pane{display:none!important}
 .court-editor-modal .court-mobile-pane.active,.court-editor-modal .modal-body .court-mobile-pane.active{display:block!important}
 .court-editor-modal .modal-body{padding:18px!important}
 .court-editor-modal .modal-footer{padding:12px 16px;background:#fff;box-shadow:0 -6px 18px rgba(15,38,64,.06)}
}
.court-modal-photo { height:145px; border:1px dashed #cbd5df; border-radius:12px; background:#f7faf8; overflow:hidden; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; color:#7c8998; }
.court-modal-photo i { color:var(--padel-green); font-size:42px; }
.court-modal-photo img { width:100%; height:100%; object-fit:cover; }
.court-slot-days { padding-right:5px; }
.court-slot-day { display:grid; grid-template-columns:90px 1fr; gap:12px; padding:12px; margin-bottom:9px; border:1px solid #e5eaf0; border-radius:10px; background:#fbfcfd; }
.court-slot-day>strong { color:#17365d; font-size:12px; padding-top:8px; }
.court-slot-ranges { display:flex; flex-direction:column; gap:7px; }
.court-slot-range { display:grid; grid-template-columns:82px 1fr 12px 1fr; gap:7px; align-items:center; }
.court-slot-range .form-control { min-width:0; }
.court-copy-panel { padding:18px; border:1px solid #cfe0f5; border-radius:12px; background:linear-gradient(135deg,#f6faff,#fbfdff); }
.court-closures { padding:18px; border:1px solid #e5eaf0; border-radius:12px; background:#fbfcfd; }
.court-editor-modal .modal-body .col-lg-5 { display:flex; flex-direction:column; }
.court-editor-modal .modal-body .col-lg-5>.court-closures { order:2; margin-top:auto!important; }
.court-closure-row { display:grid; grid-template-columns:minmax(0,1fr) 40px; gap:8px; margin-bottom:12px; }
.court-closure-row .flatpickr-wrapper { min-width:0; }
.court-closure-row [data-remove-closure] { grid-column:2; grid-row:1; }
@media(max-width:767px){.court-week-grid{grid-template-columns:1fr}.court-slot-day{grid-template-columns:1fr}.court-slot-range{grid-template-columns:75px 1fr 10px 1fr}}
.customer-toolbar { display:flex; align-items:center; gap:12px; padding:16px 18px; }
.customer-search { flex:0 1 420px; width:100%; max-width:420px; }
.customer-status-wrap { position:relative; flex:0 0 190px; max-width:190px; }
.customer-status-filter { width:100%; }
.customer-status-icon { display:none; }
.customer-toolbar-actions { display:flex; flex:0 0 auto; flex-wrap:nowrap; justify-content:flex-end; gap:8px; margin-left:auto; }
.customer-toolbar-button { display:inline-flex; align-items:center; justify-content:center; gap:6px; }
@media(max-width:991.98px){.customer-toolbar{flex-wrap:wrap}.customer-toolbar-actions{margin-left:auto}}
.customer-avatar { color:#fff; background:linear-gradient(145deg,var(--padel-navy),#07538e); font-weight:700; }
@media(max-width:767.98px){.customer-toolbar{align-items:center;flex-flow:row nowrap;gap:6px;padding:12px 10px}.customer-search{flex:1 1 0;width:0;min-width:90px;max-width:none}.customer-search .input-group-text{padding-inline:9px}.customer-search .form-control{width:0;min-width:0;padding-inline:7px;font-size:11px}.customer-status-wrap{flex:0 0 36px;width:36px;height:38px}.customer-status-filter{position:absolute;inset:0;width:36px;height:38px;padding:0;opacity:0;cursor:pointer}.customer-status-icon{display:grid;place-items:center;width:36px;height:38px;border:1px solid #845adf;border-radius:6px;color:#845adf;background:#fff;pointer-events:none}.customer-toolbar-actions{flex:0 0 auto;width:auto;margin-left:auto;justify-content:flex-end;gap:5px}.customer-toolbar-actions .customer-toolbar-button{width:36px;height:38px;padding:0}.customer-toolbar-actions .customer-toolbar-button span{display:none}}
@media(max-width:767.98px){.mobile-page-toolbar{position:fixed;inset-inline:12px;top:calc(4.25rem + 8px);z-index:90;width:auto;border:1px solid #dce5ed!important;border-radius:8px;background:var(--custom-white,#fff);box-shadow:0 5px 14px rgba(15,35,58,.12)}.mobile-page-toolbar-spacer{height:64px;flex:0 0 64px}.custom-card:has(.customers-table){padding-top:0}.team-filter-card,.coach-filter-card,.custom-card:has(#tournamentSearch){min-height:0;border:0;background:transparent;box-shadow:none}}
@media(max-width:767.98px){.mobile-fab-holder{height:0!important;margin:0!important}.mobile-fab-add{position:fixed!important;left:18px;right:auto;bottom:calc(18px + env(safe-area-inset-bottom));z-index:95;display:flex!important;width:56px!important;height:56px!important;padding:0!important;align-items:center!important;justify-content:center!important;border-radius:50%!important;font-size:0!important;line-height:1!important;box-shadow:0 8px 22px rgba(3,41,79,.3)}.mobile-fab-add i{display:block;margin:0!important;font-size:25px!important;line-height:1!important}}
.padel-install-prompt{position:fixed;z-index:1090;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));left:14px;display:flex;align-items:center;gap:11px;padding:12px 42px 12px 12px;border:1px solid rgba(22,148,71,.25);border-radius:14px;background:#fff;box-shadow:0 14px 35px rgba(3,41,79,.2)}.padel-install-icon{display:grid;flex:0 0 42px;width:42px;height:42px;place-items:center;border-radius:11px;color:#fff;background:#169447;font-size:22px}.padel-install-copy{min-width:0;flex:1}.padel-install-copy strong,.padel-install-copy span{display:block}.padel-install-copy strong{color:#17365d;font-size:12px}.padel-install-copy span{margin-top:2px;color:#718093;font-size:10px;line-height:1.35}.padel-install-close{position:absolute;top:7px;right:7px;padding:4px;border:0;color:#8795a5;background:transparent;font-size:17px}@media(min-width:768px){.padel-install-prompt{display:none}}
.booking-filter-card{margin-bottom:16px}.booking-list-filters{display:grid;grid-template-columns:minmax(210px,1.5fr) repeat(2,145px) repeat(4,minmax(125px,1fr)) auto auto auto auto;align-items:center;gap:8px}.booking-search-field{position:relative}.booking-search-field>i{position:absolute;z-index:2;top:50%;left:12px;transform:translateY(-50%);color:#7b8998}.booking-search-field .form-control{padding-left:34px}.booking-recurring-filter{display:flex;height:38px;align-items:center;gap:6px;padding:0 11px;border:1px solid #dce3ea;border-radius:7px;white-space:nowrap}.booking-list{display:grid;gap:10px}.booking-list-card{position:relative;display:grid;grid-template-columns:7px 70px minmax(250px,1fr) minmax(150px,.6fr) 110px 42px;align-items:center;min-height:90px;overflow:hidden;margin:0}.booking-list-accent{align-self:stretch}.booking-list-date{text-align:center}.booking-list-date strong,.booking-list-date span,.booking-list-date small{display:block}.booking-list-date strong{color:#17365d;font-size:22px;line-height:1}.booking-list-date span{margin-top:3px;color:#169447;font-size:10px;font-weight:800}.booking-list-date small{color:#8795a5;font-size:9px}.booking-list-main{display:grid;gap:5px;padding:12px}.booking-list-title{display:flex;align-items:center;gap:8px}.booking-list-main>span{overflow:hidden;color:#69798b;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.booking-list-main>span i{width:17px;color:#169447}.booking-list-coach,.booking-list-value{display:grid;gap:3px;padding:12px;border-left:1px solid #edf1f4}.booking-list-coach small,.booking-list-value small{color:#8a97a5;font-size:9px;text-transform:uppercase}.booking-list-coach strong,.booking-list-value strong{color:#17365d;font-size:11px}.booking-list-value span{color:#169447;font-size:11px;font-weight:700}.booking-list-action{margin-right:10px}.booking-group-heading{display:flex;align-items:center;gap:7px;margin:12px 0 2px;padding:8px 11px;border-radius:8px;color:#17365d;background:#eaf6e3;font-size:11px;font-weight:800}.booking-status-scheduled{color:#0d6efd;background:#e8f1ff}.booking-status-completed{color:#169447;background:#e9f8ef}.booking-status-cancelled{color:#dc3545;background:#feecef}.booking-status-no_show{color:#7b4ca0;background:#f2ebf8}@media(max-width:1199px){.booking-list-filters{grid-template-columns:repeat(4,1fr)}.booking-search-field{grid-column:span 2}}@media(max-width:767.98px){.booking-filter-card{position:static!important}.booking-list-filters{display:flex;overflow-x:auto;padding:10px!important;gap:6px}.booking-list-filters>*{flex:0 0 128px}.booking-list-filters .booking-search-field{flex-basis:210px}.booking-list-filters .btn{flex-basis:38px;width:38px;padding:0}.booking-list-filters .btn span,.booking-recurring-filter span{display:none}.booking-recurring-filter{flex-basis:38px;justify-content:center;padding:0}.booking-list-card{grid-template-columns:6px 55px minmax(0,1fr) 38px;min-height:104px}.booking-list-date strong{font-size:18px}.booking-list-main{min-width:0;padding:10px 8px}.booking-list-main>span{font-size:10px}.booking-list-coach{grid-column:3;display:flex;gap:6px;padding:0 8px 8px;border:0}.booking-list-value{display:none}.booking-list-action{grid-column:4;grid-row:1/3;margin:0 6px 0 0}.booking-list-title{gap:5px;flex-wrap:wrap}}
.booking-mobile-filter-bar,.booking-filter-mobile-header,.booking-filter-backdrop,.booking-mobile-tabs{display:none}
@media(max-width:767.98px){body.booking-filters-open{overflow:hidden}.booking-mobile-filter-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.booking-mobile-filter-bar span{color:#7b8998;font-size:11px}.booking-filter-backdrop{position:fixed;z-index:1090;inset:0;display:block;visibility:hidden;background:rgba(4,17,30,.55);opacity:0;transition:opacity .2s,visibility .2s}.booking-filter-backdrop.is-open{visibility:visible;opacity:1}.booking-filter-card{position:fixed!important;z-index:1095;inset:0 0 0 auto;width:min(92vw,390px);height:100dvh;margin:0!important;border:0;border-radius:18px 0 0 18px;transform:translateX(105%);transition:transform .25s ease;overflow-y:auto}.booking-filter-card.is-open{transform:translateX(0)}.booking-filter-mobile-header{position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;padding:18px 16px;border-bottom:1px solid #e8edf2;background:#fff}.booking-filter-mobile-header strong,.booking-filter-mobile-header small{display:block}.booking-filter-mobile-header small{margin-top:2px;color:#7b8998;font-size:11px}.booking-list-filters{display:grid;grid-template-columns:1fr 1fr;overflow:visible;padding:16px!important;gap:12px}.booking-list-filters>*{min-width:0;flex:none}.booking-list-filters .booking-search-field{grid-column:1/-1}.booking-list-filters .booking-search-field,.booking-list-filters select,.booking-list-filters .booking-recurring-filter{width:100%;flex-basis:auto}.booking-list-filters .booking-recurring-filter{grid-column:1/-1;justify-content:flex-start;width:100%;padding:0 12px}.booking-list-filters .booking-recurring-filter span{display:inline}.booking-list-filters .btn{width:auto;min-width:0;flex-basis:auto}.booking-list-filters .btn span{display:inline}.booking-list-filters .btn-primary{grid-column:1/-1}.booking-list-filters .btn-outline-success{grid-column:1/-1}.booking-mobile-tabs{display:grid;grid-template-columns:1fr 1fr;margin:-1rem -1rem 16px;border-bottom:1px solid #e2e8ef}.booking-mobile-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;padding:12px 8px;border:0;border-bottom:2px solid transparent;color:#748295;background:#fff;font-size:12px;font-weight:700}.booking-mobile-tabs button.active{border-bottom-color:#169447;color:#17365d}.booking-editor-sections>.booking-editor-section{display:none}.booking-editor-sections>.booking-editor-section.is-active{display:block}.booking-editor-modal .modal-dialog{align-items:flex-start;margin:0;min-height:100%;max-width:none}.booking-editor-modal .modal-content{min-height:100dvh;border-radius:0}.booking-editor-modal .modal-body{padding:1rem!important}.booking-editor-modal .booking-player-picker{max-height:34dvh}}
@media(max-width:767.98px){.customers-summary,.coaches-summary,.teams-summary{display:none}}
@media(max-width:767.98px){.team-filter-card{margin-bottom:12px}.users-top-actions{margin-bottom:12px!important}}
@media(max-width:767.98px){
  #customerRows{display:grid;gap:12px;padding:12px;background:#f5f7fa}
  #customerRows tr[data-customer-row]{position:relative;display:block;border:1px solid #e3e9ef;border-radius:12px;background:#fff;box-shadow:0 4px 14px rgba(20,42,72,.05)}
  #customerRows tr[data-customer-row] td{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 14px;border:0;border-top:1px solid #f0f2f5;text-align:right!important}
  #customerRows tr[data-customer-row] td.customer-select-cell{position:absolute;z-index:2;top:15px;right:14px;width:auto;padding:0;border:0}
  #customerRows tr[data-customer-row] td:nth-child(2){display:block;padding:14px 50px 14px 14px;border-top:0;text-align:left!important}
  #customerRows tr[data-customer-row] td:last-child{justify-content:flex-end;padding:12px 14px;background:#f9fafb;border-radius:0 0 12px 12px}
  #customerRows tr[data-customer-row] td:nth-child(n+3):nth-child(-n+8)::before{color:#8793a0;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
  #customerRows tr[data-customer-row] td:nth-child(3)::before{content:'Phone'}
  #customerRows tr[data-customer-row] td:nth-child(4)::before{content:'Gender'}
  #customerRows tr[data-customer-row] td:nth-child(5)::before{content:'Level'}
  #customerRows tr[data-customer-row] td:nth-child(6)::before{content:'Games'}
  #customerRows tr[data-customer-row] td:nth-child(7)::before{content:'Last game'}
  #customerRows tr[data-customer-row] td:nth-child(8)::before{content:'Status'}
  .customers-table{display:block}.customers-table thead{display:none}.customers-table tbody{width:100%}
  .users-table{display:block;white-space:normal!important}.users-table thead{display:none}.users-table tbody{display:grid;width:100%;gap:12px;padding:12px;background:#f5f7fa}
  .users-table tr[data-user-row]{display:block;border:1px solid #e3e9ef;border-radius:12px;background:#fff;box-shadow:0 4px 14px rgba(20,42,72,.05)}
  .users-table tr[data-user-row] td{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px;border:0;border-top:1px solid #f0f2f5;text-align:right!important;white-space:normal}
  .users-table tr[data-user-row] td:first-child{display:block;padding:14px;border-top:0;text-align:left!important}
  .users-table tr[data-user-row] td:last-child{justify-content:flex-end;padding:12px 14px;background:#f9fafb;border-radius:0 0 12px 12px}
  .users-table tr[data-user-row] td:nth-child(n+2):nth-child(-n+5)::before{color:#8793a0;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
  .users-table tr[data-user-row] td:nth-child(2)::before{content:'Role'}
  .users-table tr[data-user-row] td:nth-child(3)::before{content:'Phone'}
  .users-table tr[data-user-row] td:nth-child(4)::before{content:'Last login'}
  .users-table tr[data-user-row] td:nth-child(5)::before{content:'Status'}
}
.import-dropzone { padding:24px; text-align:center; border:1px dashed #b9c6d3; border-radius:12px; background:#f8fafc; display:flex; flex-direction:column; align-items:center; color:#657487; }
.import-dropzone i { font-size:44px; color:#169447; margin-bottom:8px; }
.profile-identity { display:flex; align-items:center; gap:14px; padding:16px; border-radius:12px; background:#f7f9fb; margin-bottom:8px; }
.team-card { border:1px solid #e5eaf0; box-shadow:0 5px 18px rgba(20,42,72,.04); }
.team-card-icon { color:#fff; background:linear-gradient(145deg,var(--padel-navy),#07538e 65%,var(--padel-green)); }
.team-label { display:block; color:#8692a0; font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.team-members { display:flex; flex-wrap:wrap; gap:8px; }
.team-member-chip { display:inline-flex; align-items:center; gap:6px; padding:5px 9px 5px 5px; border:1px solid #e3e9ef; border-radius:20px; background:#f8fafc; font-size:11px; }
.team-member-chip>span { display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:50%; color:#fff; background:var(--padel-navy); font-weight:700; }
.team-member-picker { max-height:430px; overflow:auto; display:grid; grid-template-columns:1fr 1fr; gap:9px; padding-right:4px; }
.team-member-option { display:flex; align-items:center; gap:10px; padding:11px; border:1px solid #e3e9ef; border-radius:10px; cursor:pointer; transition:.15s ease; }
.team-member-option:has(input:checked) { border-color:var(--padel-green); background:rgba(104,191,36,.06); }
.team-member-option:hover { border-color:#aebdca; }
.team-selected-panel { padding:12px; border:1px solid #cfe0f5; border-radius:11px; background:#f6faff; }
.team-selected-panel-title { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:9px; color:#17365d; font-size:11px; font-weight:700; text-transform:uppercase; }
.team-selected-panel-title small { font-size:9px; font-weight:500; text-transform:none; }
.team-selected-panel-list { display:flex; flex-wrap:wrap; gap:7px; max-height:150px; overflow:auto; }
.team-selected-member { display:inline-flex; align-items:center; gap:7px; max-width:240px; padding:6px 7px; border:1px solid #cfe0f5; border-radius:9px; background:#fff; color:#17365d; }
.team-selected-member-avatar { display:inline-grid; place-items:center; flex:0 0 27px; width:27px; height:27px; border-radius:50%; color:#fff; background:var(--padel-navy); font-size:10px; font-weight:800; }
.team-selected-member-info { min-width:0; line-height:1.2; }
.team-selected-member-info strong,.team-selected-member-info small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.team-selected-member-info strong { font-size:10px; }.team-selected-member-info small { margin-top:2px; color:#708095; font-size:9px; }
.team-selected-member button { border:0; padding:0 2px; color:#9aa7b5; background:transparent; font-size:16px; line-height:1; }
.team-selected-member.is-contact { border-color:var(--padel-green); background:#f2faed; box-shadow:0 0 0 1px rgba(104,191,36,.08); }
.team-selected-member .team-contact-toggle { color:#a6b0bb; cursor:pointer; }
.team-selected-member.is-contact .team-contact-toggle { color:#e6a700; }
.team-selected-member .team-member-remove { cursor:pointer; }
.team-editor-modal .choices__list--dropdown .choices__list,.team-editor-modal .choices__list[aria-expanded] .choices__list { max-height:210px!important; overflow-y:auto!important; overscroll-behavior:contain; scrollbar-gutter:stable; }
.team-editor-modal .modal-content{max-height:calc(100dvh - 3.5rem);overflow:hidden}
.team-editor-modal .modal-content>form{display:flex;height:100%;min-height:0;max-height:inherit;flex-direction:column;overflow:hidden}
.team-editor-modal .modal-header,.team-editor-modal .modal-footer{flex:0 0 auto}
.team-editor-modal .modal-body{min-height:0;overflow-y:auto;overscroll-behavior:contain}
.team-filter-card { margin-bottom: 1.5rem; }
@media(max-width:767px){.team-member-picker{grid-template-columns:1fr}}
.team-mobile-tabs{display:none}
@media(max-width:991.98px){
 .team-editor-modal .modal-dialog{margin:8px;min-height:calc(100% - 16px);align-items:flex-start}
 .team-editor-modal .modal-content{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);border-radius:14px!important}
 .team-editor-modal .modal-header,.team-editor-modal .modal-footer,.team-mobile-tabs{flex-shrink:0}
 .team-mobile-tabs{display:grid;grid-template-columns:1fr 1fr;padding:0 16px;border-bottom:1px solid #e3e9ef;background:#fff}
 .team-mobile-tabs button{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;padding:13px 8px;border:0;border-bottom:2px solid transparent;color:#758397;background:transparent;font-size:12px;font-weight:700}
 .team-mobile-tabs button.active{border-bottom-color:var(--padel-green);color:var(--padel-navy)}
 .team-mobile-tabs button b{display:inline-grid;min-width:19px;height:19px;padding:0 5px;place-items:center;border-radius:10px;color:#fff;background:var(--padel-green);font-size:9px}
 .team-editor-modal .team-mobile-pane{display:none}
 .team-editor-modal .team-mobile-pane.active{display:block}
 .team-editor-modal .modal-body{min-height:0;padding:18px!important;overflow-y:auto}
 .team-editor-modal [data-team-mobile-pane="members"].active{display:block}
 .team-editor-modal .team-member-picker{height:clamp(150px,32dvh,280px);min-height:0;max-height:280px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 .team-editor-modal .modal-footer{padding:12px 16px;background:#fff;box-shadow:0 -6px 18px rgba(15,38,64,.06)}
}
.coach-filter-card { margin-bottom:1.5rem; }
.coach-card { border:1px solid #e5eaf0; box-shadow:0 5px 18px rgba(20,42,72,.04); }
.coach-card-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px; }
.coach-avatar { display:grid; place-items:center; color:#fff; background:linear-gradient(145deg,var(--padel-navy),#07538e 62%,var(--padel-green)); font-weight:800; letter-spacing:.04em; }
.coach-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.coach-contact-grid>div { min-width:0; padding:11px 12px; border:1px solid #edf0f4; border-radius:9px; background:#fafbfd; }
.coach-contact-grid strong { display:block; overflow:hidden; color:#17365d; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.coach-label { display:block; margin-bottom:7px; color:#8692a0; font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.coach-bio { display:-webkit-box; overflow:hidden; margin:14px 0 0; color:#657487; font-size:12px; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.coach-week-grid { display:grid; grid-template-columns:1fr 1fr; gap:7px 12px; }
.coach-day-row { display:flex; align-items:center; justify-content:space-between; gap:10px; min-width:0; padding:8px 10px; border-radius:8px; background:#f7f9fb; font-size:11px; }
.coach-day-row strong { color:#17365d; }.coach-day-row span { overflow:hidden; color:#657487; text-overflow:ellipsis; white-space:nowrap; }
.coach-editor-modal .modal-content { overflow:hidden; border:0; border-radius:14px; }.coach-editor-modal form { display:flex; flex-direction:column; max-height:calc(100vh - 3.5rem); min-height:0; }.coach-editor-modal .modal-body { flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; }.coach-editor-modal .modal-header,.coach-editor-modal .modal-footer { flex:0 0 auto; }
.coach-modal-section { padding:17px; border:1px solid #e5eaf0; border-radius:12px; background:#fbfcfd; }
.coach-mobile-tabs{display:none}
@media(max-width:991.98px){
 .coach-editor-modal .modal-dialog{margin:8px;min-height:calc(100% - 16px);align-items:flex-start}
 .coach-editor-modal .modal-content{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);border-radius:14px!important}
 .coach-editor-modal .modal-header,.coach-editor-modal .modal-footer,.coach-mobile-tabs{flex-shrink:0}
 .coach-mobile-tabs{display:grid;grid-template-columns:1fr 1fr;padding:0 16px;border-bottom:1px solid #e3e9ef;background:#fff}
 .coach-mobile-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;padding:13px 8px;border:0;border-bottom:2px solid transparent;color:#758397;background:transparent;font-size:12px;font-weight:700}
 .coach-mobile-tabs button.active{border-bottom-color:var(--padel-green);color:var(--padel-navy)}
 .coach-editor-modal .coach-mobile-pane{display:none}
 .coach-editor-modal .coach-mobile-pane.active{display:block}
 .coach-editor-modal .modal-body{min-height:0;padding:18px!important;overflow-y:auto}
 .coach-editor-modal .modal-footer{padding:12px 16px;background:#fff;box-shadow:0 -6px 18px rgba(15,38,64,.06)}
}
.coach-hours-days { display:grid; gap:9px; }.coach-hours-day { padding:11px; border:1px solid #e6ebf0; border-radius:10px; background:#fff; }.coach-hours-day-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px; }.coach-hours-day-head strong { color:#17365d; font-size:12px; }
.coach-hour-row { display:grid; grid-template-columns:88px minmax(95px,1fr) 10px minmax(95px,1fr) 38px; align-items:center; gap:7px; margin-top:7px; }.coach-hour-row:first-child { margin-top:0; }.coach-hour-row .form-check-label { font-size:11px; }
.coach-exception-row { display:grid; grid-template-columns:minmax(0,1fr) 38px; align-items:center; gap:7px; margin-bottom:9px; }.coach-exception-row .flatpickr-wrapper { min-width:0; }.coach-exception-row [data-remove-coach-exception] { grid-column:2; grid-row:1; }
.coach-login-note { display:flex; gap:10px; padding:13px; border:1px solid #dbe5ef; border-radius:10px; background:#f7faff; }.coach-login-note>i { color:#149447; font-size:20px; }.coach-login-note strong,.coach-login-note small { display:block; }.coach-login-note strong { color:#17365d; font-size:12px; }.coach-login-note small { margin-top:3px; color:#718092; font-size:10px; }
@media(min-width:992px){.coach-editor-modal .modal-body>.row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:1.5rem;margin:0}.coach-editor-modal .modal-body>.row>.col-lg-4{grid-column:1;grid-row:1;width:auto;padding:0}.coach-editor-modal .modal-body>.row>.col-lg-8{display:contents}.coach-editor-modal .modal-body>.row>.col-lg-8>.coach-modal-section:first-child{grid-column:2;grid-row:1/3}.coach-editor-modal .modal-body>.row>.col-lg-8>.coach-modal-section:last-child{grid-column:1;grid-row:2;align-self:start;margin-top:1.5rem!important}.coach-editor-modal .modal-body>.row>.col-lg-8>.coach-modal-section:last-child .coach-exception-row{grid-template-columns:1fr 1fr 38px}.coach-editor-modal .modal-body>.row>.col-lg-8>.coach-modal-section:last-child .coach-exception-row .flatpickr-wrapper{grid-column:1/-1}.coach-editor-modal .modal-body>.row>.col-lg-8>.coach-modal-section:last-child .coach-exception-row input[name$="[reason]"]{grid-column:1/3}.coach-editor-modal .modal-body>.row>.col-lg-8>.coach-modal-section:last-child .coach-exception-row [data-remove-coach-exception]{grid-column:3;grid-row:2}}
@media(max-width:767px){.coach-contact-grid,.coach-week-grid{grid-template-columns:1fr}.coach-hour-row{grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr) 38px}.coach-hour-row .form-check{grid-column:1/-1}.coach-hour-row>span{text-align:center}.coach-hour-row [data-remove-coach-hour]{grid-column:4}.coach-exception-row{grid-template-columns:1fr 1fr 38px}.coach-exception-row .flatpickr-wrapper{grid-column:1/-1}.coach-exception-row input[name$="[reason]"]{grid-column:1/3}.coach-exception-row [data-remove-coach-exception]{grid-column:3;grid-row:2}}
@media(min-width:992px){.coach-editor-modal .modal-body>.row>.col-lg-8>.coach-modal-section:last-child .coach-exception-row{grid-template-columns:minmax(0,1fr) 38px}.coach-editor-modal .modal-body>.row>.col-lg-8>.coach-modal-section:last-child .coach-exception-row .flatpickr-wrapper{grid-column:1}.coach-editor-modal .modal-body>.row>.col-lg-8>.coach-modal-section:last-child .coach-exception-row [data-remove-coach-exception]{grid-column:2;grid-row:1}}
@media(max-width:767px){.coach-exception-row{grid-template-columns:minmax(0,1fr) 38px}.coach-exception-row .flatpickr-wrapper{grid-column:1}.coach-exception-row [data-remove-coach-exception]{grid-column:2;grid-row:1}}
.app-sidebar.has-impersonation-panel .main-sidebar {
    padding-bottom: 150px;
}
.tournament-wizard-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.tournament-wizard-steps span{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid #e4eaf0;border-radius:10px;color:#8090a0;background:#fff;font-size:12px;font-weight:600}.tournament-wizard-steps b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#eef2f6}.tournament-wizard-steps .done,.tournament-wizard-steps .active{color:#17365d;border-color:rgba(20,148,71,.28)}.tournament-wizard-steps .done b,.tournament-wizard-steps .active b{color:#fff;background:#149447}.tournament-team-slot{height:100%;padding:16px;border:1px solid #e4eaf0;border-radius:12px;background:#fbfcfd}.tournament-selected-list{display:grid;gap:8px;max-height:560px;overflow:auto}.tournament-selected-player{display:flex;align-items:center;gap:9px;padding:8px;border:1px solid #e7ebf0;border-radius:9px;background:#fafbfd}.tournament-selected-player strong,.tournament-selected-player small{display:block}.tournament-selected-player strong{font-size:11px}.tournament-selected-player small{color:#8190a0;font-size:9px}.tournament-player-select.is-invalid{border-color:#dc3545}@media(max-width:767px){.tournament-wizard-steps{grid-template-columns:1fr 1fr}}

.padel-impersonation-panel {
    position: absolute;
    right: 12px;
    bottom: 12px;
    left: 12px;
    z-index: 5;
    padding: 12px;
    border: 1px solid rgba(245, 184, 73, .35);
    border-radius: 10px;
    background: var(--custom-white);
    box-shadow: 0 8px 24px rgba(15, 23, 42, .16);
}
.tournament-team-slot .choices__list--dropdown .choices__list,.tournament-team-slot .choices__list[aria-expanded] .choices__list{max-height:210px!important;overflow-y:auto!important;overscroll-behavior:contain}
.tournament-team-slot .choices{margin-bottom:0}.tournament-team-slot .choices__inner{min-height:39px;padding:7px 12px;border:1px solid #d8dee6;border-radius:7px;background:#fff}.tournament-team-slot .choices.is-focused .choices__inner,.tournament-team-slot .choices.is-open .choices__inner{border-color:#86b7fe;box-shadow:0 0 0 .2rem rgba(13,110,253,.12)}.tournament-team-slot .choices__list--dropdown,.tournament-team-slot .choices__list[aria-expanded]{z-index:20;margin-top:5px;overflow:hidden;border:1px solid #dce3ea;border-radius:9px;background:#fff;box-shadow:0 12px 30px rgba(15,38,64,.14)}.tournament-team-slot .choices__list--dropdown .choices__input,.tournament-team-slot .choices__list[aria-expanded] .choices__input{display:block;width:calc(100% - 16px);margin:8px;padding:9px 11px!important;border:1px solid #d8e0e8!important;border-radius:7px!important;outline:0;background:#f8fafc;box-shadow:none!important}.tournament-team-slot .choices__list--dropdown .choices__item--selectable{padding:10px 12px}.tournament-team-slot .choices__list--dropdown .choices__item--selectable.is-highlighted{color:#fff;background:#149447}
.tournament-draw-pool{display:grid;gap:9px;min-height:180px;padding:10px;border:1px dashed #cfd9e3;border-radius:11px;background:#f8fafc}.tournament-draw-team{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid #dde5ed;border-radius:10px;background:#fff;box-shadow:0 3px 10px rgba(15,38,64,.05);cursor:grab}.tournament-draw-team.dragging{opacity:.45}.tournament-draw-team strong,.tournament-draw-team small{display:block}.tournament-draw-team strong{font-size:11px;color:#17365d}.tournament-draw-team small{margin-top:2px;color:#7c8b9b;font-size:9px}.tournament-first-match{padding:13px;border:1px solid #e2e8ef;border-radius:11px;background:#fbfcfd}.tournament-match-label{display:block;margin-bottom:9px;color:#8190a0;font-size:10px;font-weight:700;text-transform:uppercase}.tournament-draw-slot{display:flex;min-height:64px;align-items:center;margin-top:7px;padding:7px;border:1px dashed #c9d4df;border-radius:9px;color:#91a0ae;background:#fff;font-size:11px}.tournament-draw-slot.filled{border-style:solid;border-color:rgba(20,148,71,.35);background:#f8fcf9}.tournament-draw-slot .tournament-draw-team{width:100%;box-shadow:none}.tournament-draw-slot.drag-over,.tournament-draw-pool.drag-over{border-color:#149447;background:rgba(20,148,71,.07)}
.tournament-review-details{display:grid;grid-template-columns:1fr 1fr;gap:15px}.tournament-review-details span,.tournament-review-details strong{display:block}.tournament-review-details span{margin-bottom:3px;color:#82909f;font-size:10px;text-transform:uppercase}.tournament-review-details strong{color:#17365d;font-size:12px}.tournament-review-match{height:100%;padding:14px;border:1px solid #e2e8ef;border-radius:11px;background:#fbfcfd}.tournament-review-match>span{display:block;margin-bottom:10px;color:#8391a0;font-size:10px;font-weight:700;text-transform:uppercase}.tournament-review-match>div{padding:10px;border-radius:8px;background:#fff}.tournament-review-match strong,.tournament-review-match small{display:block}.tournament-review-match strong{color:#17365d;font-size:11px}.tournament-review-match small{margin-top:3px;color:#7d8b9b;font-size:9px}.tournament-review-match em{display:block;margin:5px;text-align:center;color:#149447;font-size:9px;font-style:normal;font-weight:800}.tournament-review-path{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid rgba(20,148,71,.22);border-radius:11px;background:rgba(20,148,71,.05)}.tournament-review-path>i{color:#149447;font-size:28px}.tournament-review-path strong,.tournament-review-path small{display:block}.tournament-review-path small{margin-top:3px;color:#758494;font-size:10px}
.booking-status-booked{color:#169447;background:#e9f8ef}.booking-status-pending{color:#b76e00;background:#fff3dc}
.calendar-tournament-filter,.booking-tournament-quick-filter{display:flex;align-items:center;gap:8px;margin:0 0 12px auto;width:min(100%,320px)}.calendar-tournament-filter>i,.booking-tournament-quick-filter>i{display:grid;flex:0 0 34px;height:34px;place-items:center;border-radius:8px;color:#7c3aed;background:#f1eafe}.calendar-tournament-filter .form-select,.booking-tournament-quick-filter .form-select{min-width:0}.tournament-match-slot-summary{font-weight:700}@media(max-width:767.98px){.calendar-tournament-filter,.booking-tournament-quick-filter{width:100%;margin-bottom:10px}.calendar-tournament-filter>i,.booking-tournament-quick-filter>i{flex-basis:38px;height:38px}.booking-editor-modal #openTournamentMatchPicker{width:38px;height:38px;overflow:hidden;padding:0;font-size:0}.booking-editor-modal #openTournamentMatchPicker i{margin:0!important;font-size:17px}}
.tournament-slot-bracket{min-height:150px;padding:12px;border:1px solid #e3e9ef;border-radius:12px;background:#f8fafc}.tournament-slot-bracket-empty{display:flex;min-height:125px;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#8795a5}.tournament-slot-bracket-empty i{font-size:28px;color:#7c3aed}.tournament-slot-bracket-scroll{display:flex;overflow-x:auto;align-items:flex-start;gap:12px;padding-bottom:5px}.tournament-slot-round{display:grid;flex:0 0 235px;gap:8px}.tournament-slot-round h6{position:sticky;top:0;margin:0;padding:7px 9px;border-radius:7px;color:#17365d;background:#eaf0f6;font-size:11px}.tournament-slot-match{display:grid;width:100%;gap:5px;padding:9px 10px;border:1px solid #dde4eb;border-radius:9px;text-align:left;color:#69798b;background:#f1f4f7}.tournament-slot-match small{font-size:9px;text-transform:uppercase}.tournament-slot-match span{overflow:hidden;color:#324b69;font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.tournament-slot-match.is-ready{border-color:#b7dca5;background:#f1faed;cursor:pointer}.tournament-slot-match.is-ready:hover,.tournament-slot-match.is-selected{border-color:#7c3aed;box-shadow:0 0 0 2px rgba(124,58,237,.12);background:#f5f0ff}.tournament-slot-match:disabled{cursor:not-allowed;opacity:.7}@media(max-width:767.98px){.tournament-slot-bracket{margin-inline:-4px;padding:8px}.tournament-slot-round{flex-basis:205px}}
.calendar-filter-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px}.calendar-filter-strip .calendar-legend{margin:0!important}.calendar-filter-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-left:auto}.calendar-filter-controls .scheduler-coach-filter,.calendar-filter-controls .calendar-tournament-filter{width:280px;min-width:0;margin:0}.calendar-filter-controls .scheduler-coach-filter .form-select{width:100%}@media(max-width:991.98px) and (min-width:768px){.calendar-filter-strip{align-items:flex-end;flex-direction:column}.calendar-filter-controls{width:100%}.calendar-filter-controls .scheduler-coach-filter,.calendar-filter-controls .calendar-tournament-filter{flex:1;width:auto}}@media(max-width:767.98px){.calendar-filter-strip{display:none}.calendar-filter-controls .scheduler-coach-filter,.calendar-filter-controls .calendar-tournament-filter{display:none}}
.calendar-filter-controls .calendar-tournament-filter>i{display:none}.calendar-filter-controls .calendar-tournament-filter{gap:0}@media(min-width:1200px){.scheduler-toolbar-grid{grid-template-columns:1fr auto 1fr!important}.scheduler-mode-switch{grid-column:3;justify-self:end}}
.court-color-presets{display:flex;flex-wrap:wrap;gap:7px}.court-color-presets button{position:relative;width:27px;height:27px;padding:0;border:2px solid #fff;border-radius:50%;outline:1px solid #dce4eb;background:var(--preset-color);box-shadow:0 1px 3px rgba(3,41,79,.12);transition:transform .15s,outline-color .15s}.court-color-presets button:hover{transform:scale(1.1)}.court-color-presets button.active{outline:2px solid #03294f;transform:scale(1.08)}.court-color-presets button.active:after{position:absolute;inset:0;display:grid;place-items:center;color:#fff;content:'✓';font-size:13px;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.45)}
.booking-list-filters>.choices{margin-bottom:0!important}.booking-list-filters>.choices>.choices__inner{padding-bottom:7.5px}@media(min-width:1200px){.booking-list-filters{grid-template-columns:repeat(10,minmax(0,1fr));gap:10px}.booking-list-filters>.choices{grid-column:1/3;grid-row:1}.booking-list-filters>[name="court_id"]{grid-column:3/5;grid-row:1}.booking-list-filters>[name="coach_id"]{grid-column:5/7;grid-row:1}.booking-list-filters>[name="tournament_id"]{grid-column:7/9;grid-row:1}.booking-list-filters>[name="booking_state"]{grid-column:9/11;grid-row:1}.booking-list-filters>.booking-filter-date-from{grid-column:1/3;grid-row:2}.booking-list-filters>.booking-filter-date-to{grid-column:3/5;grid-row:2}.booking-list-filters>[name="group"]{grid-column:5/7;grid-row:2}.booking-list-filters>.booking-recurring-filter{grid-column:7;grid-row:2}.booking-list-filters>.btn-primary{grid-column:8;grid-row:2}.booking-list-filters>.btn-light{grid-column:9;grid-row:2}.booking-list-filters>.btn-outline-success{grid-column:10;grid-row:2}}
@media(max-width:767.98px){.booking-list-filters>*{grid-column:auto!important;grid-row:auto!important}.booking-list-filters>.choices{grid-column:1/-1!important;margin:0}.booking-list-filters>[name="tournament_id"],.booking-list-filters>[name="booking_state"],.booking-list-filters>.booking-recurring-filter,.booking-list-filters>.btn-primary,.booking-list-filters>.btn-outline-success{grid-column:1/-1!important}}
.password-visibility-field{position:relative;width:100%}
.password-visibility-field>.form-control{padding-right:46px}
.password-visibility-toggle{position:absolute;z-index:3;top:50%;right:5px;display:grid;width:36px;height:36px;padding:0;place-items:center;border:0;border-radius:8px;color:#65758b;background:transparent;transform:translateY(-50%);transition:color .15s,background .15s}
.password-visibility-toggle:hover,.password-visibility-toggle:focus-visible{color:var(--padel-navy);background:#eef3f8;outline:0}
.password-visibility-toggle i{font-size:18px;line-height:1}
@media(max-width:767.98px){
 .booking-editor-modal .modal-dialog{height:100dvh;min-height:100dvh;max-height:100dvh;margin:0}
 .booking-editor-modal .modal-content{height:100dvh;min-height:0;max-height:100dvh;overflow:hidden;border-radius:0}
 .booking-editor-modal .modal-content>form{display:flex;height:100%;min-height:0;flex-direction:column;overflow:hidden}
 .booking-editor-modal .modal-header,.booking-editor-modal .modal-footer{position:relative;z-index:4;flex:0 0 auto;background:#fff}
 .booking-editor-modal .modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 .booking-editor-modal .modal-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -6px 18px rgba(15,38,64,.09)}
}@media(max-width:767.98px){
 .modal .modal-dialog{max-height:calc(100dvh - 1rem)}
 .modal .modal-content{display:flex;max-height:calc(100dvh - 1rem);min-height:0;flex-direction:column;overflow:hidden}
 .modal .modal-content>form{display:flex;min-height:0;max-height:inherit;flex:1 1 auto;flex-direction:column;overflow:hidden}
 .modal .modal-body{min-height:0;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 .modal .modal-header,.modal .modal-footer{position:relative;z-index:6;flex:0 0 auto;background:var(--custom-white,#fff)}
 .modal .modal-footer{margin-top:auto;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--default-border,#e8edf2);box-shadow:0 -6px 18px rgba(15,38,64,.09)}
 .modal.modal-fullscreen-sm-down .modal-dialog,.modal .modal-dialog.modal-fullscreen-sm-down{max-height:100dvh}
 .modal.modal-fullscreen-sm-down .modal-content,.modal .modal-dialog.modal-fullscreen-sm-down .modal-content{max-height:100dvh}
}
@media(max-width:767.98px){
 .modal .modal-dialog{width:100%;height:100dvh;min-height:100dvh;max-height:100dvh;margin:0!important;max-width:none}
 .modal .modal-content{width:100%;height:100dvh;min-height:0;max-height:100dvh;border:0;border-radius:0!important}
 .modal .modal-content>form{width:100%;height:100%;max-height:100dvh}
 .modal .modal-header{padding-top:calc(1rem + env(safe-area-inset-top))}
}
.booking-court-tabs{display:flex;overflow-x:auto;gap:7px;margin:0 0 14px;padding:3px 1px 6px;scrollbar-width:thin}.booking-court-tabs button,.booking-court-tabs a{display:flex;flex:0 0 auto;align-items:center;text-decoration:none;gap:7px;padding:9px 14px;border:1px solid #dce4ec;border-radius:9px;color:#65758a;background:#fff;font-size:11px;font-weight:700;white-space:nowrap}.booking-court-tabs button>span,.booking-court-tabs a>span{width:8px;height:22px;border-radius:999px;background:var(--court-tab-color)}.booking-court-tabs button.active,.booking-court-tabs a.active{border-color:var(--court-tab-color);color:#17365d;background:#f8fafc;box-shadow:0 2px 8px rgba(3,41,79,.09)}
@media(max-width:767.98px){.booking-court-tabs{position:sticky;z-index:8;top:calc(var(--header-height,60px) + 4px);margin-inline:-2px;padding:6px 2px 9px;background:var(--custom-white,#fff)}.booking-court-tabs button,.booking-court-tabs a{padding:8px 11px}}
.booking-mobile-period{display:none}
@media(max-width:767.98px){.booking-mobile-period{display:flex;align-items:center;gap:10px;margin:0 0 10px;padding:10px 12px;border:1px solid #dfe7ee;border-radius:10px;color:#17365d;background:#f8fafc}.booking-mobile-period>i{display:grid;flex:0 0 35px;height:35px;place-items:center;border-radius:9px;color:#169447;background:#eaf7e5;font-size:18px}.booking-mobile-period small,.booking-mobile-period strong{display:block}.booking-mobile-period small{margin-bottom:1px;color:#8190a0;font-size:9px;font-weight:700;text-transform:uppercase}.booking-mobile-period strong{font-size:12px}}
.court-slot-range input[type="time"],.coach-hour-row input[type="time"],.coach-exception-row input[type="time"]{width:108px;max-width:100%;justify-self:start;font-variant-numeric:tabular-nums}
@media(min-width:768px){.court-slot-range{grid-template-columns:82px 108px 12px 108px}.coach-hour-row{grid-template-columns:88px 108px 10px 108px 38px}}
@media(max-width:767.98px){.court-slot-range input[type="time"],.coach-hour-row input[type="time"],.coach-exception-row input[type="time"]{width:96px}}
@media(max-width:767.98px){.team-editor-modal .modal-dialog{margin:0!important;width:100%!important;min-height:100dvh!important;max-height:100dvh!important}.team-editor-modal .modal-content{height:100dvh!important;max-height:100dvh!important;border-radius:0!important}}
@media(max-width:767.98px){.customer-editor-modal .modal-dialog{margin:0!important;width:100%!important;min-height:100dvh!important;max-height:100dvh!important}.customer-editor-modal .modal-content{height:100dvh!important;max-height:100dvh!important;border-radius:0!important}}
.booking-day-navigation{display:flex;align-items:center;gap:7px;margin-bottom:12px}.booking-day-current{display:flex;min-width:180px;align-items:center;gap:9px;padding:3px 12px;border:0;border-radius:4px;color:#17365d;background:rgb(var(--light-rgb))}.booking-day-current>i{color:#169447;font-size:18px}.booking-day-current small,.booking-day-current strong{display:block}.booking-day-current small{color:#8190a0;font-size:9px;font-weight:700;text-transform:uppercase}.booking-day-current strong{font-size:12px}.booking-day-today{font-weight:700}
@media(max-width:767.98px){.booking-day-navigation{width:100%;justify-content:center}.booking-day-current{min-width:0;flex:1}.booking-day-navigation .btn{flex:0 0 auto}.booking-day-today{padding-inline:12px}}
.modal-header p{display:none!important}
@media(max-width:767.98px){.row>.modal{width:100%!important;margin-top:0!important;padding:0!important}.team-editor-modal{inset:0!important;margin:0!important;padding:0!important}.team-editor-modal .modal-dialog{position:absolute!important;inset:0!important;height:100dvh!important}.team-editor-modal .modal-content>form{height:100dvh!important;max-height:100dvh!important}.team-editor-modal .modal-footer{position:relative!important;z-index:10!important;flex:0 0 auto!important;padding-bottom:calc(12px + env(safe-area-inset-bottom))!important}}

/* Desktop mini sidebar: keep navigation icons visible when the menu is collapsed. */
@media (min-width: 992px) {
    [data-vertical-style="closed"][data-toggled="close-menu-close"] .app-sidebar { display:block!important; width:5rem!important; overflow:visible!important; }
    [data-vertical-style="closed"][data-toggled="close-menu-close"] .app-sidebar .main-sidebar-header { width:5rem!important; padding:.55rem!important; justify-content:center; }
    [data-vertical-style="closed"][data-toggled="close-menu-close"] .app-sidebar .padel-sidebar-brand-link { width:3.75rem; height:3.75rem; padding:.3rem; border-radius:.8rem; overflow:hidden; }
    [data-vertical-style="closed"][data-toggled="close-menu-close"] .app-sidebar .padel-sidebar-brand-image { width:100%!important; height:100%!important; object-fit:contain; }
    [data-vertical-style="closed"][data-toggled="close-menu-close"] .app-sidebar .main-sidebar,
    [data-vertical-style="closed"][data-toggled="close-menu-close"] .app-sidebar .main-menu-container,
    [data-vertical-style="closed"][data-toggled="close-menu-close"] .app-sidebar .main-menu { width:5rem!important; }
    [data-vertical-style="closed"][data-toggled="close-menu-close"] .app-sidebar .main-menu>.slide { padding:0 .55rem; }
    [data-vertical-style="closed"][data-toggled="close-menu-close"] .app-sidebar .side-menu__item { width:100%; min-height:2.8rem; padding:.65rem!important; justify-content:center; border-radius:.65rem; }
    [data-vertical-style="closed"][data-toggled="close-menu-close"] .app-sidebar .side-menu__icon { margin:0!important; font-size:1.25rem; }
    [data-vertical-style="closed"][data-toggled="close-menu-close"] .app-sidebar .side-menu__label,
    [data-vertical-style="closed"][data-toggled="close-menu-close"] .app-sidebar .side-menu__angle,
    [data-vertical-style="closed"][data-toggled="close-menu-close"] .app-sidebar .slide__category,
    [data-vertical-style="closed"][data-toggled="close-menu-close"] .app-sidebar .padel-mobile-account-head { display:none!important; }
    [data-vertical-style="closed"][data-toggled="close-menu-close"] .app-sidebar .padel-impersonation-panel { padding:.55rem; }
    [data-vertical-style="closed"][data-toggled="close-menu-close"] .app-sidebar .padel-impersonation-panel>:not(form) { display:none!important; }
    [data-vertical-style="closed"][data-toggled="close-menu-close"] .app-sidebar .padel-impersonation-panel button { padding:.55rem; font-size:0; }
    [data-vertical-style="closed"][data-toggled="close-menu-close"] .app-sidebar .padel-impersonation-panel button i { margin:0!important; font-size:1rem; }
    [data-vertical-style="closed"][data-toggled="close-menu-close"] .app-header { padding-inline-start:5rem!important; }
    [data-vertical-style="closed"][data-toggled="close-menu-close"] .app-content { margin-inline-start:5rem!important; }
    .tooltip.padel-sidebar-tooltip .tooltip-inner { padding:.45rem .7rem; font-weight:600; box-shadow:0 .35rem 1rem rgba(0,0,0,.18); }
}
/* Keep every control in the customer-list toolbar perfectly aligned. */
.customer-management-toolbar .customer-search,
.customer-management-toolbar .customer-search .input-group-text,
.customer-management-toolbar .customer-search .form-control,
.customer-management-toolbar .customer-status-wrap,
.customer-management-toolbar .customer-status-filter,
.customer-management-toolbar .customer-status-icon,
.customer-management-toolbar .customer-toolbar-button { height:35px!important; min-height:35px!important; }
/* At compact desktop widths the expanded sidebar overlays, rather than moving, the page. */
@media (min-width:992px) and (max-width:1360px) {
    [data-nav-layout="vertical"] .app-header { padding-inline-start:5rem!important; }
    [data-nav-layout="vertical"] .app-content { margin-inline-start:5rem!important; }
    [data-nav-layout="vertical"] .app-sidebar { position:fixed!important; z-index:104!important; box-shadow:8px 0 24px rgba(5,20,42,.16); transition:width .2s ease; }
    [data-nav-layout="vertical"]:not([data-toggled="close-menu-close"]) .app-sidebar { width:15rem!important; }
    [data-nav-layout="vertical"]:not([data-toggled="close-menu-close"]) .app-sidebar .main-sidebar-header { width:15rem!important; }
}
/* Match the team-list toolbar controls to the compact customer toolbar. */
.team-management-toolbar .customer-search,
.team-management-toolbar .customer-search .input-group-text,
.team-management-toolbar .customer-search .form-control,
.team-management-toolbar .customer-status-wrap,
.team-management-toolbar .customer-status-filter,
.team-management-toolbar .customer-status-icon,
.team-management-toolbar .customer-toolbar-button { height:35px!important; min-height:35px!important; }
.padel-sidebar-overlay-close { display:none; }
@media (min-width:992px) and (max-width:1360px) {
    [data-nav-layout="vertical"]:not([data-toggled="close-menu-close"]) .padel-sidebar-overlay-close { position:absolute; inset-inline-end:.65rem; inset-block-start:50%; z-index:3; display:grid; width:2rem; height:2rem; padding:0; place-items:center; transform:translateY(-50%); border:1px solid rgba(255,255,255,.18); border-radius:.55rem; color:var(--menu-prime-color,#fff); background:rgba(255,255,255,.08); }
    [data-nav-layout="vertical"]:not([data-toggled="close-menu-close"]) .padel-sidebar-overlay-close:hover { background:rgba(255,255,255,.16); }
}
/* Consistent 35px controls in coach and tournament list toolbars. */
.coach-management-toolbar .customer-search,
.coach-management-toolbar .customer-search .input-group-text,
.coach-management-toolbar .customer-search .form-control,
.coach-management-toolbar .customer-status-wrap,
.coach-management-toolbar .customer-status-filter,
.coach-management-toolbar .customer-status-icon,
.coach-management-toolbar .customer-toolbar-button,
.tournament-management-toolbar .customer-search,
.tournament-management-toolbar .customer-search .input-group-text,
.tournament-management-toolbar .customer-search .form-control,
.tournament-management-toolbar .customer-status-wrap,
.tournament-management-toolbar .customer-status-filter,
.tournament-management-toolbar .customer-status-icon,
.tournament-management-toolbar .customer-toolbar-button { height:35px!important; min-height:35px!important; }
.users-add-button { align-items:center!important; justify-content:center!important; gap:.4rem; line-height:1!important; }
.users-add-button>i { display:block; margin:0!important; line-height:1!important; }
.users-add-button>span { display:block; line-height:1!important; }
@media(max-width:767.98px){.users-add-button>span{display:none!important}}
/* Keep calendar booking actions reachable on short laptop viewports. */
@media (min-width:768px) {
    .booking-editor-modal .modal-content { max-height:calc(100dvh - 2rem); overflow:hidden; }
    .booking-editor-modal .modal-content>form { display:flex; flex:1 1 auto; flex-direction:column; width:100%; min-height:0; max-height:calc(100dvh - 2rem); overflow:hidden; }
    .booking-editor-modal .modal-header,
    .booking-editor-modal .modal-footer { flex:0 0 auto; }
    .booking-editor-modal .modal-body { flex:1 1 auto; min-height:0; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
    .booking-editor-modal .modal-footer { position:relative; z-index:5; margin-top:0; background:var(--custom-white,#fff); box-shadow:0 -6px 18px rgba(15,38,64,.08); }
}
.padel-sidebar-mini-icon { display:none; }
@media (min-width:992px) {
    [data-vertical-style="closed"][data-toggled="close-menu-close"] .padel-sidebar-brand-image { display:none!important; }
    [data-vertical-style="closed"][data-toggled="close-menu-close"] .padel-sidebar-mini-icon { display:block; width:100%; height:100%; object-fit:contain; border-radius:.55rem; }
}
.page-metrics-toggle-wrap { display:none; }
@media(max-width:1360px) {
    .page-metrics-toggle-wrap { display:flex; justify-content:flex-end; margin:0 0 8px; }
    .page-metrics-toggle { display:inline-flex; height:30px; align-items:center; gap:5px; padding:0 9px; border:1px solid var(--default-border,#dfe6ed); border-radius:7px; color:#647487; background:var(--custom-white,#fff); font-size:11px; font-weight:700; }
    .page-metrics-toggle:hover { border-color:#845adf; color:#845adf; }
    .page-metrics-toggle .page-metrics-chevron { transition:transform .18s ease; }
    .page-metrics-toggle[aria-expanded="true"] .page-metrics-chevron { transform:rotate(180deg); }
    .page-metrics { display:none!important; }
    .page-metrics.is-open { display:flex!important; }
}
.customer-inline-metrics-toggle { display:none; }
@media(min-width:992px) and (max-width:1360px) {
    .customer-management-card { border:0!important; }
    .team-filter-card,
    .coach-filter-card,
    .tournament-filter-card { margin-bottom:0!important; border:0!important; }
    .customer-management-card>.customer-management-toolbar,
    .team-filter-card>.team-management-toolbar,
    .coach-filter-card>.coach-management-toolbar,
    .tournament-filter-card>.tournament-management-toolbar { padding:0!important; margin-bottom:10px; border:0!important; }
    .page-metrics-toggle-wrap { display:none!important; }
    .customer-toolbar-actions .mobile-inline-metrics-toggle,
    .customer-inline-metrics-toggle { display:inline-flex; order:99; width:35px; height:35px; min-height:35px; padding:0; flex:0 0 35px; align-items:center; justify-content:center; }
    .mobile-inline-metrics-toggle>span,
    .mobile-inline-metrics-toggle>.page-metrics-chevron { display:none!important; }
    .mobile-inline-metrics-toggle>i:first-child { margin:0!important; }
}
.mobile-inline-metrics-toggle { display:none; }
@media(max-width:767.98px) {
    .page-metrics-toggle-wrap { display:none!important; }
    .customer-toolbar-actions .mobile-inline-metrics-toggle { display:inline-grid!important; order:99; width:36px; height:38px!important; min-height:38px!important; padding:0; flex:0 0 36px; place-items:center; }
    .mobile-inline-metrics-toggle>span,
    .mobile-inline-metrics-toggle>.page-metrics-chevron { display:none!important; }
    .mobile-inline-metrics-toggle>i:first-child { margin:0!important; font-size:16px; line-height:1; }
}
/* Desktop bookings workspace: overview above, results with filter sidebar below. */
.booking-desktop-overview,.booking-desktop-layout{display:contents}
@media(min-width:768px){
    .booking-desktop-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:14px;margin-bottom:14px}
    .booking-overview-panel{display:flex;min-width:0;align-items:center;padding:12px 14px;border:1px solid var(--default-border);border-radius:10px;background:var(--custom-white)}
    .booking-overview-panel .booking-court-tabs{width:100%;margin:0;padding:2px 0}
    .booking-overview-shortcuts{justify-content:flex-end}
    .booking-overview-shortcuts .booking-day-navigation{width:100%;justify-content:flex-end;margin:0}
    .booking-desktop-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,350px);align-items:start;gap:16px}
    .booking-results-column{min-width:0}
    .booking-desktop-sidebar{min-width:0}
    .booking-desktop-sidebar .booking-filter-card{position:sticky;top:calc(var(--header-height,60px) + 12px);margin:0}
    .booking-desktop-sidebar .booking-list-filters{display:grid;grid-template-columns:minmax(0,1fr)!important;padding:16px!important;gap:10px}
    .booking-desktop-sidebar .booking-list-filters>*{grid-column:1!important;grid-row:auto!important;min-width:0;width:100%}
    .booking-desktop-sidebar .booking-recurring-filter{justify-content:flex-start}
}
@media(min-width:768px) and (max-width:1199.98px){.booking-desktop-layout{grid-template-columns:minmax(0,1fr) 300px}}
@media(max-width:767.98px){
    .booking-overview-panel{display:contents}
    .booking-results-column,.booking-desktop-sidebar{display:contents}
}
@media(min-width:768px){
    .court-editor-modal .court-slot-range{grid-template-columns:70px 96px 10px 96px;gap:6px}
    .court-editor-modal .court-slot-range input[type="time"]{width:96px}
    .court-editor-modal .court-slot-range .form-check-label{font-size:11px;white-space:nowrap}
}
.padel-sidebar-compact-toggle,.padel-header-compact-logo{display:none}
@media(min-width:992px) and (max-width:1360px){
    .padel-header-sidebar-toggle{display:none!important}
    .padel-header-page-icon>i{display:none!important}
    .padel-header-page-icon .padel-header-compact-logo{display:block;width:27px;height:27px;object-fit:contain;border-radius:6px}
    [data-vertical-style="closed"][data-toggled="close-menu-close"] .app-sidebar .padel-sidebar-brand-link{display:none!important}
    [data-vertical-style="closed"][data-toggled="close-menu-close"] .app-sidebar .padel-sidebar-compact-toggle{display:grid;width:40px;height:40px;padding:0;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:10px;color:var(--menu-prime-color,#fff);background:rgba(255,255,255,.08);font-size:21px}
    [data-vertical-style="closed"][data-toggled="close-menu-close"] .app-sidebar .padel-sidebar-compact-toggle:hover{background:rgba(255,255,255,.16)}
}
@media(min-width:992px) and (max-width:1360px){
    [data-nav-layout="vertical"]:not([data-toggled="close-menu-close"]) .padel-sidebar-overlay-close{position:absolute;inset-inline-end:.8rem;inset-block-start:auto;inset-block-end:.8rem;z-index:12;display:grid;width:2.35rem;height:2.35rem;padding:0;place-items:center;transform:none;border:1px solid rgba(3,41,79,.12);border-radius:.7rem;color:#03294f;background:#fff;box-shadow:0 5px 16px rgba(3,41,79,.22);font-size:18px}
    [data-nav-layout="vertical"]:not([data-toggled="close-menu-close"]) .padel-sidebar-overlay-close:hover{color:#03294f;background:#f4f7fa}
}
@media(max-width:767.98px){
    .booking-editor-modal .booking-editor-section[data-booking-section="players"] .choices.is-open{z-index:30}
    .booking-editor-modal .booking-editor-section[data-booking-section="players"] .choices__list--dropdown,
    .booking-editor-modal .booking-editor-section[data-booking-section="players"] .choices__list[aria-expanded]{z-index:31;max-height:220px;overflow:hidden}
    .booking-editor-modal .booking-editor-section[data-booking-section="players"] .choices__list--dropdown .choices__list,
    .booking-editor-modal .booking-editor-section[data-booking-section="players"] .choices__list[aria-expanded] .choices__list{max-height:170px;overflow-y:auto;overscroll-behavior:contain}
}
@media(max-width:767.98px){
    .booking-mobile-filter-bar{justify-content:flex-end}
    #openBookingFilters{position:fixed;inset-inline-start:16px;inset-block-end:calc(16px + env(safe-area-inset-bottom));z-index:1080;display:grid;width:52px;height:52px;padding:0;place-items:center;border:0;border-radius:50%;font-size:0;box-shadow:0 8px 24px rgba(124,58,237,.35)}
    #openBookingFilters i{margin:0!important;font-size:22px;line-height:1}
}
.booking-view-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.booking-view-grid>div{padding:14px;border:1px solid var(--default-border);border-radius:9px;background:var(--default-background)}.booking-view-grid small,.booking-view-grid strong{display:block}.booking-view-grid small{color:var(--text-muted);margin-bottom:4px}@media(max-width:575.98px){.booking-view-grid{grid-template-columns:1fr}}

.company-list-identity{display:flex;align-items:center;gap:12px;min-width:190px}.company-list-logo{display:grid;place-items:center;flex:0 0 52px;width:52px;height:42px;padding:6px;border:1px solid #e3e9f1;border-radius:9px;background:#fff;overflow:hidden}.company-list-logo img{display:block;width:100%;height:100%;object-fit:contain}.company-list-logo-fallback{color:#77869a;background:#f5f7fa;font-size:20px}

.video-card-thumb{position:relative;aspect-ratio:16/9;background:#071a36;overflow:hidden}.video-card-thumb>img{width:100%;height:100%;object-fit:cover}.video-card-placeholder{height:100%;display:grid;place-items:center;color:#8392aa;font-size:40px}.video-card-status{position:absolute;top:12px;left:12px;text-transform:capitalize}
