:root{--bg: #f8fafc;--text: #0f172a;--muted: #475569;--card: #ffffff;--line: #cbd5e1;--primary: #4f46e5;--primary-600: #4338ca;--success: #16a34a;--warn: #f59e0b;--danger: #ef4444;--badge: #e2e8f0;--green: #dcfce7;--amber: #fff7ed;--blue: #e0e7ff;--orange: #ffedd5}*{box-sizing:border-box}html,body{height:100%;margin:0}#root{display:flex;flex-direction:column;height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:12px}h1{margin:0 0 8px;color:var(--primary)}.grid{display:grid;gap:12px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 3px #0000000d;padding:12px}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}label{font-size:14px;color:var(--muted)}input:not(.MuiInputBase-input):not(.MuiSelect-nativeInput),select:not(.MuiSelect-nativeInput),button:not(.MuiButtonBase-root),textarea:not(.MuiInputBase-input){border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:inherit;background:#fff;color:var(--text)}select{padding-right:28px}button{background:var(--primary);color:#fff;border:none;cursor:pointer}button:hover{background:var(--primary-600)}button.ghost{background:#fff;color:var(--text);border:1px solid var(--line)}button.danger{background:var(--danger);color:#fff}button.danger .MuiSvgIcon-root{color:inherit}button.warn{background:var(--warn);color:#111827}button.success{background:var(--success);color:#fff}button.icon-btn{padding:6px 8px;display:inline-flex;align-items:center;justify-content:center}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;background:var(--badge);color:#0f172a}.badge.unpaid{background:#fee2e2}.badge.paid{background:#dcfce7}.badge.paid-badge{display:inline-flex;align-items:center;gap:3px;font-weight:600;color:#15803d;line-height:1;white-space:nowrap}.paid-badge-icon{display:block;flex-shrink:0}.badge.method-cash{background:#dbeafe;color:#1e40af}.badge.method-transfer{background:#ede9fe;color:#6d28d9}.badge.method-loyalty,.badge.free-session{background:#fef3c7;color:#92400e}table{width:100%;border-collapse:collapse;font-size:14px}th,td{border:1px solid var(--line);padding:6px;text-align:center}th{background:#f1f5f9}.cell-fixed{background:var(--green)}.cell-casual{background:var(--orange)}.cell-promo-slot{background:#ede9fe73}.cell-makeup{background:#ede9fe}.cell-social{background:#cffafe}.cell-gift{background:#fce7f3}td.schedule-booking-exiting{pointer-events:none;visibility:hidden}td.schedule-booking-deleting{pointer-events:none;position:relative;z-index:195;outline:2px solid #dc2626;outline-offset:-1px;box-shadow:0 0 0 2px #ffffffe6,0 0 0 4px #dc26268c,0 8px 24px #7f1d1d47;animation:schedule-booking-deleting-border .9s ease-in-out infinite}@keyframes schedule-booking-deleting-border{0%,to{outline-color:#dc2626;box-shadow:0 0 0 2px #ffffffe6,0 0 0 4px #dc262673,0 8px 24px #7f1d1d38}50%{outline-color:#f87171;box-shadow:0 0 0 2px #fffffff2,0 0 0 6px #f87171b3,0 10px 28px #b91c1c59}}td.schedule-booking-deleting .schedule-booking-block>b,td.schedule-booking-deleting .schedule-booking-time>span{position:relative;display:inline-block;color:inherit;opacity:.82;transition:opacity .35s ease}td.schedule-booking-deleting .schedule-booking-block>b:after,td.schedule-booking-deleting .schedule-booking-time>span:after{content:"";position:absolute;left:0;top:calc(50% - 1px);width:100%;height:2px;border-radius:999px;background:#7f1d1d;transform:scaleX(0);transform-origin:left center;will-change:transform;pointer-events:none}td.schedule-booking-deleting .schedule-booking-block>b:after{animation:schedule-booking-strikethrough .42s cubic-bezier(.22,.61,.36,1) .05s forwards}td.schedule-booking-deleting .schedule-booking-time>span:first-child:after{animation:schedule-booking-strikethrough .36s cubic-bezier(.22,.61,.36,1) .28s forwards}td.schedule-booking-deleting .schedule-booking-time>span:last-child:after{animation:schedule-booking-strikethrough .36s cubic-bezier(.22,.61,.36,1) .48s forwards}td.schedule-booking-deleting .schedule-booking-time-arrow{opacity:.4;transition:opacity .35s ease .28s}@keyframes schedule-booking-strikethrough{0%{transform:scaleX(0)}to{transform:scaleX(1)}}td.schedule-booking-arriving{opacity:0;pointer-events:none}.booking-delete-spotlight-block{position:fixed;top:0;right:0;bottom:0;left:0;z-index:190;background:transparent;pointer-events:auto;cursor:wait}.booking-delete-spotlight-dim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:191;background:#0f172a7a;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);pointer-events:none}.booking-delete-spotlight-hole{position:fixed;z-index:191;pointer-events:none;opacity:0;background:transparent;box-shadow:0 0 0 9999px #0f172a7a}@media(prefers-reduced-motion:reduce){td.schedule-booking-exiting{visibility:hidden;opacity:0}td.schedule-booking-deleting{animation:none}td.schedule-booking-deleting .schedule-booking-block>b:after,td.schedule-booking-deleting .schedule-booking-time>span:after{animation:none;transform:scaleX(1)}td.schedule-booking-arriving{opacity:1;pointer-events:auto}}.booking-save-flight{position:fixed;z-index:200;pointer-events:none;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 28px #0f172a2e;will-change:transform,opacity,border-radius;transform-origin:center center}.booking-save-flight-shuttle{width:86%;height:86%;object-fit:contain;opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.booking-save-flight--loading{overflow:visible;box-shadow:none;animation:booking-save-flight-orbit 1.05s linear infinite}.booking-save-flight--loading .booking-save-flight-shuttle{opacity:1;animation:booking-save-flight-spin .7s linear infinite}@keyframes booking-save-flight-orbit{0%{transform:rotate(0) translate(32px) rotate(0)}to{transform:rotate(360deg) translate(32px) rotate(-360deg)}}@keyframes booking-save-flight-spin{to{transform:rotate(360deg)}}.modal-overlay--save-flight{background:#0f172a73!important;backdrop-filter:blur(4px)!important;-webkit-backdrop-filter:blur(4px)!important;opacity:1!important;pointer-events:auto!important;cursor:wait}.modal-overlay--save-flight>.modal{visibility:hidden;pointer-events:none}.create-fixed-page--save-flight{cursor:wait}.create-fixed-page--save-flight .fbm-floating-header,.create-fixed-page--save-flight .fbm-content-area{visibility:hidden;pointer-events:none}.booking-save-flight-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:190;background:#0f172a73;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);pointer-events:auto;cursor:wait}@media(prefers-reduced-motion:reduce){.booking-save-flight{display:none}.booking-save-flight--loading,.booking-save-flight--loading .booking-save-flight-shuttle{animation:none}}td.schedule-booking-new.cell-casual{position:relative;overflow:hidden;isolation:isolate;animation:schedule-booking-new-gradient 2.6s ease-out forwards}td.schedule-booking-new.cell-casual:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(105deg,transparent 0%,transparent 38%,rgba(255,255,255,.65) 48%,rgba(254,215,170,.9) 50%,rgba(255,255,255,.65) 52%,transparent 62%,transparent 100%);background-size:260% 100%;animation:schedule-booking-new-shimmer 2.6s ease-out forwards;pointer-events:none}td.schedule-booking-new.cell-casual .schedule-booking-block{position:relative;z-index:2}td.schedule-booking-new.cell-social{position:relative;overflow:hidden;isolation:isolate;animation:schedule-booking-new-gradient-social 2.6s ease-out forwards}td.schedule-booking-new.cell-social:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(105deg,transparent 0%,transparent 38%,rgba(255,255,255,.65) 48%,rgba(103,232,249,.9) 50%,rgba(255,255,255,.65) 52%,transparent 62%,transparent 100%);background-size:260% 100%;animation:schedule-booking-new-shimmer 2.6s ease-out forwards;pointer-events:none}td.schedule-booking-new.cell-social .schedule-booking-block{position:relative;z-index:2}td.schedule-booking-new.cell-fixed{position:relative;overflow:hidden;isolation:isolate;animation:schedule-booking-new-gradient-fixed 2.6s ease-out forwards}td.schedule-booking-new.cell-fixed:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(105deg,transparent 0%,transparent 38%,rgba(255,255,255,.65) 48%,rgba(187,247,208,.9) 50%,rgba(255,255,255,.65) 52%,transparent 62%,transparent 100%);background-size:260% 100%;animation:schedule-booking-new-shimmer 2.6s ease-out forwards;pointer-events:none}td.schedule-booking-new.cell-fixed .schedule-booking-block{position:relative;z-index:2}@keyframes schedule-booking-new-gradient{0%{background-color:#ffedd5;background-image:linear-gradient(135deg,#ffedd5,#fed7aa 35%,#fdba74,#fed7aa 65%,#ffedd5);background-size:220% 220%;background-position:0% 50%}45%{background-position:100% 50%}to{background-color:var(--orange);background-image:none}}@keyframes schedule-booking-new-gradient-social{0%{background-color:#ecfeff;background-image:linear-gradient(135deg,#ecfeff,#cffafe 35%,#67e8f9,#cffafe 65%,#ecfeff);background-size:220% 220%;background-position:0% 50%}45%{background-position:100% 50%}to{background-color:#cffafe;background-image:none}}@keyframes schedule-booking-new-gradient-fixed{0%{background-color:#f0fdf4;background-image:linear-gradient(135deg,#f0fdf4,#bbf7d0 35%,#86efac,#bbf7d0 65%,#f0fdf4);background-size:220% 220%;background-position:0% 50%}45%{background-position:100% 50%}to{background-color:var(--green);background-image:none}}@keyframes schedule-booking-new-shimmer{0%{background-position:130% 0;opacity:.95}55%{background-position:-40% 0;opacity:.95}to{background-position:-40% 0;opacity:0}}@media(prefers-reduced-motion:reduce){td.schedule-booking-new.cell-casual,td.schedule-booking-new.cell-casual:after,td.schedule-booking-new.cell-social,td.schedule-booking-new.cell-social:after,td.schedule-booking-new.cell-fixed,td.schedule-booking-new.cell-fixed:after{animation:none}}.cell-pending{background:#fef9c3}.muted{color:var(--muted)}.right{margin-left:auto}.toast{position:fixed;top:16px;right:16px;padding:10px 14px;border-radius:10px;color:#fff;display:none;z-index:9999;box-shadow:0 4px 18px #0003}.toast.show{display:block}.toast.success{background:var(--success)}.toast.error{background:var(--danger)}.toast.info{background:var(--primary)}.toast.warn{background:var(--warn)}.toast.danger{background:var(--danger)}.toolbar-alert{font-size:13px;font-weight:600;padding:4px 10px;border-radius:8px;white-space:nowrap;animation:toolbar-alert-in .2s ease-out}.toolbar-alert.success{color:var(--success);background:var(--green)}.toolbar-alert.error{color:var(--danger);background:#fee2e2}.toolbar-alert.warn{color:#92400e;background:#fef3c7}.toolbar-alert.info{color:var(--primary);background:var(--blue)}@keyframes toolbar-alert-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.kpi{display:flex;gap:8px;flex-wrap:wrap}.kpi>div{flex:1 1 160px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px}.kpi .v{font-weight:700;font-size:18px}.kpi .v.kpi-pending{color:var(--danger)}.sticky-tools{position:sticky;top:0;z-index:10}html:has(body.shell-page-active){background:var(--card);height:100%;min-height:100%;min-height:100dvh;min-height:-webkit-fill-available}@supports (-webkit-touch-callout: none){html:has(body.shell-page-active){position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}}body.shell-page-active{overflow:hidden;padding:0;background:var(--card);height:100%;max-height:100%;--bottom-nav-offset: 68px}body.shell-page-active #root{overflow:hidden;height:100%;max-height:100%;background:var(--card)}.app-shell{display:flex;flex-direction:column;height:100%;max-height:100%;min-height:0;overflow:hidden}.app-shell-main,.app-shell-page{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}.app-shell-page--enter-forward .home-schedule-area,.app-shell-page--enter-forward .fbm-content-area{animation:shell-page-enter-forward .24s ease-out both}.app-shell-page--enter-backward .home-schedule-area,.app-shell-page--enter-backward .fbm-content-area{animation:shell-page-enter-backward .24s ease-out both}@keyframes shell-page-enter-forward{0%{transform:translate(24px);opacity:.65}to{transform:translate(0);opacity:1}}@keyframes shell-page-enter-backward{0%{transform:translate(-24px);opacity:.65}to{transform:translate(0);opacity:1}}@media(prefers-reduced-motion:reduce){.app-shell-page--enter-forward .home-schedule-area,.app-shell-page--enter-forward .fbm-content-area,.app-shell-page--enter-backward .home-schedule-area,.app-shell-page--enter-backward .fbm-content-area{animation:none}}.bottom-nav-spacer{flex:0 0 auto;width:100%;height:var(--bottom-nav-offset);pointer-events:none}.bottom-nav{position:fixed;bottom:0;left:0;right:0;flex:0 0 auto;flex-shrink:0;width:100%;display:flex;align-items:center;padding:8px 12px;border-top:1px solid var(--line);background:var(--card);z-index:20}button.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:52px;padding:4px 6px;border:none;border-radius:0;background:transparent;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;touch-action:manipulation}button.bottom-nav-item:hover{background:#f8fafc}button.bottom-nav-item.is-active{color:var(--primary)}.bottom-nav-icon{display:block;line-height:0}.bottom-nav-icon .MuiSvgIcon-root{display:block;font-size:1.625rem}.bottom-nav-label{line-height:1.1;text-align:center}.settings-content-area{overflow-y:auto;background:var(--bg);gap:0}.settings-page-header{display:flex;flex-direction:column;align-items:center;padding:4px 0 20px}.settings-page-title{margin:0;font-size:2rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.settings-group{display:flex;flex-direction:column;width:100%;background:var(--card);border-radius:0;overflow:hidden}.settings-group+.settings-group{margin-top:12px}button.settings-row{display:flex;align-items:center;gap:12px;width:100%;min-height:60px;padding:12px 14px 12px 16px;border:none;border-radius:0;background:var(--card);color:var(--text);font:inherit;font-size:1rem;text-align:left;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button.settings-row:hover{background:#f8fafc}button.settings-row:active{background:#f1f5f9}.settings-row-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;border-radius:0;color:#fff}.settings-row-icon .MuiSvgIcon-root{font-size:18px}.settings-row-icon--revenue{background:#34c759}.settings-row-icon--operations{background:#0a84ff}.settings-row-icon--customers{background:#007aff}.settings-row-icon--promotions{background:#ff9500}.settings-row-icon--history{background:#5856d6}.settings-row-icon--pricing{background:#8e8e93}.settings-row-icon--personal{background:#ff2d55}.settings-row-icon--notifications{background:#ff3b30}.settings-row-icon--general{background:#636366}.settings-row--toggle{display:flex;align-items:center;gap:12px;width:100%;min-height:60px;padding:12px 14px 12px 16px;border:none;background:var(--card);text-align:left}.settings-row--toggle .MuiSwitch-root{flex-shrink:0;margin-left:auto}.settings-push-test-btn{display:block;width:calc(100% - 32px);margin:0 16px 8px;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text);font-size:14px;font-weight:500}.settings-push-test-btn:disabled{opacity:.6}.settings-push-error{margin:0 16px 8px;padding:0;font-size:13px;color:#ff3b30}.settings-push-note{margin:0 16px 8px;padding:0;font-size:12px;line-height:1.4;color:var(--muted)}.personal-content-area{padding-bottom:32px}.personal-profile-card,.personal-expiry-card,.personal-sessions-card{width:100%;background:var(--card);padding:16px}.personal-profile-card{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line)}.personal-profile-meta{min-width:0}.personal-profile-name{margin:0;font-size:1.125rem;font-weight:700;line-height:1.3}.personal-profile-email{margin:4px 0 0;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.personal-expiry-card{display:flex;align-items:flex-start;gap:10px;border-bottom:1px solid var(--line)}.personal-expiry-icon{flex-shrink:0;margin-top:2px;color:var(--primary)}.personal-expiry-text{min-width:0}.personal-expiry-label{margin:0;font-size:13px;color:var(--muted)}.personal-expiry-value{margin:4px 0 0;font-size:14px;font-weight:600;line-height:1.4}.personal-sessions-card{padding-bottom:20px}.personal-sessions-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.personal-sessions-title{margin:0;font-size:1rem;font-weight:700}.personal-sessions-empty{margin:0}.personal-sessions-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.personal-session-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;background:#00000008}.personal-session-meta{min-width:0;flex:1}.personal-session-label{margin:0;font-size:14px;font-weight:600}.personal-session-expiry{margin:4px 0 0;font-size:12px}.personal-session-expiry--current{color:var(--primary);font-weight:600}.personal-session-current{flex-shrink:0;font-size:12px;color:var(--primary);font-weight:600}.personal-session-revoke{flex-shrink:0;font-size:13px}.personal-actions{width:100%;padding:8px 16px 0}.personal-logout-btn{width:100%;justify-content:center;min-height:44px}.settings-row-text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.settings-row-label{line-height:1.3}.settings-row-description{font-size:13px;line-height:1.35;color:var(--muted)}.settings-row-chevron{flex-shrink:0;color:#c7c7cc}.settings-footer{margin:16px 0 0;padding:0 8px;font-size:13px;line-height:1.4;text-align:center;color:var(--muted)}.home-page{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:100%;max-height:100%;width:100%;overflow:hidden}.home-floating-header,.fbm-floating-header{z-index:20;flex:0 0 auto;background:var(--card);border:none;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;padding-top:max(12px,env(safe-area-inset-top,0px));padding-right:0;padding-bottom:0;padding-left:0;width:100%;display:flex;flex-direction:column}.home-floating-header .page-top-bar,.fbm-floating-header .page-top-bar{padding:0 12px 12px}.home-schedule-area{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;width:100%;overflow:hidden}.home-schedule-card{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;background:var(--card);border:none;border-radius:0;box-shadow:none;padding-top:12px;padding-bottom:12px}.home-schedule-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;justify-content:space-between;flex:0 0 auto;padding:0 12px;-webkit-user-select:none;user-select:none}.schedule-date-picker{display:flex;align-items:center;gap:8px;position:relative;cursor:pointer}.schedule-date-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:0}.schedule-date-calendar-icon{color:var(--primary)}.schedule-date-dow{position:absolute;bottom:18%;left:50%;transform:translate(-50%);font-size:16px;font-weight:700;line-height:1;color:var(--primary);letter-spacing:.05em;font-family:Monaco,Menlo,ui-monospace,Consolas,monospace}.schedule-date-text{display:flex;flex-direction:column;gap:2px}.schedule-date-label{font-weight:600;font-size:24px;line-height:1.1;font-family:Monaco,Menlo,ui-monospace,Consolas,monospace}.schedule-date-badge{font-size:12px;align-self:flex-start}.schedule-date-input{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;cursor:pointer}.home-toolbar-row{display:flex;align-items:center;gap:12px;justify-content:flex-end;flex-wrap:wrap;padding:0 12px 12px}.help{font-size:12px;color:var(--muted)}.hr{height:1px;background:var(--line);margin:10px 0}.form{position:relative}.fields{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.field{display:flex;flex-direction:column;gap:4px;min-width:140px}.field>label{font-size:12px;color:var(--muted)}.field select,.field input:not(.MuiInputBase-input),.field textarea:not(.MuiInputBase-input){touch-action:manipulation;pointer-events:auto}.field select,.field input:not(.MuiInputBase-input){min-height:36px}.field textarea:not(.MuiInputBase-input){min-height:0;resize:vertical}.field select:focus,.field input:not(.MuiInputBase-input):focus,.field textarea:not(.MuiInputBase-input):focus{outline:2px solid var(--primary);outline-offset:2px;border-color:var(--primary)}.row button:not(.MuiButtonBase-root),.field select,.field input:not(.MuiInputBase-input),.field textarea:not(.MuiInputBase-input){-webkit-tap-highlight-color:transparent}.field--mui{gap:0;min-width:0}.field--mui .MuiFormControl-root,.field--mui .MuiTextField-root,.outlined-date-field{touch-action:manipulation}.outlined-date-field{position:relative;width:100%;min-width:0;min-height:56px;isolation:isolate}.outlined-date-field .MuiFormControl-root,.outlined-date-field .MuiTextField-root{pointer-events:none}.outlined-date-field-native{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer;z-index:2;pointer-events:auto;font-size:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.modal-booking .modal-fields .field--mui:has(.outlined-date-field){overflow:visible;position:relative;z-index:1}.field input.input-invalid{border-color:var(--danger)}.input-group{display:flex;align-items:stretch}.input-group input{flex:1;min-width:0;border-top-right-radius:0;border-bottom-right-radius:0}.input-group .input-group-btn{flex-shrink:0;min-height:36px;padding:0 12px;border:1px solid var(--line);border-left:none;border-radius:0 8px 8px 0;white-space:nowrap;font-size:13px;font-weight:600}.input-group .input-group-btn:focus{outline:2px solid var(--primary);outline-offset:2px;z-index:1}.input-group-invalid input,.input-group-invalid .input-group-btn{border-color:var(--danger)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:16px}.modal-overlay.open{display:flex}.modal-overlay-dormant{visibility:hidden;pointer-events:none;opacity:0}.modal{background:var(--card);border-radius:16px;box-shadow:0 20px 60px #0003;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;animation:modalIn .2s ease-out}.modal--expand-from,.modal--slide-from-bottom,.modal-overlay--expand-from,.modal-overlay--slide-from-bottom{animation:none}.modal-overlay--transparent{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;align-items:flex-start;justify-content:flex-start;padding:0}.modal-overlay--shrink-closing,.modal--shrink-closing{pointer-events:none}@keyframes modalIn{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.modal--expand-from,.modal--slide-from-bottom,.modal-overlay--expand-from,.modal-overlay--slide-from-bottom{animation:none}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 0}.modal-header h2{margin:0;font-size:18px;flex:1;min-width:0}.modal-header-left,.modal-header-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.modal-header-right{justify-content:flex-end}.modal-header-action{flex-shrink:0;font-size:14px;font-weight:600;white-space:nowrap}.modal-header-delete-btn,.modal-header-action--icon{display:inline-flex;align-items:center;gap:6px}.modal-header-delete-btn{color:#fff}.modal-header-social-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;background:#cffafe;color:#0e7490;border:1px solid #a5f3fc;border-radius:999px;line-height:1}.modal-header-social-btn .MuiSvgIcon-root{color:inherit}.modal-header-social-btn:hover:not(:disabled){background:#a5f3fc}.modal-header-social-btn--selected{background:#67e8f9;border-color:#06b6d4;color:#155e75;font-weight:600}.modal-header-social-btn--selected:hover:not(:disabled){background:#22d3ee}.modal-header-social-btn:disabled{opacity:.6;cursor:default}.modal-header-casual-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;background:var(--orange);color:#c2410c;border:1px solid #fdba74;border-radius:999px;line-height:1}.modal-header-casual-btn .MuiSvgIcon-root{color:inherit}.modal-header-casual-btn:hover:not(:disabled){background:#fed7aa}.modal-header-casual-btn:disabled{opacity:.6;cursor:default}.modal-close-btn{width:36px;height:36px;padding:0;font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.modal-body{padding:16px 20px}.modal-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-fields--single{grid-template-columns:1fr;gap:24px}.modal-fields .field{min-width:0}.modal-fields .field-wide{grid-column:1 / -1}.choice-group{display:flex;flex-wrap:wrap;gap:8px}.choice-option{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font-size:14px;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s,color .15s;-webkit-user-select:none;user-select:none}.choice-option:hover{border-color:var(--primary)}.choice-option.selected{border-color:var(--primary);background:var(--blue);color:var(--primary);box-shadow:0 2px 6px #4f46e526}.choice-option.disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.choice-option.disabled.selected{border-color:var(--line);background:#f1f5f9;color:var(--muted);box-shadow:none}.choice-option input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.choice-group--courts .choice-option{width:56px;min-width:56px;min-height:46px;flex:0 0 56px;font-size:16px}.choice-group--payment .choice-option--unpaid{border-color:#fca5a5;background:#fef2f2;color:#b91c1c}.choice-group--payment .choice-option--unpaid:hover{border-color:#f87171;background:#fee2e2}.choice-group--payment .choice-option--unpaid.selected{border-color:#ef4444;background:#fee2e2;color:#991b1b;box-shadow:0 2px 8px #ef44442e;animation:payment-unpaid-attention 2.4s ease-in-out infinite}.choice-group--payment .choice-option--paid{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}.choice-group--payment .choice-option--paid:hover{border-color:#86efac;background:#dcfce7}.choice-group--payment .choice-option--paid.selected{border-color:#22c55e;background:#dcfce7;color:#14532d;box-shadow:0 2px 8px #22c55e33;animation:payment-paid-pop .55s ease-out,payment-paid-glow 2.8s ease-in-out .55s infinite}.choice-group--payment .choice-option--paid.selected:after{content:"✓";margin-left:6px;font-size:13px;line-height:1;animation:payment-check-pop .45s ease-out}.choice-group--payment .choice-option--reward{border-color:#fcd34d;background:#fffbeb;color:#92400e}.choice-group--payment .choice-option--reward:hover{border-color:#fbbf24;background:#fef3c7}.choice-group--payment .choice-option--reward.selected{border-color:#f59e0b;background:#fef3c7;color:#78350f;box-shadow:0 2px 8px #f59e0b38;animation:payment-reward-pop .6s ease-out,payment-reward-shimmer 3s ease-in-out .6s infinite}.modal-overlay-backdrop-picker{z-index:110;align-items:center;justify-content:center;min-height:100dvh;animation:backdrop-picker-overlay-in .2s ease-out}.modal-overlay-backdrop-picker.modal-overlay--expand-from{animation:none}.modal-overlay-backdrop-picker.modal-overlay--shrink-closing,.backdrop-picker-options--shrink-closing{pointer-events:none}.modal-overlay-backdrop-picker--busy{cursor:wait}.backdrop-picker-busy-block{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:transparent;pointer-events:auto;cursor:wait}.backdrop-picker-spotlight-dim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;background:#0f172a7a;pointer-events:none;animation:backdrop-picker-spotlight-in .28s ease-out}.backdrop-picker-spotlight-dim.has-hole{background:transparent}.backdrop-picker-spotlight-dim--success .backdrop-picker-spotlight-hole{box-shadow:0 0 0 9999px #0f172a66}.backdrop-picker-spotlight-dim--merging{opacity:0;transition:opacity .35s ease}.backdrop-picker-spotlight-hole{position:fixed;box-sizing:border-box;background:transparent;box-shadow:0 0 0 9999px #0f172a7a;transition:left .18s ease,top .18s ease,width .18s ease,height .18s ease,border-radius .18s ease}.backdrop-picker-options{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:20px;width:auto;margin:0 auto}.backdrop-picker-options--grid{flex-direction:row;flex-wrap:wrap;justify-content:center;max-width:400px;gap:16px}.backdrop-picker-option{width:120px;height:120px;min-width:120px;min-height:120px;padding:12px;border:2px solid var(--line);border-radius:16px;font-size:15px;font-weight:600;text-align:center;cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease,color .22s ease,opacity .28s ease,filter .28s ease;box-shadow:0 8px 24px #0f172a2e}button.backdrop-picker-option{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#fff;color:var(--text);border:2px solid var(--line)}.backdrop-picker-option-visual{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0}.backdrop-picker-option-icon{transition:opacity .2s ease,transform .2s ease}.backdrop-picker-option-spinner.btn-spinner{margin:0;width:28px;height:28px;border-width:2.5px;vertical-align:middle;opacity:0;animation:btn-spin .65s linear infinite,backdrop-picker-spinner-in .28s ease-out forwards}.backdrop-picker-option-check{color:#16a34a;animation:backdrop-picker-check-in .45s cubic-bezier(.22,1.2,.36,1)}.backdrop-picker-option-label{font-size:14px;line-height:1.2;transition:opacity .22s ease}.backdrop-picker-option-label--court{font-size:36px;font-weight:700;line-height:1}button.backdrop-picker-option:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 28px #0f172a38}.backdrop-picker-option:disabled,button.backdrop-picker-option:disabled{cursor:not-allowed}button.backdrop-picker-option.is-disabled{opacity:.48;background:#f1f5f9;color:var(--muted);border-color:#e2e8f0;box-shadow:none;transform:none;filter:none}button.backdrop-picker-option.is-disabled .backdrop-picker-option-icon--warning{color:#d97706;opacity:1}button.backdrop-picker-option.is-dimmed{opacity:.4;filter:saturate(.7);transform:scale(.97);pointer-events:none}button.backdrop-picker-option.is-merging-away{filter:none;pointer-events:none;z-index:1;opacity:.75;transform:scale(1);transition:transform .52s cubic-bezier(.32,.72,.2,1),opacity .42s ease,filter .3s ease}button.backdrop-picker-option.is-merging-away.is-merged{filter:blur(2px)}button.backdrop-picker-option.is-pending{position:relative;z-index:4;opacity:1;filter:none;cursor:wait;transform:scale(1.04);box-shadow:0 14px 36px #0f172a47;animation:backdrop-picker-pending-pop .35s ease-out}button.backdrop-picker-option.is-pending.is-merging-target{animation:backdrop-picker-merge-target .52s cubic-bezier(.32,.72,.2,1);z-index:5}button.backdrop-picker-option.is-processing{cursor:wait}button.backdrop-picker-option.is-current{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e559}button.backdrop-picker-option.backdrop-picker-option--unpaid{border-color:#fca5a5;background:#fef2f2;color:#b91c1c}button.backdrop-picker-option.backdrop-picker-option--unpaid:hover:not(:disabled){border-color:#f87171;background:#fee2e2;color:#b91c1c}button.backdrop-picker-option.backdrop-picker-option--paid{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}button.backdrop-picker-option.backdrop-picker-option--paid:hover:not(:disabled){border-color:#86efac;background:#dcfce7;color:#15803d}button.backdrop-picker-option.backdrop-picker-option--reward{border-color:#fcd34d;background:#fffbeb;color:#92400e}button.backdrop-picker-option.backdrop-picker-option--reward:hover:not(:disabled){border-color:#fbbf24;background:#fef3c7;color:#92400e}button.backdrop-picker-option.backdrop-picker-option--unpaid.is-current:not(.is-pending){border-color:#ef4444;background:#fee2e2;color:#991b1b;box-shadow:0 2px 8px #ef44442e;animation:payment-unpaid-attention 2.4s ease-in-out infinite}button.backdrop-picker-option.backdrop-picker-option--paid.is-current:not(.is-pending){border-color:#22c55e;background:#dcfce7;color:#14532d;box-shadow:0 2px 8px #22c55e33;animation:payment-paid-pop .55s ease-out,payment-paid-glow 2.8s ease-in-out .55s infinite}button.backdrop-picker-option.backdrop-picker-option--reward.is-current:not(.is-pending){border-color:#f59e0b;background:#fef3c7;color:#78350f;box-shadow:0 2px 8px #f59e0b38;animation:payment-reward-pop .6s ease-out,payment-reward-shimmer 3s ease-in-out .6s infinite}button.backdrop-picker-option.backdrop-picker-option--unpaid.is-pending{border-color:#ef4444;background:#fee2e2;color:#991b1b}button.backdrop-picker-option.backdrop-picker-option--paid.is-pending{border-color:#22c55e;background:#dcfce7;color:#14532d}button.backdrop-picker-option.backdrop-picker-option--reward.is-pending{border-color:#f59e0b;background:#fef3c7;color:#78350f}button.backdrop-picker-option.is-success{cursor:default;border-color:#22c55e;background:#dcfce7;color:#14532d;box-shadow:0 0 0 4px #22c55e38,0 14px 36px #0f172a38;animation:backdrop-picker-success-pop .5s ease-out}@keyframes backdrop-picker-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes backdrop-picker-spotlight-in{0%{opacity:0}to{opacity:1}}@keyframes backdrop-picker-pending-pop{0%{transform:scale(1)}to{transform:scale(1.04)}}@keyframes backdrop-picker-success-pop{0%{transform:scale(1.04);box-shadow:0 14px 36px #0f172a47}40%{transform:scale(1.08);box-shadow:0 0 0 8px #22c55e33,0 16px 40px #0f172a3d}to{transform:scale(1.04);box-shadow:0 0 0 4px #22c55e38,0 14px 36px #0f172a38}}@keyframes backdrop-picker-merge-target{0%{transform:scale(1.04)}45%{transform:scale(1.1)}to{transform:scale(1.06)}}@keyframes backdrop-picker-spinner-in{0%{opacity:0}to{opacity:1}}@keyframes backdrop-picker-check-in{0%{opacity:0;transform:scale(.35) rotate(-12deg)}55%{opacity:1;transform:scale(1.18) rotate(0)}to{opacity:1;transform:scale(1) rotate(0)}}@media(prefers-reduced-motion:reduce){.modal-overlay-backdrop-picker,.modal-overlay-backdrop-picker.modal-overlay--expand-from,.backdrop-picker-spotlight-dim,.backdrop-picker-option-spinner.btn-spinner,.backdrop-picker-option-check,button.backdrop-picker-option.is-pending,button.backdrop-picker-option.is-success,button.backdrop-picker-option.is-pending.is-merging-target{animation:none}.backdrop-picker-spotlight-hole,.backdrop-picker-spotlight-dim--merging,button.backdrop-picker-option.is-merging-away{transition:none}.backdrop-picker-option-spinner.btn-spinner{opacity:1;animation:btn-spin .65s linear infinite}.backdrop-picker-option{transition:none}button.backdrop-picker-option:hover:not(:disabled){transform:none}button.backdrop-picker-option.is-dimmed,button.backdrop-picker-option.is-pending{transform:none}button.backdrop-picker-option.backdrop-picker-option--unpaid.is-current:not(.is-pending),button.backdrop-picker-option.backdrop-picker-option--paid.is-current:not(.is-pending),button.backdrop-picker-option.backdrop-picker-option--reward.is-current:not(.is-pending){animation:none}}@keyframes payment-unpaid-attention{0%,to{transform:scale(1);box-shadow:0 2px 8px #ef44442e,0 0 #ef444400}50%{transform:scale(1.03);box-shadow:0 2px 10px #ef444447,0 0 0 4px #ef444424}}@keyframes payment-paid-pop{0%{transform:scale(1)}40%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes payment-paid-glow{0%,to{box-shadow:0 2px 8px #22c55e33,0 0 #22c55e00}50%{box-shadow:0 2px 12px #22c55e47,0 0 0 3px #22c55e1f}}@keyframes payment-check-pop{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:1}}@keyframes payment-reward-pop{0%{transform:scale(1)}35%{transform:scale(1.07)}to{transform:scale(1)}}@keyframes payment-reward-shimmer{0%,to{box-shadow:0 2px 8px #f59e0b38,0 0 #f59e0b00}50%{box-shadow:0 2px 12px #f59e0b52,0 0 0 3px #fbbf242e}}@media(prefers-reduced-motion:reduce){.choice-group--payment .choice-option--unpaid.selected,.choice-group--payment .choice-option--paid.selected,.choice-group--payment .choice-option--reward.selected,.wizard-card .choice-group--payment .choice-option--unpaid.selected,.wizard-card .choice-group--payment .choice-option--paid.selected{animation:none}.choice-group--payment .choice-option--paid.selected:after,.wizard-card .choice-group--payment .choice-option--paid.selected:after{animation:none}}.field-readonly-value{margin:0;font-size:16px;font-weight:700;color:var(--text)}.modal-preview{margin-top:12px;padding:10px 12px;background:var(--blue);border-radius:8px;font-size:16px;text-align:center}.modal-preview--summary{margin-top:0;margin-bottom:16px;text-align:left;display:flex;flex-direction:row;flex-wrap:nowrap;gap:12px 16px;align-items:stretch}.modal-preview-summary-content{flex:1 1 auto;min-width:0}.modal-preview-summary-actions{flex:0 0 auto;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end}.modal-preview-copy-icon-btn{flex-shrink:0}.modal-preview-copy-icon-btn-spinner{margin-right:0}.modal-preview-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;margin:0 0 6px}.modal-preview-row:last-child{margin-bottom:0}.modal-preview-label{flex:0 0 52px;font-size:12px;font-weight:600;color:var(--muted)}.modal-preview-meta{font-size:12px;color:var(--muted);font-weight:500}.modal-preview .badge{margin-left:8px}.booking-confirmation-capture{width:360px;padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);box-shadow:none}.booking-confirmation-header{margin-bottom:8px;padding-bottom:8px;border-bottom:2px solid var(--primary)}.booking-confirmation-header-top{display:flex;align-items:center;justify-content:center;gap:12px}.booking-confirmation-logo{display:block;width:96px;height:96px}.booking-confirmation-header-text{text-align:center}.booking-confirmation-brand{font-size:18px;font-weight:800;letter-spacing:.04em;color:var(--primary)}.booking-confirmation-title{margin-top:4px;font-size:14px;font-weight:600;color:var(--muted)}.booking-confirmation-body{display:flex;flex-direction:column;gap:10px}.booking-confirmation-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;font-size:15px;line-height:1.4}.booking-confirmation-label{flex:0 0 72px;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.02em}.booking-confirmation-value{flex:1;min-width:0}.booking-confirmation-meta{font-size:12px;font-weight:500;color:var(--muted)}.booking-confirmation-badge{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;background:#fef3c7;color:#92400e}.booking-confirmation-qr{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:14px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.booking-confirmation-qr-image{display:block;width:160px;height:160px}.booking-confirmation-gift{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:160px;height:160px;padding:6px;box-sizing:border-box;text-align:center;border:1px solid #f472b6;border-radius:0;background:#fce7f3;color:#be185d}.booking-confirmation-gift-title{font-weight:700;font-size:12px}.booking-confirmation-gift-date{font-weight:600;font-size:12px}.booking-confirmation-gift-meta{font-size:11px;opacity:.85;line-height:1.2}.modal-overlay-confirmation-preview,.modal-overlay-fixed-confirmation-preview{z-index:130}.modal-overlay-qr-scanner{z-index:140}.booking-qr-scanner-body{display:flex;flex-direction:column;gap:10px}.booking-qr-scanner-hint{margin:0;font-size:13px}.booking-qr-scanner-error{margin:0;padding:8px 10px;border-radius:8px;font-size:13px;color:#991b1b;background:#fee2e2;white-space:pre-wrap;word-break:break-all}.booking-qr-scanner-region{width:100%;display:flex;flex-direction:column;gap:12px}.booking-qr-scanner-view{width:100%;min-height:280px;overflow:hidden;border-radius:8px}.booking-qr-scanner-view video{border-radius:8px}.booking-confirmation-photo-body{display:flex;flex-direction:column;min-height:0;padding-top:4px}.booking-confirmation-photo-hint{flex-shrink:0;margin:0 0 12px;font-size:13px;text-align:center}.booking-confirmation-photo-frame{display:flex;justify-content:center;align-items:flex-start;width:100%;max-height:min(70vh,520px);overflow-x:hidden;overflow-y:auto;padding:4px;box-sizing:border-box}.booking-confirmation-photo-frame>div{width:100%;max-width:360px;min-width:0}.booking-confirmation-photo-frame .booking-confirmation-capture{width:100%;max-width:360px;box-sizing:border-box}.booking-confirmation-photo-frame .booking-confirmation-value,.booking-confirmation-photo-frame .booking-confirmation-session{overflow-wrap:break-word}.booking-confirmation-photo-frame .booking-confirmation-sessions-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-confirmation-sessions{margin-top:6px;padding-top:12px;border-top:1px solid var(--line)}.booking-confirmation-sessions-label{margin-bottom:8px;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.02em}.booking-confirmation-sessions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.booking-confirmation-session{display:flex;flex-direction:column;gap:2px;padding:6px 8px;border:1px solid var(--line);border-radius:0;background:#fff;font-size:11px;line-height:1.35}.booking-confirmation-session-num{font-weight:600;color:var(--text)}.booking-confirmation-session-date,.booking-confirmation-session-court{color:var(--muted);font-size:10px}.modal-detail{display:flex;flex-direction:column}.modal-detail-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin:0;padding:12px 0;border-bottom:1px solid var(--line)}.modal-detail-row:first-child{padding-top:0}.modal-detail-row:last-child{border-bottom:none;padding-bottom:0}.modal-detail-label{flex:0 0 88px;font-size:13px;font-weight:600;color:var(--muted)}.modal-detail-value{flex:1;min-width:0;font-size:15px;font-weight:600;color:var(--text)}.modal-detail-meta{font-size:13px;color:var(--muted);font-weight:500}.loyalty-hint{margin:4px 0 0;font-size:13px;color:var(--muted)}.modal-footer{display:flex;gap:8px;padding:0 20px 16px;justify-content:flex-end}.modal-footer--left{justify-content:flex-start}.modal-footer button{min-width:80px}.modal-footer--pair{justify-content:stretch;gap:10px}.modal-footer--pair button{flex:1;min-width:0}.modal-footer--stack{flex-direction:column;align-items:stretch;gap:10px}.modal-footer--stack button{flex:none;width:100%;min-width:0}.modal-footer--split{justify-content:space-between;align-items:center}.modal-footer button:disabled{opacity:.8;cursor:not-allowed}.modal-overlay-compact{z-index:120;align-items:center;justify-content:center;padding:16px}.modal-compact{width:100%;max-width:400px;height:auto;min-height:0;max-height:min(90vh,480px);overflow-y:auto}.modal-compact .modal-header{justify-content:center;padding-left:20px;padding-right:20px}.modal-compact .modal-header h2{text-align:center;flex:none}.modal-compact.modal-participant>.modal-header{justify-content:space-between;gap:12px}.modal-compact.modal-participant>.modal-header h2{text-align:left;flex:1;min-width:0}.modal-compact .modal-body{text-align:center}.modal-compact .modal-body p{margin:0;line-height:1.5}.modal-compact .modal-footer{justify-content:flex-end;width:100%;gap:10px;padding-top:4px}.modal-compact .modal-footer.modal-footer--split{justify-content:space-between;width:100%}.modal-compact .modal-footer button{min-width:96px}.modal-compact.modal-participant .form>.modal-footer{justify-content:space-between;align-items:center;width:100%;gap:8px}.modal-compact.modal-participant .form>.modal-footer .MuiButton-root{flex:none;min-width:96px}.btn-spinner{display:inline-block;width:1em;height:1em;margin-right:6px;vertical-align:-.15em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin .6s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}button.btn-copy-success{background:var(--success);animation:btn-copy-success-pop .55s ease-out}button.btn-copy-success:hover{background:var(--success)}.btn-copy-success-check{margin-right:6px;vertical-align:-.2em;animation:btn-copy-check-in .4s ease-out}.btn-action-icon{margin-right:6px;vertical-align:-.2em}@keyframes btn-copy-success-pop{0%{transform:scale(1);box-shadow:0 0 #16a34a73}35%{transform:scale(1.05);box-shadow:0 0 0 8px #16a34a33}to{transform:scale(1);box-shadow:0 0 #16a34a00}}@keyframes btn-copy-check-in{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:1}}.modal-wide{max-width:680px}.rev-tabs-float{flex:0 0 auto;display:flex;justify-content:center;padding:2px 0 4px;z-index:2}.rev-tabs{display:flex;align-items:flex-end;gap:6px;background:#f1f5f9f0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:18px;padding:8px 10px 10px;box-shadow:0 8px 24px #0f172a1a,0 2px 6px #0f172a0f;border:1px solid rgba(148,163,184,.35)}.rev-tab{flex:1;min-width:76px;padding:10px 18px;border:none;border-radius:14px;background:transparent;color:var(--muted);font-weight:600;font-size:14px;cursor:pointer;position:relative;z-index:1;transition:transform .2s ease,box-shadow .2s ease,background .15s ease,color .15s ease}.rev-tab.active{background:var(--primary);color:#fff;transform:translateY(-8px);z-index:2;box-shadow:0 10px 20px #4f46e561,0 4px 8px #0f172a1f}.rev-tab:not(.active):hover{background:#ffffffd9;color:var(--text)}@media(prefers-reduced-motion:reduce){.rev-tab{transition:none}.rev-tab.active{transform:none}}.rev-period-label{text-align:center;font-size:13px;color:var(--muted);margin-bottom:14px}.rev-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.rev-summary-card{border:1px solid var(--line);border-radius:10px;padding:10px 12px;text-align:center}.rev-summary-card .rev-label{font-size:12px;color:var(--muted);margin-bottom:4px}.rev-summary-card .rev-value{font-size:18px;font-weight:700}.rev-summary-card.total{background:var(--blue);border-color:var(--primary)}.rev-summary-card.collected{background:var(--green)}.rev-summary-card.pending{background:#fee2e2}.rev-chart-card{border:1px solid var(--line);border-radius:12px;margin-bottom:16px;padding:12px;overflow-x:auto}.rev-chart-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.rev-chart-title{font-size:14px;font-weight:700}.rev-chart-range{color:var(--muted);font-size:12px;white-space:nowrap}.rev-chart-canvas{height:260px;min-width:420px}.rev-chart-card.period-month .rev-chart-canvas{min-width:680px}.rev-table{width:100%;border-collapse:collapse;font-size:14px;margin-bottom:16px}.rev-table th,.rev-table td{border:1px solid var(--line);padding:8px 10px;text-align:right}.rev-table th{background:#f1f5f9;font-weight:600;text-align:center}.rev-table td:first-child{text-align:left;font-weight:600}.rev-table .col-fixed{color:#c2410c}.rev-table .col-casual{color:#15803d}.rev-table tr:last-child td{font-weight:700;border-top:2px solid var(--text)}.rev-table .rev-sub-row td{font-weight:400;color:var(--muted);font-size:13px;background:#fafbfc}.rev-table .rev-sub-row td:first-child{padding-left:18px}.rev-method-split{display:flex;gap:6px;justify-content:center;margin-top:6px}.rev-method-split .badge{font-size:11px;padding:2px 8px}.rev-pending-section{margin-top:4px}.rev-pending-title{font-size:14px;font-weight:700;margin-bottom:8px;color:var(--danger)}.rev-pending-list{max-height:200px;overflow-y:auto;border:1px solid var(--line);border-radius:10px}.rev-pending-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;border-bottom:1px solid var(--line)}.rev-pending-item:last-child{border-bottom:none}.rev-pending-item .rev-pi-info{display:flex;flex-direction:column;gap:2px}.rev-pending-item .rev-pi-name{font-weight:600}.rev-pending-item .rev-pi-detail{color:var(--muted);font-size:12px}.rev-pending-item .rev-pi-amount{font-weight:700;white-space:nowrap}.rev-pending-empty{text-align:center;padding:16px;color:var(--muted);font-size:13px}.operations-stats-page .ops-page-header{margin-bottom:12px}.ops-page-title-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.ops-page-title{margin:0;font-size:22px;font-weight:700}.ops-page-title-icon{color:#0a84ff}.ops-period-label{font-size:13px;color:var(--muted)}.ops-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px}.ops-summary-card{border:1px solid var(--line);border-radius:10px;padding:10px 12px;text-align:center;background:#f8fafc}.ops-summary-card .ops-label{font-size:12px;color:var(--muted);margin-bottom:4px}.ops-summary-card .ops-value{font-size:18px;font-weight:700}.ops-section{margin-bottom:22px}.ops-section-title{margin:0 0 10px;font-size:15px;font-weight:700}.ops-section-note{margin:-4px 0 10px;font-size:12px;color:var(--muted)}.ops-donut-wrap{margin-bottom:12px}.ops-donut-canvas{position:relative;height:240px;max-width:320px;margin:0 auto}.ops-donut-canvas canvas{width:100%!important;height:100%!important}.ops-donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.ops-donut-center-value{font-size:22px;font-weight:700;line-height:1.1}.ops-donut-center-sub{font-size:12px;color:var(--muted);margin-top:2px}.ops-donut-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted);font-size:13px}.ops-stat-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.ops-stat-list li{display:flex;align-items:center;gap:8px;font-size:13px;padding:4px 0;border-bottom:1px solid var(--line)}.ops-stat-list li:last-child{border-bottom:none}.ops-stat-swatch{width:10px;height:10px;border-radius:2px;flex-shrink:0}.ops-stat-name{flex:1;color:var(--text)}.ops-stat-value{font-weight:700}.ops-table{width:100%;border-collapse:collapse;font-size:14px}.ops-table td{border:1px solid var(--line);padding:8px 10px}.ops-table td:first-child{text-align:left;font-weight:600}.ops-table td:last-child{text-align:right;font-weight:700;width:30%}.ops-rank-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.ops-rank-list li{display:grid;grid-template-columns:28px minmax(72px,auto) 1fr auto;align-items:center;gap:8px;font-size:13px}.ops-rank-list--hours li{grid-template-columns:28px minmax(88px,auto) 1fr auto}.ops-rank-list--participants li{grid-template-columns:28px minmax(64px,1.1fr) 1fr auto}.ops-rank-list--participants .ops-rank-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-subsection-title{margin:16px 0 6px;font-size:14px;font-weight:700}.ops-empty-note{font-size:13px;color:var(--muted);padding:8px 0}.ops-rank-pos{width:24px;height:24px;border-radius:50%;background:#e8f1ff;color:#0a84ff;font-weight:700;font-size:12px;display:inline-flex;align-items:center;justify-content:center}.ops-rank-name{font-weight:600}.ops-rank-bar{height:10px;border-radius:999px;background:#eef2f7;overflow:hidden;min-width:48px;display:block}.ops-rank-bar-track{display:flex;height:100%;border-radius:inherit;overflow:hidden;min-width:0}.ops-rank-bar-seg{display:block;height:100%;min-width:0}.ops-rank-bar-fill{display:block;height:100%;border-radius:inherit;background:#0a84ff}.ops-type-legend{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-wrap:wrap;gap:8px 12px;font-size:11px;color:var(--muted)}.ops-type-legend li{display:inline-flex;align-items:center;gap:5px}.ops-rank-value{font-weight:700;white-space:nowrap;text-align:right}.ops-rank-pct{font-weight:500;color:var(--muted);font-size:12px}@media(max-width:720px){.modal-overlay{padding:0;align-items:stretch;justify-content:stretch}.modal-overlay-backdrop-picker{padding:16px;align-items:center;justify-content:center}.modal-overlay-booking{padding:0;justify-content:stretch}.modal-overlay-booking-create{padding:0;align-items:flex-start;justify-content:flex-start}.modal{max-width:none;width:100%;height:100%;max-height:100dvh;min-height:100dvh;border-radius:0;display:flex;flex-direction:column;overflow:hidden}.modal-booking-create{width:auto;min-height:0;max-height:none;border-radius:16px 16px 0 0}.modal-header{flex-shrink:0;padding-top:max(16px,env(safe-area-inset-top,0px))}.modal>form.form{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.modal>form.form>.modal-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal>form.form>.modal-footer{flex-shrink:0;padding-bottom:max(16px,env(safe-area-inset-bottom,0px))}.modal>.modal-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-rc-select{width:100%;max-width:none;height:100%;min-height:100dvh;max-height:100dvh;border-radius:0}.modal-overlay-rc-select{padding:0;align-items:stretch;justify-content:stretch}.modal-rc-select>.modal-body.rc-select-modal-body{overflow:hidden}.modal>.modal-footer{flex-shrink:0;padding-bottom:max(16px,env(safe-area-inset-bottom,0px))}.modal-wide{max-width:none}.modal-overlay-compact{padding:16px;align-items:center;justify-content:center}.modal-overlay-compact .modal-compact{width:100%;max-width:400px;height:auto;min-height:0;max-height:calc(100dvh - 32px);border-radius:16px}.modal-overlay-confirmation-preview,.modal-overlay-fixed-confirmation-preview{padding:0;align-items:stretch;justify-content:stretch}.modal-overlay-confirmation-preview .modal-compact,.modal-overlay-fixed-confirmation-preview .modal-compact{width:100%;max-width:none;height:100%;min-height:0;max-height:100dvh;border-radius:0;display:flex;flex-direction:column;overflow:hidden}.modal-overlay-confirmation-preview .modal-header,.modal-overlay-fixed-confirmation-preview .modal-header{flex-shrink:0;padding-top:max(16px,env(safe-area-inset-top,0px))}.modal-overlay-confirmation-preview .booking-confirmation-photo-body,.modal-overlay-fixed-confirmation-preview .booking-confirmation-photo-body{flex:1;min-height:0;overflow:hidden;text-align:left}.modal-overlay-confirmation-preview .booking-confirmation-photo-frame,.modal-overlay-fixed-confirmation-preview .booking-confirmation-photo-frame{flex:1;min-height:0;max-height:none;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-overlay-confirmation-preview .modal-footer,.modal-overlay-fixed-confirmation-preview .modal-footer{flex-shrink:0;padding-bottom:max(16px,env(safe-area-inset-bottom,0px))}.rev-summary{grid-template-columns:1fr}.rev-chart-header{align-items:flex-start;flex-direction:column}.rev-chart-canvas{height:240px}.rev-table{font-size:12px}.rev-table th,.rev-table td{padding:6px}.ops-summary{grid-template-columns:1fr 1fr}.ops-donut-canvas{height:220px}}.pricing-section{margin-bottom:18px}.pricing-section-title{font-size:15px;font-weight:700;margin:0 0 8px;padding:6px 10px;border-radius:8px}.pricing-section-title.casual-title{background:var(--green);color:#15803d}.pricing-section-title.fixed-title{background:var(--orange);color:#c2410c}.pricing-table{width:100%;border-collapse:collapse;font-size:14px}.pricing-table th,.pricing-table td{border:1px solid var(--line);padding:8px 12px;text-align:center}.pricing-table th{background:#f1f5f9;font-weight:600}.pricing-table td:first-child{font-weight:600;color:var(--muted)}.pricing-table input[type=number]{width:100%;max-width:160px;text-align:right;font-size:15px;font-weight:600;border:1px solid var(--line);border-radius:8px;padding:6px 10px}.pricing-table input[type=number]:focus{outline:2px solid var(--primary);outline-offset:2px;border-color:var(--primary)}.social-participants-section{margin-top:20px;margin-left:-20px;margin-right:-20px}.social-participants-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding-left:20px;padding-right:20px}.social-participants-empty{padding:12px 20px;font-size:14px}.social-participants-table-wrap{overflow-x:auto;width:100%}.social-participants-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:14px}.social-participants-table th,.social-participants-table td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:middle}.social-participants-table th{background:#f1f5f9;font-weight:600;text-align:center}.social-participants-name{width:46%}.social-participants-table th.social-participants-name{text-align:left}.social-participants-table td.social-participants-name{text-align:left;cursor:pointer}.social-participants-level{width:auto}.social-participants-name-cell{display:inline-flex;align-items:center;gap:8px;min-width:0;width:100%}.social-participants-name-cell>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.social-participants-table th.social-participants-paid,.social-participants-table td.social-participants-paid{text-align:center;width:88px}.social-participants-table td.social-participants-paid{cursor:pointer;-webkit-user-select:none;user-select:none}.social-participants-table td.social-participants-paid:hover{background:#f8fafc}.social-participants-table td.social-participants-paid--busy{pointer-events:none}.social-participants-table tr.social-participants-row--busy{opacity:.65}.social-participants-table tr.social-participants-row--busy td{pointer-events:none}.social-participants-row-spinner.btn-spinner{flex-shrink:0;width:16px;height:16px;margin:0;color:#64748b}.social-participants-paid-spinner.btn-spinner{display:block;width:18px;height:18px;margin:0 auto;color:#64748b}.schedule-idle-icon,.schedule-loading-icon{width:22px;height:22px}.schedule-loading-icon{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-top-bar-sync-icon{position:relative;display:inline-flex;width:22px;height:22px;flex-shrink:0;overflow:visible}.page-top-bar-sync-icon-rotor{position:relative;z-index:1;display:inline-flex;width:22px;height:22px;overflow:visible}.page-top-bar-sync-icon--loading:before{content:"";position:absolute;left:50%;top:50%;width:34px;height:34px;pointer-events:none;border-radius:50%;animation:shuttlecock-trail-spin .8s linear infinite;background:conic-gradient(from 5deg,transparent 0deg,rgba(239,68,68,.06) 45deg,rgba(249,115,22,.3) 78deg,rgba(251,191,36,.8) 118deg,#fef3c7 128deg,transparent 135deg);-webkit-mask:radial-gradient(circle,transparent 12px,#000 13px,#000 16px,transparent 17px);mask:radial-gradient(circle,transparent 12px,#000 13px,#000 16px,transparent 17px)}.page-top-bar-sync-icon--loading .page-top-bar-sync-icon-rotor{animation:spin .8s linear infinite}.page-top-bar-sync-icon--loading .schedule-loading-icon{animation:none}.page-top-bar-sync-icon--loading .page-top-bar-sync-icon-rotor:after{content:"";position:absolute;right:0;bottom:0;z-index:1;width:5px;height:5px;pointer-events:none;border-radius:50%;background:radial-gradient(circle,#fef3c7 0%,#fbbf24 45%,#f97316 70%,transparent 100%);box-shadow:0 0 5px #f97316a6}@keyframes shuttlecock-trail-spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.schedule-hour-cell{display:flex;flex-direction:column;align-items:center;width:100%;gap:2px;line-height:1;position:relative;box-sizing:border-box}.schedule-hour-label{display:block;width:100%;text-align:center;transform:translateY(-50%);background:var(--card);padding:1px 0;line-height:1;box-sizing:border-box}:is(#schedule,#wizard-schedule,#promo-pricing-schedule) tbody tr.schedule-slot-row>td.schedule-hour-slot-current{overflow:visible;padding:0}.schedule-hour-slot-body{position:relative;height:var(--schedule-slot-row-h);width:100%;box-sizing:border-box}.schedule-now-indicator{display:flex;align-items:center;justify-content:center;pointer-events:none;line-height:0}.schedule-now-indicator-standalone{position:absolute;top:4px;left:0;right:0}.schedule-now-icon{display:block;color:#facc15!important;fill:currentColor;filter:drop-shadow(0 0 4px rgba(250,204,21,.8));animation:schedule-now-icon-glow 2s ease-in-out infinite}@keyframes schedule-now-icon-glow{0%,to{opacity:1}50%{opacity:.72}}.schedule-scroll,.schedule-month-scroll,.fbm-list-card,.booking-confirmation-photo-frame,.modal,.modal-compact,.rev-chart-card,.rev-pending-list,.modal>form.form>.modal-body,.modal>.modal-body,.modal-booking>form.form>.modal-body,.modal-booking>.modal-body{scrollbar-width:none;-ms-overflow-style:none}.schedule-scroll::-webkit-scrollbar,.schedule-month-scroll::-webkit-scrollbar,.fbm-list-card::-webkit-scrollbar,.booking-confirmation-photo-frame::-webkit-scrollbar,.modal::-webkit-scrollbar,.modal-compact::-webkit-scrollbar,.rev-chart-card::-webkit-scrollbar,.rev-pending-list::-webkit-scrollbar,.modal>form.form>.modal-body::-webkit-scrollbar,.modal>.modal-body::-webkit-scrollbar,.modal-booking>form.form>.modal-body::-webkit-scrollbar,.modal-booking>.modal-body::-webkit-scrollbar{display:none}.schedule-scroll{overflow-x:hidden;overflow-y:auto;flex:1;min-height:0;touch-action:pan-y;-webkit-overflow-scrolling:touch}.home-schedule-card .schedule-scroll.schedule-scroll--modal-padding{padding-bottom:50vh}.schedule-month-scroll{overflow:auto;flex:1;min-height:0;margin:0 -12px;padding:0 12px}.schedule-month-th{position:sticky;top:0;z-index:1;background:var(--card);box-shadow:0 1px 0 var(--line)}:is(#schedule,#wizard-schedule,#promo-pricing-schedule){--schedule-slot-row-h: 52px;width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;-webkit-user-select:none;user-select:none}:is(#schedule,#wizard-schedule,#promo-pricing-schedule) th,:is(#schedule,#wizard-schedule,#promo-pricing-schedule) td:not(:first-child){overflow:hidden;word-wrap:break-word;overflow-wrap:anywhere;padding:4px}:is(#schedule,#wizard-schedule,#promo-pricing-schedule) td:first-child{word-wrap:break-word;overflow-wrap:anywhere;padding:4px}:is(#schedule,#wizard-schedule,#promo-pricing-schedule) th:first-child,:is(#schedule,#wizard-schedule,#promo-pricing-schedule) td:first-child{width:48px}:is(#schedule,#wizard-schedule,#promo-pricing-schedule) thead th{position:sticky;top:0;z-index:2;background:var(--card);box-shadow:0 1px 0 var(--line)}:is(#schedule,#wizard-schedule,#promo-pricing-schedule) thead th:first-child{position:sticky;left:0;z-index:3}:is(#schedule,#wizard-schedule,#promo-pricing-schedule) tbody tr.schedule-slot-row{height:var(--schedule-slot-row-h)}:is(#schedule,#wizard-schedule,#promo-pricing-schedule) tbody tr.schedule-slot-row>td{border-top:1px solid var(--line);box-sizing:border-box}:is(#schedule,#wizard-schedule,#promo-pricing-schedule) tbody tr.schedule-slot-row>td:first-child{vertical-align:top;padding:0;overflow:visible}:is(#schedule,#wizard-schedule,#promo-pricing-schedule) tbody tr.schedule-slot-row>td:not(:first-child){position:relative;vertical-align:top;padding-top:4px;padding-bottom:4px}:is(#schedule,#wizard-schedule,#promo-pricing-schedule) tbody td:first-child{position:sticky;left:0;z-index:1;background:var(--card);overflow:visible}:is(#schedule,#wizard-schedule,#promo-pricing-schedule) td:not(:first-child){cursor:pointer;transition:background .15s;-webkit-tap-highlight-color:transparent}@media(hover:hover)and (pointer:fine){:is(#schedule,#wizard-schedule,#promo-pricing-schedule) td:not(:first-child):hover{filter:brightness(.94)}:is(#schedule,#wizard-schedule,#promo-pricing-schedule) td:not(:first-child):not([class*=cell-]):hover{background:var(--blue)}}:is(#schedule,#wizard-schedule,#promo-pricing-schedule) td .schedule-slot-loading-spinner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:.4;z-index:1}:is(#schedule,#wizard-schedule) td .schedule-promo-slot-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:3px;pointer-events:none;color:#7c3aed;z-index:1}:is(#schedule,#wizard-schedule) td .schedule-promo-slot-icon{flex-shrink:0}:is(#schedule,#wizard-schedule) td .schedule-promo-slot-price{font-size:11px;font-weight:600;line-height:1;white-space:nowrap}:is(#schedule) td .schedule-slot-price-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;font-size:11px;font-weight:600;line-height:1;white-space:nowrap;color:#6b7280;z-index:1}:is(#schedule) td.cell-slot-price{vertical-align:middle;text-align:center}:is(#schedule,#wizard-schedule) .schedule-booking-block .schedule-promo-slot-label{position:static;inset:auto;margin-bottom:-4px}@media(hover:hover)and (pointer:fine){:is(#schedule,#wizard-schedule) td.cell-promo-slot:hover{filter:brightness(.94)}}:is(#schedule,#wizard-schedule,#promo-pricing-schedule) td.cell-unavailable{position:relative;cursor:default;overflow:hidden}:is(#schedule,#wizard-schedule,#promo-pricing-schedule) td.cell-unavailable:before,:is(#schedule,#wizard-schedule,#promo-pricing-schedule) td.cell-unavailable:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.4}:is(#schedule,#wizard-schedule,#promo-pricing-schedule) td.cell-unavailable:before{background:linear-gradient(to top right,transparent calc(50% - 1px),var(--line) calc(50% - 1px),var(--line) calc(50% + 1px),transparent calc(50% + 1px))}:is(#schedule,#wizard-schedule,#promo-pricing-schedule) td.cell-unavailable:after{background:linear-gradient(to top left,transparent calc(50% - 1px),var(--line) calc(50% - 1px),var(--line) calc(50% + 1px),transparent calc(50% + 1px))}:is(#schedule,#wizard-schedule,#promo-pricing-schedule) td.cell-unavailable:hover{filter:none;background:transparent}.customer-regular{color:var(--primary)}.schedule-booking-block{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;min-height:100%;padding:4px 2px;box-sizing:border-box}.schedule-booking-time{display:flex;flex-direction:column;align-items:center;gap:0;font-size:12px;color:var(--muted);line-height:1.1}.schedule-booking-time-arrow{display:block;color:var(--muted)!important;line-height:0}:is(#schedule,#wizard-schedule,#promo-pricing-schedule) td[class*=cell-]{vertical-align:top;text-align:center}:is(#schedule,#wizard-schedule,#promo-pricing-schedule) .schedule-booking-block .badge{margin-top:0}.cell-conflict{background:#fee2e2;color:#991b1b}#wizard-schedule td.cell-conflict{padding:0;background:#fee2e2;color:#991b1b}#wizard-schedule td.cell-conflict:hover{background:#fee2e2}#wizard-schedule td.cell-fixed.wizard-slot-selected{box-shadow:inset 0 0 0 3px var(--primary)}#schedule td.schedule-slot-selected{box-shadow:inset 0 0 0 3px var(--primary);background:color-mix(in srgb,var(--primary) 14%,var(--card))}#schedule td.schedule-slot-selected.cell-promo-slot{background:color-mix(in srgb,var(--primary) 18%,rgba(237,233,254,.45))}#schedule td.schedule-slot-selected-saving{background:color-mix(in srgb,var(--orange) 55%,var(--card));box-shadow:inset 0 0 0 3px var(--orange);cursor:wait;pointer-events:none;vertical-align:middle}#schedule td.schedule-slot-selected-saving .schedule-slot-saving-spinner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2}#schedule td.schedule-slot-selected-saving .schedule-slot-saving-spinner .btn-spinner{width:22px;height:22px;margin:0;border-width:2.5px;color:#9a3412}#schedule td.schedule-slot-conflict{position:relative;overflow:hidden;animation:schedule-slot-conflict-gradient .65s ease-out}@keyframes schedule-slot-conflict-gradient{0%{background-color:#fee2e2;background-image:linear-gradient(135deg,#fee2e2,#fecaca 35%,#f87171,#fecaca 65%,#fee2e2);background-size:220% 220%;background-position:0% 50%;box-shadow:inset 0 0 0 3px #ef4444}45%{background-position:100% 50%}to{background-color:transparent;background-image:none;box-shadow:none}}@media(prefers-reduced-motion:reduce){#schedule td.schedule-slot-conflict{animation:none;background:#fee2e2;box-shadow:inset 0 0 0 3px #ef4444}}.wizard-slot-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;line-height:1.2;text-align:center;pointer-events:none}.badge.schedule-series-session{background:#ffffffe6;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.02em}.badge.schedule-participant-badge{display:inline-flex;align-items:center;flex-shrink:0;gap:3px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap;background:#ffffffe6}.schedule-participant-icon{display:block;flex-shrink:0}.badge.schedule-time-left{display:inline-flex;align-items:center;flex-shrink:0;gap:3px;font-weight:600;line-height:1;white-space:nowrap;overflow-wrap:normal;word-break:keep-all;animation:schedule-time-tick .55s ease-out}.schedule-time-left-icon{display:block;flex-shrink:0;animation:schedule-time-icon-pulse 2s ease-in-out infinite}@keyframes schedule-time-tick{0%{transform:scale(1)}35%{transform:scale(1.12);background:#cbd5e1}to{transform:scale(1)}}@keyframes schedule-time-icon-pulse{0%,to{opacity:1;transform:rotate(0)}50%{opacity:.55;transform:rotate(-12deg)}}.badge.schedule-unpaid-badge,.badge.fbm-unpaid-badge{font-weight:600;color:#b91c1c;animation:schedule-unpaid-pulse 2.4s ease-in-out infinite}@keyframes schedule-unpaid-pulse{0%,to{transform:scale(1);background:#fee2e2;box-shadow:0 0 #ef444400}50%{transform:scale(1.08);background:#fecaca;box-shadow:0 0 0 3px #ef444438}}@supports (-webkit-touch-callout: none){.field select,.field input:not(.MuiInputBase-input),select:not(.MuiSelect-nativeInput),input:not(.MuiInputBase-input):not(.MuiSelect-nativeInput),button:not(.MuiButtonBase-root){font-size:16px!important;min-height:40px}select{-webkit-appearance:none;background-color:#fff}.sticky-tools .row>button,.sticky-tools button,.home-toolbar-row>button,.home-toolbar-row button{min-height:42px;padding:10px 12px}}@media(max-width:430px)and (min-height:800px){.fields{gap:12px}.field{min-width:46%}}@media(max-width:720px){.hide-sm{display:none}body{padding:8px}th,td{font-size:12px}}.event-date-picker{padding:8px 12px;border:1px solid var(--line);border-radius:6px;font-size:14px;background:var(--card);color:var(--fg)}.event-history-toolbar label{font-weight:600;white-space:nowrap}.event-date-controls{display:flex;align-items:center;gap:12px;justify-content:space-between}.event-history-toolbar .event-date-picker{flex:0 0 150px;min-width:150px;max-width:150px}.event-history-card{overscroll-behavior-y:contain}.event-pull-refresh{display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--muted);font-size:12px;font-weight:600;transition:height .16s ease,opacity .16s ease}.event-pull-refresh.ready{color:var(--primary)}.event-history-list{display:flex;flex-direction:column;gap:10px}.event-history-item{padding:12px;border:1px solid var(--line);border-radius:10px;cursor:pointer;transition:background .15s}.event-history-item:hover{background:var(--badge)}.event-history-row{display:flex;align-items:flex-start;gap:10px}.event-action-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;color:#fff;font-size:13px;font-weight:700;flex-shrink:0;margin-top:2px}.event-history-content{flex:1;min-width:0}.event-history-summary{font-size:14px;font-weight:500;color:var(--fg);line-height:1.3}.event-history-customer{font-size:13px;font-weight:600;color:var(--fg);margin-top:4px;line-height:1.3}.event-history-details{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.3}.event-history-user{display:inline-flex;flex-direction:column;align-items:center;gap:3px;flex-shrink:0;margin-top:2px}.event-history-user-time{font-size:10px;color:var(--muted);line-height:1;white-space:nowrap}.event-history-changes{margin-top:8px;margin-left:34px;padding:8px 10px;background:var(--badge);border-radius:4px;font-size:13px}.event-history-item--has-user .event-history-changes{margin-left:68px}.event-change-row{display:flex;align-items:center;gap:6px;padding:2px 0}.event-change-label{font-weight:500;color:var(--muted);min-width:80px}.event-change-from{text-decoration:line-through;color:var(--danger)}.event-change-arrow{color:var(--muted)}.event-change-to{color:var(--success, #16a34a)}.btn-with-badge{position:relative}.notification-badge{position:absolute;top:-6px;right:-6px;background:var(--danger, #e53e3e);color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;line-height:18px;text-align:center;border-radius:9px;padding:0 4px;box-shadow:0 1px 3px #0003}.current-booking-court{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:12px}.current-booking-court-header{font-weight:700;font-size:15px;margin-bottom:8px;color:var(--primary)}.current-booking-item{padding:8px 10px;border-radius:6px;margin-top:6px}.current-booking-item:first-child{margin-top:0}.modal-customer-form .modal-fields{gap:16px}.modal-customer-form .field--mui .MuiFormControl-root{width:100%}.modal-customer-form .rc-computed-stats{margin-top:20px}.modal-customer-form .modal-footer--pair .MuiButton-root{flex:1;min-width:0}@media(max-width:560px){.modal-customer-form .modal-fields{grid-template-columns:1fr}}.rc-toolbar{display:flex;gap:8px;margin-bottom:12px}.rc-search{flex:1;padding:8px 12px;border:1px solid var(--line);border-radius:8px;font-size:14px;background:var(--card);color:var(--fg)}.rc-search:focus{outline:none;border-color:var(--primary)}.rc-list{display:flex;flex-direction:column;gap:8px;max-height:60vh;overflow-y:auto}.rc-item{padding:12px;border:1px solid var(--line);border-radius:8px;cursor:pointer;background:var(--card);transition:border-color .15s}.rc-item:hover{border-color:var(--primary)}.rc-item-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.rc-item-name{font-weight:600;font-size:15px}.rc-item-phone{color:var(--muted);font-size:13px;text-align:right}.rc-stat{display:flex;flex-direction:column;gap:2px;min-width:0}.rc-stat-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}.rc-stat-value{font-size:13px;font-weight:600}.rc-computed-stats{margin-top:16px;padding:12px;background:var(--badge);border-radius:8px}.rc-computed-title{font-weight:600;font-size:14px;margin-bottom:8px}.rc-computed-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rc-computed-item{display:flex;flex-direction:column;gap:2px}.rc-computed-label{font-size:12px;color:var(--muted)}.rc-computed-value{font-size:14px;font-weight:600}.customer-list{display:flex;flex-direction:column;gap:10px}.customer-row{width:100%;display:grid;grid-template-columns:minmax(150px,1fr) minmax(260px,1.4fr) minmax(240px,1.2fr);gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);text-align:left}.customer-row:hover{background:#f8fafc;border-color:var(--primary)}.customer-row-main,.customer-row-stats,.customer-row-badges{display:flex;gap:6px}.customer-row-main{flex-direction:column}.customer-row-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));color:var(--muted);font-size:13px}.customer-row-stats strong{color:var(--text)}.customer-row-badges{flex-wrap:wrap;align-items:center}.field-error{color:var(--danger);font-size:12px;margin-top:2px;display:block}.customer-select{position:relative}.customer-select-trigger{width:100%;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--fg);font-size:14px;text-align:left;cursor:pointer}.customer-select-trigger:focus{outline:2px solid var(--primary);outline-offset:2px;border-color:var(--primary)}.customer-select-value{display:flex;flex-direction:column;gap:2px;min-width:0}.customer-select-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-select-phone{font-size:12px;color:var(--muted)}.customer-select-placeholder{color:var(--muted)}.customer-select-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.customer-select-clear{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;color:var(--muted);font-size:16px;line-height:1}.customer-select-clear:hover{background:var(--badge);color:var(--fg)}.customer-select-chevron{color:var(--muted);font-size:16px;font-weight:700;letter-spacing:1px;line-height:1}.modal-overlay-booking{padding:0 16px;align-items:stretch;justify-content:center}.modal-booking{height:100%;max-height:100dvh;min-height:100dvh;display:flex;flex-direction:column;overflow:hidden}.modal-booking>.modal-header{flex-shrink:0;padding-top:max(16px,env(safe-area-inset-top,0px))}.modal-booking>form.form{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;position:relative}.modal-overlay-booking-create{padding:0;align-items:flex-start;justify-content:flex-start}.modal-booking-create{height:auto!important;min-height:0;max-height:none;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-bottom:none;border-radius:16px 16px 0 0;box-shadow:0 -8px 32px #0f172a1f,0 -2px 12px #0f172a14}.modal-booking-create--social,.modal-booking-create--social>.modal-header,.modal-booking-create--social>form.form,.modal-booking-create--social>form.form>.modal-body{background:#cffafe}.modal-booking-create>.modal-header{flex-shrink:0;padding-top:12px}.modal-booking-create>.modal-header h2{text-align:center;font-size:16px;font-weight:700}.modal-booking-create-title{position:relative;display:grid;width:100%;align-items:center;justify-items:center;overflow:hidden}.modal-booking-create-title-layer{grid-area:1 / 1;display:inline-flex;align-items:center;justify-content:center;width:100%}.modal-booking-create-title-layer--price{transform:translateY(0)}.modal-booking-create-title-layer--social{transform:translateY(100%);pointer-events:none}.modal-booking-create-title.is-animated .modal-booking-create-title-layer{transition:transform 1s cubic-bezier(.32,.72,0,1)}.modal-booking-create-title.is-social-mode .modal-booking-create-title-layer--price{transform:translateY(-100%);pointer-events:none}.modal-booking-create-title.is-social-mode .modal-booking-create-title-layer--social{transform:translateY(0);pointer-events:auto}@media(prefers-reduced-motion:reduce){.modal-booking-create-title.is-animated .modal-booking-create-title-layer{transition:none}}.modal-booking-create-price{display:inline-flex;align-items:baseline;justify-content:center;gap:8px;width:100%}.modal-booking-create-name-slot{position:relative;display:grid;width:100%}.modal-booking-create-name-layer{min-width:0}.modal-booking-create-name-layer--casual{grid-area:1 / 1;opacity:1;transform:translateY(0) scale(1)}.modal-booking-create-name-layer--social{grid-area:1 / 1;position:absolute;left:0;right:0;top:0;opacity:0;transform:translateY(8px) scale(.98);pointer-events:none}.modal-booking-create-name-slot.is-animated .modal-booking-create-name-layer{transition:opacity .8s ease,transform 1s cubic-bezier(.32,.72,0,1)}.modal-booking-create-name-slot.is-social-mode .modal-booking-create-name-layer--casual{position:absolute;left:0;right:0;top:0;opacity:0;transform:translateY(-8px) scale(.98);pointer-events:none}.modal-booking-create-name-slot.is-social-mode .modal-booking-create-name-layer--social{position:relative;left:auto;right:auto;top:auto;opacity:1;transform:translateY(0) scale(1);pointer-events:auto}@media(prefers-reduced-motion:reduce){.modal-booking-create-name-slot.is-animated .modal-booking-create-name-layer{transition:none}}.modal-booking-create>form.form{display:flex;flex-direction:column;flex:0 1 auto;min-height:0;overflow:hidden;position:relative}.modal-booking-create>form.form>.modal-body,.modal-booking-create>.modal-body{flex:0 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:max(16px,env(safe-area-inset-bottom,0px))}.modal-booking-create-social{display:flex;align-items:center;flex:0 0 auto;max-width:140px;opacity:1;transform:translate(0) scale(1);overflow:hidden}.modal-booking-create-mode-slot{position:relative;display:grid;flex:1 1 auto;min-width:0;align-items:center}.modal-booking-create-duration-layer,.modal-booking-create-casual-layer{grid-area:1 / 1;min-width:0}.modal-booking-create-duration-layer{opacity:1;transform:scale(1);pointer-events:auto}.modal-booking-create-duration-layer .choice-option{max-width:7.5rem;overflow:hidden;white-space:nowrap}.modal-booking-create-casual-layer{display:flex;align-items:center;opacity:0;transform:scale(.86);pointer-events:none}.modal-booking-create-row--duration-social.is-animated .modal-booking-create-duration-layer,.modal-booking-create-row--duration-social.is-animated .modal-booking-create-casual-layer{transition:opacity .75s ease,transform 1s cubic-bezier(.32,.72,0,1)}.modal-booking-create-row--duration-social.is-animated .modal-booking-create-duration-layer .choice-option{transition:max-width .9s cubic-bezier(.32,.72,0,1),opacity .65s ease,padding .9s ease,margin .9s ease,border-width .65s ease,transform .9s ease}.modal-booking-create-row--duration-social.is-animated .modal-booking-create-social{transition:opacity .8s ease,max-width 1s cubic-bezier(.32,.72,0,1),transform .9s cubic-bezier(.32,.72,0,1),margin 1s ease}.modal-booking-create-row--duration-social.is-animated .modal-booking-create-casual-layer{transition-delay:0s}.modal-booking-create-row--duration-social.is-animated.is-social-mode .modal-booking-create-casual-layer{transition-delay:.22s}.modal-booking-create-row--duration-social.is-social-mode .modal-booking-create-duration-layer{opacity:0;transform:scale(.94);pointer-events:none}.modal-booking-create-row--duration-social.is-social-mode .modal-booking-create-duration-layer .choice-option:not(.selected){max-width:0;opacity:0;padding-left:0;padding-right:0;margin:0;border-left-width:0;border-right-width:0;transform:scale(.8)}.modal-booking-create-row--duration-social.is-social-mode .modal-booking-create-duration-layer .choice-option.selected{opacity:0;transform:scale(.92)}.modal-booking-create-row--duration-social.is-social-mode .modal-booking-create-casual-layer{opacity:1;transform:scale(1);pointer-events:auto}.modal-booking-create-row--duration-social.is-social-mode .modal-booking-create-social{opacity:0;max-width:0;margin-left:-12px;transform:translate(10px) scale(.92);pointer-events:none}@media(prefers-reduced-motion:reduce){.modal-booking-create-row--duration-social.is-animated .modal-booking-create-duration-layer,.modal-booking-create-row--duration-social.is-animated .modal-booking-create-casual-layer,.modal-booking-create-row--duration-social.is-animated .modal-booking-create-duration-layer .choice-option,.modal-booking-create-row--duration-social.is-animated .modal-booking-create-social{transition:none}}.modal-booking-create-row{min-width:0}.modal-booking-create-row--two{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.modal-booking-create-row--duration-social{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.modal-booking-create-row--duration-social .modal-booking-create-duration-layer>.field{flex:1 1 auto;min-width:0;margin-bottom:0}.modal-booking-create .choice-group--payment .choice-option--paid.selected:after{content:none;margin-left:0}@media(max-width:420px){.modal-booking-create-row--two{grid-template-columns:1fr}}.offline-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;padding-top:max(24px,env(safe-area-inset-top,0px));padding-bottom:max(24px,env(safe-area-inset-bottom,0px));background:var(--bg);min-height:100dvh}.offline-screen-panel{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.offline-screen-icon{font-size:96px!important;width:96px!important;height:96px!important;color:var(--muted)}.offline-screen-message{margin:0;font-size:15px;font-weight:600;color:var(--muted)}.modal-busy-host{position:relative}.modal-busy-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:flex;align-items:center;justify-content:center;padding:24px;background:#f8fafc47;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:modal-busy-overlay-in .22s ease-out}.modal-busy-overlay-panel{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 24px 16px;border-radius:16px;background:transparent;border:none;box-shadow:none;animation:modal-busy-panel-pop .38s ease-out}.modal-busy-overlay-scene{width:min(240px,100%);background:transparent}.modal-busy-overlay .app-loading-court{background:transparent}.modal-busy-overlay-message{margin:0;font-size:15px;font-weight:600;color:var(--text);text-align:center}.modal-busy-overlay-dots{display:inline-flex;align-items:center;gap:6px;min-height:8px}.modal-busy-overlay-dots span{width:7px;height:7px;border-radius:50%;background:var(--primary);opacity:.35;animation:modal-busy-dot-bounce 1.1s ease-in-out infinite}.modal-busy-overlay-dots span:nth-child(2){animation-delay:.15s}.modal-busy-overlay-dots span:nth-child(3){animation-delay:.3s}@keyframes modal-busy-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-busy-panel-pop{0%{opacity:0;transform:scale(.92) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modal-busy-dot-bounce{0%,80%,to{transform:translateY(0);opacity:.35}40%{transform:translateY(-5px);opacity:1}}@media(prefers-reduced-motion:reduce){.modal-busy-overlay,.modal-busy-overlay-panel,.modal-busy-overlay-dots span{animation:none}}.app-loading-scene{width:100%;aspect-ratio:16 / 9;border-radius:12px;overflow:hidden}.app-loading-court{position:relative;width:100%;height:100%;overflow:hidden}.app-loading-player{position:absolute;bottom:2%;width:26%;height:auto;object-fit:contain;object-position:bottom center;pointer-events:none;transform-origin:bottom center}.app-loading-player--left{left:4%;transform:scaleX(-1);animation:player-swing-left 2.4s ease-in-out infinite}.app-loading-player--right{right:4%;animation:player-swing-right 2.4s ease-in-out infinite}.app-loading-shuttlecock{position:absolute;width:8%;height:auto;object-fit:contain;z-index:3;pointer-events:none;animation:shuttlecock-rally 2.4s ease-in-out infinite}@keyframes shuttlecock-rally{0%{left:14%;top:22%;transform:rotate(-35deg) scale(1)}20%{left:38%;top:0%;transform:rotate(10deg) scale(1.05)}40%{left:62%;top:12%;transform:rotate(25deg) scale(1)}50%{left:72%;top:22%;transform:rotate(40deg) scale(.95)}70%{left:48%;top:0%;transform:rotate(190deg) scale(1.05)}90%{left:24%;top:12%;transform:rotate(205deg) scale(1)}to{left:14%;top:22%;transform:rotate(220deg) scale(.95)}}@keyframes player-swing-left{0%,to{transform:scaleX(-1) rotate(0) translateY(0)}8%{transform:scaleX(-1) rotate(8deg) translateY(-3px)}16%{transform:scaleX(-1) rotate(0) translateY(0)}92%{transform:scaleX(-1) rotate(6deg) translateY(-2px)}}@keyframes player-swing-right{0%,to{transform:rotate(0) translateY(0)}42%{transform:rotate(0) translateY(0)}50%{transform:rotate(-8deg) translateY(-3px)}58%{transform:rotate(0) translateY(0)}}@media(prefers-reduced-motion:reduce){.app-loading-shuttlecock{animation:none;left:50%;top:4%;transform:translate(-50%) rotate(15deg)}.app-loading-player--left,.app-loading-player--right{animation:none}.app-loading-player--left{transform:scaleX(-1)}}.modal-booking>form.form>.modal-body,.modal-booking>.modal-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-booking>form.form>.modal-footer,.modal-booking>.modal-footer{flex-shrink:0;padding-bottom:max(16px,env(safe-area-inset-bottom,0px))}.modal-booking .booking-confirmation-photo-body{flex:1;min-height:0;overflow:hidden;text-align:left}.modal-booking .booking-confirmation-photo-frame{flex:1;min-height:0;max-height:none;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}@media(max-width:720px){.modal-overlay-booking{padding:0;align-items:stretch;justify-content:stretch}.modal-overlay-booking .modal-booking{width:100%;max-width:none;border-radius:0}.modal-overlay-booking-create{padding:0;align-items:flex-start;justify-content:flex-start}.modal-overlay-booking-create .modal-booking-create{max-width:none;border-radius:16px 16px 0 0}.modal-overlay-confirmation-preview,.modal-overlay-fixed-confirmation-preview{padding:0;align-items:stretch;justify-content:stretch}.modal-overlay-confirmation-preview .modal-booking,.modal-overlay-fixed-confirmation-preview .modal-booking,.modal-overlay-confirmation-preview .modal-compact,.modal-overlay-fixed-confirmation-preview .modal-compact{width:100%;max-width:none;height:100%;min-height:0;max-height:100dvh;border-radius:0;display:flex;flex-direction:column;overflow:hidden}.modal-overlay-booking .booking-confirmation-photo-frame,.modal-overlay-confirmation-preview .booking-confirmation-photo-frame,.modal-overlay-fixed-confirmation-preview .booking-confirmation-photo-frame{justify-content:stretch;padding:0}.modal-overlay-booking .booking-confirmation-photo-frame>div,.modal-overlay-confirmation-preview .booking-confirmation-photo-frame>div,.modal-overlay-fixed-confirmation-preview .booking-confirmation-photo-frame>div{width:100%;max-width:none}.modal-overlay-booking .booking-confirmation-photo-frame .booking-confirmation-capture,.modal-overlay-confirmation-preview .booking-confirmation-photo-frame .booking-confirmation-capture,.modal-overlay-fixed-confirmation-preview .booking-confirmation-photo-frame .booking-confirmation-capture{width:100%;max-width:none;box-sizing:border-box}}.modal-rc-select{display:flex;flex-direction:column;overflow:hidden}.modal-overlay-rc-select{z-index:110}@media(min-width:721px){.modal-rc-select{max-height:min(90vh,900px);min-height:min(80vh,720px)}}.modal-rc-select>.modal-header,.modal-rc-select>.modal-footer{flex-shrink:0}.modal-rc-select>.modal-body.rc-select-modal-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;overflow:hidden}.rc-select-modal-toolbar{display:flex;gap:8px;align-items:center;flex-shrink:0}.rc-select-modal-search{flex:1;min-width:0}.rc-select-modal-panel{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-right:2px}.rc-select-modal-list{min-height:100%}.rc-select-modal-empty{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px 12px;text-align:center;font-size:14px}.rc-select-modal-row.selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--card))}.rc-select-modal-row.selected:hover{background:color-mix(in srgb,var(--primary) 12%,var(--card))}.customer-info-card{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--card)}.customer-info-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.customer-info-card-actions{display:flex;flex-shrink:0;align-items:center;gap:4px}.customer-info-card-main{display:flex;flex-direction:column;gap:2px;min-width:0}.customer-info-card-name{font-size:15px;font-weight:700}.customer-info-card-phone{font-size:13px;color:var(--muted)}.customer-info-card-clear{flex-shrink:0;font-size:13px;font-weight:600;padding:4px 8px}.customer-info-card-stats{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.customer-info-card-stat{display:flex;flex-direction:column;gap:2px}.customer-info-card-stat-label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}.customer-info-card-stat-value{font-size:13px;font-weight:600}.customer-info-card .loyalty-hint{margin-top:8px}.customer-select-sync{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-top-bar{display:flex;align-items:center;gap:8px;justify-content:space-between;flex:0 0 auto;flex-wrap:wrap}.page-top-bar-user{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px}.page-top-bar-actions{display:flex;align-items:center;gap:8px}.page-top-bar-sync-button{display:inline-flex;align-items:center;justify-content:center;color:var(--muted)}button.ghost.page-top-bar-sync-button{border:none}button.ghost.page-top-bar-sync-button:disabled{cursor:default;opacity:.8}button.page-top-bar-menu{color:var(--muted);background:var(--badge)}.active-users-indicator{display:inline-flex;align-items:center;padding:0;margin:0;border:none;background:none;cursor:pointer;flex-shrink:0;line-height:0;-webkit-tap-highlight-color:transparent}.active-users-stack{display:inline-flex;align-items:center}.active-users-stack-item{position:relative;margin-left:-8px;border-radius:50%;box-shadow:0 0 0 2px var(--card, #fff)}.active-users-stack-item:first-child{margin-left:0}.active-users-avatar-wrap{position:relative;display:inline-flex;line-height:0}.active-users-online-dot{position:absolute;right:-1px;bottom:-1px;width:8px;height:8px;border-radius:50%;background:#22c55e;border:1.5px solid var(--card, #fff)}.active-users-more-avatar{font-size:10px!important;font-weight:700;background:var(--badge)!important;color:var(--muted)!important}.active-users-modal-summary{margin:0 0 12px;font-size:13px}.active-users-modal-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;max-height:min(60vh,420px);overflow-y:auto;text-align:left}.active-users-modal-item{display:flex;align-items:center;gap:12px}.active-users-modal-item--expanded{flex-direction:column;align-items:stretch;gap:0;padding-bottom:12px;border-bottom:1px solid var(--line)}.active-users-modal-item--expanded:last-child{border-bottom:none;padding-bottom:0}.active-users-modal-user-row{display:flex;align-items:center;gap:12px}.active-users-modal-logout{flex-shrink:0}.active-users-modal-sessions{margin-top:10px;margin-left:46px;display:flex;flex-direction:column;gap:8px}.active-users-modal-session-empty{font-size:12px}.active-users-modal-session{display:flex;align-items:center;gap:8px;font-size:12px;padding:6px 8px;border-radius:8px;background:#00000008}.active-users-modal-session-meta{min-width:0;flex:1}.active-users-modal-session-label{font-weight:600}.active-users-modal-session-expiry{font-size:11px;margin-top:2px}.active-users-modal-session-expiry--current{color:var(--primary);font-weight:600}.active-users-modal-session-current{font-size:11px;color:var(--primary);font-weight:600;flex-shrink:0}.active-users-modal-session-revoke{flex-shrink:0;font-size:12px}.admin-session-count{font-size:12px;padding:2px 8px;border-radius:999px;background:#2563eb14;color:var(--primary)}.admin-session-count--warn{background:#d977061f;color:var(--warn)}.active-users-modal-meta{display:flex;flex-direction:column;min-width:0;gap:2px}.active-users-modal-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.active-users-modal-name{font-size:14px;font-weight:600}.active-users-modal-email{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-users-modal-seen{font-size:12px}.admin-presence-pill{font-size:11px;padding:2px 8px;border-radius:999px;background:#22c55e1f;color:#16a34a;font-weight:600}.active-users-push-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:17px;line-height:1}.active-users-push-icon--on{color:var(--primary, #2563eb)}.active-users-push-icon--off{color:var(--muted, #94a3b8)}.fbm-page{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:100%;max-height:100%;width:100%;overflow:hidden}.fbm-content-area{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;width:100%;overflow:hidden;background:var(--card);padding:12px;gap:12px}.fbm-content-area.settings-content-area{padding:0 0 24px;overflow-y:auto;background:var(--bg);gap:0}.fbm-header-actions{display:flex;align-items:center;gap:8px;justify-content:space-between;flex-wrap:wrap;padding:0 12px 12px}.fbm-toolbar{display:flex;gap:8px;align-items:center;flex:0 0 auto}.fbm-toolbar input{flex:1;min-width:0}.fbm-toolbar-add-btn{flex-shrink:0}.fbm-list-card{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto}.fbm-list{display:flex;flex-direction:column;gap:10px}button.fbm-series-row{padding:12px;min-height:0;border-radius:10px;font:inherit;text-align:left}.fbm-series-row--grouped{padding:12px}.fbm-series-row{position:relative;width:100%;display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(260px,2fr);gap:10px;align-items:start;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);overflow:hidden}.fbm-series-row.promo-row{padding:12px}.fbm-series-details{display:flex;flex-direction:column;gap:8px;min-width:0}.fbm-series-payment-corner{position:absolute;top:10px;right:10px;z-index:1}.fbm-series-row:hover:not(.fbm-series-row--grouped){background:#f8fafc;border-color:var(--primary)}.fbm-series-main,.fbm-series-meta,.fbm-series-badges{display:flex;gap:6px}.fbm-series-main{flex-direction:column}.fbm-series-customer-name-wrap{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;max-width:100%}.fbm-series-customer-name{display:inline-block;max-width:100%;overflow-wrap:anywhere}.fbm-series-meta,.fbm-series-badges{flex-wrap:wrap;align-items:flex-start}.fbm-series-meta{flex-direction:column;gap:4px}.fbm-series-meta-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.fbm-series-badges{align-items:center}.fbm-series-meta span{font-size:13px;color:var(--text)}.fbm-series-meta .fbm-series-note.muted{color:var(--muted)}.fbm-series-row--grouped{grid-template-columns:minmax(150px,1.1fr) minmax(260px,3fr);overflow:visible}.fbm-series-group-stack-wrap{position:relative;display:flex;align-items:flex-start;min-width:0;flex:1}.fbm-series-group-list{display:flex;flex-direction:column;gap:8px;width:100%;min-width:0}button.fbm-series-group-item{width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--card);box-sizing:border-box;font:inherit;text-align:left;color:inherit;cursor:pointer}button.fbm-series-group-item:hover{background:#f8fafc;border-color:var(--primary)}.fbm-series-group-item .fbm-series-details{gap:8px}.fbm-series-row.fbm-series-exiting,.fbm-series-group-item.fbm-series-exiting{pointer-events:none;visibility:hidden}.fbm-series-row.fbm-series-arriving,.fbm-series-group-item.fbm-series-arriving{opacity:0;pointer-events:none}@media(prefers-reduced-motion:reduce){.fbm-series-row.fbm-series-arriving,.fbm-series-group-item.fbm-series-arriving{opacity:1;pointer-events:auto}}.fbm-series-row.fbm-series-deleting,.fbm-series-group-item.fbm-series-deleting{pointer-events:none;position:relative;z-index:195;overflow:visible;border-color:#ef4444;box-shadow:0 0 0 1px #ef4444,0 0 10px #ef44448c,0 0 22px #dc262659;animation:fbm-series-deleting-glow 1.1s ease-in-out infinite}@keyframes fbm-series-deleting-glow{0%,to{border-color:#dc2626;box-shadow:0 0 0 1px #dc2626,0 0 8px #dc262673,0 0 16px #b91c1c40}50%{border-color:#f87171;box-shadow:0 0 0 1px #f87171,0 0 14px #f87171a6,0 0 28px #ef444466}}.fbm-series-row.fbm-series-deleting .fbm-series-customer-name,.fbm-series-row.fbm-series-deleting .fbm-series-meta>span:first-of-type,.fbm-series-row.fbm-series-deleting .fbm-series-meta-line>span,.fbm-series-group-item.fbm-series-deleting .fbm-series-meta>span:first-of-type,.fbm-series-group-item.fbm-series-deleting .fbm-series-meta-line>span{position:relative;display:inline-block;width:fit-content;max-width:100%;align-self:flex-start;color:inherit;opacity:.82;transition:opacity .35s ease}.fbm-series-row.fbm-series-deleting .fbm-series-customer-name:after,.fbm-series-row.fbm-series-deleting .fbm-series-meta>span:first-of-type:after,.fbm-series-row.fbm-series-deleting .fbm-series-meta-line>span:after,.fbm-series-group-item.fbm-series-deleting .fbm-series-meta>span:first-of-type:after,.fbm-series-group-item.fbm-series-deleting .fbm-series-meta-line>span:after{content:"";position:absolute;left:0;top:calc(50% - 1px);width:100%;height:2px;border-radius:999px;background:#7f1d1d;transform:scaleX(0);transform-origin:left center;will-change:transform;pointer-events:none;animation:schedule-booking-strikethrough .42s cubic-bezier(.22,.61,.36,1) .05s forwards}.fbm-series-row.fbm-series-deleting .fbm-series-meta-line>span:last-child:after,.fbm-series-group-item.fbm-series-deleting .fbm-series-meta-line>span:last-child:after{animation-delay:.28s}@media(prefers-reduced-motion:reduce){.fbm-series-row.fbm-series-exiting,.fbm-series-group-item.fbm-series-exiting{visibility:hidden;opacity:0}.fbm-series-row.fbm-series-deleting,.fbm-series-group-item.fbm-series-deleting{animation:none;border-color:#dc2626;box-shadow:0 0 0 1px #dc2626,0 0 10px #dc262680}.fbm-series-row.fbm-series-deleting .fbm-series-customer-name:after,.fbm-series-row.fbm-series-deleting .fbm-series-meta>span:first-of-type:after,.fbm-series-row.fbm-series-deleting .fbm-series-meta-line>span:after,.fbm-series-group-item.fbm-series-deleting .fbm-series-meta>span:first-of-type:after,.fbm-series-group-item.fbm-series-deleting .fbm-series-meta-line>span:after{animation:none;transform:scaleX(1)}}.fbm-empty{padding:32px 12px;text-align:center;color:var(--muted)}.danger-text,.fbm-form-error{color:var(--danger)}.fbm-notice{padding:10px 12px;border-radius:10px;font-weight:600}.fbm-notice.success{background:var(--green);color:var(--success)}.fbm-notice.warn{background:#fef3c7;color:#92400e}.fbm-form-error{margin-bottom:12px;font-size:14px}.fbm-field-hint{color:var(--muted);font-size:12px}.fbm-audit{padding-top:8px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.booking-audit-trail{margin-top:8px;padding-top:8px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;gap:4px}.booking-audit-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.booking-audit-line+.booking-audit-line{margin-top:4px}.booking-audit-missing{color:var(--muted)}.user-info-modal{display:flex;flex-direction:column;gap:16px}.user-info-modal .modal-detail{text-align:left}.user-info-modal-header{display:flex;justify-content:center}.session-notice{display:flex;flex-direction:column;gap:16px}.session-notice-modal .modal-header{display:none}.session-notice-modal .modal-body{padding-top:20px}.session-notice-hero{display:flex;flex-direction:column;align-items:center;gap:10px;animation:session-notice-in .45s ease-out}.session-notice-avatar{animation:session-notice-avatar-pop .55s ease-out}.session-notice-greeting{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:1.15rem;line-height:1.4}.session-notice-greeting strong{color:var(--primary)}.session-notice-wave-icon{color:#f59e0b;flex-shrink:0;transform-origin:70% 70%;animation:session-notice-wave 1.2s ease-in-out infinite}.session-notice-tagline{margin:0;max-width:320px;color:var(--muted);font-size:1rem;line-height:1.45;text-align:center}.session-notice-expiry{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--primary) 6%,var(--card));text-align:left;animation:session-notice-in .55s ease-out .12s both}.session-notice-expiry-icon{color:var(--primary);flex-shrink:0;margin-top:2px;animation:session-notice-expiry-pulse 2.2s ease-in-out infinite}.session-notice-expiry-text{min-width:0}.session-notice-expiry-label{margin:0;font-size:.88rem;color:var(--muted);line-height:1.4}.session-notice-expiry-value{margin:4px 0 0;font-weight:600;color:var(--primary);line-height:1.45}@keyframes session-notice-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes session-notice-avatar-pop{0%{opacity:0;transform:scale(.82)}70%{transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes session-notice-wave{0%,to{transform:rotate(0)}25%{transform:rotate(18deg)}50%{transform:rotate(-6deg)}75%{transform:rotate(14deg)}}@keyframes session-notice-expiry-pulse{0%,to{opacity:1}50%{opacity:.65}}@media(prefers-reduced-motion:reduce){.session-notice-hero,.session-notice-avatar,.session-notice-expiry,.session-notice-wave-icon,.session-notice-expiry-icon{animation:none}}.fbm-series-row.highlight-new{animation:fbm-new-row-highlight 3.6s ease-out}@keyframes fbm-new-row-highlight{0%,55%{border-color:var(--success);box-shadow:0 0 0 3px #16a34a3d}to{border-color:var(--line);box-shadow:none}}.fbm-list-card.wizard-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:0}.wizard-body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding:6px 8px 8px;width:100%;box-sizing:border-box}.wizard-body--review{scrollbar-width:none;-ms-overflow-style:none}.wizard-body--review::-webkit-scrollbar{display:none}.wizard-panel{display:flex;flex-direction:column;gap:14px;width:100%}.wizard-card .modal-fields{width:100%;grid-template-columns:1fr}.wizard-card .modal-fields .field,.wizard-card .modal-fields .field--mui{width:100%;min-width:0;overflow:visible}.wizard-card .modal-fields .field:has(.choice-group){gap:6px;padding-bottom:4px}.wizard-card .modal-fields .field--mui .MuiFormControl-root,.wizard-card .modal-fields .field--mui .MuiTextField-root,.wizard-card .modal-fields .outlined-date-field{width:100%}.wizard-card .customer-info-card,.wizard-card .choice-group{width:100%;box-sizing:border-box}.wizard-card .choice-group{padding:2px 0}.wizard-card .choice-group--payment .choice-option--unpaid.selected{animation:payment-unpaid-attention-wizard 2.4s ease-in-out infinite}.wizard-card .choice-group--payment .choice-option--paid.selected{animation:payment-paid-glow 2.8s ease-in-out infinite}.wizard-card .choice-group--payment .choice-option--paid.selected:after{animation:payment-check-pop .45s ease-out}@keyframes payment-unpaid-attention-wizard{0%,to{box-shadow:0 2px 8px #ef44442e,0 0 #ef444400}50%{box-shadow:0 2px 10px #ef444447,0 0 0 4px #ef444424}}.wizard-section h2{margin:0 0 4px;font-size:20px}.wizard-section p{margin:0}.wizard-band-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.wizard-band-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:94px;padding:12px;border:1px solid var(--line);background:#fff;color:var(--text);text-align:left}.wizard-band-card:hover,.wizard-band-card.selected{border-color:var(--primary);background:var(--blue)}.wizard-band-card--readonly{cursor:default;pointer-events:none}.wizard-band-card--readonly:not(.selected){opacity:.55}.choice-group--readonly .choice-option{cursor:default;pointer-events:none}.choice-group--readonly .choice-option:not(.selected){opacity:.55}.wizard-band-card span,.wizard-band-card em{color:var(--muted);font-size:13px;font-style:normal}.wizard-summary-strip,.wizard-grid-meta,.wizard-selected-slot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;background:#f8fafc;color:var(--muted);font-size:13px}.wizard-summary-strip span,.wizard-grid-meta span{padding:3px 8px;border-radius:999px;background:var(--badge);color:var(--text)}.wizard-panel--slot,.wizard-panel--slot .schedule-scroll{flex:1;min-height:0}.wizard-body--pricing{overflow:hidden}.promotion-form-page .promo-pricing-step{flex:1;min-height:0}.promo-pricing-grid-wrap #promo-pricing-schedule td.promo-pricing-cell{cursor:default;vertical-align:middle;text-align:center}.promo-pricing-grid-wrap #promo-pricing-schedule td.promo-pricing-cell--original{color:var(--muted);font-size:13px;white-space:nowrap}.promo-pricing-grid-wrap #promo-pricing-schedule td.promo-pricing-cell--original .promo-pricing-original-value{display:inline-block;padding:8px 4px}.promo-pricing-grid-wrap #promo-pricing-schedule td.promo-pricing-cell--promo.is-discounted input[type=number]{color:var(--accent, #2563eb);font-weight:600}.promo-pricing-grid-wrap #promo-pricing-schedule td.promo-pricing-cell input[type=number]{width:100%;max-width:132px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:14px;text-align:right;background:#fff}.promo-pricing-grid-wrap #promo-pricing-schedule td.promo-pricing-cell input[type=number]:focus{outline:none;border-color:var(--accent, #2563eb);box-shadow:0 0 0 2px #2563eb26}.promo-pricing-grid-wrap #promo-pricing-schedule td.promo-pricing-cell:hover,.promo-pricing-grid-wrap #promo-pricing-schedule td.promo-pricing-cell--original:hover,.promo-pricing-grid-wrap #promo-pricing-schedule td.promo-pricing-cell--promo:hover{filter:none;background:transparent}.wizard-selected-slot{background:var(--green);color:#166534}.wizard-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.wizard-review-grid>div{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff}.wizard-review-grid span,.wizard-review-grid small{color:var(--muted)}.wizard-session-cards{display:flex;flex-direction:column;gap:10px}.wizard-session-card{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--card);box-shadow:0 1px 2px #0f172a0a;font-size:13px}.wizard-session-card--past{color:var(--muted);background:color-mix(in srgb,var(--muted) 4%,var(--card))}.wizard-session-card--makeup{background:#ede9fe;border-color:#c4b5fd}.wizard-session-card--makeup.wizard-session-card--past{background:color-mix(in srgb,var(--muted) 8%,#ede9fe)}.wizard-session-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.wizard-session-card-num{font-weight:600;color:var(--text)}.wizard-session-card--past .wizard-session-card-num{color:var(--muted)}.wizard-session-card-status{font-size:12px;font-weight:500;color:var(--muted);padding:2px 8px;border-radius:999px;background:var(--badge)}.wizard-session-card--makeup .wizard-session-card-status{color:#6d28d9;background:#ddd6fe}.wizard-session-card-body{display:flex;flex-direction:column;gap:8px}.wizard-session-card-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.wizard-session-card-label{flex-shrink:0;font-size:12px;color:var(--muted)}.wizard-session-card-value{text-align:right;color:var(--text)}.wizard-session-card--past .wizard-session-card-value{color:var(--muted)}.wizard-session-card-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding-top:4px;border-top:1px solid var(--line)}.wizard-session-card--makeup .wizard-session-card-actions{border-top-color:#c4b5fd}.wizard-session-card-makeup-info{font-size:12px;color:var(--muted)}.wizard-session-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.wizard-session-list,.wizard-conflict-list{display:grid;gap:8px}.wizard-session-list{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.wizard-session-list span,.wizard-conflict-row{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:13px}.modal-series-sessions{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.modal-series-sessions-label{margin-bottom:8px;font-size:13px;font-weight:600;color:var(--muted)}.modal-series-sessions-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.modal-series-sessions-header .modal-series-sessions-label{margin-bottom:0}.modal-series-sessions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.modal-series-session{position:relative;display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:13px}.modal-series-session-check{position:absolute;top:6px;right:6px;color:var(--success);pointer-events:none}.modal-series-session-num{font-weight:600;color:var(--text)}.modal-series-session-date,.modal-series-session-court{color:var(--muted);font-size:12px}.modal-series-session--current{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--card, #fff))}.modal-series-session--current .modal-series-session-num{color:var(--primary)}.modal-series-session--makeup{background:#ede9fe;border-color:#c4b5fd}.modal-series-session--makeup.modal-series-session--current{background:color-mix(in srgb,var(--primary) 12%,#ede9fe)}.modal-series-session-makeup-tag{font-weight:500;color:#6d28d9;font-size:11px}.modal-series-session--conflict,button.modal-series-session.modal-series-session--conflict{background:#fee2e2;border-color:#fca5a5;color:var(--text)}button.modal-series-session.modal-series-session--conflict:hover{background:#fecaca;border-color:var(--danger)}.extend-conflict-detail-row{display:grid;grid-template-columns:1fr;gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}.extend-conflict-detail-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.extend-conflict-detail-time{font-size:15px;font-weight:700;color:var(--text)}.extend-conflict-detail-court{font-size:12px;font-weight:600;padding:1px 8px;border-radius:999px;background:var(--badge);color:var(--text)}.extend-conflict-detail-type{font-size:12px;color:var(--muted)}.extend-conflict-detail-customer{font-size:14px;font-weight:600;color:var(--text)}.extend-conflict-recommendations{margin-top:16px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.extend-conflict-recommendations-title{margin:0 0 8px;font-size:13px;font-weight:700;color:var(--text)}.extend-conflict-recommendations-list{margin:0;padding-left:20px;font-size:13px;line-height:1.5;color:var(--text)}.extend-conflict-recommendations-list li+li{margin-top:6px}.extend-conflict-recommendations-list a{color:var(--primary);font-weight:600;text-decoration:none}.extend-conflict-recommendations-list a:hover{text-decoration:underline}.modal-series-session-time{font-size:11px}button.modal-series-session{width:100%;margin:0;text-align:left;cursor:pointer;font:inherit;color:inherit}button.modal-series-session:hover{border-color:#a78bfa}.booking-confirmation-session--makeup{background:#ede9fe;border-color:#c4b5fd}.wizard-conflict-row{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(120px,.7fr) minmax(180px,1fr);gap:8px;align-items:center}.wizard-conflict-booking{display:block}.wizard-conflict-row select,.wizard-conflict-row .MuiFormControl-root{width:100%;min-width:120px}@media(max-width:820px){button.fbm-series-row,.fbm-series-row--grouped{min-height:0}.fbm-series-row,.customer-row,.fbm-series-row--grouped{grid-template-columns:1fr}.fbm-toolbar{flex-wrap:nowrap}.fbm-toolbar input{min-width:0}.event-history-toolbar label,.event-date-controls{width:100%}.event-history-toolbar .event-date-picker{flex:0 0 150px;min-width:150px;max-width:150px}.wizard-review-grid,.wizard-conflict-row{grid-template-columns:1fr}.modal-series-sessions-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.customer-row-stats{grid-template-columns:1fr}}.modal-gift-section{margin-top:12px}.modal-gift-square{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;min-height:96px;margin-top:6px;padding:12px;border-radius:12px;cursor:pointer;text-align:center;color:#9d174d;background:#fce7f3;border:1px solid #f9a8d4}.modal-gift-square--unclaimed{background:transparent;border:2px dashed #f9a8d4;color:#be185d}.modal-gift-square--claimed{background:#fce7f3;border:1px solid #f472b6}.modal-gift-square-label{font-weight:700}.modal-gift-square-date{font-weight:600}.modal-gift-square-meta{font-size:12px;opacity:.85}.gift-sunday-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.gift-sunday-option{display:flex;align-items:center;justify-content:space-between;gap:8px;align-self:stretch;width:100%;min-height:64px;padding:20px 18px;border-radius:10px;border:1px solid var(--border, #e2e8f0);background:#fff;color:var(--text, #0f172a);cursor:pointer;font-size:16px;font-weight:600;line-height:1.3;text-align:left;box-sizing:border-box;touch-action:manipulation}.gift-sunday-option:hover{border-color:#f472b6;background:#fdf2f8}.schedule-selection-mode td[data-court]:not([data-booking-id]),.schedule-gift-mode td[data-court]:not([data-booking-id]){cursor:pointer}.schedule-selection-mode td[data-booking-id],.schedule-gift-mode td[data-booking-id]{opacity:.55}.schedule-edit-confirm-bar{position:fixed;top:0;left:0;right:0;z-index:70;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;box-sizing:border-box;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top,0px));background:var(--card, #fff);border-bottom:1px solid var(--line, #e2e8f0);box-shadow:0 4px 12px #0f172a14;pointer-events:auto}.schedule-edit-confirm-bar--with-info{align-items:flex-end}.schedule-edit-confirm-bar-info{flex:1 1 auto;min-width:0;font-weight:600;font-size:14px;line-height:1.35;color:var(--ink, #0f172a);text-align:center}.schedule-edit-confirm-bar-meta{font-weight:500;opacity:.85}.schedule-edit-confirm-bar>button{flex:0 0 auto}.schedule-slot-pick-mode td[data-court]:not([data-booking-id]):not(.schedule-slot-pick-dim){cursor:pointer}.schedule-slot-pick-mode td.schedule-slot-pick-dim{opacity:.38;cursor:default}.schedule-slot-pick-mode td[data-booking-id]:not(.schedule-slot-pick-dim){cursor:pointer}
