html{height:100%;--mat-sys-background: light-dark(#faf9fd, #121316);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f2f0f4, #2f3033);--mat-sys-inverse-primary: light-dark(#abc7ff, #005cbb);--mat-sys-inverse-surface: light-dark(#2f3033, #e3e2e6);--mat-sys-on-background: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #002f65);--mat-sys-on-primary-container: light-dark(#00458f, #d7e3ff);--mat-sys-on-primary-fixed: light-dark(#001b3f, #001b3f);--mat-sys-on-primary-fixed-variant: light-dark(#00458f, #00458f);--mat-sys-on-secondary: light-dark(#ffffff, #283041);--mat-sys-on-secondary-container: light-dark(#3e4759, #dae2f9);--mat-sys-on-secondary-fixed: light-dark(#131c2b, #131c2b);--mat-sys-on-secondary-fixed-variant: light-dark(#3e4759, #3e4759);--mat-sys-on-surface: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-surface-variant: light-dark(#44474e, #e0e2ec);--mat-sys-on-tertiary: light-dark(#ffffff, #0001ac);--mat-sys-on-tertiary-container: light-dark(#0000ef, #e0e0ff);--mat-sys-on-tertiary-fixed: light-dark(#00006e, #00006e);--mat-sys-on-tertiary-fixed-variant: light-dark(#0000ef, #0000ef);--mat-sys-outline: light-dark(#74777f, #8e9099);--mat-sys-outline-variant: light-dark(#c4c6d0, #44474e);--mat-sys-primary: light-dark(#005cbb, #abc7ff);--mat-sys-primary-container: light-dark(#d7e3ff, #00458f);--mat-sys-primary-fixed: light-dark(#d7e3ff, #d7e3ff);--mat-sys-primary-fixed-dim: light-dark(#abc7ff, #abc7ff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#565e71, #bec6dc);--mat-sys-secondary-container: light-dark(#dae2f9, #3e4759);--mat-sys-secondary-fixed: light-dark(#dae2f9, #dae2f9);--mat-sys-secondary-fixed-dim: light-dark(#bec6dc, #bec6dc);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#faf9fd, #121316);--mat-sys-surface-bright: light-dark(#faf9fd, #38393c);--mat-sys-surface-container: light-dark(#efedf0, #1f2022);--mat-sys-surface-container-high: light-dark(#e9e7eb, #292a2c);--mat-sys-surface-container-highest: light-dark(#e3e2e6, #343537);--mat-sys-surface-container-low: light-dark(#f4f3f6, #1a1b1f);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0d0e11);--mat-sys-surface-dim: light-dark(#dbd9dd, #121316);--mat-sys-surface-tint: light-dark(#005cbb, #abc7ff);--mat-sys-surface-variant: light-dark(#e0e2ec, #44474e);--mat-sys-tertiary: light-dark(#343dff, #bec2ff);--mat-sys-tertiary-container: light-dark(#e0e0ff, #0000ef);--mat-sys-tertiary-fixed: light-dark(#e0e0ff, #e0e0ff);--mat-sys-tertiary-fixed-dim: light-dark(#bec2ff, #bec2ff);--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Inter, sans-serif;--mat-sys-body-large-font: Inter, sans-serif;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Inter, sans-serif;--mat-sys-body-medium-font: Inter, sans-serif;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Inter, sans-serif;--mat-sys-body-small-font: Inter, sans-serif;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Inter, sans-serif;--mat-sys-display-large-font: Inter, sans-serif;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Inter, sans-serif;--mat-sys-display-medium-font: Inter, sans-serif;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Inter, sans-serif;--mat-sys-display-small-font: Inter, sans-serif;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Inter, sans-serif;--mat-sys-headline-large-font: Inter, sans-serif;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Inter, sans-serif;--mat-sys-headline-medium-font: Inter, sans-serif;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Inter, sans-serif;--mat-sys-headline-small-font: Inter, sans-serif;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Inter, sans-serif;--mat-sys-label-large-font: Inter, sans-serif;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Inter, sans-serif;--mat-sys-label-medium-font: Inter, sans-serif;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Inter, sans-serif;--mat-sys-label-small-font: Inter, sans-serif;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Inter, sans-serif;--mat-sys-title-large-font: Inter, sans-serif;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Inter, sans-serif;--mat-sys-title-medium-font: Inter, sans-serif;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Inter, sans-serif;--mat-sys-title-small-font: Inter, sans-serif;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}body{color-scheme:dark;background-color:var(--mat-sys-surface);color:var(--mat-sys-on-surface);font:var(--mat-sys-body-medium);margin:0;height:100%}:root{--bg-app: #0f172a;--bg-panel: rgba(30, 41, 59, .7);--bg-card: rgba(51, 65, 85, .5);--primary: #3b82f6;--primary-glow: rgba(59, 130, 246, .5);--primary-hover: #60a5fa;--secondary: #38bdf8;--text-main: #f8fafc;--text-muted: #94a3b8;--danger: #f87171;--success: #22c55e;--border-glass: rgba(255, 255, 255, .1);--shadow-glass: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--glass-blur: blur(12px);--radius-lg: 16px;--radius-md: 8px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-app);color:var(--text-main);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{cursor:pointer;border:none;font-family:inherit}a{color:inherit;text-decoration:none}.container{width:100%;max-width:none;margin:0;padding:1.5rem 2.5rem;box-sizing:border-box}@media(max-width:768px){.container{padding:0}}.glass-panel{background:var(--bg-panel);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-glass);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass);padding:1.5rem 2.5rem}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-glass);border-radius:var(--radius-md)}.responsive-panel{width:100%;min-height:calc(100vh - 4rem);margin-left:auto;margin-right:auto;box-sizing:border-box}@media(max-width:768px){.responsive-panel{min-height:100vh!important;padding:.75rem 1.5rem!important;border-radius:0!important;border-left:none!important;border-right:none!important;margin-top:0!important}}h1,h2,h3{font-weight:700;letter-spacing:-.025em;color:#fff}h1{font-size:2.5rem;margin-bottom:1rem;background:linear-gradient(to right,#fff,var(--text-muted));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.btn-primary{background:var(--primary);color:#0f172a;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:600;transition:all .2s;border:none;cursor:pointer}.btn-primary:hover{background:var(--primary-hover);box-shadow:0 0 15px var(--primary-glow)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:#ffffff0d;border:1px solid var(--border-glass);color:#fff;padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:500;transition:all .2s;cursor:pointer}.btn-ghost:hover{background:#ffffff1a;border-color:#ffffff4d;transform:translateY(-1px)}.btn-sm{padding:.25rem .6rem!important;font-size:.75rem!important;display:inline-flex;align-items:center;gap:.35rem}.btn-danger{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--danger);padding:.5rem 1rem;border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.btn-danger:hover{background:#ef444433}.nav-icon-ghost{background:#ffffff0d;border:1px solid var(--border-glass);color:#fff;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all .2s;cursor:pointer}.nav-icon-ghost:hover{background:#ffffff1a;border-color:#ffffff4d;transform:translateY(-1px)}.nav-icon-ghost.active{background:var(--primary);color:#0f172a;border-color:var(--primary);box-shadow:0 0 15px var(--primary-glow)}.filter-button{background:#ffffff0d;border:1px solid var(--border-glass);color:#fff;padding:.4rem .8rem;border-radius:20px;display:flex;align-items:center;gap:.4rem;font-size:.85rem;transition:all .2s}.filter-button:hover{background:#ffffff1a;border-color:var(--primary)}.filter-button.active{background:var(--primary);color:#000;border-color:var(--primary)}.slot-pill{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 max(var(--slot-min, 62px),min(var(--slot-max, 96px),calc((100% - (var(--n, 14) - 1) * .45rem) / var(--n, 14))));height:52px;border-radius:8px;font-size:.9rem;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s;border:1px solid transparent}.slot-placeholder{visibility:hidden}@media(max-width:600px){.booking-grid{--slot-min: 54px}.slot-pill{height:48px;font-size:.85rem}}.slot-pill.available:hover{background:#22c55e38;border-color:#22c55e73}.slot-pill.available{background:#22c55e1f;color:#86efac;border-color:#22c55e33}.slot-pill.booked{background:#ef444414;color:#fff6;border-color:#ef444414;cursor:default}.slot-pill.booked.inspectable{cursor:pointer}.slot-pill.booked.inspectable:hover{border-color:#ef444473;background:#ef444424}.slot-pill.my-booking{background:#bef26426;color:var(--primary);border-color:#bef2644d}.court-dots{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:4px}.court-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.court-dot.available{background-color:#22c55e;box-shadow:0 0 4px #22c55e66}.court-dot.booked{background-color:#ef4444;box-shadow:0 0 4px #ef444466}.header-divider{display:none;height:1px;background:linear-gradient(to right,transparent,var(--border-glass),transparent);width:100%;margin:.5rem 0}@media(max-width:768px){.header-divider{display:block}}.club-logo{width:38px;height:38px;border-radius:50%;object-fit:cover;border:1px solid var(--border-glass);background:#ffffff0d;transition:all .3s ease}@media(min-width:1024px){.club-logo{width:60px;height:60px}}@media(max-width:768px){.desktop-only{display:none!important}}@media(min-width:769px){.mobile-only{display:none!important}}.filter-panel{max-height:0;overflow:hidden;transition:all .3s ease-out;width:100%;opacity:0}.filter-panel.open{max-height:500px;opacity:1;margin-bottom:1rem}::-webkit-scrollbar{width:6px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}.mat-mdc-dialog-container .mat-mdc-dialog-surface{background-color:var(--bg-app)!important;color:#fff!important;border:1px solid var(--border-glass)!important;border-radius:var(--radius-lg)!important;box-shadow:0 25px 50px -12px #00000080!important}.dtc-dialog .mat-mdc-dialog-surface{overflow-y:auto!important}.cdk-overlay-backdrop{backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;background-color:#0009!important}.dtc-dialog .mat-mdc-dialog-surface{background-color:var(--bg-app)!important}.mat-datepicker-content{position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;background-color:var(--bg-app)!important;border:1px solid var(--border-glass)!important;border-radius:var(--radius-md)!important;color:#fff!important}.mat-calendar{background-color:var(--bg-app)!important;color:#fff!important}.mat-calendar-body-label,.mat-calendar-period-button,.mat-calendar-arrow{color:#fff!important}.mat-calendar-table-header,.mat-calendar-body-cell-content{color:var(--text-muted)!important}.mat-calendar-body-selected{background-color:var(--primary)!important;color:#0f172a!important}.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:var(--primary)!important}.mat-mdc-snack-bar-container{--mat-snack-bar-container-color: #1e293b;--mat-snack-bar-supporting-text-color: var(--text-main);--mat-snack-bar-supporting-text-font: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--mat-snack-bar-supporting-text-size: .9rem;--mat-snack-bar-supporting-text-weight: 500;--mat-snack-bar-button-color: var(--primary-hover);--mat-snack-bar-container-shape: 12px;margin:16px!important}.mat-mdc-snack-bar-container .mdc-snackbar__surface{border:1px solid var(--border-glass);border-left:4px solid var(--primary);box-shadow:0 12px 32px #00000073!important;min-width:280px}.mat-mdc-snack-bar-container.snack-success .mdc-snackbar__surface{border-left-color:var(--success)}.mat-mdc-snack-bar-container.snack-warn .mdc-snackbar__surface{border-left-color:var(--warning)}.mat-mdc-snack-bar-container.snack-error .mdc-snackbar__surface{border-left-color:var(--danger)}.mat-mdc-snack-bar-container .mat-mdc-snack-bar-action{font-weight:600;letter-spacing:.02em}.mat-mdc-menu-panel{background-color:#1a2234!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:12px!important;min-width:240px!important;padding:8px!important}.mat-mdc-menu-item{color:#fff!important;border-radius:8px!important;margin:2px 0!important;height:48px!important}.mat-mdc-menu-item:hover{background-color:#ffffff0d!important}.mat-mdc-menu-item .mdc-list-item__primary-text{color:#fff!important;font-weight:500!important}.mat-mdc-menu-item mat-icon{color:#fff!important;margin-right:12px!important}.mat-mdc-button,.mat-mdc-raised-button{font-family:Inter,sans-serif!important}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.2);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s ease-in-out infinite}:root{--text-light: var(--text-main);--warning: #fbbf24}.btn-success{background:#22c55e1f;border:1px solid rgba(34,197,94,.35);color:var(--success);padding:.5rem 1rem;border-radius:var(--radius-md);cursor:pointer;transition:background .2s}.btn-success:hover{background:#22c55e38}.btn-sm mat-icon{font-size:1.05rem;width:1.05rem;height:1.05rem}.config-input{background:#0f172a99;border:1px solid var(--border-glass);color:var(--text-main);border-radius:var(--radius-md);padding:.5rem .75rem;font:inherit;font-size:.9rem;min-width:0}.config-input:focus{outline:2px solid var(--primary);outline-offset:1px}.config-input:disabled{opacity:.5}.tab-content{padding:1rem 0}.form-row{display:flex;flex-wrap:wrap;gap:.75rem}.form-row>*{flex:1 1 140px}.config-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.table-container{width:100%;overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.85rem}.admin-table th{text-align:left;color:var(--text-muted);font-weight:500;padding:.5rem;border-bottom:1px solid var(--border-glass);white-space:nowrap}.admin-table td{padding:.5rem;border-bottom:1px solid rgba(255,255,255,.05);vertical-align:middle}.admin-table .actions{display:flex;gap:.25rem;justify-content:flex-end}.bookings-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem;padding:.9rem 1rem;margin-bottom:1rem;background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-md)}.toolbar-field{display:flex;flex-direction:column;gap:.3rem;min-width:150px}.toolbar-field.grow{flex:1 1 200px}.toolbar-field>span:first-child{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.toolbar-field .config-input,.pager .config-input{height:38px}.date-control{position:relative;display:flex;align-items:center}.date-control .config-input{width:100%;padding-right:2.6rem}.date-control mat-datepicker-toggle{position:absolute;right:0;top:0;color:var(--text-muted)}.date-control mat-datepicker-toggle .mat-mdc-icon-button{width:38px;height:38px;padding:7px}.toolbar-btn{height:38px;min-width:38px;padding:0 .5rem!important;display:inline-flex;align-items:center;justify-content:center}.toolbar-btn:disabled{opacity:.35;cursor:default;transform:none}.toolbar-count{margin-left:auto;align-self:center;color:var(--text-muted);font-size:.85rem;white-space:nowrap}.bookings-table thead th{background:#0f172a8c;padding:0;border-bottom:1px solid var(--border-glass)}.bookings-table thead th:first-child{border-top-left-radius:var(--radius-md)}.bookings-table thead th:last-child{border-top-right-radius:var(--radius-md)}.bookings-table td.num,.bookings-table th.num{text-align:right}.bookings-table th.num .sort-btn{justify-content:flex-end;width:100%}.sort-btn{display:inline-flex;align-items:center;gap:.25rem;background:none;color:var(--text-muted);font:inherit;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.7rem .5rem;white-space:nowrap}.sort-btn mat-icon{font-size:.95rem;width:.95rem;height:.95rem;opacity:.45}.sort-btn.active{color:var(--text-main)}.sort-btn.active mat-icon{opacity:1;color:var(--primary-hover)}.pager{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;padding:.9rem 0 0;font-size:.85rem;color:var(--text-muted)}.pager-size{display:inline-flex;align-items:center;gap:.5rem}.pager-range{margin-right:auto}.pager-nav{display:inline-flex;align-items:center;gap:.35rem}.pager-page{padding:0 .5rem;white-space:nowrap;color:var(--text-main)}.status-badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap;background:#94a3b826;color:var(--text-muted)}.status-badge.completed{background:#22c55e26;color:var(--success)}.status-badge.admin{background:#38bdf826;color:var(--secondary)}.status-badge.pending{background:#fbbf2426;color:var(--warning)}.status-badge.cancelled{background:#f8717126;color:var(--danger)}.status-badge.refund{background:#fbbf2433;color:var(--warning)}.segmented{display:inline-flex;background:#ffffff0d;border:1px solid var(--border-glass);border-radius:999px;padding:3px}.segmented button{background:transparent;color:var(--text-muted);padding:.4rem 1rem;border-radius:999px;font-weight:500}.segmented button.active{background:var(--primary);color:#0f172a}.panel-card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-md);padding:1.25rem}.panel-card h3{margin:0;font-size:1rem}.panel-card-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}.series-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1rem;align-items:start;margin-bottom:1rem}@media(max-width:960px){.series-layout{grid-template-columns:1fr}}.kind-hint{margin:0 0 .5rem;font-size:.85rem}.form-section{padding-top:1rem;margin-top:1rem;border-top:1px solid var(--border-glass)}.form-section-title{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.9rem;margin-bottom:.75rem}.form-section-title .step{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#3b82f633;color:#93c5fd;font-size:.75rem}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.template-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.9rem}.template-chip{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;background:#ffffff0a;border:1px dashed rgba(255,255,255,.25);color:var(--text-main);border-radius:10px;padding:.4rem .8rem;cursor:pointer;font:inherit}.template-chip:hover{border-style:solid;border-color:var(--secondary);background:#38bdf814}.template-name{font-weight:600;font-size:.85rem}.template-dates{color:var(--text-muted);font-size:.72rem}.series-summary{position:sticky;top:1rem}.series-summary h3{margin-bottom:.75rem}.summary-list{display:grid;grid-template-columns:auto 1fr;gap:.45rem .75rem;margin:0;font-size:.85rem}.summary-list dt{color:var(--text-muted)}.summary-list dd{margin:0;text-align:right}.summary-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:.9rem;padding-top:.9rem;border-top:1px solid var(--border-glass)}.summary-total strong{font-size:1.35rem;color:var(--success)}.summary-note{font-size:.8rem;color:var(--warning);margin:.75rem 0 0}.summary-error{color:var(--danger);font-size:.85rem;margin-bottom:.75rem}.summary-conflicts{margin-top:.75rem;font-size:.8rem;color:var(--text-muted)}.summary-conflicts summary{cursor:pointer}.summary-conflicts ul{margin:.4rem 0 0 1rem;padding:0}.summary-btn{width:100%;margin-top:1rem;justify-content:center}.summary-hint{text-align:center;margin:.5rem 0 0}.required-note{font-size:.75rem;font-weight:400;color:var(--text-muted);margin-left:.5rem}.missing-label{font-size:.8rem;margin:.75rem 0 .25rem;color:var(--text-main)}.missing-list{margin:0 0 0 1.1rem;padding:0;font-size:.8rem;color:var(--warning)}.empty-hint{text-align:center;padding:1.5rem;margin:0}.past-toggle{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.85rem;cursor:pointer;margin-top:.75rem}.past-toggle input{accent-color:var(--primary);width:16px;height:16px}.login-card{max-width:360px;margin:3rem auto;display:flex;flex-direction:column;gap:1rem;text-align:center}.login-card .error-text{color:var(--danger);font-size:.85rem}.hint-text{color:var(--text-muted);font-size:.8rem}.mat-mdc-form-field{--mdc-outlined-text-field-label-text-color: var(--text-muted)}.split-pill{height:auto;min-height:60px;padding:4px;gap:4px;justify-content:flex-start;cursor:default;background:#ffffff08;border:1px solid var(--border-glass)}.split-time{font-size:.8rem;font-weight:700;color:var(--text-main);line-height:1.2}.split-halves{display:flex;gap:4px;width:100%}.split-half{flex:1;min-height:36px;border-radius:6px;font-size:.9rem;font-weight:700;background:#22c55e24;color:#86efac;border:1px solid rgba(34,197,94,.25);cursor:pointer;transition:background .15s,box-shadow .15s}.split-half:hover:not(:disabled){background:#22c55e40}.split-half.booked{background:#ef444438;border-color:#ef44444d;color:#ffffffd9;cursor:pointer}.split-half.selected{background:#38bdf84d;color:#fff;box-shadow:inset 0 0 0 2px var(--secondary)}.booking-grid.multi{--slot-min: 96px;--slot-max: 132px}.config-grid>.legal-card{grid-column:1 / -1}.legal-tabs{align-self:flex-start;margin-bottom:.75rem;flex-wrap:wrap;border-radius:12px}.legal-input{width:100%;min-height:260px;resize:vertical;font-family:inherit;line-height:1.5}.legal-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem}.legal-actions a.btn-ghost{text-decoration:none}.legal-warning{display:inline-flex;align-items:center;gap:.3rem;color:var(--warning)}.legal-warning mat-icon{font-size:1rem;width:1rem;height:1rem}.readonly-note{display:flex;align-items:center;gap:.4rem;margin-top:1rem}.readonly-note mat-icon{font-size:1rem;width:1rem;height:1rem}.config-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1rem;align-items:stretch}.config-grid>.panel-card{display:flex;flex-direction:column}.config-grid>.panel-card h3{display:flex;align-items:center;gap:.5rem}.config-grid>.panel-card h3 mat-icon{color:var(--primary);font-size:1.2rem;width:1.2rem;height:1.2rem}.config-grid .config-save{margin-top:auto;align-self:flex-start}.config-grid .config-field:last-of-type{margin-bottom:1rem}.config-desc{margin:.25rem 0 1rem}.config-field{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.6rem}.config-field label{min-width:90px;font-size:.85rem}.config-field .config-input:not(.num){flex:1;min-width:140px}.config-input.num{width:80px}.config-save{margin-top:.5rem}.auth-page{max-width:440px;margin:1.5rem auto 2rem}.auth-title{font-size:1.45rem;margin:0 0 .35rem}.auth-sub{color:var(--text-muted);margin:0 0 1.5rem;line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-form mat-form-field{width:100%}.auth-check{display:flex;gap:.65rem;align-items:flex-start;font-size:.92rem;line-height:1.45;cursor:pointer}.auth-check input{width:20px;height:20px;margin-top:1px;accent-color:var(--primary);flex-shrink:0}.auth-check a,.auth-links a{color:var(--secondary);text-decoration:none}.auth-check a:hover,.auth-links a:hover{text-decoration:underline}.auth-links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.75rem;font-size:.92rem;margin-top:1.5rem}.auth-msg{padding:.8rem 1rem;border-radius:10px;font-size:.92rem;margin-bottom:1rem;line-height:1.45}.auth-msg.error{background:#ef44441f;border:1px solid rgba(239,68,68,.35);color:#fecaca}.auth-msg.success{background:#22c55e1f;border:1px solid rgba(34,197,94,.35);color:#bbf7d0}.auth-submit{width:100%;justify-content:center;padding:.85rem;font-size:1rem}.auth-done{text-align:center}.auth-done p{line-height:1.5}.auth-done .btn-primary,.auth-done .btn-ghost{display:inline-flex;margin-top:1rem;text-decoration:none}.auth-done-icon{font-size:56px;width:56px;height:56px;color:var(--secondary);margin-bottom:.5rem}.link-btn{background:none;border:none;color:var(--secondary);padding:0;margin-left:.25rem;font:inherit;text-decoration:underline;cursor:pointer}.pw-toggle{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:0 .5rem;display:flex;align-items:center}.account-page{max-width:960px;margin:.5rem auto 2rem;display:flex;flex-direction:column;gap:1rem}.account-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.account-head-right{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.account-head-right .btn-ghost{display:inline-flex;align-items:center;gap:.35rem}.account-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;align-items:start}.account-grid h3{margin-bottom:1rem}.panel-card-head .btn-primary{display:inline-flex;align-items:center;gap:.3rem;text-decoration:none}.booking-group{font-size:.85rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:.5rem 0}.my-booking{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border-glass)}.my-booking:last-child{border-bottom:none}.my-booking.past{opacity:.75}.my-booking-date{display:flex;flex-direction:column;align-items:center;min-width:56px;font-size:1rem}.my-booking-day{color:var(--primary);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.my-booking-main{flex:1;display:flex;flex-direction:column;gap:2px}.past-bookings{margin-top:1rem}.past-bookings summary{cursor:pointer;color:var(--text-muted);font-size:.9rem}.danger-zone summary{cursor:pointer;font-weight:600;color:var(--danger)}.danger-zone .auth-form{max-width:360px;margin-top:.75rem}.member-check-badge{margin-top:2px;display:inline-block}.member-check-actions{display:inline-flex;gap:.25rem;margin-top:.3rem;flex-wrap:wrap}.setup-banner{display:flex;gap:.6rem;align-items:flex-start;padding:.8rem 1rem;margin-bottom:1rem;border-radius:10px;border:1px solid rgba(56,189,248,.4);background:#38bdf81a;font-size:.9rem;line-height:1.45}.setup-banner mat-icon{color:var(--secondary);flex-shrink:0}.logged-in-as{margin:-.5rem 0 .75rem}
