.users-page .venue-head{flex-wrap:wrap;gap:12px}.users-tabs{margin-bottom:16px;flex-wrap:wrap}.users-records-table{min-width:660px}.users-records-table td{max-width:none}.users-records-mobile{margin-top:4px;font-size:12px}.users-records-table .users-records-reason{min-width:180px;max-width:400px;white-space:normal;overflow-wrap:anywhere}.users-records-empty{text-align:center;padding:24px}.users-table .users-actions-cell{min-width:220px;white-space:normal;overflow:visible}.users-actions{display:flex;flex-wrap:wrap;gap:8px}.users-actions button{max-width:100%;white-space:normal;overflow-wrap:anywhere}.users-page .drawer-title{padding-right:32px;overflow-wrap:anywhere}.users-page .drawer-dot{flex-shrink:0}.users-page .drawer-body>p{overflow-wrap:anywhere}.users-page .bean-ledger-type{min-width:220px;white-space:normal}.ledger-source{margin-top:6px;color:var(--muted);font-size:12px;line-height:1.6}.ledger-source-id{overflow-wrap:anywhere}@media (max-width: 768px){.users-page .venue-head>*,.users-page .filter-bar .chip-row>*{width:100%;min-width:0}.users-page .date-field{flex-direction:column;align-items:stretch}.users-page input{min-width:0;width:100%;min-height:44px;font-size:16px}.users-page button{min-height:44px}.users-page .drawer-close{width:44px;top:8px;right:8px}.users-results{overflow:visible}.users-table,.users-table tbody{display:block;width:100%}.users-table thead{display:none}.users-table tbody{display:grid;gap:12px}.users-table tr{display:block;min-width:0;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.users-table td{display:grid;grid-template-columns:minmax(80px,34%) minmax(0,1fr);align-items:center;gap:12px;max-width:none;min-width:0;padding:8px 0;border:0;white-space:normal;overflow:visible;text-align:left;font-size:14px}.users-table td:before{content:attr(data-label);color:var(--muted)}.users-table td>span{min-width:0;overflow-wrap:anywhere}.users-table td.nowrap{white-space:normal}.users-table td.num{text-align:left;font-variant-numeric:tabular-nums}.users-table .users-actions-cell{display:block;margin-top:8px;padding:12px 0 0;border-top:1px solid var(--border)}.users-table .users-actions-cell:before{display:block;margin-bottom:8px}.users-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.users-actions button{min-width:0;padding:10px 8px}.users-table .users-empty{display:block}.users-table .users-empty:before{content:none}}.gameplay-page{--gp-ink: #243d35;--gp-muted: #76817a;--gp-green: #245b47;--gp-line: #e2e6de;min-height:100vh;min-height:100dvh;background:#f5f6f0;color:var(--gp-ink);padding:0 32px;font-size:14px}.gameplay-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.gameplay-panel{min-width:0;padding:30px;background:#fff;border:1px solid var(--gp-line);border-radius:16px;box-shadow:0 8px 28px #213b2c04}.gameplay-join-panel{display:flex;flex-direction:column}.gameplay-panel-badge{margin-left:auto;padding:4px 9px;border-radius:999px;background:#f0f4ed;color:var(--gp-muted);font-size:11px}.gameplay-label-spaced{margin-top:24px}.gameplay-panel select{width:100%}.gameplay-panel .gameplay-name-list{margin-top:26px}.gameplay-wide-button{width:100%;margin-top:26px}.gameplay-join-panel .gameplay-wide-button{margin-top:auto}.gameplay-code-input{font-size:24px;font-weight:600;letter-spacing:4px;text-transform:uppercase}.gameplay-home-note{margin:18px 0 0;color:var(--gp-muted);font-size:12px;text-align:center}.gameplay-room-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:34px 0 24px}.gameplay-room-heading h1{font-size:27px;font-weight:600}.gameplay-room-heading p{margin-top:9px;color:var(--gp-muted);font-size:12px}.gameplay-room-heading p span{margin:0 8px}.gameplay-quiet-button{min-height:40px!important;padding:8px 12px!important;color:var(--gp-muted)!important;background:transparent!important;font-size:12px!important}.gameplay-lobby{margin-bottom:18px}.gameplay-lobby-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.gameplay-lobby-heading .gameplay-eyebrow{margin-bottom:8px}.gameplay-lobby-heading h2{font-size:18px;font-weight:600}.gameplay-lobby-heading>strong{color:var(--gp-green);font-size:13px}.gameplay-token-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:22px}.gameplay-token-row{display:flex;align-items:center;gap:10px;min-width:0;padding:12px;border:1px solid var(--gp-line);border-radius:10px;background:#fdfdfa}.gameplay-token-row>div{min-width:0;flex:1}.gameplay-token-row strong,.gameplay-token-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gameplay-token-row strong{font-size:13px;font-weight:600}.gameplay-token-row small{margin-top:4px;color:var(--gp-muted);font-size:10px}.gameplay-token{min-height:36px!important;gap:6px!important;padding:6px 8px!important;border-color:#c9d8c2!important;color:var(--gp-green)!important;background:#f3f8ef!important}.gameplay-token b{font-size:17px;letter-spacing:2px;font-variant-numeric:tabular-nums}.gameplay-token svg{width:14px;height:14px}.gameplay-claim{min-width:68px}.gameplay-waiting-panel>p{color:var(--gp-muted);font-size:13px;line-height:1.8}.gameplay-room-error{margin:14px 0 0}@media (max-width: 700px){.gameplay-home-grid{grid-template-columns:1fr;gap:12px}.gameplay-panel{padding:22px 18px;border-radius:14px}.gameplay-join-panel .gameplay-wide-button{margin-top:26px}.gameplay-token-list{grid-template-columns:1fr}.gameplay-room-heading{padding:26px 0 18px}.gameplay-room-heading h1{font-size:23px}.gameplay-room-heading p{font-size:11px}.gameplay-room-heading p span{margin:0 4px}}.gameplay-shell{max-width:1100px;margin:0 auto}.gameplay-page button,.gameplay-page input,.gameplay-page select{font:inherit}.gameplay-page button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;border:1px solid var(--gp-line);border-radius:10px;padding:10px 18px;cursor:pointer;color:var(--gp-ink);background:#fff;touch-action:manipulation}.gameplay-page button:disabled{opacity:.45;cursor:not-allowed}.gameplay-page button:focus-visible,.gameplay-page input:focus-visible,.gameplay-page select:focus-visible{outline:3px solid #98bca5;outline-offset:3px}.gameplay-page button:not(:disabled):hover{filter:brightness(.96)}.gameplay-page input,.gameplay-page select{min-width:0;border:1px solid var(--gp-line);border-radius:8px;padding:12px;background:#fff;color:var(--gp-ink)}.gameplay-page h1,.gameplay-page h2,.gameplay-page h3,.gameplay-page p{margin:0}.gameplay-header{min-height:94px;border-bottom:1px solid var(--gp-line);display:flex;align-items:center;justify-content:space-between;gap:16px}.gameplay-brand{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:600}.gameplay-brand strong{font-size:12px;letter-spacing:2px}.gameplay-brand-mark{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;color:#fff;background:var(--gp-green)}.gameplay-brand-divider{margin:0 12px;font-weight:400;color:#b4bcb3}.gameplay-header-caption{color:var(--gp-muted);font-size:12px;letter-spacing:1px}.gameplay-intro{padding:52px 0 32px}.gameplay-eyebrow{display:block;color:#64836c;font-size:10px;font-weight:700;letter-spacing:2.8px;margin-bottom:14px}.gameplay-intro h1{font-size:clamp(25px,3vw,36px);font-weight:600;letter-spacing:-1px;line-height:1.4}.gameplay-intro p{margin-top:14px;line-height:1.8;color:var(--gp-muted)}.gameplay-setup{display:grid;grid-template-columns:1fr 1.15fr;background:#fff;border:1px solid var(--gp-line);border-radius:18px;overflow:hidden;box-shadow:0 8px 28px #213b2c04}.gameplay-config,.gameplay-roster{padding:30px}.gameplay-config{border-right:1px solid var(--gp-line)}.gameplay-section-heading{display:flex;align-items:center;gap:10px;margin-bottom:28px}.gameplay-section-heading h2{font-size:17px;font-weight:600}.gameplay-step{color:#8c9a8a;font-size:11px;letter-spacing:1px}.gameplay-count-tag{margin-left:auto;padding:4px 9px;border-radius:6px;background:#f3f5ef;font-size:11px;color:var(--gp-muted)}.gameplay-field-label{display:block;font-size:13px;font-weight:600;margin-bottom:10px}.gameplay-config select{width:100%}.gameplay-page .gameplay-field-hint{font-size:12px;color:var(--gp-muted);line-height:1.8;margin:10px 0 24px}.gameplay-duration{display:flex;align-items:center;gap:12px}.gameplay-duration label{position:relative;flex:1;min-width:0}.gameplay-duration input{font-size:24px;font-weight:600;width:100%;padding-right:55px;font-variant-numeric:tabular-nums;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.gameplay-duration input::-webkit-inner-spin-button,.gameplay-duration input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.gameplay-duration label span{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--gp-muted);pointer-events:none}.gameplay-duration-colon{font-size:22px;color:#9ea89e}.gameplay-presets{display:flex;gap:8px;margin-top:12px}.gameplay-presets button{flex:1;padding:7px 6px;min-height:36px;font-size:12px}.gameplay-presets button[aria-pressed=true]{background:#edf4eb;border-color:#b9cdb7;color:var(--gp-green)}.gameplay-note{display:flex;align-items:flex-start;gap:12px;margin-top:26px;padding:16px;border-radius:10px;background:#f5f7f1}.gameplay-note svg{flex-shrink:0;margin-top:2px;width:16px}.gameplay-note strong{display:block;font-size:12px;font-weight:600;margin-bottom:6px}.gameplay-note p span{display:block;color:var(--gp-muted);font-size:12px;line-height:1.7}.gameplay-name-list{display:grid;gap:10px}.gameplay-name-row{display:flex;align-items:center;gap:12px}.gameplay-player-number{display:inline-grid;place-items:center;flex-shrink:0;width:30px;height:30px;border-radius:50%;border:1px solid currentColor;color:var(--player-color);font-size:11px;font-weight:600}.gameplay-name-row input{flex:1;width:100%}.gameplay-order-note{flex-shrink:0;min-width:48px;font-size:11px;color:var(--gp-muted);text-align:right}.gameplay-setup-footer{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 30px;border-top:1px solid var(--gp-line);background:#fdfdfa}.gameplay-setup-footer p{color:var(--gp-muted);font-size:12px;line-height:1.8;overflow-wrap:anywhere}.gameplay-setup-footer strong{color:var(--gp-ink)}.gameplay-page button.gameplay-primary{background:var(--gp-green);color:#fff;border-color:var(--gp-green);min-height:50px;padding:14px 30px;font-size:15px;font-weight:600}.gameplay-setup-footer .gameplay-primary{flex-shrink:0;min-width:200px}.gameplay-setup-footer .gameplay-error{color:#b34032}.gameplay-page-footer{padding:28px 0;display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#899485;letter-spacing:1px}.gameplay-page-footer span:first-child{font-size:9px;letter-spacing:2px}.gameplay-game-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:32px 0 24px}.gameplay-game-heading .gameplay-eyebrow{margin-bottom:8px}.gameplay-game-heading h1{font-size:26px;font-weight:600}.gameplay-game-heading p{margin-top:10px;color:var(--gp-muted);font-size:12px}.gameplay-game-heading p span{margin:0 8px}.gameplay-page .gameplay-reset{font-size:12px;background:transparent}.gameplay-reset svg{width:15px}.gameplay-clock{text-align:center;padding:30px 24px;background:#e8eee0;border:1px solid #d7e0cf;border-radius:20px}.gameplay-status{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:#537146}.gameplay-status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.gameplay-clock h2{font-size:23px;font-weight:500;margin:20px 0 4px;overflow-wrap:anywhere}.gameplay-clock-time{font-size:clamp(68px,11vw,124px);line-height:1.2;letter-spacing:-5px;font-weight:500;font-variant-numeric:tabular-nums}.gameplay-clock-track{max-width:280px;height:4px;border-radius:5px;margin:18px auto;background:#ccd9c4;overflow:hidden}.gameplay-clock-track span{display:block;height:100%;background:#648458}.gameplay-clock-caption{font-size:12px;color:#657c5c;min-height:20px;line-height:1.7;overflow-wrap:anywhere}.gameplay-clock-actions{display:flex;justify-content:center;gap:12px;max-width:520px;margin:24px auto 0}.gameplay-page .gameplay-next{flex:1;min-height:64px;font-size:18px}.gameplay-page .gameplay-pause{padding:14px 24px;border-color:#c6d4be;background:#f5f8f0;min-width:148px}.gameplay-clock.is-paused{background:#f2efe5;border-color:#e5ddc6}.gameplay-clock.is-paused .gameplay-status,.gameplay-clock.is-paused .gameplay-clock-caption{color:#8b774c}.gameplay-clock.is-paused .gameplay-clock-track{background:#e0d8bf}.gameplay-clock.is-paused .gameplay-clock-track span{background:#bfa168}.gameplay-clock.is-low:not(.is-paused) .gameplay-clock-time,.gameplay-clock.is-low:not(.is-paused) .gameplay-status{color:#a34532}.gameplay-clock.is-finished{background:#edf0e8}.gameplay-overview{margin-top:28px}.gameplay-overview-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.gameplay-overview-heading h2{font-size:15px;font-weight:600}.gameplay-overview-heading>span{font-size:11px;color:var(--gp-muted)}.gameplay-player-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.gameplay-player-card{min-width:0;border-radius:12px;border:1px solid var(--gp-line);padding:18px;background:#fff}.gameplay-player-card.is-active{border-color:#86a478;box-shadow:inset 0 0 0 1px #86a478}.gameplay-player-card.is-out{background:#eeefe9}.gameplay-player-card-heading{display:flex;align-items:center;gap:8px}.gameplay-player-card-heading .gameplay-player-number{width:25px;height:25px;font-size:10px}.gameplay-player-card h3{min-width:0;font-size:13px;font-weight:500;overflow-wrap:anywhere}.gameplay-player-state{flex-shrink:0;margin-left:auto;font-size:10px;color:var(--gp-muted)}.gameplay-player-card.is-active .gameplay-player-state{color:var(--gp-green)}.gameplay-player-time{font-size:35px;font-weight:500;letter-spacing:-1px;font-variant-numeric:tabular-nums;margin:18px 0 12px}.gameplay-player-card.is-out .gameplay-player-time{color:#8b9389}.gameplay-player-card-footer{display:flex;justify-content:space-between;gap:8px;color:var(--gp-muted);font-size:10px}@media (max-width: 700px){.gameplay-page{padding:0 18px}.gameplay-header{min-height:76px}.gameplay-header-caption{display:none}.gameplay-intro{padding:32px 0 24px}.gameplay-intro h1{font-size:26px}.gameplay-intro p{font-size:13px}.gameplay-setup{grid-template-columns:1fr}.gameplay-config,.gameplay-roster{padding:24px 20px}.gameplay-config{border-right:none;border-bottom:1px solid var(--gp-line)}.gameplay-section-heading{margin-bottom:20px}.gameplay-setup-footer{padding:20px;flex-direction:column;align-items:stretch;gap:12px}.gameplay-setup-footer .gameplay-primary{width:100%}.gameplay-game-heading{padding:26px 0 20px;align-items:flex-start}.gameplay-game-heading h1{font-size:23px}.gameplay-page .gameplay-reset{padding:9px 10px;gap:6px}.gameplay-game-heading p{font-size:11px}.gameplay-game-heading p span{margin:0 4px}.gameplay-clock{padding:26px 16px 20px}.gameplay-clock h2{font-size:21px;margin-top:22px}.gameplay-clock-time{font-size:clamp(62px,16vw,104px);letter-spacing:-3px}.gameplay-clock-actions{gap:10px}.gameplay-page .gameplay-next{padding:16px;font-size:16px;min-height:60px}.gameplay-page .gameplay-pause{min-width:112px;padding:12px;font-size:13px;gap:8px}.gameplay-overview-heading>span{font-size:10px}.gameplay-player-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gameplay-player-card{padding:14px 12px}.gameplay-player-card-heading{flex-wrap:wrap;gap:6px}.gameplay-player-card h3{flex:1;font-size:12px}.gameplay-player-state{width:100%;margin:0}.gameplay-player-time{margin:10px 0;font-size:32px}.gameplay-page-footer{font-size:9px}}:root{--bg: #f5f6f8;--panel: #ffffff;--border: #e5e7eb;--text: #1f2937;--muted: #6b7280;--primary: #2563eb;--primary-soft: #eff6ff}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text);font-size:14px}a{color:inherit;text-decoration:none}.app{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--panel);border-right:1px solid var(--border);padding:16px 12px;flex-shrink:0}.sidebar-user{margin-top:16px;padding:12px;border-top:1px solid var(--border)}.sidebar-user-name{font-size:13px;font-weight:600;color:var(--text);margin-bottom:8px}.logout-btn{width:100%;color:var(--muted)}.logout-btn:hover{color:#ef4444;border-color:#ef4444}.link-btn{width:100%;color:var(--muted);margin-bottom:8px}.link-btn:hover{color:var(--primary);border-color:var(--primary)}.cp-card{width:100%;max-width:360px;background:var(--panel);border-radius:16px;padding:24px 24px 20px;margin:auto}.cp-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.nav-editor-card{width:100%;max-width:680px;background:var(--panel);border-radius:16px;padding:24px 24px 20px;margin:auto}.nav-editor-hint{color:var(--muted, #8a8f98);font-size:13px;margin:6px 0 14px}.nav-editor-section-title{font-weight:600;font-size:13px;margin:14px 0 6px}.nav-editor-add-cat{margin-bottom:14px}.nav-editor-list{display:flex;flex-direction:column;gap:6px;max-height:40vh;overflow:auto;margin-bottom:14px}.nav-editor-row{display:grid;grid-template-columns:28px 1fr 1fr 62px;gap:8px;align-items:center}.nav-editor-row.nav-editor-row-with-cat{grid-template-columns:28px 1fr 1fr 1fr 62px}.nav-editor-row.nav-editor-row-cat{grid-template-columns:28px 1fr 1fr 90px}.nav-editor-row select{width:100%;box-sizing:border-box}.nav-editor-row.nav-editor-head{font-size:12px;color:var(--muted, #8a8f98);padding:0 2px}.nav-editor-row input{width:100%;box-sizing:border-box}.nav-editor-row.dragging{opacity:.5}.nav-editor-group{border:1px solid var(--border, #e5e7eb);border-radius:10px;padding:8px 10px;margin-bottom:8px}.nav-editor-group-title{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;color:var(--muted, #8a8f98);margin-bottom:6px}.nav-editor-group .nav-editor-row{margin-bottom:6px}.nav-editor-group .nav-editor-row:last-child{margin-bottom:0}.nav-editor-group-empty{font-size:12px;margin:0}.nav-editor-handle{cursor:grab;text-align:center;color:var(--muted, #8a8f98);-webkit-user-select:none;user-select:none;letter-spacing:-2px}.nav-editor-move-col{display:flex;gap:4px}.nav-editor-move-col button{width:28px;padding:4px 0}.nav-editor-move-col button:disabled{opacity:.35;cursor:default}.color-card{max-width:680px}.color-rows{display:flex;flex-direction:column;gap:8px;margin:4px 0 16px;max-height:60vh;overflow:auto}.color-row{display:flex;align-items:center;gap:12px}.color-preview{flex:0 0 88px;min-width:0;padding:6px 10px;border-radius:8px;font-size:13px;font-weight:600;text-align:center;border:1px solid rgba(0,0,0,.06);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.color-label-input{flex:1;min-width:0;padding:6px 10px;font-size:13px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:inherit}.color-head{position:sticky;top:0;background:var(--panel);z-index:1;padding-bottom:2px}.color-head-cell{border:none;background:none;padding:0 2px;font-size:12px;font-weight:600;color:var(--muted);text-align:center}.color-head-color{flex:0 0 48px}.color-field{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.color-field input[type=color]{width:34px;height:28px;padding:0;border:1px solid var(--border);border-radius:6px;background:none;cursor:pointer}.cp-done{color:#16a34a;font-size:14px;margin:12px 0 20px}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%;background:var(--bg);padding:24px}.login-card{width:100%;max-width:360px;background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:32px 28px;box-shadow:0 8px 30px #0000000f}.login-brand{font-size:20px;font-weight:700;margin-bottom:24px}.login-brand small{display:block;font-size:13px;font-weight:400;color:var(--muted);margin-top:6px}.login-field{display:block;margin-bottom:16px}.login-field span{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}.login-field input{width:100%}.login-error{color:#ef4444;font-size:13px;margin-bottom:14px}.login-submit{width:100%;padding:10px;margin-top:4px}.login-submit:disabled{opacity:.6;cursor:not-allowed}.sidebar .brand{font-weight:700;font-size:16px;padding:8px 12px 16px}.sidebar .brand small{display:block;font-weight:400;color:var(--muted);font-size:12px;margin-top:2px}.nav-item{display:block;padding:9px 12px;border-radius:8px;color:var(--muted);margin-bottom:2px}.nav-item:hover{background:var(--bg);color:var(--text)}.nav-item.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.nav-cat{margin-bottom:2px}.nav-cat-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:9px 12px;border-radius:8px;color:var(--muted);background:transparent;border:none;cursor:pointer;font:inherit;text-align:left}.nav-cat-header:hover{background:var(--bg);color:var(--text)}.nav-cat-header.open{color:var(--text);font-weight:600}.nav-cat-arrow{font-size:10px;opacity:.7;margin-left:8px}.nav-sub{margin:2px 0 4px}.nav-subitem{padding-left:24px;font-size:13px}.main{flex:1;padding:24px 32px;overflow:auto}.page-title{font-size:20px;font-weight:700;margin:0 0 20px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:18px}.card .label{color:var(--muted);font-size:13px}.card .value{font-size:28px;font-weight:700;margin-top:8px}.dashboard-user-trend{grid-column:1 / -1;min-width:0;margin-top:10px;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:8px}.dashboard-user-trend-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.dashboard-user-trend h2{font-size:16px;margin:0}.dashboard-user-trend select{min-width:112px;color:var(--text);background:var(--panel)}.dashboard-user-trend-chart{width:100%;min-width:0}.dashboard-user-trend-mobile{display:none}.dashboard-user-trend .recharts-text{font-size:11px}.dashboard-user-trend .recharts-legend-item-text{font-size:12px}@media (max-width: 1100px){.dashboard-user-trend-desktop{display:none}.dashboard-user-trend-mobile{display:block}}.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px}.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:16px;flex-wrap:wrap}select,input,button{font:inherit;padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:#fff}button{cursor:pointer}button.primary{background:var(--primary);color:#fff;border-color:var(--primary)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap;max-width:320px;overflow:hidden;text-overflow:ellipsis}th{color:var(--muted);font-weight:600;background:var(--bg)}.table-wrap{overflow:auto}.pagination-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:14px;font-size:13px}.pagination-controls{display:flex;align-items:center;gap:16px}.pagination-size{display:flex;align-items:center;gap:6px}.pagination-nav{display:flex;align-items:center;gap:8px}.muted{color:var(--muted)}.error{color:#dc2626}.venue-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.venue-subtitle{color:var(--muted);margin:6px 0 0;font-size:13px}.venue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.venue-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 3px #0000000a}.venue-card.sortable{cursor:grab;-webkit-user-select:none;user-select:none}.venue-card.dragging{opacity:.5;box-shadow:0 8px 24px #0000002e}.drag-handle{position:absolute;top:12px;right:14px;font-size:16px;letter-spacing:-2px;opacity:.85}.sort-hint{margin:0 0 14px;padding:10px 14px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:10px;color:#047857;font-size:13px}.venue-card-top{position:relative;padding:22px 20px 24px;color:#fff;background:linear-gradient(135deg,#16a34a,#15803d)}.venue-name{font-size:20px;font-weight:700}.venue-addr{margin-top:8px;font-size:13px;opacity:.92;display:flex;align-items:center;gap:5px}.venue-addr .pin{font-size:12px}.venue-badge{position:absolute;top:20px;right:20px;background:#ffffff38;border:1px solid rgba(255,255,255,.4);color:#fff;padding:3px 10px;border-radius:999px;font-size:12px}.venue-badge.closed{background:#00000040;border-color:#ffffff4d}.venue-card-body{padding:16px 20px 18px;display:flex;flex-direction:column;gap:14px}.venue-hours{color:var(--text);font-size:13px;display:flex;align-items:center;gap:6px}.court-chips{display:flex;flex-wrap:wrap;gap:8px}.court-chip{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0;border-radius:8px;padding:4px 10px;font-size:12px}.venue-actions{display:flex;gap:8px;margin-top:4px}.venue-actions button{flex:1;background:var(--bg);border:1px solid var(--border);color:var(--muted);font-size:12px;padding:8px 4px}.venue-actions button:hover{color:var(--text)}.venue-actions button.danger{color:#d33a3a;border-color:#f0c4c4}.venue-actions button.danger:hover{color:#fff;background:#d33a3a;border-color:#d33a3a}.venue-actions button.danger:disabled{opacity:.6;cursor:default}.section-head button.danger{color:#d33a3a;border-color:#f0c4c4}.section-head button.danger:hover{color:#fff;background:#d33a3a;border-color:#d33a3a}.section-head button.danger:disabled{opacity:.6;cursor:default}.drawer-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a59;display:flex;justify-content:flex-end;z-index:50}.drawer-mask.center{justify-content:center;align-items:center}.coach-fee-modal{width:min(1200px,96vw);max-height:88vh;background:var(--panel);border-radius:8px;overflow:hidden;box-shadow:0 18px 42px #0f172a3d}.coach-fee-modal-body{max-height:calc(88vh - 68px);overflow:auto;padding:20px}.fin-daily-cell{padding:0!important}.fin-daily-cell>button{width:100%;min-height:54px;padding:8px 10px;border:0;border-radius:0;color:inherit;background:transparent;text-align:right}.fin-daily-cell>button:hover,.fin-daily-cell>button:focus-visible{background:#eef8f0;outline:2px solid #16a34a;outline-offset:-2px}.fin-daily-cell>button small{display:block;margin-top:2px;color:var(--muted);font-size:11px;white-space:nowrap}.financial-detail-modal{width:min(1320px,96vw)}.financial-detail-content h3{margin:4px 0 10px}.financial-detail-content h3:not(:first-child){margin-top:24px}.financial-detail-table{min-width:1280px}.financial-related-refunds{display:flex;flex-direction:column;gap:4px;color:#b91c1c;font-size:12px}.financial-related-refunds>div{display:flex;gap:8px;white-space:nowrap}.financial-detail-order{max-width:220px;overflow-wrap:anywhere}.financial-detail-refund-row td{color:#b91c1c}.coach-fee-detail-table .coach-fee-refund-row td,.coach-fee-detail-table .coach-fee-refund-spot{color:#b91c1c;text-decoration:line-through;text-decoration-color:#dc2626;text-decoration-thickness:1px}.drawer{width:520px;max-width:92vw;height:100%;background:var(--panel);display:flex;flex-direction:column;box-shadow:-4px 0 24px #0000001f;animation:drawer-in .18s ease-out}@keyframes drawer-in{0%{transform:translate(24px);opacity:.6}to{transform:translate(0);opacity:1}}.drawer-head{position:relative;padding:20px 22px 16px;color:#fff;background:linear-gradient(135deg,#16a34a,#15803d)}.drawer-title{font-size:18px;font-weight:700;display:flex;align-items:center;gap:8px}.drawer-dot{width:10px;height:10px;border-radius:3px;background:#ffffffd9}.drawer-sub{margin-top:6px;font-size:12px;opacity:.9}.drawer-close{position:absolute;top:16px;right:16px;width:28px;height:28px;padding:0;border-radius:8px;background:#fff3;border:none;color:#fff;font-size:18px;line-height:1}.venue-badge.inline{position:static;margin-left:4px;font-size:11px}.drawer-tabs{display:flex;gap:4px;padding:8px 14px 0;border-bottom:1px solid var(--border)}.drawer-tab{border:none;background:transparent;color:var(--muted);padding:10px 12px;border-bottom:2px solid transparent;border-radius:0}.drawer-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.drawer-tab:disabled{color:#cbd5e1;cursor:default}.drawer-body{padding:18px 22px 32px;overflow:auto;flex:1}.hw-actions{display:flex;gap:12px;margin:14px 0 10px}.hw-actions button{min-width:88px}.hw-tag{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600}.hw-tag-on{color:#0f7a4d;background:#d6f3e4}.hw-tag-off{color:#8a8f99;background:#eceef1}.hw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.hw-card{border:1px solid var(--border);border-radius:12px;padding:16px 18px;background:#fff}.hw-card-head{margin-bottom:12px}.hw-card-title{font-weight:700;font-size:15px}.hw-card-sub{color:var(--muted);font-size:12px;margin-top:2px;display:flex;align-items:center}.hw-device-list{display:flex;flex-direction:column;gap:10px}.hw-device-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hw-device-name{min-width:40px;font-weight:600}.hw-device-status{min-width:80px}.hw-device-status .hw-tag{font-size:16px;padding:5px 14px;border-radius:12px}.hw-hours{padding:4px 6px}.hw-device-row button{min-width:40px;padding:3px 8px;font-size:12px}.hw-sched{margin-top:12px;padding-top:10px;border-top:1px dashed #e2e5ea;display:flex;flex-direction:column;gap:6px}.hw-daywin{margin:12px 0 16px;padding:12px 14px;border:1px solid #e2e5ea;border-radius:8px;background:#fafbfc}.hw-daywin-title{font-weight:600;font-size:14px;margin-bottom:8px}.hw-daywin-form{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hw-daywin-field{display:flex;align-items:center;gap:6px;font-size:13px}.hw-daywin-field input{width:70px}.hw-daywin-hint{margin:8px 0 0;font-size:12px;color:#6b7280;line-height:1.6}.hw-sched-title{font-weight:600;font-size:13px}.hw-sched-form{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.hw-sched-time{padding:4px 6px;font-size:12px}.hw-sched-form button{min-width:40px;padding:3px 8px;font-size:12px}.hw-sched-list{display:flex;flex-direction:column;gap:4px}.hw-sched-item{display:flex;align-items:center;gap:8px;font-size:12px;flex-wrap:wrap}.hw-sched-when{font-weight:600;min-width:84px}.hw-sched-meta{color:#6b7280}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-title{font-weight:700}.section-actions{display:flex;gap:8px}.field{margin-bottom:14px}.field-label{font-size:12px;color:var(--muted);margin-bottom:6px}.field input{width:100%}.field input:read-only,.field input:disabled{background:var(--bg);color:var(--text)}.readonly-value{padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:14px;min-height:20px}.checkbox-list,.checkbox-group{display:flex;flex-wrap:wrap;gap:8px 16px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#fff}.checkbox-item{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--text);cursor:pointer}.checkbox-item input{width:auto;margin:0}.field textarea{width:100%;resize:vertical;font:inherit;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text)}.field textarea:read-only{background:var(--bg)}.venue-card-top.coach-top{display:flex;gap:14px;align-items:center}.coach-avatar{flex:0 0 auto;width:60px;height:60px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#ffffff40;color:#fff;font-size:22px;font-weight:600}.coach-avatar img{width:100%;height:100%;object-fit:cover}.coach-headinfo{min-width:0}.coach-desc{font-size:13px;color:var(--muted);line-height:1.5;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.img-box.avatar{width:130px;height:130px;border-radius:50%}.coach-labels{display:flex;flex-wrap:wrap;gap:8px}.label-chip{padding:5px 12px;border:1px solid var(--border, #d1d5db);border-radius:999px;background:#fff;color:var(--text, #374151);font-size:13px;cursor:pointer;transition:all .15s ease}.label-chip.active{background:#10b981;border-color:#10b981;color:#fff}.label-chip:disabled{cursor:not-allowed;opacity:.55}.label-chip.active:disabled{opacity:1}.coach-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.coach-tag{padding:2px 9px;border-radius:999px;background:#10b9811f;color:#059669;font-size:12px}.label-mgr-add,.label-mgr-row{display:flex;gap:8px;align-items:center;margin-bottom:10px}.label-mgr-add input,.label-mgr-row input{flex:1;min-width:0}.label-mgr-row button.danger{color:#dc2626;border-color:#fca5a5}.gc-banner{position:relative;width:100%;aspect-ratio:740 / 380;background:linear-gradient(135deg,#34d399,#10b981);display:flex;align-items:center;justify-content:center;color:#fff;overflow:hidden}.gc-banner>img:first-child{width:100%;height:100%;object-fit:cover}.gc-card-thumb{position:absolute;left:16px;bottom:-22px;width:64px;height:64px;border-radius:12px;object-fit:cover;border:3px solid #fff;box-shadow:0 2px 6px #0000002e}.court-chip.label{background:#eef2ff;color:#4338ca;border-color:#c7d2fe}.venue-check-list{display:flex;flex-direction:column;gap:6px}.venue-check{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:14px}.venue-check.on{background:#eef2ff;border-color:#c7d2fe;color:#4338ca}.venue-check input{width:auto;margin:0}.switch-row{display:flex;align-items:center;gap:8px;cursor:pointer}.switch-row input{width:auto;margin:0}.field-row{display:flex;gap:12px}.field-row .field{flex:1}.pricing-tabs{margin-bottom:20px}.pricing-page .venue-head{flex-wrap:wrap;gap:12px}.pricing-page .venue-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}.pricing-page .venue-name,.pricing-page .court-chip{overflow-wrap:anywhere}.pricing-drawer .field{min-width:0}.pricing-drawer .drawer-title{overflow-wrap:anywhere;padding-right:24px}.pricing-date-list{display:grid;gap:8px}.pricing-date-row{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:8px}.pricing-date-row input{min-width:0}.pricing-date-row button{width:36px;height:36px;padding:0;font-size:20px}.pricing-add-date{justify-self:start}@media (max-width: 480px){.pricing-drawer .field-row{flex-direction:column;gap:0}}.hour-picker{display:flex;align-items:center;gap:4px}.hour-picker select{flex:1}.hour-picker-min{color:var(--muted, #888);font-variant-numeric:tabular-nums}.toggle-two.three{flex-wrap:wrap}.label-chips{display:flex;flex-wrap:wrap;gap:8px}.label-chips .toggle-opt{padding:6px 12px}.form-errors{border:1px solid #fca5a5;background:#fef2f2;border-radius:8px;padding:10px 12px}.form-errors ul{margin:6px 0 0;padding-left:18px}.form-errors li{margin:2px 0}.img-box.gc-card{width:148px;height:148px}.img-box.gc-banner-box{width:100%;max-width:296px;height:152px}.product-thumb{position:relative;width:100%;aspect-ratio:1 / 1;border-radius:12px 12px 0 0;overflow:hidden;background:linear-gradient(135deg,#34d399,#10b981);display:flex;align-items:center;justify-content:center;color:#fff}.product-thumb img{width:100%;height:100%;object-fit:cover}.product-thumb .venue-badge{position:absolute;top:10px;right:10px}.product-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;font-size:14px;color:var(--text)}.img-box.product-main{width:148px;height:148px}.carousel-grid{display:flex;flex-wrap:wrap;gap:10px}.carousel-item{position:relative;width:148px;height:112px;border-radius:10px;overflow:hidden;border:1px solid var(--border)}.carousel-item img{width:100%;height:100%;object-fit:cover}.carousel-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;padding:0;border:none;border-radius:50%;background:#0000008c;color:#fff;font-size:15px;line-height:22px;cursor:pointer}.img-box.carousel-add{width:148px;height:112px;background:#f8fafc;color:var(--muted);border-style:dashed}.tag-editor{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.tag-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:14px;background:#eef2f7;color:var(--text, #1f2329);font-size:13px;line-height:1.2}.tag-chip-remove{padding:0;border:none;background:transparent;color:var(--muted);font-size:15px;line-height:1;cursor:pointer}.tag-input{flex:1;min-width:120px}.time-row{display:flex;align-items:center;gap:10px}.time-row input{flex:1}.time-row .dash{color:var(--muted)}.toggle-two{display:flex;gap:10px}.lang-toggle{margin:4px 0 14px}.lang-toggle .toggle-opt{padding:5px 12px;font-size:13px}.head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.head-actions .lang-toggle{margin:0}.head-actions button.danger{color:#d33a3a;border:1px solid #f0c4c4;background:#fff;border-radius:8px;padding:0 16px;height:36px;cursor:pointer}.head-actions button.danger:hover{color:#fff;background:#d33a3a;border-color:#d33a3a}.head-actions button.danger:disabled{opacity:.6;cursor:default}.bean-wl-input{height:36px;padding:0 12px;border:1px solid #d5d8de;border-radius:8px;font-size:14px;background:#fff;color:#1f2329}.bean-wl-input:focus{outline:none;border-color:#2f6bff}.toggle-opt{display:flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--muted)}.toggle-opt .dot{width:8px;height:8px;border-radius:50%;background:#cbd5e1}.toggle-opt.active{border-color:#16a34a;color:#15803d;background:#ecfdf5}.toggle-opt.active .dot{background:#16a34a}.toggle-opt:disabled{cursor:default}.img-box{position:relative;display:flex;align-items:center;justify-content:center;width:200px;height:130px;border:1px dashed var(--border);border-radius:10px;overflow:hidden;background:linear-gradient(135deg,#34d399,#10b981);color:#fff}.img-box img{width:100%;height:100%;object-fit:cover}.img-box.booking-card{width:290px;height:100px}.img-box.booking-banner{width:272px;height:160px}.img-placeholder{font-size:13px}.img-box.editable{cursor:pointer;border-color:var(--primary)}.img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000052;font-size:13px;color:#fff}.cropper-mask{z-index:60;justify-content:center;align-items:center;overflow-y:auto;padding:24px 16px}.cropper{background:#fff;border-radius:14px;padding:20px;max-width:620px;width:calc(100% - 32px);max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 18px 48px #00000047}.cropper-title{font-size:16px;font-weight:600;color:var(--text)}.cropper-stage{position:relative;margin:0 auto;background:#10131a;border-radius:8px;overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:none}.cropper-stage img{pointer-events:none;-webkit-user-drag:none}.cropper-box{position:absolute;box-sizing:border-box;border:2px solid #fff;box-shadow:0 0 0 9999px #00000073;cursor:move;touch-action:none}.cropper-box.round{border-radius:50%}.cropper-box.round .cropper-handle{right:6px;bottom:6px}.cropper-preview-box.round{border-radius:50%}.cropper-handle{position:absolute;right:-8px;bottom:-8px;width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid var(--brand, #2b6cff);cursor:nwse-resize;touch-action:none}.cropper-preview{margin-top:14px}.cropper-preview-label{font-size:12px;color:var(--muted, #8a92a6);margin-bottom:6px}.cropper-preview-box{border-radius:8px;border:1px solid var(--border);background-color:#10131a}.cropper-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.cropper-actions button{padding:8px 18px;border-radius:8px;border:1px solid var(--border);background:#fff;cursor:pointer;font-size:14px}.cropper-actions button.primary{background:var(--brand, #2b6cff);border-color:var(--brand, #2b6cff);color:#fff}.cropper-actions button:disabled{opacity:.6;cursor:default}.filter-bar{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.chip-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.filter-spacer{flex:1}.chip{padding:6px 14px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--muted);font-size:13px}.chip.active{background:#16a34a;border-color:#16a34a;color:#fff}.filter-select{min-width:130px}.date-field{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.date-field input{padding:6px 8px}.data-table .num{text-align:right}.data-table td .sub{color:var(--muted);font-size:12px}.data-table td.nowrap{white-space:nowrap}.pco-spots{display:flex;flex-direction:column;gap:4px;min-width:200px}.pco-spots-head{font-size:12px;font-weight:600;color:var(--muted)}.pco-booking{display:flex;align-items:center;gap:6px;font-size:13px;flex-wrap:wrap}.pco-booking.refunded .pco-name,.pco-booking.refunded .pco-amount{text-decoration:line-through;color:var(--muted)}.pco-name{font-weight:600}.pco-gift{font-size:12px;color:var(--muted)}.pco-amount{color:#444}.pco-tag{font-size:11px;padding:1px 6px;border-radius:10px;white-space:nowrap}.pco-tag--paid{background:#e6f6ec;color:#1a8a4a}.pco-tag--refund{background:#fdeaea;color:#d33a3a}.redeem-log{display:flex;flex-direction:column;gap:2px;max-height:120px;overflow-y:auto}.redeem-log-item{font-size:12px;color:var(--muted);white-space:nowrap}.data-table button.danger{color:#d33a3a;border-color:#f0c4c4}.data-table button.danger:hover{color:#fff;background:#d33a3a;border-color:#d33a3a}.data-table button.danger:disabled{opacity:.6;cursor:default}.cat-tag,.status-tag{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;white-space:nowrap}.cat-tag{background:#eef2ff;color:#4338ca}.cat-tag.cat-booking{background:#ecfdf5;color:#047857}.cat-tag.cat-open_match{background:#eff6ff;color:#1d4ed8}.cat-tag.cat-training{background:#fef3c7;color:#b45309}.cat-tag.cat-event{background:#fae8ff;color:#a21caf}.cat-tag.cat-recharge{background:#f1f5f9;color:#475569}.cat-tag.cat-other{background:#f3f4f6;color:#4b5563}.status-tag.st-paid{background:#ecfdf5;color:#047857}.status-tag.st-pending{background:#fef9c3;color:#a16207}.status-tag.st-refunded{background:#fee2e2;color:#b91c1c}.status-tag.st-auto_refunded{background:#ffedd5;color:#c2410c}.status-tag.st-cancelled{background:#f1f5f9;color:#64748b}.status-tag.st-refund_processing{background:#fef9c3;color:#a16207}.status-tag.st-refund_failed,.status-tag.st-payment_failed{background:#fee2e2;color:#b91c1c}.status-tag.st-verification_failed{background:#f1f5f9;color:#475569}.status-tag.st-partial_refunded,.status-tag.st-refund_success{background:#ffedd5;color:#c2410c}.order-wechat-details{font-size:12px;margin-top:6px;width:250px;white-space:normal;overflow-wrap:anywhere}.order-wechat-details summary{cursor:pointer;color:#475569}.order-wechat-details>div{margin-top:8px}.order-refund-history{margin-top:6px;width:270px;white-space:normal;overflow-wrap:anywhere}.pager{display:flex;align-items:center;gap:14px;margin-top:16px;justify-content:center}.pager button:disabled{opacity:.5;cursor:default}.seg-tabs{display:inline-flex;gap:4px;margin-bottom:16px;background:#eef2f8;padding:4px;border-radius:10px}.seg-tab{border:none;background:transparent;color:#475569;padding:7px 18px;border-radius:7px;font-size:13px;cursor:pointer}.seg-tab.active{background:#fff;color:#0f172a;font-weight:600;box-shadow:0 1px 2px #0f172a1f}.slot-pick{display:flex;align-items:center;gap:10px}.slot-value{flex:1;font-size:13px;color:var(--text, #111);padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#f8fafc}.slot-value.empty{color:var(--muted)}.picker{position:relative;width:min(960px,96vw);max-height:92vh;margin:4vh auto;background:#fff;border-radius:14px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000040}.picker-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.picker-filters{padding:12px 20px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.picker-filters .chip-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.picker-date{padding:6px 8px;border:1px solid var(--border);border-radius:999px;font-size:13px;color:var(--muted)}.picker-legend{display:flex;flex-wrap:wrap;gap:12px;padding:8px 20px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--border)}.picker-legend .leg{display:inline-flex;align-items:center;gap:5px}.picker-legend .leg:before{content:"";width:12px;height:12px;border-radius:3px;display:inline-block}.picker-legend .cell-available:before{background:#dcfce7;border:1px solid #16a34a}.picker-legend .cell-historical:before{background:#111827}.picker-legend .cell-full:before{background:#e2e8f0}.picker-legend .cell-training:before{background:#fef3c7}.picker-legend .cell-package:before{background:#ffe4d6}.picker-legend .cell-private:before{background:#ccfbf1}.picker-legend .cell-opengame:before{background:#dbeafe}.picker-body{flex:1;overflow:auto;padding:12px 20px 20px}.sched-scroll{overflow:auto}.sched-table{border-collapse:separate;border-spacing:0;font-size:12px;min-width:100%}.sched-table th,.sched-table td{border:1px solid var(--border);padding:4px 6px;text-align:center;white-space:nowrap}.sched-table thead th{position:sticky;top:0;background:#f8fafc;z-index:2}.sched-venue{font-weight:600;color:var(--text, #111)}.sched-court{font-size:11px;color:var(--muted)}.sched-time-col{position:sticky;left:0;background:#f8fafc;font-weight:600;z-index:1}.sched-cell{color:#64748b;min-width:68px}.sched-cell.cell-available{background:#dcfce7;color:#15803d}.sched-cell.cell-historical{background:#111827;color:#fff}.sched-cell.cell-available.pickable,.sched-cell.cell-historical.pickable{cursor:pointer}.sched-cell.cell-available.pickable:hover,.sched-cell.cell-historical.pickable:hover{background:#16a34a;color:#fff}.sched-cell.cell-full{background:#e2e8f0}.sched-cell.cell-training{background:#fef3c7;color:#b45309}.sched-cell.cell-package{background:#ffe4d6;color:#c2410c}.sched-cell.cell-private{background:#ccfbf1;color:#0f766e}.sched-cell.cell-event{background:#fae8ff;color:#a21caf}.sched-cell.cell-opengame{background:#dbeafe;color:#1d4ed8}.sched-vis{display:inline;margin-left:4px;font-size:10px;line-height:1.2;font-weight:600;opacity:.9}.sched-vis.vis-private{color:#ca8a04}.sched-vis.vis-public{color:#047857}.sched-cell.cell-expired,.sched-cell.cell-closed{background:#f1f5f9;color:#cbd5e1}.sched-cell.selected{background:#6366f1!important;color:#fff!important;font-weight:600}.picker-hint{padding:6px 16px;font-size:12px;color:#64748b}.picker-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--border);flex-wrap:wrap}.picker-sel{font-size:13px;color:#1e293b;font-weight:600}.picker-sel.empty{color:#94a3b8;font-weight:400}.picker-foot-actions{display:flex;gap:8px}.sched-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn{border:1px solid var(--border);background:#fff;border-radius:8px;padding:7px 14px;cursor:pointer}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-danger{background:#dc2626;color:#fff;border-color:#dc2626}.btn-ghost{background:#fff;color:var(--text, #111)}.sched-cell.cell-booked{background:#e0e7ff;color:#4338ca}.sched-cell.cell-pending{background:#cffafe;color:#0e7490}.sched-cell.cell-selected{outline:3px solid #dc2626;outline-offset:-3px;font-weight:700}.picker-legend .cell-booked:before{background:#e0e7ff}.picker-legend .cell-pending:before{background:#cffafe}.picker-legend .cell-event:before{background:#fae8ff}.picker-legend .cell-closed:before{background:#f1f5f9;border:1px solid #cbd5e1}.picker-legend .cell-taikoo_play:before{background:#fee2e2}.picker-legend .cell-expired:before{background:#f1f5f9}.slot-detail .drawer-body{display:flex;flex-direction:column;gap:10px}.detail-row{display:flex;gap:12px;font-size:13px}.detail-k{width:56px;color:var(--muted);flex:none}.detail-v{color:var(--text, #111)}.schedule-remark-field{display:flex;flex-direction:column;gap:6px;margin-top:12px;font-size:13px;color:var(--muted)}.schedule-remark-field textarea{min-height:64px;resize:vertical;font:inherit;padding:8px 10px;border:1px solid var(--border);border-radius:6px;color:var(--text)}.detail-orders{margin-top:6px;border-top:1px solid var(--border);padding-top:10px}.detail-card{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:#f8fafc;display:flex;flex-direction:column;gap:6px}.detail-card-title{font-weight:600}.detail-orders-title{font-weight:600;margin-bottom:8px}.detail-order{border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin-bottom:8px}.detail-order.refundable{cursor:pointer;transition:border-color .15s,background .15s}.detail-order.refundable:hover{border-color:#b91c1c;background:#fef2f2}.detail-order-refund{margin-left:auto;font-size:12px;font-weight:600;color:#b91c1c}.detail-order-main{display:flex;align-items:center;gap:8px}.detail-order-sub{font-size:12px;color:var(--muted);margin-top:2px}.order-tag{font-size:11px;padding:1px 7px;border-radius:999px}.order-paid{background:#dcfce7;color:#15803d}.order-refunded{background:#fee2e2;color:#b91c1c}.order-other{background:#e2e8f0;color:#475569}.drawer-foot{display:flex;gap:8px;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--border)}.confirm-box{position:relative;z-index:1;background:var(--panel, #fff);border-radius:14px;padding:22px;width:min(520px,92vw);max-height:82vh;overflow:auto;box-shadow:0 24px 60px #0003}.confirm-box h3{margin:0 0 12px}.confirm-box .warn{color:#b45309;font-weight:600}.confirm-items{margin:10px 0;border:1px solid var(--border);border-radius:8px;overflow:hidden}.confirm-item{display:grid;grid-template-columns:1.2fr 1fr 1fr .8fr;gap:8px;padding:7px 10px;font-size:12px;border-top:1px solid var(--border)}.confirm-item:first-child{border-top:none}.confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.toast{position:fixed;left:50%;bottom:40px;transform:translate(-50%);background:#111827eb;color:#fff;padding:10px 18px;border-radius:10px;z-index:60;font-size:13px;animation:toastFade 2.6s forwards}@keyframes toastFade{0%{opacity:0}10%{opacity:1}85%{opacity:1}to{opacity:0}}.feedback-form{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:18px;max-width:640px;margin-bottom:24px}.feedback-filter{display:flex;justify-content:flex-end;margin-bottom:12px}.feedback-filter-opt{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.feedback-kind{display:flex;gap:10px;margin-bottom:16px}.feedback-form .req{color:#dc2626}.feedback-actions{margin-top:6px}.feedback-list{display:flex;flex-direction:column;gap:12px;max-width:720px}.feedback-item{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.feedback-item-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.feedback-badge{font-size:12px;padding:2px 10px;border-radius:999px;font-weight:600}.feedback-badge.bug{background:#fef2f2;color:#dc2626}.feedback-badge.suggestion{background:var(--primary-soft);color:var(--primary)}.feedback-name{font-weight:600;color:var(--text)}.feedback-time{margin-left:auto;font-size:12px;color:var(--muted)}.feedback-delete{border:1px solid #fecaca;background:#fef2f2;color:#dc2626;font-size:12px;padding:3px 10px;border-radius:6px;cursor:pointer}.feedback-delete:hover{background:#dc2626;color:#fff;border-color:#dc2626}.feedback-content{font-size:14px;color:var(--text);line-height:1.55;white-space:pre-wrap;word-break:break-word}.feedback-status{display:flex;flex-wrap:wrap;gap:18px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--border)}.feedback-status-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.feedback-status-label{font-size:12px;color:var(--muted);margin-right:2px}.feedback-status .toggle-opt{padding:4px 12px;font-size:12px}.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;white-space:nowrap}.pill-normal{background:#eef7ee;color:#3a9d4a}.pill-cancelled{background:#fdecea;color:#d64031}.pill-expired{background:#f0f0f0;color:#888}.transfer-options{display:flex;flex-direction:column;gap:8px;margin:12px 0;max-height:240px;overflow-y:auto}.transfer-option{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer}.transfer-option:hover{background:#f8fafc}.detail-order.host-card .detail-order-main{justify-content:flex-start;gap:8px;flex-wrap:wrap}.btn.btn-sm{padding:3px 10px;font-size:12px}.host-transfer-btn{margin-left:auto}.detail-match-group{margin-bottom:12px}.detail-match-label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:6px}.detail-match-time{font-weight:400}.fin-filters{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end;margin-bottom:20px}.fin-field{display:flex;flex-direction:column;gap:4px;font-size:13px}.fin-field>span{color:#6b7280}.fin-field input,.fin-field select{padding:7px 10px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;min-width:160px;background:#fff}.fin-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:20px;align-items:start}@media (max-width: 900px){.fin-grid{grid-template-columns:1fr}}.fin-panel{min-width:0;border-radius:12px;padding:18px 20px;border:1px solid #e5e7eb}.fin-panel--left{background:#f2f8ff;border-color:#d6e6fb}.fin-panel--right{background:#fdf6ec;border-color:#f3e2c4}.fin-panel-title{font-size:16px;margin:0 0 4px}.fin-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.fin-panel-head .fin-panel-title{margin:0}.fin-panel-head button{flex:0 0 auto}.fin-income-filter{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;padding:12px 0 14px;color:var(--muted);font-size:13px}.fin-income-filter>span{font-weight:600}.fin-income-filter label{display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:var(--text)}.fin-income-filter input{width:auto;min-width:0;margin:0}.fin-note{font-size:12px;color:#94a3b8;margin:0 0 14px}.coach-fee-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}.coach-fee-chart{min-width:0;padding:16px 14px 10px;border:1px solid #dfe6ea;border-radius:8px;background:#fff}.coach-fee-chart--wide{grid-column:1 / -1}.coach-fee-chart h2{margin:0 0 8px;font-size:15px;letter-spacing:0;color:#24313a}.coach-fee-chart-body{height:310px;min-width:0}.coach-fee-chart--wide .coach-fee-chart-body{height:350px}.coach-fee-chart-state{display:grid;height:100%;place-items:center;color:var(--muted);font-size:13px}.coach-fee-chart .recharts-text{font-size:11px;fill:#65737d}.coach-fee-chart .recharts-legend-item-text{font-size:12px}@media (max-width: 900px){.coach-fee-charts{grid-template-columns:minmax(0,1fr)}.coach-fee-chart--wide{grid-column:auto}.coach-fee-chart-body,.coach-fee-chart--wide .coach-fee-chart-body{height:320px}}.fin-table{width:100%;border-collapse:collapse;font-size:13px}.fin-table th,.fin-table td{padding:8px 10px;text-align:left;border-bottom:1px solid #e8eef6}.fin-table th{color:#64748b;font-weight:600;font-size:12px}.fin-daily-table-wrap{max-height:min(70vh,720px)}.fin-daily-table-wrap .fin-table{border-collapse:separate;border-spacing:0}.fin-daily-table-wrap thead th{position:sticky;top:0;z-index:2;background:var(--bg);box-shadow:0 1px 0 var(--border)}.fin-num{text-align:right;font-variant-numeric:tabular-nums}.fin-total-row td{font-weight:700;background:#e4f0ff}.fin-coach-fee-row td{border-top:3px solid #334155;font-weight:700}.fin-group-row td{font-weight:600}.fin-sub-row td:first-child{color:#64748b}.fin-refund-row td{color:#d64031}.fin-block{background:#fff;border:1px solid #f0e6d2;border-radius:10px;padding:12px 14px;margin-bottom:14px}.fin-block-title{font-weight:600;margin-bottom:8px;font-size:14px}.fin-kv{display:flex;justify-content:space-between;padding:4px 0;font-size:13px;color:#475569}.fin-kv b{color:#1f2937;font-variant-numeric:tabular-nums}.topbar{display:none;position:sticky;top:0;z-index:40;align-items:center;gap:12px;height:52px;padding:0 14px;background:var(--panel);border-bottom:1px solid var(--border)}.topbar-title{font-weight:700;font-size:15px}.topbar-burger{display:flex;flex-direction:column;justify-content:center;gap:4px;width:38px;height:38px;padding:0;border:1px solid var(--border);border-radius:8px;background:#fff}.topbar-burger span{display:block;width:18px;height:2px;margin:0 auto;background:var(--text);border-radius:2px}.sidebar-backdrop{display:none}@media (max-width: 768px){.app{flex-direction:column}.topbar{display:flex}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;z-index:45}.sidebar{position:fixed;top:0;left:0;bottom:0;width:250px;max-width:82vw;z-index:46;overflow-y:auto;transform:translate(-100%);transition:transform .2s ease-out;box-shadow:2px 0 16px #0000001f}.sidebar.open{transform:translate(0)}.main{padding:16px 14px}.page-title{font-size:18px;margin-bottom:14px}.cards{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.toolbar{gap:6px;margin-bottom:12px}.toolbar input,.toolbar select{flex:1 1 auto;min-width:0}.drawer{width:100%;max-width:100vw}table{font-size:12px}th,td{padding:6px 8px;max-width:200px}}.pricing-verification .filter-bar{align-items:center;flex-wrap:wrap}.pricing-verification input{min-width:240px}.pricing-verification td{vertical-align:top}.pricing-verification details{margin-top:6px}.pricing-verification summary{cursor:pointer}.pricing-rule-version{max-width:520px;margin-top:12px;overflow-wrap:anywhere}.pricing-rule-version code{font-size:12px}.venue-record-id{overflow-wrap:anywhere;font-size:12px}.venue-delete-drawer .drawer-title{margin:0;padding-right:24px}.venue-delete-references{margin:0}.venue-delete-references>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--border, #e2e8f0)}.venue-delete-references dd{margin:0;font-variant-numeric:tabular-nums}.venue-delete-drawer .drawer-footer{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding:16px 22px;border-top:1px solid var(--border)}.venue-delete-drawer button.danger{color:#fff;background:#dc2626;border-color:#dc2626}.venue-delete-drawer button.danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.venue-delete-drawer button.danger:disabled{opacity:.5;cursor:not-allowed}.app{--bg: #f4f6fa;--panel: #fff;--border: #dfe5ee;--text: #243248;--muted: #64748b;--primary: #2563eb;--primary-soft: #eaf1ff;--page-heading-bg: #00bcc5;--page-tools-bg: #f0cc52;--sidebar-bg: #142238;--sidebar-text: #bac8da;background:var(--bg);line-height:1.5}.app button,.app input,.app select,.app textarea{color:inherit}.app button{transition:background-color .15s,border-color .15s,color .15s}.app button:disabled{cursor:not-allowed;opacity:.5}.app :is(button,a,input,select,textarea):focus-visible{outline:3px solid #60a5fa;outline-offset:3px}.app button.primary,.app .btn-primary{color:#fff;box-shadow:0 2px 4px #2563eb1a}.app button.primary:hover:not(:disabled),.app .btn-primary:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.app .btn-danger{color:#fff}.app .sidebar{position:sticky;top:0;width:252px;height:100vh;height:100dvh;display:flex;flex-direction:column;padding:0;border:0;background:var(--sidebar-bg);color:var(--sidebar-text);z-index:45;transition:width .2s ease}.app .brand{position:relative;display:flex;align-items:center;justify-content:center;min-height:88px;padding:12px 20px;flex-shrink:0;color:#fff}.brand-logo{display:block;flex-shrink:0;width:60px;height:64px;object-fit:contain}.sidebar-nav{flex:1;min-height:0;padding:6px 12px 20px;overflow:auto;scrollbar-width:thin;scrollbar-color:#3d4b60 transparent}.app .nav-item,.app .nav-cat-header{display:flex;align-items:center;gap:12px;min-height:43px;padding:10px 12px;border-radius:8px;color:var(--sidebar-text);margin-bottom:4px;line-height:1.5}.nav-icon{display:block;flex-shrink:0}.nav-label{min-width:0;overflow-wrap:anywhere;text-align:left}.app .nav-cat-header{justify-content:flex-start;font-weight:500}.app .nav-item:hover,.app .nav-cat-header:hover{color:#fff;background:#ffffff0d}.app .nav-cat-header.open{color:#edf3fd}.app .nav-item.active{color:#fff;background:#2b60ca;box-shadow:0 3px 10px #00000012;font-weight:600}.app .nav-cat-header.current{color:#91b9ff}.app .nav-cat-arrow{margin-left:auto;opacity:.7}.nav-cat-arrow .nav-icon{width:14px;height:14px;transition:transform .15s}.nav-cat-header.open .nav-cat-arrow .nav-icon{transform:rotate(90deg)}.app .nav-sub{padding-left:12px;margin:4px 0 10px}.app .nav-subitem{padding:9px 12px;font-size:13px;gap:10px}.nav-sub-dot{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.6;flex-shrink:0}.app .sidebar-user{margin:0;padding:16px;border-top:1px solid #ffffff14;flex-shrink:0}.sidebar-user-profile{display:flex;align-items:center;gap:10px;min-width:0}.sidebar-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#2b3d56;color:#dbeafe;flex-shrink:0;font-weight:600}.app .sidebar-user-name{color:#eef4ff;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-name small{display:block;color:#92a5be;font-size:11px;font-weight:400;margin-top:1px}.sidebar-account-actions{display:flex;gap:6px;margin-top:12px}.sidebar-account-actions button{display:flex;align-items:center;justify-content:center;flex:1;padding:8px;color:#a6b8cf;background:#ffffff06;border:1px solid #ffffff12;width:auto}.sidebar-account-actions button:hover{background:#ffffff12;color:#fff}.sidebar-account-actions .logout-btn:hover{color:#fca5a5;border-color:#fca5a566}.sidebar-account-actions button>span{display:none}.sidebar-account-actions .nav-icon{width:17px;height:17px}.sidebar-mobile-close,.mobile-sidebar-toggle{display:none}.app :is(.nav-editor-card,.cp-card,.color-card){max-height:calc(100dvh - 32px);overflow:auto}.workspace{flex:1;min-width:0}.workspace-bar{display:flex;align-items:center;gap:16px;min-height:80px;padding:14px 28px;border-bottom:1px solid #dbe5f5;background:var(--page-heading-bg)}.workspace-bar .sidebar-toggle{display:grid;place-items:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid transparent;color:#1d3559;flex-shrink:0}.sidebar-toggle:hover{background:#f0f4fa;border-color:var(--border)}.sidebar-collapsed .desktop-sidebar-toggle .nav-icon{transform:rotate(180deg)}.workspace-heading{flex:1;min-width:0}.workspace-breadcrumb{display:flex;align-items:baseline;gap:12px;font-size:12px;font-weight:700;color:#fff;min-width:0}.workspace-title{font-size:20px;line-height:1.4;font-weight:700;color:#fff;margin:0;overflow-wrap:anywhere}.workspace-breadcrumb>span{flex-shrink:0}.workspace-summary{color:#fff;font-weight:700;margin-top:4px;font-size:12px;line-height:1.65;max-height:5em;overflow:auto;scrollbar-width:thin}.workspace-summary:empty{display:none}.workspace-summary :is(p,.venue-subtitle,.fin-note,.muted){color:inherit;font-size:inherit;margin:3px 0 0}.workspace-summary>:first-child{margin-top:0}.workspace-bar>.lang-toggle{margin:0 0 0 auto;flex-shrink:0}.workspace-bar .toggle-opt{padding:5px 10px;font-size:12px}.workspace-bar .toggle-opt.active{color:#1d4ed8;border-color:#b8cdf5;background:#edf3ff}.workspace-bar .toggle-opt.active .dot{background:#2563eb}.app .main{padding:28px;min-width:0;overflow:visible}.admin-page{min-width:0}.page-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:var(--page-tools-bg);padding:20px 24px;border:1px solid #d9b63f;border-radius:12px;margin-bottom:20px;min-width:0}.page-tools:empty,.page-tools:has(>.head-actions:only-child:empty),.page-tools>.head-actions:empty{display:none}.page-tools>:is(.head-actions,.filter-bar,.toolbar,.fin-filters,.seg-tabs,.picker-filters,.picker-legend,.hw-daywin,.feedback-form,.pricing-tabs){margin:0!important}.page-tools>:is(.picker-filters,.fin-filters,.hw-daywin,.feedback-form){padding:0!important;border:0;background:transparent}.page-tools :is(.page-tools-row,.filter-bar,.picker-filters,.chip-row,.filters-row,.seg-tabs,.pricing-tabs,.fin-filters,.toolbar,.hw-daywin,.hw-daywin-form){display:contents}.page-tools .chip-row.schedule-venue-filter{display:flex;flex-basis:100%;flex-wrap:wrap;align-items:center;gap:inherit}.page-tools>button{margin-left:auto}.page-tools :is(.head-actions,.sched-actions){display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;min-width:0;max-width:100%;margin:0 0 0 auto!important}.page-tools :is(.head-actions,.sched-actions)>button{flex-shrink:0;white-space:nowrap}.page-tools .action-secondary{display:contents}.page-tools .action-secondary>button{flex-shrink:0;white-space:nowrap}.page-tools .head-actions:has(input){display:contents}.page-tools .head-actions:has(input)>button:last-child{margin-left:auto}.page-tools button{white-space:nowrap}.page-tools .hw-daywin-title{margin:0}.page-tools .hw-daywin-hint{flex-basis:100%;margin:0}.page-tools input,.page-tools select{min-height:36px;max-width:100%;background:#fff;border-color:#d3dce9}.page-tools input:is([type=checkbox],[type=radio]){min-height:0}.page-tools .fin-field--check{flex-direction:row;align-items:center;gap:8px;min-height:36px}.page-tools .fin-field input[type=checkbox]{min-width:0;width:16px;height:16px;margin:0;accent-color:var(--primary)}.page-tools .date-field{flex-wrap:nowrap;color:#52647c;min-width:0;max-width:100%}.page-tools .chip{color:#53637a;border-radius:7px}.page-tools .chip.active{font-weight:600}.page-tools .feedback-form{flex-basis:100%;min-width:0;max-width:none}[data-filter]{--filter-bg: #f2f4f8;--filter-border: #c1c7cd;--filter-accent: #4d5358;--filter-text: #343a3f}[data-filter=category]{--filter-bg: #fcf4d6;--filter-border: #f1c21b;--filter-accent: #684e00;--filter-text: #483700}[data-filter=creator],[data-filter=coach],[data-filter=actor]{--filter-bg: #f6f2ff;--filter-border: #d4bbff;--filter-accent: #6929c4;--filter-text: #491d8b}[data-filter=venue]{--filter-bg: #d9fbfb;--filter-border: #3ddbd9;--filter-accent: #005d5d;--filter-text: #004144}[data-filter=date]{--filter-bg: #e5f6ff;--filter-border: #82cfff;--filter-accent: #00539a;--filter-text: #003a6d}[data-filter=area]{--filter-bg: #edf5ff;--filter-border: #a6c8ff;--filter-accent: #0043ce;--filter-text: #002d9c}[data-filter=sport]{--filter-bg: #fff0f7;--filter-border: #ffafd2;--filter-accent: #9f1853;--filter-text: #740937}[data-filter=payment]{--filter-bg: #defbe6;--filter-border: #6fdc8c;--filter-accent: #0e6027;--filter-text: #044317}[data-filter=status]{--filter-bg: #fff2e8;--filter-border: #ffb784;--filter-accent: #8a3800;--filter-text: #5e2900}[data-filter=search]{--filter-bg: #fff1f1;--filter-border: #ffb3b8;--filter-accent: #a2191f;--filter-text: #750e13}[data-filter=source]{--filter-bg: #f4f4f4;--filter-border: #c6c6c6;--filter-accent: #525252;--filter-text: #393939}.admin-page [data-filter]:not(button):not(input):not(select){background:transparent;border:0;border-radius:0;padding:0;min-width:0}.admin-page [data-filter] :is(.chip,.seg-tab,.drawer-tab,.toggle-opt),.admin-page button[data-filter]{background:var(--filter-bg);color:var(--filter-text);border:1px solid var(--filter-border);border-radius:6px}.admin-page [data-filter] :is(.chip,.seg-tab,.drawer-tab,.toggle-opt).active,.admin-page button[data-filter].active{background:var(--filter-accent);color:#fff;border-color:var(--filter-accent);font-weight:600}.admin-page [data-filter] :is(.chip,.seg-tab,.drawer-tab,.toggle-opt):hover:not(:disabled):not(.active),.admin-page button[data-filter]:hover:not(:disabled):not(.active){border-color:var(--filter-accent)}.admin-page [data-filter] :is(input,select),.admin-page :is(input,select)[data-filter]{border-color:var(--filter-border);accent-color:var(--filter-accent)}.admin-page [data-filter] input:is([type=checkbox],[type=radio]){accent-color:var(--filter-accent)}.page-tools .fin-field[data-filter]{justify-content:center}.admin-page [data-filter] .filter-spacer{display:none}.page-tools .picker-legend{flex-basis:100%;background:#fff9e5;padding:12px;border-radius:8px;color:#4d4b40}.page-tools .picker-legend .leg{color:inherit}.admin-page>:is(.table-wrap,.sched-scroll),.admin-page .fin-panel,.admin-page .panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 3px 12px #14223804}.admin-page :is(.venue-card,.hw-card,.card,.feedback-card){border-color:var(--border);box-shadow:0 3px 12px #14223804}.admin-page .venue-card-top{background:#fff;color:var(--text);border-bottom:1px solid #edf0f5;padding:20px}.admin-page .venue-card-top:has(.venue-badge){padding-right:88px}.admin-page .venue-name{font-size:18px;overflow-wrap:anywhere}.admin-page .venue-addr{color:var(--muted)}.admin-page .venue-badge{background:#ecfdf5;border-color:#a7f3d0;color:#047857;padding:3px 8px;right:16px}.admin-page .venue-badge.closed{background:#f1f5f9;border-color:#dbe2ec;color:#64748b}.admin-page .coach-avatar{background:#e8efff;color:#335eb1}.admin-page .coach-card{--card-bg: #3ca669}.admin-page .coach-card[data-availability=unavailable]{--card-bg: #e05555;--card-text: #101828}.admin-page .group-class-card{--card-bg: #ff9d28}.admin-page .group-class-card[data-youth=true]{--card-bg: #00bcc5}.admin-page :is(.coach-card,.group-class-card){background:var(--card-bg);color:var(--card-text, var(--text))}.admin-page .coach-card .coach-top{background:transparent;color:inherit;border-bottom-color:#00000014}.admin-page :is(.coach-card,.group-class-card) :is(.venue-addr,.coach-desc,.muted){color:inherit;opacity:1}.admin-page .coach-card .coach-tag{background:#ffffffd9;color:#005d5d}.admin-page .group-class-card .gc-banner{background:transparent;color:inherit}.admin-page>.table-wrap{padding:0}.admin-page>.table-wrap th{padding:14px 16px;color:#52637b;background:#f8fafd;font-size:12px;letter-spacing:.15px}.admin-page>.table-wrap td{padding:14px 16px}.admin-page>.table-wrap tbody tr:last-child td{border-bottom:0}.admin-page>.table-wrap tbody tr:hover{background:#f6f9fe}.admin-page table:not(.sched-table):has(>tbody>tr:nth-child(6))>thead>tr>*{background:#dceef0;color:#1e4850;border-bottom-color:#b8d8dc}.admin-page table:not(.sched-table):has(>tbody>tr:nth-child(6))>tbody>tr:nth-child(odd)>*{background:#fff}.admin-page table:not(.sched-table):has(>tbody>tr:nth-child(6))>tbody>tr:nth-child(2n)>*{background:#f3f5f7}.admin-page table:not(.sched-table):has(>tbody>tr:nth-child(6))>tbody>tr:hover>*{background:#e5f4f5}.admin-page.schedule-page .sched-table{border:2px solid #000}.admin-page.schedule-page .sched-table>tbody>tr>*{border-top-width:0;border-bottom:1px solid var(--border);padding-block:10px}.admin-page .table-wrap--sticky{max-height:calc(100dvh - 32px);overflow:auto}.admin-page .table-wrap--sticky table{border-collapse:separate;border-spacing:0}.admin-page .table-wrap--sticky thead{position:sticky;top:0;z-index:2}.admin-page .fin-panel--left,.admin-page .fin-panel--right{background:#fff}.admin-page>.pagination-bar{background:#fff;padding:14px 18px;border:1px solid var(--border);border-radius:10px}.admin-page>:is(p.muted,p.error,.sort-hint){padding:16px 20px;background:#fff;border:1px solid var(--border);border-radius:10px}.admin-page>p.error{background:#fff5f5;border-color:#fecaca}.admin-page :is(.fin-income-filter,.feedback-filter,.pricing-verification>.filter-bar):not([data-filter]){background:var(--page-tools-bg);border:1px solid var(--border);border-radius:8px;padding:12px 16px}.admin-page>.venue-grid{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr))}@media (min-width: 769px){.sidebar-collapsed .sidebar{width:76px}.sidebar-collapsed .brand{padding:20px}.sidebar-collapsed .brand-logo{width:36px;height:40px}.sidebar-collapsed :is(.nav-label,.nav-cat-arrow,.nav-sub,.sidebar-user-name){display:none}.sidebar-collapsed .sidebar-nav{padding-inline:12px}.sidebar-collapsed :is(.nav-item,.nav-cat-header){justify-content:center;padding:12px}.sidebar-collapsed .nav-cat-header.current{background:#2b60ca;color:#fff}.sidebar-collapsed .sidebar-user{padding:16px 12px}.sidebar-collapsed .sidebar-user-profile{justify-content:center}.sidebar-collapsed .sidebar-account-actions{flex-direction:column}.app .mobile-sidebar-toggle{display:none}}@media (max-width: 1100px) and (min-width: 769px){.app .sidebar{width:228px}.app.sidebar-collapsed .sidebar{width:76px}.app .main{padding:20px}}@media (max-width: 768px){.app{display:block}.app .sidebar{position:fixed;width:280px;max-width:88vw;height:100dvh;z-index:46;transform:translate(-100%);visibility:hidden;transition:transform .2s,visibility .2s;box-shadow:8px 0 40px #0f172a33}.app .sidebar.open{transform:translate(0);visibility:visible;transition:transform .2s}.sidebar-mobile-close{position:absolute;right:16px;display:grid;place-items:center;border:0;padding:6px;background:transparent;color:#c7d4e6}.app .brand{min-height:88px;padding:12px 16px}.workspace-bar{min-height:72px;padding:12px 14px;gap:10px;align-items:flex-start;flex-wrap:wrap}.app .desktop-sidebar-toggle{display:none}.app .mobile-sidebar-toggle{display:grid}.workspace-breadcrumb{font-size:13px}.workspace-breadcrumb>span{display:none}.workspace-heading{display:contents}.workspace-breadcrumb{flex:1;min-height:36px;align-items:center}.workspace-title{font-size:18px}.workspace-summary{order:1;flex-basis:100%;margin-top:-4px;padding-left:46px}.workspace-bar .toggle-opt{padding:5px 7px}.workspace-bar .lang-toggle .dot{display:none}.app .main{padding:16px 12px}.page-tools{padding:16px;margin-bottom:16px;gap:8px}.page-tools :is(.head-actions,.chip-row,.filters-row,.fin-filters){gap:8px}.page-tools .date-field input{flex:1;min-width:0}.page-tools .fin-field{min-width:0;max-width:100%}.page-tools .filter-select{min-width:0}.app .nav-editor-card{padding:20px 16px}.admin-page>.table-wrap :is(th,td){padding:12px}}@media (prefers-reduced-motion: reduce){.app *,.app *:before,.app *:after{transition:none!important;scroll-behavior:auto!important}}.login-wrap{background:#e9eff8}.login-card{border-color:#dce5f2;padding:36px 32px;box-shadow:0 20px 64px #14223812}.login-brand{color:#1d3559;font-size:26px;letter-spacing:-.5px}.login-field input{min-height:42px;border-color:#d3dce9}.login-field input:focus-visible{outline:3px solid #bfdbfe;border-color:#3b82f6}.login-submit{min-height:42px}
