.connect-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;color:#fff;font-family:Inter,sans-serif}.connect-loader--inline{flex-direction:row;gap:.5rem}.connect-loader--fullscreen{position:fixed;inset:0;min-height:100vh;background:#000;z-index:2000}.connect-loader-label{font-size:.9rem;font-weight:400;color:#fff9;text-align:center;margin:0}.connect-loader-spinner{position:relative;transform:rotate(45deg);perspective:1000px;border-radius:50%;color:#fff}.connect-loader-spinner--xs{width:32px;height:32px}.connect-loader-spinner--sm{width:48px;height:48px}.connect-loader-spinner--md{width:64px;height:64px}.connect-loader-spinner--lg{width:80px;height:80px}.connect-loader-spinner:before,.connect-loader-spinner:after{content:"";display:block;position:absolute;top:0;left:0;width:inherit;height:inherit;border-radius:50%;transform:rotateX(70deg);animation:connectLoaderSpin 1s linear infinite}.connect-loader-spinner:after{color:#a6ce39;transform:rotateY(70deg);animation-delay:.4s}.connect-loader-spinner--xs:before,.connect-loader-spinner--xs:after{animation-name:connectLoaderSpin-xs}.connect-loader-spinner--sm:before,.connect-loader-spinner--sm:after{animation-name:connectLoaderSpin-sm}.connect-loader-spinner--md:before,.connect-loader-spinner--md:after{animation-name:connectLoaderSpin-md}.connect-loader-spinner--lg:before,.connect-loader-spinner--lg:after{animation-name:connectLoaderSpin-lg}@keyframes connectLoaderSpin-xs{0%,to{box-shadow:.15em 0 0 0 currentcolor}12%{box-shadow:.15em .15em 0 0 currentcolor}25%{box-shadow:0 .15em 0 0 currentcolor}37%{box-shadow:-.15em .15em 0 0 currentcolor}50%{box-shadow:-.15em 0 0 0 currentcolor}62%{box-shadow:-.15em -.15em 0 0 currentcolor}75%{box-shadow:0 -.15em 0 0 currentcolor}87%{box-shadow:.15em -.15em 0 0 currentcolor}}@keyframes connectLoaderSpin-sm{0%,to{box-shadow:.2em 0 0 0 currentcolor}12%{box-shadow:.2em .2em 0 0 currentcolor}25%{box-shadow:0 .2em 0 0 currentcolor}37%{box-shadow:-.2em .2em 0 0 currentcolor}50%{box-shadow:-.2em 0 0 0 currentcolor}62%{box-shadow:-.2em -.2em 0 0 currentcolor}75%{box-shadow:0 -.2em 0 0 currentcolor}87%{box-shadow:.2em -.2em 0 0 currentcolor}}@keyframes connectLoaderSpin-md{0%,to{box-shadow:.25em 0 0 0 currentcolor}12%{box-shadow:.25em .25em 0 0 currentcolor}25%{box-shadow:0 .25em 0 0 currentcolor}37%{box-shadow:-.25em .25em 0 0 currentcolor}50%{box-shadow:-.25em 0 0 0 currentcolor}62%{box-shadow:-.25em -.25em 0 0 currentcolor}75%{box-shadow:0 -.25em 0 0 currentcolor}87%{box-shadow:.25em -.25em 0 0 currentcolor}}@keyframes connectLoaderSpin-lg{0%,to{box-shadow:.3em 0 0 0 currentcolor}12%{box-shadow:.3em .3em 0 0 currentcolor}25%{box-shadow:0 .3em 0 0 currentcolor}37%{box-shadow:-.3em .3em 0 0 currentcolor}50%{box-shadow:-.3em 0 0 0 currentcolor}62%{box-shadow:-.3em -.3em 0 0 currentcolor}75%{box-shadow:0 -.3em 0 0 currentcolor}87%{box-shadow:.3em -.3em 0 0 currentcolor}}#booking-toast-root{position:fixed;inset:0;pointer-events:none;z-index:9998}.booking-msg-toast{pointer-events:auto;position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 84px);width:min(420px,calc(100vw - 24px));transform:translate(-50%);z-index:9999;animation:bookingToastIn .38s cubic-bezier(.22,1,.36,1)}@keyframes bookingToastIn{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.booking-msg-toast--out{animation:bookingToastOut .32s ease-in forwards}@keyframes bookingToastOut{to{opacity:0;transform:translate(-50%,16px)}}.booking-msg-toast-inner{display:flex;flex-direction:row;align-items:center;gap:12px;padding:12px 12px 12px 14px;border-radius:18px;cursor:pointer;background:#1c1c1ed1;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 24px #00000059,0 0 0 1px #ffffff0a inset}.booking-msg-toast-icon{flex-shrink:0;width:40px;height:40px;border-radius:12px;background:#a6ce3926;color:#a6ce39;display:flex;align-items:center;justify-content:center}.booking-msg-toast-icon svg{display:block}.booking-msg-toast-text{flex:1;min-width:0}.booking-msg-toast-title{font-weight:600;font-size:.9rem;color:#fafafa;line-height:1.25;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-msg-toast-body{font-size:.8125rem;color:#ffffffa6;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-msg-toast-action{flex-shrink:0;padding:8px 10px;margin:0;border:none;background:transparent;color:#a6ce39;font-weight:600;font-size:.8125rem;letter-spacing:.02em;cursor:pointer;border-radius:8px}.booking-msg-toast-action:hover{background:#a6ce391f}.booking-msg-toast-close{flex-shrink:0;width:32px;height:32px;margin:0;padding:0;border:none;background:transparent;color:#ffffff73;font-size:1.35rem;line-height:1;cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center}.booking-msg-toast-close:hover{color:#ffffffd9;background:#ffffff0f}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:1000;padding-bottom:env(safe-area-inset-bottom,0);pointer-events:none}.bottom-nav__inner{display:flex;align-items:stretch;justify-content:space-around;gap:4px;min-height:60px;padding:6px 8px 0;margin:0;background:#111;border-top:1px solid #1e1e1e;box-sizing:border-box;pointer-events:auto}.bottom-nav__tab{flex:1;max-width:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 8px;margin:0;border:none;border-radius:12px;background:transparent;color:#555;cursor:pointer;font-family:Inter,system-ui,sans-serif;transition:color .2s ease,background .2s ease,opacity .2s ease}.bottom-nav__tab--join:not(.bottom-nav__tab--active){color:#af0}.bottom-nav__tab--join:not(.bottom-nav__tab--active) .bottom-nav__icon{color:#af0;stroke:#af0}.bottom-nav__tab--active{color:#af0;background:#1a2a1a;padding:4px 12px}.bottom-nav__tab--active .bottom-nav__icon{color:#af0;stroke:#af0}.bottom-nav__tab--active .bottom-nav__label{color:#af0}.bottom-nav__icon-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:28px;height:22px}.bottom-nav__icon{flex-shrink:0}.bottom-nav__label{font-size:10px;font-weight:500;line-height:1.2;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-nav__badge{position:absolute;top:-4px;right:-6px;min-width:16px;height:16px;padding:0 4px;border-radius:50%;background:#e24b4a;color:#fff;font-size:9px;font-weight:700;line-height:16px;text-align:center;box-sizing:border-box}.bottom-nav__badge--dot{min-width:8px;width:8px;height:8px;padding:0;top:0;right:0;font-size:0;line-height:0}@media(prefers-reduced-motion:reduce){.bottom-nav__tab{transition:none}}.offline-banner{position:fixed;top:0;left:0;right:0;background:#ffc107f2;color:#000;padding:8px 16px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:500;z-index:9999;box-shadow:0 2px 8px #0003;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.offline-banner-icon{flex-shrink:0}.offline-banner-text{text-align:center}:root{--cf-bg-primary: #0C0C0C;--cf-bg-card: #111111;--cf-accent-lime: #aaff00;--cf-text-primary: #FFFFFF;--cf-text-secondary: #BEBEBE;--cf-text-tertiary: #7A7A7A;--cf-text-inactive: #777777;--cf-border: #262626;--cf-border-divider: rgba(38, 38, 38, .6);--cf-radius-card: 16px;--cf-radius-button: 14px;--cf-radius-media: 18px;--cf-radius-container: 20px;--cf-radius-tag: 16px;--cf-radius-chip: 12px;--cf-radius-pill: 28px;--cf-radius-card-lg: 20px;--cf-cta-height: 56px;--cf-cta-bg: #aaff00;--cf-cta-text: #0C0C0C;--cf-spacing-xs: 8px;--cf-spacing-sm: 12px;--cf-spacing-md: 16px;--cf-spacing-lg: 20px;--cf-spacing-xl: 24px;--cf-shadow-lime-glow: 0 0 18px rgba(170, 255, 0, .22);--cf-shadow-soft: 0 0 18px rgba(0, 0, 0, .3);--cf-shadow-card: 0 0 18px rgba(0, 0, 0, .3);--cf-button-primary-bg: #aaff00;--cf-button-primary-text: #000000;--cf-button-secondary-bg: #111111;--cf-button-secondary-border: #aaff00;--cf-button-secondary-text: #FFFFFF;--cf-button-ghost-text: #aaff00;--cf-tab-active-text: #FFFFFF;--cf-tab-active-underline: #aaff00;--cf-tab-inactive-text: #777777;--cf-tab-underline-height: 2px;--cf-font-family: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro", "Segoe UI", sans-serif;--cf-font-h1-size: 24px;--cf-font-h1-weight: 600;--cf-font-h2-size: 18px;--cf-font-h2-weight: 500;--cf-font-body-size: 15px;--cf-font-body-weight: 400;--cf-font-label-size: 13px;--cf-font-label-weight: 500;--cf-line-height: 1.5;--cf-media-overlay: rgba(0, 0, 0, .15);--cf-popover-bg: rgba(17, 17, 17, .85);--cf-popover-padding: 14px;--cf-popover-icon-spacing: 20px}.btn-primary,.btn-secondary{padding:var(--cf-spacing-sm) var(--cf-spacing-lg);border-radius:var(--cf-radius-button);font-family:var(--cf-font-family);font-size:var(--cf-font-body-size);font-weight:600;cursor:pointer;transition:all .2s ease;border:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--cf-spacing-xs);white-space:nowrap}.btn-primary{background:var(--cf-button-primary-bg);color:var(--cf-button-primary-text)}.btn-primary:hover:not(:disabled){background:var(--cf-accent-lime);transform:translateY(-1px);box-shadow:var(--cf-shadow-lime-glow)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;background:var(--cf-bg-card);color:var(--cf-text-tertiary)}.btn-secondary{background:var(--cf-button-secondary-bg);color:var(--cf-button-secondary-text);border:1px solid var(--cf-button-secondary-border)}.btn-secondary:hover:not(:disabled){background:var(--cf-bg-card);border-color:var(--cf-accent-lime);color:var(--cf-accent-lime)}.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--cf-button-ghost-text);border:none;padding:var(--cf-spacing-sm) var(--cf-spacing-lg);border-radius:var(--cf-radius-button);font-family:var(--cf-font-family);font-size:var(--cf-font-body-size);font-weight:600;cursor:pointer;transition:all .2s ease}.btn-ghost:hover:not(:disabled){background:#aaff001f}.btn-ghost:disabled{opacity:.5;cursor:not-allowed}*{margin:0;padding:0;box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;background:var(--cf-bg-primary);overflow-x:hidden}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--cf-bg-primary);color:var(--cf-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;width:100%;background:var(--cf-bg-primary);display:flex;flex-direction:column;padding-bottom:calc(60px + env(safe-area-inset-bottom,0px))}.connectfit-logo{display:block;max-width:100%;height:auto;object-fit:contain}.login-header .connectfit-logo{width:100px;height:auto;max-height:60px;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;background:transparent;object-fit:contain}.profile-header .connectfit-logo{width:80px;height:auto;max-height:50px}.role-selection-header .connectfit-logo{width:60px;height:auto;max-height:35px}.auth-login-screen{min-height:100dvh;min-height:100vh;width:100%;background:#0d0d0d;color:#fff;font-family:Inter,system-ui,sans-serif;display:flex;flex-direction:column;box-sizing:border-box;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);overflow-x:hidden;overflow-y:auto}.auth-login-topbar{flex-shrink:0;padding:12px 16px 0;display:flex;align-items:flex-start}.auth-login-back{width:36px;height:36px;border-radius:50%;border:1px solid #2a2a2a;background:#161616;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background .15s ease,border-color .15s ease}.auth-login-back:hover{background:#1c1c1c;border-color:#333}.auth-login-back:focus-visible{outline:2px solid rgba(170,255,0,.45);outline-offset:2px}.auth-login-back:disabled{opacity:.5;cursor:not-allowed}.auth-login-hero{flex:0 0 40%;min-height:0;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 24px 16px;box-sizing:border-box}.auth-login-hero-glow{position:absolute;inset:-8px 0 0;background:radial-gradient(ellipse at 50% 0%,rgba(170,255,0,.08) 0%,transparent 60%);pointer-events:none}.auth-login-hero-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}.auth-login-hero .connectfit-logo{max-width:160px;height:auto}.auth-login-headline{margin:0;font-size:28px;font-weight:700;line-height:1.2;letter-spacing:-.02em;color:#fff}.auth-login-headline-line2{display:block;color:#af0}.auth-login-sub{margin:8px 0 0;font-size:14px;line-height:1.45;color:#888;max-width:320px}.auth-login-main{flex:1;display:flex;flex-direction:column;min-height:0;padding:0 24px 20px;box-sizing:border-box}.auth-login-tabs{display:flex;width:100%;gap:0;padding:4px;background:#161616;border-radius:12px;box-sizing:border-box}.auth-login-tab{flex:1;border:none;background:transparent;color:#888;font-size:14px;font-weight:600;font-family:inherit;padding:10px 12px;border-radius:10px;cursor:pointer;transition:background .2s ease,color .2s ease}.auth-login-tab--active{background:#af0;color:#000}.auth-login-tab:focus-visible{outline:2px solid rgba(170,255,0,.45);outline-offset:2px}.auth-login-fade-wrap{animation:auth-login-fade .2s ease both}@keyframes auth-login-fade{0%{opacity:0}to{opacity:1}}.auth-login-mode-title{margin:20px 0 0;font-size:22px;font-weight:700;color:#fff}.auth-login-error{margin-top:12px;padding:10px 12px;border-radius:10px;background:#ff44441f;border:1px solid rgba(255,68,68,.25);color:#ffb4b4;font-size:13px;line-height:1.4}.auth-login-info{margin-top:12px;padding:10px 12px;border-radius:10px;background:#aaff0014;border:1px solid rgba(170,255,0,.2);color:#ccefb0;font-size:13px;line-height:1.4}.auth-btn-google{margin-top:20px;width:100%;height:52px;border:none;border-radius:14px;box-shadow:0 2px 12px #0006;background:#fff;display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:700;color:#000;transition:transform .12s ease,filter .12s ease}.auth-btn-google:active{transform:scale(.99)}.auth-btn-google:disabled{opacity:.55;cursor:not-allowed}.auth-btn-apple{margin-top:10px;width:100%;height:52px;border-radius:14px;border:1px solid #2a2a2a;background:#1a1a1a;display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:700;color:#fff;transition:background .15s ease,border-color .15s ease}.auth-btn-apple:hover{background:#222}.auth-btn-apple:disabled{opacity:.55;cursor:not-allowed}.auth-login-divider{display:flex;align-items:center;margin:20px 0;gap:0}.auth-login-divider:before,.auth-login-divider:after{content:"";flex:1;height:1px;background:#1e1e1e}.auth-login-divider span{padding:0 10px;font-size:11px;color:#555;background:#0d0d0d}.auth-btn-email-outline{width:100%;height:48px;border-radius:14px;border:1px solid #2a2a2a;background:transparent;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;font-family:inherit;font-size:13px;color:#aaa;transition:border-color .15s ease,background .15s ease}.auth-btn-email-outline:hover{border-color:#3a3a3a;background:#ffffff08}.auth-btn-email-outline:disabled{opacity:.5;cursor:not-allowed}.auth-email-panel{overflow:hidden;max-height:0;opacity:0;transition:max-height .3s ease,opacity .3s ease}.auth-email-panel--open{max-height:420px;opacity:1}.auth-email-panel-inner{padding-top:16px;display:flex;flex-direction:column;gap:12px}.auth-login-field{width:100%;height:52px;padding:0 16px;box-sizing:border-box;border-radius:12px;border:1px solid #2a2a2a;background:#161616;color:#fff;font-size:15px;font-family:inherit;transition:border-color .15s ease}.auth-login-field::placeholder{color:#555}.auth-login-field:focus{outline:none;border-color:#af0}.auth-login-pw-wrap{position:relative;display:flex;align-items:center}.auth-login-pw-wrap .auth-login-field{padding-right:48px}.auth-login-pw-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);border:none;background:none;color:#555;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.auth-login-pw-toggle:hover{color:#888}.auth-btn-primary{width:100%;height:52px;margin-top:4px;border:none;border-radius:var(--cf-radius-button, 14px);-webkit-appearance:none;appearance:none;background:var(--cf-button-primary-bg);color:var(--cf-button-primary-text);font-size:15px;font-weight:700;font-family:var(--cf-font-family, "Inter", system-ui, sans-serif);cursor:pointer;transition:filter .15s ease,opacity .15s ease}.auth-btn-primary:hover:not(:disabled){filter:brightness(1.05)}.auth-btn-primary:disabled{opacity:.5;cursor:not-allowed}.auth-login-forgot{display:block;width:100%;text-align:right;margin-top:6px;border:none;background:none;padding:0;font-size:12px;color:#666;cursor:pointer;text-decoration:underline;font-family:inherit}.auth-login-forgot:hover{color:#888}.auth-login-hide-email{display:block;width:100%;text-align:center;margin-top:10px;border:none;background:none;padding:0;font-size:11px;color:#555;cursor:pointer;font-family:inherit}.auth-login-hide-email:hover{color:#777}.auth-login-bottom-link{margin-top:20px;text-align:center;font-size:13px;color:#888;line-height:1.5}.auth-login-bottom-link button{border:none;background:none;padding:0;font:inherit;color:#af0;font-weight:700;text-decoration:underline;cursor:pointer}.auth-login-bottom-link button:hover{filter:brightness(1.1)}.auth-login-footer{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:28px;padding-top:0}.auth-login-trust{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:99px;background:#161616;border:1px solid #2a2a2a;max-width:100%;box-sizing:border-box}.auth-login-trust svg{flex-shrink:0;color:#af0}.auth-login-trust span{font-size:12px;color:#aaa;line-height:1.35;text-align:left}.auth-login-legal{margin:0;font-size:11px;color:#555;text-align:center;line-height:1.45;max-width:320px}.auth-login-legal a{color:#666;text-decoration:underline}.auth-login-legal a:hover{color:#888}.auth-login-confirmation{margin-top:16px;text-align:center}.auth-login-confirmation-title{font-size:16px;font-weight:600;margin:0 0 8px;color:#fff}.auth-login-confirmation-text{font-size:13px;color:#888;margin:0 0 16px;line-height:1.45}
