:root{--brand-primary:#6f42c1;--brand-primary-dark:#4a2a85;--brand-accent:#8b5cf6;--brand-primary-light:#f3eeff;--brand-surface:#2f3136;--brand-border:#e5e7eb;--brand-border-soft:#ddd6fe;--color-text:#1f2937;--color-heading:#1f2937;--color-muted:#4b5563;--color-subtle:#6b7280;--color-panel:#fff;--color-panel-soft:#faf8ff;--color-page:#f8f7fc;--color-link:var(--brand-primary-dark);--color-focus:var(--brand-accent);--color-danger:#9f1239;--color-warning:#7c4a03;--color-success:#166534;--shadow-panel:0 16px 48px #4a2a8524;--shadow-brand:0 8px 20px #6f42c147;--slot-available-bg:#fff;--slot-available-text:#1f2937;--slot-reserved-bg:#fff;--slot-reserved-text:#1f2937;--slot-paid-bg:#fff;--slot-paid-text:#1f2937;--slot-selected-bg:var(--brand-accent);--slot-selected-text:#0b0618;--slot-past-bg:#e5e7eb;--slot-past-text:#374151;color:var(--color-text);background:var(--color-page);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-family:Inter,Noto Sans TC,Microsoft JhengHei,sans-serif}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;background-color:#0000;background-image:linear-gradient(#ffffffe0,#f8f7fcf5),url(https://images.unsplash.com/photo-1626224583764-f87db24ac4ea?auto=format&fit=crop&w=1800&q=80);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:cover;background-attachment:fixed;background-origin:padding-box,padding-box;background-clip:border-box,border-box;min-width:320px;min-height:100vh;margin:0;font-family:Inter,Noto Sans TC,Microsoft JhengHei,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a{color:inherit;text-decoration:none}.migration-notice-page{min-height:100vh;padding:24px 16px calc(24px + env(safe-area-inset-bottom,0px));background:linear-gradient(#fffffff0,#f4f9f6f5),url(https://images.unsplash.com/photo-1626224583764-f87db24ac4ea?auto=format&fit=crop&w=1200&q=80) 50%/cover;place-items:center;display:grid}.migration-notice-panel{text-align:center;background:#ffffffeb;border:1px solid #255c4824;border-radius:8px;gap:16px;width:min(100%,480px);padding:28px 20px;display:grid;box-shadow:0 18px 48px #1b2d2624}.migration-notice-icon{margin:0;font-size:44px;line-height:1}.migration-notice-panel h1{color:var(--color-text);letter-spacing:0;margin:0;font-size:26px;line-height:1.22}.migration-notice-panel p{color:var(--color-muted);margin:0;font-size:16px;line-height:1.7}.migration-notice-panel a:not(.migration-notice-button){color:var(--brand-primary-dark);overflow-wrap:anywhere;font-weight:850}.migration-notice-button{justify-content:center;width:100%;min-height:48px;margin-top:4px}.migration-notice-countdown{color:var(--color-muted);font-size:14px;font-weight:760}.app-shell{width:min(1480px,100% - 32px);padding:24px 0 calc(36px + env(safe-area-inset-bottom,0px));margin:0 auto}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:18px 0;display:flex}.topbar h1,.section-head h2,.panel-title h2,.login-card h1{letter-spacing:0;margin:0}.topbar h1{font-size:clamp(24px,4vw,42px);font-weight:850}.public-brand{min-width:0;color:var(--color-heading);align-items:center;gap:10px;display:inline-flex}.public-brand-icon{object-fit:contain;flex:0 0 48px;width:48px;height:48px;display:block}.public-brand h1{line-height:1.05}.public-footer-logo{justify-content:center;margin-top:28px;display:flex}.public-footer-logo a{justify-content:center;align-items:center;display:inline-flex}.public-footer-logo img{width:clamp(120px,14vw,160px);height:auto;display:block}.eyebrow{color:var(--color-muted);margin:0 0 4px;font-size:13px;font-weight:760}.booking-layout,.admin-grid{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:18px;display:grid}.admin-grid>*{min-width:0;max-width:100%}.booking-main,.side-panel,.login-card,.settings-band,.settings-page section{background:#fffffff0;border:1px solid #4a2a851f;border-radius:8px;box-shadow:0 16px 48px #4a2a851f}.booking-main{min-width:0;padding:18px}.section-head,.panel-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.section-head h2,.panel-title h2{font-size:22px}.panel-title{justify-content:flex-start}.side-panel{padding:18px;position:sticky;top:14px}.week-controls,.row-actions,.admin-nav,.topbar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}.icon-button,.icon-link,.line-login-button,.secondary-button,.primary-button,.admin-nav button{min-height:40px;color:var(--color-text);background:#fff;border:1px solid #4a2a8529;border-radius:8px}.icon-button{place-items:center;width:40px;display:inline-grid}.icon-link,.line-login-button,.primary-button,.secondary-button,.admin-nav button{justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:800;display:inline-flex}.member-chip{min-height:40px;color:var(--color-text);background:#fffffff0;border:1px solid #4a2a8529;border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-weight:800;display:inline-flex}.member-chip img{object-fit:cover;border-radius:50%;width:26px;height:26px}.member-chip span{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.member-menu{display:inline-flex;position:relative}.member-menu-button{min-width:40px;padding-inline:10px}.member-menu-backdrop{z-index:999;cursor:default;background:#13101e47;border:0;border-radius:0;position:fixed;inset:0}.member-menu-panel{z-index:1000;width:min(85vw,320px);min-width:0;height:100dvh;padding:calc(18px + env(safe-area-inset-top,0px)) 12px calc(18px + env(safe-area-inset-bottom,0px));border:1px solid var(--brand-border);border-block:0;box-shadow:var(--shadow-panel);background:#fffffffa;border-right:0;border-radius:8px 0 0 8px;flex-direction:column;gap:4px;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}.member-menu-name,.member-menu-item,.member-menu-logout{border-radius:8px;align-items:center;gap:8px;width:100%;min-height:38px;padding:0 10px;font-weight:800;display:flex}.member-menu-name{min-height:52px;color:var(--color-heading);border-bottom:1px solid #4a2a851f;border-radius:0;flex:none;margin-bottom:6px}.member-menu-item{color:var(--color-text);background:0 0;border:0;justify-content:flex-start;margin-top:4px}.member-menu-name img{object-fit:cover;border-radius:50%;width:24px;height:24px}.member-menu-name span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.member-menu-logout{color:var(--color-danger);background:0 0;border:0;flex:none;justify-content:flex-start;margin-top:auto}.member-menu-item:hover{background:var(--brand-primary-light)}.member-menu-logout:hover{background:#fff1f2}.primary-button{border-color:var(--brand-primary);background:var(--brand-primary);color:#fff;width:100%}.secondary-button,.admin-nav button.active{background:var(--brand-primary-light);border-color:var(--brand-border-soft)}.icon-link.active{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}.public-topbar .icon-link{min-height:40px;color:var(--color-text);white-space:nowrap;background:#fff;border-color:#4a2a8529;flex:none;line-height:1.2}.public-topbar .icon-link svg{flex:none}.public-topbar .icon-link.active{border-color:var(--brand-primary);background:var(--brand-primary);color:#fff;box-shadow:var(--shadow-brand)}.public-topbar .icon-link.active:hover{border-color:var(--brand-primary-dark);background:var(--brand-primary-dark);color:#fff}.public-topbar .icon-link:not(.active):hover,.public-topbar .icon-link.menu-open{border-color:var(--brand-accent);background:var(--brand-primary-light);color:var(--brand-primary-dark)}.button-link{width:auto}.danger{color:#a72c33}.day-tabs{grid-template-columns:repeat(7,minmax(74px,1fr));gap:8px;margin-bottom:14px;display:grid}.day-tabs button{min-height:58px;color:var(--color-text);background:#fff;border:1px solid #4a2a8524;border-radius:8px}.day-tabs button.active{border-color:var(--brand-primary);background:var(--brand-primary);color:#fff}.day-tabs span,.day-tabs strong{display:block}.day-tabs span{opacity:.76;font-size:12px}.day-tabs strong{margin-top:3px}.public-day-tabs button{align-content:center;justify-items:center;row-gap:2px;line-height:1.15;display:grid;overflow:visible}.public-day-tabs button span,.public-day-tabs button strong{z-index:1;max-width:100%;color:inherit;white-space:nowrap;text-overflow:clip;visibility:visible;line-height:1.15;position:relative;overflow:visible}.public-day-tabs button.active span,.public-day-tabs button.active strong{color:#fff;opacity:1}.public-day-tabs button.today:not(.active){background:#faf7ff;border-color:#6d28d957}.public-day-tabs button.today:not(.active) span{color:#5b21b6;opacity:1;font-weight:850}.booking-mode-switch{background:#fff;border:1px solid #4a2a8524;border-radius:8px;gap:6px;margin:0 0 14px;padding:4px;display:inline-flex}.booking-mode-switch button{min-width:104px;min-height:40px;color:var(--color-text);background:0 0;border:0;border-radius:6px;padding:0 16px;font-weight:850}.booking-mode-switch button.active{background:var(--brand-primary);color:#fff;box-shadow:var(--shadow-brand)}.quick-booking-panel{gap:14px;display:grid}.quick-booking-controls{grid-template-columns:minmax(140px,1fr) minmax(140px,1fr) minmax(140px,1fr) minmax(180px,1fr);align-items:end;gap:12px;display:grid}.quick-booking-controls label{color:var(--color-muted);gap:6px;font-size:13px;font-weight:850;display:grid}.quick-booking-controls select{width:100%;min-height:44px;color:var(--color-text);background:#fff;border:1px solid #4a2a8529;border-radius:8px;font-size:16px;font-weight:800}.quick-search-button{min-height:44px}.quick-booking-results{gap:10px;display:grid}.quick-result-card{background:#fff;border:1px solid #4a2a851f;border-radius:8px;grid-template-columns:minmax(0,1fr) auto minmax(120px,auto);align-items:center;gap:12px;padding:12px;display:grid}.quick-result-card strong,.quick-result-card em,.quick-result-card span{display:block}.quick-result-card strong{color:var(--color-heading);font-size:17px}.quick-result-card span{color:var(--color-muted);margin-top:3px;font-weight:750}.quick-result-card em{color:var(--brand-primary-dark);margin-top:3px;font-size:13px;font-style:normal;font-weight:850}.quick-result-card b{color:var(--brand-primary-dark);white-space:nowrap;font-size:17px}.quick-result-card .secondary-button{width:100%;min-height:40px}.quick-empty-result{text-align:center}.quick-error-message,.quick-shortage-panel{text-align:left}.quick-error-message{background:var(--brand-primary-light);color:var(--brand-primary-dark);border-color:#6d28d938;font-weight:850}.quick-shortage-panel{gap:10px;display:grid}.quick-shortage-panel strong,.quick-shortage-panel small,.quick-shortage-panel p{display:block}.quick-shortage-panel ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.quick-shortage-panel li{background:#ffffffb3;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.quick-shortage-panel li span,.quick-shortage-panel li b{white-space:nowrap}.quick-shortage-panel p,.quick-shortage-panel small{color:var(--color-muted);margin:0;font-weight:780}.compact-tabs{grid-template-columns:repeat(4,minmax(62px,1fr));max-height:134px;overflow:auto}.table-wrap{width:100%;overflow:auto}.slot-table,.orders-table,.rules-table{border-collapse:separate;border-spacing:0;width:100%}.slot-table th,.slot-table td,.orders-table th,.orders-table td,.rules-table th,.rules-table td{text-align:left;vertical-align:top;border-bottom:1px solid #4a2a851a;padding:8px}.slot-table th{min-width:132px;color:var(--color-muted);font-size:13px}.slot-table th:first-child,.time-cell{width:86px;min-width:86px;color:var(--color-muted);font-weight:840}.time-cell span{margin-top:2px;font-size:12px;font-weight:650;display:block}.slot-button{border:1px solid var(--brand-border);background:var(--slot-available-bg);width:100%;min-width:120px;height:62px;color:var(--slot-available-text);text-align:left;border-radius:8px;padding:8px}.slot-button strong,.slot-button span,.slot-button em{white-space:nowrap;display:block}.slot-button span{color:var(--color-muted);margin-top:4px;font-size:12px}.slot-button em{margin-top:3px;font-size:11px;font-style:normal;font-weight:820}.slot-button.selected{border-color:var(--brand-accent);background:var(--brand-primary-light);box-shadow:inset 0 0 0 2px var(--brand-accent)}.slot-button.booked,.slot-button.closed{color:#897160;background:#f4f0eb;border-color:#ece4dc}.slot-button.waitlistable,.mobile-slot-button.waitlistable{color:#165336;cursor:pointer;background:#eef8f1;border-color:#3a7f5b}.slot-button.waitlistable span,.mobile-slot-button.waitlistable .mobile-slot-state{color:#216b47}.mobile-slot-list{display:none}.mobile-time-card{background:#fff;border:1px solid #4a2a851f;border-radius:8px;gap:8px;min-width:0;padding:10px;display:grid}.mobile-time-card h3{color:var(--color-text);margin:0;font-size:16px;font-weight:850}.mobile-court-list{grid-template-columns:repeat(4,1fr);gap:6px;min-width:0;display:grid}.mobile-slot-button{border:1px solid var(--brand-border);background:var(--slot-available-bg);width:100%;min-width:0;height:60px;min-height:56px;max-height:64px;color:var(--slot-available-text);text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:7px 4px;line-height:1.1;display:flex;overflow:hidden}.mobile-court-name{white-space:nowrap;width:100%;font-size:13px;font-weight:850}.mobile-slot-state{width:100%;min-width:0;color:var(--color-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:800;overflow:hidden}.mobile-slot-button:disabled{opacity:1}.mobile-slot-button.selected{border-color:var(--brand-accent);background:var(--brand-primary-light);box-shadow:inset 0 0 0 2px var(--brand-accent)}.mobile-slot-button.booked{color:#897160;background:#f4f0eb;border-color:#ece4dc}.mobile-slot-button.closed{border-color:var(--brand-border);background:var(--slot-past-bg);color:var(--slot-past-text)}.mobile-slot-button.booked .mobile-slot-state{color:#897160}.mobile-slot-button.closed .mobile-slot-state{color:var(--slot-past-text)}.selected-list{gap:8px;max-height:260px;display:grid;overflow:auto}.empty-order-summary{border:1px dashed var(--brand-border-soft);background:var(--color-panel-soft);color:var(--brand-primary-dark);text-align:center;border-radius:8px;padding:14px;font-size:15px;font-weight:850}.selected-item{border-bottom:1px solid #4a2a851a;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.selected-item span,.orders-table td span,.muted{color:var(--color-muted);font-size:13px;display:block}.orders-table .member-line{color:var(--brand-primary-dark);margin-top:3px;font-weight:760}.total-row{border-top:2px solid #4a2a851f;justify-content:space-between;margin:16px 0;padding-top:14px;font-size:18px;display:flex}.member-booking-identity,.login-required-panel{margin-bottom:12px}.member-booking-identity{background:var(--color-panel-soft);min-height:40px;color:var(--color-heading);border:1px solid #4a2a8524;border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-weight:850;display:flex}.member-booking-identity img{object-fit:cover;border-radius:50%;width:24px;height:24px}.login-required-panel{gap:10px;display:grid}.login-required-button{min-height:42px}.form-stack{gap:12px;display:grid}.booking-notice-sections{gap:8px;display:grid}.booking-notice-section{background:#fff;border:1px solid #4a2a851f;border-left-width:4px;border-radius:8px;overflow:hidden}.booking-notice-section.notice{border-left-color:var(--brand-accent);background:#f2f8ff}.booking-notice-section.danger{background:#fff5f5;border-left-color:#a72c33}.booking-notice-section.bank_info{background:#fff9e8;border-left-color:#8a6712}.booking-notice-section.normal{border-left-color:var(--brand-primary)}.booking-notice-section summary{min-height:42px;color:var(--color-text);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-weight:850;display:flex}.booking-notice-section p{color:var(--color-muted);white-space:pre-line;margin:0;padding:0 12px 12px;font-size:14px;font-weight:650;line-height:1.7}.booking-rule-check{background:var(--color-panel-soft);color:var(--color-text);border:1px solid #4a2a8524;border-radius:8px;align-items:flex-start;padding:12px;line-height:1.45}label{color:var(--color-muted);gap:6px;font-size:13px;font-weight:760;display:grid}input,select,textarea{width:100%;min-height:40px;color:var(--color-text);background:#fff;border:1px solid #4a2a852e;border-radius:8px;padding:0 10px}textarea{resize:vertical;min-height:92px;padding:10px}.notice{border:1px solid var(--brand-border-soft);background:var(--brand-primary-light);color:var(--brand-primary-dark);border-radius:8px;margin-bottom:12px;padding:12px;font-weight:720}.notice.error{color:#8d242b;background:#fff1f1;border-color:#e7c1c3}.notice.warning{color:#76540e;background:#fff8df;border-color:#efd38a}.notice.compact{margin:12px 0 0;font-size:14px}.notice.full{width:min(480px,100% - 32px);margin:60px auto}.login-screen{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{gap:16px;width:min(420px,100%);padding:24px;display:grid}.admin-shell .topbar{align-items:center}.app-shell.admin-shell{width:min(1920px,100% - 20px);padding-top:12px}.admin-overview-grid{grid-template-columns:minmax(0,1fr);gap:12px}.admin-overview-panel{padding:12px}.admin-overview-panel .section-head{margin-bottom:10px}.orders-table th,.rules-table th{color:var(--color-muted);font-size:13px}.orders-table td{min-width:92px}.orders-table .line{white-space:nowrap}.inline-status-select{width:132px;min-height:34px;color:var(--color-text);background:#fff;border:1px solid #4a2a8529;border-radius:8px;padding:0 8px;font-size:13px;font-weight:760}.status{background:var(--brand-border);white-space:nowrap;border-radius:999px;align-items:center;min-height:26px;padding:0 9px;font-size:12px;font-weight:850;display:inline-flex}.status.confirmed{background:var(--brand-primary-light);color:var(--brand-primary-dark)}.status.sent{color:#166534;background:#dcfce7}.status.pending_payment,.status.held{background:var(--brand-primary-light);color:var(--brand-primary-dark)}.status.waiting,.status.notified,.status.pending_acceptance{color:#165336;background:#e5f4ec}.status.cancelled,.status.expired,.status.no_show,.status.failed{color:#8d242b;background:#f7e1e1}.status.skipped{color:#374151;background:#f3f4f6}.member-orders-page,.member-group-events-page,.member-profile-page{gap:14px;display:grid}.member-profile-card{gap:14px;max-width:520px;display:grid}.member-profile-summary{background:var(--color-panel-soft);border:1px solid #4a2a8524;border-radius:8px;align-items:center;gap:12px;padding:14px;display:flex}.member-profile-summary img{object-fit:cover;border-radius:50%;width:44px;height:44px}.member-profile-summary strong,.member-profile-summary span{display:block}.member-profile-summary strong{color:var(--color-heading);font-size:18px}.member-waitlists{gap:10px;display:grid}.member-waitlist-cards{display:none}.member-waitlist-card{background:#fff;border:1px solid #4a2a8524;border-radius:8px;gap:12px;min-width:0;padding:12px;display:grid}.member-order-card-list,.member-group-event-card-list{display:none}.member-group-event-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.member-group-event-back{width:auto;min-height:0;color:var(--brand-primary);cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;font-weight:850;line-height:1.2}.member-group-event-back:hover{color:var(--brand-primary-dark)}.status.group-registration-status.accepted{color:#166534;background:#dcfce7}.status.group-registration-status.waitlisted{color:#c2410c;background:#ffedd5}.status.group-registration-status.cancelled{color:#64748b;background:#f1f5f9}.member-group-event-warning{color:#b91c1c;background:#fee2e2;border-radius:999px;align-items:center;width:fit-content;min-height:28px;padding:0 10px;font-size:13px;font-weight:900;display:inline-flex}.member-group-event-warning.inline{min-height:24px;font-size:12px}.member-group-event-card{background:#fffffff7;border:1px solid #7560a82e;border-radius:16px;gap:13px;min-width:0;padding:16px;display:grid;box-shadow:0 10px 28px #4a2a8514}.member-group-event-card.cancelled{box-shadow:none;background:#f8fafc}.member-group-event-card-head{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.member-group-event-card-head span,.member-group-event-card dt{color:var(--color-muted);font-size:13px;font-weight:780}.member-group-event-card-head strong{color:var(--color-heading);margin-top:3px;font-size:22px;line-height:1.15;display:block}.member-group-event-card h3{color:var(--color-heading);margin:0;font-size:19px;line-height:1.3}.member-group-event-compact-line,.member-group-event-player{display:none}.member-group-event-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.member-group-event-card dd{color:var(--color-text);overflow-wrap:anywhere;margin:4px 0 0;font-size:16px;font-weight:820;line-height:1.28}.member-group-event-actions{gap:8px;display:grid}.member-group-event-actions .member-cancel-button{width:100%;min-height:44px}.member-login-required-card{justify-self:center;max-width:460px}.member-order-card,.member-empty-card{background:#fffffff5;border:1px solid #7560a82e;border-radius:16px;min-width:0;box-shadow:0 10px 28px #4a2a8514}.member-order-card{gap:12px;padding:14px;display:grid}.member-order-card-head{justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;display:flex}.member-order-card-head span,.member-order-card dt,.member-order-note{color:var(--color-muted);font-size:12px;font-weight:760}.member-order-card-head strong{color:var(--color-heading);margin-top:3px;font-size:17px;line-height:1.25;display:block}.member-order-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.member-order-card dd{color:var(--color-text);margin:3px 0 0;font-weight:820;line-height:1.25}.member-order-actions{gap:8px;display:grid}.member-empty-card{text-align:center;justify-items:center;gap:12px;padding:28px 18px;display:grid}.member-empty-card strong{color:var(--color-heading);font-size:18px;line-height:1.35}.member-waitlist-card-head{justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;display:flex}.member-waitlist-card-head span,.member-waitlist-card dt{color:var(--color-muted);font-size:12px;font-weight:760}.member-waitlist-card-head strong{color:var(--color-text);margin-top:3px;font-size:15px;line-height:1.25;display:block}.member-waitlist-card dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.member-waitlist-card dd{color:var(--color-text);margin:2px 0 0;font-weight:820;line-height:1.25}.member-waitlist-actions{flex-wrap:wrap;gap:8px;display:flex}.member-waitlist-actions .primary-button,.member-waitlist-actions .secondary-button{width:auto;min-width:118px}.compact-head{margin-top:4px}.member-order-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.member-order-tabs button{min-height:58px;color:var(--color-text);background:#fff;border:1px solid #4a2a8524;border-radius:8px}.member-order-tabs button.active{border-color:var(--brand-primary);background:var(--brand-primary);color:#fff}.member-order-tabs span,.member-order-tabs strong{display:block}.member-order-tabs span{font-size:13px;font-weight:820}.member-order-tabs strong{margin-top:3px;font-size:18px}.member-orders-table td{vertical-align:middle}.member-cancel-button{width:auto;min-width:118px}.waitlist-admin-page{gap:14px;display:grid}.waitlist-admin-table .row-actions{flex-wrap:nowrap;gap:6px;display:flex}.waitlist-admin-table .row-actions .primary-button,.waitlist-admin-table .row-actions .secondary-button{width:auto;min-width:92px}.blacklist-badge{color:#b91c1c;vertical-align:middle;background:#fef2f2;border:1px solid #b91c1c47;border-radius:999px;align-items:center;width:fit-content;margin-left:8px;padding:2px 7px;font-size:12px;font-weight:700;line-height:1.4;display:inline-flex}.blacklist-admin-page{gap:14px;display:grid}.blacklist-admin-grid{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.blacklist-form{background:#fff;border:1px solid #4a2a851f;border-radius:8px;padding:16px}.blacklist-table .row-actions{flex-wrap:nowrap;gap:6px;display:flex}.blacklist-table .row-actions .secondary-button{width:auto;min-width:72px}.blacklist-warning{gap:8px;display:grid}.status.blacklist-active{color:#b91c1c;background:#fef2f2}.status.blacklist-inactive{color:#64748b;background:#f1f5f9}.status.blacklist-expired{color:#92400e;background:#fffbeb}.modal-backdrop{z-index:80;background:#16102161;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.waitlist-confirm-dialog{background:#fff;border:1px solid #4a2a8529;border-radius:8px;gap:14px;width:min(420px,100%);padding:18px;display:grid;box-shadow:0 18px 48px #1f143638}.waitlist-confirm-dialog dl{gap:8px;margin:0;display:grid}.waitlist-confirm-dialog dl>div{grid-template-columns:74px minmax(0,1fr);gap:10px;display:grid}.waitlist-confirm-dialog dt{color:var(--color-muted);font-size:13px;font-weight:760}.waitlist-confirm-dialog dd{color:var(--color-text);margin:0;font-weight:850}.waitlist-confirm-dialog .row-actions{justify-content:flex-end}.waitlist-confirm-dialog .row-actions .primary-button,.waitlist-confirm-dialog .row-actions .secondary-button{width:auto;min-width:128px}.deadline-text{color:#76540e;white-space:nowrap;align-items:center;min-height:34px;font-size:13px;font-weight:800;display:inline-flex}.admin-side{max-height:calc(100vh - 96px);overflow:auto}.admin-side .form-stack>*{min-width:0;max-width:100%}.admin-side .slot-table th,.admin-side .slot-table td{padding:5px}.admin-side .slot-button{min-width:96px;height:54px}.admin-booking-page{gap:18px;display:grid}.admin-week-overview-page{grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;display:grid}.admin-week-overview-page.has-detail{grid-template-columns:minmax(0,1fr) 340px}.admin-week-overview-page .admin-order-detail-panel{position:sticky;top:12px}.admin-create-booking-page .admin-create-form{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-overview-panel{min-width:0}.week-switch-panel{margin-bottom:14px}.week-tab-strip{scrollbar-width:thin;gap:8px;padding:2px 2px 10px;display:flex;overflow-x:auto}.week-tab{min-height:58px;color:var(--color-text);text-align:left;background:#fff;border:1px solid #4a2a8524;border-radius:8px;flex:0 0 98px;align-content:center;gap:2px;padding:7px 8px;display:grid}.week-tab strong,.week-tab span,.week-tab em{display:block}.week-tab strong{font-size:13px;font-weight:880}.week-tab span{color:inherit;opacity:.8;font-size:11px;font-weight:760}.week-tab em{color:#6c4700;background:#fff1bf;border-radius:999px;width:fit-content;margin-top:2px;padding:2px 6px;font-size:10px;font-style:normal;font-weight:850}.admin-stat-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:10px;display:grid}.admin-stat-grid>div{background:var(--color-panel-soft);border:1px solid #4a2a851a;border-radius:8px;min-width:0;min-height:70px;padding:10px 12px}.admin-stat-grid span{color:var(--color-muted);font-size:12px;font-weight:780;display:block}.admin-stat-grid strong{color:var(--color-text);margin-top:4px;font-size:17px;display:block}.admin-stat-grid em{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;font-style:normal;font-weight:760;display:block;overflow:hidden}.admin-day-block{border-top:1px solid #4a2a851f;padding-top:14px}.admin-day-head{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:8px;display:flex}.admin-day-head span,.admin-day-head em{color:var(--color-muted);font-size:13px;font-style:normal;font-weight:760}.admin-day-head strong{color:var(--color-text);margin-top:2px;font-size:20px;font-weight:880;display:block}.admin-overview-table th{min-width:116px}.admin-overview-table th:first-child,.admin-overview-table .time-cell{z-index:1;background:#fff;position:sticky;left:0}.admin-overview-slot{border:1px solid var(--brand-border);width:100%;min-width:112px;height:58px;color:var(--color-text);text-align:left;background:#fff;border-radius:8px;padding:8px}.admin-overview-slot strong,.admin-overview-slot span{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.admin-overview-slot span{color:var(--color-muted);margin-top:4px;font-size:12px;font-weight:720}.admin-overview-slot.selected,.slot-button.selected,.mobile-slot-button.selected{border-color:var(--brand-accent);background:var(--brand-primary-light);box-shadow:inset 0 0 0 2px var(--brand-accent)}.admin-overview-slot.unpaid,.slot-button.unpaid,.mobile-slot-button.unpaid{border-color:var(--brand-border-soft);background:var(--brand-primary-light);color:var(--brand-primary-dark)}.slot-button.reserved,.mobile-slot-button.reserved{border-color:var(--brand-border);background:var(--slot-past-bg);color:var(--slot-past-text)}.admin-overview-slot.past,.admin-overview-slot.closed,.slot-button.past,.slot-button.closed,.mobile-slot-button.past,.mobile-slot-button.closed{border-color:var(--brand-border);background:var(--slot-past-bg);color:var(--slot-past-text)}.admin-overview-slot.unpaid span,.slot-button.unpaid span,.mobile-slot-button.unpaid .mobile-slot-state,.admin-overview-slot.paid span,.slot-button.paid span,.mobile-slot-button.paid .mobile-slot-state{color:var(--brand-primary-dark)}.slot-button.reserved span,.mobile-slot-button.reserved .mobile-slot-state{color:var(--slot-past-text)}.slot-button.promotion,.mobile-slot-button.promotion{border-color:var(--brand-primary-dark);background:var(--brand-primary-dark);color:#fff}.slot-button.promotion span,.mobile-slot-button.promotion .mobile-slot-state{color:var(--brand-primary-light)}.admin-week-schedule{gap:8px;display:grid}.admin-week-search-panel{background:var(--color-panel-soft);border:1px solid #4a2a851a;border-radius:8px;gap:10px;margin:0 0 12px;padding:10px;display:grid}.admin-week-search-form,.search-batch-actions,.search-result-summary{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.admin-week-search-form label{color:var(--color-muted);flex:280px;gap:5px;font-size:12px;font-weight:780;display:grid}.search-input-wrap{background:#fff;border:1px solid #4a2a8524;border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:0 10px;display:flex}.search-input-wrap input{width:100%;min-width:0;color:var(--color-text);font:inherit;background:0 0;border:0;outline:0}.search-result-summary{color:var(--color-muted);justify-content:space-between;font-size:13px;font-weight:780}.overview-batch-toolbar{z-index:4;background:#f9fafbeb;border:1px solid #94a3b838;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 8px;padding:7px 8px;display:flex;position:sticky;top:0}.overview-batch-toolbar span{color:var(--color-muted);margin-right:auto;font-size:12px;font-weight:760}.overview-batch-toolbar .secondary-button{color:#475569;min-height:30px;box-shadow:none;background:#fff;border-color:#94a3b847;padding:0 10px;font-size:12px}.search-results-wrap{background:#fff;border:1px solid #4a2a851a;border-radius:8px;max-height:320px}.search-results-table th:first-child,.search-results-table td:first-child{text-align:center;width:54px}.compact-check{justify-content:center;margin:0}mark{color:inherit;background:#fff1a8;border-radius:3px;padding:0 2px}.admin-week-grid-wrap{background:#fff;border:1px solid #4a2a851f;border-radius:8px;width:100%;min-height:340px;max-height:calc(100vh - 328px);overflow:auto}.admin-week-grid{--day-count:7;grid-template-columns:72px repeat(var(--day-count), minmax(196px, 1fr));min-width:calc(72px + (var(--day-count) * 210px));display:grid}.admin-corner-cell,.admin-day-column-head,.admin-court-cell,.admin-court-day-grid{border-bottom:1px solid #4a2a851a;border-right:1px solid #4a2a851a}.admin-corner-cell,.admin-day-column-head{z-index:3;background:var(--color-panel-soft);position:sticky;top:0}.admin-corner-cell{z-index:5;min-height:58px;color:var(--color-muted);place-items:center;font-size:12px;font-weight:880;display:grid;left:0}.admin-day-column-head{min-width:0;padding:7px 8px 6px}.admin-day-column-head strong{color:var(--color-text);text-align:center;font-size:13px;font-weight:880;display:block}.admin-time-track,.admin-court-day-grid{--slot-count:1;grid-template-columns:repeat(var(--slot-count), minmax(32px, 1fr));gap:2px;display:grid}.admin-time-track{margin-top:6px}.admin-time-track span{color:var(--color-muted);text-align:center;font-size:10px;font-weight:780;line-height:1;display:block}.admin-court-cell{z-index:2;min-height:86px;color:var(--color-text);text-align:center;background:#fff;place-items:center;padding:6px;font-size:13px;font-weight:880;display:grid;position:sticky;left:0}.admin-court-day-grid{background:linear-gradient(90deg,#4a2a850d 1px,#0000 1px),#fff;background-size:calc(100% / var(--slot-count)) 100%;min-height:86px;padding:4px}.admin-overview-slot{border-radius:5px;align-content:start;gap:2px;min-width:0;height:76px;padding:5px 6px;font-size:11px;line-height:1.24;display:grid;overflow:hidden}.admin-overview-slot-wrap{width:100%;min-width:0;height:76px;position:relative}.admin-overview-slot-wrap .admin-overview-slot{width:100%}.admin-overview-slot.selectable-booking{cursor:pointer}.admin-overview-slot.batch-selected{border-color:var(--brand-accent);box-shadow:0 0 0 2px var(--brand-accent);position:relative}.admin-overview-slot.batch-selected:after{content:"✓";background:var(--brand-accent);color:#fff;pointer-events:none;border-radius:999px;place-items:center;width:16px;height:16px;font-size:11px;font-weight:900;line-height:1;display:grid;position:absolute;top:3px;right:4px}.admin-overview-slot strong,.admin-overview-slot span,.admin-overview-slot em{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.admin-overview-slot strong{font-size:11px;font-weight:900}.admin-overview-slot span,.admin-overview-slot em{color:inherit;margin:0;font-size:10px;font-style:normal;font-weight:760}.admin-overview-slot.empty-slot{border-color:var(--brand-border);background:#ffffffeb}.admin-overview-slot.empty-slot:hover{border-color:var(--brand-accent);background:var(--brand-primary-light)}.admin-overview-slot.unpaid{border-color:var(--brand-border-soft);background:var(--brand-primary-light);color:var(--brand-primary-dark)}.admin-overview-slot.paid,.admin-overview-slot.promotion{border-color:var(--brand-accent);background:var(--brand-primary-light);color:var(--brand-primary-dark)}.admin-overview-slot.selected{border-color:var(--brand-accent);box-shadow:inset 0 0 0 2px var(--brand-accent)}.admin-overview-slot.empty-slot.selected{background:var(--brand-primary-light)}.admin-overview-slot.closed,.admin-overview-slot.past,.admin-slot-placeholder{visibility:hidden;pointer-events:none}.admin-overview-legend{color:var(--color-muted);flex-wrap:wrap;justify-content:flex-end;gap:12px;font-size:12px;font-weight:760;display:flex}.admin-overview-legend span{align-items:center;gap:6px;display:inline-flex}.admin-overview-legend i{background:#fff;border:1px solid #4a2a8524;border-radius:3px;width:14px;height:14px}.admin-overview-legend .legend-unpaid{border-color:var(--brand-border-soft);background:var(--brand-primary-light)}.admin-overview-legend .legend-promotion,.admin-overview-legend .legend-empty{border-color:var(--brand-accent);background:var(--brand-primary-light)}.admin-day-table-grid{grid-template-columns:1fr;align-items:start;gap:8px;display:grid}.admin-day-table-card{background:#fff;border:1px solid #94a3b82e;border-radius:7px;min-width:0;overflow:hidden}.admin-day-table-card.is-collapsed,.admin-day-table-card.is-past-day{background:var(--color-page)}.admin-day-table-card.is-past-day .admin-day-table-head,.admin-day-table-card.is-past-day .admin-day-table-wrap{background:var(--color-panel-soft)}.admin-day-table-head{background:var(--color-panel-soft);border-bottom:1px solid #94a3b829;justify-content:space-between;align-items:center;gap:8px;min-height:34px;padding:5px 8px;display:flex}.admin-day-table-head span,.admin-day-table-head em{color:var(--color-muted);font-size:12px;font-style:normal;font-weight:760;display:block}.admin-day-table-head strong{color:var(--color-text);margin-top:1px;font-size:14px;font-weight:880;display:block}.admin-day-table-head em{background:var(--color-panel-soft);color:var(--color-muted);border-radius:999px;flex:none;padding:2px 6px}.admin-day-table-wrap{width:100%;overflow:auto}.admin-day-table{width:100%;min-width:calc(58px + (var(--time-count,12) * 84px));border-collapse:separate;border-spacing:0;table-layout:fixed}.admin-day-table th,.admin-day-table td{text-align:center;vertical-align:top;border-bottom:1px solid #94a3b829;padding:2px 3px}.admin-day-table th{z-index:1;color:var(--color-muted);white-space:nowrap;background:#fff;font-size:11px;font-weight:850;position:sticky;top:0}.admin-day-table th:first-child,.admin-time-cell,.admin-court-row-cell{width:58px;min-width:58px}.admin-day-table th:first-child{z-index:2;left:0}.admin-time-cell,.admin-court-row-cell{z-index:1;color:var(--color-muted);white-space:nowrap;background:#fff;font-size:12px;font-weight:860;position:sticky;left:0}.admin-time-cell span{color:var(--color-muted);margin-top:2px;font-size:11px;font-weight:700;display:block}.admin-day-table .admin-overview-slot{border-radius:5px;align-content:center;width:100%;min-width:78px;height:60px;padding:5px;font-size:11px;line-height:1.15;display:grid;overflow:hidden}.admin-day-table .admin-overview-slot-wrap{height:60px}.admin-day-table .admin-overview-slot strong,.admin-day-table .admin-overview-slot span,.admin-day-table .admin-overview-slot em{min-width:0;color:inherit;text-overflow:ellipsis;white-space:nowrap;margin:0;display:block;overflow:hidden}.admin-day-table .admin-overview-slot strong{font-size:12px;font-weight:900}.admin-day-table .admin-overview-slot span,.admin-day-table .admin-overview-slot em{margin-top:1px;font-size:11px;font-style:normal;font-weight:780}.admin-day-table .admin-overview-slot.closed,.admin-day-table .admin-overview-slot.past{visibility:visible;pointer-events:none}.admin-day-table .admin-overview-slot.closed{border-color:var(--brand-border);background:var(--slot-past-bg);color:var(--slot-past-text)}.admin-day-table .admin-overview-slot.is-past-slot{opacity:.68}.admin-day-table .admin-overview-slot.booked.is-past-slot{border-style:dashed}.admin-day-table .admin-overview-slot.booked.is-past-slot:hover,.admin-day-table .admin-overview-slot.booked.is-past-slot:focus-visible{opacity:1}.admin-day-table .admin-overview-slot.search-match{border-color:var(--brand-accent);box-shadow:inset 0 0 0 2px var(--brand-accent), 0 0 0 2px #8b5cf629}.admin-day-empty{min-height:118px;color:var(--color-muted);place-items:center;padding:20px;font-size:14px;font-weight:780;display:grid}.admin-order-detail-panel,.admin-quick-create{max-height:none;position:static;overflow:visible}.admin-order-detail-panel .admin-booking-detail{border-bottom:0;margin-bottom:0;padding-bottom:0}.quick-booking-form{grid-template-columns:minmax(140px,1fr) minmax(160px,1fr) minmax(260px,1.4fr) minmax(160px,.8fr);align-items:end}.quick-booking-form>label,.quick-booking-form>.two-cols,.quick-booking-form>.three-cols{min-width:0}.quick-booking-form>.three-cols,.quick-booking-form .quick-selected-area,.quick-booking-form .notice,.quick-booking-form .day-tabs,.quick-booking-form .slot-picker,.quick-booking-form .primary-button{grid-column:1/-1}.quick-booking-form .admin-selected-list{max-height:180px}.quick-booking-form .primary-button{justify-self:start;width:auto}.admin-booking-detail{border-bottom:1px solid #4a2a851f;gap:10px;margin-bottom:16px;padding-bottom:16px;display:grid}.admin-booking-detail .panel-title{justify-content:space-between;margin-bottom:0}.admin-booking-detail .panel-title h2{flex:1}.detail-status-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.detail-status-controls label{color:var(--color-muted);gap:5px;font-size:12px;font-weight:780;display:grid}.admin-booking-detail dl{gap:8px;margin:0;display:grid}.admin-booking-detail dl>div{grid-template-columns:58px minmax(0,1fr);gap:10px;display:grid}.admin-booking-detail dt{color:var(--color-muted);font-size:13px;font-weight:760}.admin-booking-detail dd{color:var(--color-text);margin:0;font-weight:820}.detail-lines{color:var(--color-muted);gap:4px;font-size:13px;display:grid}.customer-edit-form{background:var(--color-panel-soft);border:1px solid #4a2a851f;border-radius:8px;gap:10px;padding:12px;display:grid}.customer-edit-form textarea{min-height:76px}.admin-booking-detail .row-actions .secondary-button{width:auto}.admin-selected-list{max-height:160px}.two-cols,.settings-band{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.three-cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.recurring-layout{grid-template-columns:minmax(0,1fr) 440px;align-items:start;gap:18px;display:grid}.recurring-form,.request-meta{gap:12px;display:grid}.recurring-check{background:#fff;border:1px solid #4a2a8524;border-radius:8px;align-self:end;min-height:40px;padding:0 10px}.court-checkbox-grid{background:var(--color-panel-soft);border:1px solid #4a2a851f;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;padding:12px;display:grid}.form-actions,.review-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.review-actions{margin:12px 0}.form-actions .primary-button,.form-actions .secondary-button,.review-actions .primary-button,.review-actions .secondary-button{width:auto}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.summary-grid div{background:var(--color-panel-soft);border:1px solid #4a2a851f;border-radius:8px;gap:4px;padding:10px;display:grid}.summary-grid span,.request-meta span{color:var(--color-muted);font-size:12px;font-weight:760}.summary-grid strong{font-size:20px}.preview-scroll{max-height:520px}.review-slot-scroll{max-height:420px}.compact-table th,.compact-table td{min-width:112px;font-size:13px}.compact-table input[type=checkbox]{width:18px;min-height:18px}.compact-table input,.compact-table select{min-width:104px}.selected-row{background:var(--brand-primary-light)}.orders-table tbody tr{transition:background .15s}.orders-table tbody tr:hover{background:#f3eeffc7}.source-badge{background:var(--brand-primary-light);min-height:26px;color:var(--brand-accent);white-space:nowrap;border-radius:999px;align-items:center;padding:0 9px;font-size:12px;font-weight:850;display:inline-flex}.bulk-booking-panel{gap:12px;display:grid}.bulk-summary{color:var(--color-muted);justify-items:end;gap:2px;font-size:13px;font-weight:760;display:grid}.bulk-summary strong{color:var(--color-heading);font-size:18px}.bulk-tool-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.bulk-tool-panel{background:var(--color-panel-soft);border:1px solid #4a2a851f;border-radius:8px;gap:8px;padding:10px;display:grid}.bulk-tool-panel h3,.bulk-preview-panel h3{color:var(--color-heading);margin:0;font-size:14px}.bulk-tool-fields{grid-template-columns:repeat(5,minmax(0,1fr)) auto;gap:6px;display:grid}.bulk-tool-fields input,.bulk-tool-fields select{min-width:0;min-height:34px}.bulk-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bulk-actions .primary-button,.bulk-actions .secondary-button,.bulk-member-cell .secondary-button{min-height:34px;padding:0 10px}.bulk-booking-table-wrap{border:1px solid #4a2a851a;border-radius:8px;max-height:56vh}.bulk-booking-table th{z-index:1;background:#fff;position:sticky;top:0}.bulk-booking-table th,.bulk-booking-table td{vertical-align:top;padding:6px}.bulk-booking-table input,.bulk-booking-table select{width:100%;min-width:92px;min-height:32px;font-size:13px}.bulk-booking-table td:first-child{min-width:38px;color:var(--color-muted);font-weight:850}.bulk-row-error{background:#fff1f2}.bulk-member-cell{min-width:180px}.bulk-member-bound{justify-content:space-between;align-items:center;gap:4px;margin-bottom:4px;display:flex}.bulk-member-bound span{min-width:0;color:var(--color-heading);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:850;overflow:hidden}.source-badge.unbound{color:#475569;background:#f1f5f9;margin-bottom:4px}.mini-button{justify-content:center;width:100%;margin-top:4px}.bulk-member-suggestions{gap:4px;max-height:128px;margin-top:6px;display:grid;overflow:auto}.bulk-member-suggestions button{color:#1e3a8a;text-align:left;background:#eff6ff;border:1px solid #1e40af29;border-radius:6px;gap:1px;padding:5px 6px;display:grid}.bulk-member-suggestions span{color:#475569;font-size:12px}.bulk-error-panel,.bulk-warning-panel,.bulk-preview-panel{background:#fff7f7;border:1px solid #b91c1c29;border-radius:8px;gap:6px;max-height:220px;padding:10px;display:grid;overflow:auto}.bulk-warning-panel{background:#fffbeb;border-color:#d9770633}.bulk-error-panel>div{color:#991b1b;grid-template-columns:72px 92px minmax(0,1fr);align-items:start;gap:8px;font-size:13px;display:grid}.bulk-warning-panel>div{color:#92400e;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.bulk-error-panel p{margin:0}.bulk-apply-all-recommendations{justify-self:start;min-height:34px}.bulk-recommendation-row{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.bulk-recommendation-row>span:first-child{color:var(--color-muted);font-size:12px;font-weight:850}.bulk-recommendation-row .mini-button{width:auto;min-height:28px;margin-top:0}.bulk-override-check{background:#fffbeb;border:1px solid #d9770638;border-radius:6px;min-height:36px;padding:0 8px}.time-unit-rules-head{align-items:flex-start}.time-unit-rules-head h2,.time-unit-rules-head p{margin:0}.time-unit-rules-head p{color:var(--color-muted);margin-top:4px;font-size:13px;font-weight:760}.time-unit-empty{background:var(--color-panel-soft);color:var(--color-muted);border:1px dashed #4a2a852e;border-radius:8px;padding:12px;font-size:14px;font-weight:760}.time-unit-rule-list{gap:12px;display:grid}.time-unit-rule-card{background:#fff;border:1px solid #4a2a851f;border-radius:8px;gap:14px;padding:14px;display:grid;box-shadow:0 10px 28px #4a2a8514}.time-unit-rule-card.is-disabled{opacity:.78;background:#f8fafc}.time-unit-card-summary{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.time-unit-card-summary-main{gap:5px;min-width:0;display:grid}.time-unit-title-row{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.time-unit-icon{font-size:18px;line-height:1}.time-unit-card-summary h3{min-width:0;color:var(--color-heading);overflow-wrap:anywhere;margin:0;font-size:18px;line-height:1.25}.time-unit-card-summary p{color:var(--color-muted);margin:0;font-size:14px;font-weight:820}.time-unit-card-summary-line{color:#166534}.time-unit-card-actions{justify-items:end;gap:8px;min-width:140px;display:grid}.time-unit-card-actions .mini-button{width:auto;min-width:86px;margin-top:0}.time-unit-priority-chip{background:var(--color-panel-soft);min-height:28px;color:var(--color-muted);white-space:nowrap;border:1px solid #4a2a851f;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:850;display:inline-flex}.time-unit-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.time-unit-card-grid label,.time-unit-field-group{min-width:0;color:var(--color-heading);gap:6px;font-size:13px;font-weight:850;display:grid}.time-unit-card-grid input,.time-unit-card-grid select{width:100%;min-width:0}.time-unit-field-wide{grid-column:1/-1}.time-unit-day-actions{flex-wrap:wrap;gap:6px;display:flex}.time-unit-day-actions .mini-button{width:auto;min-height:34px;margin-top:0}.time-unit-day-checks{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.time-unit-day-check{background:var(--color-panel-soft);border:1px solid #4a2a851f;border-radius:8px;justify-content:center;min-height:36px;padding:0 8px;font-size:12px}.time-unit-switch{background:var(--color-panel-soft);border:1px solid #4a2a851f;border-radius:8px;align-self:start;min-height:40px;padding:0 10px}.time-unit-copy-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.time-unit-card-footer{border-top:1px solid #4a2a851a;justify-content:space-between;align-items:center;gap:10px;padding-top:12px;display:flex}.time-unit-card-footer span{color:var(--color-muted);font-size:13px;font-weight:850}.time-unit-delete-button{color:#b91c1c;min-height:36px}@media (width<=860px){.time-unit-card-grid,.time-unit-copy-fields{grid-template-columns:1fr}.time-unit-day-checks{grid-template-columns:repeat(4,minmax(0,1fr))}.time-unit-card-summary,.time-unit-card-footer{flex-direction:column;align-items:stretch}.time-unit-card-actions{justify-items:stretch}.time-unit-card-actions .mini-button,.time-unit-delete-button{width:100%}}@media (width<=520px){.time-unit-rules-head{flex-direction:column}.time-unit-rules-head .secondary-button,.time-unit-day-actions .mini-button{width:100%}.time-unit-day-checks{grid-template-columns:repeat(2,minmax(0,1fr))}}.slot-time-unit-badge,.slot-time-unit-description{color:#0369a1;font-size:11px;line-height:1.2;display:block}.slot-time-unit-description{color:#475569}.bulk-preview-panel{background:#f7fff9;border-color:#16653429}.bulk-preview-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.bulk-preview-list span{color:var(--color-text);background:#fff;border-radius:6px;padding:5px 7px;font-size:12px;font-weight:720}.status.request-pending,.status.request-approved,.status.request-partially_approved{background:var(--brand-primary-light);color:var(--brand-primary-dark)}.status.request-rejected,.status.request-cancelled{color:#8d242b;background:#f7e1e1}.settings-page{gap:16px;display:grid}.settings-page section:has(.open-hours){display:none}.business-hours-page .section-head .primary-button{width:auto}.business-hour-list{gap:10px}.business-hour-row{background:var(--color-panel-soft);border:1px solid #4a2a851a;border-radius:8px;grid-template-columns:90px 110px repeat(2,minmax(120px,160px));align-items:end;gap:10px;padding:10px;display:grid}.business-hour-row strong{color:var(--color-text);align-self:center;font-size:15px;font-weight:880}.special-hour-form{grid-template-columns:minmax(150px,.9fr) 112px repeat(2,minmax(120px,.7fr)) minmax(220px,1.4fr) auto;align-items:end;gap:10px;margin-bottom:14px;display:grid}.special-hour-form .primary-button{white-space:nowrap;width:auto}.special-closed-check{background:var(--color-panel-soft);border:1px solid #4a2a8524;border-radius:8px;min-height:40px;padding:0 10px}.special-hours-table td{vertical-align:middle}.notice-admin-grid{grid-template-columns:minmax(0,1fr) 360px;padding-bottom:88px}.notice-admin-list,.promotion-plan-list{gap:12px;display:grid}.notice-admin-item{background:#fff;border:1px solid #4a2a851f;border-left-width:4px;border-radius:8px;gap:12px;padding:14px;display:grid}.notice-admin-item.normal{border-left-color:var(--brand-primary)}.notice-admin-item.notice{border-left-color:var(--brand-accent)}.notice-admin-item.danger{border-left-color:#a72c33}.notice-admin-item.bank_info{border-left-color:#8a6712}.notice-admin-item-head,.promotion-plan-item-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.promotion-plan-item{border:1px solid #4a2a851f;border-left:4px solid var(--brand-accent);background:#fff;border-radius:8px;gap:12px;padding:14px;display:grid}.promotion-plan-item-head span{color:var(--color-muted);margin-top:4px;font-size:13px;font-weight:700;display:block}.notice-admin-fields{grid-template-columns:minmax(180px,1.2fr) minmax(140px,.8fr) 96px 96px 126px;align-items:end;gap:10px;display:grid}.promotion-admin-fields{grid-template-columns:repeat(4,minmax(128px,1fr));align-items:end;gap:10px;display:grid}.notice-content-field,.wide-field{grid-column:1/-1}.field-label{color:var(--color-muted);margin-bottom:6px;font-size:13px;font-weight:760;display:block}.weekday-checkbox-grid{background:var(--color-panel-soft);border:1px solid #4a2a851f;border-radius:8px;grid-template-columns:repeat(7,minmax(74px,1fr));gap:8px;padding:12px;display:grid}.admin-side .promotion-admin-fields{grid-template-columns:1fr}.notice-toggle{background:var(--color-panel-soft);border:1px solid #4a2a8524;border-radius:8px;justify-content:flex-start;align-self:end;min-height:40px;padding:0 10px}.settings-band{grid-template-columns:repeat(3,minmax(0,1fr));padding:16px}.settings-page section{padding:16px}.rules-grid{gap:8px;display:grid}.rule-row{grid-template-columns:70px 130px 130px 100px;align-items:center;gap:10px;display:grid}.check-label{align-items:center;gap:8px;display:inline-flex}.check-label input{width:18px;min-height:18px}.rules-table input,.rules-table select{min-width:112px}.sticky-actions{background:#fffffff0;border:1px solid #4a2a851f;border-radius:8px;justify-content:flex-end;align-items:center;gap:14px;padding:12px;display:flex;position:sticky;bottom:12px;box-shadow:0 12px 36px #4a2a8524}.sticky-actions .primary-button{width:auto}.notice-save-dock{z-index:30;background:#fffffff5;border:1px solid #4a2a8524;border-radius:8px;justify-content:flex-end;align-items:center;gap:10px;max-width:min(640px,100% - 32px);padding:12px;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 16px 44px #4a2a852e}.notice-save-dock .primary-button,.notice-save-dock .secondary-button{white-space:nowrap;width:auto;min-width:112px}.notification-center-page{gap:14px;display:grid}.notification-center-tabs{background:var(--color-panel-soft);border:1px solid #4a2a851f;border-radius:8px;gap:8px;padding:4px;display:inline-flex}.notification-center-tabs button{min-height:36px;box-shadow:none;background:0 0;border-color:#0000}.notification-center-tabs button.active{border-color:var(--brand-accent);color:var(--brand-primary-dark);background:#fff}.notification-center-grid{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:16px;display:grid}.notification-template-panel{background:#fff;border:1px solid #4a2a851f;border-radius:8px;padding:16px;position:sticky;top:12px}.notification-template-panel textarea{resize:vertical;min-height:180px}.notification-variable-list{flex-wrap:wrap;gap:8px;display:flex}.notification-variable-list code{background:var(--brand-primary-light);color:var(--brand-primary-dark);border-radius:6px;padding:5px 8px;font-size:12px;font-weight:800}.notification-mobile-cards{gap:10px;display:none}.notification-setting-card,.notification-log-card{background:#fff;border:1px solid #4a2a851f;border-radius:8px;gap:12px;padding:14px;display:grid}.notification-setting-card>div:first-child,.notification-log-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.notification-setting-card span{color:var(--color-muted);overflow-wrap:anywhere;margin-top:4px;font-size:12px;font-weight:700;display:block}.notification-card-switches{flex-wrap:wrap;gap:10px;display:flex}.notification-log-filters{margin-bottom:12px}.notification-log-card dl{gap:8px;margin:0;display:grid}.notification-log-card dl>div{grid-template-columns:74px minmax(0,1fr);gap:8px;display:grid}.notification-log-card dt{color:var(--color-muted);font-size:12px;font-weight:800}.notification-log-card dd{overflow-wrap:anywhere;min-width:0;margin:0}.notice-save-dock-status{color:#76540e;white-space:nowrap;font-size:14px;font-weight:820}.notice-save-dock-status.error{color:#8d242b}.backup-admin-grid{grid-template-columns:minmax(0,1fr) 340px}.backup-status-grid,.backup-retention-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.backup-retention-list{grid-template-columns:1fr}.backup-status-grid>div,.backup-retention-list>div,.backup-file-row,.backup-log-meta{background:var(--color-panel-soft);border:1px solid #4a2a851f;border-radius:8px;min-width:0;padding:12px}.backup-status-grid span,.backup-retention-list span,.backup-file-row span,.backup-log-meta span{color:var(--color-muted);font-size:12px;font-weight:780;display:block}.backup-status-grid strong,.backup-retention-list strong,.backup-file-row strong,.backup-log-meta strong{color:var(--color-text);overflow-wrap:anywhere;margin-top:5px;font-size:16px;font-weight:860;display:block}.backup-file-row{grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px;margin-top:12px;display:grid}.backup-actions{margin-top:14px}.backup-actions .primary-button,.backup-actions .secondary-button{width:auto}.backup-log-meta{margin-top:12px}.backup-restore-panel{border-top:1px solid #4a2a851f;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin-top:14px;padding-top:14px;display:grid}.backup-restore-panel .backup-log-meta{grid-column:1/-1;margin-top:0}.field-block{min-width:0}.field-block label{margin-bottom:6px;display:block}.backup-restore-panel .secondary-button{width:auto}.admin-backup-alert{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-backup-alert div{min-width:0}.admin-backup-alert strong,.admin-backup-alert span{display:block}.admin-backup-alert span{overflow-wrap:anywhere;margin-top:4px}.admin-backup-alert .secondary-button{white-space:nowrap;width:auto}.line-diagnostics-page{gap:14px;display:grid}.line-diagnostics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.line-diagnostics-panel{background:#ffffffb8;border:1px solid #4a2a851f;border-radius:8px;min-width:0;padding:14px}.line-diagnostics-panel h3{color:var(--color-text);margin:0 0 10px;font-size:16px}.line-diagnostics-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:0}.line-diagnostics-stats.three{grid-template-columns:repeat(3,minmax(0,1fr))}.line-stats-period-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.line-stats-period{background:var(--color-panel-soft);border:1px solid #4a2a851a;border-radius:8px;gap:8px;min-width:0;padding:10px;display:grid}.line-stats-period>strong{color:var(--color-text);font-size:15px}.line-stats-period span{color:var(--color-muted);grid-template-columns:minmax(62px,1fr) auto auto;align-items:center;gap:8px;font-size:13px;font-weight:780;display:grid}.line-stats-period b{color:var(--color-text);font-size:16px}.line-stats-period em{color:var(--color-muted);font-size:12px;font-style:normal}.legacy-source-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.legacy-url-table td{vertical-align:top}.legacy-url-cell{overflow-wrap:anywhere;max-width:280px;color:var(--color-muted);font-size:13px;line-height:1.45}.line-panel-title-row,.line-filter-row{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:10px;display:flex}.line-panel-title-row h3{margin-bottom:0;margin-right:auto}.line-panel-title-row strong{color:var(--brand-primary-dark);font-size:13px;font-weight:850}.line-filter-row{background:var(--color-panel-soft);border:1px solid #4a2a851a;border-radius:8px;padding:8px 10px}.line-filter-row .check-label{min-height:28px;color:var(--color-text);font-size:13px;font-weight:780}.line-warning-badge{color:#7b5410;white-space:nowrap;background:#fff4d8;border-radius:999px;align-items:center;min-height:24px;padding:2px 8px;font-size:12px;font-weight:850;display:inline-flex}.line-health-list{gap:8px;display:grid}.line-health-row{background:var(--color-panel-soft);border:1px solid #4a2a851a;border-radius:8px;grid-template-columns:minmax(120px,1fr) auto;align-items:center;gap:6px 10px;padding:10px;display:grid}.line-health-row span{color:var(--color-muted);font-weight:800}.line-health-row em{color:var(--color-muted);overflow-wrap:anywhere;grid-column:1/-1;font-size:12px;font-style:normal}.line-action-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.line-action-row .primary-button{width:auto}.line-action-row span,.line-action-row em{color:var(--color-muted);overflow-wrap:anywhere;font-size:13px;font-style:normal;font-weight:760}.line-diagnostics-table td{vertical-align:top}@media (width<=1500px){.admin-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-week-overview-page.has-detail{grid-template-columns:1fr}.quick-booking-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1120px){.booking-layout,.admin-grid,.recurring-layout,.line-diagnostics-grid,.legacy-source-grid{grid-template-columns:1fr}.side-panel{position:static}}@media (width<=720px){html,body{max-width:100%;overflow-x:hidden}.migration-notice-page{padding:18px 12px calc(18px + env(safe-area-inset-bottom,0px));align-items:start}.migration-notice-panel{padding:24px 16px}.migration-notice-panel h1{font-size:24px}.app-shell{width:min(100% - 20px,1480px);max-width:100%;padding-top:6px;padding-bottom:calc(88px + env(safe-area-inset-bottom,0px));overflow-x:hidden}.booking-layout,.booking-main,.slot-picker,.mobile-slot-list{min-width:0;max-width:100%;overflow-x:hidden}.booking-main,.side-panel{padding:14px}.booking-mode-switch{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.booking-mode-switch button{width:100%;min-width:0;min-height:44px}.quick-booking-controls,.quick-result-card{grid-template-columns:1fr}.quick-booking-controls select,.quick-search-button,.quick-result-card .secondary-button{min-height:48px}.quick-result-card{align-items:stretch}.quick-shortage-panel li{flex-direction:column;align-items:flex-start;gap:3px}.order-panel{padding-bottom:calc(18px + env(safe-area-inset-bottom,0px))}.order-panel.is-empty .panel-title{margin-bottom:8px}.topbar,.section-head{flex-direction:column;align-items:flex-start}.public-topbar{gap:5px;margin-bottom:8px;padding:2px 0 5px}.public-topbar h1{font-size:22px;line-height:1.05}.public-brand{gap:8px}.public-brand-icon{flex-basis:40px;width:40px;height:40px}.admin-nav{width:100%;overflow:auto}.topbar-actions{justify-content:flex-start;width:100%}.public-topbar .topbar-actions{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:5px;padding-bottom:3px;overflow:auto hidden}.public-topbar .topbar-actions::-webkit-scrollbar{display:none}.public-topbar .member-chip,.public-topbar .icon-link,.public-topbar .line-login-button{white-space:nowrap;flex:none;justify-content:center;align-items:center;gap:5px;height:36px;min-height:36px;padding:0 9px;font-size:13px;line-height:1}.public-topbar .icon-link svg,.public-topbar .line-login-button svg{width:17px;height:17px}.public-topbar .member-chip img{width:22px;height:22px}.public-topbar .member-menu-button{width:36px;min-width:36px;padding:0}.public-topbar .member-menu-panel{width:min(320px,86vw);min-width:0;padding:calc(14px + env(safe-area-inset-top,0px)) 12px 14px;border-block:0;border-right:0;border-radius:8px 0 0 8px;top:0;bottom:0;right:0;overflow-y:auto}.group-events-page{padding:14px}.group-event-list-toggle{min-height:46px;margin-bottom:12px;padding:0 12px}.public-day-tabs{margin-inline:-8px;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;grid-template-columns:none;gap:6px;margin-bottom:10px;padding:0 12px 6px;display:flex;overflow:auto hidden}.public-day-tabs::-webkit-scrollbar{display:none}.public-day-tabs button{scroll-snap-align:start;flex:0 0 66px;min-height:48px;padding:4px 2px}.public-day-tabs span{font-size:11px}.public-day-tabs strong{margin-top:1px;font-size:14px}.week-tab-strip{flex-wrap:nowrap;margin-inline:-2px}.week-tab{flex-basis:92px}.admin-stat-grid,.line-diagnostics-stats,.line-diagnostics-stats.three{grid-template-columns:repeat(2,minmax(0,1fr))}.line-stats-period-grid{grid-template-columns:1fr}.line-panel-title-row{flex-direction:column;align-items:flex-start}.line-health-row{grid-template-columns:1fr}.admin-week-grid-wrap{max-height:none}.admin-week-grid{grid-template-columns:68px repeat(var(--day-count), minmax(180px, 1fr));min-width:calc(68px + (var(--day-count) * 180px))}.admin-day-table-grid,.detail-status-controls,.quick-booking-form,.admin-create-booking-page .admin-create-form{grid-template-columns:1fr}.admin-court-cell,.admin-court-day-grid{min-height:82px}.admin-overview-slot{height:72px}.admin-day-head{flex-direction:column;align-items:flex-start}.admin-overview-table th{min-width:108px}.admin-overview-slot{min-width:104px}.slot-picker.has-mobile-cards .table-wrap{display:none}.slot-picker.has-mobile-cards .mobile-slot-list{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px));gap:6px;display:grid}.member-orders-page{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));gap:12px}.member-group-events-page{padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));gap:8px}.member-orders-page .section-head,.member-group-events-page .section-head{gap:10px}.member-group-events-page .section-head{align-items:center}.member-group-events-page .section-head .eyebrow{display:none}.member-group-events-page .section-head h2{font-size:20px;line-height:1.15}.member-group-event-back{white-space:nowrap;flex:none;font-size:13px}.member-orders-table-wrap,.member-group-event-table-wrap{display:none}.member-order-card-list{gap:10px;min-width:0;display:grid}.member-group-event-card-list{gap:12px;min-width:0;display:grid}.member-order-tabs{gap:6px}.member-order-tabs button{min-height:48px;box-shadow:none;text-align:center;border-color:#7560a82e;border-radius:14px;padding:7px 5px}.member-order-tabs button.active{background:#6d28d9;border-color:#5b21b6db;box-shadow:0 8px 18px #4a2a8524}.member-group-event-tabs{background:#f8fafc;border:1px solid #7560a82e;border-radius:999px;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:3px;display:grid}.member-group-event-tabs button{color:#475569;min-height:34px;box-shadow:none;background:0 0;border:0;border-radius:999px;padding:0 10px}.member-group-event-tabs button.active{color:var(--brand-primary-dark);background:#fff;box-shadow:0 2px 8px #0f172a1a}.member-group-event-tabs span{font-size:14px;font-weight:900;line-height:1}.member-order-tabs span{font-size:11px;line-height:1.15}.member-order-tabs strong{margin-top:2px;font-size:17px;line-height:1.1}.member-order-card{border-radius:16px;padding:13px}.member-order-card .status,.member-waitlist-card .status,.member-group-event-card .status{min-height:24px;padding:0 8px;font-size:11px}.member-group-event-card{border-radius:10px;gap:6px;padding:9px 11px;box-shadow:0 6px 16px #4a2a8512}.member-group-event-card-head{align-items:flex-start;gap:8px}.member-group-event-card-head h3{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding-right:2px;font-size:15px;line-height:1.25;overflow:hidden}.member-group-event-card .status{border-radius:999px;flex:none;min-height:22px;padding:0 7px;font-size:11px;line-height:1}.member-group-event-compact-line,.member-group-event-player{color:#475569;align-items:center;gap:8px;min-width:0;font-size:13px;font-weight:720;line-height:1.28;display:flex}.member-group-event-compact-line span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.member-group-event-compact-line span+span:before{content:"｜";color:#cbd5e1;margin-right:8px;font-weight:500}.member-group-event-compact-line.strong{color:var(--color-heading);font-size:13px;font-weight:850}.member-group-event-compact-line .not-formed{color:#b91c1c;font-weight:900}.member-group-event-compact-line .formed{color:#166534;font-weight:850}.member-group-event-player{color:#64748b;font-size:12px;font-weight:680}.member-group-event-card dl{display:none}.member-group-event-warning{min-height:22px;padding:0 7px;font-size:11px}.member-group-event-warning:not(.inline){display:none}.member-group-event-actions .member-cancel-button,.member-group-event-actions .deadline-text{border-radius:8px;width:fit-content;min-width:0;min-height:28px;margin-top:1px;padding:0 10px;font-size:12px}.member-group-event-actions .deadline-text{color:#b91c1c;align-items:center;font-weight:800;line-height:1.25;display:inline-flex}.member-order-actions .member-cancel-button,.member-empty-card .primary-button{width:100%;min-width:0}.member-waitlist-table-wrap{display:none}.member-waitlist-cards{gap:10px;min-width:0;display:grid}.member-waitlist-card{background:#fffffff5;border-color:#7560a82e;border-radius:16px;gap:12px;padding:14px;box-shadow:0 10px 28px #4a2a8514}.member-waitlist-card.cancelled,.member-waitlist-card.expired{opacity:.65;box-shadow:none;background:#f5f3f8}.member-waitlist-card-head{align-items:flex-start}.member-waitlist-card-head strong{color:var(--color-heading);font-size:16px}.member-waitlist-card dl{grid-template-columns:1fr 1fr;gap:10px}.member-waitlist-card dl>div:last-child{grid-column:auto}.member-waitlist-card dt{font-size:11px}.member-waitlist-card dd{overflow-wrap:anywhere;white-space:normal;font-size:14px;font-weight:820}.member-waitlist-actions{grid-template-columns:1fr;gap:7px;margin-top:2px;display:grid}.member-waitlist-actions .primary-button,.member-waitlist-actions .secondary-button{border-radius:12px;width:100%;min-width:0;min-height:38px;font-size:13px}.member-waitlist-actions .secondary-button.danger{color:#6b5b83;box-shadow:none;background:#f7f4fb;border-color:#7560a833}.waitlist-confirm-dialog{align-self:end;max-height:calc(100vh - 24px);overflow:auto}.waitlist-confirm-dialog .row-actions{grid-template-columns:1fr;display:grid}.waitlist-confirm-dialog .row-actions .primary-button,.waitlist-confirm-dialog .row-actions .secondary-button{width:100%;min-width:0}.mobile-time-card{gap:4px;padding:6px}.mobile-time-card h3{font-size:14px;line-height:1.05}.mobile-court-list{gap:4px}.mobile-slot-button{gap:2px;height:48px;min-height:46px;max-height:52px;padding:4px 3px}.mobile-court-name{font-size:12px;line-height:1.1}.mobile-slot-state{text-overflow:clip;white-space:normal;font-size:11px;line-height:1.15;overflow:visible}.mobile-slot-selected-label{color:#fff;white-space:nowrap;width:100%;font-size:10px;font-weight:900;line-height:1}.settings-band,.two-cols,.three-cols,.notice-admin-fields,.promotion-admin-fields,.notification-center-grid,.business-hour-row,.special-hour-form,.backup-status-grid,.weekday-checkbox-grid{grid-template-columns:1fr}.notification-template-panel{position:static}.notification-desktop-table{display:none}.notification-mobile-cards{display:grid}.notification-center-tabs,.notification-center-tabs button,.notification-log-filters .secondary-button{width:100%}.rule-row{grid-template-columns:1fr 1fr}.notice-save-dock{flex-wrap:wrap;max-width:none;bottom:10px;left:10px;right:10px}.notice-save-dock .primary-button,.notice-save-dock .secondary-button{flex:140px}.admin-backup-alert{flex-direction:column;align-items:stretch}.admin-backup-alert .secondary-button{width:100%}.backup-restore-panel{grid-template-columns:1fr}.backup-restore-panel .secondary-button{width:100%}}body{background-color:var(--color-page);color:var(--color-text);background-image:linear-gradient(#f3eeffe6,#f8f7fcf5),url(https://images.unsplash.com/photo-1626224583764-f87db24ac4ea?auto=format&fit=crop&w=1800&q=80);background-size:cover;background-attachment:fixed}a{color:var(--color-link)}.topbar h1,.section-head h2,.panel-title h2,.login-card h1,.mobile-time-card h3,.admin-day-head strong,.admin-stat-grid strong,.admin-court-cell,.admin-day-table-head strong,.admin-booking-detail dd,.business-hour-row strong,.backup-status-grid strong,.backup-retention-list strong,.backup-file-row strong,.backup-log-meta strong{color:var(--color-heading)}.eyebrow,.slot-table th,.slot-table th:first-child,.time-cell,.orders-table th,.rules-table th,.orders-table td span,.muted,.selected-item span,.admin-overview-slot span,.admin-stat-grid span,.admin-stat-grid em,.admin-day-head span,.admin-day-head em,.search-result-summary,.admin-overview-legend,.admin-day-table-head span,.admin-day-table-head em,.admin-day-table th,.admin-time-cell span,.admin-day-empty,.detail-status-controls label,.admin-booking-detail dt,.detail-lines,.summary-grid span,.request-meta span,.promotion-plan-item-head span,.field-label,label,.backup-status-grid span,.backup-retention-list span,.backup-file-row span,.backup-log-meta span{color:var(--color-muted)}.booking-main,.side-panel,.login-card,.settings-band,.settings-page section,.mobile-time-card,.admin-overview-panel,.admin-week-search-panel,.overview-batch-toolbar,.search-results-wrap,.admin-week-grid-wrap,.admin-day-table-card,.notice-admin-item,.promotion-plan-item,.sticky-actions,.notice-save-dock,.backup-status-grid>div,.backup-retention-list>div,.backup-file-row,.backup-log-meta{border-color:var(--brand-border);box-shadow:var(--shadow-panel);background:#fffffff5}.admin-stat-grid>div,.booking-rule-check,.customer-edit-form,.court-checkbox-grid,.summary-grid div,.business-hour-row,.weekday-checkbox-grid,.notice-toggle,.special-closed-check{background:var(--color-panel-soft);border-color:var(--brand-border)}.icon-button,.icon-link,.secondary-button,.primary-button,.admin-nav button,.member-chip,.day-tabs button,.member-order-tabs button,.week-tab,input,select,textarea,.inline-status-select,.search-input-wrap,.recurring-check{border-color:var(--brand-border);background:var(--color-panel);color:var(--color-text)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline-offset:2px;border-color:var(--color-focus);outline:3px solid #8b5cf657}.primary-button,.day-tabs button.active,.member-order-tabs button.active,.icon-link.active{border-color:var(--brand-primary);background:var(--brand-primary);color:#fff;box-shadow:var(--shadow-brand)}.primary-button:hover,.day-tabs button.active:hover,.member-order-tabs button.active:hover,.icon-link.active:hover{border-color:var(--brand-primary-dark);background:var(--brand-primary-dark)}.secondary-button,.admin-nav button.active,.week-tab.active,.secondary-button:hover,.icon-button:hover,.icon-link:hover,.day-tabs button:hover,.member-order-tabs button:hover,.week-tab:hover{border-color:var(--brand-accent);background:var(--brand-primary-light);color:var(--brand-primary-dark)}.danger,.icon-button.danger{color:var(--color-danger)}.line-login-button{color:#fff;background:#06c755;border-color:#05b34d}.app-shell.admin-shell{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:16px;display:grid}.admin-shell .topbar{display:contents}.admin-shell .topbar>div:first-child{grid-column:1/-1;padding:12px 0 2px}.admin-shell>:not(.topbar){grid-column:2;min-width:0}.admin-shell .admin-nav{background:var(--brand-primary-dark);max-height:calc(100vh - 100px);box-shadow:var(--shadow-panel);border:1px solid #ffffff29;border-radius:8px;flex-direction:column;grid-column:1;align-items:stretch;padding:10px;position:sticky;top:12px;overflow:auto}.admin-shell .admin-nav button,.admin-shell .admin-nav .icon-link{color:#fff;width:100%;box-shadow:none;background:0 0;border-color:#ffffff29;justify-content:flex-start}.admin-shell .admin-nav button:hover,.admin-shell .admin-nav .icon-link:hover{color:#fff;background:#ffffff1f;border-color:#ffffffb8}.admin-shell .admin-nav button.active{border-color:var(--brand-accent);background:var(--brand-primary);color:#fff}.slot-table th,.slot-table td,.orders-table th,.orders-table td,.rules-table th,.rules-table td,.admin-corner-cell,.admin-day-column-head,.admin-court-cell,.admin-court-day-grid,.admin-day-table th,.admin-day-table td,.selected-item,.admin-booking-detail{border-color:var(--brand-border)}.orders-table tbody tr:hover,.selected-row{background:var(--brand-primary-light)}.source-badge,.status.confirmed,.status.pending_payment,.status.held,.status.request-pending,.status.request-approved,.status.request-partially_approved{background:var(--brand-primary-light);color:var(--brand-primary-dark)}.booking-notice-section.normal,.notice-admin-item.normal{border-left-color:var(--brand-primary)}.booking-notice-section.notice,.notice-admin-item.notice,.promotion-plan-item{border-left-color:var(--brand-accent)}.notice{background:var(--brand-primary-light);color:var(--brand-primary-dark);border-color:#d8ccfa}.notice.error,.status.cancelled,.status.expired,.status.no_show,.status.request-rejected,.status.request-cancelled{color:var(--color-danger);background:#fff1f2}.notice.warning,.deadline-text,.notice-save-dock-status{color:var(--color-warning)}.week-tab.active{border-color:var(--brand-primary);background:var(--brand-primary);color:#fff;box-shadow:var(--shadow-brand)}.week-tab em{background:var(--brand-primary-light);color:var(--brand-primary-dark)}.slot-button,.mobile-slot-button,.admin-overview-slot,.admin-overview-slot.empty-slot{border-color:var(--brand-border);background:var(--slot-available-bg);color:var(--slot-available-text)}.slot-button span,.mobile-slot-state,.admin-overview-slot span,.admin-overview-slot em{color:var(--color-muted)}.slot-button.selected,.mobile-slot-button.selected,.admin-overview-slot.selected,.admin-overview-slot.empty-slot.selected,.admin-overview-slot.batch-selected{border-color:var(--brand-primary-dark);background:var(--slot-selected-bg);color:var(--slot-selected-text);box-shadow:inset 0 0 0 2px var(--brand-primary-dark)}.slot-button.selected span,.mobile-slot-button.selected .mobile-slot-state,.admin-overview-slot.selected span,.admin-overview-slot.selected em,.admin-overview-slot.batch-selected span,.admin-overview-slot.batch-selected em{color:var(--slot-selected-text)}.admin-overview-slot.batch-selected:after{background:var(--brand-primary-dark);color:#fff}.admin-overview-slot.unpaid,.slot-button.unpaid,.mobile-slot-button.unpaid,.slot-button.reserved,.mobile-slot-button.reserved{background:var(--slot-reserved-bg);color:var(--slot-reserved-text);border-color:#c4b5fd}.admin-overview-slot.unpaid span,.slot-button.unpaid span,.mobile-slot-button.unpaid .mobile-slot-state,.slot-button.reserved span,.mobile-slot-button.reserved .mobile-slot-state{color:var(--slot-reserved-text)}.admin-overview-slot.paid,.slot-button.paid,.mobile-slot-button.paid{border-color:var(--brand-primary-dark);background:var(--slot-paid-bg);color:var(--slot-paid-text)}.admin-overview-slot.paid span,.admin-overview-slot.paid em,.slot-button.paid span,.mobile-slot-button.paid .mobile-slot-state{color:var(--slot-paid-text)}.admin-overview-slot.promotion,.slot-button.promotion,.mobile-slot-button.promotion{border-color:var(--brand-accent);background:var(--brand-primary-light);color:var(--brand-primary-dark)}.admin-overview-slot.promotion span,.slot-button.promotion span,.mobile-slot-button.promotion .mobile-slot-state{color:var(--brand-primary-dark)}.admin-overview-slot.past,.admin-overview-slot.closed,.slot-button.past,.slot-button.closed,.mobile-slot-button.past,.mobile-slot-button.closed,.admin-day-table .admin-overview-slot.closed,.admin-day-table .admin-overview-slot.past{background:var(--slot-past-bg);color:var(--slot-past-text);border-color:#d1d5db}.admin-overview-slot.past span,.admin-overview-slot.closed span,.admin-overview-slot.past em,.admin-overview-slot.closed em,.slot-button.past span,.slot-button.closed span,.mobile-slot-button.past .mobile-slot-state,.mobile-slot-button.closed .mobile-slot-state{color:var(--slot-past-text)}.admin-overview-slot.empty-slot:hover,.admin-day-table .admin-overview-slot.search-match{border-color:var(--brand-accent);background:var(--brand-primary-light);box-shadow:inset 0 0 0 2px var(--brand-accent)}.admin-overview-legend .legend-paid{border-color:var(--brand-primary-dark);background:var(--brand-primary-dark)}.admin-overview-legend .legend-unpaid{background:var(--brand-primary-light);border-color:#c4b5fd}.admin-overview-legend .legend-promotion{border-color:var(--brand-accent);background:var(--brand-primary-light)}.admin-overview-legend .legend-empty{border-color:var(--brand-border);background:#fff}mark{color:var(--brand-primary-dark);background:#ede9fe}@media (width<=960px){.app-shell.admin-shell{display:block}.admin-shell .topbar{display:flex}.admin-shell .topbar>div:first-child{padding:0}.admin-shell .admin-nav{flex-direction:row;align-items:center;width:100%;max-height:none;margin-top:12px;position:static;overflow:auto}.admin-shell .admin-nav button,.admin-shell .admin-nav .icon-link{flex:none;width:auto}}.public-topbar+.booking-layout .slot-button.reserved,.public-topbar+.booking-layout .mobile-slot-button.reserved{color:#fff;background:#4b5563;border-color:#374151}.public-topbar+.booking-layout .slot-button.reserved span,.public-topbar+.booking-layout .mobile-slot-button.reserved .mobile-court-name,.public-topbar+.booking-layout .mobile-slot-button.reserved .mobile-slot-state{color:#fff}.public-topbar+.booking-layout .slot-button.available:not(.selected):not(.promotion),.public-topbar+.booking-layout .mobile-slot-button.available:not(.selected):not(.promotion){color:#5b21b6;background:#fff;border-color:#8b5cf6}.public-topbar+.booking-layout .slot-button.available:not(.selected):not(.promotion) span,.public-topbar+.booking-layout .mobile-slot-button.available:not(.selected):not(.promotion) .mobile-slot-state{color:#6d28d9}.public-topbar+.booking-layout .slot-button.selected,.public-topbar+.booking-layout .mobile-slot-button.selected{color:#fff;background:#6d28d9;border-color:#5b21b6;box-shadow:inset 0 0 0 2px #fff3,0 3px 8px #4a2a852e}.public-topbar+.booking-layout .slot-button.selected strong,.public-topbar+.booking-layout .slot-button.selected span,.public-topbar+.booking-layout .mobile-slot-button.selected .mobile-slot-selected-label,.public-topbar+.booking-layout .mobile-slot-button.selected .mobile-court-name,.public-topbar+.booking-layout .mobile-slot-button.selected .mobile-slot-state{color:#fff}.public-topbar+.booking-layout .slot-button.waitlisted,.public-topbar+.booking-layout .mobile-slot-button.waitlisted{color:#1e3a8a;cursor:default;background:#eff6ff;border-color:#2563eb}.public-topbar+.booking-layout .slot-button.waitlisted strong,.public-topbar+.booking-layout .slot-button.waitlisted span,.public-topbar+.booking-layout .mobile-slot-button.waitlisted .mobile-court-name,.public-topbar+.booking-layout .mobile-slot-button.waitlisted .mobile-slot-state{color:#1e3a8a}.mobile-slot-button.waitlisted .mobile-slot-state{white-space:normal;text-overflow:clip;gap:2px;display:grid;overflow:visible}.mobile-slot-button.waitlisted .mobile-slot-state span,.mobile-slot-button.waitlisted .mobile-slot-state small{line-height:1.05;display:block}.mobile-slot-button.waitlisted .mobile-slot-state small{opacity:.85;font-size:10px;font-weight:800}.public-topbar+.booking-layout .slot-button.bookable,.public-topbar+.booking-layout .mobile-slot-button.bookable{color:#1f2937;background:#fff;border-color:#8b5cf6;box-shadow:0 1px 3px #4a2a8514}.public-topbar+.booking-layout .mobile-slot-button{gap:3px;height:60px;min-height:58px;max-height:none;padding:5px 3px}.public-topbar+.booking-layout .mobile-slot-button.bookable .mobile-slot-selected-label{display:none}.public-topbar+.booking-layout .slot-button.bookable strong,.public-topbar+.booking-layout .slot-button.bookable span,.public-topbar+.booking-layout .slot-button.bookable em,.public-topbar+.booking-layout .mobile-slot-button.bookable .mobile-court-name,.public-topbar+.booking-layout .mobile-slot-button.bookable .mobile-slot-state,.public-topbar+.booking-layout .mobile-slot-button.bookable .mobile-slot-state span,.public-topbar+.booking-layout .mobile-slot-button.bookable .mobile-slot-state small{color:#1f2937}.public-topbar+.booking-layout .slot-button.bookable:not(.selected):hover,.public-topbar+.booking-layout .slot-button.bookable:not(.selected):active,.public-topbar+.booking-layout .mobile-slot-button.bookable:not(.selected):hover,.public-topbar+.booking-layout .mobile-slot-button.bookable:not(.selected):active{background:#f5f3ff;border-color:#7c3aed}.public-topbar+.booking-layout .slot-button.waitlist-secondary,.public-topbar+.booking-layout .mobile-slot-button.waitlist-secondary{color:#4b5563;box-shadow:none;background:#f3f4f6;border-color:#d1d5db}.public-topbar+.booking-layout .slot-button.waitlist-secondary strong,.public-topbar+.booking-layout .slot-button.waitlist-secondary span,.public-topbar+.booking-layout .slot-button.waitlist-secondary em,.public-topbar+.booking-layout .mobile-slot-button.waitlist-secondary .mobile-court-name,.public-topbar+.booking-layout .mobile-slot-button.waitlist-secondary .mobile-slot-state,.public-topbar+.booking-layout .mobile-slot-button.waitlist-secondary .mobile-slot-state span,.public-topbar+.booking-layout .mobile-slot-button.waitlist-secondary .mobile-slot-state small{color:#4b5563}.public-topbar+.booking-layout .slot-button.waitlist-secondary:hover,.public-topbar+.booking-layout .mobile-slot-button.waitlist-secondary:hover{background:#eef0f3;border-color:#a7adb7}.public-topbar+.booking-layout .slot-button.waitlisted,.public-topbar+.booking-layout .mobile-slot-button.waitlisted{color:#9a3412;box-shadow:none;cursor:default;background:#fff7ed;border-color:#fed7aa}.public-topbar+.booking-layout .slot-button.waitlisted strong,.public-topbar+.booking-layout .slot-button.waitlisted span,.public-topbar+.booking-layout .slot-button.waitlisted em,.public-topbar+.booking-layout .mobile-slot-button.waitlisted .mobile-court-name,.public-topbar+.booking-layout .mobile-slot-button.waitlisted .mobile-slot-state,.public-topbar+.booking-layout .mobile-slot-button.waitlisted .mobile-slot-state span,.public-topbar+.booking-layout .mobile-slot-button.waitlisted .mobile-slot-state small{color:#9a3412}.public-topbar+.booking-layout .mobile-slot-button.bookable .mobile-slot-state,.public-topbar+.booking-layout .mobile-slot-button.waitlist-secondary .mobile-slot-state,.public-topbar+.booking-layout .mobile-slot-button.waitlisted .mobile-slot-state{white-space:normal;text-overflow:clip;gap:1px;display:grid;overflow:visible}.public-topbar+.booking-layout .mobile-slot-button.bookable .mobile-slot-state span,.public-topbar+.booking-layout .mobile-slot-button.bookable .mobile-slot-state small,.public-topbar+.booking-layout .mobile-slot-button.waitlist-secondary .mobile-slot-state span,.public-topbar+.booking-layout .mobile-slot-button.waitlist-secondary .mobile-slot-state small,.public-topbar+.booking-layout .mobile-slot-button.waitlisted .mobile-slot-state span,.public-topbar+.booking-layout .mobile-slot-button.waitlisted .mobile-slot-state small{text-overflow:ellipsis;min-width:0;line-height:1.05;display:block;overflow:hidden}.public-topbar+.booking-layout .mobile-slot-button.bookable .mobile-slot-state small,.public-topbar+.booking-layout .mobile-slot-button.waitlist-secondary .mobile-slot-state small,.public-topbar+.booking-layout .mobile-slot-button.waitlisted .mobile-slot-state small{font-size:10px;font-weight:850}.public-topbar+.booking-layout .slot-button.bookable.selected,.public-topbar+.booking-layout .mobile-slot-button.bookable.selected{color:#fff;background:#6d28d9;border-color:#5b21b6;box-shadow:inset 0 0 0 2px #fff3,0 3px 8px #4a2a852e}.public-topbar+.booking-layout .slot-button.bookable.selected strong,.public-topbar+.booking-layout .slot-button.bookable.selected span,.public-topbar+.booking-layout .slot-button.bookable.selected em,.public-topbar+.booking-layout .mobile-slot-button.bookable.selected .mobile-court-name,.public-topbar+.booking-layout .mobile-slot-button.bookable.selected .mobile-slot-state,.public-topbar+.booking-layout .mobile-slot-button.bookable.selected .mobile-slot-state span,.public-topbar+.booking-layout .mobile-slot-button.bookable.selected .mobile-slot-state small{color:#fff}.public-topbar+.booking-layout .slot-button.bookable:not(.selected):not(.promotion),.public-topbar+.booking-layout .mobile-slot-button.bookable:not(.selected):not(.promotion){color:#14532d;background:#ecfdf3;border-color:#86c69a;box-shadow:0 1px 3px #1665341a}.public-topbar+.booking-layout .slot-button.bookable:not(.selected):not(.promotion):hover,.public-topbar+.booking-layout .slot-button.bookable:not(.selected):not(.promotion):active,.public-topbar+.booking-layout .mobile-slot-button.bookable:not(.selected):not(.promotion):hover,.public-topbar+.booking-layout .mobile-slot-button.bookable:not(.selected):not(.promotion):active{background:#dcfce7;border-color:#16a34a}.public-topbar+.booking-layout .slot-button.promotion:not(.selected),.public-topbar+.booking-layout .mobile-slot-button.promotion:not(.selected){color:#9a3412;background:#fff7ed;border-color:#fb923c;box-shadow:0 1px 3px #ea580c1f}.public-topbar+.booking-layout .slot-button.promotion:not(.selected):hover,.public-topbar+.booking-layout .slot-button.promotion:not(.selected):active,.public-topbar+.booking-layout .mobile-slot-button.promotion:not(.selected):hover,.public-topbar+.booking-layout .mobile-slot-button.promotion:not(.selected):active{background:#ffedd5;border-color:#ea580c}.public-topbar+.booking-layout .slot-button.waitlist-secondary:not(.selected),.public-topbar+.booking-layout .mobile-slot-button.waitlist-secondary:not(.selected){color:#374151;cursor:pointer;background:#f8fafc;border-color:#cbd5e1;box-shadow:0 1px 2px #0f172a0f}.public-topbar+.booking-layout .slot-button.waitlist-secondary:not(.selected):hover,.public-topbar+.booking-layout .slot-button.waitlist-secondary:not(.selected):active,.public-topbar+.booking-layout .mobile-slot-button.waitlist-secondary:not(.selected):hover,.public-topbar+.booking-layout .mobile-slot-button.waitlist-secondary:not(.selected):active{background:#f1f5f9;border-color:#94a3b8}.public-topbar+.booking-layout .slot-button.booked:not(.waitlist-secondary):not(.waitlisted),.public-topbar+.booking-layout .slot-button.reserved:not(.waitlist-secondary):not(.waitlisted),.public-topbar+.booking-layout .slot-button.closed,.public-topbar+.booking-layout .mobile-slot-button.booked:not(.waitlist-secondary):not(.waitlisted),.public-topbar+.booking-layout .mobile-slot-button.reserved:not(.waitlist-secondary):not(.waitlisted),.public-topbar+.booking-layout .mobile-slot-button.closed{color:#6b7280;box-shadow:none;cursor:not-allowed;background:#f3f4f6;border-color:#d1d5db}.public-topbar+.booking-layout .slot-button.bookable:not(.selected):not(.promotion) strong,.public-topbar+.booking-layout .slot-button.bookable:not(.selected):not(.promotion) span,.public-topbar+.booking-layout .slot-button.bookable:not(.selected):not(.promotion) em,.public-topbar+.booking-layout .mobile-slot-button.bookable:not(.selected):not(.promotion) .mobile-court-name,.public-topbar+.booking-layout .mobile-slot-button.bookable:not(.selected):not(.promotion) .mobile-slot-state,.public-topbar+.booking-layout .mobile-slot-button.bookable:not(.selected):not(.promotion) .mobile-slot-state span,.public-topbar+.booking-layout .mobile-slot-button.bookable:not(.selected):not(.promotion) .mobile-slot-state small{color:#14532d}.public-topbar+.booking-layout .slot-button.promotion:not(.selected) strong,.public-topbar+.booking-layout .slot-button.promotion:not(.selected) span,.public-topbar+.booking-layout .slot-button.promotion:not(.selected) em,.public-topbar+.booking-layout .mobile-slot-button.promotion:not(.selected) .mobile-court-name,.public-topbar+.booking-layout .mobile-slot-button.promotion:not(.selected) .mobile-slot-state,.public-topbar+.booking-layout .mobile-slot-button.promotion:not(.selected) .mobile-slot-state span,.public-topbar+.booking-layout .mobile-slot-button.promotion:not(.selected) .mobile-slot-state small{color:#9a3412}.public-topbar+.booking-layout .slot-button.waitlist-secondary:not(.selected) strong,.public-topbar+.booking-layout .slot-button.waitlist-secondary:not(.selected) span,.public-topbar+.booking-layout .slot-button.waitlist-secondary:not(.selected) em,.public-topbar+.booking-layout .mobile-slot-button.waitlist-secondary:not(.selected) .mobile-court-name,.public-topbar+.booking-layout .mobile-slot-button.waitlist-secondary:not(.selected) .mobile-slot-state,.public-topbar+.booking-layout .mobile-slot-button.waitlist-secondary:not(.selected) .mobile-slot-state span,.public-topbar+.booking-layout .mobile-slot-button.waitlist-secondary:not(.selected) .mobile-slot-state small{color:#374151}.public-topbar+.booking-layout .slot-button.booked:not(.waitlist-secondary):not(.waitlisted) strong,.public-topbar+.booking-layout .slot-button.booked:not(.waitlist-secondary):not(.waitlisted) span,.public-topbar+.booking-layout .slot-button.booked:not(.waitlist-secondary):not(.waitlisted) em,.public-topbar+.booking-layout .slot-button.reserved:not(.waitlist-secondary):not(.waitlisted) strong,.public-topbar+.booking-layout .slot-button.reserved:not(.waitlist-secondary):not(.waitlisted) span,.public-topbar+.booking-layout .slot-button.reserved:not(.waitlist-secondary):not(.waitlisted) em,.public-topbar+.booking-layout .slot-button.closed strong,.public-topbar+.booking-layout .slot-button.closed span,.public-topbar+.booking-layout .slot-button.closed em,.public-topbar+.booking-layout .mobile-slot-button.booked:not(.waitlist-secondary):not(.waitlisted) .mobile-court-name,.public-topbar+.booking-layout .mobile-slot-button.booked:not(.waitlist-secondary):not(.waitlisted) .mobile-slot-state,.public-topbar+.booking-layout .mobile-slot-button.reserved:not(.waitlist-secondary):not(.waitlisted) .mobile-court-name,.public-topbar+.booking-layout .mobile-slot-button.reserved:not(.waitlist-secondary):not(.waitlisted) .mobile-slot-state,.public-topbar+.booking-layout .mobile-slot-button.closed .mobile-court-name,.public-topbar+.booking-layout .mobile-slot-button.closed .mobile-slot-state{color:#6b7280}.public-topbar+.booking-layout .slot-price{font-size:17px;font-weight:900;line-height:1.05}.public-topbar+.booking-layout .slot-button.promotion:not(.selected) .slot-price,.public-topbar+.booking-layout .mobile-slot-button.promotion:not(.selected) .slot-price{color:#c2410c;font-size:19px}.public-topbar+.booking-layout .slot-promo-badge{color:#c2410c;font-size:11px;font-weight:900;line-height:1.05;display:block}.public-topbar+.booking-layout .slot-action-label,.public-topbar+.booking-layout .slot-status-label,.public-topbar+.booking-layout .slot-full-label{font-weight:850}.public-topbar+.booking-layout .slot-full-label{font-size:14px}.public-topbar+.booking-layout .slot-button{min-height:68px}.public-topbar+.booking-layout .mobile-slot-button{gap:2px;height:62px;min-height:58px}.slot-child-list,.mobile-child-slot-list{gap:6px;min-width:0;display:grid}.slot-empty{color:var(--color-muted);text-align:center;font-weight:700;display:block}.slot-button.child-slot{align-content:center;gap:2px;height:auto;min-height:52px;padding:7px 8px;display:grid}.slot-button.child-slot strong,.slot-button.child-slot span,.slot-button.child-slot em{margin-top:0}.slot-button.child-slot .half-slot-time{font-size:12px;font-weight:900}.slot-button.child-slot .slot-price,.slot-button.child-slot .slot-full-label,.slot-button.child-slot .slot-status-label{font-size:12px;line-height:1.1}.slot-button.child-slot .slot-action-label{font-size:11px;line-height:1.1}.mobile-split-court-card{background:#fff;border:1px solid #4a2a851f;border-radius:8px;gap:5px;min-width:0;padding:5px;display:grid}.mobile-split-court-card>.mobile-court-name{text-align:center}.mobile-split-court-card.empty{place-items:center;min-height:76px}.mobile-slot-button.child-slot{gap:2px;height:auto;min-height:40px;max-height:none;padding:4px 3px}.mobile-slot-button.child-slot .half-slot-time{white-space:nowrap;width:100%;font-size:11px;font-weight:900;line-height:1.1}.mobile-slot-button.child-slot .compact-slot-state{white-space:nowrap;gap:1px;font-size:11px;line-height:1.05;display:grid}.mobile-slot-button.child-slot .slot-price,.mobile-slot-button.child-slot .slot-full-label,.mobile-slot-button.child-slot .slot-action-label{font-size:11px;line-height:1.05}.public-topbar+.booking-layout .slot-button.child-slot{min-height:52px}.public-topbar+.booking-layout .mobile-slot-button.child-slot{height:auto;min-height:40px}.admin-shell{color:var(--color-text)}.admin-shell .topbar h1{color:var(--color-heading);font-weight:700}.admin-shell .section-head h2,.admin-shell .panel-title h2,.admin-shell .admin-day-head strong,.admin-shell .admin-day-table-head strong,.admin-shell .business-hour-row strong{color:var(--color-heading);font-weight:600}.admin-shell .eyebrow,.admin-shell label,.admin-shell .muted,.admin-shell .selected-item span,.admin-shell .orders-table td span,.admin-shell .admin-stat-grid em,.admin-shell .admin-day-head span,.admin-shell .admin-day-head em,.admin-shell .admin-day-table-head span,.admin-shell .admin-day-table-head em,.admin-shell .admin-time-cell span,.admin-shell .admin-overview-legend,.admin-shell .detail-lines,.admin-shell .field-label{color:var(--color-subtle);font-weight:400}.admin-shell .orders-table td,.admin-shell .rules-table td,.admin-shell .admin-day-table td,.admin-shell .slot-table td{color:var(--color-text);font-weight:500}.admin-shell .orders-table th,.admin-shell .rules-table th,.admin-shell .admin-day-table th,.admin-shell .slot-table th,.admin-shell .time-cell,.admin-shell .admin-time-cell,.admin-shell .admin-court-row-cell,.admin-shell .admin-corner-cell,.admin-shell .admin-day-column-head strong{color:var(--color-muted);font-weight:600}.admin-shell .booking-main,.admin-shell .side-panel,.admin-shell .login-card,.admin-shell .settings-band,.admin-shell .settings-page section,.admin-shell .mobile-time-card,.admin-shell .admin-overview-panel,.admin-shell .admin-week-search-panel,.admin-shell .overview-batch-toolbar,.admin-shell .search-results-wrap,.admin-shell .admin-week-grid-wrap,.admin-shell .admin-day-table-card,.admin-shell .notice-admin-item,.admin-shell .promotion-plan-item,.admin-shell .sticky-actions,.admin-shell .notice-save-dock,.admin-shell .admin-stat-grid>div,.admin-shell .summary-grid div,.admin-shell .business-hour-row,.admin-shell .backup-status-grid>div,.admin-shell .backup-retention-list>div,.admin-shell .backup-file-row,.admin-shell .backup-log-meta{background:#fffffff7;border-color:#e5e7eb;box-shadow:0 10px 28px #1f293714}.admin-shell .admin-day-table-card{background:#fff;border-color:#cbd5e173;box-shadow:0 4px 12px #1f29370d}.admin-shell .admin-nav{background:#fff;border-color:#e5e7eb;box-shadow:0 10px 28px #1f293714}.admin-shell .admin-nav button,.admin-shell .admin-nav .icon-link{color:var(--color-text);background:#fff;border-color:#e5e7eb;font-weight:600}.admin-shell .admin-nav button:hover,.admin-shell .admin-nav .icon-link:hover,.admin-shell .secondary-button:hover,.admin-shell .icon-button:hover,.admin-shell .icon-link:hover,.admin-shell .week-tab:hover,.admin-shell .day-tabs button:hover{color:var(--color-text);background:#f9fafb;border-color:#d1d5db}.admin-shell .admin-nav button.active,.admin-shell .week-tab.active,.admin-shell .day-tabs button.active,.admin-shell .member-order-tabs button.active,.admin-shell .icon-link.active,.admin-shell .primary-button{border-color:var(--brand-primary);background:var(--brand-primary);color:#fff;box-shadow:var(--shadow-brand)}.app-shell.admin-shell{grid-template-columns:280px minmax(0,1fr);transition:grid-template-columns .24s}.app-shell.admin-shell.admin-sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.admin-shell.admin-sidebar-collapsed>:not(.topbar){grid-column:1/-1;padding-left:44px}.admin-shell .admin-nav-legacy{display:none!important}.admin-shell .admin-nav{flex-flow:column;flex:0 0 280px;align-items:stretch;gap:6px;width:280px;padding:10px;transition:opacity .24s,transform .24s;overflow-x:hidden}.admin-sidebar-head{color:var(--brand-primary-dark);justify-content:space-between;align-items:center;gap:8px;padding:2px 0 6px 4px;font-size:13px;font-weight:800;display:flex}.admin-sidebar-toggle{width:34px;min-width:34px;height:34px;min-height:34px;color:var(--brand-primary);cursor:pointer;background:#fff;border:1px solid #ddd6fe;border-radius:8px;place-items:center;padding:0;display:inline-grid;box-shadow:0 8px 18px #4a2a851f}.admin-sidebar-toggle:hover{border-color:var(--brand-primary);background:#f5f3ff}.admin-sidebar-toggle-floating{z-index:40;position:fixed;top:86px;left:10px}.admin-nav-group{flex-direction:column;gap:4px;width:100%;min-width:0;display:flex}.admin-shell .admin-nav .admin-nav-group-title{color:#4b5563;background:#f9fafb;border-color:#0000;flex-wrap:nowrap;justify-content:space-between;min-height:34px;padding:0 8px;font-size:13px;font-weight:800}.admin-shell .admin-nav .admin-nav-group-title span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.admin-shell .admin-nav .admin-nav-group-title:hover{color:var(--brand-primary-dark);background:#f3f4f6;border-color:#e5e7eb}.admin-nav-group-arrow{color:#6b7280;flex:none;font-size:12px}.admin-nav-group-items{opacity:0;flex-direction:column;gap:3px;width:100%;max-height:0;transition:max-height .24s,opacity .2s;display:flex;overflow:hidden}.admin-nav-group-items.open{opacity:1;max-height:360px}.admin-shell .admin-nav .admin-nav-group-items button,.admin-shell .admin-nav .admin-logout-button{text-overflow:ellipsis;white-space:nowrap;color:#374151;background:0 0;border-color:#0000;flex-wrap:nowrap;flex:none;min-width:0;min-height:34px;padding:0 10px 0 16px;font-size:14px;font-weight:650;overflow:hidden}.admin-shell .admin-nav .admin-nav-group-items button:hover,.admin-shell .admin-nav .admin-logout-button:hover{color:var(--brand-primary-dark);background:#f9fafb;border-color:#e5e7eb}.admin-shell .admin-nav .admin-nav-group-items button.active{color:var(--brand-primary-dark);box-shadow:inset 3px 0 0 var(--brand-primary);background:#ede9fe;border-color:#c4b5fd}.admin-shell .admin-nav .admin-logout-button{margin-top:4px;padding-left:10px}.admin-shell .secondary-button,.admin-shell .icon-button,.admin-shell .icon-link,.admin-shell .week-tab,.admin-shell input,.admin-shell select,.admin-shell textarea,.admin-shell .inline-status-select,.admin-shell .search-input-wrap{color:var(--color-text);background:#fff;border-color:#e5e7eb}.admin-shell .secondary-button,.admin-shell .icon-button,.admin-shell .icon-link,.admin-shell .admin-nav button,.admin-shell .week-tab,.admin-shell .primary-button{font-weight:600}.admin-shell .slot-table th,.admin-shell .slot-table td,.admin-shell .orders-table th,.admin-shell .orders-table td,.admin-shell .rules-table th,.admin-shell .rules-table td,.admin-shell .admin-corner-cell,.admin-shell .admin-day-column-head,.admin-shell .admin-court-cell,.admin-shell .admin-court-day-grid,.admin-shell .admin-day-table th,.admin-shell .admin-day-table td,.admin-shell .selected-item,.admin-shell .admin-booking-detail{border-color:#e5e7eb}.admin-shell .admin-court-day-grid{background:linear-gradient(90deg,#e5e7ebbf 1px,#0000 1px),#fff;background-size:calc(100% / var(--slot-count)) 100%}.admin-shell .orders-table tbody tr:hover,.admin-shell .selected-row{background:#f9fafb}.admin-shell .status{border:1px solid #0000;font-weight:600}.admin-shell .status.confirmed,.admin-shell .status.completed,.admin-shell .status.paid,.admin-shell .status.sent,.admin-shell .status.request-approved,.admin-shell .status.request-partially_approved{color:#166534;background:#dcfce7}.admin-shell .status.pending,.admin-shell .status.pending_payment,.admin-shell .status.held,.admin-shell .status.request-pending{color:#9a3412;background:#ffedd5}.admin-shell .status.waiting,.admin-shell .status.notified,.admin-shell .status.pending_acceptance{color:#1d4ed8;background:#dbeafe}.admin-shell .status.cancelled,.admin-shell .status.expired,.admin-shell .status.no_show,.admin-shell .status.failed,.admin-shell .status.request-rejected,.admin-shell .status.request-cancelled{color:#9f1239;background:#ffe4e6}.admin-shell .status.skipped{color:#374151;background:#f3f4f6}.admin-shell .admin-overview-slot,.admin-shell .admin-overview-slot.empty-slot,.admin-shell .admin-overview-slot.paid,.admin-shell .admin-overview-slot.unpaid,.admin-shell .admin-overview-slot.reserved,.admin-shell .admin-overview-slot.booked{color:var(--color-text);background:#fff;border-color:#e5e7eb;box-shadow:0 1px 2px #1f293714}.admin-shell .admin-overview-slot.booked{align-content:start;gap:3px}.admin-shell .admin-overview-slot.booked strong{color:var(--color-text);font-weight:600}.admin-shell .admin-overview-slot.booked span,.admin-shell .admin-overview-slot.booked em{width:fit-content;max-width:100%;min-height:16px;color:var(--color-muted);background:#f3f4f6;border-radius:999px;align-items:center;margin:0;padding:1px 5px;font-size:10px;font-style:normal;font-weight:600;line-height:1.25;display:inline-flex}.admin-shell .admin-overview-slot.payment-paid em,.admin-shell .admin-overview-slot.booking-completed span{color:#166534;background:#dcfce7}.admin-shell .admin-overview-slot.payment-pending em,.admin-shell .admin-overview-slot.payment-unpaid em{color:#9a3412;background:#ffedd5}.admin-shell .admin-overview-slot.booking-cancelled span,.admin-shell .admin-overview-slot.payment-refunded em,.admin-shell .admin-overview-slot.cancelled span,.admin-shell .admin-overview-slot.cancelled em{color:#9f1239;background:#ffe4e6}.admin-shell .admin-overview-slot.waitlistable,.admin-shell .slot-button.waitlistable,.admin-shell .mobile-slot-button.waitlistable{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.admin-shell .admin-overview-slot.selected,.admin-shell .admin-overview-slot.empty-slot.selected,.admin-shell .admin-overview-slot.batch-selected{border-color:var(--brand-primary);background:var(--brand-primary);color:#fff;box-shadow:inset 0 0 0 2px #ffffff38, var(--shadow-brand)}.admin-shell .admin-overview-slot.selected strong,.admin-shell .admin-overview-slot.selected span,.admin-shell .admin-overview-slot.selected em,.admin-shell .admin-overview-slot.batch-selected strong,.admin-shell .admin-overview-slot.batch-selected span,.admin-shell .admin-overview-slot.batch-selected em{color:#fff;background:#ffffff2e}.admin-shell .admin-overview-slot.selected strong,.admin-shell .admin-overview-slot.batch-selected strong{background:0 0}.admin-shell .admin-overview-slot.empty-slot:hover{background:#f9fafb;border-color:#d1d5db;box-shadow:0 1px 2px #1f293714}.admin-shell .admin-day-table .admin-overview-slot.search-match{background:#fffbeb;border-color:#f59e0b;box-shadow:inset 0 0 0 2px #f59e0b59}.admin-shell .admin-overview-legend .legend-paid{background:#dcfce7;border-color:#166534}.admin-shell .admin-overview-legend .legend-unpaid{background:#ffedd5;border-color:#9a3412}.admin-shell .admin-overview-legend .legend-promotion{background:#f3f4f6;border-color:#d1d5db}.admin-shell .admin-overview-legend .legend-empty{background:#fff;border-color:#e5e7eb}.admin-shell,.admin-shell button,.admin-shell input,.admin-shell select,.admin-shell textarea{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-family:Inter,Noto Sans TC,Microsoft JhengHei,sans-serif}.admin-shell .admin-day-table{min-width:calc(60px + (var(--time-count,12) * 86px))}.admin-shell .admin-day-table th:first-child,.admin-shell .admin-time-cell,.admin-shell .admin-court-row-cell{width:60px;min-width:60px}.admin-shell .admin-day-table th:not(:first-child){min-width:86px}.admin-shell .admin-day-table th,.admin-shell .admin-day-table td{padding:3px}.admin-shell .admin-day-table .admin-overview-slot-wrap,.admin-shell .admin-day-table .admin-overview-slot{height:62px;min-height:62px}.admin-shell .admin-day-table .admin-overview-slot{color:#1f2937;text-align:left;min-width:0;box-shadow:none;background:#fff;border:1px solid #cbd5e16b;border-radius:6px;flex-direction:column;justify-content:center;align-items:stretch;gap:2px;padding:6px 8px;font-size:12px;line-height:1.18;display:flex}.admin-shell .admin-day-table .admin-overview-slot:disabled{cursor:default;opacity:1}.admin-shell .admin-day-table .admin-overview-slot.booked,.admin-shell .admin-day-table .admin-overview-slot.paid,.admin-shell .admin-day-table .admin-overview-slot.unpaid{color:#1f2937;background:#fff;border-color:#94a3b85c}.admin-shell .admin-day-table .admin-overview-slot.promotion,.admin-shell .admin-day-table .admin-overview-slot.empty-slot{color:#94a3b8;background:#fbfcfd;border-color:#e2e8f073}.admin-shell .admin-day-table .admin-overview-slot strong,.admin-shell .admin-day-table .admin-overview-slot span,.admin-shell .admin-day-table .admin-overview-slot em{color:inherit;font-size:inherit}.admin-shell .admin-day-table .admin-slot-customer{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;order:1;min-width:0;max-width:100%;font-size:13px;font-weight:700;line-height:1.16;display:block;overflow:hidden}.admin-shell .admin-day-table .admin-slot-customer mark{color:#92400e;background:#fef3c7;border-radius:3px}.admin-shell .admin-day-table .admin-slot-badge-row{white-space:nowrap;order:3;align-items:center;gap:3px;min-width:0;display:flex;overflow:hidden}.admin-shell .admin-day-table .admin-overview-slot.booked span.admin-slot-badge{text-overflow:ellipsis;white-space:nowrap;border:1px solid #0000;border-radius:4px;flex:0 auto;justify-content:center;align-items:center;min-width:0;max-width:100%;min-height:17px;margin:0;padding:1px 4px;font-size:10px;font-style:normal;font-weight:600;line-height:1.15;display:inline-flex;overflow:hidden}.admin-shell .admin-day-table .admin-slot-booking-price{color:#111827;text-overflow:ellipsis;white-space:nowrap;order:2;min-width:0;margin:0;font-size:13px;font-style:normal;font-weight:750;line-height:1.12;display:block;overflow:hidden}.admin-shell .admin-day-table .admin-slot-badge.booking-badge.reserved,.admin-shell .admin-day-table .admin-slot-badge.booking-badge.confirmed{color:#57534e;background:#f5f5f4;border-color:#d6d3d1}.admin-shell .admin-day-table .admin-slot-badge.payment-badge.paid,.admin-shell .admin-day-table .admin-slot-badge.booking-badge.completed{color:#166534;background:#dcfce7;border-color:#bbf7d0}.admin-shell .admin-day-table .admin-slot-badge.payment-badge.pending,.admin-shell .admin-day-table .admin-slot-badge.payment-badge.unpaid,.admin-shell .admin-day-table .admin-slot-badge.booking-badge.pending_payment,.admin-shell .admin-day-table .admin-slot-badge.booking-badge.held{color:#9a3412;background:#fff7ed;border-color:#fdba74}.admin-shell .admin-day-table .admin-slot-badge.booking-badge.waiting,.admin-shell .admin-day-table .admin-slot-badge.booking-badge.notified,.admin-shell .admin-day-table .admin-slot-badge.booking-badge.pending_acceptance{color:#1d4ed8;background:#dbeafe;border-color:#bfdbfe}.admin-shell .admin-day-table .admin-slot-badge.booking-badge.cancelled,.admin-shell .admin-day-table .admin-slot-badge.booking-badge.expired,.admin-shell .admin-day-table .admin-slot-badge.booking-badge.no_show,.admin-shell .admin-day-table .admin-slot-badge.payment-badge.refunded{color:#9f1239;background:#ffe4e6;border-color:#fecdd3}.admin-shell .admin-day-table .admin-overview-slot.booked .admin-slot-badge-row{color:#64748b;background:#f8fafc;border:1px solid #94a3b838;border-radius:4px;width:fit-content;max-width:100%;padding:1px 5px}.admin-shell .admin-day-table .admin-overview-slot.booked span.admin-slot-badge{min-height:0;color:inherit;background:0 0;border:0;border-radius:0;padding:0}.admin-shell .admin-day-table .admin-overview-slot.booked span.admin-slot-badge+span.admin-slot-badge:before{content:"｜";color:#cbd5e1;margin-right:4px}.admin-shell .admin-day-table .admin-slot-empty-title{color:#9ca3af;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:600;line-height:1.15;display:block;overflow:hidden}.admin-shell .admin-day-table .admin-slot-empty-price{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:12px;font-weight:650;line-height:1.15;display:block;overflow:hidden}.admin-shell .admin-day-table .admin-overview-slot.closed,.admin-shell .admin-day-table .admin-overview-slot.past{visibility:visible;color:#9ca3af;box-shadow:none;background:#f3f4f6;border-color:#d1d5db52}.admin-shell .admin-day-table .admin-slot-closed-title{color:#9ca3af;font-size:12px;font-weight:600;line-height:1.15}.admin-shell .admin-day-table .admin-slot-closed-reason{color:#a1a1aa;font-size:11px;font-weight:500;line-height:1.15}.admin-shell .admin-day-table .admin-overview-slot.is-past-slot{opacity:.68}.admin-shell .admin-day-table .admin-overview-slot.selected,.admin-shell .admin-day-table .admin-overview-slot.batch-selected{border-color:var(--brand-primary);background:var(--brand-primary);color:#fff;box-shadow:inset 0 0 0 2px #ffffff38, var(--shadow-brand)}.admin-shell .admin-day-table .admin-overview-slot.selected .admin-slot-customer,.admin-shell .admin-day-table .admin-overview-slot.batch-selected .admin-slot-customer{color:#fff}.admin-shell .admin-day-table .admin-overview-slot.selected span.admin-slot-badge,.admin-shell .admin-day-table .admin-overview-slot.batch-selected span.admin-slot-badge{color:#fff;background:#ffffff2e;border-color:#ffffff47}.admin-shell .admin-day-table .admin-overview-slot.selected .admin-slot-badge-row,.admin-shell .admin-day-table .admin-overview-slot.batch-selected .admin-slot-badge-row{color:#fff;background:#ffffff24;border-color:#ffffff40}.admin-shell .admin-day-table .admin-overview-slot.selected .admin-slot-booking-price,.admin-shell .admin-day-table .admin-overview-slot.batch-selected .admin-slot-booking-price{color:#fff;background:0 0}.admin-shell .status.confirmed{color:#5b21b6;background:#ede9fe}.admin-shell .status.paid,.admin-shell .status.completed{color:#166534;background:#dcfce7}.admin-shell .blacklist-badge,.admin-shell .orders-table td span.blacklist-badge,.admin-shell .admin-day-table .admin-overview-slot.booked span.blacklist-badge{color:#b91c1c;background:#fef2f2;border-color:#b91c1c47;width:fit-content;margin-left:8px;font-size:12px;font-weight:700;display:inline-flex}.group-events-page,.group-events-admin .booking-main,.group-registration-list-page,.group-event-card,.group-admin-card{background:#fffffff0;border:1px solid #4a2a851f;border-radius:8px;box-shadow:0 16px 48px #4a2a851f}.group-events-page{padding:18px}.group-registration-list-page{gap:14px;padding:16px;display:grid}.admin-filter-bar{grid-template-columns:repeat(5,minmax(140px,1fr)) auto;align-items:end;gap:10px;display:grid}.admin-filter-bar label{gap:5px;display:grid}.group-registration-keyword{min-width:180px}.filter-actions{flex-wrap:nowrap;align-items:center}.group-registration-list-summary{color:var(--color-muted);flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:13px;display:flex}.group-registration-table{min-width:1180px}.group-registration-table th,.group-registration-table td{white-space:nowrap}.group-registration-note{text-overflow:ellipsis;max-width:220px;overflow:hidden}.group-registration-actions{flex-wrap:nowrap;align-items:center}.group-event-history-page{gap:12px;padding:12px;display:grid}.group-history-filters{grid-template-columns:repeat(4,minmax(130px,1fr)) auto}.group-history-list-head{color:var(--color-muted);font-size:13px;font-weight:760}.group-history-list{gap:8px;display:grid}.group-history-card{background:#fffffff5;border:1px solid #4a2a851f;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(280px,.95fr);gap:10px;padding:10px;display:grid}.group-history-card.is-missing{background:#fff8f4fa;border-color:#c64a2b75}.group-history-main{gap:7px;min-width:0;display:grid}.group-history-title-row{justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;display:flex}.group-history-title-row h3{color:var(--color-heading);margin:0 0 2px;font-size:16px;line-height:1.25}.group-history-title-row span{color:var(--color-muted);font-size:13px;font-weight:760}.group-history-fill-badge{border-radius:8px;flex:none;padding:4px 7px;font-size:12px;font-weight:900;line-height:1.1}.group-history-fill-badge.missing{color:#9b2f1f;background:#c64a2b24}.group-history-fill-badge.filled{color:var(--color-muted);background:#4a2a8514}.group-history-meta{color:var(--color-muted);flex-wrap:wrap;gap:6px 12px;font-size:13px;font-weight:760;display:flex}.group-history-meta strong,.group-history-meta .formed{color:var(--color-heading)}.group-history-meta .not-formed{color:#9b2f1f}.group-history-edit-grid{grid-template-columns:96px minmax(0,1fr) 92px;align-items:start;gap:8px;display:grid}.group-history-edit-grid label{color:var(--color-muted);gap:4px;font-size:12px;font-weight:850;display:grid}.group-history-number-field input,.group-history-note-field textarea{width:100%;min-width:0;color:var(--color-text);background:#fff;border:1px solid #4a2a8529;border-radius:8px;font-weight:800}.group-history-number-field input{text-align:center;min-height:38px;padding:0 8px}.group-history-number-field input.needs-input{background:#fff7f2;border-color:#c64a2b8c}.group-history-note-field textarea{resize:vertical;min-height:54px;padding:7px 8px}.group-history-field-status{min-height:16px;color:var(--color-muted);font-size:12px;font-weight:850}.group-history-field-status.saved{color:#247044}.group-history-field-status.error{color:#b42318}.group-history-save-cell{align-content:end;gap:5px;min-height:76px;display:grid}.group-history-save-cell .primary-button{justify-content:center;width:100%;min-height:38px;padding:0 10px}.group-history-row-status{min-height:16px;color:var(--color-muted);text-align:center;font-size:12px;font-weight:850}.group-history-row-status.unsaved{color:#9b2f1f}.group-history-row-status.saved{color:#247044}.group-history-row-status.error{color:#b42318}.quick-register-page{background:#fffffff5;border:1px solid #4a2a851f;border-radius:8px;gap:14px;max-width:760px;margin:0 auto;padding:14px 14px 92px;display:grid;box-shadow:0 16px 48px #4a2a851f}.quick-register-head,.quick-search-row,.quick-selected-event,.quick-member-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.quick-register-head h2{margin:0;font-size:22px;line-height:1.2}.quick-register-steps{grid-template-columns:repeat(3,28px);gap:6px;display:grid}.quick-register-steps span{color:#4338ca;background:#eef2ff;border-radius:999px;place-items:center;width:28px;height:28px;font-weight:800;display:grid}.quick-register-steps span.active{color:#fff;background:#4f46e5}.quick-register-filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.quick-register-filters button{min-height:40px;color:var(--color-text);background:#fff;border:1px solid #4a2a852e;border-radius:8px;font-weight:800}.quick-register-filters button.active{color:#fff;background:#312e81}.quick-event-list,.quick-member-results{gap:9px;display:grid}.quick-event-card,.quick-member-row{width:100%;min-height:76px;color:var(--color-text);text-align:left;background:#fff;border:1px solid #4a2a8524;border-radius:8px;padding:10px 12px}.quick-event-card{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;display:grid}.quick-event-card strong,.quick-member-row strong,.quick-selected-event strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.quick-event-card .status{grid-area:1/2/span 2;align-self:start}.quick-event-card span:not(.status),.quick-event-card small,.quick-member-row small,.quick-member-tags em,.quick-selected-event span{color:var(--color-muted);font-size:13px;line-height:1.25}.quick-member-step,.quick-create-member,.quick-pending-panel,.quick-confirm-panel,.quick-success-panel{gap:12px;display:grid}.quick-search-box{z-index:2;background:#fffffffa;padding:8px 0;position:sticky;top:0}.quick-search-box label,.quick-create-member label{gap:6px;font-weight:800;display:grid}.quick-search-row{align-items:stretch}.quick-search-row input{flex:1;min-width:0}.quick-search-row .primary-button{width:108px}.quick-selected-event{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px}.quick-member-tags{flex:none;justify-items:end;gap:4px;display:grid}.quick-member-tags b{color:#991b1b;background:#fee2e2;border-radius:999px;padding:3px 7px;font-size:12px;font-style:normal}.quick-member-tags em{font-style:normal}.quick-create-member{border-top:1px solid #e5e7eb;padding-top:4px}.quick-create-member h3,.quick-confirm-panel h3,.quick-success-panel h3{margin:0;font-size:18px;line-height:1.25}.quick-create-member textarea{resize:vertical;min-height:132px;line-height:1.45}.quick-confirm-panel dl{gap:8px;margin:0;display:grid}.quick-confirm-panel dl div{border-bottom:1px solid #e5e7eb;grid-template-columns:92px minmax(0,1fr);gap:10px;padding:10px 0;display:grid}.quick-confirm-panel dt{color:var(--color-muted);font-weight:800}.quick-confirm-panel dd{word-break:break-word;margin:0;font-weight:800}.quick-pending-panel,.quick-confirm-list,.quick-result-list{gap:8px;display:grid}.quick-pending-panel{border-top:1px solid #e5e7eb;padding-top:4px}.quick-pending-panel h3,.quick-confirm-list h3{margin:0;font-size:16px;line-height:1.25}.quick-pending-row,.quick-confirm-member,.quick-result-row{text-align:left;background:#fff;border:1px solid #4a2a851f;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:10px 12px;display:flex}.quick-pending-row span,.quick-confirm-member,.quick-result-row{min-width:0}.quick-pending-row strong,.quick-confirm-member strong,.quick-result-row strong{color:var(--color-heading);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.quick-pending-row small,.quick-confirm-member span,.quick-result-row span,.quick-result-row small{color:var(--color-muted);margin-top:2px;font-size:13px;line-height:1.3;display:block}.quick-result-row{justify-items:stretch;display:grid}.quick-result-row.ok{background:#f0fdf4;border-color:#1665342e}.quick-result-row.failed{background:#fef2f2;border-color:#b91c1c2e}.quick-result-row.failed span{color:#991b1b;font-weight:800}.quick-success-panel{text-align:center;justify-items:center;padding:28px 8px}.quick-success-panel svg{color:#15803d}.quick-register-bottom-bar{z-index:20;padding:10px max(12px, env(safe-area-inset-left,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(12px, env(safe-area-inset-right,0px));background:#fffffff5;border-top:1px solid #e5e7eb;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 26px #0f172a1f}.quick-register-bottom-bar .primary-button,.quick-register-bottom-bar .secondary-button{justify-content:center;min-height:46px}.quick-register-bottom-bar .secondary-button:only-child{grid-column:1/-1}@media (width<=860px){.admin-shell.admin-sidebar-collapsed>:not(.topbar){padding-left:0}.admin-sidebar-toggle-floating{top:12px;left:12px}.admin-shell.admin-sidebar-collapsed .topbar>div:first-child{padding-left:44px}.quick-register-page{border-radius:8px;width:100%;margin-top:0}.quick-confirm-panel dl div,.quick-pending-row,.quick-confirm-member,.quick-result-row{padding:9px 10px}}.fixed-group-page{width:min(520px,100%);min-height:100vh;padding:14px 12px calc(104px + env(safe-area-inset-bottom,0px));background:#f8f7fcf5;margin:0 auto}.fixed-group-return{justify-items:start;gap:4px;margin-bottom:8px;display:grid}.fixed-group-return-button{width:fit-content;min-height:34px;padding:0 11px;font-size:13px;font-weight:850;text-decoration:none}.fixed-group-return small{color:var(--color-muted);font-size:12px;font-weight:760;line-height:1.35}.fixed-group-header{justify-content:space-between;align-items:flex-start;gap:12px;padding:8px 0 14px;display:flex}.fixed-group-header h1{color:var(--color-heading);letter-spacing:0;margin:0;font-size:24px;line-height:1.18}.fixed-group-member,.fixed-group-login{flex:none}.fixed-group-member{max-width:148px;min-height:38px;color:var(--color-text);background:#fff;border:1px solid #4a2a8524;border-radius:8px;align-items:center;gap:7px;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.fixed-group-member img{object-fit:cover;border-radius:50%;width:24px;height:24px}.fixed-group-member span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.fixed-group-message,.fixed-group-loading{margin-bottom:10px}.fixed-group-sheet{background:#fff;border:1px solid #4a2a8524;border-radius:8px;gap:12px;padding:14px;display:grid;box-shadow:0 16px 44px #4a2a851f}.fixed-group-status-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.fixed-group-status-row .status{min-height:32px;padding:5px 11px;font-size:14px}.fixed-group-status-row strong{color:var(--brand-primary-dark);font-size:28px;line-height:1}.fixed-group-event-title{border-bottom:1px solid #4a2a851f;gap:4px;padding-bottom:12px;display:grid}.fixed-group-event-title h2{color:var(--color-heading);letter-spacing:0;margin:0;font-size:21px;line-height:1.22}.fixed-group-event-title span{color:var(--color-muted);font-size:14px;font-weight:780}.fixed-group-priority-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.fixed-group-priority-card{background:#fff;border:1px solid #4a2a8529;border-radius:8px;gap:4px;min-width:0;padding:12px;display:grid;box-shadow:0 10px 24px #4a2a8514}.fixed-group-priority-card span{color:var(--color-muted);font-size:12px;font-weight:900}.fixed-group-priority-card strong{overflow-wrap:anywhere;min-width:0;color:var(--color-heading);font-size:22px;font-weight:950;line-height:1.12}.fixed-group-priority-card.fee{background:#f5f3ff;border-color:#4a2a854d}.fixed-group-priority-card.fee strong{color:var(--brand-primary-dark);font-size:25px}.fixed-group-priority-card.spots{background:#111827;grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:end}.fixed-group-priority-card.spots span,.fixed-group-priority-card.spots em{color:#ffffffc7}.fixed-group-priority-card.spots strong{color:#fff;font-size:34px}.fixed-group-priority-card.spots em{grid-column:2;align-self:center;font-size:14px;font-style:normal;font-weight:900}.fixed-group-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.fixed-group-details div{background:var(--color-panel-soft);border:1px solid #4a2a851a;border-radius:8px;min-width:0;padding:10px}.fixed-group-details dt{color:var(--color-muted);margin-bottom:3px;font-size:12px;font-weight:850}.fixed-group-details dd{color:var(--color-heading);word-break:break-word;margin:0;font-size:15px;font-weight:900;line-height:1.3}.fixed-group-details .fixed-group-fee-detail{color:var(--brand-primary-dark);font-size:18px}.fixed-group-secondary-detail{opacity:.72}.fixed-group-info-block{background:#f9fafbeb;border:1px solid #4a2a851f;border-radius:8px;gap:10px;padding:12px;display:grid}.fixed-group-info-block h2{color:var(--color-heading);letter-spacing:0;margin:0;font-size:17px;line-height:1.25}.fixed-group-info-block dl{gap:8px;margin:0;display:grid}.fixed-group-info-block div{gap:2px;display:grid}.fixed-group-info-block dt{color:var(--color-muted);font-size:12px;font-weight:900}.fixed-group-info-block dd{color:var(--color-heading);white-space:pre-wrap;margin:0;font-size:15px;font-weight:700;line-height:1.55}.fixed-group-my-registration{margin:0}.fixed-group-my-bookings{background:#fff;border:1px solid #4a2a851f;border-radius:8px;gap:8px;padding:10px;display:grid}.fixed-group-my-bookings h2{color:var(--color-heading);margin:0;font-size:16px;line-height:1.25}.fixed-group-my-booking-list{gap:8px;display:grid}.fixed-group-my-booking-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.fixed-group-my-booking-row span{min-width:0;color:var(--color-heading);word-break:break-word;font-size:14px;font-weight:800;line-height:1.35}.fixed-group-my-booking-row .secondary-button{min-height:34px;padding:6px 10px;font-size:13px}.fixed-group-list-block{gap:8px;display:grid}.fixed-group-list-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.fixed-group-list-title h2{color:var(--color-heading);margin:0;font-size:18px;line-height:1.25}.fixed-group-list-title span{color:var(--brand-primary-dark);font-size:13px;font-weight:900}.fixed-group-relay-list{counter-reset:fixed-group-player;border:1px solid #4a2a851f;border-radius:8px;gap:0;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.fixed-group-relay-list li{counter-increment:fixed-group-player;background:#fff;border-bottom:1px solid #4a2a8517;grid-template-columns:42px minmax(0,1fr);align-items:center;min-height:42px;display:grid}.fixed-group-relay-list li:last-child{border-bottom:0}.fixed-group-relay-list li:before{content:counter(fixed-group-player);height:100%;color:var(--brand-primary-dark);background:#f3eeffe6;place-items:center;font-weight:900;display:grid}.fixed-group-relay-list li span{min-width:0;color:var(--color-heading);word-break:break-word;padding:0 12px;font-size:16px;font-weight:850;line-height:1.3}.fixed-group-empty-row,.fixed-group-no-event{background:var(--color-panel-soft);min-height:96px;color:var(--color-muted);text-align:center;border:1px dashed #4a2a8533;border-radius:8px;place-items:center;padding:18px;font-weight:850;display:grid}.fixed-group-friend-form{border-top:1px solid #4a2a851f;gap:10px;padding-top:12px;display:grid}.fixed-group-friend-form .primary-button{min-height:46px}.fixed-group-bottom-actions{z-index:40;width:min(520px,100%);padding:10px max(12px, env(safe-area-inset-left,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(12px, env(safe-area-inset-right,0px));background:#fffffffa;border-top:1px solid #4a2a8524;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid;position:fixed;bottom:0;left:50%;right:auto;transform:translate(-50%);box-shadow:0 -10px 28px #1f293724}.fixed-group-bottom-actions .primary-button,.fixed-group-bottom-actions .secondary-button,.fixed-group-bottom-actions .line-login-button{white-space:nowrap;min-width:0;min-height:46px;padding:0 8px;font-size:13px}.fixed-group-bottom-actions .line-login-button{grid-column:1/-1}.secondary-button.danger{color:var(--color-danger);border-color:#9f123938}.fixed-group-page-v2{padding-bottom:calc(86px + env(safe-area-inset-bottom,0px));gap:12px;display:grid}.fixed-group-v2-topbar{padding-bottom:4px}.fixed-group-v2-hero,.fixed-group-v2-batch,.fixed-group-v2-accordion,.fixed-group-v2-my-bookings,.fixed-group-v2-friend-form{background:#fff;border:1px solid #1118271a;border-radius:8px;box-shadow:0 12px 30px #1f293714}.fixed-group-v2-hero{color:#fff;background:linear-gradient(135deg,#111827f5,#166534eb),#111827;gap:14px;padding:16px;display:grid}.fixed-group-v2-hero-head,.fixed-group-v2-section-head,.fixed-group-v2-accordion-toggle{justify-content:space-between;align-items:center;gap:12px;display:flex}.fixed-group-v2-hero-head p,.fixed-group-v2-section-head p{opacity:.78;margin:0;font-size:12px;font-weight:850}.fixed-group-v2-hero-head h2{letter-spacing:0;margin:3px 0 0;font-size:22px;line-height:1.18}.fixed-group-v2-hero .status{color:#fff;background:#ffffff29;border-color:#ffffff3d;flex:none}.fixed-group-v2-hero-date{background:#ffffff1f;border-radius:8px;gap:4px;padding:12px;display:grid}.fixed-group-v2-hero-date strong{font-size:20px;line-height:1.2}.fixed-group-v2-hero-date span{opacity:.86;font-size:15px;font-weight:850}.fixed-group-v2-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.fixed-group-v2-metrics div{background:#ffffff1a;border-radius:8px;gap:4px;min-width:0;padding:10px;display:grid}.fixed-group-v2-metrics span{opacity:.78;font-size:12px;font-weight:850}.fixed-group-v2-metrics strong{overflow-wrap:anywhere;min-width:0;font-size:18px;line-height:1.15}.fixed-group-v2-batch{gap:12px;padding:14px;display:grid}.fixed-group-v2-section-head h2{color:var(--color-heading);margin:0;font-size:18px;line-height:1.25}.fixed-group-v2-section-head>span{color:var(--brand-primary-dark);font-size:13px;font-weight:950}.fixed-group-v2-quick-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.fixed-group-v2-quick-options button{min-height:36px;color:var(--color-text);background:#f9fafb;border:1px solid #1118271f;border-radius:8px;padding:0 8px;font-size:13px;font-weight:850}.fixed-group-v2-quick-options button.active{color:#14532d;background:#dcfce7;border-color:#16653459}.fixed-group-v2-event-list{gap:8px;display:grid}.fixed-group-v2-event-row{background:#fff;border:1px solid #1118271a;border-radius:8px;grid-template-columns:24px minmax(0,1.5fr) auto auto auto;align-items:center;gap:8px;padding:10px;display:grid}.fixed-group-v2-event-row.disabled{opacity:.72;background:#f9fafb}.fixed-group-v2-event-row input{width:18px;height:18px}.fixed-group-v2-event-main,.fixed-group-v2-event-meta{gap:2px;min-width:0;display:grid}.fixed-group-v2-event-main strong,.fixed-group-v2-event-meta b{color:var(--color-heading);font-size:14px;line-height:1.25}.fixed-group-v2-event-main small,.fixed-group-v2-event-meta small{color:var(--color-muted);font-size:12px;font-weight:800}.fixed-group-v2-event-fee{color:var(--brand-primary-dark);white-space:nowrap;font-size:13px;font-weight:950}.fixed-group-v2-event-row .status{white-space:nowrap;min-height:28px;padding:4px 8px;font-size:12px}.fixed-group-v2-adjacent{background:#f0fdf4;border:1px solid #1665342e;border-radius:8px;gap:10px;padding:12px;display:grid}.fixed-group-v2-adjacent-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.fixed-group-v2-adjacent-head h3{color:#14532d;letter-spacing:0;margin:0;font-size:16px;line-height:1.25}.fixed-group-v2-adjacent-head p{color:#166534;margin:3px 0 0;font-size:13px;font-weight:800;line-height:1.35}.fixed-group-v2-adjacent-head>span{color:#14532d;background:#dcfce7;border-radius:999px;flex:none;padding:5px 8px;font-size:12px;font-weight:950}.fixed-group-v2-adjacent-row{background:#fff;border-color:#16653433;grid-template-columns:24px minmax(0,1.3fr) minmax(0,1fr) auto auto auto}.fixed-group-v2-event-title-inline{min-width:0;color:var(--color-heading);overflow-wrap:anywhere;font-size:13px;font-weight:900;line-height:1.25}.fixed-group-v2-adjacent-row em{color:#166534;grid-column:2/-1;font-size:12px;font-style:normal;font-weight:900}.fixed-group-v2-accordion{overflow:hidden}.fixed-group-v2-accordion-toggle{width:100%;min-height:44px;color:var(--color-heading);text-align:left;background:#fff;border:0;padding:0 14px;font-size:15px;font-weight:950}.fixed-group-v2-accordion-body{padding:0 14px 14px}.fixed-group-v2-info-list{gap:8px;margin:0;display:grid}.fixed-group-v2-info-list div{border-top:1px solid #11182714;grid-template-columns:86px minmax(0,1fr);gap:10px;padding:8px 0;display:grid}.fixed-group-v2-info-list dt{color:var(--color-muted);font-size:13px;font-weight:850}.fixed-group-v2-info-list dd{color:var(--color-heading);white-space:pre-wrap;margin:0;font-size:14px;font-weight:800;line-height:1.45}.fixed-group-v2-roster{gap:6px;margin:0;padding:0;list-style:none;display:grid}.fixed-group-v2-roster li,.fixed-group-v2-empty{color:var(--color-heading);background:#f9fafb;border-radius:8px;margin:0;padding:9px 10px;font-size:14px;font-weight:850}.fixed-group-v2-empty{color:var(--color-muted)}.fixed-group-v2-bottom-actions{padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:6px}.fixed-group-v2-bottom-actions .primary-button,.fixed-group-v2-bottom-actions .secondary-button,.fixed-group-v2-bottom-actions .line-login-button{min-height:40px}@media (width<=520px){.fixed-group-v2-quick-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=380px){.fixed-group-header h1{font-size:21px}.fixed-group-details,.fixed-group-priority-grid{grid-template-columns:1fr}.fixed-group-priority-card.spots{grid-column:auto;grid-template-columns:1fr;align-items:start}.fixed-group-priority-card.spots em{grid-column:auto}.fixed-group-priority-card strong{font-size:21px}.fixed-group-priority-card.fee strong{font-size:23px}.fixed-group-priority-card.spots strong{font-size:30px}.fixed-group-bottom-actions{gap:6px}.fixed-group-bottom-actions .primary-button,.fixed-group-bottom-actions .secondary-button{font-size:12px}.fixed-group-v2-metrics,.fixed-group-v2-quick-options{grid-template-columns:1fr}.fixed-group-v2-event-row{grid-template-columns:24px minmax(0,1fr) auto}.fixed-group-v2-event-meta,.fixed-group-v2-event-fee,.fixed-group-v2-event-title-inline{grid-column:2}.fixed-group-v2-event-row .status{grid-area:1/3/span 2}}.group-registration-actions select{min-width:92px}.load-more-row{justify-content:center;display:flex}.admin-detail-drawer{z-index:30;background:#11182747;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.admin-detail-card{background:#fff;border-radius:8px;width:min(520px,100%);max-height:min(720px,90vh);padding:16px;overflow:auto;box-shadow:0 24px 64px #1118273d}.admin-detail-list{gap:10px;margin:0;display:grid}.admin-detail-list div{border-bottom:1px solid #4a2a851a;grid-template-columns:96px 1fr;gap:10px;padding-bottom:8px;display:grid}.admin-detail-list dt{color:var(--color-muted);font-size:13px}.admin-detail-list dd{color:var(--color-text);margin:0;font-weight:700}@media (width<=980px){.admin-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-filter-bar .filter-actions{grid-column:1/-1}.group-history-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.group-history-card{grid-template-columns:1fr}}@media (width<=640px){.group-registration-list-page{padding:12px}.group-event-history-page{padding:10px}.admin-filter-bar,.group-history-filters,.group-history-edit-grid{grid-template-columns:1fr}.group-history-card{padding:9px}.group-history-title-row{flex-direction:column;align-items:stretch}.group-history-fill-badge{width:fit-content}.group-registration-table-wrap{margin-inline:-4px}.admin-detail-list div{grid-template-columns:1fr}}.group-event-list-toggle{width:100%;min-height:48px;color:var(--color-text);text-align:left;background:#fff;border:1px solid #4a2a8529;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;padding:0 14px;font-weight:850;display:flex}.group-event-list-toggle span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.group-event-list-toggle svg{color:var(--brand-primary);flex:none}.group-event-list-toggle:hover{border-color:var(--brand-accent);background:var(--brand-primary-light);color:var(--brand-primary-dark)}.group-event-card-grid,.group-admin-card-list{gap:14px;display:grid}.group-event-card-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px}.group-event-card,.group-admin-card{gap:8px;padding:9px 10px;display:grid}.group-event-card-head,.group-admin-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.group-event-card-head h3,.group-admin-card-head h3{color:var(--color-heading);margin:6px 0 3px;font-size:20px;line-height:1.25}.group-admin-card-head h3{margin:3px 0 2px;font-size:17px}.group-admin-card-head p{font-size:12px;line-height:1.35}.group-admin-card-head .status{min-height:22px;padding:2px 8px;font-size:12px}.group-event-card-head h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.group-event-card-head p,.group-admin-card-head p,.group-event-note{color:var(--color-muted);margin:0;font-size:14px;font-weight:650;line-height:1.55}.group-event-price{color:var(--brand-primary-dark);flex:none;font-size:20px;font-weight:850}.group-event-card-actions{justify-items:end;gap:8px;display:grid}.group-event-card .group-event-summary-grid{margin-bottom:0}.group-event-card .summary-grid div{padding:8px 10px}.group-event-card .summary-grid strong{font-size:18px}.group-event-list-toggle-hidden{display:none}.group-event-date-groups{gap:10px;display:grid}.group-event-accordion{background:#ffffffc7;border:1px solid #4a2a8524;border-radius:8px;overflow:hidden;box-shadow:0 8px 20px #4a2a850f}.group-event-featured{background:#fffaf2;border-color:#a55a1238;margin-bottom:12px}.group-event-accordion-toggle{width:100%;min-height:44px;color:var(--color-heading);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 12px;font-size:15px;font-weight:900;display:grid}.group-event-accordion-toggle span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.group-event-accordion-toggle small{color:var(--brand-primary-dark);white-space:nowrap;font-size:12px;font-weight:850}.group-event-accordion-toggle svg{color:var(--brand-primary)}.group-event-accordion-toggle-featured{color:#8a4a0a;grid-template-columns:minmax(0,1fr) auto auto}.group-event-featured-list,.group-event-period-group>.group-event-card-grid{padding:0 8px 8px}.group-event-period-groups{gap:8px;padding:0 8px 8px;display:grid}.group-event-period-group{background:#f5f0ffb8;border:1px solid #4a2a851a;border-radius:8px;overflow:hidden}.group-event-period-toggle{min-height:38px;color:var(--brand-primary-dark);padding-inline:10px;font-size:14px}.group-event-card-compact{cursor:pointer;gap:6px;min-height:0;padding:9px 10px}.group-event-card-compact:hover{background:#fff;border-color:#4a2a853d}.group-event-compact-main{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.group-event-compact-title{gap:4px;min-width:0;display:grid}.group-event-card-compact h3{-webkit-line-clamp:1;margin:0;font-size:16px;line-height:1.2}.group-event-card-compact .status{width:fit-content;max-width:100%;min-height:22px;padding:2px 8px;font-size:12px;line-height:1.2}.group-event-card-compact .primary-button{white-space:nowrap;min-height:30px;padding:0 8px;font-size:12px}.group-event-compact-summary{flex-wrap:wrap;gap:4px 10px;min-width:0;display:flex}.group-event-compact-summary span{min-width:0;color:var(--color-muted);font-size:13px;font-weight:740;line-height:1.35}.group-event-compact-metrics{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;display:grid}.group-event-compact-metrics strong{color:var(--color-heading);font-size:18px;font-weight:900;line-height:1}.group-event-compact-metrics span{min-width:0;color:var(--brand-primary-dark);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:850;line-height:1.25;overflow:hidden}.group-registration-tables{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.group-event-inline-form,.group-event-cancel-form,.group-event-admin-form,.group-event-manual-form{gap:10px;display:grid}.group-event-inline-form,.group-event-cancel-form,.group-event-manual-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.group-event-admin-form{grid-template-columns:repeat(4,minmax(130px,1fr));align-items:end}.fixed-group-slug-copy-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.fixed-group-slug-copy-row .secondary-button{white-space:nowrap;min-width:96px;min-height:40px;padding:0 12px}.fixed-group-slug-hint{color:var(--color-muted);margin-top:5px;font-size:12px;font-weight:760;display:block}.group-event-enabled{background:var(--color-panel-soft);border:1px solid #4a2a8524;border-radius:8px;align-self:end;min-height:40px;padding:0 10px}.group-events-admin{gap:18px;display:grid}.group-admin-tabs{background:#fffffff0;border:1px solid #4a2a8524;border-radius:8px;gap:4px;width:fit-content;max-width:100%;padding:4px;display:inline-flex;box-shadow:0 10px 28px #4a2a851a}.group-admin-tabs button{min-height:36px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 14px;font-weight:850}.group-admin-tabs button.active{color:var(--color-heading);background:#4a2a851f}.group-event-list-section{gap:12px;display:grid}.group-event-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.group-admin-summary-grid{grid-template-columns:1fr 1fr .7fr .9fr .8fr .8fr .9fr .9fr;gap:6px}.group-admin-summary-grid>div{min-height:44px;padding:6px 8px}.group-admin-summary-grid>div:nth-child(5),.group-admin-summary-grid>div:nth-child(6),.group-admin-summary-grid>div:nth-child(10),.group-admin-summary-grid>div:nth-child(12),.group-admin-summary-grid>div:nth-child(13),.group-admin-summary-grid>div:nth-child(14){display:none}.group-admin-summary-grid span{font-size:11px}.group-admin-summary-grid strong{font-size:15px;line-height:1.15}.group-admin-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.group-admin-stats>div{background:var(--color-panel-soft);border:1px solid #4a2a851f;border-radius:8px;min-width:0;padding:8px 10px}.group-admin-stats span{color:var(--color-muted);font-size:12px;font-weight:760;display:block}.group-admin-stats strong{color:var(--color-heading);margin-top:2px;font-size:20px;font-weight:900;display:block}.group-admin-toolbar{grid-template-columns:minmax(220px,1fr) minmax(150px,220px);align-items:end;gap:10px;display:grid}.group-admin-toolbar label{min-width:0;color:var(--color-muted);gap:5px;font-size:12px;font-weight:800;display:grid}.group-admin-search>div{background:#fff;border:1px solid #4a2a8524;border-radius:8px;align-items:center;gap:8px;min-width:0;min-height:40px;padding:0 10px;display:flex}.group-admin-search svg{color:var(--color-muted);flex:none}.group-admin-search input{background:0 0;border:0;width:100%;min-width:0;padding:0}.group-admin-search input:focus{outline:0}.group-month-group{gap:8px;display:grid}.group-month-toggle{width:100%;min-height:38px;color:var(--color-heading);cursor:pointer;background:#4a2a850f;border:1px solid #4a2a851f;border-radius:8px;justify-content:space-between;align-items:center;padding:0 12px;font-weight:900;display:flex}.group-month-events{gap:8px;display:grid}.group-admin-card{padding:10px 12px}.group-admin-card-head{align-items:center;gap:10px}.group-admin-card-title{flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0;display:flex}.group-admin-card-title h3{color:var(--color-heading);margin:0;font-size:16px;line-height:1.25}.group-admin-card-title>span:not(.status){color:var(--color-muted);font-size:13px;font-weight:760}.group-admin-compact-meta{color:var(--color-muted);flex-wrap:wrap;gap:6px 12px;margin-top:8px;font-size:13px;font-weight:720;display:flex}.group-admin-compact-meta strong{color:var(--color-heading);font-weight:900}.group-recurring-rule-list{gap:8px;display:grid}.group-recurring-rule-shell{border-radius:8px;gap:0;display:grid}.group-recurring-rule-shell.is-editing{border-left:4px solid var(--brand-primary);background:#f3eeffa3;box-shadow:0 14px 36px #4a2a851f}.group-recurring-rule-shell.is-editing .group-recurring-rule{border-color:#4a2a8533 #4a2a8533 #4a2a8514;border-bottom-right-radius:0;border-bottom-left-radius:0}.group-recurring-rule{background:var(--color-panel-soft);border:1px solid #4a2a851f;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.group-rule-main{flex-wrap:wrap;align-items:center;min-width:0;gap:5px 12px!important;display:flex!important}.group-rule-main strong{color:#111;font-size:15px;font-weight:600}.group-recurring-rule>div:first-child{gap:4px;min-width:0;display:grid}.group-recurring-rule span{color:#333;font-size:14px;font-weight:500}.group-rule-inline-editor{color:#111;background:#faf7fff5;border:1px solid #4a2a8524;border-top:0;border-radius:0 0 8px 8px;gap:8px;padding:8px;font-size:14px;display:grid}.group-rule-edit-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.group-rule-edit-card{background:#fff;border:1px solid #4a2a851f;border-radius:8px;gap:6px;min-width:0;padding:8px 10px;display:grid}.group-rule-basic-card,.group-rule-fee-card{grid-column:span 3}.group-rule-time-card,.group-rule-signup-card{grid-column:1/-1}.group-rule-edit-card h3{color:#111;margin:0;font-size:16px;font-weight:600;line-height:1.25}.group-rule-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:6px 8px;display:grid}.group-rule-time-card .group-rule-fields,.group-rule-signup-card .group-rule-fields{grid-template-columns:repeat(6,minmax(0,1fr))}.group-rule-fee-card .group-rule-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.group-rule-fields label{color:#333;white-space:nowrap;align-items:center;gap:6px;min-width:0;font-size:14px;font-weight:500;line-height:1.2;display:flex}.group-rule-fields label>input:not([type=checkbox]),.group-rule-fields label>select,.group-rule-fields label>textarea,.group-rule-fields label>.fixed-group-slug-copy-row{flex:1 1 0;min-width:0}.group-rule-fields input,.group-rule-fields select{color:#111;min-height:40px;padding:0 10px;font-size:15px}.group-rule-fields input[type=number]{font-size:16px;font-weight:600}.group-rule-fields textarea{color:#111;min-height:64px;padding:8px 9px;font-size:15px}.group-rule-fields label em{color:#333;font-size:14px;font-style:normal;font-weight:500}.group-rule-fields .wide-field{grid-column:1/-1}.group-repeat-days{border:1px solid #0f172a1f;border-radius:8px;grid-column:1/-1;gap:6px;margin:0;padding:8px;display:grid}.group-repeat-days legend{color:#333;padding:0 4px;font-size:14px;font-weight:500}.group-repeat-day-options{flex-wrap:wrap;gap:6px 10px;display:flex}.group-repeat-day-options .check-label{color:#333;align-items:center;gap:6px;min-height:28px;font-size:14px;font-weight:500;display:inline-flex}.group-rule-advanced-settings{background:#fff;border:1px solid #0f172a1a;border-radius:8px;display:grid}.group-rule-advanced-settings summary{color:#111;cursor:pointer;min-height:36px;padding:8px 10px;font-size:16px;font-weight:600}.group-rule-advanced-settings[open]{gap:8px;padding-bottom:10px}.group-rule-advanced-fields{padding:0 10px}.group-rule-advanced-fields .wide-field{align-items:flex-start}.group-rule-inline-editor .group-event-enabled{color:#333;min-height:40px;padding:0 8px;font-size:14px;font-weight:500}.group-rule-inline-editor .fixed-group-slug-copy-row{gap:6px}.group-rule-inline-editor .fixed-group-slug-copy-row .secondary-button{min-width:74px;min-height:40px;padding:0 8px;font-size:14px}.group-rule-edit-actions{z-index:2;background:#fffffff5;border:1px solid #4a2a851f;border-radius:8px;justify-content:flex-end;gap:6px;padding:6px 8px;display:flex;position:sticky;bottom:8px;box-shadow:0 10px 28px #4a2a851f}.group-rule-edit-actions .primary-button,.group-rule-edit-actions .secondary-button{width:auto;min-height:40px;font-size:14px}.danger-text{color:var(--color-danger)!important}.status.pending{color:#9a3412;background:#ffedd5}.status.waiting{color:#1d4ed8;background:#dbeafe}.status.near-formed{color:#9a3412;background:#fed7aa}.status.ended{color:#64748b;background:#f1f5f9}.group-events-admin .status.confirmed,.group-events-admin .status.paid{color:#166534;background:#dcfce7}.group-events-admin .status.cancelled{color:#5b21b6;background:#ede9fe}.group-ops-dashboard,.group-events-admin{width:100%}.group-ops-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:12px;display:grid}.group-ops-panel{background:#fff;border:1px solid #0f172a1a;border-radius:8px;gap:10px;min-width:0;padding:12px;display:grid;box-shadow:0 12px 32px #0f172a12}.group-ops-panel-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.group-ops-panel-head h3{color:var(--color-heading);margin:0;font-size:17px;line-height:1.25}.group-ops-panel-head span{color:#0f172a;background:#f1f5f9;border-radius:999px;place-items:center;min-width:28px;height:28px;padding:0 8px;font-size:12px;font-weight:900;display:grid}.group-ops-list{gap:8px;display:grid}.group-ops-item{background:#f8fafc;border:1px solid #0f172a14;border-radius:8px;grid-template-columns:minmax(0,1fr) 112px auto;align-items:center;gap:8px;min-height:62px;padding:8px;display:grid}.group-ops-item strong,.group-ops-item span,.group-ops-metric b{display:block}.group-ops-item strong{color:var(--color-heading);font-size:14px;line-height:1.25}.group-ops-item span{color:var(--color-muted);margin-top:2px;font-size:12px;font-weight:720;line-height:1.35}.group-ops-metric{min-width:0}.group-ops-metric b{color:var(--color-heading);margin-top:2px;font-size:13px;line-height:1.25}.group-ops-item .secondary-button{white-space:nowrap;min-height:32px;padding:0 10px}.group-ops-empty{min-height:72px;color:var(--color-muted);text-align:center;border:1px dashed #0f172a24;border-radius:8px;place-items:center;padding:12px;font-size:13px;font-weight:760;display:grid}.group-standalone-panel{min-width:0}.group-event-row-list{gap:6px;display:grid}.group-event-row-shell{background:#fff;border:1px solid #0f172a17;border-radius:8px;min-width:0}.group-event-row-shell.is-open{border-color:#4a2a8533;box-shadow:0 12px 28px #4a2a851a}.group-event-row{grid-template-columns:minmax(240px,1.45fr) minmax(150px,.55fr) minmax(150px,.52fr) minmax(380px,auto);align-items:center;gap:10px;min-height:72px;padding:8px 10px;display:grid}.group-event-row-main{flex-wrap:wrap;align-items:center;gap:4px 10px;min-width:0;display:flex}.group-event-row-main h3{color:var(--color-heading);flex:0 100%;margin:0;font-size:16px;line-height:1.2}.group-event-row-main span,.group-event-row-metrics span{color:var(--color-muted);font-size:12px;font-weight:760}.group-event-row-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.group-event-row-metrics strong{color:var(--color-heading);font-size:15px;font-weight:900}.group-event-row-status{justify-items:start;gap:4px;display:grid}.group-event-row-status strong{color:var(--color-heading);font-size:13px;line-height:1.2}.group-event-row-actions{grid-template-columns:repeat(5,minmax(76px,1fr));gap:6px;display:grid}.group-event-row-actions .secondary-button{white-space:nowrap;justify-content:center;min-height:34px;padding:0 9px;font-size:12px}.group-event-print-page{color:#111827;background:#f6f7fb;min-height:100vh;padding:18px;font-family:Noto Sans TC,Microsoft JhengHei,Arial,sans-serif}.group-print-actions{justify-content:flex-end;width:min(210mm,100%);margin:0 auto 12px;display:flex}.group-print-actions .primary-button{width:auto;min-height:42px;padding:0 18px}.group-print-sheet{background:#fff;width:min(210mm,100%);min-height:297mm;margin:0 auto;padding:16mm 14mm;box-shadow:0 12px 36px #0f172a1f}.group-print-head{text-align:center;gap:4px;margin-bottom:12mm;display:grid}.group-print-head p{color:#4b5563;margin:0;font-size:14px;font-weight:800}.group-print-head h1{color:#111827;letter-spacing:0;margin:0;font-size:28px;line-height:1.25}.group-print-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 10mm;display:grid}.group-print-meta>div{border:1px solid #d1d5db;min-width:0;padding:8px 10px}.group-print-meta dt{color:#4b5563;margin:0 0 3px;font-size:12px;font-weight:800}.group-print-meta dd{color:#111827;overflow-wrap:anywhere;margin:0;font-size:16px;font-weight:900;line-height:1.35}.group-print-table-wrap{width:100%;overflow-x:auto}.group-print-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:620px}.group-print-table th,.group-print-table td{color:#111827;text-align:left;vertical-align:middle;border:1px solid #111827;height:42px;padding:8px 10px;font-size:15px;line-height:1.35}.group-print-table th{text-align:center;background:#f3f4f6;font-weight:900}.group-print-table th:first-child,.group-print-table td:first-child{text-align:center;width:54px}.group-print-table th:nth-child(4),.group-print-table td:nth-child(4),.group-print-table th:nth-child(5),.group-print-table td:nth-child(5){text-align:center;width:86px}.print-check-box{background:#fff;border:2px solid #111827;width:18px;height:18px;display:inline-block}.group-print-empty{font-weight:800;text-align:center!important;color:#6b7280!important}.group-event-inline-panel,.group-event-inline-editor{background:#faf7ff;border:1px solid #4a2a8524;border-radius:8px;gap:12px;margin:0 10px 10px;padding:12px;display:grid}.group-panel-head,.group-inline-editor-head,.group-inline-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.group-panel-head h3,.group-inline-editor-head h3{color:var(--color-heading);margin:0;font-size:17px;line-height:1.25}.group-inline-section{background:#fff;border:1px solid #0f172a1a;border-radius:8px;gap:8px;min-width:0;padding:16px;display:grid}.group-inline-section h4{color:var(--color-heading);margin:0;font-size:14px;line-height:1.2}.group-inline-dashboard{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:12px;display:grid}.group-inline-section-basic,.group-inline-section-rules{grid-column:span 2}.group-inline-section-signup{grid-column:span 3}.group-inline-section-fee{grid-column:span 1}.group-inline-fields{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:10px;display:grid}.group-inline-fields.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.group-inline-section-signup .group-inline-fields.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.group-inline-section-fee .group-inline-fields.compact{grid-template-columns:1fr}.group-inline-fields label{min-width:0;color:var(--color-muted);gap:5px;font-size:12px;font-weight:800;display:grid}.group-inline-fields .wide-field{grid-column:1/-1}.group-not-formed-settings{border:1px solid #0f172a1f;border-radius:8px;gap:10px;margin:0;padding:12px;display:grid}.group-not-formed-settings legend{color:var(--color-heading);padding:0 6px;font-size:13px;font-weight:800}.group-not-formed-settings .form-hint{color:var(--color-muted);margin:0;font-size:12px;line-height:1.5}.group-advanced-settings{background:#fff;border:1px solid #0f172a1a;border-radius:8px;gap:10px;display:grid}.group-advanced-settings summary{min-height:38px;color:var(--color-heading);cursor:pointer;padding:10px 12px;font-size:14px;font-weight:900}.group-advanced-settings[open]{padding-bottom:16px}.group-advanced-settings[open] .group-inline-fields{padding:0 16px}.group-inline-actions{justify-content:flex-end}.group-inline-actions .primary-button,.group-inline-actions .secondary-button{width:auto;min-height:38px}.group-event-manual-form.compact{grid-template-columns:minmax(180px,.7fr) minmax(180px,.7fr) minmax(260px,1.4fr) auto;align-items:end}.group-announcement-preview-area.compact{min-height:220px}.group-rules-page{color:#111;gap:12px;font-size:14px;display:grid}.group-rules-page .section-head h2{color:#111;font-size:24px;font-weight:700;line-height:1.2}.group-rules-page .eyebrow,.group-rules-page .muted,.group-rules-page .notice{color:#333;font-size:14px;font-weight:500}.group-rules-table th,.group-rules-table td{white-space:nowrap;color:#111;font-size:14px}.group-rules-table th{color:#333;font-weight:600}.group-rules-table td{font-weight:500}.group-rules-table td strong{color:#111;font-size:15px;font-weight:600}.group-rules-page .secondary-button,.group-rules-page .primary-button,.group-rules-page .status{font-size:14px}.group-rules-table td:first-child{min-width:220px}.group-rule-editor-row>td{background:#faf7ff;padding:0}@media (width<=1180px){.group-ops-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.group-event-row{grid-template-columns:minmax(220px,1fr) minmax(150px,.5fr)}.group-event-row-actions{grid-column:1/-1}.group-inline-fields,.group-inline-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}.group-inline-section-basic,.group-inline-section-rules,.group-inline-section-signup,.group-inline-section-fee{grid-column:span 1}.group-inline-section-signup .group-inline-fields.compact,.group-inline-fields.compact,.group-rule-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.group-rule-basic-card,.group-rule-fee-card,.group-rule-time-card,.group-rule-signup-card{grid-column:1/-1}.group-rule-time-card .group-rule-fields,.group-rule-signup-card .group-rule-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.group-event-print-page{padding:10px}.group-print-actions{z-index:5;background:#f6f7fb;padding:8px 0;position:sticky;top:0}.group-print-actions .primary-button{width:100%}.group-print-sheet{min-height:0;padding:16px 12px}.group-print-head h1{font-size:24px}.group-print-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.group-print-meta dd{font-size:15px}.group-ops-grid,.group-event-row,.group-event-manual-form.compact,.group-inline-fields,.group-inline-dashboard,.group-inline-section-signup .group-inline-fields.compact,.group-inline-fields.compact{grid-template-columns:1fr}.group-event-row-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.group-panel-head,.group-inline-editor-head,.group-inline-actions{flex-direction:column;align-items:stretch}}@page{size:A4 portrait;margin:10mm}@media print{html,body{width:210mm;min-height:297mm;background:#fff!important}body{margin:0}.topbar,.admin-nav,.admin-sidebar-toggle,.group-print-actions,.group-event-row-actions,.sticky-actions,button{display:none!important}.group-event-print-page{min-height:0;padding:0;background:#fff!important}.group-print-sheet{width:100%;min-height:auto;box-shadow:none;margin:0;padding:0}.group-print-table-wrap{overflow:visible}.group-print-table{min-width:0}}.group-announcements-page{width:min(760px,100%);padding-bottom:calc(84px + env(safe-area-inset-bottom,0px));gap:14px;margin:0 auto;display:grid}.group-announcements-head{align-items:center}.group-announcement-editor-page{gap:14px;width:min(1440px,100%);margin:0 auto;display:grid}.group-announcement-editor-head{align-items:center}.group-announcement-editor-priority{background:#f5f3ff;border:1px solid #7c3aed38;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.group-announcement-editor-priority>div{min-width:0}.group-announcement-editor-priority strong{color:#4c1d95;margin-left:8px;font-size:16px;font-weight:900;display:inline-block}.group-announcement-editor-priority p{color:var(--color-muted);margin:6px 0 0;font-size:13px;font-weight:760}.group-announcement-editor-grid{grid-template-columns:minmax(340px,.75fr) minmax(520px,1.25fr);align-items:start;gap:14px;display:grid}.group-announcement-editor-left,.group-announcement-editor-right{gap:12px;display:grid}.group-announcement-editor-panel{background:#fff;border:1px solid #0f172a1a;border-radius:8px;min-width:0;padding:14px;box-shadow:0 12px 30px #0f172a12}.group-announcement-editor-panel h3{color:var(--color-heading);margin:0 0 10px;font-size:16px;line-height:1.25}.group-announcement-filter-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.group-announcement-info-head,.group-announcement-editor-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.group-announcement-info-head h3,.group-announcement-editor-toolbar h3{margin:0}.group-announcement-editor-toolbar>div{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.group-announcement-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;margin:12px 0 0;display:grid}.group-announcement-detail-grid>div{background:#f8fafc;border:1px solid #0f172a14;border-radius:8px;min-width:0;padding:9px 10px}.group-announcement-detail-grid dt{color:var(--color-muted);margin:0 0 3px;font-size:12px;font-weight:800}.group-announcement-detail-grid dd{color:var(--color-heading);overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:850;line-height:1.35}.group-announcement-template-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.group-announcement-template-buttons .secondary-button{justify-content:center;min-height:38px}.editor-area-panel{gap:12px;display:grid}.group-announcement-editor-textarea{resize:vertical;color:#111827;min-height:430px;font-size:15px;font-weight:700;line-height:1.65}.group-announcement-live-preview{white-space:pre-wrap;overflow-wrap:anywhere;color:#111827;background:#f8fafc;border:1px solid #0f172a1a;border-radius:8px;min-height:260px;max-height:420px;margin:0;padding:14px;font:700 15px/1.65 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:auto}.group-announcement-recommended,.group-announcement-other,.group-announcement-list{gap:10px;display:grid}.group-announcement-card,.group-announcement-empty{background:#fff;border:1px solid #0f172a1a;border-radius:8px;gap:12px;padding:14px;display:grid;box-shadow:0 12px 32px #0f172a14}.group-announcement-card.featured{background:linear-gradient(#f7fee7 0%,#fff 42%);border-color:#14532d38;padding:16px}.group-announcement-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.group-announcement-card-head h3{color:var(--color-heading);margin:8px 0 4px;font-size:20px;line-height:1.25}.group-announcement-card:not(.featured) .group-announcement-card-head h3{font-size:17px}.group-announcement-card-head p,.group-announcement-empty p,.group-announcement-sheet-head span{color:var(--color-muted);margin:0;font-size:13px;font-weight:720;line-height:1.45}.group-announcement-empty h3{color:var(--color-heading);margin:0;font-size:18px}.group-announcement-meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.group-announcement-meta.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.group-announcement-meta>div{background:#f8fafc;border:1px solid #0f172a14;border-radius:8px;min-width:0;padding:10px}.group-announcement-meta span{color:var(--color-muted);font-size:12px;font-weight:760;display:block}.group-announcement-meta strong{color:var(--color-heading);margin-top:2px;font-size:18px;font-weight:900;line-height:1.1;display:block}.group-announcement-preview-text{white-space:pre-wrap;word-break:break-word;color:#111827;background:#f8fafc;border:1px solid #0f172a1a;border-radius:8px;max-height:260px;margin:0;padding:12px;font:700 14px/1.65 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:auto}.group-announcement-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.group-announcement-actions.featured{grid-template-columns:1fr}.group-announcement-actions .primary-button,.group-announcement-actions .secondary-button{min-height:44px}.group-announcement-actions.featured .primary-button{min-height:52px;font-size:16px}.group-announcement-sheet-backdrop{z-index:90;padding:8px;padding-bottom:max(8px, env(safe-area-inset-bottom,0px));background:#0f172a6b;align-items:flex-end;display:flex;position:fixed;inset:0}.group-announcement-sheet{width:min(680px,100%);max-height:calc(100dvh - 16px);padding:14px;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));background:#fff;border-radius:8px 8px 0 0;grid-template-rows:auto minmax(220px,1fr) auto;gap:12px;margin:0 auto;display:grid;box-shadow:0 -18px 64px #0f172a47}.group-announcement-sheet-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.group-announcement-sheet-head h3{color:var(--color-heading);margin:5px 0 4px;font-size:20px;line-height:1.25}.group-announcement-preview-area{resize:none;white-space:pre-wrap;color:#111827;min-height:220px;font-size:15px;font-weight:700;line-height:1.65}.group-announcement-sheet-actions{background:#fff;grid-template-columns:.8fr 1.2fr;gap:8px;padding-top:4px;display:grid;position:sticky;bottom:0}.group-announcement-sheet-actions .primary-button,.group-announcement-sheet-actions .secondary-button{min-height:48px}.group-announcement-toast{left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:100;color:#fff;text-align:center;background:#14532d;border-radius:8px;width:min(420px,100vw - 24px);padding:12px 14px;font-size:14px;font-weight:850;position:fixed;transform:translate(-50%);box-shadow:0 16px 40px #14532d47}@media (width<=860px){.bulk-tool-grid,.bulk-tool-fields,.bulk-preview-list{grid-template-columns:1fr}.bulk-summary{justify-items:start}.bulk-error-panel>div,.group-event-card-grid,.group-registration-tables,.group-event-inline-form,.group-event-cancel-form,.group-event-manual-form,.group-event-admin-form,.fixed-group-slug-copy-row{grid-template-columns:1fr}.fixed-group-slug-copy-row .secondary-button{width:100%}.group-event-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.group-announcements-page,.group-announcement-editor-page{padding-inline:2px}.group-announcement-editor-grid,.group-announcement-filter-row,.group-announcement-detail-grid,.group-announcement-template-buttons{grid-template-columns:1fr}.group-announcement-editor-priority,.group-announcement-info-head,.group-announcement-editor-toolbar{flex-direction:column;align-items:stretch}.group-announcement-editor-toolbar>div{justify-content:stretch}.group-announcement-editor-toolbar .primary-button,.group-announcement-editor-toolbar .secondary-button,.group-announcement-editor-priority .secondary-button{justify-content:center;width:100%}.group-announcement-editor-textarea{min-height:320px}.group-announcement-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.group-announcement-card{padding:12px}.group-event-card-head,.group-admin-card-head,.group-recurring-rule{flex-direction:column;align-items:stretch}.group-admin-tabs,.group-admin-toolbar{width:100%}.group-admin-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.group-admin-stats,.group-admin-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.group-admin-card-title,.group-admin-compact-meta,.group-rule-main{gap:6px 8px}.group-rule-edit-grid,.group-rule-fields,.group-rule-time-card .group-rule-fields,.group-rule-signup-card .group-rule-fields,.group-rule-fee-card .group-rule-fields{grid-template-columns:1fr}.group-rule-basic-card,.group-rule-fee-card,.group-rule-time-card,.group-rule-signup-card{grid-column:1/-1}.group-rule-fields label{flex-direction:column;align-items:stretch}.group-rule-inline-editor{padding:10px}.group-rule-edit-actions{grid-template-columns:1fr;display:grid}.group-rule-edit-actions .primary-button,.group-rule-edit-actions .secondary-button{width:100%;min-height:46px}.group-event-card .group-event-card-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.group-event-card-actions{justify-items:stretch}.group-event-card .group-event-card-actions{justify-items:end}.group-event-card{align-content:start;min-height:150px}.group-event-card-compact{min-height:0;padding:8px 9px}.group-event-card-compact .group-event-card-actions{justify-items:end}.group-event-card-head h3{font-size:19px}.group-event-card-compact h3{font-size:15px}.group-event-price{font-size:19px}.group-event-card .secondary-button{min-height:38px;padding:0 12px}.group-event-card-compact .primary-button{min-height:28px;padding:0 8px}}.ai-customer-settings-page .section-head,.ai-customer-logs-page .section-head{align-items:center}.ai-settings-grid,.ai-textarea-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.ai-settings-grid label,.ai-textarea-grid label,.ai-test-panel label{flex-direction:column;gap:6px;display:flex}.ai-check-field{align-items:flex-start;gap:10px}.ai-check-field span{flex-direction:column;gap:3px;display:flex}.ai-settings-grid small,.ai-textarea-grid small,.ai-test-panel small{color:var(--color-muted);font-size:12px;line-height:1.4}.ai-textarea-grid .wide-field,.ai-test-panel .wide-field{grid-column:1/-1}.ai-textarea-grid textarea,.ai-test-panel textarea{min-height:92px}.ai-textarea-grid .large-textarea{min-height:220px;line-height:1.55}.ai-test-panel,.ai-preview-reply{flex-direction:column;gap:12px;display:flex}.ai-preview-reply{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;padding:14px}.ai-preview-reply p{white-space:pre-wrap;margin:0;line-height:1.55}.ai-log-filters{align-items:end}.ai-log-table td{vertical-align:top}.ai-log-message{white-space:pre-wrap;flex-direction:column;gap:4px;max-width:280px;line-height:1.45;display:flex}.ai-log-message .button-link{align-self:flex-start;min-height:auto;padding:0;font-size:12px}.ai-log-badges{flex-wrap:wrap;gap:6px;display:flex}.ai-log-escalated{background:#f59e0b14}.ai-log-failed{background:#ef444414}.ai-log-mobile-cards{display:none}.ai-knowledge-page{gap:18px}.ai-knowledge-filters{align-items:end}.ai-knowledge-extract-panel,.ai-knowledge-editor,.ai-knowledge-test-panel{border:1px solid var(--color-border);background:var(--color-panel);border-radius:8px;flex-direction:column;gap:14px;padding:16px;display:flex}.ai-knowledge-extract-panel h3{margin:0 0 4px}.ai-knowledge-extract-form,.ai-knowledge-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.ai-knowledge-extract-form label,.ai-knowledge-form-grid label{flex-direction:column;gap:6px;display:flex}.ai-knowledge-form-grid .wide-field,.ai-knowledge-extract-form .wide-field{grid-column:1/-1}.ai-knowledge-form-grid textarea,.ai-knowledge-extract-form textarea{min-height:86px}.ai-knowledge-form-grid .large-textarea{min-height:300px;line-height:1.55}.ai-knowledge-test-result{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);align-items:start;gap:14px;display:grid}.ai-knowledge-test-result ul{margin:8px 0 0;padding-left:20px}.ai-knowledge-actions{flex-wrap:wrap;gap:6px;display:flex}.ai-knowledge-actions .icon-button{width:34px;height:34px}.ai-knowledge-actions .danger{color:var(--color-danger)}.ai-knowledge-table td{vertical-align:top}.ai-knowledge-table .ai-log-message{max-width:220px}.ai-knowledge-expired{background:#f59e0b14}.ai-knowledge-mobile-cards{display:none}.report-page{gap:14px;display:grid}.report-filter-panel{background:var(--color-panel-soft);border:1px solid #4a2a851f;border-radius:8px;gap:12px;padding:12px;display:grid}.report-shortcuts,.report-filter-fields{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.report-shortcuts .secondary-button.active{border-color:var(--brand-primary);background:var(--brand-primary);color:#fff}.report-filter-fields label{min-width:150px;color:var(--color-muted);gap:5px;font-size:12px;font-weight:820;display:grid}.report-filter-fields input,.report-filter-fields select{min-height:40px;color:var(--color-text);background:#fff;border:1px solid #4a2a8529;border-radius:8px;font-weight:780}.report-refresh-button{min-height:40px}.report-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.report-summary-card{background:#fff;border:1px solid #0f766e2e;border-radius:8px;min-width:0;padding:12px}.report-summary-card span,.report-summary-card em{color:var(--color-muted);font-size:12px;font-style:normal;font-weight:780;display:block}.report-summary-card strong{color:var(--color-heading);overflow-wrap:anywhere;margin-top:4px;font-size:22px;font-weight:920;line-height:1.15;display:block}.report-section{background:#fff;border:1px solid #4a2a851f;border-radius:8px;gap:12px;padding:14px;display:grid}.report-section .section-head{margin-bottom:0}.report-section h3{color:var(--color-heading);font-size:18px}.report-empty-state{background:var(--color-panel-soft);color:var(--color-muted);text-align:center;border:1px dashed #4a2a853d;border-radius:8px;padding:16px;font-weight:820}.report-bar-chart{gap:8px;display:grid}.report-bar-row{grid-template-columns:minmax(94px,150px) minmax(120px,1fr) minmax(52px,auto);align-items:center;gap:10px;min-width:0;display:grid}.report-bar-row span{min-width:0;color:var(--color-muted);font-size:12px;font-weight:820}.report-bar-track{background:#0f766e1a;border-radius:999px;height:12px;overflow:hidden}.report-bar-fill{border-radius:inherit;background:linear-gradient(90deg,#0f766e,#4f46e5);height:100%}.report-bar-row strong{color:var(--color-heading);text-align:right;font-size:12px;font-weight:900}.report-line-chart-wrap{gap:8px;display:grid;overflow-x:auto}.report-line-chart{background:var(--color-panel-soft);border:1px solid #4a2a851a;border-radius:8px;width:100%;min-width:520px;height:220px}.report-line-chart line{stroke:#4a2a852e;stroke-width:1px}.report-line-chart polyline{fill:none;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.report-line-legend{color:var(--color-muted);flex-wrap:wrap;gap:12px;font-size:12px;font-weight:820;display:flex}.report-line-legend span{align-items:center;gap:6px;display:inline-flex}.report-line-legend i{border-radius:999px;width:18px;height:4px}.report-table th,.report-table td{white-space:nowrap}.report-heatmap-wrap{width:100%;overflow-x:auto}.report-heatmap{border-collapse:separate;border-spacing:4px;width:100%;min-width:860px}.report-heatmap th,.report-heatmap td{text-align:center;white-space:nowrap;border-radius:6px;padding:8px;font-size:12px}.report-heatmap th{color:var(--color-muted);background:#4a2a8514;font-weight:850}.report-heatmap td{background:rgba(15, 118, 110, calc(.08 + var(--heat,0) * .66));color:var(--color-heading);font-weight:880}.report-heatmap td.empty{color:var(--color-muted);background:#4a2a850d}@media (width<=860px){.report-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filter-fields label,.report-refresh-button{width:100%}.report-bar-row{grid-template-columns:minmax(74px,96px) minmax(86px,1fr) minmax(46px,auto)}.ai-settings-grid,.ai-textarea-grid,.ai-knowledge-extract-form,.ai-knowledge-form-grid,.ai-knowledge-test-result{grid-template-columns:1fr}.ai-log-desktop-table,.ai-knowledge-desktop-table{display:none}.ai-log-mobile-cards,.ai-knowledge-mobile-cards{display:grid}.ai-log-message{max-width:none}}
