/* Purpose-built responsive behavior for administration, client portal and kiosk. */
.native-toast{position:fixed;z-index:5000;right:22px;top:22px;max-width:min(420px,calc(100vw - 32px));padding:14px 18px;border:1px solid var(--border-color);border-left:4px solid var(--accent);border-radius:12px;background:var(--card-bg);color:var(--text-primary);box-shadow:0 20px 60px rgba(0,0,0,.24);opacity:0;transform:translateY(-10px);transition:.24s ease}.native-toast.show{opacity:1;transform:none}.native-toast.error{border-left-color:#ff6b72}.native-toast.warning{border-left-color:#ffc15d}
.compact-table td,.compact-table th{padding-top:9px!important;padding-bottom:9px!important}
.generated-qr{display:inline-grid;padding:5px;border-radius:8px;background:#fff}.generated-qr img,.generated-qr canvas{display:block;width:68px!important;height:68px!important}.receipt-qr .generated-qr img,.receipt-qr .generated-qr canvas,.receipt-qr>img,.receipt-qr>canvas{width:104px!important;height:104px!important}
.search-loading,.search-empty{display:flex;align-items:center;gap:10px;padding:18px;color:var(--text-secondary)}.search-loading i{width:14px;height:14px;border:2px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}

@media (max-width:1280px){
  .dashboard-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-kpis .kpi-feature{grid-column:span 2}.main-analytics{grid-template-columns:minmax(0,1.65fr) minmax(310px,.8fr)}.operations-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-grid>article:last-child{grid-column:span 2}.manager-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.cms-workspace{grid-template-columns:minmax(360px,1fr) minmax(360px,.85fr)}.profile-summary{grid-template-columns:1.7fr repeat(3,1fr)}
}

@media (max-width:1050px){
  .admin-sidebar{transform:translateX(-105%);box-shadow:30px 0 70px rgba(0,0,0,.32)}.admin-sidebar.open{transform:translateX(0)}.sidebar-overlay{display:block;opacity:0;pointer-events:none;transition:opacity var(--transition)}.sidebar-overlay.open{opacity:1;pointer-events:auto}.admin-shell{margin-left:0}.mobile-drawer,[data-sidebar-close]{display:grid}.global-search{width:min(48vw,540px)}.dashboard-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-kpis .kpi-feature{grid-column:span 2}.main-analytics,.alerts-grid,.profile-grid,.portal-activity-grid,.progress-grid{grid-template-columns:1fr}.payment-panel{min-height:450px}.profile-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-summary .membership-highlight{grid-column:span 2}.cms-workspace,.settings-layout,.content-manager{grid-template-columns:1fr}.section-editor{position:static}.checkin-admin-grid{grid-template-columns:1fr 320px}.report-grid{grid-template-columns:1fr}.kiosk-content{width:min(780px,88vw)}
}

@media (max-width:780px){
  :root{--admin-gutter:16px}.admin-topbar{padding:10px 16px}.admin-main{padding:22px 16px 86px}.admin-footer{display:none}.topbar-actions .live-pill,.topbar-actions>a{display:none}.global-search{flex:1;width:auto}.global-search kbd{display:none}.page-heading{align-items:flex-start;gap:18px}.page-heading,.heading-actions{flex-direction:column}.heading-actions{width:100%;align-items:stretch}.heading-actions .admin-btn,.heading-actions>button{justify-content:center}.page-heading h1{font-size:clamp(2rem,10vw,3.1rem)}
  .dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-kpis .kpi-feature{grid-column:span 2}.kpi-card:not(.compact){min-height:180px}.dashboard-grid,.operations-grid{grid-template-columns:1fr}.operations-grid>article:last-child{grid-column:auto}.chart-summary,.manager-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.manager-kpis>div:last-child{grid-column:span 2}.manager-strip{padding:24px 18px}.manager-strip>header{align-items:flex-start;flex-direction:column}.panel{border-radius:18px}.panel-head{align-items:flex-start}.dashboard-heading .date-chip{display:none}
  .responsive-table{overflow:auto;-webkit-overflow-scrolling:touch}.admin-table{min-width:760px}.admin-table th,.admin-table td{white-space:nowrap}.table-toolbar{align-items:stretch;flex-direction:column}.table-search{width:100%}.table-search input{min-width:0}.pagination{align-items:flex-start;gap:12px;flex-direction:column}
  .form-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.form-grid>.span-3,.form-grid>.span-4,.form-grid>.span-6,.form-grid>.span-8{grid-column:span 12}.form-panel{padding:18px}.form-section-head{align-items:flex-start}.form-actions{align-items:stretch;flex-direction:column}.form-actions>div{display:grid;grid-template-columns:1fr 1fr}.form-actions .admin-btn{justify-content:center}.form-actions.sticky{bottom:66px}
  .profile-main{align-items:center;text-align:center;flex-direction:column}.profile-avatar{margin-top:-64px}.profile-identity>div,.profile-actions{justify-content:center}.profile-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.profile-actions .admin-btn:last-child{grid-column:span 2}.profile-summary{grid-template-columns:1fr}.profile-summary .membership-highlight{grid-column:auto}.profile-tabs{overflow:auto;scroll-snap-type:x proximity}.profile-tabs button{flex:0 0 auto;scroll-snap-align:start}.profile-details dl{grid-template-columns:1fr}.workout-summary{align-items:flex-start}.profile-tab-panels [data-tab-panel]{padding-top:16px}
  .checkin-admin-grid{grid-template-columns:1fr}.room-now{min-height:220px}.quick-checkin>form>div{grid-template-columns:auto 1fr}.quick-checkin>form button{grid-column:1/-1}.access-result>div{width:calc(100vw - 28px)}
  .cash-hero{align-items:flex-start;flex-direction:column}.finance-summary{grid-template-columns:1fr 1fr}.cash-summary{grid-template-columns:1fr 1fr}.modal{padding:12px}.modal-card{padding:22px 17px;max-height:calc(100vh - 24px);overflow:auto}
  .cms-tabs{overflow:auto;scroll-snap-type:x proximity}.cms-tabs a{flex:0 0 auto;scroll-snap-align:start}.section-list article{grid-template-columns:auto auto minmax(0,1fr) auto}.section-list article .status-badge{display:none}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.upload-meta{grid-template-columns:1fr}.content-rows article{grid-template-columns:minmax(0,1fr) auto auto}.content-rows article>.status-badge{display:none}.report-filters{grid-template-columns:1fr 1fr}.report-filters button{grid-column:span 2}.report-total{align-items:flex-start;flex-direction:column}.risk-grid{grid-template-columns:1fr}.notification-item{grid-template-columns:auto 1fr}.notification-item>div:last-child{grid-column:2;justify-self:start}
  .client-header nav{display:none}.client-header .client-container{padding-inline:16px}.client-main{padding-bottom:88px}.client-bottom-nav{display:grid}.client-hero{padding:38px 0 22px}.client-hero .client-container{align-items:flex-start;flex-direction:column}.client-container{padding-inline:16px}.portal-top{grid-template-columns:1fr}.portal-kpis{grid-template-columns:1fr 1fr}.digital-card{padding:20px;min-height:0}.digital-card>header{align-items:flex-start}.digital-qr{align-items:center}.workout-days summary{grid-template-columns:auto 1fr auto}.exercise-list article{grid-template-columns:auto minmax(0,1fr);gap:12px}.exercise-list article>div:nth-last-child(-n+3){padding-left:44px}.class-booking-grid{grid-template-columns:1fr}.membership-alert{align-items:flex-start;flex-wrap:wrap}.membership-alert>a{margin-left:48px}.portal-section-head{align-items:flex-start;flex-direction:column}
  .kiosk-shell{min-height:100dvh;padding:18px}.kiosk-shell>header{align-items:flex-start}.kiosk-shell>header .brand span small{display:none}.kiosk-content{width:100%;padding:36px 0}.kiosk-content h1{font-size:clamp(3.5rem,19vw,6rem)}.scan-pulse{width:150px;height:150px}.kiosk-input{grid-template-columns:auto 1fr}.kiosk-input button{grid-column:1/-1}.kiosk-shell>footer{align-items:flex-start;gap:14px;flex-direction:column}.kiosk-result>div{width:calc(100vw - 24px);padding:34px 22px}
}

@media (max-width:520px){
  .dashboard-kpis{grid-template-columns:1fr}.dashboard-kpis .kpi-feature{grid-column:auto}.kpi-card.compact{min-height:116px}.chart-summary,.manager-kpis,.finance-summary,.cash-summary{grid-template-columns:1fr}.manager-kpis>div:last-child{grid-column:auto}.payment-panel{min-height:400px}.global-search input::placeholder{font-size:0}.global-search input::after{content:'Buscar'}.topbar-actions{gap:5px}.top-icon{width:40px;height:40px}.admin-btn{min-height:46px}.form-actions>div{grid-template-columns:1fr}.media-grid{grid-template-columns:1fr}.report-filters{grid-template-columns:1fr}.report-filters button{grid-column:auto}.section-list article{grid-template-columns:auto auto minmax(0,1fr)}.section-list article>a{grid-column:3;justify-self:start}.profile-actions{grid-template-columns:1fr}.profile-actions .admin-btn:last-child{grid-column:auto}.portal-kpis{grid-template-columns:1fr}.digital-person{align-items:flex-start}.digital-avatar{width:58px;height:58px}.digital-qr{align-items:flex-start;flex-direction:column}.membership-alert>a{margin-left:0;width:100%;justify-content:center}.client-streak{width:100%}.client-streak>div{flex:1}.receipt-stage{margin-inline:-10px}.receipt{padding:20px 15px}.receipt-meta{grid-template-columns:1fr}.receipt footer{grid-template-columns:1fr;text-align:center}.receipt-qr{margin:auto}
}

@media (max-width:1100px){.workout-builder-layout{grid-template-columns:1fr}.workout-builder-sidebar{position:static;grid-template-columns:1fr 1fr}.workout-overview{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.workout-builder-sidebar{grid-template-columns:1fr}.inline-builder>form{grid-template-columns:1fr 1fr}.inline-builder>form .span-12{grid-column:span 2}.new-workout-day>form{grid-template-columns:1fr 1fr}.new-workout-day>form button{grid-column:span 2}.workout-day-card>header{align-items:flex-start}.workout-exercise-table{min-width:720px}}
@media (max-width:520px){.workout-overview{grid-template-columns:1fr}.inline-builder>form,.new-workout-day>form{grid-template-columns:1fr}.inline-builder>form .span-12,.new-workout-day>form button{grid-column:auto}.assignment-list>div{grid-template-columns:34px 1fr}.assignment-list .status-badge,.assignment-list form{grid-column:2;justify-self:start}}

@media print{.admin-sidebar,.admin-topbar,.admin-footer,.page-heading.no-print,.no-print,.client-header,.client-bottom-nav{display:none!important}.admin-shell{margin:0}.admin-main{padding:0}.receipt-stage{background:#fff;padding:0}.receipt{box-shadow:none;border:0;max-width:100%;color:#111;background:#fff}.receipt.thermal{width:80mm}.receipt *{color:#111!important}}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
