@keyframes sidebarFadeDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}:root{--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px)}@supports (padding-bottom:env(safe-area-inset-bottom)){.page-content-mobile{padding-bottom:calc(72px + env(safe-area-inset-bottom))}}@media (max-width:768px){button,a,[role=button]{min-height:44px}button{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.overflow-scroll,[style*="overflow-y: auto"],[style*="overflowY: auto"]{-webkit-overflow-scrolling:touch}body{overflow-x:hidden}table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.card{border-radius:10px}.modal-mobile{border-radius:0!important;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;position:fixed!important;inset:0!important}}@media (min-width:768px) and (max-width:1099px){.card{border-radius:10px}}@media (display-mode:standalone){body{padding-top:env(safe-area-inset-top)}}.btn-primary,.btn-secondary,.btn-danger,.btn-row{cursor:pointer;white-space:nowrap;border:none;border-radius:7px;justify-content:center;align-items:center;gap:.375rem;padding:.5rem 1rem;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;text-decoration:none;transition:opacity .15s,border-color .15s,color .15s,background .15s;display:inline-flex}.btn-primary{background:var(--accent);color:var(--on-accent);border:none}.btn-primary:hover:not(:disabled){opacity:.88}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{border:1px solid var(--border);color:var(--text-secondary);background:#fff}.btn-secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.btn-danger{color:#c0392b;background:#fff;border:1px solid #c0392b59}.btn-danger:hover:not(:disabled){background:#c0392b0d}.btn-danger:disabled{opacity:.4;cursor:not-allowed}.btn-row{border:1px solid var(--border);color:var(--text-secondary);background:0 0;border-radius:5px;padding:.22rem .6rem;font-size:11px}.btn-row:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-row.danger:hover:not(:disabled){color:#c0392b;border-color:#c0392b66}.btn-back{margin-bottom:var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--accent-subtle);background:var(--accent-light);color:var(--accent-dark);font-size:var(--text-size-sm);font-family:var(--font-body);cursor:pointer;animation:fadeUp var(--motion-fast) var(--ease-out) both;transition:background var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out);align-items:center;gap:6px;padding:.35rem .875rem;font-weight:600;display:inline-flex}.btn-back:hover{background:var(--accent-subtle);border-color:var(--accent-muted)}.btn-back:active{transform:translateY(1px)}@media (prefers-reduced-motion:reduce){.btn-back{animation:none}}html[data-resizing] *{transition:none!important}html[data-imp] aside{min-height:0!important;top:40px!important}html[data-imp] #main-content{padding-top:40px!important}:root{--font-heading:"Cormorant Garamond", serif;--font-body:"DM Sans", sans-serif;--text-size-xs:10px;--text-size-sm:11px;--text-size-md:12px;--text-size-base:13px;--text-size-ui:14px;--text-size-lg:15px;--text-size-xl:20px;--text-size-2xl:28px;--modal-header-bg:var(--sidebar);--modal-header-pad:.75rem 1.25rem;--modal-icon-size:36px;--modal-icon-bg:#c9a96e33;--modal-close-bg:#ffffff14;--modal-close-border:#ffffff26;--modal-close-color:#fff9;--modal-subtitle-color:#ffffff73;--modal-title-size:15px;--modal-subtitle-size:10px;--modal-body-pad:1.5rem;--radius-modal:14px;--radius-card:12px;--radius-section:10px;--radius-input:8px;--radius-btn:7px;--radius-chip:6px;--radius-pill:20px;--radius-circle:50%;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--space-9:2.25rem;--space-10:2.5rem;--space-12:3rem;--shadow-card:0 2px 12px #00000012;--shadow-card-hover:0 4px 20px #0000001a;--shadow-modal:0 32px 80px #00000047;--shadow-sheet:0 -8px 48px #00000040;--shadow-toast:0 12px 32px #00000029;--shadow-focus-ring:0 0 0 3px #c9a96e33;--shadow-subtle:0 1px 4px #0000000f;--shadow-dropdown:0 8px 24px #0000001a;--shadow-focus-success:0 0 0 3px #4a7c5933;--overlay-dark-05:#0000000d;--overlay-dark-10:#0000001a;--overlay-dark-20:#0003;--overlay-dark-30:#0000004d;--overlay-dark-50:#00000080;--overlay-dark-55:#0000008c;--overlay-light-05:#ffffff0d;--overlay-light-08:#ffffff14;--overlay-light-15:#ffffff26;--overlay-light-30:#ffffff4d;--overlay-light-45:#ffffff73;--overlay-light-60:#fff9;--motion-fast:.12s;--motion-base:.2s;--motion-slow:.3s;--motion-modal:.32s;--motion-slower:.4s;--motion-spin:.8s;--ease-standard:cubic-bezier(.16, 1, .3, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--feedback-duration:2.5s;--z-sidebar:50;--z-tab-bar:100;--z-sticky:10;--z-popover:150;--z-drawer-overlay:180;--z-drawer:181;--z-overlay:200;--z-modal:201;--z-modal-stack:210;--z-toast:9000;--z-confirm:9999;--status-rebooked:#9b59b6;--status-noshow:#e67e22;--success-bg:#4a7c5914;--success-tint:#4a7c5926;--warning-bg:#d4862a14;--danger-tint:#c0392b14;--gradient-sidebar-dark:linear-gradient(135deg, var(--sidebar) 0%, #2a2a24 100%);--gradient-accent-btn:linear-gradient(135deg, var(--accent) 0%, var(--accent-dark) 100%)}.modal-overlay{background:#00000059;position:fixed;inset:0}.modal-header{background:var(--modal-header-bg);padding:var(--modal-header-pad);flex-shrink:0}.modal-header__row{align-items:center;gap:.875rem;display:flex}.modal-header__icon{width:var(--modal-icon-size);height:var(--modal-icon-size);border-radius:var(--radius-circle);background:var(--modal-icon-bg);flex-shrink:0;justify-content:center;align-items:center;display:flex}.modal-header__text{flex:1;min-width:0}.modal-header__subtitle{font-size:var(--modal-subtitle-size);color:var(--modal-subtitle-color);text-transform:uppercase;letter-spacing:.09em;font-family:var(--font-body);margin-bottom:2px}.modal-header__title{font-size:var(--modal-title-size);font-family:var(--font-heading);color:#fff;text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.modal-header__detail{color:#fff6;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;overflow:hidden}.modal-header__extra{gap:8px;margin-top:.75rem;display:flex}.modal-close{background:var(--modal-close-bg);border:1px solid var(--modal-close-border);border-radius:var(--radius-circle);width:32px;height:32px;min-height:unset;cursor:pointer;color:var(--modal-close-color);flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:12px;transition:background .15s;display:flex}.modal-close:hover{background:#ffffff24}.modal-close--light{border:1px solid var(--border);border-radius:var(--radius-circle);width:32px;height:32px;min-height:unset;cursor:pointer;color:var(--text-muted);background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:12px;transition:border-color .15s,color .15s;display:flex}.modal-close--light:hover{border-color:var(--accent);color:var(--accent)}.modal-body{padding:var(--modal-body-pad);flex:1;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.modal-drag-handle{flex-shrink:0;justify-content:center;padding:10px 0 4px;display:flex}.modal-drag-handle__bar{background:#d0ceca;border-radius:2px;width:40px;height:4px}@media (min-width:768px){.modal-drag-handle{display:none}}.panel-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:.875rem 1.25rem;display:flex}.panel-header__subtitle{color:var(--text-muted);text-transform:uppercase;letter-spacing:.09em;font-size:10px;font-family:var(--font-body);margin-bottom:2px}.panel-header__title{color:var(--text-primary);font-size:14px;font-weight:600;font-family:var(--font-body)}@media (max-width:768px){.modal-close,.modal-close--light{width:44px;height:44px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUpLg{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes modalIn{0%{opacity:0;transform:translate(-50%,calc(12px - 50%))}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes dialogIn{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.skeleton-pulse{animation:1.6s ease-in-out infinite pulse}.roster-row:hover{background:var(--accent-light)}.roster-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}:focus-visible,button:focus-visible,a:focus-visible,[role=button]:focus-visible,[role=tab]:focus-visible,[role=switch]:focus-visible,[role=menuitem]:focus-visible{outline:2px solid var(--accent-dark);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:var(--shadow-focus-ring);outline:none;border-color:var(--accent)!important}.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled),.btn-danger:active:not(:disabled){transform:translateY(1px)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sr-only-focusable:focus,.sr-only-focusable:active{clip:auto;white-space:normal;width:auto;height:auto;margin:0;position:static;overflow:visible}.skip-link{z-index:var(--z-confirm);background:var(--sidebar);color:var(--accent);border-radius:var(--radius-btn);font-family:var(--font-body);font-size:var(--text-size-base);transition:top var(--motion-fast) var(--ease-out);padding:8px 16px;text-decoration:none;position:absolute;top:-40px;left:8px}.skip-link:focus{top:8px}.login-root{background:var(--sidebar);min-height:100vh;font-family:var(--font-body);justify-content:center;align-items:center;padding:2rem;display:flex;position:relative;overflow:hidden}.login-root:before{content:"";background:radial-gradient(circle, var(--accent-light) 0%, transparent 65%);pointer-events:none;border-radius:50%;width:700px;height:700px;position:absolute}.login-root:after{content:"";pointer-events:none;background-image:radial-gradient(circle,#ffffff09 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0}.login-card{z-index:1;width:100%;max-width:400px;animation:fadeUpLg var(--motion-modal) var(--ease-standard) both;position:relative}.login-brand{text-align:center;animation:fadeUp var(--motion-slow) 60ms var(--ease-standard) both;margin-bottom:2.5rem}.login-brand-mark{align-items:center;gap:11px;margin-bottom:.6rem;display:inline-flex}.login-brand-icon{border:1px solid var(--accent-muted);border-radius:var(--radius-input);width:38px;height:38px;color:var(--accent);justify-content:center;align-items:center;font-size:15px;display:flex}.login-brand-name{font-family:var(--font-heading);color:#fff;letter-spacing:.02em;font-size:1.65rem;font-weight:400}.login-brand-sub{color:#ffffff8c;letter-spacing:.16em;text-transform:uppercase;font-size:10.5px;font-weight:300}.login-page-title{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.login-surface{animation:fadeUpLg var(--motion-slow) .12s var(--ease-standard) both;background:#ffffff08;border:1px solid #ffffff12;border-radius:20px;padding:2.5rem}.login-heading{font-family:var(--font-heading);color:#fff;letter-spacing:.01em;margin:0 0 .3rem;font-size:1.8rem;font-weight:300}.login-sub{color:#ffffff8c;margin:0 0 1.75rem;font-size:13px;font-weight:300}.login-divider{background:linear-gradient(90deg, var(--accent), transparent);width:36px;height:1px;margin-bottom:1.75rem}.login-error{color:#e07b6e;border-radius:var(--radius-input);background:#c0392b1a;border:1px solid #c0392b38;margin-bottom:1.5rem;padding:.7rem 1rem;font-size:13px;font-weight:300}.login-field{margin-bottom:1.25rem}.login-label{letter-spacing:.13em;text-transform:uppercase;color:#ffffff8c;margin-bottom:8px;font-size:10px;font-weight:500;display:block}.login-input-wrap{position:relative}.login-input{border-radius:var(--radius-input);width:100%;font-size:14px;font-family:var(--font-body);color:#fff;transition:border-color var(--motion-base) var(--ease-out), background var(--motion-base) var(--ease-out), box-shadow var(--motion-base) var(--ease-out);box-sizing:border-box;background:#ffffff0c;border:1px solid #ffffff17;outline:none;padding:.8rem 1rem;font-weight:300}.login-input::placeholder{color:#ffffff8c}.login-input:focus{border-color:var(--accent);box-shadow:var(--shadow-focus-ring);background:#c9a96e0a}.login-input-pw{padding-right:3rem}.login-eye{cursor:pointer;color:#ffffff8c;width:3rem;transition:color var(--motion-base) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:13px;display:flex;position:absolute;top:0;bottom:0;right:0}.login-eye:hover{color:#ffffffd9}.login-btn{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-dark) 100%);border-radius:var(--radius-input);width:100%;color:var(--on-accent);font-size:12.5px;font-weight:500;font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:opacity var(--motion-base) var(--ease-out), transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-base) var(--ease-out);border:none;margin-top:.625rem;padding:.875rem;position:relative;overflow:hidden}.login-btn:after{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff24,#0000);position:absolute;inset:0}.login-btn:hover:not(:disabled){opacity:.88;box-shadow:0 8px 24px var(--accent-muted);transform:translateY(-1px)}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.45;cursor:not-allowed}.login-footer{text-align:center;color:#ffffff73;letter-spacing:.05em;animation:fadeUp var(--motion-slow) .22s var(--ease-standard) both;margin-top:1.75rem;font-size:11px}.otp-input{text-align:center;width:44px;height:52px;font-size:22px;font-weight:600;font-family:var(--font-body);border-radius:var(--radius-input);color:#fff;caret-color:var(--accent);transition:border-color var(--motion-base) var(--ease-out), box-shadow var(--motion-base) var(--ease-out);background:#ffffff0d;border:1px solid #ffffff1f;outline:none}.otp-input:focus{border-color:var(--accent);box-shadow:var(--shadow-focus-ring)}.otp-input.filled{border-color:var(--accent-muted);background:#c9a96e0f}