:root{--bg: #f3f3f3;--surface: #ffffff;--surface-2: #e8e8e8;--border: #d1d1d1;--text: #191919;--muted: #575757;--blue: #1d4ed8;--blue-hover: #1e40af;--green: #067a46;--red: #cf202f;--yellow: #886000;--radius: 18px;color-scheme:light;--surface-soft: #f0f0f0;--hairline-soft: #e4e4e4;--on-primary: #ffffff;--surface-dark: #111111;--surface-dark-elevated: #202020;--on-dark-soft: #c4c4c4;--primary-disabled: #adadad;--chart-secondary: #7399e8;--focus-halo: #1d4ed81a;--overlay: #0a0b0d99;--semantic-up: #05b169;--radius-pill: 100px;--radius-input: 12px;--link: var(--blue);--positive-bg: #e9f5ef;--negative-bg: #fff0f1;--warning-bg: #fff5dc}:root[data-theme=dark]{color-scheme:dark;--bg: #000000;--surface: #080808;--surface-2: #171717;--surface-soft: #0d0d0d;--hairline-soft: #202020;--border: #303030;--text: #f5f5f5;--muted: #c4c4c4;--link: #93baff;--blue: #2563eb;--blue-hover: #1d4ed8;--green: #76dba9;--red: #ff9fa7;--yellow: #eac578;--focus-halo: #60a5fa26;--primary-disabled: #454545;--overlay: #000000b3;--positive-bg: #193b32;--negative-bg: #422932;--warning-bg: #3d3421}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:var(--type-reading);line-height:1.5;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button,a{touch-action:manipulation}button{color:inherit}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(28px,2.7vw,38px);line-height:1.2;letter-spacing:-1.2px;font-weight:550;margin-bottom:10px}h2{font-size:18px;font-weight:600;letter-spacing:-.2px;margin-bottom:4px}h3{font-size:var(--type-body);font-weight:550;margin-bottom:8px}small{font-size:var(--type-small)}p{color:var(--muted);text-wrap:pretty}h1,h2{text-wrap:balance}:focus-visible{outline:2px solid var(--blue);outline-offset:4px}button,a,input,select,textarea{transition:border-color var(--motion-fast) var(--motion-ease),background-color var(--motion-fast) var(--motion-ease)}input,select,textarea{width:100%;min-height:42px;border:1px solid var(--border);background:var(--surface-soft);border-radius:6px;padding:10px 12px;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--link);box-shadow:0 0 0 2px var(--focus-halo)}select{padding-right:30px}label{display:flex;flex-direction:column;gap:8px;font-size:var(--type-body);font-weight:500;color:var(--text)}textarea{resize:vertical}strong{font-weight:550}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;font-size:var(--type-small);letter-spacing:.2px;font-weight:500;color:var(--muted);background:var(--surface-soft);padding:14px 22px}td{padding:17px 22px;font-size:var(--type-body);border-bottom:1px solid var(--border);color:var(--muted)}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--surface-soft)}.table-scroll{overflow-x:auto}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:9px 15px;border:1px solid var(--border);border-radius:6px;background:var(--surface-soft);font-size:var(--type-small);font-weight:500;white-space:nowrap;color:var(--text)}.button:hover:not(:disabled){background:var(--surface-soft);border-color:var(--border)}.button.primary{background:var(--blue);border-color:var(--link);color:var(--on-primary)}.button.primary:hover:not(:disabled){background:var(--blue-hover)}.button.small{min-height:32px;padding:6px 10px;font-size:var(--type-small)}.button.full{width:100%}.icon-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;background:transparent;min-width:32px;height:32px;border-radius:6px;color:var(--muted);padding:4px}.icon-button:hover{background:var(--surface-2);color:var(--text)}.text-button{background:none;border:0;padding:0;text-align:left}.text-link{font-size:var(--type-small);display:inline-flex;align-items:center;gap:6px;color:var(--link)}.text-link:hover{color:var(--link)}.muted{color:var(--muted)}.align-right{text-align:right}.amount{font-variant-numeric:tabular-nums;font-weight:600;color:var(--text)}.badge{display:inline-flex;gap:5px;align-items:center;padding:4px 8px;border-radius:5px;font-size:var(--type-small);line-height:1.3;font-weight:500;white-space:nowrap;background:var(--surface-soft);color:var(--muted);border:1px solid transparent}.badge.success{background:var(--surface-soft);color:var(--green);border-color:var(--border)}.badge.warning{background:var(--surface-soft);color:var(--yellow);border-color:var(--border)}.badge.danger{background:var(--surface-soft);color:var(--red);border-color:var(--border)}.badge.blue,.badge.neutral{background:var(--surface-soft);color:var(--muted)}.avatar{width:34px;height:34px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--type-small);letter-spacing:.2px;background:var(--surface-soft);color:var(--muted);border:1px solid var(--border)}.person-cell,.member-summary{display:flex;align-items:center;gap:11px}.person-cell strong{color:var(--text);display:block;font-size:var(--type-body)}.person-cell small,.member-summary small{display:block;color:var(--muted);font-size:var(--type-small);margin-top:3px}.date-cell{display:flex;flex-direction:column;gap:4px}.date-cell small{font-size:var(--type-small);color:var(--muted)}.status-cell{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.status-cell small{font-size:var(--type-small);max-width:165px;white-space:normal;color:var(--muted)}.brand-icon{width:37px;height:37px;background:var(--blue);color:var(--on-primary);display:inline-flex;justify-content:center;align-items:center;border-radius:8px;flex-shrink:0}.app-layout{display:flex;min-height:100dvh}.sidebar{width:236px;position:fixed;inset:0 auto 0 0;z-index:30;background:var(--surface-soft);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:29px 16px 12px;overflow-y:auto}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 27px;font-size:var(--type-body);font-weight:700;letter-spacing:.15px}.brand small,.login-brand small{display:block;font-size:var(--type-small);letter-spacing:2.7px;color:var(--text);margin-top:3px;font-weight:400}.workspace-label{display:flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:7px;font-size:var(--type-small);padding:11px 10px;margin:0 4px 22px;color:var(--text);white-space:nowrap}.live-dot{display:inline-block;width:5px;height:5px;background:var(--green);border-radius:50%;flex-shrink:0}.tiny-tag{font-size:var(--type-small);letter-spacing:.7px;padding:2px 4px;background:var(--surface-soft);border-radius:3px;color:var(--muted);margin-left:auto}.nav-group{font-size:var(--type-small);letter-spacing:1.4px;color:var(--muted);padding:23px 13px 9px;margin:0}.nav-link{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:6px;color:var(--muted);font-size:var(--type-small);margin:3px 0}.nav-link:hover{background:var(--surface-soft);color:var(--muted)}.nav-link.active{background:var(--surface-soft);color:var(--link);box-shadow:none}.nav-link.active svg{color:var(--link)}.nav-active-dot{width:4px;height:4px;border-radius:50%;background:var(--blue);margin-left:auto}.sidebar-footer{margin-top:auto;padding-top:30px}.support-card{border:0;border-top:1px solid var(--border);background:transparent;border-radius:9px;padding:16px;margin:0 3px 24px;color:var(--muted)}.support-card strong{display:block;color:var(--text);font-size:var(--type-small);margin-top:9px}.support-card p{font-size:var(--type-small);margin:5px 0 12px;color:var(--muted)}.support-card a{font-size:var(--type-small);color:var(--link);display:flex;align-items:center;justify-content:space-between}.account{display:flex;gap:9px;align-items:center;border-top:1px solid var(--border);padding:16px 4px 4px}.account strong{font-size:var(--type-small);display:block}.account small{color:var(--text);font-size:var(--type-small);display:block}.account .icon-button{margin-left:auto}.main-area{margin-left:236px;min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:73px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:12px}.breadcrumb{display:flex;align-items:center;gap:16px;font-size:var(--type-small);color:var(--muted)}.breadcrumb strong{color:var(--text);font-weight:400}.slash{color:var(--muted)}.topbar-right{display:flex;align-items:center;gap:12px;font-size:var(--type-small);color:var(--muted)}.topbar-right .avatar{width:30px;height:30px;font-size:var(--type-small)}.timezone{font-size:var(--type-small);letter-spacing:.6px;background:var(--surface-soft);padding:3px 5px;border-radius:3px;color:var(--muted)}.topbar-divider{height:18px;border-left:1px solid var(--border);margin:0 7px}.mobile-menu{display:none}.content{padding:36px 38px 24px;max-width:1480px;width:100%;margin:0 auto;flex:1}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}.page-heading p{font-size:var(--type-small);margin:0;color:var(--muted)}.eyebrow{font-size:var(--type-small);letter-spacing:1.8px;color:var(--muted);font-weight:500;margin-bottom:12px}.heading-dot{color:var(--link)}.heading-actions{display:flex;align-items:center;gap:9px}.demo-notice{display:flex;align-items:center;gap:8px;font-size:var(--type-small);color:var(--muted);background:transparent;border:0;border-left:2px solid var(--border);padding:9px 13px;border-radius:6px;margin-bottom:20px}.demo-notice .live-dot{background:var(--green)}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden;margin-bottom:24px}.metric{border-right:1px solid var(--border);padding:22px 24px;min-width:0}.metric:last-child{border-right:0}.metric-heading{display:flex;align-items:center;justify-content:space-between;font-size:var(--type-small);color:var(--muted);gap:10px}.metric-icon{display:flex;color:var(--muted)}.metric>strong{font-size:34px;letter-spacing:-1px;display:block;margin:12px 0 7px;line-height:1.2}.metric>small{font-size:var(--type-small);color:var(--muted);display:block}.panel{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);margin-bottom:24px;overflow:hidden}.panel-heading{padding:23px 24px 21px;display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.panel-heading p{font-size:var(--type-small);margin:5px 0 0;color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:22px;grid-auto-flow:dense}.dashboard-grid .panel{min-height:339px}.chart-summary{padding:0 24px;display:flex;align-items:baseline;gap:12px}.chart-summary strong{font-size:27px;letter-spacing:-.8px}.chart-summary span{font-size:var(--type-small);color:var(--muted)}.revenue-chart{display:flex;gap:10px;padding:18px 23px 5px;min-height:190px;overflow-x:auto}.chart-axis{display:flex;flex-direction:column;justify-content:space-between;font-size:var(--type-small);color:var(--muted);min-width:44px;padding-bottom:27px}.chart-plot{display:flex;flex:1;min-width:200px;gap:22px;justify-content:space-around;background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(50% - 1px),var(--hairline-soft) 50%);height:170px;padding-top:1px}.chart-column{flex:1;min-width:25px;max-width:90px;height:170px;display:flex;flex-direction:column;align-items:center;gap:12px;justify-content:flex-end}.chart-column>span{font-size:var(--type-small);color:var(--muted);white-space:nowrap}.stacked-bar{width:32px;max-width:90%;height:143px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;gap:2px}.bar{width:100%;min-height:0;border-radius:3px 3px 0 0;transition:filter var(--motion-standard) var(--motion-ease)}.stacked-bar:hover .bar{filter:brightness(1.25)}.chart-panel .panel-heading{padding-bottom:13px}.alerts-panel{display:flex;flex-direction:column}.small-icon{display:flex;background:var(--surface-soft);padding:7px;border-radius:6px;color:var(--muted)}.alert-list{padding:0 21px}.alert-item{display:flex;align-items:center;gap:9px;padding:12px 0;border-bottom:1px solid var(--border)}.alert-item:last-child{border:0}.alert-item>div strong{font-size:var(--type-small);display:block}.alert-item small{font-size:var(--type-small);color:var(--muted);display:block;margin-top:3px}.alert-status{margin-left:auto;text-align:right}.panel-footer-link{margin-top:auto;padding:15px 22px;border-top:1px solid var(--border);font-size:var(--type-small);color:var(--link);display:flex;align-items:center;justify-content:space-between}.bottom-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}.recent-scan{display:flex;align-items:center;gap:10px;padding:13px 23px;border-top:1px solid var(--border)}.recent-scan>div{flex:1}.recent-scan strong{display:block;font-size:var(--type-small)}.recent-scan small{display:block;font-size:var(--type-small);color:var(--muted);margin-top:3px}.recent-scan .avatar{width:29px;height:29px;font-size:var(--type-small)}.quick-panel{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:27px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:16px;margin-bottom:24px;color:var(--muted)}.quick-panel h2{font-size:18px;color:var(--text);letter-spacing:-.5px}.quick-panel p{font-size:var(--type-small);max-width:290px;margin:9px 0 0;color:var(--muted);line-height:1.7}.quick-panel .button{background:var(--surface-soft);border-color:var(--border);font-size:var(--type-small);margin-top:auto}.app-footer{display:flex;align-items:center;justify-content:space-between;padding:0 38px 22px;font-size:var(--type-small);color:var(--muted);letter-spacing:.2px}.mobile-workflow-nav{display:none}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:13px;padding:18px 22px;border-bottom:1px solid var(--border)}.toolbar.wrap{flex-wrap:wrap;justify-content:flex-start}.toolbar>select{width:auto;min-width:140px;font-size:var(--type-small);min-height:36px;height:36px;padding-top:7px;padding-bottom:7px}.search{display:flex;flex-direction:row;align-items:center;gap:8px;background:var(--surface-soft);border:1px solid var(--border);border-radius:6px;padding:0 10px;min-width:200px;flex:0 1 260px}.search svg{color:var(--muted);flex-shrink:0}.search input{border:0;background:transparent;box-shadow:none;min-height:35px;padding:8px 0;font-size:var(--type-small)}.tabs{display:flex;align-items:center;gap:3px}.tabs button{border:0;background:transparent;color:var(--muted);padding:8px 11px;border-radius:5px;font-size:var(--type-small);white-space:nowrap}.tabs button.selected{background:var(--surface-soft);color:var(--muted)}.pager{display:flex;align-items:center;justify-content:space-between;padding:14px 21px;border-top:1px solid var(--border);font-size:var(--type-small);color:var(--muted)}.pager>div{display:flex;gap:5px}.pager .icon-button{border-color:var(--border);width:28px;height:28px;min-width:28px}.empty{min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:26px;color:var(--muted)}.empty h3{font-size:var(--type-reading);color:var(--text);margin:5px 0}.empty p{font-size:var(--type-body);max-width:370px;margin:5px auto 12px}.empty.compact{min-height:0;align-items:flex-start;text-align:left;padding:18px 0}.empty.compact p{margin-inline:0}.empty-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:4px}.empty.compact .empty-actions{justify-content:flex-start}.notice{padding:14px 16px;border:1px solid var(--border);background:var(--surface-soft);border-radius:7px;font-size:var(--type-body);display:flex;align-items:flex-start;gap:10px;margin-bottom:18px;color:var(--muted)}.notice svg{flex-shrink:0}.notice.danger{border-color:var(--border);background:var(--surface-soft);color:var(--red)}.notice.warning{border-color:var(--border);background:var(--surface-soft);color:var(--yellow)}.notice.success{border-color:var(--border);background:var(--surface-soft);color:var(--green)}.notice.neutral{border-color:var(--border);background:var(--surface-soft);color:var(--muted)}.danger-text{color:var(--red)!important}.danger-outline{border-color:var(--border);color:var(--red);background:var(--surface-soft)}.danger-button{background:var(--surface-soft);border-color:var(--border);color:var(--red)}.info-strip{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:20px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft);padding:22px 24px;margin-bottom:25px}.info-strip>div{display:flex;flex-direction:column;justify-content:center;gap:5px}.info-strip strong{font-size:18px}.info-strip strong span{font-size:var(--type-small);color:var(--text)}.info-strip small{color:var(--muted);font-size:var(--type-small)}.info-strip>div:last-child{flex-direction:row;align-items:center;border-left:1px solid var(--border);padding-left:22px;gap:12px;font-size:var(--type-small);color:var(--muted)}.info-strip svg{flex-shrink:0;color:var(--muted)}.back-link{margin-bottom:17px}.register-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:24px;align-items:start}.form-panel{padding:28px}.form-section-heading{display:flex;align-items:center;gap:13px;margin-bottom:26px}.form-section-heading h2{font-size:var(--type-reading)}.form-section-heading p{font-size:var(--type-small);margin:3px 0 0}.step-number{display:flex;width:28px;height:28px;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--surface-soft);color:var(--link);border-radius:6px;font-size:var(--type-small);flex-shrink:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.span-2{grid-column:span 2}.optional{color:var(--muted);font-size:var(--type-small);font-weight:400}.form-divider{border-top:1px solid var(--border);margin:28px 0}.fee-display{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;padding:20px;margin-bottom:22px}.fee-display>span{font-size:var(--type-small);color:var(--muted)}.fee-display strong{display:block;font-size:32px;letter-spacing:-1px;margin:9px 0;color:var(--text)}.fee-display strong span{font-size:var(--type-small);letter-spacing:0;color:var(--text);font-weight:400}.fee-display p{font-size:var(--type-small);color:var(--muted);margin:0}.form-stack{display:flex;flex-direction:column;gap:18px}.form-stack .fee-display,.form-stack .notice{margin-bottom:0}.checkbox-label{flex-direction:row;align-items:flex-start;gap:10px;font-size:var(--type-small);line-height:1.6;color:var(--text)}.checkbox-label input{width:16px;height:16px;min-height:0;accent-color:var(--link);flex-shrink:0;margin:2px 0 0}.date-preview{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:15px 0;display:flex;flex-direction:column;gap:9px}.date-preview>span{display:flex;justify-content:space-between;gap:10px;font-size:var(--type-small);color:var(--muted)}.date-preview strong{color:var(--text)}.form-footnote{font-size:var(--type-small);line-height:1.6;color:var(--muted);text-align:center;margin:0}.gentle-note{display:flex;align-items:flex-start;gap:12px;padding:7px 12px;color:var(--muted)}.gentle-note svg{flex-shrink:0}.gentle-note h3{font-size:var(--type-small);color:var(--text);margin:0 0 6px}.gentle-note p{font-size:var(--type-small);line-height:1.7;color:var(--muted)}.modal{position:fixed;max-width:calc(100vw - 32px);width:510px;max-height:90dvh;padding:0;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft);color:var(--text);box-shadow:none;overflow:auto}.modal.wide{width:850px}.modal::backdrop{background:var(--overlay);backdrop-filter:blur(3px)}.modal-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:18px 24px;position:sticky;top:0;background:var(--surface-soft);z-index:2}.modal-head h2{font-size:17px;margin:0}.modal-body{padding:25px}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;border-top:1px solid var(--border);padding-top:22px;margin-top:10px}.profile-top{display:flex;align-items:center;gap:14px;margin-bottom:25px}.profile-top>.avatar{width:48px;height:48px;font-size:16px}.profile-top p{font-size:var(--type-small);margin:5px 0 0}.profile-top>.badge{margin-left:auto}.profile-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}.profile-entitlements{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-entitlements>div{border:1px solid var(--border);border-radius:8px;padding:14px;background:var(--surface-soft)}.profile-entitlements h3{font-size:var(--type-small);color:var(--text)}.profile-entitlements>div>small{display:block;margin-top:9px;color:var(--muted);font-size:var(--type-small)}.details-list{display:grid;grid-template-columns:110px 1fr;gap:13px;font-size:var(--type-small);margin-top:25px}.details-list dt{color:var(--muted)}.details-list dd{margin:0;overflow-wrap:anywhere}.qr-card{display:flex;flex-direction:column;align-items:center;gap:9px;border:1px solid var(--border);background:var(--surface-soft);border-radius:9px;padding:20px;text-align:center}.qr-card img{width:170px;height:170px;max-width:100%;object-fit:contain;border-radius:7px}.qr-card strong{font-size:var(--type-body)}.qr-card>span{font-size:var(--type-small);color:var(--muted)}.qr-card .button{margin-top:7px;font-size:var(--type-small)}.profile-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;align-items:center}.profile-actions>.text-button{font-size:var(--type-small);margin-left:7px}.history-heading{margin-top:26px}.history-row{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border);font-size:var(--type-small);color:var(--muted)}.member-picker{margin-top:15px;max-height:350px;overflow:auto}.member-picker>button{display:flex;align-items:center;gap:12px;background:transparent;border:0;border-bottom:1px solid var(--border);width:100%;padding:13px 0;text-align:left}.member-picker>button>span:nth-child(2){flex:1}.member-picker strong,.member-picker small{display:block}.member-picker strong{font-size:var(--type-body)}.member-picker small{font-size:var(--type-small);color:var(--muted)}.registration-success{max-width:600px;margin:20px auto;text-align:center}.registration-success .qr-card{max-width:290px;margin:20px auto}.registration-success .heading-actions{justify-content:center;margin-top:25px}.success-emblem{display:inline-flex;margin-bottom:20px;color:var(--green)}.date-filters{display:flex;gap:12px;align-items:center}.date-filters label{font-size:var(--type-small);flex-direction:row;align-items:center;color:var(--text)}.date-filters input{width:140px;font-size:var(--type-small);min-height:35px;height:35px;padding:6px 8px}.report-filters{display:flex;justify-content:flex-end;align-items:center;gap:15px;margin-bottom:23px}.report-filters>select{width:auto;font-size:var(--type-small);min-height:35px}.page-note{font-size:var(--type-small);color:var(--muted);line-height:1.7;margin-top:-8px}.section-caption{font-size:var(--type-small);color:var(--muted);margin-bottom:12px}.activity-description{max-width:380px;min-width:250px;white-space:normal;font-size:var(--type-small);line-height:1.65}.activity-description small{display:block;color:var(--muted);margin-top:6px;font-size:var(--type-small)}.activity-table td{vertical-align:top}.scan-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:23px;align-items:start}.scanner-panel{padding-bottom:24px}.camera-box{height:300px;margin:0 24px;position:relative;background:var(--surface-soft);border:1px solid var(--border);border-radius:9px;display:flex;align-items:center;justify-content:center;overflow:hidden}.camera-placeholder{text-align:center;color:var(--muted)}.camera-placeholder h3{margin:15px 0 8px;font-size:var(--type-body);color:var(--text)}.camera-placeholder p{font-size:var(--type-small);color:var(--muted)}.camera-box video{width:100%;height:100%;object-fit:cover}.camera-corners{position:absolute;width:210px;height:210px;pointer-events:none;border:1px solid var(--blue);border-radius:7px}.camera-box.live .camera-corners{border:2px solid var(--blue)}.camera-placeholder~.camera-corners{width:90px;height:90px;top:41px;border:1px solid var(--blue)}.hidden{display:none}.scanner-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:20px 24px}.scanner-controls>span{font-size:var(--type-small);color:var(--muted)}.scanner-panel>.form-divider{margin:23px 24px}.manual-scan{padding:0 24px;display:flex;flex-direction:column;align-items:flex-end;gap:13px}.manual-scan label{width:100%}.manual-scan .muted{font-size:var(--type-small);font-weight:400;margin-top:-5px}.scanner-panel>.notice{margin:20px 24px 0}.entry-checks{padding:25px}.entry-checks>.small-icon{width:fit-content;margin-bottom:16px}.entry-checks h2{font-size:17px}.entry-checks p{font-size:var(--type-small);margin:10px 0}.entry-checks ol{padding-left:20px;font-size:var(--type-small);line-height:2.5;color:var(--muted)}.entry-checks small{font-size:var(--type-small);color:var(--muted)}.scan-result{border:1px solid var(--border);border-radius:12px;background:var(--surface-soft);padding:30px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;margin-bottom:24px;color:var(--green)}.scan-result.denied{background:var(--surface-soft);border-color:var(--border);color:var(--red)}.scan-result h2{font-size:24px;color:var(--green);margin-top:4px}.scan-result p{font-size:var(--type-small);color:inherit;margin:0}.scan-result small{font-size:var(--type-small);opacity:.7}.result-dates{width:100%;border-top:1px solid var(--border);padding-top:15px;margin-top:4px;display:flex;flex-direction:column;gap:10px}.result-dates>span{display:flex;justify-content:space-between;gap:10px;font-size:var(--type-small);color:var(--muted)}.denied .result-dates>span{color:var(--red)}.result-dates strong{color:var(--text)}.scan-result .button{margin-top:6px}.visit-chart{display:flex;align-items:flex-end;justify-content:space-around;padding:30px 25px;height:265px;gap:16px}.visit-chart>div{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:flex-end;gap:12px;font-size:var(--type-small);color:var(--muted)}.visit-chart>div>div{background:var(--blue);width:28px;max-width:100%;border-radius:4px 4px 0 0}.visit-chart strong{font-size:var(--type-body);color:var(--text)}.access-denied{text-align:center;padding:70px 20px;color:var(--red)}.access-denied h1{margin-top:20px;color:var(--text)}.access-denied p{margin-bottom:25px}.login-page{min-height:100dvh;display:flex;flex-direction:column;padding:35px 6vw;background:var(--surface-soft)}.login-brand{display:flex;align-items:center;gap:12px;font-weight:650;font-size:var(--type-reading)}.login-layout{flex:1;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:8vw;max-width:1200px;margin:40px auto;width:100%}.login-story{position:relative;overflow:hidden;padding:30px 0}.login-story h1{font-size:clamp(40px,4.6vw,67px);font-weight:400;line-height:1.1;letter-spacing:-2.7px;position:relative;z-index:1}.login-story .eyebrow{font-size:var(--type-small);letter-spacing:2px;display:block;margin-bottom:24px;color:var(--muted)}.login-story>p{font-size:var(--type-body);line-height:1.9;color:var(--muted);position:relative;z-index:1}.story-caption{font-size:var(--type-small);letter-spacing:2px;color:var(--muted);display:block;margin-top:28px}.weight-art{height:165px;position:relative;display:flex;align-items:center;gap:10px;transform:rotate(-16deg);opacity:.8;width:400px;max-width:90%;margin:48px 0 22px 20px}.weight-art:before{content:"";position:absolute;width:100%;height:15px;background:var(--surface-soft);border:1px solid var(--border);z-index:0;border-radius:4px}.weight-art>div{width:25px;height:105px;background:var(--surface-soft);border:1px solid var(--border);border-radius:10px;z-index:1}.weight-art>div:nth-child(2),.weight-art>div:nth-child(6){height:135px;width:30px;background:var(--surface-soft)}.weight-art>div:nth-child(3),.weight-art>div:nth-child(5){height:165px;width:37px;background:var(--surface-soft);border-color:var(--border)}.weight-art>div:nth-child(4){width:110px;height:15px;background:transparent;border:0}.login-card{max-width:410px;width:100%;margin-left:auto;background:var(--surface-soft);border:1px solid var(--border);border-radius:14px;padding:36px}.login-lock{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft);color:var(--muted);margin-bottom:25px}.login-card h2{font-size:28px;font-weight:400;letter-spacing:-1px}.login-card>p{font-size:var(--type-body);margin:10px 0 28px}.login-card form{display:flex;flex-direction:column;gap:21px}.password-input{position:relative}.password-input input{padding-right:43px}.password-input .icon-button{position:absolute;right:6px;top:5px}.login-card .button{min-height:44px;margin-top:5px;justify-content:space-between;padding-left:18px}.login-card>.login-note{font-size:var(--type-small);line-height:1.8;color:var(--muted);text-align:center;margin:25px 0 0}.login-footer{display:flex;justify-content:space-between;font-size:var(--type-small);color:var(--muted);padding-top:20px}.spin{animation:spin 1s linear infinite}.sidebar-backdrop{display:none}.sidebar,.topbar,.modal,.modal-head,.login-card,input,select,textarea{background:var(--surface)}.brand{color:var(--link)}.button,.badge,.tiny-tag,.search,.search input{border-radius:var(--radius-pill)}input,select,textarea{border-radius:var(--radius-input)}.avatar,.icon-button,.login-lock{border-radius:50%}.modal,.login-card,.quick-panel,.scan-result,.info-strip{border-radius:var(--radius)}.fee-display,.qr-card,.profile-entitlements>div{border-radius:16px}.button{background:var(--surface-2);color:var(--text);font-weight:600;border-color:transparent}.button:hover:not(:disabled){background:var(--border);border-color:transparent}.button.primary{background:var(--blue);color:var(--on-primary)}.button.primary:hover:not(:disabled),.button.primary:active:not(:disabled){background:var(--blue-hover)}.button.primary:disabled{background:var(--primary-disabled);border-color:transparent;opacity:1}.nav-link.active,.step-number{background:var(--focus-halo);color:var(--link)}.nav-link:hover,tbody tr:hover,.alert-item:hover{background:var(--surface-soft)}.text-link,.panel-footer-link,.support-card a{color:var(--link)}.metric>strong,.chart-summary strong,.fee-display strong{font-weight:400}.badge{background:var(--surface-2);color:var(--text);border-color:transparent}.badge.success,.notice.success,.scan-result{background:var(--surface-soft);color:var(--green);border-color:var(--border)}.badge.danger,.notice.danger,.scan-result.denied{background:var(--surface-soft);color:var(--red);border-color:var(--border)}.badge.warning,.notice.warning{background:var(--surface-soft);color:var(--yellow);border-color:var(--border)}.badge.blue{background:var(--focus-halo);color:var(--link)}.danger-outline,.danger-button{background:var(--surface-2);border-color:var(--border);color:var(--red)}.scan-result h2,.result-dates strong{color:var(--text)}.login-page,.camera-box{background:var(--surface-dark);color:var(--on-primary)}.login-card{color:var(--text)}.login-brand,.camera-placeholder h3{color:var(--on-primary)}.login-brand small,.login-story .eyebrow,.login-story>p,.story-caption,.login-footer,.camera-placeholder,.camera-placeholder p{color:var(--on-dark-soft)}.login-lock{background:var(--surface-2);color:var(--link)}.weight-art>div{background:var(--blue);border-color:var(--blue-hover)}.weight-art>div:nth-child(2),.weight-art>div:nth-child(6){background:var(--blue-hover)}.weight-art>div:nth-child(3),.weight-art>div:nth-child(5){background:var(--blue);border-color:var(--blue-hover)}.weight-art>div:nth-child(4){background:transparent}.weight-art:before{background:var(--on-dark-soft);border-color:var(--on-dark-soft)}.skip-link{position:fixed;top:12px;left:12px;z-index:40;padding:12px 18px;border-radius:6px;background:var(--text);color:var(--bg);transform:translateY(-160%)}.theme-toggle{min-height:36px;padding:7px 12px;font-size:var(--type-small)}.login-brand .theme-toggle{margin-left:auto}@media(max-width:600px){.theme-toggle>span{display:none}.theme-toggle{width:36px;padding:7px}}.skip-link:focus{transform:translateY(0)}.content:focus{outline:none}.text-link:hover,.panel-footer-link:hover,.support-card a:hover{color:var(--link);text-decoration:underline;text-underline-offset:4px}.records-loading{padding:12px 0}.records-loading>p{font-size:var(--type-small)}.skeleton-heading,.skeleton-metrics span,.skeleton-records span{display:block;background:var(--surface-2);border-radius:6px;animation:skeleton-pulse 1.5s ease-in-out infinite alternate}.skeleton-heading{width:min(60%,360px);height:32px;margin-bottom:28px}.skeleton-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.skeleton-metrics span{height:112px}.skeleton-records{display:grid;gap:14px;padding:24px;border:1px solid var(--border);border-radius:var(--radius)}.skeleton-records span{height:40px}@keyframes skeleton-pulse{0%{opacity:.4}to{opacity:.85}}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1600px){.content{padding-top:45px}.metric>strong{font-size:34px}.dashboard-grid .panel{min-height:365px}.revenue-chart{min-height:210px}.chart-plot,.chart-column{height:190px}.stacked-bar{height:163px}}@media(max-width:1200px){.sidebar{width:210px;padding-left:10px;padding-right:10px}.main-area{margin-left:210px}.content{padding:28px 24px}.topbar{padding:0 24px}.app-footer{padding-left:24px;padding-right:24px}.page-heading{align-items:flex-start}.page-heading .heading-actions{flex-wrap:wrap;justify-content:flex-end}.metrics-grid{gap:0}.metric{padding:16px 14px}.metric-heading{font-size:var(--type-small)}.metric>strong{font-size:26px}.metric>small{font-size:var(--type-small)}.dashboard-grid{grid-template-columns:1.25fr 1fr;gap:15px}.panel-heading{padding:20px}.chart-plot{gap:10px}.alert-list{padding:0 15px}.alert-item{gap:7px}.alert-item .avatar{width:28px;height:28px}.alert-item>div strong{font-size:var(--type-small)}.register-grid{gap:16px;grid-template-columns:1.2fr 1fr}.form-panel{padding:21px}.info-strip{padding:19px;gap:12px}.info-strip strong{font-size:var(--type-reading)}.scan-grid{grid-template-columns:1.2fr 1fr}.scan-grid .recent-scan{padding:13px}.topbar-right{font-size:var(--type-small)}h1{font-size:28px}}@media(max-width:1000px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.metric:nth-child(2n){border-right:0}.metric:nth-child(n+3){border-top:1px solid var(--border)}.skeleton-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.bottom-grid{grid-template-columns:1fr}.dashboard-grid .panel{min-height:auto}.alerts-panel .alert-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:0 20px}.register-grid,.scan-grid{grid-template-columns:1fr}.registration-aside{max-width:100%}.info-strip{grid-template-columns:1fr 1fr}.info-strip>div:last-child{grid-column:span 2;border-left:0;border-top:1px solid var(--border);padding:15px 0 0}.toolbar{flex-wrap:wrap}.profile-grid{grid-template-columns:1fr}.profile-grid .qr-card{max-width:250px;justify-self:center}.login-layout{gap:4vw}.login-card{padding:28px}.login-story h1{font-size:45px}.weight-art{width:320px}.weight-art>div:nth-child(4){width:65px}.login-page{padding:30px 4vw}.panel-heading h2{font-size:var(--type-reading)}}@media(max-width:900px){.sidebar{transform:translate(-100%);width:240px;transition:transform var(--motion-standard) var(--motion-ease)}.sidebar.open{transform:translate(0)}.main-area{margin-left:0}.sidebar-backdrop{display:block;position:fixed;inset:0;background:var(--overlay);z-index:29;border:0}.mobile-menu{display:flex}.content{padding:25px 18px}.topbar{height:60px;padding:0 15px}.breadcrumb{gap:10px}.topbar-right .date-display{display:none}.topbar-divider{margin:0 2px}.app-footer{padding:5px 18px 20px}.page-heading{flex-direction:column;gap:17px;margin-bottom:23px}.page-heading .heading-actions{justify-content:flex-start}.page-heading h1{font-size:27px}.eyebrow{font-size:var(--type-small)}.metric>strong{font-size:29px}.metric>small{font-size:var(--type-small)}.metric-heading{font-size:var(--type-small)}.metric{padding:18px}.metrics-grid{gap:0}.demo-notice{font-size:var(--type-small)}.panel{margin-bottom:20px}.toolbar{padding:15px}.toolbar .search{flex:1;min-width:180px}.tabs{gap:0;flex-wrap:wrap}.tabs button{font-size:var(--type-small);padding:8px}.date-filters{gap:8px;flex-wrap:wrap}.date-filters input{width:132px}.report-filters{justify-content:flex-start;flex-wrap:wrap}.profile-top{flex-wrap:wrap}.profile-top>.badge{margin-left:0}.profile-top h2{font-size:17px}.modal-body{padding:20px}.modal-head{padding:15px 20px}.modal-head h2{font-size:16px}.history-row{flex-wrap:wrap}.login-layout{grid-template-columns:1fr;margin:40px auto 25px;max-width:410px}.login-story{display:none}.login-card{max-width:none;margin:0;padding:30px}.login-page{padding:25px}.login-footer{font-size:var(--type-small)}.login-footer span:last-child{display:none}.camera-box{height:270px;margin:0 17px}.scanner-controls{margin:18px 17px}.manual-scan{padding:0 17px}.scanner-controls>span{font-size:var(--type-small)}.chart-plot{gap:10px}.registration-success h1{font-size:26px}.registration-success .heading-actions{flex-wrap:wrap}.page-note{font-size:var(--type-small)}.form-grid{gap:16px}.activity-description{max-width:250px}.notice{font-size:var(--type-small)}.login-brand{justify-content:center}.profile-entitlements{grid-template-columns:1fr 1fr}}@media(max-width:400px){.content{padding:23px 13px}.metric{padding:15px 12px}.metric-heading{font-size:var(--type-small)}.metric>strong{font-size:26px}.metric-icon svg{width:18px}.metrics-grid{gap:0}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.alerts-panel .alert-list{grid-template-columns:1fr}.form-panel{padding:19px}.info-strip{grid-template-columns:1fr}.info-strip>div:last-child{grid-column:auto}.profile-entitlements{grid-template-columns:1fr}.details-list{grid-template-columns:90px 1fr}.heading-actions{flex-wrap:wrap}.topbar-right{gap:8px}.login-card{padding:25px}.date-filters input{width:125px}}.sidebar{width:260px;padding:20px 14px 14px}.main-area{margin-left:260px}.sidebar .brand{padding:0 8px 20px}.sidebar .brand-icon{width:44px;height:44px;border-radius:14px;background:var(--surface-soft);color:var(--text);border:1px solid var(--border)}.sidebar-toggle{display:flex;align-items:center;gap:12px;padding:8px 12px;margin-bottom:16px;min-height:36px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:var(--type-small)}.sidebar-toggle:hover{background:var(--surface-2);color:var(--text)}.sidebar .nav-group{font-size:var(--type-small);padding:17px 12px 8px}.sidebar .nav-link{padding:3px 8px;margin:2px 0;gap:12px;border-radius:12px;color:var(--muted)}.sidebar .nav-link.active,.sidebar .nav-link:hover{background:transparent;color:var(--text)}.nav-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;background:var(--surface-soft);border:1px solid var(--border);border-radius:12px}.sidebar .nav-link:hover .nav-icon{background:var(--surface-2)}.sidebar .nav-link.active .nav-icon{background:var(--blue);border-color:var(--blue);color:var(--on-primary)}.sidebar .nav-link.active svg{color:inherit}.nav-label{line-height:1.35}.sidebar-tooltip{position:fixed;left:88px;z-index:35;transform:translateY(-50%);background:var(--text);color:var(--bg);border-radius:8px;padding:8px 12px;font-size:var(--type-body);pointer-events:none}.sidebar nav{min-height:0;overflow-y:auto;scrollbar-width:none}.sidebar>.brand,.sidebar-toggle,.sidebar-footer{flex-shrink:0}@media(min-width:901px){.nav-collapsed .sidebar{width:84px;padding-inline:12px}.nav-collapsed .main-area{margin-left:84px}.nav-collapsed .brand{padding-inline:8px}.nav-collapsed .brand-name,.nav-collapsed .nav-label,.nav-collapsed .account-details,.nav-collapsed .sidebar-toggle span{display:none}.nav-collapsed .sidebar-toggle{justify-content:center;padding-inline:0}.nav-collapsed .nav-group{font-size:0;padding:0;height:1px;background:var(--border);margin:14px 14px 10px}.nav-collapsed .account{flex-direction:column;gap:12px}.nav-collapsed .account .icon-button{margin-left:0}.nav-collapsed .sidebar-footer{padding-top:22px}}@media(max-width:900px){.main-area{margin-left:0}.sidebar{width:260px;visibility:hidden}.sidebar.open{visibility:visible}.sidebar-toggle,.sidebar-tooltip{display:none}}.button:not(.small):not(.theme-toggle){font-size:var(--type-body)}.gym-logo{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit}.gym-logo-hero{width:min(100%,400px);height:auto;margin-top:32px;border-radius:16px}.sidebar .brand-icon,.login-brand .brand-icon{background:#141619;overflow:hidden;border-color:var(--border)}.login-brand .brand-icon{width:64px;height:48px}.metric-heading,.person-cell strong,.alert-item>div strong,.recent-scan strong,.sidebar .nav-link{font-size:var(--type-body)}.metric>strong,.chart-summary strong,.fee-display strong{font-weight:550}.panel-heading h2,.form-section-heading h2{font-size:18px}.badge.success,.notice.success{background:var(--positive-bg)}.badge.danger,.notice.danger{background:var(--negative-bg)}.badge.warning,.notice.warning{background:var(--warning-bg)}.sidebar .nav-group{font-size:var(--type-caption);letter-spacing:.8px}.nav-collapsed .sidebar{scrollbar-width:none}.alert-item{flex-wrap:wrap}.alert-item>div:not(.alert-status){min-width:0;flex:1}.alert-item>div strong{overflow-wrap:anywhere}.alert-item .alert-status{flex-shrink:0}@media(min-width:901px){.nav-collapsed .sidebar .nav-group{font-size:0}}@media(max-width:600px){.breadcrumb>span{display:none}.topbar-right{flex-shrink:0}.breadcrumb{min-width:0}.breadcrumb strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar .nav-group{font-size:var(--type-caption)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.payment-status{display:inline-flex;align-items:center;gap:6px;color:var(--green);font-size:var(--type-small);font-weight:500;white-space:nowrap}.badge,.badge.success,.badge.warning,.badge.danger,.badge.blue,.badge.neutral{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;line-height:1.5}.staff-access-note{margin:0 0 24px;max-width:78ch;color:var(--muted);font-size:var(--type-body);line-height:1.6}.staff-search-toolbar .search{flex:0 1 420px}.staff-search-toolbar>span{font-size:var(--type-small)}@media(max-width:600px){.staff-search-toolbar .search{flex-basis:100%}}.fee-save-feedback{display:flex;align-items:center;justify-content:center;gap:8px;min-height:22px;margin:12px 0 0;color:var(--text);font-size:var(--type-small)}.fee-save-feedback svg{color:var(--green);flex-shrink:0}.modal .scan-result-popup{margin:0;border:0;border-radius:0;background:var(--surface);padding:24px}.scan-result-popup>.button{margin-top:16px}.workspace-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;text-align:center;color:var(--text);padding:32px 24px}.workspace-loading.fullscreen{min-height:100dvh;background:var(--bg)}.workspace-loading-brand{width:84px;height:72px;display:grid;place-items:center}.workspace-loading-brand .gym-logo{width:100%;height:100%;object-fit:contain}.workspace-loading-copy strong{font-size:20px;font-weight:650}.workspace-loading-copy p{margin:8px 0 0;font-size:var(--type-body);color:var(--muted)}.workspace-loading-track{width:160px;height:3px;overflow:hidden;border-radius:999px;background:var(--border)}.workspace-loading-track span{display:block;width:45%;height:100%;border-radius:inherit;background:var(--text);animation:workspace-progress 1.4s cubic-bezier(.4,0,.2,1) infinite}.workspace-loading.compact{min-height:200px;gap:16px}.workspace-loading.compact .workspace-loading-brand{width:56px;height:44px}.workspace-loading.compact strong{font-size:16px}@keyframes workspace-progress{0%{transform:translate(-110%)}to{transform:translate(330%)}}@media(prefers-reduced-motion:reduce){.workspace-loading-track span{animation:none}}.sidebar .nav-icon{position:relative}.app-layout .sidebar .nav-link:not(.active):hover .nav-icon{border-color:transparent;background:transparent}.theme-toggle-glyph{position:relative;width:18px;height:18px;flex:0 0 18px}.theme-toggle-glyph svg{position:absolute;inset:0;transition:opacity var(--motion-slow) var(--motion-ease),rotate var(--motion-slow) var(--motion-ease)}.theme-toggle-glyph .theme-sun,.theme-toggle-glyph[data-dark=true] .theme-moon{opacity:0;rotate:-30deg}.theme-toggle-glyph .theme-moon,.theme-toggle-glyph[data-dark=true] .theme-sun{opacity:1;rotate:0deg}.theme-selector-demo{display:grid;place-items:center;min-height:100dvh}:is(.app-layout,.login-page) :is(.button,.icon-button,.tabs button){transition:scale var(--motion-fast) var(--motion-ease),background-color var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}:is(.app-layout,.login-page) :is(.button,.icon-button,.tabs button):not(:disabled):active{scale:.99}:is(.app-layout,.login-page) .button.theme-toggle:not(:disabled):is(:hover,:active){scale:1}@media(prefers-reduced-motion:reduce){.theme-toggle-glyph svg{transition:none}:is(.app-layout,.login-page) :is(.button,.icon-button,.tabs button){transition:none}:is(.app-layout,.login-page) :is(.button,.icon-button,.tabs button):not(:disabled):is(:hover,:active){scale:1}}html,body,.app-layout *,.login-page *,.modal,.calendar-dialog{scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar,.app-layout *::-webkit-scrollbar,.login-page *::-webkit-scrollbar,.modal::-webkit-scrollbar,.calendar-dialog::-webkit-scrollbar{display:none}:root{--type-caption: .875rem;--type-small: .9375rem;--type-body: 1rem;--type-reading: 1.0625rem;--bg: #fff;--surface: #fff;--surface-soft: #f3f3f3;--surface-2: #f0f0f0;--border: #e0e0e0;--hairline-soft: #f0f0f0;--text: #141414;--muted: #484848;--control-border: #858585;--green: #086b40;--red: #b42332;--yellow: #775400;--blue: #141414;--blue-hover: #333;--link: #262626;--on-primary: #fff;--focus-halo: #14141414;--chart-secondary: #aaa;--radius: 24px;--radius-input: 16px;--radius-pill: 9999px}.app-layout :is(input:not([type=checkbox]):not([type=radio]),select,textarea),.modal :is(input:not([type=checkbox]):not([type=radio]),select,textarea){border-color:var(--control-border);min-height:44px;font-size:var(--type-body)}.app-layout .search{min-height:44px;border-color:var(--control-border);background:var(--surface);gap:10px}.app-layout .search input:not([type=checkbox]):not([type=radio]){min-width:0;flex:1;background:transparent;border:0;border-radius:0;outline:none;box-shadow:none;font-size:var(--type-body)}.app-layout .search:focus-within{outline:2px solid var(--text);outline-offset:3px}.search-clear{flex-shrink:0}.app-layout .tabs{padding:4px;gap:4px;background:var(--surface-2);border-radius:var(--radius-pill)}.app-layout .tabs button{min-height:40px;border-radius:var(--radius-pill);color:var(--text)}.app-layout .tabs button.selected{background:var(--text);color:var(--on-primary);font-weight:600}.app-layout .tabs button:hover:not(.selected){background:var(--border)}.app-layout :is(.button,.toolbar>select){min-height:44px}.app-layout .button:not(.primary){border-color:var(--control-border)}.app-layout .button.small{min-height:36px}.app-layout .pager .icon-button,.modal-head .icon-button{width:40px;height:40px;min-width:40px;border:1px solid var(--control-border)}.app-layout :is(a,button):focus-visible,.modal :is(a,button):focus-visible{outline:2px solid var(--text);outline-offset:3px}.app-layout .button.primary:disabled,.modal .button.primary:disabled{background:var(--surface-2);color:var(--muted);border:1px dashed var(--control-border);opacity:1}.app-layout .panel table th{background:var(--surface-2);color:var(--text);border-bottom:1px solid var(--border);font-size:var(--type-small)}.app-layout td{color:var(--text);border-bottom-color:var(--border)}.app-layout .panel tbody tr:focus-within,.app-layout .panel tbody tr:hover{background:var(--surface-soft)}.app-layout :is(.text-link,.panel-footer-link):hover{text-decoration:underline;text-underline-offset:4px}.app-layout .sidebar .nav-link{color:var(--text)}.app-layout .sidebar .nav-link.active{font-weight:650}.app-layout .notice,.modal .notice{line-height:1.6;border-inline-start:3px solid currentColor}.app-layout .badge{font-weight:600}@media(pointer:coarse){.app-layout .button.small,.app-layout .pager .icon-button,.modal-head .icon-button,.app-layout .tabs button{min-height:44px;min-width:44px}}:root[data-theme=dark]{--bg: #000;--surface: #0a0a0a;--surface-soft: #151515;--surface-2: #1c1c1c;--border: #333;--hairline-soft: #242424;--text: #f5f5f5;--muted: #d0d0d0;--control-border: #777;--green: #76dba9;--red: #ff9fa7;--yellow: #eac578;--blue: #f5f5f5;--blue-hover: #dcdcdc;--link: #dedede;--on-primary: #141414;--focus-halo: #ffffff18}body{background:var(--bg);font-weight:450;line-height:1.6}.app-layout{isolation:isolate}.gym-background,.login-scene{--gym-photo-size: max(100vw, 100vh);--gym-photo-offset: calc((100vw - var(--gym-photo-size)) / 2);background-color:#fafafa;background-image:url(/backgrounds/gym-original-pair.png);background-size:calc(var(--gym-photo-size) * 2) var(--gym-photo-size);background-position:var(--gym-photo-offset) bottom;background-repeat:no-repeat}.gym-background{position:fixed;inset:0;z-index:-1;pointer-events:none}.gym-background:before,.login-scene:before{content:"";position:absolute;inset:0;background-image:url(/backgrounds/gym-original-pair.png);background-size:calc(var(--gym-photo-size) * 2) var(--gym-photo-size);background-position:calc(var(--gym-photo-offset) - var(--gym-photo-size)) bottom;background-repeat:no-repeat;opacity:0;transition:opacity var(--motion-slow) var(--motion-ease)}:root[data-theme=dark] :is(.gym-background,.login-scene):before{opacity:1}@media(forced-colors:active){.gym-background,.login-scene{display:none}}h1,h2,h3{font-weight:650;letter-spacing:0}h1{line-height:1.13}h2{line-height:1.25}label,td,.nav-label{font-size:var(--type-body)}.panel,.metrics-grid,.quick-panel,.modal,.scan-result,.info-strip{background:var(--surface);border-color:var(--hairline-soft);border-radius:24px;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.sidebar,.topbar,:root[data-theme=dark] .sidebar,:root[data-theme=dark] .topbar{background:var(--surface-soft);border-color:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.sidebar .nav-icon{border-radius:30%;background:var(--surface);border-color:transparent}.sidebar .nav-icon{transform-origin:center;transition:background-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease)}.sidebar .nav-link.active .nav-icon,:root[data-theme=dark] .sidebar .nav-link.active .nav-icon{background:var(--blue);color:var(--on-primary);border-color:transparent}.sidebar-tooltip{background:var(--text);color:var(--bg);border-radius:9999px}.sidebar .nav-group{text-transform:none;letter-spacing:0}.button,.sidebar-toggle,.theme-toggle{border-radius:9999px;box-shadow:none}.button.primary{border-color:transparent}input:not([type=checkbox]):not([type=radio]),select,textarea{background:var(--surface-2);border:1px solid transparent;border-radius:16px}input::placeholder,textarea::placeholder{color:var(--muted)}input:focus,select:focus,textarea:focus{outline:2px solid var(--text);outline-offset:2px;border-color:transparent;box-shadow:none}:focus-visible{outline-color:var(--text)}th{background:var(--surface-soft);font-weight:600;letter-spacing:0}th,td{padding:12px 16px}td{border-color:var(--hairline-soft)}.metric>strong,.chart-summary strong{font-weight:650;letter-spacing:0}.badge{border-radius:0}.line-chart-plot{position:relative;flex:1;min-width:240px}.revenue-lines{display:block;width:100%;height:170px;overflow:visible}.revenue-grid{stroke:var(--border);stroke-dasharray:2 5;stroke-opacity:.5}.revenue-series{color:var(--text)}.monthly-series{color:var(--muted)}.revenue-line{fill:none;stroke:currentColor;stroke-width:2;vector-effect:non-scaling-stroke}.monthly-series .revenue-line{stroke-dasharray:5 5}.revenue-area{fill:currentColor;opacity:.06}.revenue-series circle{fill:currentColor}.revenue-series circle:focus{outline:none;stroke:var(--text);stroke-width:2}.revenue-end-labels{position:absolute;inset:0 0 26px;pointer-events:none}.revenue-end-label{position:absolute;right:4px;z-index:1;padding:1px 3px;transform:translateY(-50%);background:var(--surface);box-shadow:0 0 0 3px var(--surface);font-size:11px;font-weight:600;line-height:1.25;white-space:nowrap}.annual-label{color:var(--chart-primary)}.monthly-label{color:var(--chart-secondary)}.line-chart-labels{display:flex;justify-content:space-between;gap:8px;padding-top:10px;color:var(--muted);font-size:var(--type-caption);white-space:nowrap}.line-chart-labels span:only-child{margin-inline:auto}.visit-chart>div>div{background:var(--text)}.login-page{background:var(--bg);color:var(--text)}.login-scene{inset:0;z-index:-1;border-radius:0;overflow:hidden}.login-scene:after{background:linear-gradient(90deg,#0007,#0004 48%,#0009)}.login-layout{grid-template-columns:1.15fr 1fr}.login-story{padding:32px}.login-story h1{font-size:clamp(40px,4.6vw,64px);font-weight:650;letter-spacing:0}.login-story h1 span{font-style:normal;font-weight:300}.login-page .login-brand{background:#14141438;color:#fff;border:1px solid rgb(255 255 255 / 20%);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:none}.login-page .login-brand small,.login-page .login-footer{color:#dedede}.login-page .login-brand .theme-toggle{background:#ffffff14;color:#fff;border-color:#fff3}.login-card,:root[data-theme=dark] .login-card{background:var(--surface-soft);border:0;border-radius:24px;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.login-card h2{font-size:32px;font-weight:650;letter-spacing:0}.login-card .button.primary,:root[data-theme=dark] .login-card .button.primary{background:var(--blue);color:var(--on-primary);border-color:transparent}.login-card .button.primary:hover,:root[data-theme=dark] .login-card .button.primary:hover{background:var(--blue-hover)}.login-page .login-brand :focus-visible{outline-color:#fff}.login-card input:focus{outline-color:var(--text)}@media(max-width:700px){.login-layout{display:flex}}@media(max-width:900px){.app-layout .sidebar .nav-link{color:var(--text)}.app-layout .sidebar-backdrop{background:#0006}}.form-warning{position:fixed;bottom:24px;right:24px;z-index:1000;display:flex;align-items:flex-start;gap:12px;width:min(420px,calc(100vw - 32px));padding:18px;border:1px solid #d99c32;border-radius:18px;background:var(--surface);color:var(--text);box-shadow:0 12px 40px #0003}.form-warning>span{color:#d99c32;font-weight:700}.form-warning p{margin:5px 0 0;font-size:var(--type-body)}.form-warning button,.calendar-heading button,.calendar-controls button{border:0;background:transparent;color:inherit;font-size:24px;cursor:pointer}.form-warning button{margin-left:auto}[aria-invalid=true]{outline:2px solid #d99c32;outline-offset:2px}.custom-date{position:relative;display:block;min-width:0}.custom-date input{width:100%;padding-right:44px}.custom-date input::-webkit-calendar-picker-indicator{display:none}.calendar-trigger{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:36px;height:36px;background:transparent;border:0;color:var(--text);cursor:pointer;border-radius:10px}.calendar-dialog{width:min(360px,calc(100vw - 32px));margin:auto;padding:20px;border:1px solid var(--border);border-radius:24px;background:var(--surface);color:var(--text);box-shadow:0 24px 80px #0005}.calendar-dialog::backdrop{background:#0006;backdrop-filter:blur(6px)}.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.calendar-controls{display:grid;grid-template-columns:24px 1fr 90px 24px;gap:4px;align-items:center}.calendar-controls select,.calendar-controls input{width:100%;min-width:0;padding:8px;font-size:var(--type-body)}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:16px 0;text-align:center}.calendar-days>span{padding:8px 0;color:var(--muted);font-size:var(--type-caption)}.calendar-days button{aspect-ratio:1;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text);cursor:pointer}.calendar-days button:hover:not(:disabled){background:var(--surface-2)}.calendar-days button:disabled{opacity:.3;cursor:default}.calendar-days button.calendar-today{border-color:var(--text)}.calendar-days button[aria-pressed=true]{background:var(--text);color:var(--surface)}@media(max-width:600px){.form-warning{right:16px;bottom:16px}}.member-portrait{width:144px;height:144px;flex-shrink:0;border-radius:24px;overflow:hidden;background:var(--surface-2);border:1px solid var(--border);display:grid;place-items:center;color:var(--muted)}.member-portrait img{width:100%;height:100%;object-fit:cover}.member-portrait>span{font-size:24px}.photo-field{display:flex;align-items:center;gap:24px;margin-bottom:28px}.photo-field>div:last-child{display:grid;gap:10px;min-width:0;flex:1}.photo-field input[type=file]{padding:12px;max-width:100%}.modal.wide{width:min(1120px,calc(100vw - 32px));max-width:1120px}.profile-top h2{font-size:26px}.profile-grid{margin-top:24px}.scan-result .member-portrait{margin:16px auto}.scan-result small{color:var(--muted);opacity:1}.camera-placeholder h3{color:#f5f5f5}.scan-member-details{text-align:left;color:var(--text)}@media(max-width:600px){.photo-field{flex-direction:column;align-items:flex-start}.profile-top{flex-wrap:wrap}.member-portrait{width:112px;height:112px}}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.settings-grid>.panel{min-width:0;margin:0}@media(max-width:1100px){.settings-grid{grid-template-columns:minmax(0,1fr)}}.login-page.login-refreshed{min-height:100dvh;padding:32px}.login-refreshed .login-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);justify-content:center;align-content:center;width:100%;max-width:1120px;flex:1;gap:clamp(40px,6vw,96px);padding:48px 0;margin:0 auto}.login-welcome{align-self:center;color:#fff}.login-welcome .login-welcome-eyebrow{color:#e0e0e0;margin:0 0 24px;font-size:var(--type-small);font-weight:500;letter-spacing:.04em}.login-welcome h2{margin:0;max-width:580px;font-size:clamp(32px,3vw,42px);min-height:2.2em;line-height:1.08;letter-spacing:-.045em;font-weight:650;text-wrap:balance}.typewriter-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.typewriter-cursor{font-weight:300;animation:typewriter-blink 1s step-end infinite}.typewriter-demo{font-size:20px;font-weight:500}@keyframes typewriter-blink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.typewriter-cursor{display:none;animation:none}}.login-welcome-copy{max-width:430px;margin:28px 0 0;font-size:16px;line-height:1.7;color:#e0e0e0}@media(max-width:850px){.login-refreshed .login-layout{grid-template-columns:minmax(0,420px);gap:32px}.login-welcome{text-align:center}.login-welcome-eyebrow{margin-bottom:16px}.login-welcome h2{font-size:clamp(26px,6.5vw,32px)}.login-welcome-copy{margin-top:20px;font-size:var(--type-body)}}.login-theme-control{display:flex;justify-content:flex-end}.login-theme-control .theme-toggle{width:44px;height:44px;color:var(--text);background:var(--surface-2);border:1px solid var(--control-border);backdrop-filter:blur(20px)}.login-theme-control .theme-toggle span{display:none}.login-page.login-refreshed .login-card{width:100%;padding:36px 32px 24px;margin:0;color:var(--text);background:#fffffff0;border:1px solid rgb(255 255 255 / 32%);border-radius:24px;box-shadow:none;backdrop-filter:blur(28px) saturate(110%);-webkit-backdrop-filter:blur(28px) saturate(110%)}:root[data-theme=dark] .login-page.login-refreshed .login-card{background:#121214f0;border-color:#ffffff24}.login-refreshed .login-logo{width:72px;height:64px;margin:0 auto 20px;overflow:hidden;border-radius:16px}.login-refreshed .login-card h1{margin:0;text-align:center;font-size:25px;font-weight:650;line-height:1.25;letter-spacing:-.6px}.login-refreshed .login-card .login-gym-name{text-align:center;margin:6px 0 28px;color:var(--muted);opacity:1;font-size:var(--type-small)}.login-refreshed .login-card form{gap:14px}.login-refreshed .login-field-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.login-refreshed .login-card input{min-height:48px;background:var(--surface-2);border:1px solid transparent;color:inherit;border-radius:16px;padding:12px 18px}.login-refreshed .login-card input::placeholder{color:var(--muted);opacity:1}:root[data-theme=dark] .login-refreshed .login-card input{background:var(--surface-2)}.login-refreshed .login-card .password-input input{padding-right:52px}.login-refreshed .login-card .password-input .icon-button{color:inherit}.login-page.login-refreshed .login-card .button.primary{min-height:46px;margin-top:16px;justify-content:center;background:#141414d9;color:#fff}:root[data-theme=dark] .login-page.login-refreshed .login-card .button.primary{background:#ffffff29;color:#fff}.login-page.login-refreshed .login-card .button.primary:hover{background:#141414}:root[data-theme=dark] .login-page.login-refreshed .login-card .button.primary:hover{background:#ffffff40}.login-refreshed .login-card .login-note{margin:20px 0 0;border:0;padding:0;color:var(--muted);opacity:1;text-align:center;font-size:var(--type-caption)}.login-refreshed .login-card :focus-visible{outline:2px solid currentColor;outline-offset:3px}.login-refreshed .login-footer{justify-content:center}@media(max-width:600px){.login-page.login-refreshed{padding:20px}.login-refreshed .login-layout{padding:28px 0}.login-page.login-refreshed .login-card{padding:32px 24px 24px}}@media(prefers-reduced-transparency:reduce){.login-page.login-refreshed .login-card,:root[data-theme=dark] .login-page.login-refreshed .login-card{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none}}@media(forced-colors:active){.login-page.login-refreshed .login-card{background:Canvas;color:CanvasText;border-color:CanvasText;backdrop-filter:none}.login-page.login-refreshed .login-card .button.primary{background:ButtonFace;color:ButtonText;border:1px solid ButtonText}}body,.login-page,.login-welcome,.login-welcome p,.login-page .login-footer,.login-page.login-refreshed .login-card,.login-page.login-refreshed .login-card input,.app-layout :is(.sidebar,.topbar,.panel,.metrics-grid,.quick-panel,.scan-result,.info-strip){transition:background-color var(--motion-slow) var(--motion-ease),color var(--motion-slow) var(--motion-ease),border-color var(--motion-slow) var(--motion-ease)}.login-welcome .login-welcome-copy{color:var(--text)}@media(prefers-reduced-motion:reduce){.gym-background,.login-scene,body,.login-page,.login-welcome,.login-welcome p,.login-page .login-footer,.login-page.login-refreshed .login-card,.login-page.login-refreshed .login-card input,.app-layout :is(.sidebar,.topbar,.panel,.metrics-grid,.quick-panel,.scan-result,.info-strip){transition:none}}@media(prefers-reduced-motion:reduce){.gym-background:before,.login-scene:before,.gym-background:after,.login-scene:after{transition:none}}:root[data-theme] :is(.button,.text-button,.icon-button,.tabs button):not(:where(.topbar *,.sidebar-close,.login-theme-control *,.password-input *)){min-height:44px;border:1px solid var(--control-border);border-radius:12px;background:var(--control-bg);color:var(--control-ink);box-shadow:var(--control-shadow);font-size:16px;font-weight:550;line-height:1.4;text-decoration:none;transition:background-color var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease),transform var(--motion-fast) var(--motion-ease)}:root[data-theme] :is(.button,.text-button):not(:where(.topbar *,.login-theme-control *)){padding:9px 16px;white-space:normal;overflow-wrap:anywhere;text-align:center;justify-content:center}:root[data-theme] .icon-button:not(:where(.topbar *,.sidebar-close,.password-input *)){min-width:44px;height:44px;flex-shrink:0}:root[data-theme] :is(.button.primary,.tabs button.selected){--control-bg: var(--blue);--control-hover: var(--blue-hover);--control-ink: var(--on-primary);--control-border: var(--blue)}:root[data-theme] :is(.button.danger,.button.danger-outline,.button.danger-button,.text-button.danger,.text-button.danger-text){--control-ink: var(--red);--control-border: var(--red);--control-hover: var(--negative-bg)}:root[data-theme] :is(.button,.text-button,.icon-button,.tabs button):not(:where(.topbar *,.sidebar-close,.login-theme-control *,.password-input *)):not(:disabled):hover{background:var(--control-hover);color:var(--control-ink);border-color:var(--control-focus);box-shadow:none}:root[data-theme] :is(.button,.text-button,.icon-button,.tabs button):not(:where(.topbar *,.sidebar-close,.login-theme-control *,.password-input *)):not(:disabled):active{box-shadow:inset 0 2px 4px #0e233a3d}:root[data-theme] :is(button,a):focus-visible{outline:3px solid var(--control-focus);outline-offset:3px}:root[data-theme] :is(.button,.icon-button,.tabs button):disabled{background:var(--surface-2);border:1px dashed var(--control-border);color:var(--muted);opacity:1;box-shadow:none;cursor:not-allowed}.app-layout .tabs{border-radius:12px;gap:6px}.member-profile-link{width:100%;min-height:52px;padding:4px 0;border:0;border-radius:10px;background:transparent;color:var(--text);text-align:left;box-shadow:none}.member-profile-link>span{min-width:0}.member-profile-link strong{font-weight:600;line-height:1.4}.member-profile-link small{font-size:13px;font-weight:400;letter-spacing:.025em}.member-profile-link .avatar{width:40px;height:40px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:13px}.member-profile-arrow{flex-shrink:0;margin-left:auto;color:var(--muted);opacity:.5;transition:transform var(--motion-fast) var(--motion-ease),opacity var(--motion-fast) var(--motion-ease)}.member-profile-link:is(:hover,:focus-visible) strong{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.member-profile-link:is(:hover,:focus-visible) .member-profile-arrow{transform:translate(3px);opacity:1}.app-layout .text-link{min-height:40px;gap:10px;border-radius:999px;color:var(--text);font-size:14px;font-weight:550;white-space:nowrap}.app-layout .text-link svg{width:30px;height:30px;padding:7px;flex-shrink:0;border:1px solid var(--border);border-radius:50%;background:var(--surface-2);transition:transform var(--motion-fast) var(--motion-ease),background-color var(--motion-fast) var(--motion-ease)}.app-layout .text-link:hover{color:var(--text);text-decoration:none}.app-layout .text-link:is(:hover,:focus-visible) svg{background:var(--control-hover);transform:translate(3px)}.app-layout .back-link:is(:hover,:focus-visible) svg{transform:translate(-3px)}.app-layout .panel-footer-link{color:var(--text);font-weight:550}:root[data-theme] .app-layout .tabs button:not(.selected){background:transparent;border-color:transparent;color:var(--muted)}:root[data-theme] .app-layout .tabs button:not(.selected):hover{background:var(--control-hover);color:var(--text)}@media(prefers-reduced-motion:reduce){.member-profile-arrow,.app-layout .text-link svg{transition:none}}.modal-actions,.page-actions{flex-wrap:wrap}@media(min-width:901px){.app-layout .sidebar{transition:width var(--motion-slow) var(--motion-ease),padding var(--motion-slow) var(--motion-ease),border-radius var(--motion-slow) var(--motion-ease)}.app-layout .main-area{margin-left:312px;transition:margin-left var(--motion-slow) var(--motion-ease)}.app-layout .sidebar .nav-label,.app-layout .sidebar-toggle span{white-space:nowrap}.app-layout .sidebar-toggle svg{flex-shrink:0;transition:transform var(--motion-slow) var(--motion-ease)}.nav-collapsed .sidebar-toggle svg{transform:rotate(180deg)}.nav-collapsed .sidebar{inset:50% auto auto 18px;transform:translateY(-50%);width:76px;max-height:calc(100dvh - 32px);padding:12px 8px;border-radius:40px}.nav-collapsed .sidebar .brand,.nav-collapsed .sidebar-footer{display:none}.nav-collapsed .sidebar-toggle{width:44px;margin:0 auto 8px}.nav-collapsed .sidebar nav{padding:4px}.nav-collapsed .sidebar .nav-link{min-height:48px;justify-content:center;margin:2px 0}.nav-collapsed .sidebar .nav-group{font-size:0;margin:12px 10px}.nav-collapsed .sidebar .nav-link .nav-icon,.nav-collapsed .sidebar .nav-link:is(:hover,.active) .nav-icon{background:transparent;border:0;color:inherit;box-shadow:none}.nav-collapsed .sidebar .nav-link.active{background:transparent;color:var(--link)}.nav-collapsed .sidebar :is(.nav-link,.sidebar-toggle):focus-visible{outline-offset:-2px}.nav-collapsed .main-area{margin-left:112px}}@media(max-width:900px){.app-layout .sidebar{width:300px;max-width:calc(100vw - 24px);background:var(--navigation-bg)}.sidebar-close{display:inline-flex;position:absolute;top:10px;right:12px;width:44px;height:44px;border-radius:8px}.sidebar .brand{margin-top:40px}.app-layout .topbar{margin:10px 8px 0;padding-inline:10px;gap:6px}.topbar-right{gap:6px}}@media(max-width:600px){.topbar .topbar-divider,.topbar .date-display,.topbar .timezone,.topbar-right .avatar{display:none}}@media(prefers-reduced-transparency:reduce),(forced-colors:active){.app-layout .sidebar,.app-layout .topbar{background:var(--navigation-bg);backdrop-filter:none;-webkit-backdrop-filter:none}}@media(forced-colors:active){:root[data-theme] :is(.button,.icon-button,.tabs button){border:1px solid ButtonText}.app-layout .sidebar .nav-link.active{outline:2px solid Highlight;outline-offset:-2px}}@media(prefers-reduced-motion:reduce){.app-layout .main-area,.app-layout .sidebar-toggle svg{transition:none}:root[data-theme] :is(.button,.text-button,.icon-button,.tabs button){transition:none}}:root{--bg: #f5f1ec;--surface: #fff;--surface-soft: #f7f5f1;--surface-2: #ebe7e1;--border: #d3cec6;--hairline-soft: #ebe7e1;--content-border: #9c958b;--content-divider: #d3cec6;--text: #111;--muted: #626260;--blue: #111;--blue-hover: #313130;--on-primary: #fff;--link: #111;--radius: 12px;--radius-input: 8px;--radius-pill: 8px;--control-bg: #fff;--control-hover: #f0ece6;--control-ink: #111;--control-border: #d3cec6;--control-shadow: none;--control-focus: #626260;--focus-halo: #11111115;--navigation-ink: #111;--navigation-bg: #f7f5f1;--navigation-hover: #e9e5de;--navigation-active: #ddd8d0;--navigation-active-marker: #111;--navigation-edge: #d3cec6;--navigation-glass: #f7f5f1;--chart-primary: #2275ba;--chart-secondary: #bf430a;--motion-fast: .18s;--motion-standard: .2s;--motion-slow: .22s;--motion-ease: cubic-bezier(.2, 0, 0, 1);--table-hover: #faf8f5;--photo-scrim: transparent;--photo-ink: #030201}:root[data-theme=dark]{--bg: #171716;--surface: #222221;--surface-soft: #292928;--surface-2: #313130;--border: #484845;--hairline-soft: #383835;--content-border: #696964;--content-divider: #484845;--text: #f7f5f1;--muted: #c1beb8;--blue: #f7f5f1;--blue-hover: #e0ddd6;--on-primary: #171716;--link: #f7f5f1;--control-bg: #222221;--control-hover: #313130;--control-ink: #f7f5f1;--control-border: #666661;--control-focus: #d3cec6;--navigation-ink: #f7f5f1;--navigation-bg: #1c1c1b;--navigation-hover: #313130;--navigation-active: #3b3b39;--navigation-active-marker: #f7f5f1;--navigation-edge: #383835;--navigation-glass: #1c1c1b;--chart-primary: #65b5ff;--chart-secondary: #ff966a;--table-hover: #292928;--photo-scrim: transparent;--photo-ink: #fff}body{font-weight:400;line-height:1.5}html:root[data-theme] .app-layout .gym-background{display:none}html:root[data-theme] .login-scene{background:var(--bg) url(/backgrounds/gym-daylight-v2.webp) center / cover no-repeat}html:root[data-theme] .login-scene:before{background:var(--bg) url(/backgrounds/gym-night-v1.webp) center / cover no-repeat;opacity:0}html:root[data-theme=dark] .login-scene:before{opacity:1}html:root[data-theme] .login-scene:after{content:"";position:absolute;inset:0;background:var(--photo-scrim);pointer-events:none;transition:background-color var(--motion-slow) var(--motion-ease)}h1,h2,h3{font-weight:500;letter-spacing:-.025em}.app-layout .page-heading{align-items:flex-start;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--content-divider)}.app-layout .page-heading-copy{max-width:720px}.app-layout .page-heading-copy>.back-link{margin-bottom:14px}.page-heading h1{font-size:clamp(28px,2.7vw,36px);font-weight:500;line-height:1.2;margin:0 0 8px;text-wrap:balance}.page-heading p{font-size:14px;line-height:1.6;margin:0;max-width:65ch;color:var(--muted)}html:root[data-theme] .app-layout :is(.panel,.metrics-grid,.quick-panel,.scan-result,.info-strip){background:var(--surface);border:1px solid var(--content-border);border-radius:12px;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}html:root[data-theme] :is(.modal,.calendar-dialog){background:var(--surface);border:1px solid var(--content-border);border-radius:16px;box-shadow:none}html:root[data-theme] .app-layout .sidebar{width:248px;padding:22px 12px 14px;border:1px solid var(--navigation-edge);background:var(--navigation-bg);border-radius:16px;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.app-layout .sidebar .brand{padding:0 8px 24px;gap:10px;color:var(--text)}.app-layout .sidebar nav{padding:5px;overscroll-behavior:contain}.sidebar-close{display:none}.app-layout .sidebar .brand-icon{width:48px;height:42px;border-radius:8px;background:#fff}.app-layout .brand-name{font-size:15px;font-weight:600;letter-spacing:-.02em}.app-layout .brand-name small{font-size:10px;letter-spacing:.06em;color:var(--muted)}.app-layout .sidebar .nav-link{position:relative;min-height:44px;padding:5px 10px 5px 14px;gap:10px;font-weight:400;border-radius:8px;color:var(--muted);transition:background-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease),transform var(--motion-fast) var(--motion-ease)}.app-layout .sidebar .nav-link:not(.active):hover{background:var(--navigation-hover);color:var(--text);transform:translate(2px)}.app-layout .sidebar .nav-label{font-size:14px;font-weight:inherit;min-width:0;white-space:normal}.app-layout .sidebar .nav-group{padding:20px 10px 8px;font-size:12px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--muted)}html:root[data-theme] .app-layout .sidebar .nav-link .nav-icon{width:24px;height:28px;background:transparent;border:0;color:inherit;border-radius:0}.app-layout .sidebar .nav-icon svg{width:20px;height:20px}html:root[data-theme] .app-layout .sidebar .nav-link.active{background:var(--navigation-active);color:var(--text);font-weight:600}.app-layout .sidebar .nav-link.active:before{position:absolute;inset:9px auto 9px 5px;width:3px;border-radius:3px;background:var(--navigation-active-marker);content:""}.app-layout .sidebar .nav-link.active .nav-icon svg{stroke-width:2.25}.app-layout .sidebar-toggle{min-height:44px;border-radius:8px;font-size:13px;color:var(--muted);margin-bottom:12px}.app-layout .sidebar-toggle:hover{background:var(--navigation-hover);color:var(--text)}.app-layout .sidebar .account{padding-inline:6px}.app-layout .account strong{font-weight:500;font-size:13px}.app-layout .account small{font-size:12px;color:var(--muted)}.app-layout .sidebar-tooltip{left:106px;background:var(--text);color:var(--bg);border-radius:6px;border:0}html:root[data-theme] .app-layout .topbar{margin:0;padding:0 32px;min-height:76px;height:76px;position:static;top:auto;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;--muted: var(--text)}.topbar .theme-toggle,.topbar .icon-button{flex-shrink:0;width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--navigation-ink);box-shadow:none}.topbar .theme-toggle span{display:none}.topbar .theme-toggle:hover,.topbar .icon-button:hover{background:var(--navigation-hover);color:var(--link)}.app-layout .breadcrumb strong{font-size:14px;font-weight:500}.app-layout .timezone{background:transparent;padding-inline:0}.app-layout .topbar-right{gap:8px;font-size:13px}html:root[data-theme] .app-layout .avatar{border-radius:50%;background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.app-layout .content{padding:20px 32px 24px;max-width:1280px}.app-layout .metric{padding:20px;border-color:var(--content-divider)}.app-layout .metric-heading{font-size:13px;min-height:20px;align-items:flex-start}.app-layout .metric-icon{color:var(--muted)}.app-layout .metric>strong{font-size:32px;font-weight:500;letter-spacing:-.04em;margin:10px 0 6px}.app-layout .metric>small{font-size:12px}.app-layout .panel-heading{padding:20px 24px;align-items:center;background:var(--surface-soft);border-bottom:1px solid var(--content-divider)}.app-layout .panel-heading h2{font-size:18px;font-weight:500}.app-layout .panel-heading p{font-size:13px}.app-layout .dashboard-grid{gap:20px;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}.app-layout .dashboard-grid .panel{min-height:0}.app-layout .chart-summary strong{font-size:28px;font-weight:500;letter-spacing:-.035em}.app-layout .chart-summary span{font-size:12px}.revenue-series{color:var(--chart-primary)}.monthly-series{color:var(--chart-secondary)}.revenue-grid{stroke:var(--hairline-soft);stroke-opacity:.65}.revenue-line{stroke-width:2.5}.app-layout :is(.chart-axis,.line-chart-labels){font-size:12px}html:root[data-theme] :is(.button,.text-button,.icon-button,.tabs button):not(:where(.topbar *,.sidebar-close,.login-theme-control *,.password-input *)){background:var(--control-bg);color:var(--control-ink);border:1px solid var(--control-border);border-radius:8px;box-shadow:none;font-size:14px;font-weight:500;letter-spacing:0;line-height:1.3;text-transform:none}html:root[data-theme] :is(.button,.text-button){text-transform:none}html:root[data-theme] :is(.button,.text-button,.icon-button,.tabs button):not(:where(.topbar *,.sidebar-close,.login-theme-control *,.password-input *)):not(:disabled):hover{background:var(--control-hover);color:var(--control-ink);border-color:var(--control-border);box-shadow:none}html:root[data-theme] .app-layout .tabs{background:var(--surface-2);border-radius:9999px}html:root[data-theme] .app-layout .tabs button{border-radius:9999px}html:root[data-theme] :is(input:not([type=checkbox]):not([type=radio]),select,textarea,.search){background:var(--surface);color:var(--text);border:1px solid var(--control-border);border-radius:8px;box-shadow:none}html:root[data-theme] .app-layout .search input{border:0;background:transparent}html:root[data-theme] :is(input,select,textarea):focus,html:root[data-theme] .search:focus-within{outline:2px solid var(--control-focus);outline-offset:3px;box-shadow:none}html:root[data-theme] .app-layout .panel table th{background:var(--surface-soft);border-bottom:1px solid var(--content-divider);color:var(--muted);font-size:12px;font-weight:500;text-transform:none;letter-spacing:0}.app-layout .table-scroll{position:relative;max-height:min(70dvh,44rem);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.app-layout .table-scroll table{font-variant-numeric:tabular-nums}.app-layout .table-scroll thead th{position:sticky;z-index:2;top:0;box-shadow:inset 0 -1px 0 var(--content-divider);white-space:nowrap}.app-layout table :is(td,th){padding-top:14px;padding-bottom:14px}.app-layout table td{border-bottom-color:var(--content-divider);vertical-align:middle}.app-layout table tbody tr{transition:background-color var(--motion-fast) var(--motion-ease)}@keyframes dialog-enter{0%{opacity:0;transform:translateY(4px)}}@keyframes dialog-backdrop-enter{0%{background-color:transparent;backdrop-filter:blur(0)}}.modal[open]{animation:dialog-enter var(--motion-fast) var(--motion-ease)}.modal[open]::backdrop{animation:dialog-backdrop-enter var(--motion-fast) var(--motion-ease)}html:root[data-theme] .app-layout table tbody tr:hover{background:var(--table-hover)}.app-layout table :is(.person-cell,.table-identity) strong{color:var(--text);font-weight:600}.app-layout table :is(.person-cell,.table-identity) small{color:var(--muted);font-size:12px;letter-spacing:.015em}.app-layout table :is(.table-supporting,.table-date,.table-code){color:var(--muted);font-size:13px}.app-layout table :is(.table-date,.table-code,.table-number){font-variant-numeric:tabular-nums}.app-layout table .table-code{letter-spacing:.025em}.app-layout table :is(.table-number,th.table-number){text-align:right}.app-layout table td.table-number{color:var(--text);font-weight:500}.app-layout table :is(.table-status,.table-action){white-space:nowrap}html:root[data-theme] .app-layout table .button{min-width:88px;padding-inline:12px;white-space:nowrap;overflow-wrap:normal}.app-layout :is(.person-cell,.alert-item) strong{font-weight:500}html:root[data-theme] .app-layout :is(.fee-display,.profile-entitlements>div){background:var(--surface-soft);border-color:var(--content-divider)}html:root[data-theme] .app-layout :is(tbody tr:hover,.alert-item:hover){background:var(--surface-soft)}.app-layout .text-link svg{background:transparent;border:0;border-radius:0;width:20px;height:20px;padding:0}.app-layout .text-link{font-weight:500;font-size:13px}.app-layout .quick-panel{padding:24px}.app-layout :is(.toolbar,.pager,.panel-footer-link,.recent-scan,.alert-item,.result-dates,.form-divider){border-color:var(--content-divider)}.app-layout .info-strip>div:last-child{border-color:var(--content-divider)}.modal :is(.modal-head,.modal-actions,.history-row,.member-picker>button){border-color:var(--content-divider)}.app-layout .app-footer{padding:12px 32px 24px;font-size:12px;color:var(--muted);border:0}.login-page.login-refreshed{position:relative;isolation:isolate;overflow:hidden;--login-glass: rgb(255 255 255 / 56%);--login-glass-field: rgb(255 255 255 / 64%);--login-glass-border: rgb(255 255 255 / 72%);--login-glass-highlight: rgb(255 255 255 / 65%);--login-glass-muted: #181716;--welcome-scrim: rgb(245 241 236 / 82%);--welcome-text-shadow: 0 1px 1px rgb(255 255 255 / 50%)}.login-page.login-refreshed .login-scene{position:absolute}:root[data-theme=dark] .login-page.login-refreshed{--login-glass: rgb(23 23 22 / 68%);--login-glass-field: rgb(23 23 22 / 62%);--login-glass-border: rgb(255 255 255 / 20%);--login-glass-highlight: rgb(255 255 255 / 12%);--login-glass-muted: #d3cec6;--welcome-scrim: rgb(10 10 9 / 78%);--welcome-text-shadow: 0 2px 18px rgb(0 0 0 / 70%)}html:root[data-theme] .login-page.login-refreshed .login-card{--muted: var(--login-glass-muted);background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:36px 32px 28px;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.login-refreshed .login-layout{max-width:1120px}.login-refreshed .login-welcome{position:relative;text-shadow:var(--welcome-text-shadow)}.login-refreshed .login-welcome:before{position:absolute;z-index:0;inset:-48px -72px;background:radial-gradient(ellipse at center,var(--welcome-scrim) 0%,transparent 72%);content:"";pointer-events:none}.login-refreshed .login-welcome>*{position:relative;z-index:1}.login-welcome .login-welcome-eyebrow{font-size:14px;font-weight:500;letter-spacing:0;color:var(--photo-ink)}.login-welcome h2{font-size:clamp(44px,4.5vw,64px);font-weight:500;line-height:1.1;letter-spacing:-.035em;min-height:0;text-wrap:initial;color:var(--photo-ink)}.login-welcome .login-welcome-copy{font-size:16px;line-height:1.5;color:var(--photo-ink)}.login-refreshed .login-card h1{font-size:26px;font-weight:500}.login-refreshed .login-logo{border-radius:8px;width:112px;height:96px;background:#fff}.login-refreshed .login-gym-name{font-size:13px;text-transform:none;letter-spacing:0}:root[data-theme=dark] .login-refreshed .login-card .login-gym-name{color:var(--text)}:root[data-theme=dark] .login-page.login-refreshed .login-card .button.primary{background:var(--blue);color:var(--on-primary)}:root[data-theme=dark] .login-page.login-refreshed .login-card .button.primary:hover{background:var(--blue-hover)}html:root[data-theme] .login-refreshed .login-card input{background:var(--surface);border-radius:8px;border:1px solid var(--control-border);font-size:16px;padding-inline:12px}html:root[data-theme] .login-refreshed .password-input input{padding-right:52px}html:root[data-theme] .login-refreshed .login-theme-control .theme-toggle{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:none;backdrop-filter:none}@supports (backdrop-filter: blur(18px)) or (-webkit-backdrop-filter: blur(18px)){html:root[data-theme] .login-page.login-refreshed .login-card,html:root[data-theme] .login-refreshed .login-theme-control .theme-toggle{background:var(--login-glass);border-color:var(--login-glass-border);box-shadow:inset 0 1px 0 var(--login-glass-highlight),0 12px 40px #00000014;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}html:root[data-theme] .login-refreshed .login-card input{background:var(--login-glass-field)}}@media(prefers-reduced-transparency:reduce),(forced-colors:active){html:root[data-theme] .login-page.login-refreshed .login-card,html:root[data-theme] .login-refreshed .login-theme-control .theme-toggle{background:var(--surface);border-color:var(--border);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}html:root[data-theme] .login-refreshed .login-card input{background:var(--surface)}}.login-refreshed .login-footer{color:#fff;font-size:12px}@media(min-width:901px){.app-layout .main-area{margin-left:272px}html:root[data-theme] .nav-collapsed .sidebar{width:68px;padding:12px 6px;border-radius:16px}.nav-collapsed .sidebar nav{padding:0;scrollbar-width:none}.nav-collapsed .sidebar .nav-link{padding:0}.nav-collapsed .sidebar .nav-link.active:before{inset:auto auto 5px 50%;width:16px;height:3px;transform:translate(-50%)}.nav-collapsed .sidebar .nav-group{font-size:0;line-height:0;padding:0;height:1px;margin:12px 8px}.nav-collapsed .main-area{margin-left:104px}}@media(max-width:1100px){.app-layout .dashboard-grid{grid-template-columns:1fr}}@media(max-width:900px){html:root[data-theme] .app-layout .sidebar{width:280px}.sidebar-close{display:inline-flex}html:root[data-theme] .app-layout .topbar{padding-inline:20px;min-height:68px;height:68px}.app-layout .content{padding:16px 20px 24px}.app-layout .app-footer{padding-inline:20px}}@media(max-width:850px){.login-welcome h2{font-size:clamp(32px,6vw,44px)}.login-welcome .login-welcome-copy{margin-inline:auto}}@media(max-width:600px){.page-heading h1{font-size:28px}.app-layout .metric{padding:16px}.app-layout .panel-heading{padding:20px;align-items:flex-start}html:root[data-theme] .login-page.login-refreshed .login-card{padding:28px 24px}.login-welcome h2{font-size:clamp(30px,8vw,40px)}}.registration-draft-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px;font-size:14px;color:var(--muted)}.calendar-dialog{width:min(400px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;border-radius:16px}.calendar-hint,.calendar-error{font-size:14px;margin-bottom:16px;color:var(--muted)}.calendar-error{color:var(--red);margin-top:12px}.calendar-entry{grid-template-columns:32px minmax(0,1fr) 98px 32px;gap:6px;align-items:end}.calendar-dialog label{display:flex;flex-direction:column;gap:6px;font-size:12px;min-width:0}.calendar-dialog input{min-width:0;width:100%;min-height:44px;font-size:16px}.calendar-entry>button,.calendar-heading>button{min-height:44px;border-radius:8px;color:var(--text);background:var(--surface-soft);border:1px solid var(--border)}.calendar-heading>button{width:44px}.calendar-choice{position:relative;min-width:0}.calendar-choice-field{position:relative;margin-top:6px}.calendar-entry .calendar-choice input{padding-right:28px}.calendar-choice-toggle{position:absolute;right:0;top:0;width:28px;height:44px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--text)}.calendar-choice-options{position:absolute;z-index:1;top:calc(100% + 4px);left:0;min-width:100%;max-height:180px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:8px}.calendar-choice-options [role=option]{padding:12px;cursor:pointer}.calendar-choice-options [role=option]:is(:hover,[aria-selected=true]){background:var(--surface-2)}.calendar-typed-day{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:end;gap:12px;margin-top:12px}html:root[data-theme] .calendar-dialog .button.primary{min-height:44px;background:var(--blue);color:var(--on-primary)}html:root[data-theme] .calendar-dialog .button.primary:hover{background:var(--blue-hover);color:var(--on-primary)}.calendar-month-caption{margin-top:20px;font-weight:500}.calendar-dialog .calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:32px repeat(6,40px)}.calendar-dialog .calendar-days button{min-width:0;padding:0;min-height:36px;aspect-ratio:auto;height:40px}@media(max-width:360px){.calendar-dialog{padding:16px 12px}.calendar-entry{grid-template-columns:28px minmax(0,1fr) 88px 28px;gap:4px}.calendar-entry .calendar-choice input{font-size:14px;padding-left:5px;padding-right:22px}.calendar-choice-toggle{width:22px}}.calendar-dialog :focus-visible{outline:2px solid var(--control-focus);outline-offset:2px}.app-layout .table-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}html:root[data-theme] :is(.app-layout,.modal) .button{min-height:44px;max-width:100%;white-space:normal;text-align:center;padding:10px 16px}:is(.app-layout,.modal) :is(.button,.text-button)>svg{flex-shrink:0}html:root[data-theme] :is(.app-layout,.modal) .button.primary{background:var(--blue);color:var(--on-primary);border-color:var(--blue)}html:root[data-theme] :is(.app-layout,.modal) .button.primary:not(:disabled):hover{background:var(--blue-hover);color:var(--on-primary);border-color:var(--blue-hover)}html:root[data-theme] :is(.app-layout,.modal) :is(.danger-button,.danger-outline){color:var(--red);border-color:currentColor}html:root[data-theme] :is(.app-layout,.modal) :is(.danger-button,.danger-outline):not(:disabled):hover{color:var(--red);border-color:currentColor}html:root[data-theme] .app-layout .tabs button.selected{background:var(--blue);color:var(--on-primary);border-color:var(--blue)}html:root[data-theme] :is(.app-layout,.modal) :is(.button,.icon-button,.text-button,.tabs button):focus-visible{outline:2px solid var(--control-focus);outline-offset:3px}html:root[data-theme] :is(.app-layout,.modal) .button:disabled{background:var(--surface-2);color:var(--muted);border-color:var(--border);border-style:dashed;opacity:1}.app-layout :is(.heading-actions,.toolbar,.report-filters,.scanner-controls),.modal-actions{flex-wrap:wrap;gap:12px}.app-layout .page-heading>div,.app-layout .heading-actions{min-width:0}.app-layout .heading-actions{align-items:center;justify-content:flex-end;padding-top:2px}.app-layout .heading-actions>.button:not(.primary){background:transparent;border-color:var(--border)}.app-layout .heading-actions>.badge{align-self:center}.app-layout .workspace-filters{display:flex;align-items:flex-end;justify-content:flex-start;flex-wrap:wrap;gap:12px;margin:0 0 28px;padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft)}.app-layout .workspace-filters.toolbar{border-bottom:1px solid var(--border)}.app-layout .workspace-filters .search{background:var(--surface)}.app-layout .workspace-filters+.panel{margin-top:0}.app-layout :is(.toolbar,.report-filters){align-items:flex-end}.app-layout :is(.toolbar>select,.report-filters>select,.search){min-height:44px;height:auto}.app-layout .search input{min-width:0;min-height:42px}.app-layout .date-filters{align-items:flex-end;flex-wrap:wrap}.app-layout .date-filters label{flex-direction:column;align-items:stretch;gap:6px;min-width:0}.app-layout .date-filters input{min-height:44px;height:auto}.app-layout .tabs{flex-wrap:wrap;gap:4px}.app-layout .tabs button,:is(.app-layout,.modal) .icon-button{min-width:44px;min-height:44px}.app-layout .pager .icon-button{width:44px;height:44px}.profile-actions>.text-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;margin-left:0}.scanner-controls>span{flex:1 1 180px;text-align:right}.registration-submit{display:grid;gap:12px;padding-top:18px;border-top:1px solid var(--content-divider)}.registration-submit p{display:flex;justify-content:space-between;gap:16px;margin:0;color:var(--muted);font-size:13px}.registration-submit strong{color:var(--text);font-variant-numeric:tabular-nums}@media(max-width:900px){.app-layout .page-heading{align-items:stretch;padding-bottom:18px}.app-layout .page-heading .heading-actions{justify-content:flex-start;padding-top:0}}@media(max-width:600px){.app-layout .app-footer{padding-bottom:calc(100px + env(safe-area-inset-bottom))}.mobile-workflow-nav{position:fixed;z-index:20;left:50%;bottom:calc(10px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:min(360px,calc(100vw - 24px));padding:5px;transform:translate(-50%);border:1px solid var(--content-divider);border-radius:14px;background:var(--surface);box-shadow:0 12px 30px color-mix(in srgb,var(--text) 14%,transparent)}.mobile-workflow-nav a{display:flex;min-width:0;min-height:48px;align-items:center;justify-content:center;gap:8px;padding:9px 10px;border-radius:9px;color:var(--muted);font-size:13px;font-weight:500;text-decoration:none}.mobile-workflow-nav a.active{background:var(--text);color:var(--bg)}.mobile-workflow-nav a:focus-visible{outline:2px solid var(--control-focus);outline-offset:2px}:is(.app-layout,.modal) :is(.heading-actions,.modal-actions,.profile-actions){display:grid;grid-template-columns:minmax(0,1fr);width:100%;gap:10px}.app-layout .page-heading>.button{width:100%}.app-layout .page-heading{margin-bottom:22px}.app-layout .heading-actions>.button{width:100%}.app-layout .heading-actions>.badge{justify-self:start}.app-layout .workspace-filters{margin-bottom:22px;padding:12px}.app-layout .table-scroll{max-height:68dvh}.app-layout .toolbar>:is(.search,select,.date-filters,.tabs),.app-layout .report-filters>:is(select,.date-filters){width:100%;min-width:0;flex-basis:100%}.app-layout .date-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.app-layout .date-filters input{width:100%;min-width:0}.app-layout .tabs button{flex:1 1 auto}.app-layout .form-grid{grid-template-columns:minmax(0,1fr)}.app-layout .form-grid .span-2{grid-column:auto}.app-layout .registration-draft-bar{align-items:flex-start;padding:12px;border:1px solid var(--content-divider);border-radius:10px;background:var(--surface-soft);font-size:12px}.app-layout .registration-draft-bar .button{min-height:36px;padding:7px 11px;font-size:12px}.app-layout .registration-submit .button,.app-layout .manual-scan-submit{width:100%}.app-layout .camera-box{height:auto;aspect-ratio:4 / 3}.app-layout .camera-corners{width:min(58vw,210px);height:min(58vw,210px)}.app-layout .camera-placeholder~.camera-corners{width:90px;height:90px}.app-layout .scanner-controls{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:stretch}.app-layout .scanner-camera-action{grid-column:1 / -1;width:100%;min-height:48px}.app-layout .scanner-sound-toggle{min-height:44px;white-space:nowrap}.scanner-controls>span{align-self:center;text-align:right}.app-layout .manual-scan{flex-direction:column;align-items:stretch}}@media(forced-colors:active){html:root[data-theme] .login-scene{display:none}html:root[data-theme] :is(.panel,.sidebar,.modal,.login-card){border:1px solid CanvasText}html:root[data-theme] .login-page.login-refreshed .login-card,html:root[data-theme] .login-refreshed .login-theme-control .theme-toggle,html:root[data-theme] .login-refreshed .login-card input{background:Canvas;color:CanvasText;border-color:CanvasText}.login-refreshed .login-welcome:before{display:none}.login-refreshed .login-welcome{text-shadow:none}:root[data-theme=dark] .login-page.login-refreshed .login-card .button.primary{background:ButtonFace;color:ButtonText}}.app-layout .sidebar .nav-group{margin:0;padding:16px 10px 6px}.app-layout .sidebar-toggle{background:transparent;border-color:transparent;font-weight:400}.app-layout .sidebar-footer{border-top:1px solid var(--navigation-edge);padding-top:16px;margin-top:16px}.app-layout .sidebar-tooltip{max-width:min(240px,calc(100vw - 120px));pointer-events:none}html:root[data-theme] .app-layout .topbar{max-width:1280px;width:100%;margin-inline:auto}.app-layout .topbar .date-display{color:var(--muted);font-size:12px;white-space:nowrap}.app-layout .breadcrumb{min-width:0}.app-layout .breadcrumb strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-layout .metric{display:flex;flex-direction:column}.app-layout .metric>strong{font-variant-numeric:tabular-nums;line-height:1.1;font-size:36px;min-height:42px}.app-layout .metric>small{min-height:1.5em}.app-layout .metric-priority>strong{font-size:36px;font-weight:600}.app-layout .metric-priority .metric-heading{color:var(--text)}.app-layout .operational-dashboard{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}.operational-dashboard .alerts-panel{grid-column:1;grid-row:1}.operational-dashboard .chart-panel{grid-column:2;grid-row:1}.app-layout .alert-item{min-height:76px}.chart-text-summary{flex-basis:100%;grid-column:1 / -1;color:var(--text);font-size:13px;margin-top:12px}.chart-text-summary summary{cursor:pointer;min-height:44px;display:list-item;padding-block:12px}.app-layout .revenue-chart{flex-wrap:wrap}.filter-summary{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;margin:-8px 0 16px;color:var(--muted);font-size:13px;overflow-wrap:anywhere}.filter-summary>[role=status]{color:var(--text);font-weight:500;font-variant-numeric:tabular-nums}.active-filter{border-left:1px solid var(--border);padding-left:12px}.app-layout .member-filters .search{flex:1 1 320px;max-width:560px}.refresh-feedback{display:block;font-size:12px;color:var(--muted)}.refresh-feedback:not(:empty){padding:8px 20px}.notice{flex-wrap:wrap;gap:12px}.notice .button{margin-left:auto}.date-presets{display:flex;flex-wrap:wrap;gap:6px}.date-presets .button[aria-pressed=true]{background:var(--navigation-active);border-color:var(--content-border);font-weight:600}.field-error{display:block;color:var(--red);font-size:13px;font-weight:500;overflow-wrap:anywhere}html:root[data-theme] [aria-invalid=true]{border-color:var(--red)}.checkbox-label:has(.field-error){flex-wrap:wrap}.checkbox-label .field-error{flex-basis:100%}.form-footnote{line-height:1.5}.form-stack:has(.field-error) label{min-width:0}.profile-top{flex-wrap:wrap}.profile-top>div{flex:1;min-width:160px;overflow-wrap:anywhere}.profile-top .button{margin-left:auto}.profile-entitlements .date-cell>span{font-size:17px;font-weight:600}.profile-entitlements .date-cell{margin-top:10px;border-left:2px solid var(--content-border);padding-left:10px}.profile-danger-actions{margin-top:24px;border-top:1px solid var(--border);padding-top:12px}.profile-danger-actions summary{cursor:pointer;min-height:44px;padding-block:10px;font-size:14px;font-weight:500}.profile-danger-actions>p{font-size:13px;color:var(--muted)}.profile-danger-actions .button,.profile-danger-actions .text-button{margin:8px 10px 0 0}.member-history{padding:0;list-style:none;margin-block:16px}.member-history li{border-left:2px solid var(--border);padding:0 0 18px 16px;overflow-wrap:anywhere}.member-history time{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.member-history p{margin:4px 0;font-size:14px}.member-history strong{font-size:13px;font-weight:500}.modal-head{padding:16px 24px}.modal-body{padding:24px}.modal-actions{gap:12px;padding-top:20px;margin-top:20px}.modal :is(.details-list dd,.history-row,.member-summary strong){overflow-wrap:anywhere;min-width:0}.modal .history-row{flex-wrap:wrap}.account-disable{margin-top:12px;border:1px solid var(--border);padding:16px}.account-disable legend{font-weight:600;padding-inline:6px}.account-disable p{color:var(--muted);font-size:14px}.activity-description details summary{cursor:pointer;min-height:44px}.activity-description p{margin-block:8px}.audit-event{display:inline-block;font-weight:500}.audit-destructive:before{content:"! ";color:var(--red);font-weight:700}.audit-account{border-left:2px solid var(--content-border);padding-left:8px}.app-layout .settings-grid{display:flex;flex-direction:column;gap:24px;max-width:800px}.app-layout .settings-grid>.panel{padding:24px;max-width:none;width:100%}.active-fee{color:var(--muted);font-size:13px;margin-top:-8px}.inline-confirmation{padding:20px;margin-top:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft)}.inline-confirmation h3{margin:0}.fee-save-feedback{min-height:24px;font-size:13px}.logo-previews{display:flex;align-items:flex-end;gap:32px;flex-wrap:wrap}.logo-previews figure{margin:0}.logo-previews img{object-fit:contain;display:block}.logo-previews figcaption{color:var(--muted);font-size:12px;margin-top:10px}.app-layout .camera-box{position:relative}.camera-state{position:absolute;left:16px;right:16px;bottom:16px;padding:8px 12px;background:#222221;color:#f7f5f1;border-radius:6px;font-size:13px;text-align:center}.scanner-status{font-size:13px;color:var(--muted)}.scanner-status:empty{display:none}.app-layout .scan-result{padding:24px;margin:0;color:var(--text)}.app-layout .scan-result.approved>svg{color:var(--green)}.app-layout .scan-result.denied>svg{color:var(--red)}.app-layout .scan-result small{opacity:1;color:var(--muted)}.app-layout .scan-result .notice{font-size:13px;text-align:left}.warning-text{color:var(--yellow)}.loading-form .skeleton-records{display:grid;grid-template-columns:1fr;gap:16px}.loading-form .skeleton-records span{height:44px}@media(min-width:901px){.app-layout.nav-collapsed .sidebar .nav-group{padding:0;margin:10px 8px}html:root[data-theme] .nav-collapsed .sidebar .nav-link.active{background:var(--navigation-active)}}@media(max-width:1100px){.app-layout .operational-dashboard{grid-template-columns:1fr}.operational-dashboard .alerts-panel,.operational-dashboard .chart-panel{grid-column:auto;grid-row:auto}.operational-dashboard .alerts-panel{order:-1}}@media(max-width:600px){.app-layout .member-filters{flex-wrap:wrap}.app-layout .member-filters .search{flex-basis:100%}.modal-head,.modal-body{padding:16px}.profile-entitlements{grid-template-columns:1fr}.profile-top>.badge,.profile-top .button{margin-left:0}.app-layout .settings-grid>.panel{padding:20px}.app-layout .scan-result{padding:20px}}@media(prefers-reduced-transparency:reduce){.modal::backdrop{backdrop-filter:none}}@media(forced-colors:active){.camera-state{background:Canvas;color:CanvasText;border:1px solid CanvasText}.field-error,.warning-text{color:CanvasText}}.profile-entitlements .date-cell>small{display:block}.app-layout .scan-result{scroll-margin-block:16px 96px}:is(.app-layout,.modal) .payment-status{color:var(--muted)}@font-face{font-family:Geist Sans;src:url(/fonts/geist-variable.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}html{font-family:Geist Sans,Arial,sans-serif}
