:root{--white:#FFFFFF;--black:#000000;--grey-25:#FAFAFA;--grey-50:#F5F5F7;--grey-100:#EDEDF0;--grey-200:#E3E3E8;--grey-300:#D2D2D7;--grey-400:#AEAEB2;--grey-500:#86868B;--grey-600:#6E6E73;--grey-700:#48484A;--grey-800:#2C2C2E;--grey-900:#1D1D1F;--grey-950:#111112;--ember-50:#FFF1EC;--ember-100:#FFE0D4;--ember-500:#FF5B2E;--ember-600:#E8461A;--ember-700:#B93512;--green-50:#EAF7EF;--green-600:#1E8E52;--green-700:#17703F;--amber-50:#FDF4E3;--amber-600:#B86E00;--amber-700:#8F5500;--red-50:#FDECEA;--red-600:#D3271B;--red-700:#A81E15;--blue-50:#EBF2FD;--blue-600:#1F64D6;--text-primary:var(--grey-900);--text-secondary:var(--grey-600);--text-tertiary:var(--grey-500);--text-disabled:var(--grey-400);--text-inverse:var(--white);--text-link:var(--grey-900);--surface-page:var(--white);--surface-subtle:var(--grey-50);--surface-card:var(--white);--surface-sunken:var(--grey-100);--surface-inverse:var(--black);--surface-inverse-2:var(--grey-900);--surface-overlay:rgba(0,0,0,.4);--surface-glass:rgba(255,255,255,.72);--border-subtle:var(--grey-100);--border-default:var(--grey-200);--border-strong:var(--grey-300);--border-focus:var(--grey-900);--border-inverse:rgba(255,255,255,.14);--action-primary:var(--grey-900);--action-primary-hover:var(--black);--action-primary-text:var(--white);--action-secondary:var(--grey-100);--action-secondary-hover:var(--grey-200);--action-accent:var(--ember-500);--action-accent-hover:var(--ember-600);--status-success:var(--green-600);--status-success-bg:var(--green-50);--status-warning:var(--amber-600);--status-warning-bg:var(--amber-50);--status-danger:var(--red-600);--status-danger-bg:var(--red-50);--status-info:var(--blue-600);--status-info-bg:var(--blue-50);--status-neutral:var(--grey-600);--status-neutral-bg:var(--grey-100);--chart-1:var(--grey-900);--chart-2:var(--grey-400);--chart-3:var(--grey-200);--chart-highlight:var(--ember-500);--chart-grid:var(--grey-100)}:root{--font-sans:"Geist",-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",sans-serif;--font-display:"Geist",-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",sans-serif;--font-mono:"Geist Mono",ui-monospace,"SF Mono",Menlo,monospace;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--type-display-xl:600 clamp(48px,7vw,96px)/1.02 var(--font-display);--tracking-display-xl:-.045em;--type-display-l:600 clamp(40px,5.2vw,72px)/1.04 var(--font-display);--tracking-display-l:-.04em;--type-display-m:600 clamp(32px,3.8vw,48px)/1.08 var(--font-display);--tracking-display-m:-.032em;--type-h1:600 32px/1.15 var(--font-display);--tracking-h1:-.025em;--type-h2:600 24px/1.2 var(--font-display);--tracking-h2:-.02em;--type-h3:600 19px/1.3 var(--font-sans);--tracking-h3:-.012em;--type-h4:600 16px/1.35 var(--font-sans);--tracking-h4:-.008em;--type-body-l:400 19px/1.5 var(--font-sans);--type-body:400 15px/1.5 var(--font-sans);--type-body-s:400 13px/1.45 var(--font-sans);--type-label:500 13px/1.3 var(--font-sans);--type-caption:400 12px/1.4 var(--font-sans);--type-overline:600 11px/1.2 var(--font-sans);--tracking-overline:.08em;--type-metric-xl:600 56px/1 var(--font-display);--type-metric:600 28px/1.1 var(--font-display);--tracking-metric:-.03em;--type-mono:500 13px/1.4 var(--font-mono)}:root{--space-0:0;--space-1:2px;--space-2:4px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:20px;--space-7:24px;--space-8:32px;--space-9:40px;--space-10:48px;--space-11:64px;--space-12:80px;--space-13:120px;--space-14:160px;--container-max:1200px;--container-wide:1440px;--container-text:680px;--gutter:clamp(20px,4vw,40px);--sidebar-w:248px;--topbar-h:60px;--tabbar-h:84px;--nav-h:52px;--control-h-sm:32px;--control-h:40px;--control-h-lg:48px;--control-h-xl:56px;--touch-min:44px}:root{--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--radius-2xl:32px;--radius-pill:999px;--shadow-none:none;--shadow-xs:0 1px 2px rgba(0,0,0,.05);--shadow-pop:0 1px 2px rgba(0,0,0,.04),0 12px 32px rgba(0,0,0,.1);--shadow-modal:0 24px 64px rgba(0,0,0,.18);--ring-focus:0 0 0 3px rgba(29,29,31,.16);--ring-accent:0 0 0 3px rgba(255,91,46,.22);--blur-glass:saturate(180%) blur(20px);--ease-out:cubic-bezier(.22,1,.36,1);--ease-in-out:cubic-bezier(.65,0,.35,1);--ease-spring:cubic-bezier(.34,1.4,.64,1);--dur-fast:.12s;--dur-base:.2s;--dur-slow:.36s;--dur-reveal:.7s}*,*:before,*:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;font:var(--type-body);color:var(--text-primary);background:var(--surface-page)}a{color:var(--text-link);text-decoration:none}a:hover{color:var(--black);text-decoration:underline;text-underline-offset:3px}button{font:inherit}::selection{background:var(--grey-900);color:var(--white)}.tabular{font-variant-numeric:tabular-nums}@keyframes dbf-spin{to{transform:rotate(360deg)}}@keyframes dbf-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes dbf-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes dbf-scanline{0%{transform:translateY(0)}to{transform:translateY(220px)}}:root{--ink: #1d1d1f;--ink-2: #1a1a1a;--ink-3: #2a2a2a;--paper: #ffffff;--bg: #fafafa;--line: #e7e7e4;--line-2: #d9d9d5;--muted: #6b6b68;--muted-2: #9a9a96;--fit: #8a8a8a;--green: #12805c;--green-bg: #e7f5ee;--amber: #a15c00;--amber-bg: #fdf3e3;--red: #c0352b;--red-bg: #fcebe9;--blue: #2c5fd0;--blue-bg: #eaf0fd;--r-sm: 8px;--r: 12px;--r-lg: 18px;--r-xl: 26px;--shadow: 0 1px 2px rgba(0,0,0,.04), 0 4px 16px rgba(0,0,0,.04);--shadow-lg: 0 20px 60px rgba(0,0,0,.18);--font: "Geist", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;--display: "Geist", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;--side: 248px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);color:var(--ink);background:#fff;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.02em;margin:0;line-height:1.15}h1{font-size:28px;font-weight:700}h2{font-size:22px;font-weight:700}h3{font-size:16px;font-weight:600}p{margin:0}a{color:inherit}a:hover{text-decoration:none}img{max-width:100%}.muted{color:var(--muted)}.small{font-size:12.5px}.center{text-align:center}.w-full{width:100%}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.nowrap{white-space:nowrap}.stack{display:flex;flex-direction:column;gap:14px}.stack-sm{display:flex;flex-direction:column;gap:8px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.row-between{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.grid{display:grid;gap:16px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.span2{grid-column:span 2}@media (max-width: 1000px){.g4,.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.g2,.g3,.g4{grid-template-columns:minmax(0,1fr)}.span2{grid-column:auto}}.mt{margin-top:16px}.mt-lg{margin-top:28px}.mb{margin-bottom:16px}.link{background:none;border:0;padding:0;color:var(--ink);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}hr{border:0;border-top:1px solid var(--line);margin:16px 0}.logo{display:inline-flex;align-items:center;gap:.5em;font-family:var(--display);font-weight:700;letter-spacing:-.03em;color:var(--ink);text-decoration:none}.logo-fit{color:var(--fit);font-weight:500}.logo-inverse{color:#fff}.logo-inverse .logo-fit{color:#a3a3a3}.app-icon{display:inline-grid;place-items:center;background:var(--ink);flex:none;box-shadow:inset 0 0 0 1px #ffffff0f}.logo-inverse .app-icon{background:#fff}.logo-inverse .app-icon svg{fill:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:10px;border:1px solid transparent;font:600 14px var(--font);cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,transform .05s;white-space:nowrap}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover:not(:disabled){background:var(--ink-3)}.btn-secondary{background:var(--paper);color:var(--ink);border-color:var(--line-2)}.btn-secondary:hover:not(:disabled){border-color:var(--ink)}.btn-ghost{background:transparent;color:var(--ink)}.btn-ghost:hover:not(:disabled){background:#0000000d}.btn-danger{background:var(--red);color:#fff}.btn-danger-ghost{background:transparent;color:var(--red);border-color:#f0c9c5}.btn-white{background:#fff;color:var(--ink)}.btn-outline-white{background:transparent;color:#fff;border-color:#ffffff4d}.btn-outline-white:hover{border-color:#fff}.btn-sm{height:32px;padding:0 12px;font-size:13px;border-radius:8px}.btn-lg{height:50px;padding:0 22px;font-size:15px;border-radius:12px}.icon-btn{width:34px;height:34px;display:inline-grid;place-items:center;border-radius:8px;border:0;background:transparent;cursor:pointer;font-size:15px;color:var(--muted)}.icon-btn:hover{background:#0000000f;color:var(--ink)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label{font-size:12.5px;font-weight:600;color:var(--ink-3)}.field-hint{font-size:12px;color:var(--muted)}.field-error{font-size:12px;color:var(--red)}.input{height:42px;width:100%;padding:0 12px;border-radius:10px;border:1px solid var(--line-2);background:var(--paper);font:14px var(--font);color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--ink);box-shadow:0 0 0 3px #00000014}.textarea{height:auto;padding:10px 12px;resize:vertical}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' fill='none' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.phone-input{display:flex;align-items:stretch;border:1px solid var(--line-2);border-radius:10px;background:var(--paper);overflow:hidden}.phone-input:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px #00000014}.phone-cc{display:flex;align-items:center;padding:0 10px 0 12px;border-right:1px solid var(--line);font-weight:600;font-size:13.5px;white-space:nowrap}.phone-input .input{border:0;box-shadow:none}.otp-input{font-size:24px;letter-spacing:.5em;text-align:center;font-weight:700;height:56px}.search{position:relative}.search .input{padding-left:36px}.search:before{content:"";position:absolute;left:12px;top:50%;width:14px;height:14px;transform:translateY(-50%);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.4'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat center/contain}.toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-weight:500}.toggle input{display:none}.toggle-track{width:38px;height:22px;border-radius:99px;background:var(--line-2);position:relative;transition:background .15s;flex:none}.toggle-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 2px #0003}.toggle input:checked+.toggle-track{background:var(--ink)}.toggle input:checked+.toggle-track .toggle-thumb{transform:translate(16px)}.toggle.is-disabled{opacity:.5;cursor:not-allowed}.check{display:inline-flex;gap:8px;align-items:center;cursor:pointer}.check input{accent-color:var(--ink);width:16px;height:16px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);min-width:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px 0}.card-body{padding:16px 18px 18px}.card-dark{background:var(--ink);color:#fff;border-color:var(--ink)}.card-dark .muted{color:#a3a3a3}.stat{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;box-shadow:var(--shadow);min-width:0}.stat-label{font-size:12.5px;color:var(--muted);font-weight:500;display:flex;align-items:center;gap:6px}.stat-value{font-family:var(--display);font-size:28px;font-weight:700;letter-spacing:-.03em;margin-top:6px}.stat-sub{font-size:12px;color:var(--muted);margin-top:2px}.stat-dark{background:var(--ink);border-color:var(--ink);color:#fff}.stat-dark .stat-label,.stat-dark .stat-sub{color:#a3a3a3}.badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:99px;font-size:11.5px;font-weight:600;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-green{background:var(--green-bg);color:var(--green)}.badge-amber{background:var(--amber-bg);color:var(--amber)}.badge-red{background:var(--red-bg);color:var(--red)}.badge-blue{background:var(--blue-bg);color:var(--blue)}.badge-gray{background:#efefec;color:#5b5b58}.badge-dark{background:var(--ink);color:#fff}.avatar{display:inline-grid;place-items:center;border-radius:50%;background:#ececea;color:var(--ink);font-weight:700;flex:none;object-fit:cover;font-family:var(--display)}.alert{padding:11px 14px;border-radius:10px;font-size:13.5px;display:flex;align-items:center;justify-content:space-between;gap:10px}.alert-error{background:var(--red-bg);color:#8f241c}.alert-info{background:#f0f0ee;color:var(--ink-3)}.alert-warn{background:var(--amber-bg);color:#7a4500}.alert-ok{background:var(--green-bg);color:#0c5e43}.alert a{font-weight:600}.empty{text-align:center;padding:40px 20px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:8px}.empty-icon{width:48px;height:48px;border-radius:14px;background:#f0f0ee;display:grid;place-items:center;font-size:20px;color:var(--ink)}.empty h4{color:var(--ink);font-size:15px}.loading{display:flex;align-items:center;gap:10px;color:var(--muted);padding:30px;justify-content:center}.full-center{min-height:100vh;display:grid;place-items:center}.spinner{display:inline-block;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite;opacity:.7;flex:none}@keyframes spin{to{transform:rotate(360deg)}}.table-wrap{overflow-x:auto}table.table{width:100%;border-collapse:collapse;font-size:13.5px}.table th{text-align:left;font-weight:600;font-size:12px;color:var(--muted);padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap;background:#fbfbfa}.table td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:#fafaf8}.table .num{text-align:right;font-variant-numeric:tabular-nums}.cell-person{display:flex;align-items:center;gap:10px;min-width:180px}.cell-person b{display:block;font-weight:600}.cell-person small{color:var(--muted)}.list{display:flex;flex-direction:column}.list-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.list-item:last-child{border-bottom:0}.list-item .grow{flex:1;min-width:0}.list-item b{font-weight:600}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none}.tab{background:none;border:0;padding:10px 12px;font:600 13.5px var(--font);color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;display:inline-flex;gap:6px;align-items:center}.tab:hover{color:var(--ink)}.tab.is-active{color:var(--ink);border-bottom-color:var(--ink)}.tab-count{background:#efefec;border-radius:99px;padding:0 7px;font-size:11px;line-height:18px}.tab.is-active .tab-count{background:var(--ink);color:#fff}.segmented{display:inline-flex;background:#ededea;border-radius:10px;padding:3px;gap:2px}.segmented button{border:0;background:transparent;padding:6px 12px;border-radius:8px;font:600 13px var(--font);color:var(--muted);cursor:pointer}.segmented button.is-active{background:#fff;color:var(--ink);box-shadow:0 1px 2px #00000014}.kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px 20px;margin:0}.kv dt{font-size:12px;color:var(--muted)}.kv dd{margin:2px 0 0;font-weight:600;word-break:break-word}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a0a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;z-index:100;padding:16px;animation:fade .15s}.modal{background:var(--paper);border-radius:var(--r-xl);width:100%;max-width:480px;max-height:calc(100vh - 32px);display:flex;flex-direction:column;box-shadow:var(--shadow-lg);animation:pop .18s ease-out}.modal-wide{max-width:760px}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 0}.modal-body{padding:16px 20px;overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px 18px;border-top:1px solid var(--line)}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}.toasts{position:fixed;bottom:20px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:200;align-items:center}.toast{background:var(--ink);color:#fff;padding:11px 16px;border-radius:12px;font-weight:500;box-shadow:var(--shadow-lg);animation:pop .2s;max-width:90vw}.toast-error{background:var(--red)}.bars{display:flex;align-items:flex-end;gap:6px}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}.bar{width:100%;max-width:34px;background:#dcdcd8;border-radius:6px 6px 3px 3px;min-height:3px;transition:height .3s}.bar-col.is-hi .bar,.bar-col:hover .bar{background:var(--ink)}.bar-val{font-size:10.5px;color:var(--muted);height:15px}.bar-label{font-size:10.5px;color:var(--muted);margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.card-dark .bar{background:#3a3a3a}.card-dark .bar-col.is-hi .bar{background:#fff}.shell{display:grid;grid-template-columns:var(--side) 1fr;min-height:100vh}.sidebar{background:var(--ink);color:#fff;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:18px 12px;overflow-y:auto}.sidebar .logo{padding:4px 8px 18px}.gym-switch{background:var(--ink-2);border:1px solid #2c2c2c;border-radius:12px;padding:10px 12px;margin-bottom:14px;color:#fff;width:100%;text-align:left;font:inherit}.gym-switch small{color:#9a9a9a;display:block;font-size:11.5px}.gym-switch b{display:block;font-family:var(--display);font-size:14px}.gym-switch select{width:100%;background:transparent;color:#fff;border:0;font:600 14px var(--display);padding:0;outline:none}.gym-switch select option{color:#000}.nav{display:flex;flex-direction:column;gap:2px}.nav-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:#777;padding:14px 10px 6px;font-weight:600}.nav a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;color:#bdbdbd;text-decoration:none;font-weight:500;font-size:13.5px}.nav a:hover{background:#1c1c1c;color:#fff}.nav a.active{background:#fff;color:var(--ink)}.nav a .ico{width:18px;text-align:center;font-size:14px;opacity:.9}.sidebar-foot{margin-top:auto;padding-top:14px;border-top:1px solid #222;display:flex;align-items:center;gap:10px}.sidebar-foot .avatar{background:#2a2a2a;color:#fff}.sidebar-foot .grow{flex:1;min-width:0}.sidebar-foot b{display:block;font-size:13px}.sidebar-foot small{color:#888;font-size:11.5px}.sidebar-foot .icon-btn{color:#888}.sidebar-foot .icon-btn:hover{background:#222;color:#fff}.main{min-width:0;display:flex;flex-direction:column}.topbar{display:none}.content{padding:28px 32px 60px;max-width:1320px;width:100%;margin:0 auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.page-head p{margin-top:4px}.page-actions{display:flex;gap:8px;flex-wrap:wrap}.back{display:inline-flex;gap:6px;align-items:center;color:var(--muted);text-decoration:none;font-weight:500;margin-bottom:8px;font-size:13px}.back:hover{color:var(--ink)}.banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:14px;background:var(--ink);color:#fff;margin-bottom:20px;flex-wrap:wrap}.banner .muted{color:#aaa}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--line)}.toolbar .search{flex:1;min-width:200px}.toolbar .input{height:38px}.toolbar .select{width:auto}.more-row{padding:12px;text-align:center;border-top:1px solid var(--line)}@media (max-width: 900px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:90;left:0;top:0;width:280px;transform:translate(-100%);transition:transform .2s}.shell.nav-open .sidebar{transform:none;box-shadow:var(--shadow-lg)}.shell.nav-open:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:80}.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.content{padding:20px 16px 60px}}.feed-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.feed-item:last-child{border-bottom:0}.feed-dot{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;flex:none;font-size:14px}.feed-ok{background:var(--green-bg);color:var(--green)}.feed-no{background:var(--red-bg);color:var(--red)}.live-dot{width:8px;height:8px;border-radius:50%;background:#1fbf7a;display:inline-block;box-shadow:0 0 #1fbf7a99;animation:pulse 1.8s infinite}@keyframes pulse{70%{box-shadow:0 0 0 8px #1fbf7a00}to{box-shadow:0 0 #1fbf7a00}}.scan-wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px}@media (max-width: 900px){.scan-wrap{grid-template-columns:1fr}}.scanner{background:var(--ink);border-radius:var(--r-xl);overflow:hidden;aspect-ratio:1;position:relative;display:grid;place-items:center;color:#fff}.scanner #qr-reader{width:100%;height:100%}.scanner #qr-reader video{object-fit:cover;width:100%!important;height:100%!important}.scan-frame{position:absolute;top:18%;right:18%;bottom:18%;left:18%;border:3px solid rgba(255,255,255,.9);border-radius:24px;pointer-events:none}.scan-result{border-radius:var(--r-xl);padding:28px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.scan-result.ok{background:var(--green-bg)}.scan-result.no{background:var(--red-bg)}.scan-result .big-ico{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;font-size:30px;color:#fff}.scan-result.ok .big-ico{background:var(--green)}.scan-result.no .big-ico{background:var(--red)}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-h{font-size:11px;color:var(--muted);text-align:center;font-weight:600}.cal-d{aspect-ratio:1;border-radius:10px;display:grid;place-items:center;font-size:12.5px;font-weight:600;background:#f3f3f1;color:var(--muted-2);position:relative}.cal-d.on{background:var(--ink);color:#fff}.cal-d.today{box-shadow:inset 0 0 0 2px var(--ink);color:var(--ink)}.cal-d.on.today{box-shadow:inset 0 0 0 2px #fff,0 0 0 2px var(--ink);color:#fff}.cal-d.blank{background:transparent}.steps{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.step{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px;color:var(--muted)}.step span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#ececea;font-size:12px}.step.is-active{color:var(--ink)}.step.is-active span,.step.is-done span{background:var(--ink);color:#fff}.step+.step:before{content:"";width:24px;height:1px;background:var(--line-2)}.dropzone{border:1.5px dashed var(--line-2);border-radius:var(--r-lg);padding:32px;text-align:center;cursor:pointer;background:#fbfbfa;transition:border-color .15s,background .15s;display:block}.dropzone:hover,.dropzone.is-over{border-color:var(--ink);background:#f5f5f3}.dropzone input{display:none}.progress{height:8px;border-radius:99px;background:#ececea;overflow:hidden}.progress>div{height:100%;background:var(--ink);border-radius:99px;transition:width .3s}.auth-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh;background:var(--paper)}.auth-panel{display:flex;flex-direction:column;padding:28px 40px}.auth-logo{text-decoration:none}.auth-form{width:100%;max-width:380px;margin:auto;display:flex;flex-direction:column;gap:18px;padding:40px 0}.auth-form h1{font-size:32px}.auth-foot{border-top:1px solid var(--line);padding-top:16px;font-size:13.5px;color:var(--muted)}.auth-foot a{color:var(--ink);font-weight:600}.auth-legal{text-align:center}.auth-aside{background:var(--ink);color:#fff;position:relative;overflow:hidden;display:grid;place-items:center;padding:40px}.auth-aside:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(600px 400px at 70% 20%,rgba(255,255,255,.08),transparent 60%),radial-gradient(500px 300px at 20% 90%,rgba(255,255,255,.05),transparent 60%)}.auth-aside-inner{position:relative;max-width:420px;display:flex;flex-direction:column;gap:18px}.auth-aside h2{font-size:44px;line-height:1.02;letter-spacing:-.04em}.auth-aside p{color:#a3a3a3;font-size:16px}.glow-tile{width:128px;height:128px;border-radius:34px;background:#111;display:grid;place-items:center;box-shadow:0 0 0 1px #222,0 0 80px #fff0dc2e,0 30px 60px #0009;margin-bottom:10px}@media (max-width: 860px){.auth-split{grid-template-columns:1fr}.auth-aside{display:none}.auth-panel{padding:20px}}.site{background:var(--paper)}.site-nav{position:sticky;top:0;z-index:40;background:#ffffffd9;-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid transparent;transition:border-color .2s}.site-nav.scrolled{border-color:var(--line)}.site-nav-in{max-width:1200px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.site-links{display:flex;gap:26px}.site-links a{text-decoration:none;color:var(--muted);font-weight:500}.site-links a:hover{color:var(--ink)}.site-cta{display:flex;gap:8px}@media (max-width: 860px){.site-links,.site-cta .btn-ghost{display:none}}.wrap{max-width:1200px;margin:0 auto;padding:0 24px}.hero{padding:80px 0 40px;text-align:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:99px;padding:6px 14px 6px 8px;font-size:13px;font-weight:500;color:var(--ink-3);background:#fafaf9}.eyebrow .badge-dark{height:20px}.hero h1{font-size:clamp(42px,7vw,84px);line-height:.98;letter-spacing:-.04em;font-weight:800;margin:22px auto 0;max-width:940px}.hero h1 .dim{color:var(--fit)}.hero p.lead{font-size:clamp(16px,2vw,19px);color:var(--muted);max-width:620px;margin:20px auto 0}.hero .row{justify-content:center;margin-top:30px}.hero-note{margin-top:14px;font-size:13px;color:var(--muted)}.hero-visual{margin:56px auto 0;max-width:1100px;position:relative}.mock{background:var(--ink);border-radius:28px;padding:14px;box-shadow:0 40px 100px -20px #00000059}.mock-in{background:var(--bg);border-radius:18px;overflow:hidden;display:grid;grid-template-columns:200px 1fr;min-height:440px;text-align:left}.mock-side{background:var(--ink);padding:16px 12px;display:flex;flex-direction:column;gap:4px}.mock-side>span{display:block;color:#9a9a9a;padding:8px 10px;border-radius:8px;font-size:13px;font-weight:500}.mock-side>span.on{background:#fff;color:var(--ink)}.mock-main{padding:22px;display:flex;flex-direction:column;gap:14px}.mock-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.mock-stats .stat{padding:12px 14px}.mock-stats .stat-value{font-size:22px}.mock-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:10px;flex:1}@media (max-width: 760px){.mock-in{grid-template-columns:1fr}.mock-side{display:none}.mock-stats{grid-template-columns:repeat(2,1fr)}.mock-grid{grid-template-columns:1fr}}.logos-strip{padding:40px 0;text-align:center;color:var(--muted);font-size:13px}.section{padding:96px 0}.section-dark{background:var(--ink);color:#fff}.section-dark .muted{color:#a3a3a3}.section-head{max-width:680px;margin:0 auto 48px;text-align:center}.section-head .kicker{font-size:12.5px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:var(--fit)}.section-head h2{font-size:clamp(32px,4.5vw,52px);letter-spacing:-.04em;margin-top:12px;line-height:1.02}.section-head p{margin-top:14px;font-size:17px;color:var(--muted)}.section-dark .section-head p{color:#a3a3a3}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media (max-width: 900px){.features{grid-template-columns:1fr}}.feature{border:1px solid var(--line);border-radius:var(--r-xl);padding:26px;background:var(--paper);display:flex;flex-direction:column;gap:10px}.feature-ico{width:44px;height:44px;border-radius:13px;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:18px;margin-bottom:8px}.feature h3{font-size:19px}.feature p{color:var(--muted)}.feature-lg{grid-column:span 2;background:var(--ink);color:#fff;border-color:var(--ink)}.feature-lg p{color:#a3a3a3}.feature-lg .feature-ico{background:#fff;color:var(--ink)}@media (max-width: 900px){.feature-lg{grid-column:auto}}.how{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:s}@media (max-width: 900px){.how{grid-template-columns:1fr}}.how>div{border-top:1px solid #2a2a2a;padding-top:22px}.how>div:before{counter-increment:s;content:"0" counter(s);font-family:var(--display);font-size:14px;color:#777;font-weight:600}.how h3{font-size:22px;margin-top:14px}.how p{color:#a3a3a3;margin-top:8px}.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}@media (max-width: 900px){.split{grid-template-columns:1fr;gap:32px}}.split h2{font-size:clamp(30px,4vw,46px);letter-spacing:-.04em;line-height:1.04}.split ul{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-direction:column;gap:12px}.split li{display:flex;gap:10px;font-size:15px}.split li:before{content:"✓";width:22px;height:22px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:11px;flex:none;margin-top:1px}.phone{width:290px;margin:0 auto;background:#0b0b0b;border-radius:46px;padding:12px;box-shadow:0 40px 80px -20px #00000073,inset 0 0 0 2px #2a2a2a}.phone-in{background:#141414;border-radius:36px;padding:18px 18px 26px;color:#fff;min-height:540px;display:flex;flex-direction:column;gap:14px}.phone-top{display:flex;justify-content:space-between;font-size:13px;font-weight:600}.phone-island{width:90px;height:26px;background:#000;border-radius:99px;margin:-4px auto 0}.phone-qr{background:#fff;border-radius:22px;padding:18px;display:grid;place-items:center}.cta-band{background:var(--ink);color:#fff;border-radius:32px;padding:64px 32px;text-align:center;position:relative;overflow:hidden}.cta-band:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(500px 260px at 50% 0%,rgba(255,240,220,.14),transparent 70%)}.cta-band>*{position:relative}.cta-band h2{font-size:clamp(32px,5vw,56px);letter-spacing:-.04em}.cta-band p{color:#a3a3a3;margin-top:12px;font-size:17px}.cta-band .row{justify-content:center;margin-top:28px}.faq{max-width:760px;margin:0 auto}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{font-weight:600;font-size:16px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:10px}.faq summary:after{content:"+";font-size:20px;color:var(--muted)}.faq details[open] summary:after{content:"–"}.faq details p{color:var(--muted);margin-top:10px}.site-foot{border-top:1px solid var(--line);padding:40px 0}.site-foot .row-between{align-items:flex-start}.foot-links{display:flex;gap:40px;flex-wrap:wrap}.foot-links div{display:flex;flex-direction:column;gap:8px}.foot-links b{font-size:13px}.foot-links a{color:var(--muted);text-decoration:none;font-size:13.5px}.foot-links a:hover{color:var(--ink)}.notfound{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:20px}.notfound h1{font-size:120px;letter-spacing:-.06em}.legal{max-width:760px;margin:0 auto;padding:60px 24px}.legal h1{font-size:40px;margin-bottom:20px}.legal h2{font-size:20px;margin:28px 0 8px}.legal p{color:var(--ink-3);margin-bottom:10px}.reg{min-height:100vh;background:var(--bg)}.reg-top{padding:18px 24px;display:flex;justify-content:space-between;align-items:center;background:var(--paper);border-bottom:1px solid var(--line)}.reg-body{max-width:720px;margin:0 auto;padding:36px 20px 80px}.doc-row{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.doc-row .grow{flex:1;min-width:0}.m-shell{min-height:100vh;background:var(--bg)}.m-top{position:sticky;top:0;z-index:30;background:#f6f6f4e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.m-top-in{max-width:980px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.m-nav{display:flex;gap:4px}.m-nav a{text-decoration:none;padding:7px 12px;border-radius:9px;color:var(--muted);font-weight:600;font-size:13.5px}.m-nav a.active{background:var(--ink);color:#fff}.m-body{max-width:980px;margin:0 auto;padding:24px 20px 100px}.m-tabbar{display:none}@media (max-width: 760px){.m-nav{display:none}.m-tabbar{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--paper);border-top:1px solid var(--line);z-index:40;padding:6px 6px calc(6px + env(safe-area-inset-bottom))}.m-tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;color:var(--muted-2);font-size:11px;font-weight:600;padding:6px 0;border-radius:10px}.m-tabbar a .ico{font-size:18px}.m-tabbar a.active{color:var(--ink)}}.qr-card{background:var(--ink);color:#fff;border-radius:30px;padding:28px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;max-width:420px;margin:0 auto;box-shadow:0 30px 70px -20px #0006}.qr-box{background:#fff;padding:18px;border-radius:22px}.qr-timer{width:100%;height:4px;background:#2a2a2a;border-radius:99px;overflow:hidden}.qr-timer>div{height:100%;background:#fff;transition:width 1s linear}.ring{width:120px;height:120px;border-radius:50%;display:grid;place-items:center;position:relative}.ring-in{position:absolute;top:10px;right:10px;bottom:10px;left:10px;background:var(--paper);border-radius:50%;display:grid;place-items:center;text-align:center}.card-dark .ring-in{background:var(--ink)}.ring-in b{font-family:var(--display);font-size:26px;display:block;line-height:1}.ring-in small{font-size:11px;color:var(--muted)}.gym-card{cursor:pointer;transition:border-color .15s,transform .1s}.gym-card:hover{border-color:var(--ink)}.gym-card.is-selected{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink),var(--shadow)}.g-main{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}@media (max-width: 1000px){.g-main{grid-template-columns:minmax(0,1fr)}}.picker{border:1px solid var(--line);border-radius:12px;max-height:260px;overflow-y:auto}.picker button{display:flex;width:100%;align-items:center;gap:10px;padding:10px 12px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;cursor:pointer;font:inherit}.picker button:hover{background:#f7f7f5}.picker button:last-child{border-bottom:0}.totals{display:flex;gap:28px;flex-wrap:wrap;padding:16px;border-bottom:1px solid var(--line)}.totals div small{display:block;color:var(--muted);font-size:12px}.totals div b{font-family:var(--display);font-size:20px}.site{overflow-x:hidden}@media (max-width: 520px){.site-nav-in{padding:12px 16px}.site-cta .btn-secondary{display:none}.wrap{padding:0 16px}.hero{padding-top:48px}.hero .row .btn{width:100%}.eyebrow{font-size:12px}.section{padding:64px 0}.cta-band{padding:48px 20px;border-radius:24px}.cta-band .row .btn{width:100%}.page-head h1{font-size:24px}.modal-foot{flex-wrap:wrap}}
