:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--crimson-50:#fbf1f2;--crimson-100:#f6dce0;--crimson-200:#ecb5be;--crimson-500:#c21e3a;--crimson-600:#a3112b;--crimson-700:#850c22;--crimson-900:#4a0613;--night-800:#1e1517;--night-900:#150f11;--saddle-100:#f3e8da;--saddle-500:#a9763f;--saddle-600:#8c5f30;--linen-0:#fff;--linen-50:#fbf9f6;--linen-100:#f4f0ea;--linen-200:#e9e3da;--linen-300:#d8d0c4;--ink-900:#1d1d1f;--ink-700:#424245;--ink-500:#6e6e73;--success-600:#2e7d55;--success-50:#ecf6f0;--warning-600:#a35a00;--warning-50:#fff5e6;--danger-600:#c9341f;--danger-50:#fdeeeb;--info-600:#2f5e8c;--info-50:#edf3f9;--color-bg:var(--linen-50);--color-bg-alt:var(--linen-100);--color-surface:var(--linen-0);--color-surface-raised:var(--linen-0);--color-line:var(--linen-200);--color-line-strong:var(--linen-300);--color-text:var(--ink-900);--color-text-2:var(--ink-700);--color-text-3:var(--ink-500);--color-accent:var(--crimson-600);--color-accent-hover:var(--crimson-700);--color-accent-soft:var(--crimson-50);--color-on-accent:#fff;--color-deep:var(--night-800);--color-on-deep:#f4f1ea;--color-detail:var(--saddle-600);--color-focus:color-mix(in srgb, var(--crimson-500) 45%, transparent);--material-bar:#fbf9f6b8;--material-bar-line:#1d1d1f14;--font-sans:system-ui, -apple-system, "Segoe UI Variable Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:ui-serif, "New York", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--radius-s:10px;--radius-m:16px;--radius-l:24px;--radius-pill:999px;--shadow-1:0 1px 2px #1d1d1f0d, 0 1px 1px #1d1d1f08;--shadow-2:0 10px 30px -12px #1d1d1f2e, 0 2px 6px #1d1d1f0d;--shadow-3:0 30px 60px -20px #4a061347, 0 8px 20px -8px #1d1d1f1f;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--dur-press:.12s;--dur-ui:.22s}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--color-bg:#121012;--color-bg-alt:#19161a;--color-surface:#1e1b1f;--color-surface-raised:#262227;--color-line:#ffffff17;--color-line-strong:#ffffff29;--color-text:#f5f5f7;--color-text-2:#c7c7cc;--color-text-3:#a1a1a6;--color-accent:#e2475f;--color-accent-hover:#ec6a7e;--color-accent-soft:#e2475f24;--color-deep:#0c090a;--color-detail:#d2a372;--success-50:#4caf7829;--success-600:#6cc596;--material-bar:#121012b3;--material-bar-line:#ffffff14;--shadow-2:0 10px 30px -12px #0009;--shadow-3:0 30px 60px -20px #000000b3}}:root{--sidebar-width:264px;--sidebar-rail:76px}.shell,.shell__body{min-height:100dvh}.sidebar{z-index:40;width:var(--sidebar-width);padding:14px 12px calc(14px + env(safe-area-inset-bottom));background:var(--color-surface);border-right:1px solid var(--color-line);overscroll-behavior:contain;flex-direction:column;gap:4px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.sidebar__head{justify-content:space-between;align-items:center;gap:8px;min-height:44px;margin-bottom:8px;padding:0 4px 0 6px;display:flex}.sidebar__brand{min-width:0;color:var(--color-text);align-items:center;gap:10px;font-weight:700;text-decoration:none;display:inline-flex}.sidebar__brand img{flex:none;width:40px;height:auto}.sidebar__brand small{color:var(--color-text-3);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:600}.sidebar__icon-btn{border-radius:var(--radius-s);width:36px;height:36px;color:var(--color-text-3);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--dur-ui) ease, color var(--dur-ui) ease;background:0 0;border:0;flex:none;place-items:center;display:inline-grid}.sidebar__icon-btn svg{width:20px;height:20px}.sidebar__collapse svg{transition:transform var(--dur-ui) var(--ease-out)}.sidebar__search{align-items:center;margin:0 2px 6px;display:flex;position:relative}.sidebar__search>svg{width:16px;height:16px;color:var(--color-text-3);pointer-events:none;position:absolute;left:11px}.sidebar__search input{border-radius:var(--radius-s);background:var(--color-bg-alt);width:100%;min-height:40px;color:var(--color-text);border:1px solid #0000;padding:8px 36px 8px 34px;font-size:.9375rem}.sidebar__search input::placeholder{color:var(--color-text-3)}.sidebar__search input:focus-visible{outline:3px solid var(--color-focus);outline-offset:1px;border-color:var(--color-accent);background:var(--color-surface)}.sidebar__search kbd{border:1px solid var(--color-line-strong);min-width:20px;color:var(--color-text-3);font:600 .75rem / 1.4 var(--font-sans);text-align:center;pointer-events:none;border-radius:6px;padding:1px 6px;position:absolute;right:9px}@media (hover:none){.sidebar__search kbd{display:none}}.sidebar__nav{gap:2px;display:grid}.sidebar__group{color:var(--color-text-3);letter-spacing:.08em;text-transform:uppercase;padding:16px 10px 6px;font-size:.6875rem;font-weight:700}.sidebar__link{border-radius:var(--radius-s);min-height:40px;color:var(--color-text-2);transition:background-color var(--dur-ui) ease, color var(--dur-ui) ease;align-items:center;gap:12px;padding:0 10px;font-size:.9375rem;font-weight:500;text-decoration:none;display:flex}.sidebar__link svg{flex:none;width:20px;height:20px}.sidebar__link[aria-current=page]{background:var(--color-accent-soft);color:var(--color-accent);font-weight:600}.sidebar__count{color:var(--color-text-3);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.8125rem}.sidebar__badge{border-radius:var(--radius-pill);background:var(--color-accent);min-width:22px;height:22px;color:var(--color-on-accent);font-variant-numeric:tabular-nums;place-items:center;margin-left:auto;padding:0 7px;font-size:.75rem;font-weight:700;display:inline-grid}.sidebar__cta{gap:8px;width:100%;margin:14px 0 2px}.sidebar__cta svg{flex:none;width:18px;height:18px}.sidebar__clubs{gap:1px;margin:0;padding:0;list-style:none;display:grid}.sidebar__clubs a{border-radius:var(--radius-s);min-height:36px;color:var(--color-text-2);align-items:center;gap:10px;padding:0 10px 0 14px;font-size:.875rem;text-decoration:none;display:flex}.sidebar__clubs a[aria-current=page]{background:var(--color-bg-alt);color:var(--color-text);font-weight:600}.sidebar__club-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sidebar__dot{background:var(--success-600);border-radius:50%;flex:none;width:8px;height:8px}.sidebar__dot--off{background:var(--danger-600)}.sidebar__foot{border-top:1px solid var(--color-line);align-items:center;gap:8px;margin-top:auto;padding:12px 4px 0 6px;display:flex}.sidebar__foot form{margin:0 0 0 auto}.sidebar__user{align-items:center;gap:10px;min-width:0;display:flex}.sidebar__avatar{background:var(--color-accent-soft);width:34px;height:34px;color:var(--color-accent);border-radius:50%;flex:none;place-items:center;font-size:.8125rem;font-weight:700;display:grid}.sidebar__who{min-width:0;line-height:1.25;display:grid}.sidebar__who b{text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}.sidebar__who small{color:var(--color-text-3);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}@media (hover:hover) and (pointer:fine){.sidebar__link:hover:not([aria-current=page]),.sidebar__clubs a:hover:not([aria-current=page]),.sidebar__icon-btn:hover{background:var(--color-bg-alt);color:var(--color-text)}}.shell__topbar{z-index:20;background:var(--material-bar);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--material-bar-line);align-items:center;gap:8px;height:56px;padding:0 12px;display:flex;position:sticky;top:0}.shell__topbar .sidebar__icon-btn{width:44px;height:44px;color:var(--color-text)}@media (width>=1024px){.shell__body{margin-left:var(--sidebar-width)}.shell__topbar,.sidebar__close,.shell__scrim{display:none}.sidebar-collapsed .sidebar{width:var(--sidebar-rail);padding-inline:14px}.sidebar-collapsed .shell__body{margin-left:var(--sidebar-rail)}.sidebar-collapsed .sidebar__label,.sidebar-collapsed .sidebar__count,.sidebar-collapsed .sidebar__group,.sidebar-collapsed .sidebar__search,.sidebar-collapsed .sidebar__clubs,.sidebar-collapsed .sidebar__who{display:none}.sidebar-collapsed .sidebar__head{flex-direction:column;gap:10px;margin-bottom:14px;padding:0}.sidebar-collapsed .sidebar__collapse svg{transform:rotate(180deg)}.sidebar-collapsed .sidebar__link{justify-content:center;min-height:44px;padding:0;position:relative}.sidebar-collapsed .sidebar__badge{width:9px;min-width:0;height:9px;box-shadow:0 0 0 2px var(--color-surface);padding:0;font-size:0;position:absolute;top:6px;right:6px}.sidebar-collapsed .sidebar__cta{--btn-padding-x:0;justify-self:center;width:44px}.sidebar-collapsed .sidebar__foot{flex-direction:column;gap:10px;padding:12px 0 0}.sidebar-collapsed .sidebar__foot form{margin:0}}@media (width<=1023px){.sidebar{visibility:hidden;width:min(300px,86vw);box-shadow:var(--shadow-3);transition:transform .28s var(--ease-out), visibility 0s linear .28s;transform:translate(-100%)}.sidebar-open .sidebar{visibility:visible;transition:transform .28s var(--ease-out), visibility 0s;transform:none}.sidebar__collapse{display:none}.sidebar__icon-btn{width:44px;height:44px}.shell__scrim{z-index:30;background:#00000052;position:fixed;inset:0}.sidebar-open body{overflow:hidden}}@media (prefers-reduced-transparency:reduce){.shell__topbar{background:var(--color-surface);-webkit-backdrop-filter:none;backdrop-filter:none}}.tag{border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:6px;padding:3px 10px;font-size:.8125rem;font-weight:600;display:inline-flex}.tag:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.tag--ok{background:var(--success-50);color:var(--success-600)}.tag--warn{background:var(--warning-50);color:var(--warning-600)}.tag--off{background:var(--danger-50);color:var(--danger-600)}.tag--muted{background:var(--color-bg-alt);color:var(--color-text-2)}.tag--muted:before{display:none}.skip-link{z-index:100;background:var(--color-text);color:var(--color-bg);border-radius:var(--radius-s);padding:10px 16px;text-decoration:none;position:absolute;top:-60px;left:16px}.skip-link:focus{top:12px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root{--primary:var(--crimson-600);--primary-dark:var(--crimson-700);--primary-light:var(--crimson-200);--primary-subtle:var(--crimson-50);--primary-gradient:linear-gradient(135deg, var(--crimson-700) 0%, var(--crimson-600) 100%);--secondary:var(--ink-900);--secondary-light:var(--ink-500);--gold:var(--saddle-500);--gold-light:var(--saddle-100);--gold-dark:var(--saddle-600);--gold-gradient:linear-gradient(135deg, #e4cdae 0%, var(--saddle-500) 100%);--bg-page:var(--linen-50);--bg-surface:var(--linen-0);--bg-card:var(--linen-0);--text-main:var(--ink-900);--text-muted:var(--ink-500);--text-light:#8e8e93;--success:var(--success-600);--success-bg:var(--success-50);--warning:var(--warning-600);--warning-bg:var(--warning-50);--danger:var(--danger-600);--danger-bg:var(--danger-50);--border:var(--linen-200);--border-light:var(--linen-100);--shadow-sm:var(--shadow-1);--shadow-md:0 8px 20px #1d1d1f0f;--shadow-lg:0 18px 36px #4a061314;--shadow-gold:0 8px 20px #a9763f2e;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-full:9999px;--font-main:var(--font-sans);--font-serif:var(--font-display)}*{box-sizing:border-box;font-family:var(--font-main);-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{background-color:var(--bg-page);color:var(--text-main);flex-direction:column;min-height:100vh;padding-bottom:80px;display:flex}@media (width>=1024px){body{padding-bottom:0}}.brand{align-items:center;gap:.75rem;text-decoration:none;display:flex;color:var(--text-main)!important}.brand-name{font-family:var(--font-serif);letter-spacing:-.3px;font-size:1.15rem;font-weight:700;color:var(--primary-dark)!important}.rule-banner{border-radius:var(--radius-md);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:.85rem 1.25rem;display:flex;position:relative;overflow:hidden;color:var(--text-main)!important;border:1px solid var(--border)!important;border-left:4px solid var(--primary)!important;box-shadow:var(--shadow-sm)!important;background:#f7f4ef!important}.rule-title{margin-bottom:.15rem;font-size:.9rem;font-weight:700;color:var(--primary-dark)!important}.rule-desc{font-size:.8rem;line-height:1.4;color:var(--text-muted)!important}.app-container{flex:1;width:100%;max-width:1280px;margin:1.5rem auto;padding:0 1.25rem}.view-section{animation:.3s forwards fadeIn;display:none}.view-section.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.low-balance-banner{background:var(--warning-bg);border:1px solid var(--gold-light);border-left:4px solid var(--warning);border-radius:var(--radius-md);align-items:center;gap:.85rem;margin-bottom:1.25rem;padding:.9rem 1.1rem;display:flex}.low-balance-text{color:var(--text-main);flex-direction:column;gap:.1rem;font-size:.88rem;display:flex}.low-balance-text b{color:var(--gold-dark);font-size:.92rem}.rule-banner{color:#fff;border-radius:var(--radius-md);background:linear-gradient(135deg,#a3112b 0%,#e4a7ae 100%);border:1px solid #fff3;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 14px #be001826}.rule-content{align-items:center;gap:1rem;display:flex}.rule-title{color:var(--gold-light);margin-bottom:.15rem;font-size:.95rem;font-weight:700}.rule-desc{color:#ffffffd9;font-size:.8rem;line-height:1.4}.card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);margin-bottom:1.5rem;padding:1.5rem}.card-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:.75rem;display:flex}.card-title{color:var(--text-main);align-items:center;gap:.5rem;font-size:1.1rem;font-weight:700;display:flex}.btn-outline{border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text-main);cursor:pointer;background:#fff;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-outline:hover{background:var(--bg-page);border-color:var(--gold);color:var(--primary-dark)}.btn-primary{background:var(--primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary:hover{background:var(--primary-dark);box-shadow:var(--shadow-sm)}.btn-primary:active,.btn-gold:active,.btn-outline:active{transition:transform var(--dur-press) var(--ease-out);transform:scale(.97)}@media (prefers-reduced-motion:reduce){.btn-primary:active,.btn-gold:active,.btn-outline:active{transform:none}}.mobile-nav{border-top:1px solid var(--border);z-index:90;background:#fff;justify-content:space-around;padding:.6rem .5rem;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0000000f}@media (width>=1024px){.mobile-nav{display:none}}.mobile-nav-item{color:var(--text-muted);cursor:pointer;flex-direction:column;align-items:center;gap:.2rem;font-size:.65rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.mobile-nav-item span.icon{font-size:1.2rem}.mobile-nav-item.active{color:var(--primary);font-weight:700}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;opacity:0;pointer-events:none;background:#21252999;justify-content:center;align-items:center;padding:1.25rem;transition:opacity .2s;display:flex;position:fixed;inset:0}.modal-overlay.open{opacity:1;pointer-events:auto}.modal-box{border-radius:var(--radius-lg);width:100%;max-width:520px;box-shadow:var(--shadow-lg);background:#fff;max-height:90vh;padding:1.75rem;transition:transform .2s;overflow-y:auto;transform:scale(.95)}.modal-overlay.open .modal-box{transform:scale(1)}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.modal-title{font-family:var(--font-serif);color:var(--primary-dark);font-size:1.25rem}.modal-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;font-size:1.25rem}.form-group{margin-bottom:1rem}.form-label{color:var(--text-main);margin-bottom:.35rem;font-size:.8rem;font-weight:600;display:block}.form-control{border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;width:100%;padding:.65rem .85rem;font-size:.9rem;transition:border-color .2s}.form-control:focus{border-color:var(--gold)}.toast-container{left:50%;bottom:calc(96px + env(safe-area-inset-bottom));z-index:200;pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:min(440px,100vw - 32px);display:flex;position:fixed;transform:translate(-50%)}@media (width>=1024px){.toast-container{bottom:32px}}.toast{pointer-events:auto;-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%);color:#f5f5f7;border-left:4px solid var(--success-600);width:100%;animation:toastIn .26s var(--ease-out);background:#1d1d1feb;border-radius:14px;padding:.85rem 1.1rem;font-size:.9rem;line-height:1.4;transition:opacity .2s;box-shadow:0 12px 30px -10px #00000059}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.login-gateway-screen{z-index:9999;background:radial-gradient(circle at 50% 20%,#fff5f5 0%,#fbf9f6 60%,#e9ecef 100%);justify-content:center;align-items:center;width:100vw;height:100dvh;padding:1.25rem;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.login-card-container{border-radius:var(--radius-lg);background:#fff;width:100%;max-width:500px;padding:2.25rem 2rem;position:relative;box-shadow:0 25px 50px -12px #be00181f,0 0 0 1px #be00181a}.login-brand-icon{width:auto;height:60px;box-shadow:var(--shadow-gold);background:#fff;border-radius:16px;justify-content:center;align-items:center;margin-bottom:.6rem;padding:8px 12px;display:inline-flex}.login-brand-title{font-family:var(--font-serif);color:var(--primary-dark);font-size:1.55rem;font-weight:800}.login-brand-subtitle{color:var(--text-muted);letter-spacing:.5px;margin-top:.2rem;font-size:.8rem}.app-preloader{z-index:9999999;opacity:1;visibility:visible;pointer-events:all;background:radial-gradient(circle at 50% 30%,#fff 0%,#fbf9f6 65%,#e9ecef 100%);justify-content:center;align-items:center;transition:opacity .2s ease-out,visibility .2s ease-out;display:flex;position:fixed;inset:0}.app-preloader.fade-out{opacity:0;visibility:hidden;pointer-events:none}.preloader-content{text-align:center;z-index:2;flex-direction:column;align-items:center;animation:.8s cubic-bezier(.16,1,.3,1) forwards preloaderContentPop;display:flex;position:relative}.preloader-crest-wrapper{justify-content:center;align-items:center;width:90px;height:90px;margin-bottom:1.25rem;display:flex;position:relative}.preloader-ring-pulse{border:2px solid #be001859;border-radius:50%;animation:1.6s ease-out infinite ringPulse;position:absolute;inset:-12px}.preloader-crest{background:#fff;border:1px solid #ffffff40;border-radius:16px;justify-content:center;align-items:center;width:auto;height:68px;padding:10px 14px;animation:2s ease-in-out infinite alternate horseCrestFloat;display:flex;position:relative;box-shadow:0 12px 30px #be001859,inset 0 1px 1px #fff6}.preloader-crest img{width:auto;height:100%;display:block}.preloader-horse-icon{filter:drop-shadow(0 4px 8px #00000040);font-size:2.8rem;animation:1.2s ease-in-out infinite horseGallop;display:inline-block}.preloader-brand-title{font-family:var(--font-serif);color:var(--text-dark);letter-spacing:.5px;margin-bottom:.25rem;font-size:2rem;font-weight:800;animation:.9s cubic-bezier(.16,1,.3,1) forwards letterSpacingExpand}.preloader-brand-sub{color:var(--text-muted);letter-spacing:2px;text-transform:uppercase;margin-bottom:1.5rem;font-size:.72rem;font-weight:700}.preloader-bar-container{background:#be00181a;border-radius:999px;width:200px;height:4px;margin-bottom:1.25rem;position:relative;overflow:hidden}.preloader-bar-fill{background:linear-gradient(90deg,#a3112b 0%,#e0b15c 50%,#a3112b 100%) 0 0/200% 100%;border-radius:999px;width:0%;height:100%;animation:.85s cubic-bezier(.65,0,.35,1) forwards preloaderBarProgress,1.5s linear infinite goldShimmer;position:absolute;top:0;left:0}.preloader-badge{color:var(--gold-dark);background:#d282001a;border:1px solid #d2820040;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .85rem;font-size:.72rem;font-weight:700;display:inline-flex}@keyframes preloaderContentPop{0%{opacity:0;transform:translateY(15px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes ringPulse{0%{opacity:.8;transform:scale(.85)}to{opacity:0;transform:scale(1.35)}}@keyframes horseCrestFloat{0%{transform:translateY(0)}to{transform:translateY(-4px)}}@keyframes horseGallop{0%,to{transform:rotate(0)translateY(0)}50%{transform:rotate(-4deg)translateY(-2px)}}@keyframes letterSpacingExpand{0%{letter-spacing:-1px;opacity:.5}to{letter-spacing:.5px;opacity:1}}@keyframes preloaderBarProgress{0%{width:0%}60%{width:75%}to{width:100%}}@keyframes goldShimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes staggerIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.login-brand-icon picture,.preloader-crest picture{display:contents}.btn-primary{background:var(--primary-gradient)!important;color:#fff!important;cursor:pointer!important;border:none!important;font-weight:600!important;transition:all .25s cubic-bezier(.4,0,.2,1)!important;box-shadow:0 4px 12px #c36b7640!important}.btn-primary:hover{background:linear-gradient(135deg,#850c22 0% 100%)!important;transform:translateY(-2px)!important;box-shadow:0 8px 22px #8c3b4759!important}.btn-primary:active{transform:translateY(0)!important;box-shadow:0 2px 8px #8c3b4733!important}.btn-outline{color:var(--primary-dark)!important;border:1.5px solid var(--primary-light)!important;cursor:pointer!important;background:#fff!important;font-weight:600!important;transition:all .2s!important}.btn-outline:hover{background:var(--primary-subtle)!important;border-color:var(--primary)!important;color:var(--primary-dark)!important;transform:translateY(-1.5px)!important;box-shadow:0 4px 12px #c36b7626!important}input:focus,select:focus,textarea:focus{border-color:var(--primary)!important;outline:none!important;box-shadow:0 0 0 3px #c36b7626!important}table tr:hover{background-color:#faf8f5!important}body.auth-locked{margin:0;padding:0;background:#fbf9f6!important;overflow:hidden!important}body.auth-locked #appTopbar,body.auth-locked .app-container,body.auth-locked .mobile-nav,body.auth-locked .rule-banner{display:none!important}body.auth-locked #loginGatewayScreen{display:flex!important}body.app-unlocked #loginGatewayScreen{display:none!important}body.app-unlocked #appTopbar,body.app-unlocked .app-container{display:block!important}.login-gateway-screen{z-index:999999;box-sizing:border-box;background:radial-gradient(circle at 50% 15%,#fdf4f5 0%,#f9f8f6 50%,#ece7e1 100%);justify-content:center;align-items:center;width:100vw;height:100dvh;padding:1.25rem;display:flex;position:fixed;inset:0;overflow-y:auto}.login-card-container{box-sizing:border-box;background:#fff;border-radius:20px;width:100%;max-width:460px;margin:auto;padding:2.25rem 2rem;position:relative;box-shadow:0 24px 48px -12px #8c3b471a,0 0 0 1px #e8e3dce6}.login-brand-header{text-align:center;margin-bottom:1.5rem}.login-brand-icon{background:#fff;border-radius:16px;justify-content:center;align-items:center;width:auto;height:64px;margin-bottom:.65rem;padding:8px 12px;display:inline-flex;box-shadow:0 8px 24px #be001840}.login-brand-icon img{width:auto;height:100%;display:block}.login-brand-title{font-family:var(--font-serif);color:#3a3d42;letter-spacing:-.5px;font-size:1.65rem;font-weight:800}.login-brand-subtitle{color:#55555f;letter-spacing:1.5px;text-transform:uppercase;margin-top:.2rem;font-size:.75rem;font-weight:600}.gateway-legal{text-align:center;margin:1rem 0 0;font-size:.8125rem}.gateway-legal a{color:var(--color-text-3);text-underline-offset:3px;text-decoration:underline}.gateway-legal a:hover{color:var(--color-text)}.gateway-legal--form{text-align:left;color:var(--color-text-3);margin:0 0 1rem;line-height:1.5}.gateway-error{color:var(--danger-600);margin-bottom:.75rem;font-size:.875rem;font-weight:600}.gateway-hint{color:var(--color-text-3);margin-top:.35rem;font-size:.8125rem;display:block}.gateway-forgot{justify-content:flex-end;margin-bottom:1rem;display:flex}.gateway-forgot .link-btn{min-height:44px;color:var(--color-accent);font-size:.875rem;font-weight:600}.gateway-submit{justify-content:center;width:100%;min-height:48px;font-weight:700}.standalone-page{background:var(--color-bg);justify-content:center;align-items:center;min-height:100dvh;padding:1.25rem;display:flex}.standalone-card{width:100%;max-width:440px}.standalone-text{text-align:center;color:var(--color-text-2);margin:0 0 1.25rem;line-height:1.55}.standalone-text strong{color:var(--color-text)}.standalone-link{text-decoration:none;display:inline-flex}.standalone-success[hidden],#resetForm[hidden],.gateway-error[hidden]{display:none}.forgot-panel{border-radius:var(--radius-s);background:var(--color-bg-alt);gap:.625rem;margin:-.25rem 0 1rem;padding:.875rem;display:grid}.forgot-panel[hidden],.forgot-panel__result[hidden]{display:none}.forgot-panel .gateway-hint{margin:0}.forgot-panel__send{width:100%;min-height:44px}.forgot-panel__result{color:var(--color-text);margin:0;font-size:.875rem;font-weight:600;line-height:1.5}body.auth-locked .sidebar,body.auth-locked .shell__topbar,body.auth-locked .shell__scrim{display:none!important}.shell{flex:1;width:100%}.sidebar__section{flex-direction:column;gap:2px;display:flex}.sidebar__link,.sidebar__user{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0}.sidebar__link{font-size:.9375rem;font-weight:500}.portal-brand{min-width:0;line-height:1.2;display:grid}.portal-brand .brand-name{font-family:var(--font-sans);letter-spacing:-.01em;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.9375rem;font-weight:700;display:-webkit-box;overflow:hidden;color:var(--color-text)!important}.portal-brand small{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-3);font-size:.6875rem;font-weight:600}.sidebar__user{border-radius:var(--radius-s);min-width:0;color:var(--color-text);flex:1;margin-left:-6px;padding:4px 6px}.sidebar__user[aria-current=page]{background:var(--color-accent-soft)}@media (hover:hover) and (pointer:fine){.sidebar__user:hover:not([aria-current=page]){background:var(--color-bg-alt)}}.portal-topbar__title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.page-header{margin:.25rem 0 1.25rem}.page-header__title{letter-spacing:-.02em;color:var(--color-text);text-wrap:balance;font-size:clamp(1.5rem,2.4vw,1.875rem);font-weight:700;line-height:1.15}.page-header__meta{color:var(--color-text-3);flex-wrap:wrap;gap:4px 8px;margin-top:4px;font-size:.875rem;display:flex}.page-header__meta #adminHeaderName:not(:empty):after{content:"·";margin-left:8px}.app-container .rule-banner{border-radius:var(--radius-s);margin-bottom:1.25rem;padding:.75rem 1rem;background:var(--color-surface)!important;border:1px solid var(--color-line)!important;border-left:3px solid var(--color-detail)!important;box-shadow:none!important}.app-container .rule-title{font-size:.875rem;color:var(--color-text)!important}.app-container .rule-desc{font-size:.8125rem;color:var(--color-text-2)!important}.stat-icon-wrapper:empty,#adminAttendanceFeedCount:empty,.low-balance-icon:empty{display:none}.sidebar-open .mobile-nav{visibility:hidden}.mobile-nav-item .icon{flex:none;width:22px;height:22px}.mobile-nav-item{color:var(--color-text-3)}.mobile-nav-item.active{color:var(--color-accent)}.page-header__meta #trainerPortalTitle:not(:empty):after,.page-header__meta #trainerPortalBadge:not(:empty):after{content:"·";margin-left:8px}.app-container .btn-primary{text-align:center;justify-content:center}.home-grid{align-items:start;gap:1.25rem;display:grid}@media (width>=1024px){.home-grid{grid-template-columns:minmax(0,360px) minmax(0,1fr)}.home-grid--trainer{grid-template-columns:minmax(0,1fr) minmax(0,360px)}}.home-grid>*{min-width:0}.stack{align-content:start;gap:1.25rem;display:grid}.credit-summary{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-m);box-shadow:var(--shadow-1);gap:1rem;padding:1.25rem;display:grid}.credit-summary__label{color:var(--color-text-3);font-size:.8125rem;font-weight:600}.credit-summary__value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--color-text);align-items:baseline;gap:.4rem;font-size:3rem;font-weight:700;line-height:1;display:flex}.credit-summary__value small{letter-spacing:0;color:var(--color-text-3);font-size:1rem;font-weight:600}.meter{border-radius:var(--radius-pill);background:var(--color-bg-alt);height:8px;overflow:hidden}.meter>span{border-radius:inherit;background:var(--color-accent);width:0;height:100%;display:block}.credit-summary__facts{grid-template-columns:repeat(3,1fr);gap:.5rem;margin:0;display:grid}.credit-summary__facts dt{color:var(--color-text-3);font-size:.8125rem}.credit-summary__facts dd{font-variant-numeric:tabular-nums;color:var(--color-text);margin:0;font-weight:700}.credit-summary__actions{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.credit-summary__actions>button{justify-content:center;width:100%;min-height:48px}.credit-summary .low-balance-banner{border-radius:var(--radius-s);background:var(--warning-50);color:var(--warning-600);border:0;margin:0;padding:.75rem .875rem;font-size:.875rem}.credit-summary .low-balance-text{gap:.15rem;display:grid}.lesson-list{gap:.5rem;display:grid}.lesson-row{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-s);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.5rem 1rem;padding:.875rem 1rem;display:grid}@media (width>=640px){.lesson-row{grid-template-columns:auto minmax(0,1fr) auto}}.lesson-row--next{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.lesson-row--done{background:var(--color-bg-alt)}.lesson-row__when{font-variant-numeric:tabular-nums;justify-items:center;min-width:3.25rem;line-height:1.1;display:grid}.lesson-row__when b{color:var(--color-text);font-size:1.125rem;font-weight:700}.lesson-row__when small{color:var(--color-text-3);font-size:.8125rem}.lesson-row__main{gap:.15rem;min-width:0;display:grid}.lesson-row__flag{color:var(--color-accent);font-size:.75rem;font-weight:700}.lesson-row__title{color:var(--color-text);overflow-wrap:anywhere;font-weight:600}.lesson-row__meta{color:var(--color-text-3);font-size:.8125rem}.lesson-row__actions{flex-wrap:wrap;grid-column:1/-1;gap:.5rem;display:flex}@media (width>=640px){.lesson-row__actions{grid-column:auto;justify-content:flex-end}}.row-btn{border:1px solid var(--color-line-strong);border-radius:var(--radius-pill);background:var(--color-surface);min-height:44px;color:var(--color-text);font:600 .875rem/1 var(--font-sans);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background-color var(--dur-ui) ease, border-color var(--dur-ui) ease, transform var(--dur-press) var(--ease-out);justify-content:center;align-items:center;padding:0 1rem;display:inline-flex}.row-btn:active{transform:scale(.97)}.row-btn--success{background:var(--success-600);border-color:var(--success-600);color:#fff}.row-btn--danger{color:var(--danger-600);border-color:color-mix(in srgb, var(--danger-600) 35%, transparent)}.row-btn--quiet{color:var(--color-text-2);background:0 0;border-color:#0000}@media (hover:hover) and (pointer:fine){.row-btn:hover{border-color:var(--color-text-3)}.row-btn--quiet:hover{background:var(--color-bg-alt);border-color:#0000}.row-btn--success:hover{border-color:var(--success-600);filter:brightness(.95)}}.row-btn:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.empty-state{text-align:center;color:var(--color-text-3);justify-items:center;gap:.75rem;padding:2rem 1rem;display:grid}.empty-state p{margin:0}@media (width>=1024px){.trainer-note{position:sticky;top:1.25rem}}.trainer-note .form-control:focus{border-color:var(--color-accent)}@media (prefers-reduced-motion:reduce){.row-btn:active{transform:none}}@media (width>=1024px){.home-grid--admin{grid-template-columns:minmax(0,1fr) minmax(0,340px)}}.stack>.card{margin:0}.lesson-row--compact{grid-template-columns:minmax(0,1fr) auto;padding:.625rem .75rem .625rem 1rem}.lesson-row--compact .lesson-row__actions{grid-column:auto;justify-content:flex-end}.lesson-row--compact .tag{white-space:normal;max-width:100%}.task-groups{gap:1.25rem;display:grid}.task-group{gap:.5rem;display:grid}.task-group__head{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.task-group__title{color:var(--color-text);font-size:.875rem;font-weight:700}.task-group__title span{color:var(--color-text-3);font-weight:600}.task-group__more{color:var(--color-accent);font:600 .8125rem/1.4 var(--font-sans);cursor:pointer;background:0 0;border:0;padding:0}.task-group__more:hover{text-decoration:underline}.kpi-list{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-m);box-shadow:var(--shadow-1);display:grid}.kpi{border-bottom:1px solid var(--color-line);gap:.1rem;padding:.875rem 1.25rem;display:grid}.kpi:last-child{border-bottom:0}.kpi__label{color:var(--color-text-3);font-size:.8125rem}.kpi__value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--color-text);font-size:1.375rem;font-weight:700}.kpi__meta{color:var(--color-text-3);font-size:.8125rem}.booking-slot{border-radius:var(--radius-s);background:var(--color-bg-alt);gap:.15rem;margin-bottom:1rem;padding:.75rem 1rem;display:grid}.booking-slot__label{color:var(--color-text-3);font-size:.8125rem}.booking-slot__value{color:var(--color-text);font-weight:700}#quickBookingSubmit{justify-content:center}.booking-note{color:var(--color-text-3);text-align:center;margin:.625rem 0 0;font-size:.8125rem}.member-picker{gap:.25rem;margin-top:.375rem;display:grid}.member-picker:empty{display:none}.member-picker__empty{color:var(--color-text-3);margin:0;padding:.5rem .25rem;font-size:.875rem}.member-option{border:1px solid var(--color-line);border-radius:var(--radius-s);background:var(--color-surface);text-align:left;width:100%;min-height:44px;font:inherit;cursor:pointer;gap:.1rem;padding:.5rem .75rem;display:grid}.member-option:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}@media (hover:hover) and (pointer:fine){.member-option:hover{border-color:var(--color-accent)}}.member-option__name{color:var(--color-text);font-weight:600}.member-option__meta{color:var(--color-text-3);font-size:.8125rem}.member-chosen{border:1px solid var(--color-accent);border-radius:var(--radius-s);background:var(--color-accent-soft);justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .5rem .5rem .875rem;display:flex}.member-chosen__main{gap:.25rem;min-width:0;display:grid}.cancel-choices{gap:.5rem;display:grid}.cancel-choices>button{justify-content:center;width:100%;min-height:48px}@media (width>=768px){.page-header{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}}.page-header__text{min-width:0}.member-search{align-items:center;width:100%;margin-top:.875rem;position:relative}@media (width>=768px){.member-search{flex:none;width:320px;margin-top:0}}.member-search__icon{width:18px;height:18px;color:var(--color-text-3);pointer-events:none;position:absolute;left:.875rem}.member-search__input{border:1px solid var(--color-line-strong);border-radius:var(--radius-pill);background:var(--color-surface);width:100%;min-height:44px;color:var(--color-text);font:400 1rem/1.2 var(--font-sans);padding:0 .875rem 0 2.5rem}.member-search__input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-focus);outline:none}.member-search__results{z-index:60;border:1px solid var(--color-line);border-radius:var(--radius-m);background:var(--color-surface);max-height:min(60vh,420px);box-shadow:var(--shadow-2);gap:.25rem;padding:.375rem;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.member-search__results[hidden]{display:none}.member-search__results .member-option{border-color:#0000}.member-search__results .member-option[aria-selected=true]{background:var(--color-accent-soft)}.link-btn{color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.link-btn:hover{color:var(--color-accent);text-underline-offset:3px;text-decoration:underline}.link-btn:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:4px}.drawer-scrim{z-index:94;background:#110c0e66;position:fixed;inset:0}.drawer-scrim[hidden],.drawer[hidden]{display:none}html.drawer-open{overflow:hidden}.drawer{z-index:95;background:var(--color-bg);animation:drawer-in var(--dur-ui) var(--ease-out);grid-template-rows:auto minmax(0,1fr);display:grid;position:fixed;inset:0}@media (width>=768px){.drawer{border-left:1px solid var(--color-line);width:min(480px,100vw);box-shadow:var(--shadow-3);left:auto}}@keyframes drawer-in{0%{opacity:0;transform:translate(24px)}}@media (prefers-reduced-motion:reduce){.drawer{animation:none}}.drawer__head{padding:max(1rem, env(safe-area-inset-top)) 1.25rem 1rem;border-bottom:1px solid var(--color-line);background:var(--color-surface);justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.drawer__heading{min-width:0}.drawer__title{letter-spacing:-.01em;color:var(--color-text);overflow-wrap:anywhere;margin:0;font-size:1.25rem;font-weight:700}.drawer__meta{color:var(--color-text-3);margin:.2rem 0 0;font-size:.875rem}.drawer__close{border-radius:var(--radius-pill);width:44px;height:44px;color:var(--color-text-2);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;margin:-.375rem -.5rem 0 0;display:grid}.drawer__close svg{width:20px;height:20px}.drawer__close:hover{background:var(--color-bg-alt)}.drawer__close:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.drawer__body{overscroll-behavior:contain;padding:1.25rem 1.25rem max(1.5rem, env(safe-area-inset-bottom));align-content:start;gap:1.5rem;display:grid;overflow-y:auto}.drawer__section{gap:.75rem;display:grid}.drawer__section-title{color:var(--color-text);margin:0;font-size:.875rem;font-weight:700}.drawer__section-title span{color:var(--color-text-3);font-weight:600}.drawer__note{color:var(--color-text-2);margin:0;font-size:.875rem}.drawer__empty{color:var(--color-text-3);margin:0;font-size:.875rem;list-style:none}.drawer__actions{flex-wrap:wrap;gap:.5rem;display:flex}.drawer__actions .btn-primary{justify-content:center;min-height:44px;padding:0 1.25rem}.credit-adjust{border-top:1px solid var(--color-line);gap:.375rem;padding-top:.75rem;display:grid}.credit-adjust__label{color:var(--color-text-2);font-size:.8125rem;font-weight:600}.credit-adjust__row{gap:.5rem;display:flex}.credit-adjust__row .form-control{width:6rem;min-height:44px;margin:0;font-size:1rem}.credit-adjust small{color:var(--color-text-3);font-size:.75rem}.ledger{border:1px solid var(--color-line);border-radius:var(--radius-s);background:var(--color-surface);margin:0;padding:0;list-style:none;display:grid}.ledger-row{border-bottom:1px solid var(--color-line);grid-template-columns:2.75rem minmax(0,1fr);align-items:start;gap:.75rem;padding:.625rem .875rem;display:grid}.ledger-row:last-child{border-bottom:0}.ledger-row>.drawer__empty{grid-column:1/-1}.ledger-row__delta{font-variant-numeric:tabular-nums;text-align:right;font-weight:700}.ledger-row__delta--plus{color:var(--success-600)}.ledger-row__delta--minus{color:var(--color-text)}.ledger-row__delta--zero{color:var(--color-text-3)}.ledger-row__main{gap:.1rem;min-width:0;display:grid}.ledger-row__title{color:var(--color-text);font-size:.875rem;font-weight:600}.ledger-row__meta{color:var(--color-text-3);overflow-wrap:anywhere;font-size:.75rem}.ledger>.drawer__empty{padding:.75rem .875rem}.chip-row{scrollbar-width:none;overscroll-behavior-x:contain;gap:.5rem;padding:2px 2px 4px;display:flex;overflow-x:auto}.chip-row::-webkit-scrollbar{display:none}.chip-row:empty{display:none}@media (width>=1024px){.chip-row{flex-wrap:wrap;overflow:visible}}.chip{border:1px solid var(--color-line-strong);border-radius:var(--radius-pill);background:var(--color-surface);min-height:44px;color:var(--color-text-2);font:600 .875rem/1.1 var(--font-sans);white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background-color var(--dur-ui) ease, border-color var(--dur-ui) ease, transform var(--dur-press) var(--ease-out);flex:none;justify-content:center;align-items:center;gap:.375rem;padding:0 1rem;display:inline-flex}.chip:active{transform:scale(.97)}.chip[aria-pressed=true]{border-color:var(--color-text);background:var(--color-text);color:var(--color-surface)}.chip:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}@media (hover:hover) and (pointer:fine){.chip:not([aria-pressed=true]):hover{border-color:var(--color-text-3);color:var(--color-text)}}.chip--day{border-radius:var(--radius-s);flex-direction:column;gap:.1rem;min-width:4.5rem;min-height:52px;padding:.375rem .875rem}.chip__label{font-weight:700}.chip__sub{opacity:.8;font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:500}.chip-row--quiet .chip{min-height:40px;font-weight:500}.schedule{gap:1rem;display:grid}.schedule__hint{color:var(--color-text-3);margin:0;font-size:.875rem}.schedule__filters{gap:.625rem;min-width:0;display:grid}.schedule__list{gap:.75rem;display:grid}.schedule__list[aria-busy=true]{opacity:.55;transition:opacity var(--dur-ui) ease}@media (width>=1024px){.schedule__list{grid-template-columns:repeat(auto-fill,minmax(420px,1fr));align-items:start}}.trainer-slots{border:1px solid var(--color-line);border-radius:var(--radius-m);background:var(--color-surface);box-shadow:var(--shadow-1);gap:.875rem;padding:1rem;display:grid}.trainer-slots__head{align-items:center;gap:.75rem;min-width:0;display:flex}.trainer-slots__avatar{background:var(--color-accent-soft);width:40px;height:40px;color:var(--color-accent);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.trainer-slots__who{flex:1;min-width:0;display:grid}.trainer-slots__name{color:var(--color-text);overflow-wrap:anywhere;margin:0;font-size:1rem;font-weight:700}.trainer-slots__title{color:var(--color-text-3);font-size:.8125rem}.trainer-slots__head .tag{flex:none}.trainer-slots__grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:.5rem;display:grid}.slot{border-radius:var(--radius-s);min-height:48px;font:600 .9375rem/1.1 var(--font-sans);font-variant-numeric:tabular-nums;text-align:center;border:1px solid #0000;align-content:center;place-items:center;gap:.1rem;min-width:0;padding:.25rem .5rem;display:grid}.slot small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.6875rem;font-weight:500;overflow:hidden}.slot--free{border-color:color-mix(in srgb, var(--success-600) 45%, transparent);background:var(--success-50);color:var(--success-600);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background-color var(--dur-ui) ease, color var(--dur-ui) ease, transform var(--dur-press) var(--ease-out)}.slot--free:active{transform:scale(.96)}@media (hover:hover) and (pointer:fine){.slot--free:hover{background:var(--success-600);color:#fff}}.slot--busy{background:var(--color-bg-alt);color:var(--color-text-3)}.slot--busy b{font-weight:600;text-decoration:line-through}.slot--off{color:var(--color-text-3);border:1px dashed var(--color-line-strong);opacity:.7}.slot--booked{border-color:var(--color-line-strong);background:var(--color-surface);color:var(--color-text);cursor:pointer}.slot--booked small{color:var(--color-text-2)}@media (hover:hover) and (pointer:fine){button.slot--booked:hover{border-color:var(--color-accent)}}.slot--past{cursor:default;opacity:.6}.slot:is(button):focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){.chip:active,.slot--free:active{transform:none}}.roster{gap:1rem;display:grid}.roster.card{margin:0}.roster__bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.roster__bar .chip-row{min-width:0}.roster__actions{gap:.5rem;display:flex}.roster__new-btn{justify-content:center;min-height:44px;padding:0 1.25rem}.roster__new{border:1px solid var(--color-line);border-radius:var(--radius-s);background:var(--color-bg-alt);grid-template-columns:1fr;align-items:end;gap:.75rem;padding:1rem}@media (width>=900px){.roster__new{grid-template-columns:repeat(3,minmax(0,1fr)) auto}}.roster__new .form-group{margin:0}.roster__new .form-control{min-height:44px;font-size:1rem}.roster__new>.btn-primary{justify-content:center;min-height:44px;padding:0 1.25rem}.roster__hint{color:var(--color-text-3);grid-column:1/-1;margin:0;font-size:.8125rem}.roster__optional{color:var(--color-text-3);font-weight:400}.roster__filters{gap:.625rem;display:grid}@media (width>=900px){.roster__filters{grid-template-columns:minmax(0,320px) minmax(0,1fr);align-items:center}}.roster__search{min-height:44px;margin:0;font-size:1rem}.roster__scroll{min-width:0}.roster-table{border-collapse:collapse;width:100%;font-size:.9375rem}.roster-table th{border-bottom:1px solid var(--color-line-strong);color:var(--color-text-3);text-align:left;white-space:nowrap;padding:.625rem .75rem;font-size:.8125rem;font-weight:600}.roster-table td{border-bottom:1px solid var(--color-line);vertical-align:middle;padding:.75rem}.roster-table tbody tr:last-child td{border-bottom:0}@media (hover:hover) and (pointer:fine){.roster-table tbody tr:not(.roster-table__empty):hover td{background:var(--color-bg-alt)}}.roster-table__member .roster-cell{gap:.1rem;min-width:0;display:grid}.roster-table__member .link-btn{overflow-wrap:anywhere}.roster-table__sub{color:var(--color-text-3);overflow-wrap:anywhere;font-size:.8125rem}.roster-table__phone,.roster-table__balance{font-variant-numeric:tabular-nums;white-space:nowrap}.roster-table__balance .roster-cell{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.roster-table__balance b{color:var(--color-text);font-size:1.0625rem}.roster-table__balance .roster-cell>span:first-child{color:var(--color-text-3)}.roster-table__trainer{color:var(--color-text-2)}.roster-table__actions{text-align:right}.roster-table__actions .row-btn{min-height:40px}.roster-table__empty td{border-bottom:0}@media (width<=767px){.roster-table thead{display:none}.roster-table,.roster-table tbody{display:block}.roster-table tbody{gap:.5rem;display:grid}.roster-table tr:not(.roster-table__empty){border:1px solid var(--color-line);border-radius:var(--radius-s);background:var(--color-surface);grid-template-columns:minmax(0,1fr) auto;gap:.25rem .75rem;padding:.75rem .875rem;display:grid}.roster-table td{border:0;padding:0}.roster-table__member{grid-column:1}.roster-table__balance{grid-area:1/2;align-self:start}.roster-table__balance .roster-cell{justify-content:flex-end}.roster-table__phone{color:var(--color-text-3);grid-column:1;font-size:.875rem}.roster-table__trainer{display:none}.roster-table__actions{grid-area:2/2}.roster-table__empty,.roster-table__empty td{display:block}}.roster__foot{color:var(--color-text-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;font-size:.875rem;display:flex}.roster__foot .row-btn[hidden]{display:none}.drawer__danger{border-top:1px solid var(--color-line);justify-items:start;padding-top:1rem}.settings-grid>.card,.settings-grid .stack>.card{margin:0}@media (width>=1024px){.home-grid.settings-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.settings-hint{color:var(--color-text-3);margin:0;font-size:.8125rem;line-height:1.45}.settings-form{gap:1.125rem;display:grid}.settings-field{gap:.375rem;display:grid}.settings-field .form-label{margin:0}.settings-field .form-control{min-height:44px;margin:0;font-size:1rem}.input-suffix{align-items:center;min-width:0;display:flex;position:relative}.input-suffix .form-control{font-variant-numeric:tabular-nums;width:100%;min-height:44px;margin:0;padding-right:4.75rem;font-size:1rem}.input-suffix>span{color:var(--color-text-3);pointer-events:none;font-size:.875rem;position:absolute;right:.875rem}.settings-field .input-suffix{max-width:14rem}.switch-row{border-top:1px solid var(--color-line);cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;display:flex}.switch-row__text{gap:.15rem;min-width:0;display:grid}.switch-row__title{color:var(--color-text);font-weight:600}.switch{appearance:none;border-radius:var(--radius-pill);background:var(--color-line-strong);cursor:pointer;width:48px;height:28px;transition:background-color var(--dur-ui) ease;flex:none;margin:0;position:relative}.switch:after{content:"";width:22px;height:22px;transition:transform var(--dur-ui) var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.switch:checked{background:var(--success-600)}.switch:checked:after{transform:translate(20px)}.switch:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){.switch,.switch:after{transition:none}}.settings-preview{border-left:3px solid var(--color-detail);border-radius:var(--radius-s);background:var(--color-bg-alt);gap:.375rem;padding:.875rem 1rem;display:grid}.settings-preview__label{color:var(--color-text-3);font-size:.75rem;font-weight:700}.settings-preview p{color:var(--color-text-2);margin:0;font-size:.875rem;line-height:1.5}.settings-form__submit{justify-content:center;min-height:48px}.package-row{border:1px solid var(--color-line);border-radius:var(--radius-s);background:var(--color-surface);grid-template-columns:minmax(0,1fr) minmax(0,9rem) auto;align-items:center;gap:.5rem .75rem;padding:.625rem .75rem .625rem 1rem;display:grid}.package-row--off{background:var(--color-bg-alt)}.package-row--off .package-row__name{color:var(--color-text-3)}.package-row__name{color:var(--color-text);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.package-row__price .form-control{padding-right:2rem}.package-row__toggle{color:var(--color-text-2);cursor:pointer;grid-column:1/-1;align-items:center;gap:.625rem;font-size:.8125rem;display:inline-flex}.package-row__toggle .switch{width:40px;height:24px}.package-row__toggle .switch:after{width:18px;height:18px}.package-row__toggle .switch:checked:after{transform:translate(16px)}.settings-inline{border-top:1px solid var(--color-line);gap:.5rem;margin-top:1rem;padding-top:1rem;display:grid}.settings-inline__title{color:var(--color-text);font-size:.875rem;font-weight:700}.settings-inline__fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:.5rem;display:grid}.settings-inline__fields .input-suffix .form-control{padding-right:3.25rem}.settings-inline__fields select.form-control{min-height:44px;margin:0;font-size:1rem}@media (width<=639px){.settings-inline__fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.settings-inline__fields>.row-btn,.settings-custom .settings-inline__fields>*{grid-column:1/-1}.package-row{grid-template-columns:auto minmax(0,1fr) auto}}.settings-custom{gap:.75rem;margin:.75rem 0 1rem;display:grid}.settings-custom .form-group{margin:0}.settings-custom .form-control{min-height:44px;font-size:1rem}.mail-preview{border-left:3px solid var(--color-detail);border-radius:var(--radius-s);background:var(--color-bg-alt);gap:.375rem;margin:.75rem 0 1rem;padding:.875rem 1rem;display:grid}.mail-preview__row{color:var(--color-text-3);grid-template-columns:5.5rem minmax(0,1fr);gap:.5rem;font-size:.875rem;display:grid}.mail-preview__row b{color:var(--color-text);overflow-wrap:anywhere;font-weight:600}.smtp-fields{gap:1rem;display:grid}.smtp-fields[hidden]{display:none}.smtp-fields__pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.smtp-fields .settings-field select.form-control{min-height:44px;margin:0;font-size:1rem}.mail-test{grid-template-columns:minmax(0,1fr) auto}.mail-test .form-control{min-height:44px;margin:0;font-size:1rem}.mail-test__result{color:var(--success-600);margin:0;font-size:.875rem;font-weight:600;line-height:1.5}.mail-test__result.is-error{color:var(--danger-600)}.mail-test__result[hidden]{display:none}.settings-grid>.stack>.card{margin:0}.mail-card .card-header{flex-wrap:wrap;gap:.5rem}.card-header>.row-btn{flex:none}.inline-panel{border:1px solid var(--color-line);border-radius:var(--radius-s);background:var(--color-bg-alt);grid-template-columns:1fr;gap:.75rem;margin-bottom:1rem;padding:1rem}@media (width>=640px){.inline-panel{grid-template-columns:repeat(2,minmax(0,1fr))}}.inline-panel .form-group{margin:0}.inline-panel .form-control{min-height:44px;font-size:1rem}.inline-panel__wide,.inline-panel__submit{grid-column:1/-1}.inline-panel__submit{justify-content:center;min-height:44px}.entity-row{border:1px solid var(--color-line);border-radius:var(--radius-s);background:var(--color-surface);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem .875rem;padding:.875rem 1rem;display:grid}.entity-row:not(:has(>.trainer-slots__avatar)){grid-template-columns:minmax(0,1fr)}.entity-row--off{background:var(--color-bg-alt)}.entity-row--off .lesson-row__title{color:var(--color-text-3)}.entity-row__main{gap:.2rem;min-width:0;display:grid}.entity-row__tags{flex-wrap:wrap;gap:.375rem;display:flex}.entity-row__tags:empty{display:none}.entity-row__actions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.5rem .75rem;display:flex}.entity-row__actions .row-btn{min-height:40px}.entity-row__actions .row-btn--quiet{margin-left:auto}.entity-row__select{width:auto;min-height:40px;margin:0;font-size:.9375rem}@media (width>=1280px){.entity-row{grid-template-columns:auto minmax(0,1fr) auto}.entity-row:not(:has(>.trainer-slots__avatar)){grid-template-columns:minmax(0,1fr) auto}.entity-row__actions{grid-column:auto;justify-content:flex-end}.entity-row__actions .row-btn--quiet{margin-left:0}}.family-list{gap:.75rem;margin-top:1rem;display:grid}@media (width>=1100px){.family-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.family-list>.empty-state,.family-list>.settings-hint{grid-column:1/-1}}.family{border:1px solid var(--color-line);border-radius:var(--radius-m);background:var(--color-surface);gap:.625rem;padding:1rem;display:grid}.family__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.family__name{color:var(--color-text);overflow-wrap:anywhere;margin:0;font-size:1.0625rem;font-weight:700}.family__pool{color:var(--color-text-3);white-space:nowrap;font-size:.875rem}.family__pool b{color:var(--color-text);font-variant-numeric:tabular-nums;font-size:1.375rem}.family__members{border-top:1px solid var(--color-line);margin:0;padding:0;list-style:none;display:grid}.family__member{border-bottom:1px solid var(--color-line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;min-height:48px;padding:.25rem 0;display:grid}.family__who{flex-wrap:wrap;align-items:center;gap:.375rem .5rem;min-width:0;display:flex}.family__remove{min-height:40px}.family__add{gap:.375rem;display:grid}.family__add[hidden]{display:none}.family__add .form-control{min-height:44px;margin:0;font-size:1rem}.family__actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.family__credit{gap:.5rem;display:flex}.family__credit .form-control{width:6rem;min-height:44px;margin:0;font-size:1rem}.member-option--quiet{border-style:dashed}html[data-view]:not([data-view=dashboard]):not([data-view=availability]) .app-container .rule-banner{display:none!important}.shop{gap:1rem;max-width:760px;display:grid}.shop__status{gap:.75rem;display:grid}.shop__status:empty{display:none}.shop__balance{color:var(--color-text-2);margin:0}.shop__balance b{color:var(--color-text)}.shop__list{gap:.75rem;display:grid}.shop__list[hidden]{display:none}@media (width>=640px){.shop__list{grid-template-columns:repeat(2,minmax(0,1fr))}.shop__list>.empty-state{grid-column:1/-1}}.chip-row[hidden]{display:none}.chip__count{opacity:.7;font-variant-numeric:tabular-nums;font-weight:500}.notice{border:1px solid color-mix(in srgb, var(--warning-600) 30%, transparent);border-radius:var(--radius-s);background:var(--warning-50);gap:.75rem;padding:.875rem 1rem;display:grid}@media (width>=640px){.notice{grid-template-columns:minmax(0,1fr) auto;align-items:center}}.notice__text{color:var(--color-text-2);gap:.2rem;font-size:.875rem;display:grid}.notice__text b{color:var(--color-text)}.offer{border:1px solid var(--color-line);border-radius:var(--radius-m);background:var(--color-surface);box-shadow:var(--shadow-1);align-content:start;gap:.5rem;padding:1rem;display:grid}.offer--featured{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.offer__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.offer__title{color:var(--color-text);margin:0;font-size:1.125rem;font-weight:700}.offer__price{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.offer__price b{letter-spacing:-.02em;color:var(--color-text);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700}.offer__price s{color:var(--color-text-3);font-variant-numeric:tabular-nums}.offer__unit,.offer__meta{color:var(--color-text-3);margin:0;font-size:.875rem}.offer__cta{justify-content:center;width:100%;min-height:48px;margin-top:.25rem}.offer__cta:disabled{cursor:not-allowed;background:var(--color-bg-alt)!important;color:var(--color-text-3)!important;box-shadow:none!important}#packageRequestSubmit,#safariSubmit{justify-content:center;min-height:48px}.pay-choice{border:0;gap:.5rem;margin:0 0 1rem;padding:0;display:grid}.pay-choice[hidden]{display:none}.pay-choice__option{border:1px solid var(--color-line-strong);border-radius:var(--radius-s);cursor:pointer;align-items:center;gap:.625rem;min-height:44px;padding:0 .875rem;display:flex}.pay-choice__option:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-soft)}.pay-choice__option input{width:18px;height:18px;accent-color:var(--color-accent)}.steps{color:var(--color-text-2);gap:.375rem;margin:0 0 1rem;padding-left:1.25rem;font-size:.875rem;display:grid}.profile{gap:1rem;max-width:560px;display:grid}.profile__head{align-items:center;gap:1rem;min-width:0;display:flex}.profile__avatar{background:var(--color-accent-soft);width:56px;height:56px;color:var(--color-accent);border-radius:50%;flex:none;place-items:center;font-size:1.5rem;font-weight:700;display:grid}.profile__who{min-width:0}.profile__name{color:var(--color-text);overflow-wrap:anywhere;margin:0;font-size:1.25rem;font-weight:700}.profile__meta{color:var(--color-text-3);margin:.125rem 0 0;font-size:.875rem}.facts{border:1px solid var(--color-line);border-radius:var(--radius-m);background:var(--color-surface);margin:0;display:grid}.facts__row{justify-content:space-between;align-items:baseline;gap:1rem;padding:.875rem 1rem;display:flex}.facts__row+.facts__row{border-top:1px solid var(--color-line)}.facts__row[hidden]{display:none!important}.facts dt{color:var(--color-text-3);font-size:.875rem}.facts dd{color:var(--color-text);text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:0;font-weight:600}.profile__actions{gap:.5rem;display:grid}.profile__actions .row-btn{width:100%;min-height:48px}@media (width>=640px){.profile__actions{grid-template-columns:repeat(2,minmax(0,1fr))}}.day-groups{gap:1.25rem;display:grid}.day-group{gap:.5rem;display:grid}.day-group__title{color:var(--color-text);margin:0;font-size:.9375rem;font-weight:700}.day-group__title span{color:var(--color-text-3);font-weight:600}.lesson-row--past .lesson-row__title{color:var(--color-text-2)}.profile .form-error{color:var(--danger-600);margin:0;font-weight:600}.profile .form-error[hidden]{display:none}.settings-hint a{color:var(--color-accent);text-underline-offset:3px;text-decoration:underline}.trainer-extra{margin-top:1.25rem}.trainer-extra>.card{margin:0}.trainer-note__submit{justify-content:center;width:100%;min-height:48px}.chip-row--wrap{flex-wrap:wrap;overflow:visible}.working-hours{gap:1rem;margin-top:.75rem;display:grid}.working-hours__times{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.working-hours__times .form-group{margin:0}.working-hours__times .form-control{min-height:44px;font-size:1rem}.working-hours__submit{justify-content:center;min-height:48px}.finance{gap:1.25rem;display:grid}.finance>.card{margin:0}.finance>*{min-width:0}.finance__bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.month-nav{align-items:center;gap:.5rem;display:flex}.month-nav__step{width:44px;padding:0;font-size:1.25rem}.month-nav__step:disabled{opacity:.35;cursor:not-allowed}.month-nav__label{text-align:center;min-width:9.5rem;color:var(--color-text);margin:0;font-size:1.125rem;font-weight:700}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}@media (width>=1024px){.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.kpi-tile{border:1px solid var(--color-line);border-radius:var(--radius-m);background:var(--color-surface);box-shadow:var(--shadow-1);align-content:start;gap:.15rem;min-width:0;padding:1rem;display:grid}.kpi-tile .kpi__value{overflow-wrap:anywhere;font-size:clamp(1.25rem,3.5vw,1.625rem)}.bar-chart{gap:.5rem;display:grid;position:relative}.bar-chart__plot{border-bottom:1px solid var(--color-line-strong);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:2px;height:220px;padding-top:1.75rem;display:grid}.bar-chart__col{border-radius:var(--radius-s) var(--radius-s) 0 0;cursor:pointer;height:100%;font:inherit;background:0 0;border:0;grid-template-rows:minmax(0,1fr) auto;min-width:0;padding:0 2px;display:grid}.bar-chart__track{flex-direction:column;justify-content:flex-end;align-items:center;min-height:0;display:flex;position:relative}.bar-chart__bar{background:var(--color-accent);opacity:.45;width:min(100%,36px);transition:opacity var(--dur-ui) ease;border-radius:4px 4px 0 0}.bar-chart__col.is-selected .bar-chart__bar{opacity:1}.bar-chart__value{white-space:nowrap;color:var(--color-text);font-variant-numeric:tabular-nums;font-size:.8125rem;font-weight:700;position:absolute;bottom:calc(100% + 4px)}.bar-chart__col.is-selected .bar-chart__track{justify-content:flex-end}.bar-chart__col.is-selected .bar-chart__value{margin-bottom:4px;position:static}.bar-chart__label{color:var(--color-text-3);text-align:center;white-space:nowrap;text-overflow:ellipsis;padding-top:.375rem;font-size:.8125rem;overflow:hidden}.bar-chart__col.is-selected .bar-chart__label{color:var(--color-text);font-weight:700}.bar-chart__max{color:var(--color-text-3);font-size:.8125rem}.bar-chart__col:not(.is-selected){position:relative}.bar-chart__col:not(.is-selected):after{content:attr(data-value);border-radius:var(--radius-s);background:var(--color-text);color:var(--color-surface);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-press) ease;z-index:1;padding:.25rem .5rem;font-size:.8125rem;font-weight:600;position:absolute;bottom:calc(100% - 1.25rem);left:50%;translate:-50%}@media (hover:hover) and (pointer:fine){.bar-chart__col:hover .bar-chart__bar{opacity:.75}.bar-chart__col:not(.is-selected):hover:after{opacity:1}}.bar-chart__col:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.bar-chart__col:not(.is-selected):focus-visible:after{opacity:1}@media (width<=480px){.bar-chart__plot{height:180px}.bar-chart__label{letter-spacing:-.01em;font-size:.75rem}}@media (prefers-reduced-motion:reduce){.bar-chart__bar,.bar-chart__col:after{transition:none}}.finance-table__amount{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.finance-table tfoot th,.finance-table tfoot td{border-top:1px solid var(--color-line-strong);text-align:left;color:var(--color-text);padding:.75rem}.finance-table tfoot td{text-align:right}@media (width<=767px){.finance-table tfoot{display:block}.finance-table tfoot tr{justify-content:space-between;padding:.75rem .875rem;display:flex}.finance-table tfoot th,.finance-table tfoot td{border:0;padding:0}.finance-table .finance-table__amount{grid-area:1/2;align-self:start}}.audit-list{border-top:1px solid var(--color-line);margin-top:.75rem;display:grid}.audit-row{border-bottom:1px solid var(--color-line);gap:.25rem 1rem;padding:.75rem 0;display:grid}@media (width>=768px){.audit-row{grid-template-columns:8.5rem minmax(0,1fr)}}.audit-row__when{color:var(--color-text-3);font-variant-numeric:tabular-nums;font-size:.8125rem}.audit-row__main{gap:.15rem;min-width:0;display:grid}.audit-row__title{color:var(--color-text);flex-wrap:wrap;align-items:center;gap:.5rem;font-weight:600;display:flex}.audit-row__desc{color:var(--color-text-2);overflow-wrap:anywhere;font-size:.875rem}.audit-row__meta{color:var(--color-text-3);overflow-wrap:anywhere;font-size:.8125rem}
