:root{--maka-red: #ef252c;--maka-red-dark: #b5121b;--maka-ink: #0b0b0d;--maka-carbon: #18181b;--maka-white: #f7f6f3;--maka-silver: #b8b8bd;--maka-mist: #eeecea;--status-success: #1f6b4c;--status-success-soft: #e7f3ed;color:#18181b;background:#f4f3f1;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}:focus-visible{outline:3px solid #f0b429;outline-offset:3px}.skip-link{position:absolute;top:12px;left:12px;z-index:20;min-height:44px;padding:12px 16px;border-radius:8px;background:#18181b;color:#f7f6f3;font-weight:800;transform:translateY(-140%)}.skip-link:focus{transform:translateY(0)}.login-shell,.app-shell{min-height:100vh;background:linear-gradient(180deg,#ef252c1f,#eeecea00 340px),#eeecea}.login-shell{display:grid;align-items:center;padding:18px}.login-layout,.workspace{width:min(1180px,100%);margin:0 auto}.login-layout{display:grid;gap:18px}.login-copy{padding:28px 0 8px}.brand-heading{display:flex;min-width:0;align-items:center;gap:12px}.brand-heading picture{display:grid;flex:0 0 auto}.brand-mark{display:block;width:62px;height:62px}.brand-heading .eyebrow{margin-bottom:3px}.brand-heading h1{line-height:.9}.brand-tagline{margin:7px 0 0;color:#66666b;font-size:.7rem;font-weight:900;text-transform:uppercase}.brand-heading-login{align-items:center;gap:18px}.brand-heading-login .brand-mark{width:108px;height:108px}.eyebrow{margin:0 0 8px;color:#66666b;font-size:.78rem;font-weight:800;text-transform:uppercase}h1,h2,h3{font-family:Avenir Next,Nunito Sans,Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:0}h1,h2,h3,p,button,span{overflow-wrap:anywhere}h1{max-width:820px;margin:0;color:#0b0b0d;font-size:2.65rem;line-height:1}h2{margin:0;color:#0b0b0d;font-size:1.35rem;line-height:1.15}h3{margin:0;color:#0b0b0d;font-size:1rem;line-height:1.25}.login-lede{max-width:640px;margin:18px 0 0;color:#3e3e43;font-size:1.06rem;line-height:1.6}.discipline-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.discipline-strip span,.location-badge,.spots,.course-access-badge,.booking-status{display:inline-flex;align-items:center;min-height:32px;padding:5px 10px;border-radius:8px;font-size:.84rem;font-weight:800}.discipline-strip span{background:#18181b;color:#f7f6f3}.login-card,.compact-panel,.course-card,.overview article,.notice,.loading-panel,.empty-state{border:1px solid rgba(11,11,13,.14);border-radius:8px;background:#f7f6f3f0;box-shadow:0 18px 42px #0b0b0d14}.login-card{display:grid;min-width:0;width:100%;gap:18px;padding:18px}.auth-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:5px;border:1px solid rgba(11,11,13,.12);border-radius:8px;background:#e7e5e2}.auth-switch button{min-width:0;min-height:44px;border:0;border-radius:7px;background:transparent;color:#3e3e43;font-weight:900;line-height:1;white-space:nowrap}.auth-switch button.is-selected{background:#18181b;color:#f7f6f3}.name-grid{display:grid;gap:12px}.two-factor-setup{display:grid;gap:12px;padding:13px;border:1px solid rgba(181,18,27,.22);border-radius:8px;background:#f2f0ed}.two-factor-setup p{margin:0;color:#4f4f54;line-height:1.5}.two-factor-setup .secondary-action{width:100%}.field{display:grid;min-width:0;gap:7px;color:#303034;font-weight:800}.field input,.field select{min-height:48px;width:100%;border:1px solid #8a8a90;border-radius:8px;background:#fff;color:#111113;padding:0 13px}.primary-action,.secondary-action,.icon-button,.status-link,.user-chip{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:8px;font-weight:900;line-height:1.1;text-decoration:none}.primary-action,.secondary-action,.icon-button,.status-link{transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.primary-action{border:1px solid #b5121b;background:#ef252c;color:#0b0b0d;padding:0 16px}.primary-action:hover,.secondary-action:hover,.icon-button:hover,.status-link:hover{transform:translateY(-1px)}.primary-action:disabled,.secondary-action:disabled{cursor:not-allowed;opacity:.68;transform:none}.secondary-action{border:1px solid rgba(11,11,13,.18);background:#fff;color:#b5121b;padding:0 13px}.secondary-action[aria-expanded=true]{border-color:#b5121b;background:#fdebec;color:#98141e}.icon-button{width:44px;height:44px;border:1px solid rgba(11,11,13,.16);background:#fff;color:#18181b}.mobile-alert-button{display:none}.primary-action svg,.secondary-action svg,.icon-button svg,.status-link svg,.user-chip svg,.admin-tabs svg,.notice svg,.section-icon svg,.section-title svg{width:18px;height:18px;flex:0 0 auto}.danger-action{border-color:#b5121b4d;color:#9d1720}.permanent-delete-action{border-color:#7f1118;background:#7f1118;color:#fff}.app-shell{padding:18px}.workspace{display:grid;align-content:start;gap:18px}.app-header{display:grid;gap:16px;padding:18px 0 4px}.header-actions{display:flex;flex-wrap:wrap;gap:8px}.status-link{border:1px solid rgba(11,11,13,.16);background:#18181b;color:#f7f6f3;padding:0 13px}.user-chip{max-width:100%;border:1px solid rgba(11,11,13,.12);background:#f2eded;color:#29292d;padding:0 12px}.user-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notice{display:flex;align-items:flex-start;gap:10px;padding:14px;font-weight:800;line-height:1.4}.notice-success{border-color:#1f6b4c52;background:var(--status-success-soft);color:#18583f}.notice-error{border-color:#b5121b52;background:#fff0f0;color:#8f1720}.overview{display:grid;grid-template-columns:1fr;gap:10px}.booking-focus{display:grid;gap:14px;padding:16px;border:1px solid rgba(11,11,13,.18);border-radius:8px;background:linear-gradient(135deg,rgba(239,37,44,.16),transparent 45%),#18181b;color:#f7f6f3;box-shadow:0 18px 42px #0b0b0d1f}.booking-focus h2{color:#f7f6f3}.booking-focus p{margin:6px 0 0;color:#d0cfd2;line-height:1.45}.booking-focus .eyebrow{color:#ff8d93}.booking-focus-action{display:grid;gap:10px;align-content:center}.booking-focus-action .primary-action{min-width:144px}.booking-focus-action span{width:fit-content;border-radius:8px;background:#f7f6f31a;color:#ffe1e3;padding:7px 10px;font-weight:900}.booking-focus-empty{grid-template-columns:minmax(0,1fr) auto;align-items:center;background:#18181b}.booking-focus-empty svg{width:32px;height:32px;color:#ef252c}.overview article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-height:72px;padding:15px}.overview svg{color:#b5121b}.overview span{color:#5a5a60;font-weight:800}.overview strong{color:#0b0b0d;font-size:1.2rem}.dashboard-grid{display:grid;gap:18px}.panel{min-width:0}.catalog-panel{display:grid;gap:16px}.compact-panel{display:grid;gap:14px;padding:16px}.section-heading,.section-title{display:flex;align-items:center;gap:12px}.section-icon,.section-title span{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:#18181b;color:#f7f6f3}.filters{display:grid;gap:10px;padding:12px;border:1px solid rgba(11,11,13,.12);border-radius:8px;background:#e7e5e2}.filter-trigger{display:none}.filter-panel{display:contents}.compact-field{min-width:0}.availability-toggle{display:flex;align-items:center;gap:10px;min-height:48px;color:#303034;font-weight:900}.availability-toggle input{width:22px;height:22px;accent-color:#b5121b}.quick-filters{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.quick-filters::-webkit-scrollbar{display:none}.quick-filters button{min-height:44px;flex:0 0 auto;border:1px solid rgba(11,11,13,.14);border-radius:999px;background:#fff;color:#3e3e43;padding:0 14px;font-weight:900;line-height:1;overflow-wrap:normal;white-space:nowrap}.quick-filters button.is-selected{border-color:#b5121b;background:#b5121b;color:#f7f6f3}.course-list,.side-stack,.booking-list{display:grid;gap:12px}.course-card{display:grid;gap:16px;padding:15px}.course-visual{position:relative;height:138px;min-height:138px;overflow:hidden;border-radius:8px;background:#18181b}.course-visual:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:linear-gradient(90deg,rgba(11,11,13,.4),transparent 60%)}.course-visual img{display:block;width:100%;height:100%;object-fit:cover}.course-visual-placeholder{display:grid;width:100%;height:100%;place-items:center;background:linear-gradient(135deg,rgba(239,37,44,.2),transparent 46%),#18181b;color:#ef7d82}.course-visual-placeholder svg{width:42px;height:42px}.course-visual-calisthenics img{object-position:center 34%}.course-visual span{position:absolute;top:12px;left:12px;z-index:2;min-height:30px;padding:6px 10px;border-radius:8px;background:#ef252c;color:#0b0b0d;font-size:.76rem;font-weight:950;text-transform:uppercase}.course-visual-pole img{object-position:center 42%}.course-visual-martial img{object-position:center 38%}.course-card-header{display:grid;gap:12px}.course-meta-row{display:flex;flex-wrap:wrap;gap:8px}.course-access-meta,.admin-course-flags{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.course-card h3{font-size:1.08rem}.course-card p,.muted,.empty-state p,.subscription-box p,.booking-item p{margin:6px 0 0;color:#66666b;line-height:1.5}.location-badge{width:fit-content;background:#f6e7e8;color:#b5121b}.location-badge svg{width:15px;height:15px;margin-right:5px}.course-access-badge{width:fit-content;background:#e4f3eb;color:#18583f}.session-booking-control{display:grid;gap:12px}.session-picker{display:grid;gap:7px;color:#303034;font-weight:900}.session-picker>span{display:inline-flex;align-items:center;gap:7px;font-size:.82rem}.session-picker svg,.session-booking-time svg{width:17px;height:17px;flex:0 0 auto}.session-picker select{min-height:48px;width:100%;border:1px solid rgba(11,11,13,.2);border-radius:8px;background:#fff;color:#18181b;padding:0 12px;font-weight:800}.session-booking-dock{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:12px;padding:12px;border:1px solid rgba(11,11,13,.12);border-radius:8px;background:#f2f0ed}.session-date-tile{display:grid;width:58px;height:70px;place-items:center;align-content:center;gap:2px;border-radius:7px;background:#18181b;color:#f7f6f3;font-variant-numeric:tabular-nums;line-height:1;text-transform:uppercase}.session-date-tile span,.session-date-tile small{font-size:.67rem;font-weight:900;overflow-wrap:normal;white-space:nowrap}.session-date-tile strong{color:#f7f6f3;font-size:1.32rem}.session-booking-details{display:grid;min-width:0;gap:4px}.session-booking-details>strong{color:#0b0b0d}.session-booking-time{display:inline-flex;align-items:center;gap:6px;color:#5a5a60;font-size:.92rem;font-weight:800;font-variant-numeric:tabular-nums}.session-availability{width:fit-content;color:#1f6b4c;font-size:.78rem;font-weight:900}.session-availability.is-full{color:#8f1720}.session-booking-dock>.primary-action,.session-booking-dock>.secondary-action{grid-column:1 / -1;width:100%;min-height:48px}.spots{width:fit-content;background:#fff;color:#b5121b}.spots.is-full{color:#8f1720}.subscription-box{display:grid;gap:7px;padding:14px;border-radius:8px;background:#18181b;color:#f7f6f3}.subscription-box span{color:#d6d5d8;font-weight:800}.subscription-box strong{font-size:1.25rem}.subscription-box p{color:#cfced1}.booking-item{display:grid;gap:12px;padding:12px;border:1px solid rgba(11,11,13,.12);border-radius:8px;background:#fff}.booking-status{margin-top:8px;background:var(--status-success-soft);color:#18583f;white-space:nowrap}.booking-status.cancelled{background:#eee9e7;color:#6b6262}.mobile-tabbar{display:none}.calendar-panel{display:grid;align-content:start;gap:16px;padding:16px;border:1px solid rgba(11,11,13,.14);border-radius:8px;background:#f7f6f3f0;box-shadow:0 18px 42px #0b0b0d14}.date-picker{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(62px,1fr);gap:6px;overflow-x:auto;padding:0 0 4px;scrollbar-width:thin}.date-picker button{display:grid;min-width:62px;min-height:68px;place-items:center;gap:2px;padding:7px 5px;border:1px solid rgba(11,11,13,.14);border-radius:8px;background:#f2f0ed;color:#5a5a60;font-size:.78rem;font-weight:900;line-height:1}.date-picker button span,.date-picker button small{overflow-wrap:normal;white-space:nowrap}.date-picker button strong{font-size:1.05rem}.date-picker button small{font-size:.68rem;font-weight:800;text-transform:uppercase}.date-picker button.is-selected{border-color:#b5121b;background:#b5121b;color:#f7f6f3}.calendar-agenda{display:grid;gap:8px}.calendar-entry{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:72px;padding:11px;border:1px solid rgba(11,11,13,.12);border-radius:8px;background:#fff}.calendar-entry time{color:#b5121b;font-size:1.05rem;font-weight:950}.calendar-entry p{margin:4px 0 0;color:#66666b}.calendar-entry .primary-action{min-width:110px}.calendar-capacity{display:inline-flex;align-items:center;gap:6px;color:#b5121b;font-weight:900}.calendar-capacity svg{width:17px;height:17px}.calendar-entry-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.attendee-toggle{min-width:132px;white-space:nowrap}.attendee-toggle svg{transition:transform .16s ease}.attendee-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.attendee-panel{display:grid;grid-column:1 / -1;gap:10px;min-width:0;padding-top:12px;border-top:1px solid rgba(11,11,13,.12)}.attendee-panel>p,.attendee-error p{margin:0}.attendee-summary,.attendee-error{display:flex;align-items:center;justify-content:space-between;gap:12px}.attendee-summary span{color:#66666b;font-weight:800}.attendee-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.attendee-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;border-top:1px solid rgba(11,11,13,.08)}.attendee-list li>div{display:grid;min-width:0;gap:3px}.attendee-list li>div span{overflow-wrap:anywhere;color:#66666b;font-size:.86rem}.attendee-list .booking-status{margin:0}.booking-status.waitlisted{background:#fff0cf;color:#684a06}.booking-lock-message{color:#98141e;font-weight:850}.backoffice-shell{min-height:100vh;padding:18px;background:linear-gradient(180deg,#ef252c1f,#eeecea00 340px),#eeecea}.backoffice-workspace{display:grid;align-content:start;gap:18px;width:min(1280px,100%);margin:0 auto}.backoffice-layout,.backoffice-content{display:grid;min-width:0;gap:18px}.backoffice-header{display:grid;gap:16px;padding:18px 0 4px}.admin-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.admin-tabs::-webkit-scrollbar{display:none}.admin-tab-label-mobile{display:none}.admin-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;flex:0 0 auto;border:1px solid rgba(11,11,13,.14);border-radius:999px;background:#fff;color:#3e3e43;padding:0 15px;font-weight:900;line-height:1;overflow-wrap:normal;white-space:nowrap}.admin-tabs svg{width:18px;height:18px}.admin-tabs button[aria-current=page]{border-color:#18181b;background:#18181b;color:#f7f6f3}.admin-action-strip{display:flex;flex-wrap:wrap;gap:10px;padding:12px;border:1px solid rgba(11,11,13,.12);border-radius:8px;background:#f7f6f3b8}.admin-overview{display:grid;grid-template-columns:1fr;gap:10px}.admin-overview article,.admin-panel{border:1px solid rgba(11,11,13,.14);border-radius:8px;background:#f7f6f3f0;box-shadow:0 18px 42px #0b0b0d14}.admin-overview article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-height:74px;padding:15px}.admin-overview svg{width:20px;height:20px;color:#b5121b}.admin-overview span{color:#5a5a60;font-weight:800}.admin-overview strong{color:#0b0b0d;font-size:1.3rem}.backoffice-grid{display:grid;gap:18px}.admin-page-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:4px 2px}.admin-page-heading span{color:#66666b;font-size:.86rem;font-weight:700;text-align:right}.admin-panel{display:grid;gap:16px;align-content:start;padding:16px}.admin-form,.admin-toolbar{display:grid;gap:12px}.discipline-control{display:grid;grid-column:1 / -1;gap:8px}.discipline-create-trigger{width:100%}.discipline-create-row{display:grid;grid-column:1 / -1;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;padding:12px;border-left:4px solid #b5121b;background:#f2f0ed}.discipline-create-row .field{grid-column:1 / -1}.discipline-create-row .primary-action{width:100%}.admin-list{display:grid;gap:10px}.admin-list-item{display:grid;gap:12px;padding:12px;border:1px solid rgba(11,11,13,.12);border-radius:8px;background:#fff}.admin-course-item{align-items:start}.admin-course-body{min-width:0}.admin-course-item>.course-visual{width:100%;min-height:150px}.image-upload-action{position:relative;width:fit-content;margin-top:10px;cursor:pointer}.image-upload-action input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.file-field input{min-height:48px;padding:9px}.course-access-toggle{display:flex;grid-column:1 / -1;min-height:64px;align-items:center;gap:12px;padding:10px 12px;border:1px solid rgba(11,11,13,.14);border-radius:8px;background:#fff;color:#303034}.course-access-toggle input,.schedule-mode-selector input{width:22px;height:22px;flex:0 0 auto;accent-color:#b5121b}.course-access-toggle>span{display:grid;gap:3px}.course-access-toggle strong{font-size:.9rem}.course-access-toggle small{color:#66666b;line-height:1.35}.schedule-form,.course-session-admin-list{display:grid;grid-column:1 / -1;gap:12px}.schedule-form{padding:14px;border:1px solid rgba(181,18,27,.2);border-radius:8px;background:#f2f0ed}.schedule-mode-selector{display:grid;gap:8px;margin:0;padding:0;border:0}.schedule-mode-selector legend{margin-bottom:8px;color:#303034;font-weight:900}.schedule-mode-selector>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.schedule-mode-selector label{display:flex;min-height:48px;align-items:center;gap:9px;padding:8px 11px;border:1px solid rgba(11,11,13,.14);border-radius:8px;background:#fff;color:#3e3e43;font-weight:800}.schedule-mode-selector label:has(input:checked){border-color:#b5121b;background:#fdebec;color:#98141e}.single-date-field{width:min(100%,360px)}.weekday-checkboxes{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;border:0}.weekday-checkboxes legend{width:100%;margin-bottom:8px;color:#303034;font-weight:900}.weekday-checkboxes label{display:inline-flex;align-items:center;min-height:44px;border:1px solid rgba(11,11,13,.14);border-radius:8px;background:#fff;padding:0 11px;color:#3e3e43;font-weight:800}.weekday-checkboxes label:has(input:checked){border-color:#b5121b;background:#fdebec;color:#98141e}.weekday-checkboxes input{width:20px;height:20px;margin:0 7px 0 0;accent-color:#b5121b}.schedule-fields,.session-edit-fields{display:grid;gap:10px}.course-session-admin{display:grid;gap:12px;padding:12px;border-left:4px solid #ef252c;border-radius:6px;background:#f2eded}.course-session-admin>div:first-child{display:grid;gap:4px}.course-session-admin>div:first-child span{color:#66666b;font-size:.9rem}.course-session-admin>div:first-child small{width:fit-content;color:#8f1720;font-weight:900}.schedule-empty-state{margin:0}.admin-list-item p{margin:6px 0 0;color:#66666b;line-height:1.45}.admin-list-item .membership-state{color:#18583f;font-weight:900}.admin-list-item .expired-membership{color:#8f1720}.admin-status{display:inline-flex;width:fit-content;min-height:30px;margin-top:8px;align-items:center;border-radius:8px;background:#fdebec;color:#98141e;padding:4px 9px;font-size:.78rem;font-weight:900}.role-status{margin-left:6px}.muted-status{background:#eee9e7;color:#6b6262}.open-course-status{background:#e4f3eb;color:#18583f}.admin-row-actions{display:flex;flex-wrap:wrap;gap:8px}.destructive-confirmation{display:grid;grid-column:1 / -1;gap:12px;padding:14px;border:1px solid rgba(181,18,27,.38);border-radius:8px;background:#fff3f3}.destructive-confirmation strong{color:#7f1118}.destructive-confirmation p{margin:5px 0 0;color:#5f3033}.destructive-confirmation-actions{display:flex;flex-wrap:wrap;gap:8px}.inline-edit-grid{display:grid;gap:10px;margin-top:12px;padding:12px;border:1px solid rgba(11,11,13,.1);border-radius:8px;background:#f2f0edbd}.user-edit-heading{display:grid;grid-column:1 / -1;gap:3px;padding-bottom:8px;border-bottom:1px solid rgba(11,11,13,.1)}.user-edit-heading strong{color:#202024}.user-section-action{grid-column:1 / -1;width:100%}.performance-list{display:grid;gap:10px}.performance-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid rgba(11,11,13,.12);border-radius:8px;background:#fff}.performance-item p{margin:6px 0 0;color:#66666b}.performance-item strong{display:grid;place-items:center;min-width:46px;min-height:46px;border-radius:8px;background:#18181b;color:#f7f6f3;font-size:1.4rem}.performance-track{width:min(240px,100%);height:5px;overflow:hidden;margin-top:10px;border-radius:999px;background:#dfdcda}.performance-track span{display:block;height:100%;border-radius:inherit;background:#ef252c}.admin-table{display:grid;overflow-x:auto;border:1px solid rgba(11,11,13,.12);border-radius:8px}.admin-table-row{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(120px,.7fr) minmax(100px,.5fr);min-width:520px}.admin-table-row span{padding:12px;border-bottom:1px solid rgba(11,11,13,.08)}.admin-table-row:last-child span{border-bottom:0}.admin-table-head{background:#e7e5e2;color:#5a5a60;font-size:.78rem;font-weight:900;text-transform:uppercase}.loading-panel,.empty-state{display:grid;justify-items:start;gap:10px;padding:20px}.loader{width:30px;height:30px;border:4px solid #c8c5c3;border-top-color:#b5121b;border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width: 619px){:root{color:#f7f6f3;background:#0b0b0d}body{background:#0b0b0d}h1,h2,h3{color:#f7f6f3}.login-shell,.app-shell,.backoffice-shell{background:#0b0b0d}.login-shell{padding:18px}.login-layout{min-width:0}.login-copy .eyebrow,.login-lede{color:#b8b8bd}.brand-mark{width:48px;height:48px}.brand-heading-login{gap:12px}.brand-heading-login .brand-mark{width:74px;height:74px}.brand-heading-login h1{font-size:2.7rem}.brand-tagline{max-width:180px;color:#b8b8bd;font-size:.62rem;line-height:1.2}.login-card .brand-tagline{color:#66666b}.login-card h2{color:#0b0b0d}.login-card .eyebrow{color:#66666b}.login-card .field{color:#303034}.app-shell,.backoffice-shell{padding:0}.workspace,.backoffice-workspace{width:min(100%,480px);min-height:100vh;padding:14px 14px 94px;gap:16px;background:#101012;box-shadow:0 0 0 1px #ef252c33}.app-header,.backoffice-header{position:sticky;top:0;z-index:5;grid-template-columns:1fr auto;align-items:center;gap:14px;margin:-14px -14px 0;padding:18px 14px 14px;border-bottom:1px solid rgba(255,141,147,.1);background:#0b0b0df0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-header .eyebrow,.backoffice-header .eyebrow{color:#aaa9ae;font-size:.7rem}.app-header h1,.backoffice-header h1{max-width:220px;font-size:1.42rem;line-height:1.05}.header-actions{justify-content:flex-end;flex-wrap:nowrap}.status-link{display:none}.mobile-alert-button{display:inline-flex}.user-chip{width:44px;padding:0;border-color:#ef252c38;background:#18181b;color:#ef252c}.user-chip span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.icon-button{border-color:#ef252c38;background:#18181b;color:#f7f6f3}.notice,.loading-panel,.empty-state,.booking-focus,.compact-panel,.admin-panel,.admin-action-strip,.course-card,.overview article,.admin-overview article,.performance-item,.admin-list-item,.booking-item{border-color:#b5121b66;background:#18181b;box-shadow:none}.booking-focus{grid-template-columns:minmax(0,1fr) auto;align-items:end;margin:0;padding:14px;border-color:#ef252c47;background:linear-gradient(135deg,rgba(239,37,44,.18),transparent 48%),#18181b}.booking-focus-action{min-width:112px;justify-items:end}.booking-focus-action .primary-action{width:auto;white-space:nowrap}.notice-success{border-color:#4fc08b52;background:#172b23;color:#d8f7e8}.notice-error{background:#351416;color:#ffe8e9}.overview,.admin-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;overflow:visible;margin:0;padding:0}.overview article,.admin-overview article{grid-template-columns:1fr;min-width:0;min-height:104px;align-content:space-between;gap:5px;padding:10px}.overview article svg,.admin-overview article svg{width:18px;height:18px}.overview svg,.admin-overview svg{color:#ef252c}.overview span,.admin-overview span,.course-card p,.admin-list-item p,.performance-item p,.muted,.empty-state p,.subscription-box p,.booking-item p,.session-booking-time{color:#a8a8ad}.overview article>span,.admin-overview article>span{font-size:.7rem;line-height:1.15}.overview strong,.admin-overview strong,.performance-item strong{color:#f7f6f3;font-size:1.1rem;line-height:1.05}.admin-tabs{position:fixed;right:0;bottom:0;left:0;z-index:10;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:min(100%,480px);margin:0 auto;padding:9px 8px calc(9px + env(safe-area-inset-bottom));overflow:visible;border-top:1px solid rgba(255,141,147,.12);background:#0b0b0df5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.admin-tabs[data-tab-count="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-tabs button{display:grid;min-width:0;min-height:54px;place-items:center;gap:4px;border:0;border-radius:8px;background:transparent;color:#77777d;padding:0 2px;font-size:.68rem}.admin-tabs button[aria-current=page]{background:transparent;color:#ef252c;box-shadow:inset 0 3px #ef252c}.admin-tab-label-full{display:none}.admin-tab-label-mobile{display:inline;overflow-wrap:normal;white-space:nowrap}.admin-panel,.admin-panel-wide{padding:16px}.admin-status{background:#29292e;color:#ffd8da}.inline-edit-grid{border-color:#ef252c1f;background:#111113}.muted-status{background:#3a2f1d;color:#efd89d}.open-course-status,.course-access-badge{background:#173326;color:#bdebd4}.admin-list-item .membership-state{color:#bdebd4}.admin-list-item .expired-membership{color:#ffbfc2}.admin-table{border-color:#ef252c24}.admin-table-head{background:#111113;color:#b8b8bd}.admin-table-row span{border-bottom-color:#ef252c1a}.dashboard-grid{display:block}.catalog-panel,.side-stack{gap:16px}.mobile-view-courses .side-stack,.mobile-view-courses .user-calendar,.mobile-view-calendar .booking-focus,.mobile-view-calendar .dashboard-grid,.mobile-view-bookings .user-calendar,.mobile-view-bookings .booking-focus,.mobile-view-bookings .catalog-panel,.mobile-view-bookings .subscription-panel,.mobile-view-profile .booking-focus,.mobile-view-profile .user-calendar,.mobile-view-profile .catalog-panel,.mobile-view-profile .bookings-panel{display:none}.mobile-view-bookings .side-stack,.mobile-view-profile .side-stack,.mobile-view-profile .subscription-panel{display:grid}.calendar-panel{border-color:#b5121b66;background:#18181b;box-shadow:none}.date-picker{grid-auto-flow:column;grid-auto-columns:64px;gap:6px;margin-right:0;padding-right:0;overflow-x:auto}.date-picker button{border-color:#ef252c1f;background:#111113;color:#a8a8ad}.date-picker button.is-selected{border-color:#ef252c;background:#ef252c;color:#0b0b0d}.calendar-entry{grid-template-columns:52px minmax(0,1fr);border-color:#ef252c24;background:#111113}.calendar-entry time,.calendar-capacity{color:#ef252c}.calendar-entry p{color:#a8a8ad}.calendar-entry .primary-action,.calendar-entry .calendar-capacity{grid-column:1 / -1;width:100%}.calendar-entry-actions{display:grid;grid-column:1 / -1;grid-template-columns:minmax(0,1fr) auto;width:100%}.calendar-entry-actions .calendar-capacity{grid-column:auto}.attendee-panel{border-top-color:#ef252c29}.attendee-summary span,.attendee-list li>div span{color:#a8a8ad}.attendee-list li{grid-template-columns:minmax(0,1fr);gap:8px;padding:10px 0;border-top-color:#ef252c1f}.attendee-list .booking-status{justify-self:start}.attendee-list .booking-status{background:#173326;color:#bdebd4}.attendee-list .booking-status.waitlisted{background:#3a2f1d;color:#efd89d}.booking-lock-message{color:#ffbfc2!important}.booking-focus.is-booking-locked{grid-template-columns:minmax(0,1fr);align-items:stretch}.is-booking-locked .booking-focus-action{width:100%;justify-items:stretch}.is-booking-locked .booking-focus-action .primary-action{width:100%}.admin-course-item>.course-visual{min-height:132px}.schedule-form{border-color:#ef252c29;background:#111113}.course-access-toggle{border-color:#ef252c29;background:#111113;color:#f7f6f3}.course-access-toggle small{color:#a8a8ad}.schedule-mode-selector legend{color:#ffd8da}.schedule-mode-selector label{border-color:#ef252c24;background:#18181b;color:#ffd8da}.schedule-mode-selector label:has(input:checked){border-color:#ef252c;background:#ef252c;color:#0b0b0d}.weekday-checkboxes legend{color:#ffd8da}.weekday-checkboxes label{border-color:#ef252c24;background:#18181b;color:#ffd8da}.weekday-checkboxes label:has(input:checked){border-color:#ef252c;background:#ef252c;color:#0b0b0d}.course-session-admin{border-left-color:#ef252c;background:#111113}.course-session-admin>div:first-child span{color:#a8a8ad}.course-session-admin>div:first-child small{color:#ffbfc2}.section-heading{justify-content:space-between;min-height:48px;padding-right:108px}.section-heading .eyebrow,.section-title+.muted,.field{color:#b8b8bd}.section-icon,.section-title span{background:#18181b;color:#ef252c}.filters{margin-right:0;padding:0;border:0;background:transparent}.filter-trigger{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;min-width:104px;width:fit-content;border:1px solid rgba(239,37,44,.18);border-radius:999px;background:#ef252c;color:#0b0b0d;padding:0 16px;font-weight:950;line-height:1;white-space:nowrap}.catalog-panel{position:relative}.catalog-panel>.filters>.filter-trigger{position:absolute;top:0;right:0}.filter-trigger svg{width:18px;height:18px}.filter-trigger[aria-expanded=true]{border-color:#b5121b;background:#b5121b;color:#f7f6f3}.filter-panel{display:none;gap:12px;padding:12px;border:1px solid rgba(239,37,44,.16);border-radius:8px;background:#111113}.filters-open .filter-panel{display:grid}.quick-filters{margin-right:-14px;padding-right:14px}.filters-open .quick-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-right:0;padding-right:0;overflow:visible}.filters-open .quick-filters button{width:100%;min-width:0}.filters-open .quick-filters button:last-child:nth-child(odd){grid-column:1 / -1}.quick-filters button{min-height:44px;border-color:#ef252c14;background:#18181b;color:#b8b8bd}.quick-filters button.is-selected{border-color:#ef252c;background:#ef252c;color:#0b0b0d}.compact-field{display:none}.filters-open .compact-field{display:grid}.filters-open .field select{border-color:#ef252c47;background:#0d0d0f;color:#f7f6f3}.availability-toggle{min-height:44px;width:fit-content;padding:0 13px;border-radius:999px;background:#18181b;color:#ffd8da}.availability-toggle input{accent-color:#ef252c}.course-list{gap:18px}.course-card{overflow:hidden;padding:0;border-color:#ef252c2e;background:#18181b}.course-visual{height:146px;min-height:146px;border-radius:0}.course-card-header{padding:0 16px}.course-meta-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.course-meta-row .spots{justify-self:end;text-align:center}.course-card h3{font-size:1.35rem}.location-badge,.spots,.booking-status{background:#29292e;color:#ffd8da}.booking-status:not(.cancelled){background:#17382b;color:#bcebd4}.performance-item strong{background:#29292e;color:#ffd8da}.session-booking-control{padding:0 16px 16px}.session-picker{color:#b8b8bd}.session-picker select{border-color:#ef252c3d;background:#0d0d0f;color:#f7f6f3}.session-booking-dock{border:1px solid rgba(239,37,44,.16);background:#111113}.session-date-tile{background:#ef252c;color:#0b0b0d}.session-booking-details>strong{color:#f7f6f3}.session-date-tile strong{color:#0b0b0d}.session-availability{color:#7bd4aa}.session-availability.is-full{color:#ff9ca1}.admin-page-heading{display:grid;align-items:start;gap:6px}.admin-page-heading span{color:#a8a8ad;text-align:left}.admin-page-heading .eyebrow{color:#aaa9ae}.admin-row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-row-actions>button,.admin-row-actions>.secondary-action{width:100%}.admin-row-actions .secondary-action:last-child:nth-child(odd){grid-column:1 / -1}.user-edit-action,.location-primary-action{grid-column:1 / -1}.location-actions .secondary-action:last-child:nth-child(odd){grid-column:auto}.discipline-create-row{border-color:#ef252c;background:#29292e}.permanent-delete-trigger{grid-column:1 / -1}.destructive-confirmation{border-color:#ef252c6b;background:#351416}.destructive-confirmation strong{color:#ffe8e9}.destructive-confirmation p{color:#ffc8cb}.destructive-confirmation-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.destructive-confirmation-actions button{width:100%}.admin-form>.primary-action,.schedule-form>.primary-action,.session-edit-fields>.primary-action{width:100%}.danger-action{border-color:#ef252c5c;color:#ffd3d5}.primary-action{border-color:#ef252c;background:#ef252c;color:#0b0b0d}.secondary-action{border-color:#ef252c2e;background:#29292e;color:#ffd8da}.secondary-action[aria-expanded=true]{border-color:#ef252c;background:#ef252c;color:#0b0b0d}.subscription-box{background:linear-gradient(135deg,rgba(239,37,44,.18),transparent 48%),#111113}.booking-item{border-color:#ef252c24;background:#111113}.mobile-tabbar{position:fixed;right:0;bottom:0;left:0;z-index:10;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:min(100%,480px);margin:0 auto;padding:9px 12px calc(9px + env(safe-area-inset-bottom));border-top:1px solid rgba(255,141,147,.12);background:#0b0b0df5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-tabbar button{display:grid;place-items:center;gap:4px;min-height:54px;border:0;border-radius:8px;background:transparent;color:#77777d;font-size:.72rem;font-weight:900;line-height:1;overflow-wrap:normal}.mobile-tabbar button[aria-current=page]{color:#ef252c}.mobile-tabbar svg{width:20px;height:20px}.mobile-tabbar button span{overflow-wrap:normal;white-space:nowrap}}@media (max-width: 340px){.booking-focus{grid-template-columns:minmax(0,1fr);align-items:stretch}.booking-focus-action{grid-template-columns:auto minmax(0,1fr);min-width:0;align-items:center;justify-items:stretch}.booking-focus-action span{font-size:.78rem;white-space:nowrap}.booking-focus-action .primary-action{width:100%;min-width:0;gap:5px;padding:0 8px;font-size:.82rem}.is-booking-locked .booking-focus-action{grid-template-columns:minmax(0,1fr)}.schedule-mode-selector>div{grid-template-columns:minmax(0,1fr)}}@media (min-width: 620px){.login-copy h1{font-size:3.55rem}.app-header h1,.backoffice-header h1{font-size:2.15rem;line-height:1.05}.login-shell,.app-shell,.login-card{padding:24px}.name-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-focus{grid-template-columns:minmax(0,1fr) auto;align-items:center}.booking-focus-action{justify-items:end}.course-visual{height:150px;min-height:150px}.admin-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.filters{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.availability-toggle{grid-column:1 / -1}.booking-item,.admin-list-item{grid-template-columns:minmax(0,1fr) auto;align-items:center}.session-booking-dock{grid-template-columns:64px minmax(0,1fr) auto}.session-date-tile{width:64px}.session-booking-dock>.primary-action,.session-booking-dock>.secondary-action{grid-column:auto;width:auto;min-width:150px}.admin-list-item.is-editing{grid-template-columns:minmax(0,1fr)}.admin-list-item.is-editing>.admin-row-actions{justify-self:end}.inline-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-user-item,.admin-location-item{grid-template-columns:minmax(0,1fr)}.admin-location-item>.location-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-self:stretch}.admin-location-item .location-primary-action{grid-column:1 / -1}.admin-user-item>.admin-user-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-self:stretch}.admin-user-item .user-edit-action{grid-column:1 / -1}.admin-user-item.is-editing>.admin-user-actions{display:flex;justify-self:end}.user-section-action{width:fit-content;min-width:220px;justify-self:end}.schedule-fields,.session-edit-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-course-item{grid-template-columns:minmax(180px,230px) minmax(0,1fr)}.admin-course-item>.admin-row-actions,.admin-course-item>.destructive-confirmation,.admin-course-item>.schedule-form,.admin-course-item>.course-session-admin-list{grid-column:1 / -1}.destructive-confirmation{grid-template-columns:minmax(0,1fr) auto;align-items:center}.destructive-confirmation-actions{flex-wrap:nowrap}.permanent-delete-trigger{grid-column:auto}}@media (min-width: 900px){.login-copy h1{font-size:4.4rem}.login-layout{grid-template-columns:minmax(0,1.05fr) minmax(360px,.72fr);align-items:center}.login-copy{padding:48px 0}.app-header{grid-template-columns:minmax(0,1fr) auto;align-items:center}.backoffice-header{grid-template-columns:minmax(0,1fr) auto;align-items:start}.dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(320px,380px);align-items:start}.side-stack{position:sticky;top:24px}.backoffice-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.admin-panel-wide{grid-column:1 / -1}.admin-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.admin-user-item>.admin-user-actions{grid-template-columns:minmax(220px,1.4fr) repeat(2,minmax(160px,1fr))}.admin-user-item .user-edit-action{grid-column:auto}.admin-location-item>.location-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-location-item .location-primary-action{grid-column:auto}.discipline-control{grid-template-columns:minmax(0,1fr) auto;align-items:end}.discipline-create-trigger{width:auto}.discipline-create-row{grid-template-columns:minmax(0,1fr) auto 44px}.discipline-create-row .field{grid-column:auto}.discipline-create-row .primary-action{width:auto}.admin-form>.primary-action,.schedule-form>.primary-action,.session-edit-fields>.primary-action{grid-column:1 / -1;width:auto;min-width:210px;justify-self:end}.admin-row-actions{justify-content:flex-end}.admin-row-actions>.secondary-action{min-width:116px}.admin-toolbar{grid-template-columns:minmax(220px,1fr) minmax(180px,.6fr)}.filters{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto}.availability-toggle{grid-column:auto}.course-card-header{grid-template-columns:minmax(0,1fr) auto;align-items:start}}@media (min-width: 1040px){.backoffice-layout{grid-template-columns:210px minmax(0,1fr);align-items:start;gap:24px}.admin-tabs{position:sticky;top:24px;display:grid;gap:6px;overflow:visible;padding:10px;border-radius:8px;background:#18181b}.admin-tabs button{width:100%;justify-content:flex-start;border-color:transparent;border-radius:7px;background:transparent;color:#c6c5c8}.admin-tabs button[aria-current=page]{border-color:#ef252c;background:#ef252c;color:#0b0b0d}}@media (min-width: 1200px){.workspace{width:min(1320px,100%)}.course-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.course-card-header{grid-template-columns:minmax(0,1fr)}}@media (hover: none){.primary-action:hover,.secondary-action:hover,.icon-button:hover,.status-link:hover{transform:none}}
