.settings-pop[data-v-da29c46e]{position:fixed;z-index:1200;min-width:200px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000002e;padding:4px;display:flex;flex-direction:column}.settings-pop-item[data-v-da29c46e]{display:flex;align-items:center;gap:10px;padding:8px 10px;height:36px;border-radius:6px;color:var(--text);text-decoration:none;font-size:13px;font-weight:500;cursor:pointer}.settings-pop-item[data-v-da29c46e]:hover{background:var(--surface-2)}.settings-pop-item.active[data-v-da29c46e]{background:color-mix(in srgb,var(--accent-sand) 14%,transparent);color:var(--accent-sand)}.mini-cal[data-v-92877aa4]{padding:4px 0;font-size:12px;user-select:none}.mc-head[data-v-92877aa4]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:4px}.mc-month[data-v-92877aa4]{flex:1;background:none;border:none;text-align:center;font-weight:700;color:var(--text);cursor:pointer;text-transform:capitalize;font:inherit;padding:4px 6px;border-radius:4px}.mc-month[data-v-92877aa4]:hover{background:var(--surface-2)}.mc-nav[data-v-92877aa4]{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:4px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center}.mc-nav[data-v-92877aa4]:hover{background:var(--surface-2);color:var(--text)}.mc-dows[data-v-92877aa4]{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}.mc-dows span[data-v-92877aa4]{text-align:center;color:var(--text-muted);font-size:10px;font-weight:600}.mc-grid[data-v-92877aa4]{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.mc-cell[data-v-92877aa4]{position:relative;height:26px;width:100%;background:none;border:none;cursor:pointer;border-radius:4px;font:inherit;font-variant-numeric:tabular-nums;color:var(--text);display:inline-flex;align-items:center;justify-content:center}.mc-cell-num[data-v-92877aa4]{font-size:12px;line-height:1}.mc-cell[data-v-92877aa4]:hover{background:var(--surface-2)}.mc-cell.is-other-month[data-v-92877aa4]{color:var(--text-muted);opacity:.45}.mc-cell.is-today[data-v-92877aa4]{box-shadow:inset 0 0 0 1.5px var(--accent-sand);font-weight:700}.mc-cell.in-range[data-v-92877aa4]{background:color-mix(in srgb,var(--accent-sand) 14%,transparent)}.mc-cell.is-selected[data-v-92877aa4]{background:var(--accent-sand);color:#fff;font-weight:700}.mc-cell.is-selected[data-v-92877aa4]:hover{background:var(--accent-sand)}.mc-cell.d-low[data-v-92877aa4]:after,.mc-cell.d-mid[data-v-92877aa4]:after,.mc-cell.d-high[data-v-92877aa4]:after,.mc-cell.d-full[data-v-92877aa4]:after{content:"";position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%}.mc-cell.d-low[data-v-92877aa4]:after{background:var(--text-muted);opacity:.5}.mc-cell.d-mid[data-v-92877aa4]:after{background:var(--accent-sand)}.mc-cell.d-high[data-v-92877aa4]:after{background:#d97706}.mc-cell.d-full[data-v-92877aa4]:after{background:var(--danger)}.mc-cell.is-selected[data-v-92877aa4]:after{display:none}.bk-rail[data-v-de95a013]{display:flex;flex-direction:column;gap:14px;width:100%}.rail-section[data-v-de95a013]{display:flex;flex-direction:column;gap:8px}.rail-section-head[data-v-de95a013]{display:flex;align-items:center;justify-content:space-between;padding-right:2px}.rail-section-label[data-v-de95a013]{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding-left:4px}.rail-hub-btn[data-v-de95a013]{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:5px;border-radius:6px;display:inline-flex;align-items:center;transition:background .12s,color .12s}.rail-hub-btn[data-v-de95a013]:hover{background:color-mix(in srgb,var(--accent-sand) 14%,transparent);color:var(--accent-sand)}.rail-today[data-v-de95a013]{width:100%;padding:6px 10px;background:var(--surface);border:1px solid var(--border);border-radius:6px;cursor:pointer;font:inherit;font-size:12px;color:var(--text)}.rail-today[data-v-de95a013]:hover{background:var(--surface-2)}.dialog-backdrop[data-v-572fd26c]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.dialog[data-v-572fd26c]{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:480px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow);outline:none;transition:max-width .22s ease-out}@media(prefers-reduced-motion:reduce){.dialog[data-v-572fd26c]{transition:none}}.dialog-wide[data-v-572fd26c]{max-width:640px}.dialog-narrow[data-v-572fd26c]{max-width:400px}.dialog-header[data-v-572fd26c]{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-title[data-v-572fd26c]{font-size:16px;font-weight:700;margin:0}.dialog-body[data-v-572fd26c]{padding:16px 20px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;flex:1}.dialog-footer[data-v-572fd26c]{padding:12px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}.modal-enter-active[data-v-572fd26c],.modal-leave-active[data-v-572fd26c]{transition:opacity .18s ease}.modal-enter-active .dialog[data-v-572fd26c],.modal-leave-active .dialog[data-v-572fd26c]{transition:transform .18s ease,opacity .18s ease}.modal-enter-from[data-v-572fd26c],.modal-leave-to[data-v-572fd26c]{opacity:0}.modal-enter-from .dialog[data-v-572fd26c],.modal-leave-to .dialog[data-v-572fd26c]{transform:scale(.96) translateY(-8px);opacity:0}@media(prefers-reduced-motion:reduce){.modal-enter-active[data-v-572fd26c],.modal-leave-active[data-v-572fd26c],.modal-enter-active .dialog[data-v-572fd26c],.modal-leave-active .dialog[data-v-572fd26c]{transition:none}}.view-toggle[data-v-00a31f89]{display:inline-flex;padding:2px;background:var(--surface-2);border-radius:8px;border:1px solid var(--border);width:100%}.view-toggle button[data-v-00a31f89]{flex:1;padding:6px 10px;border:none;background:transparent;font:inherit;font-size:12px;cursor:pointer;border-radius:6px;color:var(--text-muted)}.view-toggle button[data-v-00a31f89]:hover{color:var(--text)}.view-toggle button.active[data-v-00a31f89]{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 2px #0000000f}.facet[data-v-587d2add]{display:flex;flex-direction:column;gap:4px}.facet-head[data-v-587d2add]{display:flex;align-items:center;justify-content:space-between;padding-right:2px;margin-bottom:2px}.facet-title[data-v-587d2add]{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted)}.facet-link[data-v-587d2add]{background:none;border:none;color:var(--text-muted);cursor:pointer;font:inherit;font-size:11px;padding:2px 4px;border-radius:4px}.facet-link[data-v-587d2add]:hover:not(:disabled){color:var(--text);background:var(--surface-2)}.facet-link[data-v-587d2add]:disabled{opacity:.35;cursor:default}.facet-group[data-v-587d2add]{display:flex;flex-direction:column;gap:2px}.facet-group+.facet-group[data-v-587d2add]{margin-top:6px}.facet-items-grid[data-v-587d2add]{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:1px 8px}.facet-item-label[data-v-587d2add]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.facet-subhead[data-v-587d2add]{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 2px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);opacity:.85}.facet-item[data-v-587d2add]{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:4px;cursor:pointer;font-size:12px;color:var(--text)}.facet-item input[data-v-587d2add]{position:absolute;opacity:0;pointer-events:none}.facet-check[data-v-587d2add]{width:14px;height:14px;border:1px solid var(--border);border-radius:3px;color:transparent;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.facet-item.checked .facet-check[data-v-587d2add]{background:var(--accent-sand);border-color:var(--accent-sand);color:#fff}.facet-item[data-v-587d2add]:hover{background:var(--surface-2)}.facet-item.disabled[data-v-587d2add]{opacity:.42;cursor:not-allowed}.facet-item.disabled[data-v-587d2add]:hover{background:none}.facet-item.disabled .facet-check[data-v-587d2add]{background:var(--surface-2);border-color:var(--border);color:transparent}.facet-item.disabled input[data-v-587d2add]{cursor:not-allowed}.facet-group.group-disabled .facet-subhead[data-v-587d2add]{opacity:.6}.hub-grid-2col[data-v-b91cda6f]{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media(max-width:640px){.hub-grid-2col[data-v-b91cda6f]{grid-template-columns:1fr;gap:16px}}.hub-col[data-v-b91cda6f]{display:flex;flex-direction:column;gap:14px}.hub-section[data-v-b91cda6f]{display:flex;flex-direction:column;gap:3px}.hub-title[data-v-b91cda6f]{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);padding:2px 8px 4px}.hub-item[data-v-b91cda6f]{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:6px;background:none;border:none;cursor:pointer;color:var(--text);text-align:left;font:inherit;font-size:12px}.hub-item[data-v-b91cda6f]:hover{background:var(--surface-2)}.hub-item.active[data-v-b91cda6f]{background:color-mix(in srgb,var(--accent-sand) 14%,transparent);color:var(--accent-sand);font-weight:600}.hub-item .check[data-v-b91cda6f]{margin-left:auto;color:var(--accent-sand)}.hub-segments[data-v-b91cda6f]{display:flex;gap:2px;padding:4px 6px}.hub-segments button[data-v-b91cda6f]{flex:1;padding:5px 6px;background:var(--surface-2);border:1px solid var(--border);border-radius:4px;font:inherit;font-size:11px;cursor:pointer;color:var(--text-muted)}.hub-segments button.active[data-v-b91cda6f]{background:var(--accent-sand);color:#fff;border-color:var(--accent-sand);font-weight:700}.hub-segments button[data-v-b91cda6f]:disabled{opacity:.35;cursor:not-allowed}.hub-segments button:disabled.active[data-v-b91cda6f]{opacity:.5}.app-root[data-v-2ff7c722]{display:flex;flex:1;height:100vh;height:100dvh;overflow:hidden}.sidebar[data-v-2ff7c722]{width:220px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;position:relative;z-index:50;height:100%;overflow:hidden;transition:width .18s ease}.sidebar-collapsed[data-v-2ff7c722]{width:60px}.sidebar-nav[data-v-2ff7c722]{flex:1;overflow-y:auto;min-height:0}.nav-context[data-v-2ff7c722]{padding:8px 8px 12px 32px;display:flex;flex-direction:column;gap:10px}.sidebar[data-v-2ff7c722]:has(.nav-context):not(.sidebar-collapsed){width:270px}.sidebar-brand[data-v-2ff7c722]{padding:16px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.02em}.brand-icon[data-v-2ff7c722]{width:32px;height:32px;background:linear-gradient(135deg,var(--accent-sand),var(--accent-sea));border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;color:#fff;font-weight:800;flex-shrink:0}.brand-text[data-v-2ff7c722]{font-size:14px;flex:1}.collapse-toggle[data-v-2ff7c722]{flex-shrink:0;opacity:0;transition:opacity .15s}.sidebar:hover .collapse-toggle[data-v-2ff7c722],.sidebar:focus-within .collapse-toggle[data-v-2ff7c722]{opacity:1}.sidebar-collapsed .collapse-toggle[data-v-2ff7c722]{opacity:1}.sidebar-close[data-v-2ff7c722],.sidebar-collapsed .brand-text[data-v-2ff7c722],.sidebar-collapsed .nav-label[data-v-2ff7c722],.sidebar-collapsed .user-info[data-v-2ff7c722],.sidebar-collapsed .style-label[data-v-2ff7c722],.sidebar-collapsed .footer-controls .style-trigger span[data-v-2ff7c722]{display:none}.sidebar-collapsed .sidebar-brand[data-v-2ff7c722]{padding:12px 0;flex-direction:column;gap:8px}.sidebar-collapsed .nav-item[data-v-2ff7c722]{justify-content:center;padding:10px 0}.sidebar-collapsed .sidebar-footer[data-v-2ff7c722]{padding:10px 6px;align-items:center}.sidebar-collapsed .user-row[data-v-2ff7c722]{justify-content:center}.sidebar-collapsed .footer-controls[data-v-2ff7c722]{flex-direction:column;gap:4px}.sidebar-collapsed .footer-controls .style-trigger[data-v-2ff7c722]{justify-content:center;padding:0;width:36px}.sidebar-nav[data-v-2ff7c722]{flex:1;padding:12px 0;display:flex;flex-direction:column}.sidebar-settings[data-v-2ff7c722]{margin-top:auto;padding-top:8px;border-top:1px solid var(--border)}.nav-item-btn[data-v-2ff7c722]{background:transparent;border:none;width:100%;text-align:left;font:inherit;cursor:pointer}.nav-item[data-v-2ff7c722]{display:flex;align-items:center;gap:10px;padding:9px 18px;font-size:14px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all .15s;position:relative;border-radius:0}.nav-item[data-v-2ff7c722]:hover{color:var(--text);background:var(--surface-2)}.nav-item.active[data-v-2ff7c722]{color:var(--accent-sand);background:var(--surface-2);font-weight:600}.nav-item.active[data-v-2ff7c722]:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;background:var(--accent-sand);border-radius:0 2px 2px 0}.nav-icon[data-v-2ff7c722]{flex-shrink:0}.sidebar-footer[data-v-2ff7c722]{padding:10px 12px 12px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.user-row[data-v-2ff7c722]{display:flex;align-items:center;gap:10px}.user-avatar[data-v-2ff7c722]{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--accent-sand),var(--accent-sea));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}.user-info[data-v-2ff7c722]{display:flex;flex-direction:column;min-width:0;flex:1}.user-name[data-v-2ff7c722]{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.footer-icon-btn[data-v-2ff7c722]{background:none;border:none;cursor:pointer;padding:6px;border-radius:6px;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.footer-icon-btn[data-v-2ff7c722]:hover{background:var(--surface-2);color:var(--text)}.footer-icon-btn.is-destructive[data-v-2ff7c722]:hover{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.main-content[data-v-2ff7c722]{flex:1;display:flex;flex-direction:column;min-width:0;margin-left:0;overflow:hidden}.impersonation-bar[data-v-2ff7c722]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 16px;background:#f59e0b;color:#1a1205;font-size:13px;flex-shrink:0}.impersonation-bar strong[data-v-2ff7c722]{font-weight:800}.imp-real[data-v-2ff7c722]{opacity:.8}.imp-exit[data-v-2ff7c722]{background:#0000002e;color:inherit;border:none;border-radius:6px;padding:4px 12px;font:inherit;font-weight:700;cursor:pointer}.imp-exit[data-v-2ff7c722]:hover{background:#0000004d}.mobile-bar[data-v-2ff7c722]{display:none;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:10px;flex-shrink:0}.mobile-menu-toggle[data-v-2ff7c722]{display:none}.mobile-title[data-v-2ff7c722]{font-weight:700;font-size:15px}.content-area[data-v-2ff7c722]{flex:1;overflow-x:hidden;overflow-y:auto;padding:24px 28px;outline:none;min-width:0}.sidebar-backdrop[data-v-2ff7c722]{display:none}@media(max-width:900px){.sidebar[data-v-2ff7c722]{position:fixed;inset:0 auto 0 0;width:260px;transform:translate(-100%);transition:transform .22s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 20px #0003}.sidebar-open[data-v-2ff7c722]{transform:translate(0)}.sidebar-close[data-v-2ff7c722]{display:inline-flex;margin-left:auto}.sidebar-backdrop[data-v-2ff7c722]{display:block;position:fixed;inset:0;background:#0006;border:none;z-index:40;cursor:pointer}.mobile-bar[data-v-2ff7c722]{display:flex}.mobile-menu-toggle[data-v-2ff7c722]{display:inline-flex}.content-area[data-v-2ff7c722]{padding:16px}}.fade-enter-active[data-v-2ff7c722],.fade-leave-active[data-v-2ff7c722]{transition:opacity .18s ease}.fade-enter-from[data-v-2ff7c722],.fade-leave-to[data-v-2ff7c722]{opacity:0}.confirm-message[data-v-0a8cc5b0]{font-size:14px;color:var(--text);margin:0;line-height:1.5}:root[data-theme=dark]{--bg: #0d1b2a;--surface: #1e2d40;--surface-2: #2a3f58;--surface-3: #324d6e;--accent-sand: #f4a22d;--accent-sand-h: #e8901f;--accent-sea: #22d3ee;--accent-sea-h: #06b6d4;--text: #e8f4f8;--text-muted: #7fa8c4;--border: #2e4560;--danger: #f87171;--danger-h: #ef4444;--success: #4ade80;--warning: #fbbf24;--shadow: 0 4px 24px rgba(0,0,0,.4);--shadow-sm: 0 1px 6px rgba(0,0,0,.3);--tint-tournament: #b8923e;--tint-open-play: #5fa5a5;--tint-training: #c69661;--tint-campus: #6b8e5a;--tint-event: #d97757}:root[data-theme=light]{--bg: #f8f4ef;--surface: #ffffff;--surface-2: #f0ebe3;--surface-3: #e4dbd0;--accent-sand: #d4861a;--accent-sand-h: #b8720f;--accent-sea: #0891b2;--accent-sea-h: #0e7490;--text: #0d1b2a;--text-muted: #5a7a95;--border: #d9cfc4;--danger: #dc2626;--danger-h: #b91c1c;--success: #16a34a;--warning: #d97706;--shadow: 0 4px 24px rgba(0,0,0,.1);--shadow-sm: 0 1px 6px rgba(0,0,0,.06);--tint-tournament: #c9a04b;--tint-open-play: #4a8c8c;--tint-training: #d4a574;--tint-campus: #6b8e5a;--tint-event: #d97757}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:15px;scroll-behavior:smooth;overflow-x:hidden;scrollbar-gutter:stable}body{font-family:Manrope,system-ui,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;line-height:1.5;overflow-x:hidden;scrollbar-gutter:stable;-webkit-font-smoothing:antialiased;transition:background .25s,color .25s}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}img{display:block;max-width:100%}.app-root{display:contents}.layout{display:flex;min-height:100vh}.main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.content{flex:1;padding:24px 28px;overflow-y:auto}.sidebar{width:220px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column}.sidebar-logo{padding:18px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}.logo-icon{width:32px;height:32px;background:linear-gradient(135deg,var(--accent-sand),var(--accent-sea));border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;color:#fff;flex-shrink:0}.logo-text{font-size:17px;font-weight:800;letter-spacing:.02em}.logo-text span{color:var(--accent-sand)}.nav{padding:10px 0;flex:1}.nav-section{padding:8px 16px 4px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 20px;font-size:14px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all .15s;position:relative}.nav-item:hover{color:var(--text);background:var(--surface-2)}.nav-item.router-link-active,.nav-item.active{color:var(--accent-sand);background:var(--surface-2);font-weight:600}.nav-item.router-link-active:before,.nav-item.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;background:var(--accent-sand);border-radius:0 2px 2px 0}.nav-icon{font-size:16px;width:20px;text-align:center}.sidebar-user{padding:12px 18px;border-top:1px solid var(--border);display:flex;align-items:center;gap:10px;font-size:13px}.user-avatar{width:30px;height:30px;background:linear-gradient(135deg,var(--accent-sand),var(--accent-sea));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}.user-name{font-weight:600}.user-role{color:var(--text-muted);font-size:11px}.topbar{background:var(--surface);border-bottom:1px solid var(--border);padding:0 24px;height:54px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0}.topbar-title{font-size:16px;font-weight:700}.topbar-actions{display:flex;align-items:center;gap:8px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;box-shadow:var(--shadow-sm)}.card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;gap:12px}.card-title{font-size:15px;font-weight:700}.card-sub{font-size:12px;color:var(--text-muted);margin-top:2px}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 18px}.stat-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.stat-val{font-size:26px;font-weight:800;margin-top:4px;line-height:1}.stat-meta{font-size:12px;color:var(--text-muted);margin-top:5px}.c-sand{color:var(--accent-sand)}.c-sea{color:var(--accent-sea)}.c-success{color:var(--success)}.c-danger{color:var(--danger)}.c-muted{color:var(--text-muted)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--accent-sand),var(--accent-sand-h));color:#fff}.btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-sea{background:var(--accent-sea);color:#0d1b2a}.btn-sea:hover:not(:disabled){background:var(--accent-sea-h);transform:translateY(-1px)}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);border-color:var(--accent-sand)}.btn-accent-cta{background:var(--accent-sea);color:#0d1b2a;font-weight:600}.btn-accent-cta:hover:not(:disabled){background:var(--accent-sea-h);transform:translateY(-1px)}.btn-danger{background:transparent;border:1px solid var(--danger);color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger);color:#fff}.btn-sm{padding:5px 10px;font-size:12px;border-radius:6px}.btn-xs{padding:3px 8px;font-size:11px;border-radius:5px}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.04em}.badge-success{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.badge-sand{background:color-mix(in srgb,var(--accent-sand) 15%,transparent);color:var(--accent-sand)}.badge-sea{background:color-mix(in srgb,var(--accent-sea) 15%,transparent);color:var(--accent-sea)}.badge-muted{background:var(--surface-2);color:var(--text-muted)}.badge-danger{background:color-mix(in srgb,var(--danger) 15%,transparent);color:var(--danger)}.badge-warning{background:color-mix(in srgb,var(--warning, #e6a817) 15%,transparent);color:var(--warning, #e6a817)}.badge-info{background:color-mix(in srgb,var(--accent-sea) 25%,transparent);color:var(--accent-sea)}.table-wrap{overflow-x:auto;border-radius:10px;border:1px solid var(--border)}table{width:100%;border-collapse:collapse;font-size:13px}thead th{padding:10px 14px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap}tbody tr{border-bottom:1px solid var(--border);transition:background .1s}tbody tr:last-child{border-bottom:none}tbody tr:hover{background:var(--surface-2)}tbody td{padding:10px 14px;vertical-align:middle}.score{font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}.input,.select{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:14px;font-family:inherit;color:var(--text);outline:none;transition:border-color .15s;width:100%}.input:focus,.select:focus{border-color:var(--accent-sea)}.input::placeholder{color:var(--text-muted)}.select option{background:var(--surface);color:var(--text)}.schedule-grid{display:grid;gap:8px}.sched-header{background:var(--surface-2);border-radius:8px;padding:7px 10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);text-align:center}.sched-time{display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--text-muted);font-variant-numeric:tabular-nums}.match-cell{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 12px;transition:all .15s;cursor:pointer}.match-cell:hover{border-color:var(--accent-sea);box-shadow:0 0 0 1px var(--accent-sea)}.match-cell.done{border-color:color-mix(in srgb,var(--success) 35%,transparent)}.match-cell.empty{background:transparent;border-color:transparent;cursor:default}.match-teams{font-size:12px;font-weight:600}.match-score{font-size:17px;font-weight:800;font-variant-numeric:tabular-nums;margin-top:3px}.match-score .w{color:var(--success)}.match-score .l{color:var(--danger)}.match-score .sep{color:var(--text-muted);margin:0 3px;font-weight:400}.match-pend{font-size:16px;color:var(--text-muted);margin-top:3px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:20px}.tab{padding:9px 16px;font-size:13px;font-weight:600;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s}.tab:hover{color:var(--text)}.tab.active{color:var(--accent-sand);border-bottom-color:var(--accent-sand)}.theme-toggle{display:flex;align-items:center;gap:6px;padding:5px 11px;background:var(--surface-2);border:1px solid var(--border);border-radius:20px;cursor:pointer;font-size:13px;font-weight:500;color:var(--text-muted);transition:all .15s}.theme-toggle:hover{color:var(--text);border-color:var(--accent-sea)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.wrap{flex-wrap:wrap}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.mb-4{margin-bottom:4px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-20{margin-bottom:20px}.mb-24{margin-bottom:24px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.w-full{width:100%}.text-sm{font-size:12px}.text-muted{color:var(--text-muted)}.fw-bold{font-weight:700}.fw-800{font-weight:800}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent-sea);border-radius:50%;animation:spin .7s linear infinite;margin:40px auto}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted);font-size:14px}.empty-state .icon{font-size:40px;margin-bottom:12px}.alert{padding:10px 14px;border-radius:8px;font-size:13px;font-weight:500;margin-bottom:12px}.alert-error{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent)}.modal-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:24px;width:100%;max-width:420px;box-shadow:0 20px 60px #00000080}.modal-title{font-size:16px;font-weight:700;margin-bottom:16px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.login-page{flex:1;min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:40px;width:100%;max-width:380px;text-align:center;box-shadow:var(--shadow)}.login-logo{font-size:42px;font-weight:800;margin-bottom:4px}.login-logo span{color:var(--accent-sand)}.login-sub{color:var(--text-muted);font-size:14px;margin-bottom:32px}.login-hint{margin-top:20px;font-size:12px;color:var(--text-muted)}.pill{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:20px;padding:4px 10px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.pill:hover{border-color:var(--accent-sand);color:var(--accent-sand)}.pill.female{border-color:color-mix(in srgb,#f9a8d4 40%,transparent)}.pill .remove{color:var(--text-muted);margin-left:2px}.pill .remove:hover{color:var(--danger)}.team-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px}.team-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.team-label{font-size:12px;font-weight:700;color:var(--accent-sea);text-transform:uppercase;letter-spacing:.05em}#app{display:flex;min-height:100vh}.sidebar{width:220px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:50}.sidebar-brand{padding:18px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;flex-shrink:0}.brand-icon{background:linear-gradient(135deg,var(--accent-sand),var(--accent-sea));border-radius:8px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#fff;flex-shrink:0}.brand-icon.lg{width:56px;height:56px;font-size:20px;border-radius:14px}.brand-text{font-size:15px;font-weight:700}.sidebar-nav{flex:1;padding:10px 0;overflow-y:auto}.nav-section-label{padding:14px 20px 4px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.sidebar-footer{padding:12px 16px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0}.user-info{display:flex;align-items:center;gap:6px;min-width:0}.user-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.main-content{flex:1;margin-left:220px;display:flex;flex-direction:column;min-height:100vh}.topbar{background:var(--surface);border-bottom:1px solid var(--border);height:54px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;position:sticky;top:0;z-index:40}.topbar-left,.topbar-right{display:flex;align-items:center;gap:10px}.content-area{flex:1;padding:28px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:12px;flex-wrap:wrap}.page-header-left,.page-header-right{display:flex;align-items:center;gap:10px}.period-toggle{display:flex;gap:4px}.page-title{font-size:18px;font-weight:800}.view-toggle{display:flex;gap:4px}.icon-btn{padding:5px 9px!important;font-size:14px;line-height:1}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table thead th{padding:9px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap}.th-sortable{cursor:pointer;user-select:none;transition:background .12s,color .12s}.th-sortable:hover{background:var(--surface-3)!important;color:var(--text)}.sort-icon{color:var(--text-muted);font-size:10px;margin-left:4px;opacity:.7}.filter-row td{background:var(--surface);padding:5px 8px;border-bottom:2px solid var(--border)}.col-filter-input{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:4px 8px;font-size:12px;color:var(--text);outline:none;transition:border-color .12s}.col-filter-input::placeholder{color:var(--text-muted)}.col-filter-input:focus{border-color:var(--accent-sea)}.data-row{border-bottom:1px solid var(--border);transition:background .1s}.data-row:last-child{border-bottom:none}.data-row:hover{background:var(--surface-2)}.data-row td{padding:9px 12px;vertical-align:middle}.td-id{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text-muted);width:54px}.td-date{white-space:nowrap;width:60px}.td-time{white-space:nowrap;width:54px}.td-desc{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-sport{width:1px;white-space:nowrap;text-align:center;padding-left:4px;padding-right:4px}.th-sport{width:1px;white-space:nowrap;text-align:center;cursor:pointer;padding-left:4px;padding-right:4px}.sport-emoji{font-size:1.2em;cursor:default}.td-participants{white-space:nowrap}.participant-cell{display:flex;align-items:center;gap:6px}.participant-bar{width:48px;height:4px;border-radius:2px;background:var(--border);flex-shrink:0;overflow:hidden}.participant-bar-fill{height:100%;border-radius:2px;transition:width .3s ease}.participant-bar-fill.bar-empty{background:var(--border)}.participant-bar-fill.bar-partial{background:var(--accent-sea)}.participant-bar-fill.bar-almost{background:var(--warning, #e6a817)}.participant-bar-fill.bar-full{background:var(--success, #2ea44f)}.participant-nums{font-variant-numeric:tabular-nums}.participant-confirmed{font-weight:600;color:var(--accent-sea)}.participant-confirmed.participant-full{color:var(--success, #2ea44f)}.participant-reserve{font-size:.78em;color:var(--bg);background:var(--warning, #e6a817);padding:1px 5px;border-radius:8px;font-weight:600}.td-actions{white-space:nowrap;text-align:right;width:120px}.action-icon-btn{min-width:36px;min-height:36px;font-size:1.1em;display:inline-flex;align-items:center;justify-content:center}.table-footer{padding:8px 14px;border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 10px 10px}.btn-secondary{background:var(--surface-2);border:1px solid var(--border);color:var(--text)}.btn-secondary:hover:not(:disabled){border-color:var(--accent-sand);color:var(--accent-sand)}.btn-icon{padding:5px 8px}.btn-dashed{background:transparent;border:2px dashed var(--border);color:var(--text-muted);width:100%;padding:12px;border-radius:10px}.btn-dashed:hover{border-color:var(--accent-sand);color:var(--accent-sand)}.badge-accent{background:color-mix(in srgb,var(--accent-sand) 20%,transparent);color:var(--accent-sand)}.badge-neutral{background:var(--surface-2);color:var(--text-muted)}.alert-danger{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent)}.alert-success{background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--success);border:1px solid color-mix(in srgb,var(--success) 30%,transparent)}.flex-center{display:flex;align-items:center;justify-content:center}.py-8{padding-top:32px;padding-bottom:32px}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.text-success{color:var(--success)}.text-accent-sand{color:var(--accent-sand)}.text-accent-sea{color:var(--accent-sea)}.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.event-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.event-meta{display:flex;align-items:center;gap:8px}.event-id{font-variant-numeric:tabular-nums}.event-title{font-size:15px;font-weight:700;margin-bottom:8px}.event-card-tags{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.tournament-tabs{display:flex;gap:6px;margin-bottom:20px;border-bottom:1px solid var(--border);padding-bottom:12px}.event-card-footer{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.event-actions{display:flex;gap:8px;flex-wrap:wrap}.empty-icon{font-size:40px;margin-bottom:10px}.filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:20px}.filter-select,.filter-input{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:6px 12px;font-size:13px}.filter-select{cursor:pointer}.filter-input{width:130px}.filter-input::placeholder{color:var(--text-muted)}.filter-select:focus,.filter-input:focus{outline:none;border-color:var(--accent-sea)}.login-title{font-size:22px;font-weight:800;margin:12px 0 4px}.login-subtitle{color:var(--text-muted);font-size:14px;margin-bottom:28px}.login-widget-wrap{min-height:56px;display:flex;align-items:center;justify-content:center}.btn-login{width:100%;justify-content:center;padding:12px;font-size:15px}.login-waiting{display:flex;flex-direction:column;align-items:center;gap:16px}.login-poll-hint{display:flex;align-items:center;gap:10px;color:var(--text-muted);font-size:13px}.login-command-block{width:100%;display:flex;flex-direction:column;gap:6px}.login-command-label{font-size:11px;color:var(--text-muted);text-align:center}.login-command-row{display:flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:6px 10px}.login-command{flex:1;font-family:monospace;font-size:13px;color:var(--accent-sea);user-select:all;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spinner-sm{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent-sea);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.formation-layout{display:grid;grid-template-columns:260px 1fr;gap:20px;align-items:start}.pool-title{font-size:14px;font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:8px}.participant-list{display:flex;flex-direction:column;gap:6px;max-height:calc(100vh - 260px);overflow-y:auto}.participant-pill{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:7px 10px;cursor:grab;transition:all .15s;user-select:none}.participant-pill:active{cursor:grabbing;opacity:.8}.participant-pill:hover{border-color:var(--accent-sand)}.participant-pill.in-team{background:var(--surface)}.pill-name{flex:1;font-size:13px;font-weight:600}.pill-rating{font-size:12px;font-variant-numeric:tabular-nums;color:var(--text-muted)}.pill-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:0 2px;line-height:1}.pill-remove:hover{color:var(--danger)}.empty-pool{padding:20px 0;text-align:center}.teams-area{display:flex;flex-direction:column;gap:16px}.team-name-input{background:transparent;border:none;font-size:14px;font-weight:700;color:var(--text);flex:1;outline:none;padding:2px 4px;border-bottom:1px solid transparent;transition:border-color .15s}.team-name-input:focus{border-bottom-color:var(--accent-sea)}.team-players{display:flex;flex-wrap:wrap;gap:8px;min-height:48px;padding:8px 0 4px}.drop-hint{padding:12px;text-align:center;width:100%;border:2px dashed var(--border);border-radius:8px;color:var(--text-muted)}.add-team-btn{margin-top:4px}.rounds-list{display:flex;flex-direction:column;gap:20px}.round-title{font-size:14px;font-weight:700;margin-bottom:14px;color:var(--accent-sea);text-transform:uppercase;letter-spacing:.06em}.schedule-table{width:100%;border-collapse:collapse}.schedule-table th{padding:8px 12px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);background:var(--surface-2);border-bottom:1px solid var(--border)}.schedule-table td{padding:9px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.schedule-table tr:last-child td{border-bottom:none}.schedule-table tr.has-result{background:color-mix(in srgb,var(--success) 5%,transparent)}.schedule-table tr:hover{background:var(--surface-2)}.col-team{width:35%}.col-score{width:100px;text-align:center}.col-action{width:80px;text-align:right}.court-cell{width:60px}.team-cell{font-size:13px;font-weight:600}.team-a{text-align:right}.team-b{text-align:left}.score-cell{text-align:center}.score-display{font-size:16px;font-weight:800;font-variant-numeric:tabular-nums;cursor:pointer;color:var(--text-muted);transition:color .15s}.score-display:hover{color:var(--accent-sea)}.score-display.score-entered{color:var(--text)}.score-edit{display:flex;align-items:center;gap:4px;justify-content:center}.score-input{width:52px;text-align:center;padding:4px 6px}.score-sep{font-size:16px;font-weight:800;color:var(--text-muted)}.action-cell{text-align:right;white-space:nowrap}.inline-controls{display:flex;align-items:center;gap:6px}.courts-input{width:56px;padding:4px 8px}.input-sm{padding:5px 10px;font-size:13px}.league-title{font-size:14px;font-weight:700;margin-bottom:14px;color:var(--accent-sea);text-transform:uppercase;letter-spacing:.06em}.standings-table{width:100%;border-collapse:collapse}.standings-table th{padding:8px 12px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);background:var(--surface-2);border-bottom:1px solid var(--border)}.standings-table td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.standings-table tr:last-child td{border-bottom:none}.standings-table tr:hover{background:var(--surface-2)}.standings-table tr.place-1 td{background:color-mix(in srgb,var(--accent-sand) 8%,transparent)}.standings-table tr.place-2 td{background:color-mix(in srgb,var(--text-muted) 6%,transparent)}.standings-table tr.place-3 td{background:color-mix(in srgb,#cd7f32 6%,transparent)}.col-place{width:40px;text-align:center}.col-num{width:56px;text-align:center}.place-cell{text-align:center;font-size:18px;font-variant-numeric:tabular-nums}.team-name-cell{font-weight:600}.num-cell{text-align:center;font-variant-numeric:tabular-nums}.points-cell{font-weight:700}.clickable{cursor:pointer}.clickable:hover{box-shadow:0 0 0 2px var(--accent-sea)}.event-card.clickable:hover{border-color:var(--accent-sea)}.event-detail-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px}.event-detail-header-left{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.event-detail-header-right{display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex-shrink:0}.event-detail-title{display:flex;flex-direction:column;gap:2px}.event-detail-title h2{font-size:17px;font-weight:800;line-height:1.2}.event-badges{display:flex;gap:6px;flex-wrap:wrap}.event-detail-layout{display:grid;grid-template-columns:300px minmax(200px,380px) 300px;gap:16px;align-items:start;min-height:0}@media(max-width:1180px){.event-detail-layout{grid-template-columns:280px 1fr}.detail-right{grid-column:1 / -1}}@media(max-width:720px){.event-detail-layout{grid-template-columns:1fr}}.detail-left,.detail-middle,.detail-right{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.detail-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);background:var(--surface-2)}.detail-section{padding:14px 16px;border-bottom:1px solid var(--border)}.detail-section:last-child{border-bottom:none}.detail-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:8px}.detail-row{display:flex;align-items:baseline;gap:8px;margin-bottom:6px;font-size:13px;line-height:1.4}.detail-row:last-child{margin-bottom:0}.detail-label{flex-shrink:0;width:110px;font-size:12px;color:var(--text-muted)}.detail-val{flex:1;font-weight:500}.detail-text{font-size:13px;line-height:1.5;color:var(--text)}.detail-actions{padding:12px 16px;display:flex;flex-direction:column;gap:8px}.detail-edit-form{padding:14px 16px;display:flex;flex-direction:column;gap:10px}.form-group{display:flex;flex-direction:column;gap:4px}.form-label{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}@media(max-width:640px){.form-row-2,.form-row-3{grid-template-columns:1fr}}.form-section-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-sea);margin:24px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--border)}.form-section-title:first-child{margin-top:0}.format-cards{display:flex;gap:10px;margin-bottom:16px}.format-card{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;border-radius:8px;border:2px solid var(--border);background:var(--surface);cursor:pointer;transition:border-color .15s,background .15s}.format-card input[type=radio]{display:none}.format-card:hover{border-color:var(--accent-sea)}.format-card.active{border-color:var(--accent-sea);background:var(--surface-2)}.format-card-icon{font-size:24px}.format-card-label{font-size:13px;font-weight:600;color:var(--text)}.radio-group{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.radio-option{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--text);cursor:pointer}.chip-group{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:6px 14px;border-radius:16px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13px;cursor:pointer;transition:all .15s}.chip:hover{border-color:var(--accent-sea)}.chip.active{background:var(--accent-sea);color:#fff;border-color:var(--accent-sea)}.conditional-field{animation:fadeSlideIn .2s ease-out}@keyframes fadeSlideIn{0%{opacity:0;max-height:0;margin:0;padding:0;overflow:hidden}to{opacity:1;max-height:200px}}.announcements-panel{margin-top:12px;padding:12px}.announcements-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.announcements-title{font-weight:600;font-size:13px}.ann-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;gap:8px}.ann-row+.ann-row{border-top:1px solid var(--border)}.ann-info{display:flex;align-items:center;gap:4px;min-width:0;overflow:hidden}.ann-chat{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ann-thread{font-size:11px;white-space:nowrap}.ann-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.ann-badge{font-size:12px}.ann-divider{border-top:1px dashed var(--border);margin:6px 0}.ann-available .ann-chat{opacity:.7}.transactions-filters{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0;margin-bottom:8px}.transactions-table-wrap{overflow-x:auto}.transactions-table{width:100%;border-collapse:collapse;font-size:13px}.transactions-table th{text-align:left;padding:8px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:2px solid var(--border)}.transactions-table td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.transactions-table tbody tr:hover{background:var(--surface-2)}.tx-amount{font-weight:700;font-variant-numeric:tabular-nums}.amount-positive{color:#2d9f6f}.amount-negative{color:var(--danger)}.badge-tx-pending{background:#e8891c22;color:#e8891c}.badge-tx-completed{background:#2d9f6f22;color:#2d9f6f}.badge-tx-failed{background:#d6454522;color:#d64545}.badge-tx-cancelled{background:#8b8b8b22;color:#8b8b8b}.btn-xs{font-size:11px;padding:2px 8px}.confirm-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.confirm-dialog{background:var(--surface);border-radius:12px;padding:24px;min-width:300px;box-shadow:var(--shadow)}.confirm-dialog p{margin-bottom:16px;font-size:15px}.confirm-actions{display:flex;gap:8px;justify-content:flex-end}.input-sm,.select-sm{padding:4px 8px;font-size:13px}.rating-filters{display:flex;gap:8px;padding:12px 0}.rating-table-wrap{overflow-x:auto}.rating-table{width:100%;border-collapse:collapse;font-size:13px}.rating-table th{text-align:left;padding:8px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:2px solid var(--border)}.rating-table td{padding:10px 12px;border-bottom:1px solid var(--border)}.rating-row{cursor:pointer;transition:background .1s}.rating-row:hover{background:var(--surface-2)}.rank-cell{font-weight:700;color:var(--text-muted)}.rating-value{font-weight:700;font-size:15px;font-variant-numeric:tabular-nums}.rating-player-name{font-weight:600}.drawer-overlay{position:fixed;inset:0;background:#0006;z-index:100;display:flex;justify-content:flex-end}.drawer-panel{width:400px;max-width:100%;height:100%;background:var(--surface);overflow-y:auto;box-shadow:-4px 0 24px #0000004d;animation:slideInRight .2s ease-out}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@media(max-width:480px){.drawer-panel{width:100%}}.drawer-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px;border-bottom:1px solid var(--border)}.drawer-title{font-size:18px;font-weight:700}.history-list{padding:8px 0}.history-item{display:grid;grid-template-columns:60px 1fr auto auto;gap:8px;align-items:center;padding:10px 20px;border-bottom:1px solid var(--border);font-size:13px}.history-date{color:var(--text-muted);font-size:12px}.history-main{min-width:0}.history-reason{font-weight:600}.history-rating{text-align:right;white-space:nowrap}.history-new-rating{font-weight:700}.history-delta{font-weight:700;font-variant-numeric:tabular-nums;min-width:50px;text-align:right}.delta-positive{color:#2d9f6f}.delta-negative{color:var(--danger)}.form-actions{display:flex;gap:8px;margin-top:4px}.participant-list{max-height:600px;overflow-y:auto}.participant-list-item{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s;font-size:13px}.participant-list-item:last-child{border-bottom:none}.participant-list-item:hover{background:var(--surface-2)}.participant-list-item.active{background:color-mix(in srgb,var(--accent-sea) 10%,transparent);border-left:3px solid var(--accent-sea)}.participant-list-item.is-cancelled{opacity:.5}.participant-status-icon{font-size:15px;flex-shrink:0;width:20px;text-align:center}.participant-main{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.participant-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.participant-name.guest-name{font-style:italic;opacity:.8}.participant-payment{flex-shrink:0}.participant-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--text-muted)}.dot-confirmed{background:#2d9f6f}.dot-pending_payment{background:#e8891c}.dot-reserve{background:#3b82c4}.dot-cancelled{background:#8b8b8b}.status-select{font-size:11px;padding:2px 6px;border-radius:4px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;flex-shrink:0}.status-confirmed{color:#2d9f6f;border-color:#2d9f6f}.status-pending_payment{color:#e8891c;border-color:#e8891c}.status-reserve{color:#3b82c4;border-color:#3b82c4}.status-cancelled{color:#8b8b8b;border-color:#8b8b8b}.participant-actions-bar{display:flex;gap:8px;padding:8px 16px;border-bottom:1px solid var(--border)}.add-participant-panel{padding:12px 16px;background:var(--surface-2);border-bottom:1px solid var(--border)}.add-guest-row{display:flex;gap:8px}.add-guest-row .input{flex:1}.btn-icon{background:none;border:none;cursor:pointer;padding:4px;font-size:14px;opacity:0;transition:opacity .15s}.participant-list-item:hover .btn-icon{opacity:.5}.btn-icon:hover{opacity:1!important}.btn-icon-danger:hover{color:var(--danger)}.detail-right-empty{padding:60px 20px;text-align:center;color:var(--text-muted);font-size:13px}.participant-detail{padding:14px 16px}.participant-detail-name{font-size:16px;font-weight:700;margin-bottom:4px}.pd-row{display:flex;flex-direction:column;gap:2px;margin-bottom:10px;font-size:13px}.pd-label{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em}.participant-gender{font-size:10px;color:var(--text-muted);margin-left:3px}.participant-badge-confirmed{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.participant-badge-pending_payment{background:color-mix(in srgb,var(--warning) 15%,transparent);color:var(--warning)}.participant-badge-reserve{background:color-mix(in srgb,var(--accent-sea) 15%,transparent);color:var(--accent-sea)}.participant-badge-cancelled{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.portal-page{flex:1;min-height:100vh;background:var(--bg);display:flex;flex-direction:column;align-items:center;padding:0 20px 60px}.portal-hero{text-align:center;padding:80px 20px 48px;display:flex;flex-direction:column;align-items:center;gap:16px}.portal-brand{display:flex;align-items:center;gap:14px}.portal-title{font-size:32px;font-weight:800;letter-spacing:-.02em}.portal-subtitle{color:var(--text-muted);font-size:15px;max-width:460px;line-height:1.5}.btn-lg{padding:12px 28px;font-size:15px;border-radius:10px}.portal-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;width:100%;max-width:640px;margin-bottom:40px}.portal-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;text-align:center}.stat-number{font-size:32px;font-weight:800;line-height:1;color:var(--accent-sand);margin-bottom:6px}.portal-upcoming{width:100%;max-width:840px}.portal-section-title{font-size:16px;font-weight:700;margin-bottom:16px}.portal-events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.portal-event-card{padding:16px}.portal-event-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.portal-event-emoji{font-size:18px}.portal-event-date{font-size:14px;font-weight:700;margin-bottom:4px}.portal-event-desc{font-size:13px;color:var(--text-muted);margin-bottom:8px;line-height:1.4}.portal-event-footer{display:flex;justify-content:space-between;align-items:center;gap:8px}@media(max-width:520px){.portal-stats{grid-template-columns:1fr}.portal-hero{padding-top:48px}.portal-title{font-size:24px}}.view-event-create{max-width:600px}.create-form-wrap{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.event-stats-page{max-width:1100px}.page-heading{font-size:18px;font-weight:800;margin-bottom:20px}.stats-filter-bar{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;padding:16px;margin-bottom:20px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);display:flex;align-items:center;gap:6px}.filter-label input[type=checkbox]{margin:0}.filter-row-inline{display:flex;align-items:center;gap:6px}.filter-sep{color:var(--text-muted);font-size:13px}.period-btns{display:flex;gap:4px}.select-sm{padding:5px 10px;font-size:13px}.stats-loading{text-align:center;color:var(--text-muted);padding:60px 0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px;text-align:center}.stat-val{font-size:22px;font-weight:800;line-height:1.1;color:var(--accent-sand);margin-bottom:4px;font-variant-numeric:tabular-nums}.stat-label{font-size:11px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.stats-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:20px}.stats-section-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:14px}.stats-empty{text-align:center;color:var(--text-muted);padding:40px;font-size:14px}.locations-list{display:flex;flex-direction:column;gap:6px}.location-row{display:flex;align-items:center;gap:8px;font-size:13px}.location-rank{width:20px;color:var(--text-muted);font-weight:600;text-align:right;flex-shrink:0}.location-name{width:140px;flex-shrink:0;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.location-bar-bg{flex:1;height:14px;background:var(--surface-2);border-radius:4px;overflow:hidden;min-width:60px}.location-bar-fill{display:block;height:100%;background:var(--accent-sand);border-radius:4px;transition:width .3s}.location-count{width:36px;text-align:right;font-weight:700;color:var(--accent-sand);font-variant-numeric:tabular-nums;flex-shrink:0}.chart-legend{display:flex;gap:16px;margin-bottom:12px;font-size:12px;color:var(--text-muted)}.legend-item{display:flex;align-items:center;gap:5px}.legend-dot{width:10px;height:10px;border-radius:3px}.dot-events{background:var(--accent-sand)}.dot-participants{background:var(--accent-sea)}.chart-container{overflow-x:auto;padding-bottom:4px}.chart-bars{display:flex;gap:4px;align-items:flex-end;min-height:190px}.chart-bar-group{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.chart-bar-pair{display:flex;gap:2px;align-items:flex-end;height:168px}.chart-bar{width:16px;border-radius:3px 3px 0 0;min-height:2px;transition:height .3s;position:relative}.bar-events{background:var(--accent-sand)}.bar-participants{background:var(--accent-sea)}.bar-val{position:absolute;top:-16px;left:50%;transform:translate(-50%);font-size:9px;font-weight:700;white-space:nowrap;color:var(--text-muted)}.chart-label{font-size:10px;color:var(--text-muted);margin-top:4px;white-space:nowrap;text-align:center}@media(max-width:900px){.stats-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.stats-grid{grid-template-columns:repeat(2,1fr)}.stats-filter-bar{flex-direction:column;align-items:stretch}.location-name{width:100px}}.users-filters{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.users-filters .search-input{flex:1;min-width:200px}.users-filters .filter-select{width:150px}.users-table .td-id{width:60px;color:var(--text-muted)}.users-table .td-name{font-weight:600}.users-table .td-username{color:var(--text-muted)}.users-table .td-phone{font-variant-numeric:tabular-nums}.users-table .td-num{text-align:center;font-variant-numeric:tabular-nums}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.dot-active{background:var(--success, #2ea44f)}.dot-inactive{background:var(--text-muted)}.profile-card{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:24px;margin-bottom:24px}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.profile-section .section-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:12px}.profile-field{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border)}.profile-field:last-child{border-bottom:none}.field-label{color:var(--text-muted);font-size:13px}.field-value{font-size:13px;font-weight:500;text-align:right}.profile-transactions{margin-top:8px}.profile-transactions .section-title{font-size:15px;font-weight:700;margin-bottom:12px}.td-amount{font-weight:600;font-variant-numeric:tabular-nums}.text-danger{color:var(--danger)}@media(max-width:900px){.profile-grid{grid-template-columns:1fr}}.bk-page{display:flex;flex-direction:column;gap:16px}.bk-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.bk-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.bk-nav{display:flex;gap:6px;align-items:center}.bk-week-label{font-weight:600;font-variant-numeric:tabular-nums;min-width:160px;text-align:center}.bk-select{padding:7px 10px;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:13px}.bk-chips{display:flex;flex-wrap:wrap;gap:6px}.bk-chip{padding:5px 12px;background:var(--surface);border:1px solid var(--border);border-radius:16px;font-size:12px;color:var(--text-muted);cursor:pointer;transition:all .15s}.bk-chip:hover{border-color:var(--accent-sand);color:var(--text)}.bk-chip.active{background:var(--accent-sand);border-color:var(--accent-sand);color:#fff}.bk-error{padding:8px 12px;background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger);border:1px solid var(--danger);border-radius:8px;font-size:13px}.bk-warn{font-size:12px;color:var(--warning);margin-top:4px}.bk-calendar{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.bk-header-row{display:flex;border-bottom:1px solid var(--border);background:var(--surface-2)}.bk-time-col-header{width:50px;flex-shrink:0;border-right:1px solid var(--border)}.bk-day-header{flex:1;min-width:0;border-right:1px solid var(--border);display:flex;flex-direction:column}.bk-day-header:last-child{border-right:none}.bk-day-header.closed{background:color-mix(in srgb,var(--surface-3) 50%,transparent)}.bk-day-label{font-size:12px;font-weight:700;padding:6px 8px;text-align:center;border-bottom:1px solid var(--border)}.bk-resource-headers{display:flex;font-size:10px;font-weight:600;color:var(--text-muted)}.bk-resource-header{flex:1;min-width:0;padding:4px 2px;text-align:center;border-right:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bk-resource-header:last-child{border-right:none}.bk-body{display:flex;position:relative;overflow-x:auto}.bk-time-col{width:50px;flex-shrink:0;border-right:1px solid var(--border);position:relative;background:var(--surface)}.bk-time-label{position:absolute;right:6px;font-size:10px;font-variant-numeric:tabular-nums;color:var(--text-muted);transform:translateY(-50%);pointer-events:none}.bk-day-column{flex:1;min-width:0;display:flex;border-right:1px solid var(--border);position:relative}.bk-day-column:last-child{border-right:none}.bk-resource-column{flex:1;min-width:0;position:relative;border-right:1px solid var(--border);cursor:crosshair;user-select:none}.bk-resource-column:last-child{border-right:none}.bk-resource-column.closed{background:repeating-linear-gradient(45deg,transparent,transparent 4px,color-mix(in srgb,var(--surface-3) 50%,transparent) 4px,color-mix(in srgb,var(--surface-3) 50%,transparent) 8px);cursor:not-allowed}.bk-grid-line{position:absolute;left:0;right:0;height:1px;background:var(--border);opacity:.25;pointer-events:none}.bk-grid-line.hour{opacity:.55}.bk-booking{position:absolute;left:1px;right:1px;border-radius:4px;padding:2px 4px;font-size:10px;line-height:1.2;cursor:pointer;overflow:hidden;border-left:3px solid;background:var(--surface-2);transition:filter .1s;z-index:1}.bk-booking:hover{filter:brightness(1.1);z-index:2}.bk-booking-time{font-variant-numeric:tabular-nums;font-weight:600}.bk-booking-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bk-modified-mark{color:var(--warning);margin-right:2px}.bk-status-preliminary{background:color-mix(in srgb,#3b82c4 25%,var(--surface));border-left-color:#3b82c4}.bk-status-confirmed{background:color-mix(in srgb,#2d9f6f 25%,var(--surface));border-left-color:#2d9f6f}.bk-status-tentative_event{background:color-mix(in srgb,#e8891c 25%,var(--surface));border-left-color:#e8891c}.bk-status-cancelled{background:color-mix(in srgb,#8b8b8b 15%,var(--surface));border-left-color:#8b8b8b;opacity:.5}.bk-status-moved{background:color-mix(in srgb,#8b8b8b 15%,var(--surface));border-left-color:#8b8b8b;opacity:.5;text-decoration:line-through}.bk-booking.modified{box-shadow:inset 0 0 0 1px var(--warning)}.bk-drag-ghost{position:absolute;left:1px;right:1px;border-radius:4px;padding:2px 4px;font-size:10px;background:color-mix(in srgb,var(--accent-sea) 25%,transparent);border:1px dashed var(--accent-sea);pointer-events:none;z-index:3}.bk-empty{padding:40px;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:12px}.bk-modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.bk-modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:95%;max-width:480px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow)}.bk-modal-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.bk-modal-header h3{font-size:16px;font-weight:700}.bk-modal-body{padding:16px 20px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.bk-modal-footer{padding:12px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}.bk-form-row{display:flex;flex-direction:column;gap:4px}.bk-form-row label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.bk-form-row input[type=text],.bk-form-row input[type=tel],.bk-form-row input[type=date],.bk-form-row input[type=time],.bk-form-row input[type=number]{padding:7px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px}.bk-form-row.triple{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.bk-form-row.triple>div{display:flex;flex-direction:column;gap:4px}.bk-checkbox{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.bk-lookup{display:flex;gap:6px}.bk-lookup input{flex:1}.bk-found{font-size:13px;color:var(--success);margin-top:4px}.bk-cold-form{display:grid;grid-template-columns:1fr 1fr auto;gap:6px;margin-top:6px}.bk-cold-form input{padding:7px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px}.bk-conflicts{padding:10px 12px;background:color-mix(in srgb,var(--warning) 12%,transparent);border:1px solid var(--warning);border-radius:8px;font-size:12px}.bk-conflicts-title{font-weight:700;margin-bottom:6px}.bk-conflicts ul{margin-left:16px}.bk-info-block{padding:8px 12px;background:var(--surface-2);border-radius:6px;font-size:13px}.bk-summary{padding:10px 12px;background:var(--surface-2);border-radius:6px;font-size:13px;display:flex;flex-direction:column;gap:4px}.bk-inline-input{margin-bottom:8px;width:100%;padding:6px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px}.bk-panel-backdrop{position:fixed;inset:0;z-index:100;background:#0000004d}.bk-panel{position:absolute;top:0;right:0;bottom:0;width:400px;background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column;box-shadow:-4px 0 20px #0003;animation:bk-slide-in .2s ease-out}@keyframes bk-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.bk-panel-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.bk-panel-title{font-size:16px;font-weight:700}.bk-panel-sub{font-size:13px;color:var(--text-muted);margin-top:4px}.bk-panel-body{padding:16px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.bk-detail-grid{display:grid;grid-template-columns:90px 1fr;gap:8px 12px;font-size:13px}.bk-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-top:8px}.bk-actions{display:flex;flex-wrap:wrap;gap:6px}.bk-inline-form,.bk-inline-confirm{padding:12px;background:var(--surface-2);border-radius:8px;display:flex;flex-direction:column;gap:8px}.bk-status-pill{display:inline-flex;align-items:center;padding:2px 10px;border-radius:12px;font-size:11px;font-weight:700;border-left-width:3px;border-left-style:solid}@media(max-width:768px){.bk-panel{width:100%}.bk-form-row.triple{grid-template-columns:1fr}}.portal-page,.login-page,.placeholder-page{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;gap:16px;text-align:center}.portal-header h1{font-size:64px;font-weight:800;background:linear-gradient(135deg,var(--accent-sand),var(--accent-sea));-webkit-background-clip:text;background-clip:text;color:transparent}.portal-tagline{font-size:16px;color:var(--text-muted)}.portal-cta{margin:24px 0}.portal-info{max-width:480px}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:28px 32px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:16px;max-width:420px;align-items:center}.login-card h2{font-size:22px}.placeholder-page h2{font-size:24px}.app-root{display:flex;flex:1;min-height:100vh}.bk-pricing-preview{padding:10px 12px;background:var(--surface-2);border-radius:6px;font-size:13px}.bk-pricing-head{display:flex;justify-content:space-between;align-items:baseline}.bk-pricing-head strong{font-variant-numeric:tabular-nums;font-size:16px}.bk-breakdown-list{margin:8px 0 4px 16px;font-size:12px}.bk-breakdown-list li{margin:2px 0}.bk-price-line{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;padding:2px 0;gap:8px}.bk-price-line strong{font-variant-numeric:tabular-nums}.bk-price-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:6px;padding-top:6px;border-top:1px solid var(--border);font-size:14px}.bk-price-total strong{font-variant-numeric:tabular-nums;font-size:16px}.bk-pricing-detail{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--surface-2);border-radius:8px}.bk-adj-row{display:flex;align-items:center;gap:8px}.bk-adj-input{width:80px;padding:6px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px;text-align:right}.bk-adj-kind{width:60px}.bk-booking-price{font-size:9px;font-variant-numeric:tabular-nums;margin-top:1px;color:var(--text-muted)}.bk-tariffs-table{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.bk-tariffs-table table{width:100%;border-collapse:collapse;font-size:13px}.bk-tariffs-table th{background:var(--surface-2);text-align:left;padding:10px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.bk-tariffs-table td{padding:10px 12px;border-top:1px solid var(--border)}.bk-tariffs-table tr.inactive{opacity:.55}.bk-tariffs-table tr.inactive strong{text-decoration:line-through}.bk-time-cell,.bk-money-cell{font-variant-numeric:tabular-nums}.bk-row-actions{display:flex;gap:4px;flex-wrap:wrap}.bk-day-toggles{display:flex;gap:4px}.bk-day-btn{padding:6px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.bk-day-btn:hover{color:var(--text);border-color:var(--accent-sand)}.bk-day-btn.active{background:var(--accent-sand);border-color:var(--accent-sand);color:#fff}.bk-day-presets{display:flex;gap:6px;margin-top:6px}.bk-modal-wide{max-width:640px}:focus{outline:none}:focus-visible{outline:2px solid var(--accent-sea);outline-offset:2px;border-radius:4px}.icon-btn{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center}.icon-btn.btn-xs{width:24px;height:24px}.icon-btn.btn-lg{width:40px;height:40px}.skip-link{position:absolute;left:-9999px;z-index:999;padding:8px 16px;background:var(--accent-sand);color:#fff;font-weight:600;border-radius:0 0 8px}.skip-link:focus{left:0;top:0}:root{--density: 1;--touch-target: 44px}[data-density=compact]{--density: .85}[data-density=cozy]{--density: 1.15}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.skeleton{background:linear-gradient(90deg,var(--surface-2) 0%,var(--surface-3) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:6px;display:block}.skeleton-text{height:14px;width:100%;margin:6px 0}.skeleton-line-sm{width:40%}.skeleton-line-md{width:70%}.skeleton-line-lg{width:100%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.clickable-row{cursor:pointer;transition:background .12s ease}.clickable-row:hover{background:var(--surface-2)}.clickable-row:focus-visible{outline-offset:-2px}:root[data-style=operator]{--font-display: "Space Grotesk", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace;--fs-page: 28px;--fs-section: 18px;--fs-card: 15px;--fs-body: 13.5px;--fs-small: 12px;--fs-tiny: 11px;--fs-kpi: 32px;--radius-sm: 4px;--radius: 6px;--radius-lg: 10px;--shadow-sm: 0 1px 2px rgba(0,0,0,.25);--shadow: 0 4px 12px rgba(0,0,0,.3);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px}:root[data-style=operator][data-theme=dark]{--bg: #080f1a;--surface: #0f1c2e;--surface-2: #182a40;--surface-3: #1f3854;--text: #e8f4f8;--text-muted:#7fa8c4;--border: #233c5a;--accent-sand: #f0a020;--accent-sand-h: #d88c10;--accent-sea: #22d3ee;--accent-sea-h: #06b6d4}:root[data-style=operator][data-theme=light]{--bg: #f6f3ec;--surface: #ffffff;--surface-2: #f0ebe1;--surface-3: #e4dccc;--text: #0a1a2c;--text-muted:#5a7593;--border: #d4ccbb;--accent-sand: #cf7910;--accent-sand-h: #b06408;--accent-sea: #0891b2;--accent-sea-h: #0e7490}[data-style=operator] body{font-family:var(--font-body);font-size:var(--fs-body)}[data-style=operator] h1,[data-style=operator] h2{font-family:var(--font-display);letter-spacing:-.01em}[data-style=operator] .page-title{font-family:var(--font-display);font-size:var(--fs-page);font-weight:700;letter-spacing:-.02em}[data-style=operator] .card-title{font-family:var(--font-display);font-size:var(--fs-card);font-weight:600}[data-style=operator] .kpi-value,[data-style=operator] .price-final{font-family:var(--font-display);font-feature-settings:"tnum"}[data-style=operator] td,[data-style=operator] th{font-feature-settings:"tnum" 1}[data-style=operator] .clickable-row.row-active{background:color-mix(in srgb,var(--accent-sea) 10%,var(--surface));position:relative}[data-style=operator] .clickable-row.row-active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent-sea)}:root[data-style=mono]{--font-display: "JetBrains Mono", monospace;--font-body: "JetBrains Mono", monospace;--font-mono: "JetBrains Mono", monospace;--fs-page: 20px;--fs-section: 15px;--fs-card: 14px;--fs-body: 13px;--fs-small: 12px;--fs-tiny: 11px;--fs-kpi: 22px;--radius-sm: 0;--radius: 0;--radius-lg: 0;--shadow-sm: none;--shadow: none}:root[data-style=mono][data-theme=dark]{--bg: #0a0a0a;--surface: #141414;--surface-2: #1c1c1c;--surface-3: #262626;--text: #e8e8e8;--text-muted:#7a7a7a;--border: #2c2c2c;--accent-sand: #f4d800;--accent-sand-h: #d4ba00;--accent-sea: #f4d800;--accent-sea-h: #d4ba00;--success: #4ade80;--warning: #f4d800;--danger: #ff5252}:root[data-style=mono][data-theme=light]{--bg: #f4f4f4;--surface: #ffffff;--surface-2: #ededed;--surface-3: #dedede;--text: #0a0a0a;--text-muted:#666666;--border: #1a1a1a;--accent-sand: #1a1a1a;--accent-sand-h: #000;--accent-sea: #c4ad00;--accent-sea-h: #a89500}[data-style=mono] body{font-family:var(--font-body);font-size:var(--fs-body)}[data-style=mono] *,[data-style=mono] *:before,[data-style=mono] *:after{border-radius:0!important;box-shadow:none!important;font-family:var(--font-body);letter-spacing:-.01em}[data-style=mono] .page-title{font-size:var(--fs-page);font-weight:700;text-transform:uppercase;letter-spacing:.02em}[data-style=mono] .card-title,[data-style=mono] h3{text-transform:uppercase;letter-spacing:.05em;font-weight:700}[data-style=mono] .btn{border:1px solid var(--border)!important;background:transparent!important;color:var(--text)!important;text-transform:uppercase;letter-spacing:.04em;font-weight:600}[data-style=mono] .btn:hover:not(:disabled){background:var(--accent-sand)!important;color:var(--bg)!important;border-color:var(--accent-sand)!important}[data-style=mono] .btn-primary,[data-style=mono] .btn-sea{background:var(--accent-sand)!important;color:var(--bg)!important;border-color:var(--accent-sand)!important}[data-style=mono] .btn-primary:hover:not(:disabled),[data-style=mono] .btn-sea:hover:not(:disabled){background:var(--accent-sand-h)!important}[data-style=mono] .btn-danger{border-color:var(--danger)!important;color:var(--danger)!important}[data-style=mono] .btn-danger:hover:not(:disabled){background:var(--danger)!important;color:var(--bg)!important}[data-style=mono] table tr:hover{background:var(--surface-2)}[data-style=mono] .clickable-row:hover{background:var(--accent-sand)!important;color:var(--bg)}[data-style=mono] .clickable-row:hover *{color:var(--bg)!important}[data-style=mono] .clickable-row:hover .c-muted{color:#0009!important}[data-style=mono] .bk-booking,[data-style=mono] .status-badge{border-radius:0!important}:root[data-style=editorial]{--font-display: "Fraunces", Georgia, serif;--font-body: "Inter Tight", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace;--fs-page: 40px;--fs-section: 22px;--fs-card: 16px;--fs-body: 14.5px;--fs-small: 13px;--fs-tiny: 11px;--fs-kpi: 52px;--radius-sm: 8px;--radius: 14px;--radius-lg: 20px;--shadow-sm: 0 1px 3px rgba(0,0,0,.06);--shadow: 0 8px 24px rgba(0,0,0,.08)}:root[data-style=editorial][data-theme=light]{--bg: #faf5ed;--surface: #ffffff;--surface-2: #f4ede0;--surface-3: #ebe0cc;--text: #1a1410;--text-muted:#6b5d50;--border: #e4d7c0;--accent-sand: #d97706;--accent-sand-h: #b8620b;--accent-sea: #0e7490;--accent-sea-h: #075466}:root[data-style=editorial][data-theme=dark]{--bg: #1c1814;--surface: #28221c;--surface-2: #322a22;--surface-3: #3e342a;--text: #f5ebd9;--text-muted:#a89377;--border: #423629;--accent-sand: #f4a22d;--accent-sand-h: #e8901f;--accent-sea: #5eead4;--accent-sea-h: #2dd4bf}[data-style=editorial] body{font-family:var(--font-body);font-size:var(--fs-body);line-height:1.55}[data-style=editorial] h1,[data-style=editorial] h2,[data-style=editorial] h3,[data-style=editorial] .page-title,[data-style=editorial] .card-title{font-family:var(--font-display);letter-spacing:-.025em;font-weight:500}[data-style=editorial] .page-title{font-size:var(--fs-page);font-weight:500;line-height:1.05}[data-style=editorial] .card-title{font-size:var(--fs-section);font-weight:500}[data-style=editorial] .kpi-value{font-family:var(--font-display);font-size:var(--fs-kpi);font-weight:400;letter-spacing:-.04em;font-feature-settings:"tnum"}[data-style=editorial] .kpi-label{font-family:var(--font-display);font-style:italic;text-transform:none;letter-spacing:0;font-size:13px;font-weight:400}[data-style=editorial] .card,[data-style=editorial] .table-card,[data-style=editorial] .info-card,[data-style=editorial] .kpi-card{border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-sm);border-color:var(--border)}[data-style=editorial] .btn-primary{border-radius:999px;padding-left:18px;padding-right:18px}[data-style=editorial] .btn-primary,[data-style=editorial] .btn-sea{font-weight:600}[data-style=editorial] .data-table th{font-family:var(--font-body);text-transform:none;letter-spacing:0;font-size:12px;font-weight:600;color:var(--text-muted);border-bottom:1px solid var(--border)}[data-style=editorial] .data-table td{font-size:14.5px;padding:14px}[data-style=editorial] .status-badge{border-radius:999px;padding:3px 12px;font-weight:600;letter-spacing:0;text-transform:none}[data-style=editorial] .content-area{padding:32px 40px}[data-style=operator] .data-table th,[data-style=operator] .bk-tariffs-table th{text-transform:none;letter-spacing:0;font-size:11.5px;font-weight:600;color:var(--text-muted);padding:9px 12px;height:36px}[data-style=operator] .data-table th .sort-trigger{text-transform:none;letter-spacing:0;padding:9px 12px}[data-style=operator] .data-table td{padding:9px 12px;font-size:13px;border-top:1px solid color-mix(in srgb,var(--border) 70%,transparent)}[data-style=operator] .data-table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--surface-2) 35%,transparent)}[data-style=operator] .clickable-row{transition:background .1s ease,box-shadow .1s ease}[data-style=operator] .clickable-row:hover{background:color-mix(in srgb,var(--accent-sea) 8%,var(--surface-2))!important}[data-style=operator] .data-table tbody tr{position:relative}[data-style=operator] .clickable-row:focus-visible{outline:none;background:color-mix(in srgb,var(--accent-sea) 14%,var(--surface-2))!important;box-shadow:inset 3px 0 0 var(--accent-sea)}[data-style=operator] .filter-row td{padding:4px 12px 8px;background:var(--surface);border-top:none;border-bottom:1px solid var(--border)}[data-style=operator] .col-filter{background:var(--surface-2);border:1px solid transparent;font-size:12px}[data-style=operator] .col-filter:focus-visible{border-color:var(--accent-sea);background:var(--surface)}[data-style=operator] .form-row>label,[data-style=operator] .form-row-2col>div>label,[data-style=operator] .form-row-3col>div>label,[data-style=operator] .form-row-triple>div>label,[data-style=operator] .toolbar>label,[data-style=operator] .info-grid dt,[data-style=operator] .bp-grid>.c-muted,[data-style=operator] .detail-grid dt{text-transform:none!important;letter-spacing:0!important;font-size:12px!important;font-weight:500!important;color:var(--text-muted)!important}[data-style=operator] .form-control{height:36px;padding:7px 11px;font-size:13.5px;background:var(--surface);border:1px solid var(--border);border-radius:6px;transition:border-color .12s,box-shadow .12s}[data-style=operator] textarea.form-control{height:auto;min-height:80px}[data-style=operator] .form-control:hover{border-color:color-mix(in srgb,var(--accent-sea) 30%,var(--border))}[data-style=operator] .form-control:focus{outline:none;border-color:var(--accent-sea);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-sea) 18%,transparent)}[data-style=operator] .btn{height:32px}[data-style=operator] .btn-sm{height:28px;padding:0 10px;font-size:12.5px}[data-style=operator] .btn-xs{height:22px;padding:0 8px;font-size:11.5px}[data-style=operator] .btn{padding:0 14px;font-weight:600}[data-style=operator] .bp-section-title,[data-style=operator] .section-title,[data-style=operator] .nav-section-label{text-transform:none;letter-spacing:0;font-size:11px;font-weight:700;color:var(--text-muted);opacity:.85}[data-style=operator] .nav-item{font-size:13.5px;padding:8px 18px}[data-style=operator] .nav-item.active{background:color-mix(in srgb,var(--accent-sand) 14%,var(--surface));color:var(--accent-sand)}[data-style=operator] .nav-item.active:before{width:3px;background:var(--accent-sand)}[data-style=operator] .status-badge{padding:2px 9px;font-size:11.5px;font-weight:600;letter-spacing:0;text-transform:none}[data-style=operator] .page-header{padding-bottom:4px}[data-style=operator] .page-sub{font-size:13px;color:var(--text-muted);margin-top:2px}[data-style=operator] .bk-calendar{background:var(--surface);border-radius:10px}[data-style=operator] .bk-header-row{background:var(--surface-2);box-shadow:0 1px 0 var(--border),0 3px 6px #00000026}[data-style=operator] .bk-time-label{font-size:10.5px;color:var(--text-muted)}[data-style=operator] .bk-time-label.hour{font-size:11px;color:var(--text);font-weight:600;font-family:var(--font-mono)}[data-style=operator] .bk-grid-line.hour{opacity:.45}[data-style=operator] .bk-grid-line{opacity:.15}[data-style=operator] .bk-day-name{font-size:10.5px;letter-spacing:.04em}[data-style=operator] .bk-day-date{font-size:15px;font-family:var(--font-display);letter-spacing:-.01em;font-weight:600}[data-style=operator] .bk-day-header.today{background:color-mix(in srgb,var(--accent-sand) 10%,var(--surface-2))}[data-style=operator] .bk-day-header.today .bk-day-date{color:var(--accent-sand);font-weight:700}[data-style=operator] .bk-resource-header{font-size:10.5px;font-weight:600;padding:5px 4px;color:var(--text-muted)}[data-style=operator] .bk-booking{border-left-width:3px;border-radius:5px;padding:4px 6px;font-family:var(--font-body)}[data-style=operator] .bk-booking-time{font-family:var(--font-mono);font-size:10.5px;font-weight:600}[data-style=operator] .bk-booking-name{font-size:12px;font-weight:600}[data-style=operator] .bk-booking-price{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);font-weight:500}[data-style=operator] .bk-booking:hover{z-index:2;transform:none;box-shadow:0 0 0 2px var(--accent-sea)}[data-style=operator] .bk-status-preliminary{background:color-mix(in srgb,#4a90d9 30%,var(--surface));border-left-color:#4a90d9}[data-style=operator] .bk-status-confirmed{background:color-mix(in srgb,var(--success) 28%,var(--surface));border-left-color:var(--success)}[data-style=operator] .bk-status-tentative_event{background:color-mix(in srgb,var(--warning) 28%,var(--surface));border-left-color:var(--warning)}[data-style=operator] .bk-drag-ghost{background:color-mix(in srgb,var(--accent-sea) 22%,transparent);border:1.5px dashed var(--accent-sea);border-radius:5px}[data-style=operator] .bk-toolbar .bk-week-label{font-family:var(--font-mono);font-size:13px;font-weight:600}[data-style=operator] .bk-chip{font-size:12px;padding:5px 11px;font-weight:500;border-radius:999px}[data-style=operator] .bk-chip.active{background:var(--accent-sand);border-color:var(--accent-sand);color:#fff;font-weight:600}[data-style=operator] .kpi-label{text-transform:none;letter-spacing:0;font-size:12px;font-weight:500;color:var(--text-muted)}[data-style=operator] .kpi-value{font-family:var(--font-display);font-size:30px;font-weight:700;letter-spacing:-.02em}[data-style=operator] .kpi-meta{font-size:11.5px}[data-style=operator] .bk-tariffs-table .name-cell strong{font-family:var(--font-body);font-weight:600}[data-style=operator] .bk-time-cell,[data-style=operator] .bk-money-cell{font-family:var(--font-mono);font-feature-settings:"tnum"}[data-style=operator] .dialog-title,[data-style=operator] .panel-title{font-family:var(--font-display);font-size:16px;letter-spacing:-.01em;font-weight:700}[data-style=operator] .topbar{height:50px;padding:0 22px}[data-style=operator] .page-title.topbar-title{font-size:14px;font-weight:600;color:var(--text-muted)}[data-style=operator] .sidebar-brand{padding:14px 18px;font-weight:700}[data-style=operator] .brand-text{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em}html,body,#app{height:100vh;height:100dvh;overflow:hidden}#app,.app-root{display:flex!important;flex:1;height:100vh;height:100dvh;margin:0;padding:0;overflow:hidden}.sidebar{position:static!important;inset:auto!important;margin:0!important;z-index:auto}.main-content{margin:0!important;min-height:auto!important}.topbar{position:static!important}@media(max-width:900px){.sidebar{position:fixed!important}}
