@import "https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:ital,wght@0,400;0,500;0,600;0,700&family=JetBrains+Mono:wght@400;500&display=swap";.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:12px;display:flex;position:fixed;top:24px;right:24px}.toast{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);pointer-events:auto;align-items:flex-start;gap:12px;min-width:300px;max-width:400px;padding:16px;animation:.3s cubic-bezier(.16,1,.3,1) toast-slide-in;display:flex;box-shadow:0 10px 30px #0000001a}.toast--info{border-left:4px solid var(--color-info)}.toast--success{border-left:4px solid var(--color-success)}.toast--warning{border-left:4px solid var(--color-warning)}.toast--error{border-left:4px solid var(--color-danger)}.toast__icon{flex-shrink:0;align-items:center;display:flex}.toast--info .toast__icon{color:var(--color-info)}.toast--success .toast__icon{color:var(--color-success)}.toast--warning .toast__icon{color:var(--color-warning)}.toast--error .toast__icon{color:var(--color-danger)}.toast__message{color:var(--color-text);overflow-wrap:anywhere;flex:1;margin:0;font-size:14px;line-height:1.5}.toast__close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px;display:flex}.toast__close:hover{background:var(--color-surface-muted);color:var(--color-text)}@keyframes toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@media (width<=767px){.toast-container{top:max(16px, env(safe-area-inset-top));width:calc(100% - 32px);max-width:400px;left:50%;right:auto;transform:translate(-50%)}.toast{width:100%;min-width:0}}.button{border-radius:var(--radius-control);cursor:pointer;font:inherit;align-items:center;gap:var(--space-8);letter-spacing:-.01em;white-space:nowrap;border:1px solid #0000;justify-content:center;font-weight:600;line-height:1;transition:background-color .15s,border-color .15s,box-shadow .15s,color .15s,opacity .15s,transform .12s;display:inline-flex}.button:disabled{cursor:not-allowed;opacity:.5}.button:not(:disabled):hover{transform:translateY(-1px)}.button:not(:disabled):active{transform:scale(.98)}.button>span{align-items:center;gap:var(--space-8);display:inline-flex}.button--sm{height:var(--control-height-sm);padding:0 12px;font-size:12px}.button--md{height:36px;padding:0 16px;font-size:13px}.button--lg{height:var(--control-height-lg);padding:0 20px;font-size:14px}.button--primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-button-primary);border-color:#0000001a}.button--primary:not(:disabled):hover{background:var(--color-primary-hover)}.button--accent{background:var(--color-accent);color:#fff;box-shadow:var(--shadow-button-accent);border-color:#00000014}.button--accent:not(:disabled):hover{background:var(--color-accent-hover)}.button--secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text);box-shadow:var(--shadow-control)}.button--secondary:not(:disabled):hover{background:var(--color-surface-muted)}.button--ghost{color:var(--color-text-secondary);background:0 0}.button--ghost:not(:disabled):hover{background:var(--color-surface-muted);color:var(--color-text)}.button--danger{background:var(--color-danger);color:#fff;border-color:#00000014}.button--danger:not(:disabled):hover{background:var(--color-danger-hover)}.button--outline{color:var(--color-primary);background:0 0;border-color:#bfdbfe}.button--outline:not(:disabled):hover{background:#eff6ff}.button__spinner{border:2px solid;border-top-color:#0000;border-radius:999px;width:13px;height:13px;animation:.7s linear infinite button-spin}@keyframes button-spin{to{transform:rotate(360deg)}}@media (width<=767px){.button{min-height:44px}}.button--primary>span{color:#fff!important}.auth-layout{background:var(--color-sidebar);grid-template-columns:minmax(0,1fr) 440px;min-height:100vh;display:grid}.field small{color:var(--color-text-secondary);font-size:11px}.field select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control);height:40px;padding:0 12px}.dashboard-home{gap:var(--space-24);display:grid}.dashboard-home header p{color:var(--color-primary);text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.dashboard-home h1{margin:var(--space-4) 0 0;font-size:26px}.dashboard-kpis{gap:var(--space-16);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.dashboard-kpis article,.dashboard-actions{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-control);padding:var(--space-20)}.dashboard-kpis span{color:var(--color-text-secondary);font-size:12px;display:block}.dashboard-kpis strong{margin-top:var(--space-8);font-size:26px;line-height:1.15;display:block}.dashboard-actions h2{margin:0 0 var(--space-16);font-size:18px}.dashboard-actions>div{gap:var(--space-12);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.dashboard-actions button{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text);cursor:pointer;font:inherit;min-height:64px;padding:var(--space-12);text-align:left;justify-content:space-between;align-items:center;display:flex}.dashboard-actions button:hover{border-color:var(--color-primary);color:var(--color-primary)}.dashboard-actions button span{font-size:20px}@media (width<=767px){.dashboard-kpis,.dashboard-actions>div{grid-template-columns:1fr}}.auth-brand{color:#f1f5f9;background:linear-gradient(135deg,#0b1f33,#102a43);padding:36px 44px;position:relative;overflow:hidden}.auth-brand:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0}.auth-brand>*{position:relative}.auth-logo{align-items:center;gap:10px;display:flex}.auth-logo>span{background:var(--color-primary);border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.auth-logo strong,.auth-logo small{display:block}.auth-logo strong{font-size:15px}.auth-logo small{color:#94a3b8;letter-spacing:.08em;text-transform:uppercase;font-size:10px}.auth-brand__content{flex-direction:column;justify-content:center;align-items:flex-start;max-width:460px;height:calc(100vh - 140px);display:flex}.auth-eyebrow{color:#60a5fa;letter-spacing:.1em;text-transform:uppercase;margin:0 0 14px;font-size:11px;font-weight:700}.auth-brand h1{letter-spacing:-.045em;margin:0 0 16px;font-size:38px;line-height:1.1}.auth-brand h1 em{color:#60a5fa;font-style:normal}.auth-brand__lead{color:#94a3b8;margin:0 0 32px;font-size:14px;line-height:1.7}.auth-features{gap:12px;display:grid}.auth-feature{align-items:center;gap:12px;display:flex}.auth-feature>span{color:#60a5fa;background:#2563eb29;border:1px solid #60a5fa38;border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.auth-feature p{margin:0}.auth-feature strong,.auth-feature small{display:block}.auth-feature strong{color:#dbeafe;font-size:13px}.auth-feature small{color:#94a3b8;margin-top:2px;font-size:11px}.auth-brand__footer{color:#64748b;margin:0;font-size:11px;position:absolute;bottom:32px}.auth-panel{background:var(--color-bg);justify-content:center;align-items:center;padding:40px 36px;display:flex}.auth-card{width:100%;max-width:368px}.auth-card h2{letter-spacing:-.035em;margin:0 0 6px;font-size:24px}.auth-card__subtitle{color:var(--color-text-secondary);margin:0 0 28px;font-size:13px}.auth-form{gap:16px;display:grid}.field{gap:6px;display:grid}.field label{color:var(--color-text);font-size:12px;font-weight:600}.field input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text);width:100%;height:40px;padding:0 12px;transition:border-color .15s,box-shadow .15s}.field input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #2563eb1f}.field__error,.auth-alert{color:var(--color-danger);margin:0;font-size:12px}.auth-alert{border-radius:var(--radius-small);background:#fef2f2;border:1px solid #fecaca;padding:10px 12px}.auth-note{color:var(--color-text-secondary);text-align:center;margin:18px 0 0;font-size:12px;line-height:1.6}.auth-link{color:var(--color-primary);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-weight:600}.verification-code{font-family:var(--font-mono);letter-spacing:.35em;text-align:center;font-size:20px!important}.auth-success{border-radius:var(--radius-card);color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;padding:16px}.auth-success h2{font-size:20px}.auth-status-icon{color:var(--color-primary);background:#dbeafe;border-radius:999px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:16px;display:flex}.admin-login-card{border-top:3px solid #1d4ed8;padding-top:18px}.admin-login-card__eyebrow{color:#1d4ed8;letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:6px;margin:0 0 12px;font-size:11px;font-weight:800;display:flex}@media (width>=768px) and (width<=1024px){.auth-layout{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr)}.auth-brand{padding:32px 28px}.auth-brand h1{font-size:28px}.auth-brand__lead{margin:0 0 24px;font-size:13px}.auth-panel{padding:32px 24px}.auth-card{max-width:340px}}@media (width<=767px){.auth-layout{display:block}.auth-brand{min-height:auto;padding:24px 20px}.auth-brand__content{max-width:100%;height:auto;margin-top:14px;display:flex}.auth-eyebrow{margin:0 0 6px;font-size:10px}.auth-brand h1{margin:0 0 6px;font-size:20px}.auth-brand__lead{margin:0;font-size:12px;line-height:1.5}.auth-features,.auth-brand__footer{display:none}.auth-panel{align-items:flex-start;min-height:auto;padding:24px 20px 48px}.auth-card{max-width:none}.auth-card h2{font-size:22px}}.field input,.field select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text);height:var(--control-height);width:100%;padding:0 12px;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #2563eb1f}.dashboard-kpis article,.dashboard-actions{box-shadow:var(--shadow-card)}.dashboard-kpis article{border-top:3px solid #bfdbfe}.dashboard-actions button{padding:var(--space-12) var(--space-16);font-weight:600;transition:background-color .15s,border-color .15s,box-shadow .15s,color .15s,transform .12s}.dashboard-actions button:hover{background:var(--color-surface);box-shadow:var(--shadow-control);border-color:#93c5fd;transform:translateY(-1px)}.dashboard-actions button:active{transform:scale(.99)}.password-input-wrapper{align-items:center;width:100%;display:flex;position:relative}.password-input-wrapper input{padding-right:40px!important}.password-toggle-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:6px;display:flex;position:absolute;right:8px}.password-toggle-btn:hover{color:var(--color-text)}.auth-card--login{max-width:19rem}.auth-form{gap:var(--form-row-gap)}.auth-form .field{gap:var(--field-gap)}.tooltip{display:inline-flex;position:relative}.tooltip__content{background:var(--color-sidebar);border-radius:var(--radius-small);color:#fff;pointer-events:none;white-space:nowrap;z-index:20;max-width:220px;padding:6px 8px;font-size:12px;line-height:1.35;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.tooltip__content:after{border:5px solid #0000;border-top-color:var(--color-sidebar);content:"";position:absolute;top:100%;left:50%;transform:translate(-50%)}@media (hover:none){.tooltip__content{display:none}}.app-shell{background:var(--color-bg);grid-template-columns:240px minmax(0,1fr);min-height:100vh;display:grid}.app-sidebar{background:var(--color-sidebar);height:100vh;padding:var(--space-20) var(--space-12);flex-direction:column;display:flex;position:sticky;top:0;overflow:hidden}.app-sidebar__brand{color:#fff;align-items:center;gap:var(--space-12);padding:var(--space-8) var(--space-12) var(--space-24);flex:none;display:flex}.app-sidebar__brand>span{background:var(--color-primary);border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:flex}.app-sidebar__brand strong,.app-sidebar__brand small{display:block}.app-sidebar__brand strong{font-size:14px}.app-sidebar__brand small{color:#94a3b8;margin-top:2px;font-size:10px}.app-sidebar nav{flex:auto;gap:4px;min-height:0;display:grid;overflow-y:auto}.app-nav__group{gap:4px;display:grid}.app-nav__item{border-radius:var(--radius-small);color:#b8c7d9;cursor:pointer;font:inherit;align-items:center;gap:var(--space-12);min-height:40px;padding:0 var(--space-12);text-align:left;background:0 0;border:0;width:100%;display:flex}.app-nav__item:hover{color:#fff;background:#ffffff12}.app-nav__item--active{color:#fff;background:#2563eb38;font-weight:600}.app-nav__item__chevron{margin-left:auto;transition:transform .2s}.app-nav__group--expanded .app-nav__item__chevron{transform:rotate(180deg)}.app-nav__subnav{margin:0 0 var(--space-4);gap:2px;padding-left:44px;display:grid}.app-nav__subitem{color:#9eb0c7;cursor:pointer;font:500 12px/1.2 var(--font-sans);min-height:32px;padding:0 var(--space-12);text-align:left;background:0 0;border:0;border-radius:8px;transition:background-color .15s,color .15s}.app-nav__subitem:hover{color:#fff;background:#ffffff12}.app-nav__subitem--active{color:#fff;background:#2563eb29;font-weight:700}.app-sidebar__logout{color:#cbd5e1;flex:none;justify-content:flex-start;margin-top:auto}.app-shell__content{min-width:0;position:relative}.app-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);height:64px;padding:0 var(--space-24);z-index:5;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.app-header p{color:var(--color-text-secondary);text-transform:uppercase;margin:0;font-size:11px;font-weight:600}.app-header strong{font-size:14px}.app-header__actions{align-items:center;gap:8px;display:flex}.app-header__menu,.app-header__notifications{background:var(--color-surface-muted);border:0;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;display:flex;position:relative}.app-header__menu{color:var(--color-text);cursor:pointer;display:none}.app-header__notifications span{background:var(--color-danger);color:#fff;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:17px;height:17px;font-size:9px;display:flex;position:absolute;top:-5px;right:-6px}.app-main{padding:var(--space-20) var(--space-24) var(--space-40)}.app-main>.members-page{min-height:auto;padding:0}.app-notification-panel,.app-mobile-nav{display:none}@media (width>=768px) and (width<=1023px){.app-shell{grid-template-columns:88px minmax(0,1fr)}.app-sidebar{padding:var(--space-20) var(--space-12);align-items:center}.app-sidebar__brand{padding:var(--space-8) 0 var(--space-24);justify-content:center}.app-sidebar__brand>div,.app-nav__item span,.app-nav__item__chevron{display:none}.app-sidebar nav{width:100%}.app-nav__group{position:relative}.app-nav__item{justify-content:center;min-height:44px;padding:0}.app-nav__subnav{background:var(--color-sidebar);padding:var(--space-8);z-index:10;border:1px solid #ffffff1a;border-radius:10px;width:184px;margin:0;position:absolute;top:0;left:56px;box-shadow:0 12px 28px #0f233a47}.app-nav__subitem{min-height:36px}.app-sidebar__logout{justify-content:center}.app-sidebar__logout>span{font-size:0}.app-sidebar__logout svg{width:18px;height:18px}.app-header{padding:0 var(--space-20)}.app-main{padding:var(--space-20)}}@media (width<=767px){.app-shell{display:block}.app-sidebar{display:none}.app-header{padding:0 var(--space-16)}.app-header__menu{display:flex}.app-main{padding:var(--space-20) var(--space-16) max(var(--space-40), 20vh)}.app-mobile-nav{display:block}.app-mobile-nav__backdrop{z-index:29;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0b1f33a6;border:0;position:fixed;inset:0}.app-mobile-nav__panel{background:var(--color-sidebar);left:var(--space-12);max-height:min(72dvh,560px);right:var(--space-12);z-index:30;border:1px solid #ffffff1a;border-radius:20px;flex-direction:column;display:flex;position:fixed;top:72px;overflow:hidden;box-shadow:0 24px 50px #00000073}.app-mobile-nav__heading{padding:var(--space-16);border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;display:flex}.app-mobile-nav__heading small{color:#94a3b8;text-transform:uppercase;font-size:11px;font-weight:600}.app-mobile-nav__heading h2{color:#fff;margin:2px 0 0;font-size:18px}.app-mobile-nav__heading button{color:#fff;cursor:pointer;background:#ffffff14;border:0;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;transition:background-color .15s;display:flex}.app-mobile-nav__heading button:hover{background:#ffffff26}.app-mobile-nav__panel nav{padding:var(--space-12);gap:4px;display:grid;overflow-y:auto}.app-mobile-nav__group{gap:4px;display:grid}.app-mobile-nav__item{color:#b8c7d9;cursor:pointer;align-items:center;gap:var(--space-12);min-height:46px;padding:0 var(--space-12);text-align:left;background:0 0;border:0;border-radius:10px;font:500 14px/1.2 inherit;transition:background-color .15s,color .15s;display:flex}.app-mobile-nav__item:hover{color:#fff;background:#ffffff12}.app-mobile-nav__item--active{color:#fff;background:#2563eb40;font-weight:700}.app-mobile-nav__item__chevron{margin-left:auto;transition:transform .2s}.app-mobile-nav__group--expanded .app-mobile-nav__item__chevron{transform:rotate(180deg)}.app-mobile-nav__subnav{padding:0 0 var(--space-4) 44px;gap:4px;display:grid}.app-mobile-nav__subitem{color:#9eb0c7;cursor:pointer;min-height:36px;padding:0 var(--space-12);text-align:left;background:0 0;border:0;border-radius:8px;font:500 13px/1.2 inherit;transition:background-color .15s,color .15s}.app-mobile-nav__subitem:hover{color:#fff;background:#ffffff12}.app-mobile-nav__subitem--active{color:#fff;background:#2563eb33;font-weight:700}.app-mobile-nav__logout{color:#cbd5e1;padding:var(--space-16);border-top:1px solid #ffffff1a;border-radius:0;justify-content:flex-start;margin:0}.app-mobile-nav__logout:hover{color:#fff;background:#ffffff12}}.app-header .tooltip__content{bottom:auto;left:auto;right:0;top:calc(100% + var(--space-8));transform:none}.app-header .tooltip__content:after{border-bottom-color:var(--color-sidebar);border-top-color:#0000;inset:auto 12px 100% auto;transform:none}.app-shell__loading{color:var(--color-text-secondary);margin:var(--space-24) 0}@media (width>=768px){.app-sidebar{box-sizing:border-box;height:100dvh;min-height:0;max-height:100dvh;display:flex;overflow:hidden}.app-sidebar__navigation{-ms-overflow-style:none;scrollbar-width:none;flex:1 1 0;width:100%;min-height:0;overflow-y:auto}.app-sidebar__navigation::-webkit-scrollbar{display:none}.app-sidebar__navigation nav{min-height:0;padding-bottom:var(--space-12);gap:4px;display:grid}.app-sidebar__footer{background:var(--color-sidebar);padding-top:var(--space-8);flex:none;width:100%}.app-sidebar__logout{width:100%;margin:0;position:static}}.app-nav__subitem--active,.app-mobile-nav__item--active,.app-mobile-nav__subitem--active{font-weight:var(--font-weight-semibold)}.app-header__notifications{color:var(--color-text);cursor:pointer;border:0}.app-notification-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);gap:var(--space-8);max-height:min(560px,100vh - 90px);padding:var(--space-12);right:var(--space-24);z-index:8;width:min(380px,100vw - 32px);display:grid;position:absolute;top:72px;overflow:auto;box-shadow:0 16px 40px #0f172a26}.app-notification-panel__heading{justify-content:space-between;align-items:center;display:flex}.app-notification-panel__heading h2{margin:0;font-size:16px}.app-notification-panel__heading button,.app-notification-panel article button{color:var(--color-primary);cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.app-notification-panel article{border-radius:var(--radius-small);padding:var(--space-12)}.app-notification-panel__unread{background:var(--color-surface-muted)}.app-notification-panel article strong{font-size:14px}.app-notification-panel article p{color:var(--color-text-secondary);margin:var(--space-4) 0 var(--space-8);font-size:13px;line-height:1.45}@media (width<=767px){.app-notification-panel{left:var(--space-12);right:var(--space-12);z-index:35;width:auto;display:grid;position:fixed;top:72px}}.public-menu-links{flex-wrap:wrap;align-items:center;gap:clamp(12px,2vw,32px);display:flex}.public-menu-links a{color:inherit;text-decoration:none}.public-menu-links__group{position:relative}.public-menu-links__group>summary{cursor:pointer;font-weight:600}.public-menu-links__group>summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}.public-menu-links__children{background:var(--color-surface,white);color:var(--color-text-primary,#102849);border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex}@media (width>=768px){.public-menu-links__children{z-index:5;border:1px solid var(--color-border,#dce5f3);min-width:180px;position:absolute;top:100%;left:0}}.public-menu-links--footer{flex-direction:column;align-items:flex-start;gap:10px}.mobile-nav-menu .public-menu-links{flex-direction:column;align-items:stretch;gap:0;display:flex}.mobile-nav-menu .public-menu-links__children{background:0 0;padding-left:18px}.landing-container{background-color:var(--color-bg);min-height:100vh;color:var(--color-text);font-family:var(--font-sans);scroll-behavior:smooth;position:relative;overflow-x:hidden}.blob{filter:blur(100px);z-index:0;opacity:.4;pointer-events:none;border-radius:50%;position:absolute}.watermark{color:#00000005;z-index:0;pointer-events:none;white-space:nowrap;font-size:25vw;font-weight:900;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.landing-navbar{padding:var(--space-20) 5%;z-index:1000;background-color:#0000;justify-content:space-between;align-items:center;transition:all .3s;display:flex;position:fixed;top:0;left:0;right:0}.landing-navbar.scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--space-12) 5%;background-color:#fffffff2;box-shadow:0 4px 20px #0000000d}.navbar-logo{align-items:center;gap:var(--space-12);font-weight:var(--font-weight-bold);letter-spacing:-.5px;font-size:1.5rem;display:flex}.navbar-links{align-items:center;gap:var(--space-32);display:flex}.navbar-links a{color:var(--color-text-secondary);font-weight:var(--font-weight-medium);font-size:1rem;text-decoration:none;transition:color .2s}.navbar-links a:hover{color:var(--color-primary)}.mobile-menu-toggle,.mobile-nav-menu{display:none}.hero-section{z-index:1;align-items:center;min-height:100vh;padding:100px 5% 0;display:flex;position:relative}.hero-grid{gap:var(--space-48);grid-template-columns:1fr 1fr;align-items:center;width:100%;max-width:1400px;margin:0 auto;display:grid}.hero-content-left{animation:1s ease-out fadeRight}@keyframes fadeRight{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.hero-badge{border:1px solid var(--color-border);font-size:.85rem;font-weight:var(--font-weight-semibold);letter-spacing:.5px;margin-bottom:var(--space-24);color:var(--color-text);box-shadow:var(--shadow-control);background:#fff;border-radius:30px;align-items:center;gap:8px;padding:6px 16px;display:inline-flex}.badge-dot{background-color:var(--color-accent);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #f9731633}.hero-title{margin-bottom:var(--space-24);letter-spacing:-1px;font-size:clamp(3rem,4vw,4.5rem);font-weight:800;line-height:1.15}.text-gradient{background:linear-gradient(to right, var(--color-primary), var(--color-info));-webkit-text-fill-color:transparent;-webkit-background-clip:text;display:inline-block}.hero-subtitle{color:var(--color-text-secondary);margin-bottom:var(--space-40);max-width:90%;font-size:1.15rem;line-height:1.7}.hero-social-proof{align-items:center;gap:var(--space-16);padding-top:var(--space-24);border-top:1px solid var(--color-border);display:flex}.avatars{display:flex}.avatars img{border:2px solid #fff;border-radius:50%;width:40px;height:40px;margin-left:-10px}.avatars img:first-child{margin-left:0}.hero-social-proof p{color:var(--color-text-secondary);font-size:.95rem}.hero-image-right{height:600px;animation:1s ease-out fadeLeft;position:relative}@keyframes fadeLeft{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.hero-image-main{background-image:url(/assets/images/gym.jpg);background-position:50%;background-size:cover;border-radius:30px;width:100%;height:100%;position:relative;overflow:hidden;box-shadow:0 30px 60px #102a4326}.hero-image-main:after{content:"";background:linear-gradient(to top right,#2563eb33,#0000);position:absolute;inset:0}.floating-card{z-index:10;background:#fff;border-radius:20px;align-items:center;gap:16px;padding:16px 24px;animation:6s ease-in-out infinite float;display:flex;position:absolute;box-shadow:0 20px 40px #0000001a}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-15px)}to{transform:translateY(0)}}.card-top-right{animation-delay:1s;top:40px;right:-40px}.card-bottom-left{bottom:60px;left:-40px}.icon-box{background:var(--color-surface-hover);border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.floating-card h4{color:var(--color-text);font-size:1.1rem;font-weight:700}.floating-card p{color:var(--color-text-secondary);font-size:.85rem}.btn-primary,.btn-secondary,.btn-text{font-family:var(--font-sans);font-weight:var(--font-weight-semibold);cursor:pointer;border-radius:var(--radius-button-large);z-index:50;border:none;justify-content:center;align-items:center;text-decoration:none;transition:all .3s;display:inline-flex;position:relative}.w-full{width:100%}.mt-4{margin-top:1rem}.text-primary{color:var(--color-primary)}.text-accent{color:var(--color-accent)}.btn-large{height:54px;padding:0 var(--space-32);gap:var(--space-12);border-radius:27px;font-size:1.1rem}.btn-primary{background:linear-gradient(135deg, var(--color-primary), var(--color-info));color:#fff;box-shadow:0 4px 15px #2563eb4d}.btn-secondary{color:var(--color-text);border:1px solid var(--color-border-strong);background:#fff}.btn-secondary:hover{background:var(--color-surface-hover);border-color:var(--color-primary);color:var(--color-primary)}.btn-text{color:var(--color-primary);background:0 0;gap:8px;padding:0;font-size:1rem}.btn-text:hover{color:var(--color-info);gap:12px}.stats-divider{background:var(--color-surface);box-shadow:var(--shadow-card);z-index:2;border-radius:24px;grid-template-columns:repeat(4,1fr);gap:24px;margin:20px 5% 60px;padding:30px 24px;display:grid;position:relative}.stat-block{text-align:center}.stat-block h3{color:var(--color-primary);margin-bottom:8px;font-size:2.5rem;font-weight:800}.stat-block p{color:var(--color-text-muted);font-size:.95rem;font-weight:500}.section-zigzag,.section-pricing{z-index:2;padding:50px 5% 100px;scroll-margin-top:60px;position:relative}.center{text-align:center}.max-w-xl{max-width:700px;margin-inline:auto}.section-subtitle{color:var(--color-primary);font-weight:var(--font-weight-bold);letter-spacing:2px;text-transform:uppercase;margin-bottom:var(--space-12);font-size:.9rem;display:block}.section-header h2{color:var(--color-text);margin-bottom:var(--space-16);letter-spacing:-.5px;font-size:2.8rem;font-weight:800}.section-header p{color:var(--color-text-secondary);font-size:1.15rem;line-height:1.6}.zigzag-row{margin-top:80px;align-items:center;gap:80px;max-width:1200px;margin-inline:auto;display:flex}.zigzag-row.reverse{flex-direction:row-reverse}.zigzag-image{flex:1}.image-wrapper{background-position:50%;background-size:cover;border-radius:24px;height:450px;position:relative;overflow:hidden;box-shadow:0 20px 40px #0000001a}.bg-soccer{background-image:url(/assets/images/soccer.jpg)}.bg-gym{background-image:url(https://images.unsplash.com/photo-1534438327276-14e5300c3a48?q=80&w=1200&auto=format&fit=crop)}.image-overlay{background:linear-gradient(#0000,#0000004d);position:absolute;inset:0}.zigzag-content{flex:1}.content-badge{background:var(--color-surface-hover);color:var(--color-primary);border-radius:20px;margin-bottom:20px;padding:6px 14px;font-size:.85rem;font-weight:600;display:inline-block}.zigzag-content h3{margin-bottom:20px;font-size:2.2rem;font-weight:800}.zigzag-content p{color:var(--color-text-secondary);margin-bottom:24px;font-size:1.1rem;line-height:1.7}.feature-list{margin:0;padding:0;list-style:none}.feature-list li{color:var(--color-text);align-items:flex-start;gap:12px;margin-bottom:12px;font-size:1.05rem;display:flex}.list-icon{color:var(--color-success);flex-shrink:0;margin-top:3px}.pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1200px;margin:48px auto 0;display:grid}.price-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;flex-direction:column;min-width:0;padding:32px;transition:border-color .15s,transform .15s;display:flex;position:relative}.price-card:hover{border-color:var(--color-primary);transform:translateY(-4px)}.price-card.featured{border:2px solid var(--color-primary);box-shadow:0 10px 30px #2563eb1f}.pricing-state{text-align:center;max-width:600px;color:var(--color-text-secondary);margin:48px auto 0}.pricing-state .btn-secondary{min-height:44px;margin-top:16px;padding:0 24px}.price-header{border-bottom:1px solid var(--color-border);margin-bottom:24px;padding-bottom:24px}.price-duration{color:var(--color-primary);margin-bottom:12px;font-size:.85rem;font-weight:600;display:block}.price-header h3{color:var(--color-text);margin-bottom:16px;font-size:1.4rem}.price{color:var(--color-text);font-variant-numeric:tabular-nums;font-size:clamp(1.7rem,2.4vw,2.2rem);font-weight:700}.price span{color:var(--color-text-secondary);font-size:.85rem;font-weight:500}.price-body{flex-direction:column;flex:1;display:flex}.price-body p{margin-bottom:16px;font-weight:600}.price-body ul{flex:1;margin:0 0 32px;padding:0;list-style:none}.price-body li{color:var(--color-text);align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.price-body li svg{color:var(--color-primary);flex-shrink:0;margin-top:3px}.price-body .btn-primary,.price-body .btn-secondary{min-height:44px;padding:0 24px;font-size:1rem}.section-cta-banner{padding:80px 5%}.cta-banner-container{background:linear-gradient(135deg, var(--color-primary), var(--color-info));color:#fff;border-radius:30px;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:60px;display:flex;box-shadow:0 20px 40px #2563eb33}.cta-banner-content h2{margin-bottom:12px;font-size:2.2rem;font-weight:800}.cta-banner-content p{opacity:.9;font-size:1.1rem}.bg-white{background-color:#fff!important}.landing-footer{background-color:var(--color-surface);border-top:1px solid var(--color-border);z-index:2;padding:32px 5% 20px;scroll-margin-top:60px;position:relative}.footer-grid{gap:var(--space-24);max-width:1200px;margin:0 auto var(--space-24);grid-template-columns:2fr 1fr 1fr;display:grid}.brand-col .navbar-logo{color:var(--color-text);margin-bottom:var(--space-12)}.footer-desc{color:var(--color-text-secondary);line-height:1.5}.footer-col h4{color:var(--color-text);margin-bottom:var(--space-12);font-size:1.2rem;font-weight:700}.footer-links{margin:0;padding:0;list-style:none}.footer-links li{margin-bottom:8px}.footer-links a{color:var(--color-text-secondary);text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--color-primary)}.contact-list{margin:0;padding:0;list-style:none}.contact-list li{align-items:center;gap:var(--space-12);margin-bottom:var(--space-8);color:var(--color-text-secondary);display:flex}.contact-list li svg{color:var(--color-primary)}.footer-bottom{text-align:center;padding-top:var(--space-16);border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:.9rem}.section-about{background:var(--color-bg);z-index:2;padding:40px 5% 20px;scroll-margin-top:60px;position:relative}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:60px;max-width:1200px;margin:0 auto;display:grid}.about-images{height:400px;position:relative}.img-main{object-fit:cover;z-index:1;border-radius:24px;width:75%;height:85%;position:absolute;top:0;left:0;box-shadow:0 20px 40px #0000001a}.img-sub{object-fit:cover;border:10px solid var(--color-bg);z-index:2;border-radius:20px;width:55%;height:55%;position:absolute;bottom:0;right:0;box-shadow:0 30px 50px #00000026}.experience-badge{background:var(--color-primary);color:#fff;z-index:3;border:8px solid var(--color-bg);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:120px;height:120px;display:flex;position:absolute;top:20px;right:-10px;box-shadow:0 15px 30px #2563eb4d}.experience-badge .years{font-size:2.2rem;font-weight:900;line-height:1}.experience-badge .text{text-align:center;opacity:.9;margin-top:4px;font-size:.8rem;font-weight:600}.about-content h2{color:var(--color-text);margin-bottom:20px;font-size:2.4rem;font-weight:800;line-height:1.2}.about-desc{color:var(--color-text-secondary);margin-bottom:16px;font-size:1.05rem;line-height:1.6}.about-features{gap:30px;margin-top:24px;display:flex}.about-features .feature{align-items:center;gap:12px;display:flex}.about-features .icon-wrapper{background:var(--color-surface-hover);width:48px;height:48px;color:var(--color-primary);border-radius:12px;justify-content:center;align-items:center;display:flex}.about-features span{color:var(--color-text);font-size:1.05rem;font-weight:700}@media (width<=1024px){.landing-navbar{padding:var(--space-16) 5%}.navbar-links{gap:var(--space-20);font-size:.95rem}.hero-grid{text-align:center;grid-template-columns:1fr;gap:40px}.hero-content-left{max-width:720px;margin:0 auto}.hero-social-proof{justify-content:center}.hero-image-right{width:100%;max-width:720px;height:420px;margin:0 auto}.floating-card{background:#fff;border-radius:16px;gap:12px;padding:12px 18px;position:absolute;box-shadow:0 12px 28px #0000001f}.card-top-right{top:16px;right:16px}.card-bottom-left{bottom:16px;left:16px}.about-grid{grid-template-columns:1fr;gap:48px;max-width:720px;margin:0 auto}.about-images{width:100%;max-width:600px;height:380px;margin:0 auto}.experience-badge{right:0}.about-content{text-align:left;max-width:720px;margin:0 auto}.about-features{justify-content:flex-start}.stats-divider{grid-template-columns:repeat(2,1fr);gap:24px;margin:20px 5% 48px;padding:28px 24px}.zigzag-row,.zigzag-row.reverse{flex-direction:column;gap:36px;margin-top:48px}.zigzag-image{width:100%;max-width:720px;margin:0 auto}.zigzag-content{text-align:left;width:100%;max-width:720px;margin:0 auto}.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.price-card:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:100%;max-width:520px}.cta-banner-container{text-align:center;flex-direction:column;gap:28px;padding:48px 32px}.footer-grid{gap:var(--space-24);text-align:left;grid-template-columns:1.5fr 1fr 1fr}}@media (width<=768px){.landing-navbar{padding:12px 5%}.navbar-links{display:none}.mobile-menu-toggle{border:1px solid var(--color-border);border-radius:var(--radius-button-large);background:var(--color-surface);width:36px;height:36px;color:var(--color-text);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.mobile-menu-toggle:focus-visible,.mobile-nav-menu a:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.mobile-nav-menu.open{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);min-width:190px;box-shadow:var(--shadow-card);gap:4px;padding:8px;display:grid;position:absolute;top:calc(100% - 4px);right:5%}.mobile-nav-menu a{border-radius:var(--radius-control);color:var(--color-text);font-weight:var(--font-weight-semibold);padding:12px 14px;text-decoration:none}.mobile-nav-menu a:hover{background:var(--color-surface-hover);color:var(--color-primary)}.navbar-actions{align-items:center;display:flex}.navbar-actions .btn-sm{height:36px;padding:0 14px;font-size:.88rem}.hero-section{min-height:auto;padding:80px 5% 0}.hero-grid{gap:28px}.hero-badge{margin-bottom:var(--space-16);padding:5px 12px;font-size:.75rem}.hero-title{letter-spacing:-.5px;margin-bottom:var(--space-16);font-size:clamp(2rem,7.5vw,2.6rem)}.hero-subtitle{margin-bottom:var(--space-24);max-width:100%;font-size:.98rem;line-height:1.6}.hero-social-proof{text-align:center;padding-top:var(--space-16);flex-direction:column;align-items:center;gap:10px}.hero-social-proof p{font-size:.88rem}.hero-image-right{border-radius:20px;height:280px}.hero-image-main{border-radius:20px}.floating-card{border-radius:12px;gap:8px;padding:8px 12px;animation:none}.card-top-right{top:10px;right:10px}.card-bottom-left{bottom:10px;left:10px}.floating-card h4{font-size:.85rem}.floating-card p{font-size:.72rem}.icon-box{border-radius:8px;width:32px;height:32px}.section-about{padding:32px 5% 16px}.about-grid{gap:32px}.about-images{width:100%;height:min(280px,68vw)}.img-main{border-radius:18px}.img-sub{border-width:6px;border-radius:14px}.experience-badge{border-width:5px;width:84px;height:84px;top:8px;right:4px}.experience-badge .years{font-size:1.5rem}.experience-badge .text{font-size:.65rem}.about-content h2{margin-bottom:14px;font-size:1.85rem}.about-desc{margin-bottom:12px;font-size:.95rem}.about-features{flex-wrap:wrap;gap:14px;margin-top:16px}.about-features .feature{gap:10px}.about-features .icon-wrapper{width:40px;height:40px}.about-features span{font-size:.92rem}.stats-divider{border-radius:18px;grid-template-columns:repeat(2,1fr);gap:16px;margin:20px 5% 36px;padding:20px 16px}.stat-block h3{margin-bottom:4px;font-size:1.8rem}.stat-block p{font-size:.82rem}.section-zigzag{padding:36px 5% 56px}.section-header h2{font-size:2rem}.section-header p{font-size:.95rem}.zigzag-row,.zigzag-row.reverse{gap:20px;margin-top:32px}.image-wrapper{border-radius:18px;height:230px}.zigzag-content h3{margin-bottom:12px;font-size:1.5rem}.zigzag-content p{margin-bottom:16px;font-size:.95rem;line-height:1.6}.feature-list li{margin-bottom:10px;font-size:.92rem}.section-pricing{padding:36px 5% 56px}.pricing-grid{grid-template-columns:1fr;gap:16px;margin-top:24px}.price-card{border-radius:14px;padding:24px 20px}.price-header{margin-bottom:18px;padding-bottom:18px}.price-header h3{margin-bottom:12px;font-size:1.25rem}.price-body ul{margin-bottom:24px}.price-body li{font-size:.92rem}.section-cta-banner{padding:40px 5%}.cta-banner-container{border-radius:20px;gap:20px;padding:32px 20px}.cta-banner-content h2{font-size:1.6rem}.cta-banner-content p{font-size:.95rem}.cta-banner-action,.cta-banner-action .btn-primary{width:100%}.landing-footer{padding:32px 5% 20px}.footer-grid{text-align:left;grid-template-columns:1fr;gap:24px}.brand-col .navbar-logo{justify-content:flex-start}.footer-col h4{margin-bottom:10px;font-size:1.1rem}.contact-list li{justify-content:flex-start}}@media (width<=480px){.stats-divider{gap:12px;padding:16px 12px}.stat-block h3{font-size:1.5rem}.hero-title{font-size:1.9rem}}.public-page-logo{color:inherit;text-decoration:none}.public-page-logo:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}.public-page-body{z-index:2;min-height:80dvh;padding-top:80px;position:relative}.public-page-back-row{max-width:1200px;margin:0 auto;padding:20px 24px 0}.public-page-back{min-height:44px;color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-weight:600;display:inline-flex}.public-page-back:hover{color:var(--color-primary-hover)}.public-page-back:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}.public-page-body>.facility-calendar{padding-top:24px}@media (width<=768px){.landing-navbar{padding:12px 5%}.navbar-actions{align-items:center}.navbar-actions .btn-sm{height:36px;padding:0 14px;font-size:.88rem}.public-page-body{padding-top:70px}.public-page-back-row{padding:16px 16px 0}.public-page-body>.facility-calendar{padding-top:16px}.public-page-body>.section-gallery{padding-top:12px}}.landing-container{background:var(--color-bg);min-height:100vh;color:var(--color-text);font-family:var(--font-sans);position:relative;overflow-x:hidden}.blob{filter:blur(100px);opacity:.4;pointer-events:none;z-index:0;border-radius:50%;position:absolute}.blob-1{background:var(--color-primary);width:500px;height:500px;top:-10%;left:-10%}.blob-2{background:var(--color-accent);width:600px;height:600px;top:40%;right:-20%}.watermark{color:#00000005;pointer-events:none;white-space:nowrap;z-index:0;font-size:25vw;font-weight:900;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.landing-navbar{padding:var(--space-20) 5%;z-index:1000;background:0 0;justify-content:space-between;align-items:center;transition:all .3s;display:flex;position:fixed;top:0;left:0;right:0}.landing-navbar.scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--space-12) 5%;background:#fffffff2;box-shadow:0 4px 20px #0000000d}.navbar-logo{font-size:1.5rem;font-weight:var(--font-weight-bold);align-items:center;gap:var(--space-12);letter-spacing:-.5px;display:flex}.logo-icon-wrapper{background:linear-gradient(135deg, var(--color-primary), var(--color-info));color:#fff;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 4px 12px #2563eb4d}.navbar-actions{gap:var(--space-12);display:flex}.btn-primary{background:linear-gradient(135deg, var(--color-primary), var(--color-info));border-radius:var(--radius-button-large);color:#fff;cursor:pointer;font-family:var(--font-sans);font-weight:var(--font-weight-semibold);border:0;justify-content:center;align-items:center;text-decoration:none;transition:all .3s;display:inline-flex;box-shadow:0 4px 15px #2563eb4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #2563eb66}.btn-sm{height:38px;padding:0 var(--space-16);font-size:.95rem}.section-gallery{z-index:2;max-width:1200px;margin:0 auto;padding:24px 24px 80px;scroll-margin-top:60px;position:relative}.public-gallery-header{margin-bottom:32px}.public-gallery-header h2{color:var(--color-text);margin:8px 0 12px;font-size:26px;line-height:1.2}.public-gallery-header p:last-child{max-width:720px;color:var(--color-text-secondary)}.public-gallery-eyebrow{color:var(--color-primary);letter-spacing:.12em;font-size:12px;font-weight:700}.gallery-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:250px;gap:16px;width:100%;display:grid}.gallery-item{cursor:pointer;border-radius:16px;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.165,.84,.44,1)}.gallery-item:hover img{transform:scale(1.1)}.gallery-overlay{opacity:0;background:linear-gradient(#0000 40%,#000000b3 100%);align-items:flex-end;padding:24px;transition:opacity .3s;display:flex;position:absolute;inset:0}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-overlay span{color:#fff;font-size:1.25rem;font-weight:700;transition:transform .3s;transform:translateY(20px)}.gallery-item:hover .gallery-overlay span{transform:translateY(0)}.gallery-item.large{grid-area:span 2/span 2}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:span 2}@media (width<=1024px){.section-gallery{padding:24px 20px 72px}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:240px;gap:16px}.gallery-item.large{grid-area:span 1/span 2}.gallery-item.tall{grid-row:span 1}.gallery-item.wide{grid-column:span 1}}@media (width<=768px){.section-gallery{padding:20px 16px 64px}.public-gallery-header{margin-bottom:24px}.public-gallery-header h2{font-size:22px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:220px;gap:14px}.gallery-item.large{grid-area:span 1/span 1}.gallery-item.tall{grid-row:span 1}.gallery-item.wide{grid-column:span 1}}@media (hover:none),(width<=1024px){.gallery-overlay{opacity:1;background:linear-gradient(#0000 25%,#00000040 55%,#000000bf 100%);padding:16px 20px}.gallery-overlay span{text-shadow:0 1px 4px #0009;font-size:1.15rem;transform:translateY(0)}}.facility-calendar{color:var(--color-text);max-width:none;min-height:auto;margin:0;padding:0;scroll-margin-top:88px}.facility-calendar__header{margin-bottom:var(--space-24)}.facility-calendar__header h1{margin:var(--space-4) 0 var(--space-12);text-wrap:balance;font-size:26px;line-height:1.2}.facility-calendar__header p:last-child{color:var(--color-text-secondary);max-width:65ch;margin:0}.facility-calendar__eyebrow{color:var(--color-primary);letter-spacing:.06em;font-size:12px;font-weight:700}.facility-calendar__filter-panel,.facility-calendar__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.facility-calendar__filter-panel{margin-bottom:var(--space-20);padding:var(--space-20)}.facility-calendar__filters,.facility-calendar__fields{gap:var(--space-16);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:0;display:grid}.facility-calendar label{gap:var(--space-8);font-size:12px;font-weight:var(--font-weight-semibold);display:grid}.facility-calendar input,.facility-calendar select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text);font:inherit;min-height:var(--control-height);padding:0 var(--space-12);width:100%;transition:border-color .15s,box-shadow .15s}.facility-calendar input:focus-visible,.facility-calendar select:focus-visible{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #2563eb1f}.facility-calendar button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.facility-calendar button{min-height:var(--control-height);padding:8px var(--space-16);border:1px solid var(--color-primary);border-radius:var(--radius-control);background:var(--color-primary);color:#fff;cursor:pointer;font:inherit;font-weight:var(--font-weight-semibold);transition:background-color .15s,transform .15s}.facility-calendar button:not(:disabled):hover{background:var(--color-primary-hover)}.facility-calendar button:not(:disabled):active{transform:translateY(1px)}.facility-calendar button:disabled{opacity:.6;cursor:not-allowed}.facility-calendar__table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card);overflow-x:auto}.facility-calendar__table{border-collapse:collapse;text-align:left;width:100%;min-width:760px;font-size:14px}.facility-calendar__table caption{text-align:left;padding:16px 20px;font-size:16px;font-weight:700}.facility-calendar__table th,.facility-calendar__table td{border-top:1px solid var(--color-border);vertical-align:top;padding:16px 20px}.facility-calendar__table thead{background:var(--color-surface)}.facility-calendar__table thead th{white-space:nowrap;font-weight:700}.facility-calendar__table tbody th{white-space:nowrap}.facility-calendar__table tbody tr:hover{background:var(--color-surface-muted)}.facility-calendar__table td[colspan]{color:var(--color-text-secondary);text-align:center;padding:32px 20px}.facility-calendar__table td[colspan] button{margin-left:8px}.facility-calendar__table td>strong{white-space:nowrap;display:block}.facility-calendar__court-type{color:var(--color-text-secondary);margin-top:4px;display:block}.facility-calendar__table td>button{white-space:nowrap}.facility-calendar__panel{padding:var(--space-20)}.facility-calendar__periods{flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;display:flex}.facility-calendar__free,.facility-calendar__booked{border-radius:8px;padding:6px 10px;font-size:13px;font-weight:600}.facility-calendar__free{color:#0f766e;background:#ccfbf1}.facility-calendar__booked{background:var(--color-surface-muted);color:var(--color-text-secondary)}.facility-calendar__panel{margin-top:var(--space-24)}.facility-calendar__panel h3{margin:0 0 var(--space-8);font-size:18px}.facility-calendar__panel>p{color:var(--color-text-secondary);margin:0 0 var(--space-16)}.facility-calendar__panel form{gap:var(--space-16);padding:var(--space-16) 0;display:grid}form.facility-calendar__panel{gap:var(--space-16);display:grid}.facility-calendar__panel form+form{border-top:1px solid var(--color-border)}.facility-calendar__panel>form>button:not([type]),.facility-calendar__panel>form>button[type=submit],form.facility-calendar__panel>button:not([type]),form.facility-calendar__panel>button[type=submit]{justify-self:start;width:auto;min-width:10rem}.facility-calendar__panel ul{padding:0;list-style:none}.facility-calendar__panel li{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0;display:flex}.facility-calendar__prompt{color:var(--color-text);background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:24px 0;padding:16px 20px;font-weight:500;display:flex}.facility-calendar__prompt button{white-space:nowrap}.facility-calendar__error{color:var(--color-danger)}.facility-calendar__notice{color:var(--color-success)}@media (width>=768px) and (width<=1024px){.facility-calendar__filters{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=767px){.facility-calendar__header{margin-bottom:20px}.facility-calendar__header h1{font-size:22px}.facility-calendar__filters,.facility-calendar__fields{grid-template-columns:1fr;gap:12px}.facility-calendar__panel{padding:18px 16px}.facility-calendar__prompt{text-align:center;flex-direction:column;align-items:stretch;gap:12px}.facility-calendar__prompt button{width:100%}}.not-found-page{background:var(--color-bg);min-height:100vh;padding:var(--space-24);justify-content:center;align-items:center;display:flex}.not-found-page__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);text-align:center;width:100%;max-width:480px;padding:48px}.not-found-page__code{color:var(--color-primary);letter-spacing:-.06em;margin:0 0 var(--space-12);font-size:64px;font-weight:800;line-height:1}.not-found-page h1{margin:0;font-size:26px}.not-found-page__card>p:not(.not-found-page__code){color:var(--color-text-secondary);margin:var(--space-12) 0 var(--space-24);line-height:1.6}.not-found-page__actions{gap:var(--space-12);justify-content:center;display:flex}@media (width<=480px){.not-found-page__card{padding:36px 24px}.not-found-page__actions{flex-direction:column;align-items:stretch}.not-found-page__actions .button{width:100%}}.site-blocks{color:#102849;display:grid}.site-blocks__section{padding:clamp(32px,5vw,72px) clamp(20px,5vw,80px)}.site-blocks__section:nth-child(2n){background:#f2f6fc}.site-blocks h1{margin:0 0 14px;font-size:clamp(32px,5vw,58px);line-height:1.12}.site-blocks h2{margin:0 0 16px;font-size:clamp(26px,3vw,40px);line-height:1.2}.site-blocks p{white-space:pre-line;line-height:1.7}.site-blocks__hero,.site-blocks__split,.site-blocks__cta{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:clamp(24px,5vw,72px);display:grid}.site-blocks__hero>img,.site-blocks__split>img{object-fit:cover;border-radius:20px;width:100%;max-height:460px}.site-blocks__hero>div{grid-row:1}.site-blocks__copy{max-width:850px;margin:auto}.site-blocks__eyebrow{color:#2362cc;letter-spacing:.1em;text-transform:uppercase;font-weight:700}.site-blocks__button{color:#fff;background:#2862e8;border-radius:10px;margin-top:16px;padding:13px 22px;font-weight:700;text-decoration:none;display:inline-block}.site-blocks__cta{background:#e8efff;border-radius:20px;padding:30px}.site-blocks details{border-bottom:1px solid #dce5f3;padding:16px 0}.site-blocks summary{cursor:pointer;font-weight:700}@media (width<=700px){.site-blocks__hero,.site-blocks__split,.site-blocks__cta{grid-template-columns:1fr}.site-blocks__hero>div{grid-row:auto}}:root{--color-bg:#fff;--color-surface:#fff;--color-surface-muted:#f8fafc;--color-surface-hover:#f8fafd;--color-border:#e4ebf5;--color-border-strong:#cbd8e8;--color-text:#102a43;--color-text-secondary:#64748b;--color-text-muted:#94a3b8;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-accent:#f97316;--color-accent-hover:#ea6c0a;--color-teal:#0f766e;--color-success:#16a34a;--color-warning:#d97706;--color-danger:#dc2626;--color-danger-hover:#b91c1c;--color-info:#0284c7;--color-sidebar:#0b1f33;--font-sans:"Be Vietnam Pro", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "Courier New", monospace;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--space-4:4px;--space-8:8px;--space-12:12px;--space-16:16px;--space-20:20px;--space-24:24px;--space-32:32px;--space-40:40px;--space-48:48px;--field-gap:var(--space-8);--form-row-gap:var(--space-16);--panel-padding:var(--space-20);--section-gap:var(--space-24);--radius-small:8px;--radius-button-small:10px;--radius-control:10px;--radius-button-large:12px;--radius-card:16px;--control-height-sm:30px;--control-height:40px;--control-height-lg:44px;--shadow-control:0 1px 2px #102a430a;--shadow-card:0 8px 24px #102a430d;--shadow-card-hover:0 12px 30px #102a4314;--shadow-button-primary:0 1px 3px #2563eb40, 0 4px 12px #2563eb26;--shadow-button-accent:0 1px 3px #f9731640, 0 4px 12px #f9731626}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-bottom:20vh}html,body,#root{min-height:100%;margin:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-variant-numeric:tabular-nums;font-size:14px;font-weight:var(--font-weight-regular);-webkit-font-smoothing:antialiased;line-height:1.5}h1{font-weight:var(--font-weight-bold)}h2,h3,h4,strong,b{font-weight:var(--font-weight-semibold)}code{font-weight:var(--font-weight-medium)}th{font-weight:var(--font-weight-semibold)}button,input,select,textarea{font:inherit}button{font-weight:var(--font-weight-semibold)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.app-bootstrap{color:var(--color-text-secondary);align-items:center;gap:var(--space-12);flex-direction:column;justify-content:center;min-height:100vh;display:flex}.app-bootstrap p{margin:0}.app-bootstrap__spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite app-bootstrap-spin}@keyframes app-bootstrap-spin{to{transform:rotate(360deg)}}.input-error{border-color:var(--color-danger)!important;background-color:#dc262608!important}.field-error{color:var(--color-danger);margin-top:4px;font-size:12px;font-weight:500;display:block}.app-main>:is(.members-page,.staff-page){min-height:auto;padding:0}:is(.members-page,.staff-page)>header{margin:0 0 var(--space-24)}:is(.members-page,.staff-page)>header h1{margin:var(--space-4) 0 0}:is(.members-page,.staff-page)>:not(header)+:not(header){margin-top:var(--space-24)}:is(.members-grid,.staff-grid){gap:var(--space-24)}.members-workspace-stacked{gap:var(--space-24);min-width:0;display:grid}.members-workspace-stacked>*{min-width:0}.attendance-monitor{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);display:grid;overflow:hidden}.attendance-monitor__picker{align-items:start;gap:var(--space-20);padding:var(--space-20) var(--space-24);grid-template-columns:minmax(15rem,.7fr) minmax(20rem,1.3fr);display:grid}.attendance-monitor__label{color:var(--color-primary);align-items:center;gap:var(--space-12);display:flex}.attendance-monitor__label div{gap:2px;display:grid}.attendance-monitor__label span{color:var(--color-text-secondary);font-size:12px}.attendance-monitor__label strong{color:var(--color-text);font-size:16px}.attendance-monitor select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text);font:inherit;height:var(--control-height);padding:0 var(--space-12);font-weight:600}.attendance-monitor select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #2563eb1f}.attendance-monitor__summary{background:var(--color-surface-muted);border-top:1px solid var(--color-border);gap:var(--space-24);padding:var(--space-16) var(--space-24);grid-template-columns:minmax(0,1fr) auto;display:grid}.attendance-monitor__session{gap:var(--space-4);display:grid}.attendance-monitor__session>span{color:var(--color-text-secondary);letter-spacing:.06em;font-size:11px;font-weight:700}.attendance-monitor__session strong{font-size:16px}.attendance-monitor__session small{color:var(--color-text-secondary);font-size:12px}.attendance-monitor__metrics{gap:var(--space-20);grid-template-columns:repeat(3,minmax(6.5rem,1fr));display:grid}.attendance-monitor__metrics div{gap:2px;display:grid;position:relative}.attendance-monitor__metrics svg{color:var(--color-text-secondary);margin-bottom:2px}.attendance-monitor__metrics span{color:var(--color-text-secondary);font-size:12px}.attendance-monitor__metrics strong{font-variant-numeric:tabular-nums;font-size:18px}.attendance-monitor__empty{border-top:1px solid var(--color-border);color:var(--color-text-secondary);align-items:center;gap:var(--space-8);padding:var(--space-16) var(--space-24);font-size:13px;display:flex}.attendance-session-list .list-heading p{color:var(--color-text-secondary);margin:var(--space-4) 0 0;font-size:13px}.attendance-session-list__count{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;font-size:13px}.attendance-session-list tbody tr{transition:background-color .15s}.attendance-session-list tbody tr.is-selected{background:var(--color-surface-muted)}.attendance-session-list__summary{background:var(--color-surface-muted);border-top:1px solid var(--color-border);align-items:center;gap:var(--space-24);margin-top:var(--space-16);padding:var(--space-16);grid-template-columns:minmax(0,1fr) auto;display:grid}.attendance-session-list__summary>div:first-child{gap:var(--space-4);display:grid}.attendance-session-list__summary>div:first-child span{color:var(--color-text-secondary);letter-spacing:.06em;font-size:11px;font-weight:700}.attendance-session-list__summary>div:first-child strong{font-size:16px}.attendance-session-list__summary>div:first-child small{color:var(--color-text-secondary);font-size:12px}.staff-workspace-stacked{gap:var(--space-24);display:grid}.staff-form--create{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}.staff-form--create h2,.staff-form--create>button{grid-column:1/-1}.ai-review{container:ai-review/inline-size}.ai-review__grid{gap:var(--space-12);grid-template-columns:minmax(0,1fr);display:grid}.ai-review__item{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-control);gap:var(--space-8);min-width:0;padding:var(--space-16);flex-direction:column;display:flex}.ai-review__item>strong{overflow-wrap:anywhere;font-size:14px;line-height:1.4}.ai-review__item>p{overflow-wrap:anywhere;max-width:65ch;margin:0;line-height:1.5}.ai-review__item>small{color:var(--color-text-secondary);margin-top:auto;line-height:1.4}.ai-review__item>button{align-self:flex-start}.ai-review>.training-action-form{margin-top:var(--space-20)}@container ai-review (width>=48rem){.ai-review__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-review__item:last-child:nth-child(odd){grid-column:1/-1}}@container ai-review (width>=80rem){.ai-review__grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ai-review__item:last-child:nth-child(odd){grid-column:auto}}.training-template-form{grid-template-columns:repeat(3,minmax(0,1fr))}.training-template-form h2,.training-template-form>button{grid-column:1/-1}.training-template-form>button,.training-action-form>button{justify-self:start;min-width:12rem}.training-action-grid{gap:var(--space-24);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.training-action-form{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}:is(.training-action-form h2,.training-action-form>button,.training-result-form label:has(textarea)),.training-session-form{grid-column:1/-1}@media (width>=1024px){.training-session-form{grid-template-columns:repeat(4,minmax(0,1fr))}}.training-form-heading,.training-field-group,.training-creation-metadata{grid-column:1/-1}.training-form-heading{gap:var(--space-4);padding-bottom:var(--space-12);display:grid}.training-form-heading span{color:var(--color-primary);font-size:11px;font-weight:var(--font-weight-semibold);letter-spacing:.06em}.training-form-heading h2{margin:0;font-size:18px}.training-creation-metadata{border:1px solid var(--color-border);border-radius:var(--radius-control);gap:var(--space-16);padding:var(--space-12) var(--space-16);background:0 0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.training-creation-metadata div{gap:var(--space-4);display:grid}.training-creation-metadata span{color:var(--color-text-secondary);font-size:11px;font-weight:var(--font-weight-semibold)}.training-creation-metadata strong{font-size:13px}.training-field-group{gap:var(--space-12);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.training-field-group h3{color:var(--color-text-secondary);font-size:12px;font-weight:var(--font-weight-semibold);letter-spacing:.04em;text-transform:uppercase;grid-column:1/-1;margin:0}.training-field-group fieldset{border:1px solid var(--color-border);border-radius:var(--radius-card);gap:var(--space-12);min-inline-size:0;padding:var(--space-16);background:0 0;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.training-field-group legend{background:var(--color-surface);color:var(--color-text);font-size:14px;font-weight:var(--font-weight-semibold);padding:0 var(--space-4)}.training-field-group fieldset>label:first-of-type,.training-field-group fieldset>.button{grid-column:1/-1}.training-field-group>.button,.training-session-form>.button[type=submit]{grid-column:1/-1;justify-self:start;width:auto;min-width:10rem}.staff-form--create>button{justify-self:start;min-width:12rem}.members-form--member-create{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.members-form--member-create h2{grid-column:1/-1}.members-form--member-create>button{grid-column:1/-1;justify-self:start;min-width:12rem}.members-form--booking-create{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.members-form--booking-create h2,.members-form--booking-create>button{grid-column:1/-1}.members-form--booking-create-member{grid-template-columns:minmax(0,1fr) auto;align-items:start}.members-form--booking-create-member>button{grid-column:auto;align-self:end;min-width:10rem}.members-form--payment-create{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.members-form--payment-create h2,.members-form--payment-create>button{grid-column:1/-1}@media (width>=1024px){.members-form--payment-create>label:has(input[name=notes]){grid-column:span 2}}.members-form--attendance-checkin{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.members-form--attendance-checkin h2,.members-form--attendance-checkin small,.members-form--attendance-checkin>button{grid-column:1/-1}.members-form--attendance-checkin>button,.members-form--payment-create>button,.members-form--booking-create>button{justify-self:start;min-width:12rem}.payment-table__actions{gap:var(--space-8);flex-wrap:wrap;display:flex}.payment-table__actions .button{white-space:nowrap}.members-form,.staff-form{gap:var(--form-row-gap)}.members-list th,.members-list td,.staff-list th,.staff-list td{padding-block:var(--space-12)}.member-row-actions{gap:var(--space-4);width:11rem;display:grid}.member-row-actions__main{gap:var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.member-row-actions__main .button{width:100%}.member-row-actions__account{background:var(--color-surface-muted);color:var(--color-primary);padding-inline:var(--space-8);justify-content:flex-start;width:100%}.member-row-actions__account:not(:disabled):hover{color:var(--color-primary-hover)}.members-page .members-list th,.staff-page .staff-list th,.app-sidebar .app-nav__subitem--active,.app-mobile-nav .app-mobile-nav__subitem--active{font-weight:var(--font-weight-semibold)}.dashboard-home .dashboard-metric strong{font-weight:var(--font-weight-bold)}.attendance-class-picker{color:var(--color-text);gap:var(--space-8);margin:0 0 var(--space-20);max-width:26rem;font-size:12px;font-weight:600;display:grid}.attendance-class-picker select{appearance:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text);min-height:var(--control-height);padding:0 var(--space-12);width:100%;transition:border-color .15s,box-shadow .15s,background-color .15s}.attendance-class-picker select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #2563eb1f}.dashboard-home{gap:var(--space-24)}.membership-workspace{grid-template-columns:minmax(420px,.9fr) minmax(520px,1.1fr)}.membership-workspace--manager{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-card);align-items:start;gap:var(--space-16);padding:var(--space-16);grid-template-columns:minmax(23rem,.78fr) minmax(0,1.22fr)}.membership-workspace--manager>:is(.members-form,.members-list){background:var(--color-surface);box-shadow:none}.membership-workspace--manager>.members-list{grid-area:1/2;min-width:0}.membership-workspace--manager>.members-form{grid-area:1/1}.membership-workspace--assignment-only{grid-template-columns:minmax(0,1.35fr) minmax(19rem,.65fr);align-items:stretch}.membership-workspace.membership-workspace--assignment{grid-template-columns:minmax(0,1.2fr) minmax(22rem,.8fr);align-items:start}.membership-workspace--assignment-only>.members-list{grid-column:1/-1}.membership-assignment-sidebar,.membership-manager-followup{gap:var(--space-24);display:grid}.membership-assignment-sidebar{grid-template-rows:repeat(2,minmax(0,1fr));min-height:100%}.membership-assignment-sidebar .members-list{min-width:0;height:100%}.membership-assignment-sidebar .members-list:only-child{grid-row:1/-1}.membership-list-content{border-top:1px solid var(--color-border);margin-top:var(--space-16);padding-top:var(--space-16)}.membership-list-content h3{margin:0 0 var(--space-12);font-size:14px}.classes-reception-workspace{gap:var(--space-24);display:grid}.classes-workspace,:is(.members-grid,.staff-grid).classes-workspace{grid-template-columns:minmax(0,1fr)}.classes-create-form{align-items:start}.classes-create-form>button{justify-self:start;min-width:12rem}.support-staff-workspace,:is(.members-grid,.staff-grid).support-staff-workspace{grid-template-columns:minmax(0,1fr)}.support-empty-panel{min-height:22.5rem;padding:var(--space-24);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.support-empty-panel__icon{background:var(--color-surface-muted);color:var(--color-primary);height:3.5rem;margin-bottom:var(--space-16);border-radius:999px;justify-content:center;align-items:center;width:3.5rem;display:flex}.support-empty-panel h3{color:var(--color-text);margin:0 0 var(--space-4);font-size:16px}.support-empty-panel p{color:var(--color-text-secondary);max-width:42ch;margin:0;font-size:13px;line-height:1.5}.classes-reception-schedule{min-width:0}.classes-reception-schedule .list-heading p{color:var(--color-text-secondary);margin:var(--space-4) 0 0}.class-approval-list{gap:var(--space-12);display:grid}.class-approval-panel .change-request{align-items:center;gap:var(--space-16);justify-content:space-between;display:flex}.class-approval-panel .change-request p{color:var(--color-text-secondary);margin:var(--space-4) 0 0}.class-approval-actions{gap:var(--space-8);flex-shrink:0;display:flex}.membership-workspace .members-form label small{color:var(--color-text-secondary);font-size:11px;font-weight:400;line-height:1.45}.membership-workspace .members-form{padding-bottom:calc(var(--space-20) + 44px);position:relative}.membership-workspace .members-form>button:last-child{bottom:var(--space-20);left:var(--space-20);right:var(--space-20);margin:0;position:absolute}@media (width>=1024px){.classes-create-form{grid-template-columns:repeat(3,minmax(0,1fr))}.classes-create-form>h2,.classes-create-form>button{grid-column:1/-1}.classes-create-form>label:first-of-type{grid-column:1/2}.classes-create-form>label:has(textarea){grid-column:2/-1}.membership-workspace--manager .members-form{grid-template-columns:repeat(2,minmax(0,1fr))}.membership-workspace--manager .members-form>h2,.membership-workspace--manager .members-form>fieldset,.membership-workspace--manager .members-form>button:last-child{grid-column:1/-1}.membership-workspace--manager .members-form>label:has(textarea){grid-column:1/-1}.membership-workspace--assignment>.members-form{grid-template-columns:repeat(2,minmax(0,1fr))}.membership-workspace--assignment>.members-form>h2,.membership-workspace--assignment>.members-form>label:nth-of-type(-n+2),.membership-workspace--assignment>.members-form>.selected-member-summary,.membership-workspace--assignment>.members-form>button:last-child{grid-column:1/-1}}.selected-member-summary{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-control);gap:var(--space-12);padding:var(--space-12);display:grid}.selected-member-summary>div{gap:var(--space-4);display:grid}.selected-member-summary>div span,.selected-member-summary dt{color:var(--color-text-secondary);font-size:11px;font-weight:600}.selected-member-summary strong{color:var(--color-text);font-size:14px}.selected-member-summary p{color:var(--color-text-secondary);margin:0;font-size:12px;line-height:1.5}.selected-member-summary dl{gap:var(--space-8);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.selected-member-summary dl div{min-width:0}.selected-member-summary dt,.selected-member-summary dd{margin:0}.class-session-select{position:relative}.class-session-select__trigger{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text);cursor:pointer;font:inherit;height:var(--control-height);padding:0 var(--space-12);text-align:left;justify-content:space-between;align-items:center;width:100%;font-weight:600;display:flex}.class-session-select__trigger:focus-visible,.class-session-select__trigger[aria-expanded=true]{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #2563eb1f}.class-session-select__menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control);box-shadow:var(--shadow-card);margin-top:var(--space-4);z-index:10;max-height:18rem;display:grid;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.class-session-select__menu p{color:var(--color-text-secondary);padding:var(--space-12);margin:0;font-size:12px}.class-session-select__option{border:0;border-bottom:1px solid var(--color-border);color:var(--color-text);cursor:pointer;font:inherit;gap:var(--space-4);padding:var(--space-12);text-align:left;background:0 0;width:100%;display:grid}.class-session-select__option:last-child{border-bottom:0}.class-session-select__option:hover,.class-session-select__option:focus-visible,.class-session-select__option[aria-selected=true]{background:var(--color-surface-muted);outline:none}.class-session-select__option strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.class-session-select__option small{color:var(--color-text-secondary);font-size:11px}.selected-member-summary dd{color:var(--color-text);margin-top:var(--space-4);overflow-wrap:anywhere;font-size:12px}.members-list .field-inline{color:var(--color-text);gap:var(--field-gap);margin-top:var(--space-16);max-width:420px;font-size:12px;font-weight:600;display:grid}.members-list .field-inline select{appearance:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text);font:inherit;height:var(--control-height);padding:0 var(--space-12);width:100%;transition:border-color .15s,box-shadow .15s}.members-list .field-inline select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #2563eb1f}.data-table-toolbar{align-items:center;gap:var(--space-8);margin:0 0 var(--space-16);flex-wrap:wrap;display:flex}.data-table-toolbar__search{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text-muted);height:var(--control-height);min-width:0;padding:0 var(--space-12);flex:0 24rem;align-items:center;width:min(100%,24rem);display:flex}.data-table-toolbar__search:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1f}.data-table-toolbar__search input,.data-table-toolbar select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text);font:inherit;height:var(--control-height);outline:0}.data-table-toolbar__search input{appearance:none;box-shadow:none;min-width:0;height:100%;padding-left:var(--space-8);background:0 0;border:0;border-radius:0;flex:auto;width:100%}.data-table-toolbar__search input:focus-visible{box-shadow:none;outline:0}.data-table-toolbar__search input::-webkit-search-cancel-button{appearance:none}.data-table-toolbar__search input::-webkit-search-decoration{appearance:none}.data-table-toolbar__search svg{flex:none}.data-table-toolbar select{min-width:9rem;padding:0 var(--space-12)}.data-table-toolbar__clear{border-radius:var(--radius-button);color:var(--color-text-secondary);cursor:pointer;font:inherit;align-items:center;gap:var(--space-4);min-height:30px;padding:0 var(--space-8);background:0 0;border:0;font-size:12px;font-weight:600;display:inline-flex}.data-table-toolbar__clear:hover,.data-table-toolbar__clear:focus-visible{background:var(--color-surface-muted);color:var(--color-text);outline:none}.data-table-toolbar__count{color:var(--color-text-secondary);margin-left:auto;font-size:12px}.filter-menu{position:relative}.filter-menu__trigger{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text);cursor:pointer;font:inherit;align-items:center;gap:var(--space-8);height:var(--control-height);padding:0 var(--space-12);font-size:14px;font-weight:600;display:inline-flex}.filter-menu__trigger:hover,.filter-menu__trigger:focus-visible{border-color:var(--color-primary);color:var(--color-primary);outline:none}.filter-menu__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);gap:var(--space-12);min-width:min(42rem,100vw - 5rem);padding:var(--space-12);left:0;top:calc(100% + var(--space-8));z-index:10;display:grid;position:absolute}.filter-menu__panel label{color:var(--color-text-secondary);gap:var(--space-4);font-size:12px;font-weight:600;display:grid}.filter-menu__panel select{min-width:100%}.payment-filter-group{gap:var(--space-8);border:0;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;display:grid}.payment-filter-group+.payment-filter-group{border-top:1px solid var(--color-border);padding-top:var(--space-12)}.payment-filter-group legend{color:var(--color-text-secondary);grid-column:1/-1;padding:0;font-size:12px;font-weight:600}.filter-menu__panel .payment-filter-group label{color:var(--color-text);cursor:pointer;align-items:center;gap:var(--space-8);font-size:13px;font-weight:500;display:flex}.payment-filter-group input{accent-color:var(--color-primary);width:16px;height:16px;margin:0}.payment-filter-group p{color:var(--color-text-secondary);margin:0;font-size:12px}@media (width<=767px){.attendance-monitor__picker,.attendance-monitor__summary{grid-template-columns:1fr}.attendance-session-list__summary{grid-template-columns:1fr;align-items:stretch}.attendance-monitor__metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-menu__panel{min-width:min(20rem,100vw - 2rem)}.payment-filter-group{grid-template-columns:1fr}.payment-filter-group legend{grid-column:auto}}.sortable-header{color:inherit;cursor:pointer;font:inherit;font-weight:inherit;align-items:center;gap:var(--space-4);letter-spacing:inherit;text-align:left;min-height:30px;text-transform:inherit;background:0 0;border:0;padding:0;display:inline-flex}.sortable-header:hover,.sortable-header:focus-visible{color:var(--color-primary);outline:none}.members-list .classes-capacity-cell{text-align:center}.members-list .classes-capacity-cell .sortable-header{justify-content:center}.staff-role,.staff-status{min-height:28px;padding:0 var(--space-12);white-space:nowrap;border-radius:999px;align-items:center;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.staff-role{color:var(--color-text-secondary);background:0 0;min-height:auto;padding:0;font-weight:500}.staff-status--active{color:#166534;background:#dcfce7}.staff-status--suspended{color:#b91c1c;background:#fee2e2}.members-list .package-entitlements-cell{min-width:19rem}.package-entitlements{gap:var(--space-8);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.package-entitlements li{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text-secondary);padding:6px var(--space-8);white-space:nowrap;font-size:12px;font-weight:500;line-height:1.2}.package-benefits{color:var(--color-text-secondary);line-height:1.5}.app-main :is(.members-page,.staff-page)>header>p,.app-main :is(.members-list,.staff-list) th{font-weight:var(--font-weight-semibold)}.app-main :is(.members-list,.staff-list) td{font-weight:var(--font-weight-regular)}.app-main :is(.members-list,.staff-list) td>strong{font-weight:var(--font-weight-semibold)}@media (width>=1024px){.membership-workspace .entitlement-fieldset{column-gap:var(--space-12);row-gap:var(--space-12);grid-template-columns:repeat(3,minmax(0,1fr))}.membership-workspace .entitlement-fieldset legend{grid-column:1/-1}.members-list .field-inline{max-width:30rem}.members-list .package-entitlements-cell{min-width:0}}@media (width>=768px) and (width<=1023px){.app-main>:is(.members-page,.staff-page){padding:0}.membership-workspace .entitlement-fieldset,.selected-member-summary dl,.members-form--member-create,.training-template-form,.staff-form--create,.members-form--payment-create{grid-template-columns:repeat(2,minmax(0,1fr))}.members-form--attendance-checkin{grid-template-columns:1fr}.membership-workspace .entitlement-fieldset legend{grid-column:1/-1}.membership-workspace--assignment-only,.membership-workspace.membership-workspace--assignment{grid-template-columns:1fr}.membership-workspace--manager>.members-form,.membership-workspace--manager>.members-list,.membership-workspace--assignment-only>.members-list{grid-area:auto}.membership-assignment-sidebar{grid-template-rows:auto;min-height:auto}.membership-assignment-sidebar .members-list{height:auto}}@media (width<=767px){.membership-workspace.membership-workspace--assignment{grid-template-columns:minmax(0,1fr)}:is(.members-page,.staff-page)>header{margin-bottom:var(--space-24)}:is(.members-page,.staff-page)>:not(header)+:not(header){margin-top:var(--space-24)}:is(.members-grid,.staff-grid),.members-form,.staff-form{gap:var(--space-24)}.members-form--member-create,.training-template-form,.training-action-form,.training-action-grid,.training-field-group,.training-creation-metadata,.training-field-group fieldset{grid-template-columns:1fr}.training-template-form>button,.training-action-form>button,.members-form--member-create>button{justify-self:stretch;width:100%}.staff-form--create{grid-template-columns:1fr}.staff-form--create>button{justify-self:stretch;width:100%}.members-form--booking-create{grid-template-columns:1fr}.members-form--booking-create>button{justify-self:stretch;width:100%}.members-form--payment-create{grid-template-columns:1fr}.members-form--payment-create>button,.members-form--attendance-checkin>button{justify-self:stretch;width:100%}.membership-workspace .entitlement-fieldset{grid-template-columns:1fr}.membership-workspace--manager{gap:var(--space-12);padding:var(--space-12)}.membership-workspace--manager>.members-form,.membership-workspace--manager>.members-list,.membership-workspace--assignment-only>.members-list{grid-area:auto}.selected-member-summary dl{grid-template-columns:1fr}.data-table-toolbar__search,.data-table-toolbar select{width:100%}.data-table-toolbar__count{margin-left:0}.filter-menu,.filter-menu__trigger{width:100%}.filter-menu__panel{left:0;right:0}.class-approval-panel .change-request{flex-direction:column;align-items:stretch}.class-approval-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}.members-page>header>p,.members-list th{font-weight:var(--font-weight-semibold)}.members-list td,.members-list small,.members-list td code{font-weight:var(--font-weight-regular)}.members-list td>strong,.members-list td>:is(strong,.audit-log-table__action){font-weight:var(--font-weight-semibold)}.members-page{min-height:100vh;padding:32px 5vw}.members-page header p{color:var(--color-primary);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.members-page h1{letter-spacing:-.03em;margin:4px 0 28px;font-size:26px}.members-grid{gap:var(--section-gap);grid-template-columns:320px minmax(0,1fr);display:grid}.members-grid>*{min-width:0}.membership-workspace--single{grid-template-columns:minmax(0,760px)}.membership-workspace--catalog{grid-template-columns:minmax(0,1fr)}.members-form,.members-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--panel-padding)}.members-form{align-content:start;gap:var(--form-row-gap);display:grid}.members-form>button[type=submit],.members-form>.button{justify-self:start;min-width:120px}.members-form h2,.members-list h2{letter-spacing:-.015em;margin:0 0 4px;font-size:16px}.members-form label{color:var(--color-text);align-content:start;gap:var(--field-gap);font-size:12px;font-weight:600;display:grid}.members-form input,.members-form select,.members-form textarea{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text);min-height:var(--control-height);width:100%;padding:0 12px;transition:border-color .15s,box-shadow .15s,background-color .15s}.members-form select{appearance:auto;padding-right:32px}.members-form textarea{resize:vertical;min-height:96px;padding:10px 12px}.members-form input::placeholder,.members-form textarea::placeholder{color:var(--color-text-muted)}.members-form input:focus,.members-form select:focus,.members-form textarea:focus{background:var(--color-surface);border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #2563eb1f}.members-form input:disabled,.members-form select:disabled,.members-form textarea:disabled{background:var(--color-surface-muted);color:var(--color-text-muted);cursor:not-allowed}.member-create-account{grid-column:1/-1;grid-template-columns:auto 1fr;align-items:center}.member-create-account input{width:16px;height:16px;min-height:16px;padding:0}.member-credentials{border-radius:var(--radius-card);box-shadow:var(--shadow-card);background:#fffbeb;border:1px solid #fbbf24;padding:20px}.member-credentials>div{align-items:center;gap:10px;margin:10px 0;display:flex}.member-credentials code{font-family:var(--font-mono);font-size:18px}.member-credentials p{color:var(--color-text-secondary);font-size:12px}.members-list table{border-collapse:collapse;width:100%}.members-list th,.members-list td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle;padding:13px 8px}.members-list th{color:var(--color-text-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:700}.members-list tbody tr:last-child td{border-bottom:0}.members-list tbody tr{transition:background-color .15s}.members-list tbody tr:hover{background:var(--color-surface-hover)}.members-list small{color:var(--color-text-secondary);display:block}.members-list code{font-family:var(--font-mono);font-size:12px}.members-list__table th,.members-list__table td{padding-inline:12px}.members-list__table th:first-child{min-width:150px}.members-list__table th:nth-child(2){min-width:180px}.members-list__table th:nth-child(3){min-width:240px}.members-list__table th:nth-child(4){min-width:265px}.members-list__table th:nth-child(5){min-width:165px}.members-list__table th:nth-child(6){min-width:200px}.members-list__table :is(td,th):first-child{padding-left:12px}.members-list__table :is(td,th):last-child{padding-right:12px}.members-list__table td{line-height:1.4}.members-list__table td small{margin-top:3px}.members-list__contact{overflow-wrap:anywhere}.members-list__contact span{display:block}.members-list__package{overflow-wrap:anywhere}.list-heading{align-items:center;gap:var(--space-12);margin-bottom:var(--space-16);justify-content:space-between;display:flex}.list-heading h2{margin-bottom:0}.list-heading__actions{align-items:center;gap:var(--space-8);display:flex}.search-control{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text-muted);align-items:center;min-width:220px;height:36px;padding:0 10px;transition:border-color .15s,box-shadow .15s;display:flex}.search-control:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1f}.search-control input{color:var(--color-text);min-width:0;height:100%;padding:0 0 0 var(--space-8);background:0 0;border:0;outline:0;width:100%}.search-control input::placeholder{color:var(--color-text-muted)}.table-scroll{-webkit-overflow-scrolling:touch;width:100%;max-width:100%;overflow-x:auto}.assignment-history{border-top:1px solid var(--color-border);padding-top:var(--space-16)}.assignment-history h3{margin:0 0 var(--space-8);font-size:14px}.assignment-history ul{gap:var(--space-8);margin:0;padding:0;list-style:none;display:grid}.assignment-history li{gap:var(--space-4);flex-direction:column;display:flex}.assignment-history span{color:var(--color-text-secondary);font-size:12px}.entitlement-fieldset{border:1px solid var(--color-border);border-radius:var(--radius-control);gap:var(--space-8);padding:var(--space-12);margin:0;display:grid}.entitlement-fieldset legend{padding:0 var(--space-4);font-size:12px;font-weight:600}.entitlement-fieldset label{align-items:center;gap:var(--space-8);display:flex}.entitlement-fieldset input{width:16px;height:16px;min-height:16px;padding:0}@media (width>=768px) and (width<=1023px){.members-grid{grid-template-columns:1fr}.members-list{min-width:0}}@media (width<=767px){.members-page{padding:24px}.members-grid{grid-template-columns:1fr}.members-list{overflow:auto}.list-heading{flex-direction:column;align-items:stretch}.list-heading__actions{justify-content:space-between}.search-control{width:100%;min-width:0}.members-form>button[type=submit],.members-form>.button{justify-self:stretch}}
