button:focus:not(:focus-visible),.btn:focus:not(:focus-visible),[role=button]:focus:not(:focus-visible),[class*=btn-]:focus:not(:focus-visible),[class*=button]:focus:not(:focus-visible),.Button:focus:not(:focus-visible),a[href]:focus:not(:focus-visible){box-shadow:none;outline:none}button:focus-visible,.btn:focus-visible,[role=button]:focus-visible,[class*=btn-]:focus-visible,[class*=button]:focus-visible,.Button:focus-visible,a[href]:focus-visible{outline:2px solid var(--ring,hsl(var(--tw-teal)));outline-offset:2px;border-radius:4px}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-sans-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/dm-sans-latin-500-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/dm-sans-latin-600-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/dm-sans-latin-700-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-latin-500-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-latin-600-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-latin-700-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/poppins-latin-500-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/poppins-latin-600-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/poppins-latin-700-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@tailwind base;@tailwind components;@tailwind utilities;@keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}@layer base{h1,h2,h3,h4,h5,h6{font-family:Poppins,sans-serif}:root{--forest-green:188.8 83.7% 19.2%;--mint:184 17% 84%;--off-white:40 25% 98%;--light-gray:40 10% 95%;--dark-gray:140 15% 30%;--text-dark:146 60% 15%;--text-light:0 0% 100%;--status-low:142 76% 40%;--status-medium:40 100% 50%;--status-high:0 85% 55%;--success:142 76% 40%;--warning:38 95% 55%;--error:358 85% 55%;--info:146 85% 45%}@apply border-border;@apply font-sans antialiased bg-[hsl(var(--tw-body-ground))] text-foreground;@apply tracking-tight;@apply text-3xl font-bold md:text-4xl lg:text-5xl;@apply text-2xl font-bold md:text-3xl;@apply text-xl font-semibold md:text-2xl;:focus{outline:none}:focus-visible{outline:2px solid hsl(var(--forest-green));outline-offset:2px;border-radius:4px}button:focus-visible,a:focus-visible,[role=button]:focus-visible,[role=link]:focus-visible{outline:3px solid hsl(var(--forest-green));outline-offset:2px;box-shadow:0 0 0 4px hsl(var(--forest-green) / .2)}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid hsl(var(--forest-green));outline-offset:0;border-color:hsl(var(--forest-green));box-shadow:0 0 0 3px hsl(var(--forest-green) / .1)}.gym-card:focus-visible,[tabindex]:focus-visible{outline:2px solid hsl(var(--forest-green));outline-offset:2px;box-shadow:0 0 0 4px hsl(var(--forest-green) / .15)}:root{--background:var(--tw-ground);--foreground:var(--tw-component-ink);--card:var(--tw-surface);--card-foreground:var(--tw-component-ink);--popover:var(--tw-surface);--popover-foreground:var(--tw-component-ink);--primary:var(--tw-brand);--primary-foreground:var(--tw-on-brand);--secondary:var(--tw-sage-soft);--secondary-foreground:var(--tw-ink);--muted:var(--tw-sage-soft);--muted-foreground:var(--tw-ink-muted);--accent:var(--tw-sage-soft);--accent-foreground:var(--tw-ink);--destructive:var(--tw-error);--destructive-foreground:var(--tw-on-brand);--border:var(--tw-component-border);--input:var(--tw-component-border);--ring:var(--tw-line-strong)}input::placeholder,textarea::placeholder{color:hsl(var(--tw-ink-muted));opacity:1}button:disabled,button[aria-disabled=true],input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed}:root,[data-theme=light]{--tw-ground:36 33% 97%;--tw-surface:0 0% 100%;--tw-brand:189 84% 19%;--tw-brand-2:188.1 83.5% 26.1%;--tw-live:155.6 68.1% 36.9%;--tw-on-brand:0 0% 100%;--tw-live-text:155.8 68.4% 29.8%;--tw-line-strong:40 3.9% 54.3%;--tw-scrim:190 85% 13%;--tw-on-fixed:0 0% 100%;--tw-camera:0 0% 0%;--tw-art-field:hsl(var(--tw-brand-2));--tw-art-shape:hsl(var(--tw-brand));--tw-art-line:hsl(var(--tw-ground));--tw-art-dot:hsl(var(--tw-brand));--tw-art-sun:hsl(var(--tw-gold));--tw-duo-shadow:hsl(var(--tw-brand));--tw-duo-high:hsl(var(--tw-ground));--tw-teal:189 84% 19%;--tw-teal-mid:189.2 41.4% 30.8%;--tw-teal-soft:187.5 20.7% 45.5%;--tw-teal-tint:184 17% 84%;--tw-teal-deep:190 85% 13%;--tw-gold:35 50% 65%;--tw-gold-soft:39.3 50.9% 88.8%;--tw-sage:var(--tw-teal);--tw-sage-deep:var(--tw-teal-deep);--tw-sage-soft:187 22% 92%;--tw-brass:var(--tw-gold);--tw-brass-soft:var(--tw-gold-soft);--tw-ink:140 11% 11%;--tw-ink-muted:156 5% 38%;--tw-line:40 18% 87%;--tw-ivory:var(--tw-ground);--tw-sand:39 30% 91%;--tw-success:146 48% 30%;--tw-warning:38 71% 30%;--tw-error:3 53% 40%;--tw-explore:var(--tw-teal);--tw-eat:19 60% 36%;--tw-recover:193 42% 33%;--tw-play:36 72% 31%;--tw-community:276 24% 40%;--tw-explore-tint:#cfdcdd;--tw-eat-tint:#f8e9df;--tw-eat-grad:#f1d6c4;--tw-play-tint:#f8ecd6;--tw-play-grad:#ead3a6;--tw-recover-tint:#e1eef1;--tw-community-tint:#eee7f2;--tw-community-grad:#dfd0e8;--tw-shadow-card:0 1px 2px #1a1f1c0a, 0 6px 20px #1a1f1c12;--tw-shadow-lifted:0 10px 30px #1a1f1c1f, 0 2px 6px #1a1f1c0f;--tw-shadow-sheet:0 -8px 32px #1a1f1c24;--tw-card-edge:var(--tw-shadow-card);--tw-success-soft:146.7 20.9% 91.6%;--tw-warning-soft:37.5 32% 90.2%;--tw-warning-ink:38 71% 30%;--tw-error-soft:5 35% 94%;--tw-overlay:140 11% 11%;--tw-workout:189 84% 19%;--tw-trips:190 85% 13%;--tw-trips-tint:#cfdcdd;--tw-body-ground:40 23% 95%;--tw-component-ink:132 100% 1%;--tw-component-border:135.4 43.2% 84.1%}.tw-display{letter-spacing:-.02em;font-family:Poppins,sans-serif;font-weight:700}}@media (width<=768px){.admin-content{padding-top:11px}}@media (width>=769px){.admin-content{margin-left:12px}}.hide-scrollbar::-webkit-scrollbar{display:none}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.details-container{background:#fff;border-radius:16px;width:100%;margin:auto;padding:2rem;box-shadow:0 6px 20px #00000014}.header-section{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;display:flex}.gym-name{font-family:Poppins,sans-serif;font-size:1.75rem;font-weight:700}.occupancy-info{text-align:right}.occupancy-chart{border-radius:12px;margin-top:.25rem;padding:.5rem 1rem;font-size:1.25rem;font-weight:600;display:inline-block}.occupancy-chart.low{color:#16a34a;background:#dcfce7}.occupancy-chart.medium{color:#ca8a04;background:#fef9c3}.occupancy-chart.high{color:#dc2626;background:#fee2e2}.stats-row{flex-wrap:wrap;justify-content:space-between;gap:1.5rem;margin-bottom:2rem;display:flex}.stat-card{background-color:#f9fafb;border-radius:12px;flex:1;padding:1.25rem;box-shadow:0 2px 8px #0000000d}.stat-card h4{margin-bottom:.75rem;font-size:1rem;font-weight:600}.tag-list{flex-wrap:wrap;gap:.5rem;display:flex}.tag-pill{color:#374151;background-color:#e5e7eb;border-radius:999px;padding:.4rem .75rem;font-size:.75rem}.action-tag{color:#374151;cursor:pointer;background-color:#e5e7eb;border:none;border-radius:999px;align-items:center;padding:.5rem 1rem;font-size:.875rem;transition:all .2s;display:inline-flex}.action-tag:hover{background-color:#d1d5db}.action-tag svg{margin-right:.375rem}.areas-section{margin-top:2rem}.area-bar{background:#e5e7eb;border-radius:8px;height:10px;margin-top:.75rem;margin-bottom:1.25rem;position:relative}.area-bar-fill{border-radius:8px;height:10px;position:absolute;top:0;left:0}.area-bar-fill.green{background-color:#22c55e}.area-bar-fill.yellow{background-color:#facc15}.area-bar-fill.red{background-color:#ef4444}.footer-buttons{flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:2rem;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-framer-motion],[data-framer-motion-animate],.motion-div{transition:none!important;transform:none!important}.gym-card:hover{transform:none!important}@keyframes progress-bar-stripes{0%,to{background-position:0 0}}}@layer components{@apply mx-auto w-full min-h-screen bg-[hsl(var(--tw-ivory))] text-[hsl(var(--tw-ink))];.tw-app{max-width:480px;box-shadow:0 0 0 1px hsl(var(--tw-line))}@media (width>=481px){.tw-app{box-shadow:0 0 80px #1a1f1c0f}}@media (width>=900px){.tw-app.tw-app-wide{max-width:72rem}}@apply bg-surface rounded-[20px] overflow-hidden;.tw-card{box-shadow:var(--tw-card-edge);transition:box-shadow .22s,transform .22s}@media (hover:hover) and (pointer:fine){.tw-card.tw-pressable:hover{box-shadow:var(--tw-shadow-lifted);transform:translateY(-2px)}}@apply transition-transform duration-150 active:scale-[.985];@media (prefers-reduced-motion:reduce){.tw-card,.tw-pressable{transition:none}.tw-card.tw-pressable:hover{transform:none}}@apply uppercase font-semibold text-[11px] text-[hsl(var(--tw-ink-muted))];.tw-section-label{letter-spacing:.12em}.tw-num{font-variant-numeric:tabular-nums}.tw-lift{transition:transform .18s}.tw-lift:active{transform:translateY(-2px)}@apply inline-block h-2 w-2 rounded-full bg-[hsl(var(--tw-live))];.tw-live-dot{animation:1.8s ease-in-out infinite tw-breathe}@keyframes tw-breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}.tw-fade-in{animation:.18s ease-out both tw-fade-in}@keyframes tw-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.tw-lift,.tw-lift:active{transition:none;transform:none}.tw-live-dot,.tw-fade-in{animation:none}}@apply inline-flex items-center gap-1.5 rounded-full border px-4 text-[13px] font-semibold whitespace-nowrap transition-colors;.tw-chip{border-color:hsl(var(--tw-line));min-height:44px;color:hsl(var(--tw-ink));background:hsl(var(--tw-surface))}@apply h-12 w-full rounded-2xl border bg-surface px-4 text-[15px] outline-none transition-colors;.tw-field{border-color:hsl(var(--tw-line-strong))}.tw-field:focus{border-color:hsl(var(--tw-sage))}.tw-chip[data-active=true]{background:hsl(var(--tw-sage-soft));border-color:hsl(var(--tw-sage));color:hsl(var(--tw-sage-deep))}@apply inline-flex items-center justify-center gap-2 rounded-full px-5 font-semibold text-[15px] transition-all tw-pressable disabled:opacity-50 disabled:pointer-events-none;.tw-btn{min-height:48px}.tw-btn[aria-disabled=true]{opacity:.5;cursor:progress}.tw-btn-primary{background:hsl(var(--tw-sage));color:hsl(var(--tw-on-brand))}.tw-btn-primary:hover{background:hsl(var(--tw-sage-deep))}.tw-btn-secondary{background:hsl(var(--tw-surface));color:hsl(var(--tw-sage-deep));border:1px solid hsl(var(--tw-line))}.tw-btn-ghost{color:hsl(var(--tw-sage-deep));background:0 0}.tw-accent-fg{color:var(--accent,hsl(var(--tw-sage)))}.tw-accent-bg{background:var(--accent-bg,hsl(var(--tw-sage-soft)))}.tw-photo-caption{background-image:linear-gradient(to top, hsl(var(--tw-teal-deep) / .94) 0%, hsl(var(--tw-teal-deep) / .82) 100%)}@apply flex gap-3 overflow-x-auto hide-scrollbar;.tw-rail{scroll-snap-type:x mandatory}.tw-rail>*{scroll-snap-align:start}@apply rounded-xl bg-[hsl(var(--tw-sand))];.tw-skeleton{background-image:linear-gradient(90deg, hsl(var(--tw-sand)) 0%, hsl(var(--tw-surface)) 50%, hsl(var(--tw-sand)) 100%);background-size:200% 100%;animation:1.3s ease-in-out infinite tw-shimmer}@keyframes tw-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}}@media (prefers-reduced-motion:reduce){.tw-skeleton{animation:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
