:root{--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;--font-sans: var(--font-family);--font-mono: var(--font-family);--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-xs: .25rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .625rem;--radius-xl: 1rem;--radius-2xl: 1.25rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 6px 16px rgba(0, 0, 0, .35), 0 2px 4px rgba(0, 0, 0, .25);--shadow-lg: 0 20px 40px rgba(0, 0, 0, .45), 0 6px 12px rgba(0, 0, 0, .3);--shadow-overlay: 0 30px 60px rgba(0, 0, 0, .55);--shadow-hero: 0 0 0 1px rgb(255 255 255 / .08), 0 24px 48px rgb(var(--color-brand-primary-rgb) / .22), 0 8px 24px rgb(0 0 0 / .4);--duration-fast: .12s;--duration-standard: .18s;--duration-slow: .26s;--easing-standard: cubic-bezier(.2, 0, 0, 1);--easing-emphasized: cubic-bezier(.2, 0, .2, 1);--z-base: 0;--z-elevated: 10;--z-overlay: 40;--z-modal: 50;--z-toast: 60;--color-bg-canvas: #0f1117;--color-bg-surface: #1b1d27;--color-bg-surface-muted: #171924;--color-bg-surface-raised: #232636;--color-bg-reservation-card: #1a1a24;--color-bg-overlay: rgba(10, 12, 20, .7);--color-border-subtle: #2a2a35;--color-border-strong: #363a4d;--color-border-faint: #1f2330;--color-text-primary: #f4f4f6;--color-text-secondary: #c7c9d3;--color-text-muted: #8b8fa3;--color-text-disabled: #5b5f70;--color-text-inverse: #0f1117;--color-text-link: #a78bfa;--color-brand-primary: #8b5cf6;--color-brand-primary-hover: #a78bfa;--color-brand-primary-active: #7c3aed;--color-brand-primary-subtle: #2a1f4a;--color-brand-on-primary: #ffffff;--color-brand-accent: #a78bfa;--color-status-pending-bg: #2a220f;--color-status-pending-fg: #f59e0b;--color-status-confirmed-bg: #0f2e1f;--color-status-confirmed-fg: #34d399;--color-status-cancelled-bg: #2a1a1f;--color-status-cancelled-fg: #f87171;--color-status-no-show-bg: #3a1a1f;--color-status-no-show-fg: #f87171;--color-status-completed-bg: #0f2e1f;--color-status-completed-fg: #34d399;--color-status-upcoming-bg: #2a1f4a;--color-status-upcoming-fg: #a78bfa;--color-status-active-bg: #2a1f4a;--color-status-active-fg: #a78bfa;--color-status-neutral-bg: #262936;--color-status-neutral-fg: #c7c9d3;--color-success-fg: #34d399;--color-success-bg: #0f2e1f;--stat-positive: #22c55e;--color-warning-fg: #f59e0b;--color-warning-bg: #2a220f;--color-danger-fg: #f87171;--color-danger-bg: #3a1a1f;--color-info-fg: #a78bfa;--color-info-bg: #2a1f4a;--color-focus-ring: #8b5cf6;--color-focus-ring-offset: #0f1117;--color-control-bg: #1b1d27;--color-control-bg-hover: #232636;--color-control-bg-disabled: #171924;--color-bg-canvas-rgb: 15 17 23;--color-bg-surface-rgb: 27 29 39;--color-bg-surface-muted-rgb: 23 25 36;--color-bg-surface-raised-rgb: 35 38 54;--color-bg-reservation-card-rgb: 26 26 36;--color-border-subtle-rgb: 42 42 53;--color-border-strong-rgb: 54 58 77;--color-border-faint-rgb: 31 35 48;--color-text-primary-rgb: 244 244 246;--color-text-secondary-rgb: 199 201 211;--color-text-muted-rgb: 139 143 163;--color-text-disabled-rgb: 91 95 112;--color-text-inverse-rgb: 15 17 23;--color-text-link-rgb: 167 139 250;--color-brand-primary-rgb: 139 92 246;--color-brand-primary-hover-rgb: 167 139 250;--color-brand-primary-active-rgb: 124 58 237;--color-brand-primary-subtle-rgb: 42 31 74;--color-brand-on-primary-rgb: 255 255 255;--color-brand-accent-rgb: 167 139 250;--color-status-pending-bg-rgb: 42 34 15;--color-status-pending-fg-rgb: 245 158 11;--color-status-confirmed-bg-rgb: 15 46 31;--color-status-confirmed-fg-rgb: 52 211 153;--color-status-cancelled-bg-rgb: 42 26 31;--color-status-cancelled-fg-rgb: 248 113 113;--color-status-no-show-bg-rgb: 58 26 31;--color-status-no-show-fg-rgb: 248 113 113;--color-status-completed-bg-rgb: 15 46 31;--color-status-completed-fg-rgb: 52 211 153;--color-status-upcoming-bg-rgb: 42 31 74;--color-status-upcoming-fg-rgb: 167 139 250;--color-status-active-bg-rgb: 42 31 74;--color-status-active-fg-rgb: 167 139 250;--color-status-neutral-bg-rgb: 38 41 54;--color-status-neutral-fg-rgb: 199 201 211;--color-success-fg-rgb: 52 211 153;--color-success-bg-rgb: 15 46 31;--color-warning-fg-rgb: 245 158 11;--color-warning-bg-rgb: 42 34 15;--color-danger-fg-rgb: 248 113 113;--color-danger-bg-rgb: 58 26 31;--color-info-fg-rgb: 167 139 250;--color-info-bg-rgb: 42 31 74;--color-focus-ring-rgb: 139 92 246;--color-focus-ring-offset-rgb: 15 17 23;--color-control-bg-rgb: 27 29 39;--color-control-bg-hover-rgb: 35 38 54;--color-control-bg-disabled-rgb: 23 25 36;--gradient-reservation-date-sidebar: linear-gradient( to bottom right, rgb(var(--color-brand-primary-rgb) / .2), rgb(168 85 247 / .1) );--navbar-bg: #18181b;--navbar-border: #27272a;--nav-link: #d4d4d8;--nav-link-hover-bg: #1e293b;--nav-link-hover-fg: #38bdf8;--lang-btn-bg: #27272a;--lang-btn-border: #3f3f46;--accent-violet: var(--color-brand-primary);--accent-violet-hover: var(--color-brand-primary-active);--text-on-strong-colored: var(--color-brand-on-primary);--color-surface-elevated: #27272a;--modal-backdrop: rgba(0, 0, 0, .45);--fill-danger-soft: rgba(239, 68, 68, .08)}.light{--shadow-hero: 0 20px 40px rgba(0, 0, 0, .08), 0 6px 16px rgba(0, 0, 0, .06);--color-bg-canvas: #f7f7fa;--color-bg-surface: #ffffff;--color-bg-surface-muted: #f1f2f6;--color-bg-surface-raised: #ffffff;--color-bg-overlay: rgba(15, 18, 30, .45);--color-border-subtle: #e6e7ee;--color-border-strong: #cfd1dc;--color-border-faint: #eceef4;--color-text-primary: #15161f;--color-text-secondary: #424556;--color-text-muted: #6c7080;--color-text-disabled: #a8acbc;--color-text-inverse: #ffffff;--color-text-link: #6d28d9;--color-brand-primary: #7c3aed;--color-brand-primary-hover: #6d28d9;--color-brand-primary-active: #5b21b6;--color-brand-primary-subtle: #ede9fe;--color-brand-on-primary: #ffffff;--color-brand-accent: #7c3aed;--color-status-pending-bg: #fef3c7;--color-status-pending-fg: #92400e;--color-status-confirmed-bg: #d1fae5;--color-status-confirmed-fg: #047857;--color-status-cancelled-bg: #fee2e2;--color-status-cancelled-fg: #b91c1c;--color-status-no-show-bg: #fee2e2;--color-status-no-show-fg: #991b1b;--color-status-completed-bg: #d1fae5;--color-status-completed-fg: #047857;--color-status-upcoming-bg: #ede9fe;--color-status-upcoming-fg: #6d28d9;--color-status-active-bg: #ede9fe;--color-status-active-fg: #6d28d9;--color-status-neutral-bg: #eef0f3;--color-status-neutral-fg: #424556;--color-success-fg: #047857;--color-success-bg: #d1fae5;--stat-positive: #22c55e;--color-warning-fg: #92400e;--color-warning-bg: #fef3c7;--color-danger-fg: #b91c1c;--color-danger-bg: #fee2e2;--color-info-fg: #6d28d9;--color-info-bg: #ede9fe;--color-focus-ring: #7c3aed;--color-focus-ring-offset: #ffffff;--color-control-bg: #ffffff;--color-control-bg-hover: #f1f2f6;--color-control-bg-disabled: #f1f2f6;--color-bg-canvas-rgb: 247 247 250;--color-bg-surface-rgb: 255 255 255;--color-bg-surface-muted-rgb: 241 242 246;--color-bg-surface-raised-rgb: 255 255 255;--color-border-subtle-rgb: 230 231 238;--color-border-strong-rgb: 207 209 220;--color-border-faint-rgb: 236 238 244;--color-text-primary-rgb: 21 22 31;--color-text-secondary-rgb: 66 69 86;--color-text-muted-rgb: 108 112 128;--color-text-disabled-rgb: 168 172 188;--color-text-inverse-rgb: 255 255 255;--color-text-link-rgb: 109 40 217;--color-brand-primary-rgb: 124 58 237;--color-brand-primary-hover-rgb: 109 40 217;--color-brand-primary-active-rgb: 91 33 182;--color-brand-primary-subtle-rgb: 237 233 254;--color-brand-on-primary-rgb: 255 255 255;--color-brand-accent-rgb: 124 58 237;--color-status-pending-bg-rgb: 254 243 199;--color-status-pending-fg-rgb: 146 64 14;--color-status-confirmed-bg-rgb: 209 250 229;--color-status-confirmed-fg-rgb: 4 120 87;--color-status-cancelled-bg-rgb: 254 226 226;--color-status-cancelled-fg-rgb: 185 28 28;--color-status-no-show-bg-rgb: 254 226 226;--color-status-no-show-fg-rgb: 153 27 27;--color-status-completed-bg-rgb: 209 250 229;--color-status-completed-fg-rgb: 4 120 87;--color-status-upcoming-bg-rgb: 237 233 254;--color-status-upcoming-fg-rgb: 109 40 217;--color-status-active-bg-rgb: 237 233 254;--color-status-active-fg-rgb: 109 40 217;--color-status-neutral-bg-rgb: 238 240 243;--color-status-neutral-fg-rgb: 66 69 86;--color-success-fg-rgb: 4 120 87;--color-success-bg-rgb: 209 250 229;--color-warning-fg-rgb: 146 64 14;--color-warning-bg-rgb: 254 243 199;--color-danger-fg-rgb: 185 28 28;--color-danger-bg-rgb: 254 226 226;--color-info-fg-rgb: 109 40 217;--color-info-bg-rgb: 237 233 254;--color-focus-ring-rgb: 124 58 237;--color-focus-ring-offset-rgb: 255 255 255;--color-control-bg-rgb: 255 255 255;--color-control-bg-hover-rgb: 241 242 246;--color-control-bg-disabled-rgb: 241 242 246;--navbar-bg: #ffffff;--navbar-border: #e2e8f0;--nav-link: #475569;--nav-link-hover-bg: #f1f5f9;--nav-link-hover-fg: #6d28d9;--lang-btn-bg: #f8fafc;--lang-btn-border: #cbd5e1;--accent-violet: #7c3aed;--accent-violet-hover: #6d28d9;--color-surface-elevated: #f1f5f9;--modal-backdrop: rgba(15, 23, 42, .4);--fill-danger-soft: rgba(239, 68, 68, .08)}.dark{color-scheme:dark}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(var(--color-border-subtle-rgb) / 1)}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-family);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-family);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:var(--space-0)}.right-2{right:var(--space-2)}.right-3{right:var(--space-3)}.top-1\/2{top:50%}.top-3{top:var(--space-3)}.z-\[1200\]{z-index:1200}.\!m-0{margin:var(--space-0)!important}.mx-auto{margin-left:auto;margin-right:auto}.\!mt-6{margin-top:var(--space-6)!important}.mb-1{margin-bottom:var(--space-1)}.mb-3{margin-bottom:var(--space-3)}.mb-6{margin-bottom:var(--space-6)}.ml-1{margin-left:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.\!block{display:block!important}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.table-cell{display:table-cell}.table-row{display:table-row}.grid{display:grid}.h-10{height:var(--space-10)}.h-4{height:var(--space-4)}.h-8{height:var(--space-8)}.h-\[10px\]{height:10px}.max-h-\[min\(90vh\,52rem\)\]{max-height:min(90vh,52rem)}.min-h-full{min-height:100%}.w-4{width:var(--space-4)}.w-8{width:var(--space-8)}.w-\[10px\]{width:10px}.w-full{width:100%}.max-w-\[420px\]{max-width:420px}.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(var(--space-2) * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(var(--space-2) * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(var(--space-3) * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(var(--space-3) * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(var(--space-4) * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(var(--space-4) * var(--tw-space-y-reverse))}.overflow-y-auto{overflow-y:auto}.rounded-full{border-radius:var(--radius-full)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.\!border{border-width:1px!important}.\!border-0{border-width:0px!important}.border{border-width:1px}.\!border-border-subtle{--tw-border-opacity: 1 !important;border-color:rgb(var(--color-border-subtle-rgb) / var(--tw-border-opacity, 1))!important}.border-border-subtle{--tw-border-opacity: 1;border-color:rgb(var(--color-border-subtle-rgb) / var(--tw-border-opacity, 1))}.border-brand-primary{--tw-border-opacity: 1;border-color:rgb(var(--color-brand-primary-rgb) / var(--tw-border-opacity, 1))}.border-danger-fg\/30{border-color:rgb(var(--color-danger-fg-rgb) / .3)}.\!bg-bg-surface-muted{--tw-bg-opacity: 1 !important;background-color:rgb(var(--color-bg-surface-muted-rgb) / var(--tw-bg-opacity, 1))!important}.bg-bg-overlay{background-color:var(--color-bg-overlay)}.bg-bg-surface{--tw-bg-opacity: 1;background-color:rgb(var(--color-bg-surface-rgb) / var(--tw-bg-opacity, 1))}.bg-bg-surface-muted{--tw-bg-opacity: 1;background-color:rgb(var(--color-bg-surface-muted-rgb) / var(--tw-bg-opacity, 1))}.bg-brand-primary{--tw-bg-opacity: 1;background-color:rgb(var(--color-brand-primary-rgb) / var(--tw-bg-opacity, 1))}.bg-danger-bg\/80{background-color:rgb(var(--color-danger-bg-rgb) / .8)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-5{padding-left:var(--space-5);padding-right:var(--space-5)}.pr-10{padding-right:var(--space-10)}.pt-1{padding-top:var(--space-1)}.text-center{text-align:center}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.5rem;line-height:2rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:var(--font-weight-bold)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.tracking-tight{letter-spacing:-.025em}.text-brand-on-primary{--tw-text-opacity: 1;color:rgb(var(--color-brand-on-primary-rgb) / var(--tw-text-opacity, 1))}.text-brand-primary{--tw-text-opacity: 1;color:rgb(var(--color-brand-primary-rgb) / var(--tw-text-opacity, 1))}.text-danger-fg{--tw-text-opacity: 1;color:rgb(var(--color-danger-fg-rgb) / var(--tw-text-opacity, 1))}.text-text-muted{--tw-text-opacity: 1;color:rgb(var(--color-text-muted-rgb) / var(--tw-text-opacity, 1))}.text-text-primary{--tw-text-opacity: 1;color:rgb(var(--color-text-primary-rgb) / var(--tw-text-opacity, 1))}.text-text-secondary{--tw-text-opacity: 1;color:rgb(var(--color-text-secondary-rgb) / var(--tw-text-opacity, 1))}.shadow-\[0_0_20px_rgba\(139\,92\,246\,0\.15\)\]{--tw-shadow: 0 0 20px rgba(139,92,246,.15);--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-property:all}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke}.duration-fast{transition-duration:var(--duration-fast)}.ease-standard{transition-timing-function:var(--easing-standard)}.placeholder\:text-text-muted::-moz-placeholder{--tw-text-opacity: 1;color:rgb(var(--color-text-muted-rgb) / var(--tw-text-opacity, 1))}.placeholder\:text-text-muted::placeholder{--tw-text-opacity: 1;color:rgb(var(--color-text-muted-rgb) / var(--tw-text-opacity, 1))}.hover\:bg-bg-surface-muted:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-bg-surface-muted-rgb) / var(--tw-bg-opacity, 1))}.hover\:bg-brand-primary-active:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-brand-primary-active-rgb) / var(--tw-bg-opacity, 1))}.hover\:text-brand-primary-active:hover{--tw-text-opacity: 1;color:rgb(var(--color-brand-primary-active-rgb) / var(--tw-text-opacity, 1))}.hover\:text-text-primary:hover{--tw-text-opacity: 1;color:rgb(var(--color-text-primary-rgb) / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-\[0_0_25px_rgba\(139\,92\,246\,0\.3\)\]:hover{--tw-shadow: 0 0 25px rgba(139,92,246,.3);--tw-shadow-colored: 0 0 25px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:\!border-brand-primary:focus{--tw-border-opacity: 1 !important;border-color:rgb(var(--color-brand-primary-rgb) / var(--tw-border-opacity, 1))!important}.focus\:\!bg-bg-surface:focus{--tw-bg-opacity: 1 !important;background-color:rgb(var(--color-bg-surface-rgb) / var(--tw-bg-opacity, 1))!important}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-brand-primary\/15:focus-visible{--tw-ring-color: rgb(var(--color-brand-primary-rgb) / .15)}.focus-visible\:ring-focus-ring:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--color-focus-ring-rgb) / var(--tw-ring-opacity, 1))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-focus-offset:focus-visible{--tw-ring-offset-color: rgb(var(--color-focus-ring-offset-rgb) / 1)}.active\:scale-\[0\.98\]:active{--tw-scale-x: .98;--tw-scale-y: .98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-60:disabled{opacity:.6}.group:hover .group-hover\:border-brand-primary{--tw-border-opacity: 1;border-color:rgb(var(--color-brand-primary-rgb) / var(--tw-border-opacity, 1))}.group:hover .group-hover\:text-text-primary{--tw-text-opacity: 1;color:rgb(var(--color-text-primary-rgb) / var(--tw-text-opacity, 1))}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;background-color:var(--color-background);color:var(--color-text-primary);min-height:100vh;overflow-x:hidden;transition:background-color .2s ease,color .2s ease}button{font-family:inherit;font-size:inherit;line-height:inherit;margin:0;padding:0;border:none;background:none;cursor:pointer;color:inherit}input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit;margin:0;padding:0;border:none;background:none;color:inherit}input:focus,textarea:focus,select:focus{outline:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}table{border-collapse:collapse;border-spacing:0}h1,h2,h3,h4,h5,h6{font-weight:inherit;font-size:inherit;margin:0}p{margin:0}#root{min-height:100vh;width:100%;position:relative}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::selection{background-color:var(--color-primary);color:var(--text-on-strong-colored)}::-moz-selection{background-color:var(--color-primary);color:var(--text-on-strong-colored)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-thumb-hover)}:root,html[data-theme=dark]{--color-background: #0a0a0a;--color-background-card: #1a1a1a;--color-bg-inset: #0f0f0f;--color-table-header: #141414;--color-table-row-alt: #222222;--color-code-bg: #111111;--input-placeholder-color: #6b7280;--card-border-color: #2a2a2a;--color-surface: #1a1a1a;--color-surface-elevated: #27272a;--color-border: #374151;--color-border-light: #2d2d2d;--color-border-strong: #333333;--navbar-bg: #18181b;--navbar-border: #27272a;--nav-link: #d4d4d8;--nav-link-hover-bg: #1e293b;--nav-link-hover-fg: #38bdf8;--lang-btn-bg: #27272a;--lang-btn-border: #3f3f46;--color-scrollbar-track: #1a1a1a;--color-scrollbar-thumb: #374151;--color-scrollbar-thumb-hover: #4b5563;--color-text-primary: #ffffff;--color-text-secondary: #d1d5db;--color-text-muted: #9ca3af;--color-text-disabled: #6b7280;--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-primary-active: #1d4ed8;--color-success: #16a34a;--color-success-hover: #15803d;--color-success-light: #22c55e;--color-warning: #fbbf24;--color-error: #ef4444;--color-error-light: #f87171;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 50%;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition-fast: .15s ease-in-out;--transition-normal: .2s ease-in-out;--transition-slow: .3s ease-in-out;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--modal-backdrop: rgba(0, 0, 0, .45);--color-row-hover: rgba(255, 255, 255, .02);--accent-violet: #8b5cf6;--accent-violet-hover: #7c3aed;--accent-violet-muted: #c4b5fd;--accent-violet-ghost-fg: #eae8ff;--accent-violet-soft-bg: rgba(139, 92, 246, .12);--accent-violet-soft-border: rgba(139, 92, 246, .35);--accent-blue-on-surface: #93c5fd;--vs-accent: #f87171;--highlight-amber: #fbbf24;--podium-text-on-medal: #1a1a1a;--ui-indicator-muted: #4b5563;--text-on-strong-colored: #ffffff;--stat-positive: #34d399;--stat-negative: #f87171;--color-error-strong: #b91c1c;--accent-orange: #f97316;--accent-orange-muted: #fb923c;--accent-magenta: #ec4899;--on-amber-text: #92400e;--amber-badge-fg: #fef08a;--surface-muted-bg: rgba(148, 163, 184, .12);--fill-primary-soft: rgba(59, 130, 246, .12);--fill-primary-border: rgba(59, 130, 246, .22);--fill-primary-strong: rgba(59, 130, 246, .2);--chart-grid-stroke: #374151}html[data-theme=light]{--color-background: #f1f5f9;--color-background-card: #ffffff;--color-bg-inset: #f8fafc;--color-table-header: #e8eef5;--color-table-row-alt: #f8fafc;--color-code-bg: #f1f5f9;--input-placeholder-color: #64748b;--card-border-color: #e2e8f0;--color-surface: #ffffff;--color-surface-elevated: #f1f5f9;--color-border: #cbd5e1;--color-border-light: #e2e8f0;--color-border-strong: #94a3b8;--navbar-bg: #ffffff;--navbar-border: #e2e8f0;--nav-link: #475569;--nav-link-hover-bg: #f1f5f9;--nav-link-hover-fg: #6d28d9;--lang-btn-bg: #f8fafc;--lang-btn-border: #cbd5e1;--color-scrollbar-track: #e2e8f0;--color-scrollbar-thumb: #94a3b8;--color-scrollbar-thumb-hover: #64748b;--color-text-primary: #0f172a;--color-text-secondary: #334155;--color-text-muted: #64748b;--color-text-disabled: #94a3b8;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-active: #1e40af;--color-success: #15803d;--color-success-hover: #166534;--color-success-light: #16a34a;--color-warning: #d97706;--color-error: #dc2626;--color-error-light: #dc2626;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .07), 0 2px 4px -2px rgba(15, 23, 42, .05);--shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, .08), 0 4px 6px -4px rgba(15, 23, 42, .05);--shadow-xl: 0 20px 25px -5px rgba(15, 23, 42, .08), 0 8px 10px -6px rgba(15, 23, 42, .05);--modal-backdrop: rgba(15, 23, 42, .4);--color-row-hover: rgba(15, 23, 42, .045);--accent-violet: #7c3aed;--accent-violet-hover: #6d28d9;--accent-violet-muted: #6d28d9;--accent-violet-ghost-fg: #5b21b6;--accent-violet-soft-bg: rgba(124, 58, 237, .1);--accent-violet-soft-border: rgba(124, 58, 237, .28);--accent-blue-on-surface: #1d4ed8;--vs-accent: #e11d48;--highlight-amber: #d97706;--podium-text-on-medal: #0f172a;--ui-indicator-muted: #64748b;--text-on-strong-colored: #ffffff;--stat-positive: #059669;--stat-negative: #dc2626;--color-error-strong: #991b1b;--accent-orange: #c2410c;--accent-orange-muted: #ea580c;--accent-magenta: #db2777;--on-amber-text: #92400e;--amber-badge-fg: var(--on-amber-text);--surface-muted-bg: rgba(15, 23, 42, .06);--fill-primary-soft: rgba(37, 99, 235, .1);--fill-primary-border: rgba(37, 99, 235, .22);--fill-primary-strong: rgba(37, 99, 235, .16);--avatar-placeholder-from: #e0e7ff;--avatar-placeholder-to: #ede9fe;--avatar-placeholder-initials: #3730a3;--chart-grid-stroke: #e2e8f0}html[data-theme=light] ::selection{background-color:#ddd6fe;color:#0f172a}html[data-theme=light] ::-moz-selection{background-color:#ddd6fe;color:#0f172a}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:fadeIn .3s ease-in-out}.animate-slide-up{animation:slideInUp .3s ease-out}.animate-slide-down{animation:slideInDown .3s ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@media(max-width:640px){html{font-size:14px}}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}body{font-size:12pt;line-height:1.4}h1,h2,h3,h4,h5,h6{page-break-after:avoid}p,blockquote,pre{page-break-inside:avoid}a[href]:after{content:" (" attr(href) ")"}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.user-menu{position:relative}.user-menu-avatar-btn{width:2.25rem;height:2.25rem;border-radius:50%;border:2px solid var(--card-border-color);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-active));color:var(--text-on-strong-colored);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:transform .15s,box-shadow .15s,border-color .15s;box-shadow:0 2px 6px var(--fill-primary-strong)}.user-menu-avatar-btn:hover{transform:translateY(-1px);border-color:var(--color-primary)}.user-menu-avatar-btn[aria-expanded=true]{box-shadow:0 0 0 3px var(--fill-primary-strong)}.user-menu-avatar-initials{font-size:.85rem;font-weight:700;line-height:1}.user-menu-avatar-icon{width:1.25rem;height:1.25rem}.user-menu-dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:12.5rem;background:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:.75rem;box-shadow:var(--shadow-lg);padding:.35rem;z-index:1100;animation:user-menu-fade-in .15s ease-out}@keyframes user-menu-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.user-menu-dropdown-header{padding:.5rem .75rem .35rem;border-bottom:1px solid var(--card-border-color);margin-bottom:.25rem}.user-menu-dropdown-email{display:block;font-size:.75rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:14rem}.user-menu-dropdown-item{width:100%;display:flex;align-items:center;gap:.65rem;padding:.6rem .75rem;border:none;border-radius:.5rem;background:transparent;color:var(--color-text-primary);font-size:.875rem;font-weight:600;text-align:left;cursor:pointer;transition:background .15s}.user-menu-dropdown-item:hover{background:var(--color-row-hover)}.user-menu-dropdown-item-danger{color:var(--color-error)}.user-menu-dropdown-item-danger:hover{background:var(--fill-danger-soft, rgba(239, 68, 68, .08))}.user-menu-dropdown-divider{height:1px;background:var(--card-border-color);margin:.25rem 0}.language-menu{position:relative}.language-menu-trigger{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border-radius:.375rem;border:1px solid var(--lang-btn-border);background:var(--lang-btn-bg);color:var(--nav-link);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.language-menu-trigger:hover,.language-menu-trigger.is-open{background:var(--color-surface-elevated);color:var(--color-text-primary);border-color:var(--color-border-strong, var(--lang-btn-border))}.language-menu-dropdown{position:absolute;right:0;top:100%;z-index:1100;min-width:11rem;padding-top:.5rem}.language-menu-dropdown:before{content:"";position:absolute;inset:0 0 auto;height:.5rem}.language-menu-list{margin:0;padding:.25rem 0;list-style:none;overflow:hidden;border-radius:.5rem;border:1px solid var(--lang-btn-border);background:var(--navbar-bg);box-shadow:var(--shadow-lg)}.language-menu-option{display:flex;width:100%;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem .75rem;border:none;background:transparent;color:var(--nav-link);font-size:.875rem;text-align:left;cursor:pointer;transition:background .15s,color .15s}.language-menu-option:hover{background:var(--color-surface-elevated);color:var(--color-text-primary)}.language-menu-option.is-active{background:color-mix(in srgb,var(--accent-violet) 20%,transparent);color:var(--color-text-primary);font-weight:600}.language-menu-check{color:var(--accent-violet)}.tttmanager-logo{width:auto;flex-shrink:0;background:transparent;-o-object-fit:contain;object-fit:contain;-o-object-position:left center;object-position:left center}.tttmanager-logo-sm{height:2.5rem}.tttmanager-logo-md{height:3rem}.tttmanager-logo-lg{height:4rem}.tttmanager-logo-xl{height:4.5rem}.navbar-header.normal-flow{width:100%;align-items:center;background:var(--navbar-bg);border-bottom:1.5px solid var(--navbar-border);margin:0 0 1.5rem;transition:background .2s ease,border-color .2s ease}.navbar-content.header-row{display:flex;align-items:center;width:100%;height:3.5rem;min-height:3.5rem;padding:0 2rem;position:relative}.logo-section{flex:1 1 0;display:flex;align-items:center;min-width:0;text-decoration:none}.logo-section .tttmanager-logo{height:2rem}.nav-mobile-panel{flex:6 1 0;display:flex;justify-content:center;align-items:center;min-width:0}.nav-menu{flex:5 1 0;display:flex;justify-content:center;align-items:center;gap:2rem;min-width:0}.app-title{align-items:center;font-weight:700;font-size:1.05rem}.nav-link{font-size:.875rem;color:var(--nav-link);text-decoration:none;font-weight:700;padding:.25rem .65rem;border-radius:.5rem;transition:background .15s,color .15s}.nav-link:hover{background:var(--nav-link-hover-bg);color:var(--nav-link-hover-fg)}.nav-link-active{background:var(--accent-violet);color:var(--text-on-strong-colored)}.nav-link-button{border:none;background:transparent;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;font-size:.875rem;font-weight:700;font-family:inherit;color:var(--nav-link);padding:.25rem .65rem;border-radius:.5rem;transition:background .15s,color .15s;width:auto;text-align:left}.nav-link-button:hover{background:var(--nav-link-hover-bg);color:var(--nav-link-hover-fg)}.nav-right{flex:1 1 0;display:flex;justify-content:flex-end;align-items:center;gap:.5rem}.theme-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border-radius:.375rem;border:1px solid var(--lang-btn-border);background:var(--lang-btn-bg);color:var(--nav-link);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.theme-toggle-btn:hover{background:var(--color-surface-elevated);color:var(--color-text-primary)}.nav-auth-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.5rem;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .15s;border:none;color:var(--text-on-strong-colored)}.nav-login-button{background:var(--accent-violet)}.nav-login-button:hover{background:var(--accent-violet-hover);transform:translateY(-1px)}.nav-logout-button{background:var(--color-error)}.nav-logout-button:hover{background:var(--color-error-strong);transform:translateY(-1px)}.nav-profile-link{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.5rem;font-size:.9rem;font-weight:700;background:var(--accent-violet);color:var(--text-on-strong-colored);transition:all .15s}.nav-profile-link:hover{background:var(--color-primary);color:var(--text-on-strong-colored);transform:translateY(-1px)}.nav-admin-link{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.5rem;font-size:.9rem;font-weight:700;background:var(--highlight-amber);color:var(--text-on-strong-colored);transition:all .15s}.nav-admin-link:hover{background:var(--accent-orange);color:var(--text-on-strong-colored);transform:translateY(-1px)}.user-avatar{flex:1 2 1;width:2.3rem;height:2.3rem;background:var(--accent-violet);color:var(--text-on-strong-colored);border-radius:100%;display:flex;align-items:center;justify-content:center;justify-self:right}.user-icon{width:1.4rem;height:1.4rem}.navbar-backdrop,.navbar-hamburger,.nav-mobile-user-section{display:none}@media(max-width:768px){.user-menu-desktop-only{display:none}.nav-mobile-user-section{display:flex;flex-direction:column;gap:.25rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--navbar-border)}.nav-mobile-user-email{padding:.35rem 1rem .5rem;font-size:.75rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-mobile-user-link{display:flex;align-items:center;gap:.65rem;width:100%;text-align:left;border:none;background:transparent;cursor:pointer;font-family:inherit}.nav-mobile-logout{color:var(--color-error)}.nav-mobile-logout:hover{background:var(--fill-danger-soft, rgba(239, 68, 68, .08));color:var(--color-error)}.navbar-content.header-row{height:3.5rem;min-height:3.5rem;padding:0 1rem}.navbar-backdrop{display:block;position:fixed;inset:0;background:var(--modal-backdrop);z-index:999}.navbar-hamburger{display:flex;align-items:center;justify-content:center;margin-left:auto;width:2.5rem;height:2.5rem;background:var(--lang-btn-bg);border:1px solid var(--lang-btn-border);border-radius:.5rem;color:var(--color-text-primary);cursor:pointer}.nav-mobile-panel{position:fixed;top:0;right:0;bottom:0;width:min(85vw,320px);background:var(--navbar-bg);border-left:1px solid var(--navbar-border);flex-direction:column;align-items:stretch;padding:1rem;gap:0;transform:translate(100%);transition:transform .25s ease;box-shadow:var(--shadow-lg);flex:none;justify-content:flex-start;z-index:1000}.nav-mobile-panel.nav-mobile-panel-open{transform:translate(0)}.nav-menu{flex:none;flex-direction:column;align-items:stretch;gap:.25rem;padding:.5rem 0;border-bottom:1px solid var(--navbar-border);margin-bottom:.75rem}.nav-link{padding:.75rem 1rem;width:100%;text-align:left}.nav-right{flex-direction:column;align-items:stretch;gap:.5rem}.nav-auth-button{padding:.75rem 1rem;justify-content:flex-start}}.tournament-container{background-color:var(--color-background-card);color:var(--color-text-primary);padding:1.5rem;border-radius:.5rem;border:1px solid var(--card-border-color);box-shadow:var(--shadow-md);margin:0 auto;width:100%;margin-bottom:1.5rem}.tournament-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:0rem}.tournament-info{flex:1;min-width:0}.tournament-fees-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .85rem;border-radius:.5rem;font-weight:600;font-size:.8125rem;border:1px solid var(--fill-primary-border);background:var(--fill-primary-soft);color:var(--color-primary);cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.tournament-fees-btn:hover{background:var(--fill-primary-strong);border-color:var(--color-primary)}.tournament-title{font-size:1.25rem;font-weight:700;margin-bottom:.25rem;margin-top:0}.progress-section{margin-top:.5rem}.progress-text{color:var(--highlight-amber);font-size:.85rem;margin-bottom:.5rem;margin-top:0}.progress-bar{width:97%;background-color:var(--color-border);border-radius:.15rem;height:.5rem;overflow:hidden}.progress-fill{background-color:var(--accent-violet);height:100%;border-radius:.15rem;transition:width .3s ease}.tournament-stats{font-size:.85rem;text-align:right;color:var(--color-text-secondary);display:flex;flex-direction:column;align-items:flex-end}.stat-item{margin-bottom:.25rem}.stat-item-groups{margin-bottom:.35rem}.tournament-stats-action{margin-top:.35rem;width:100%;display:flex;justify-content:flex-end}.tournament-header-actions{display:inline-flex;align-items:center;gap:.4rem}.tournament-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2.125rem;height:2.125rem;padding:0;border-radius:.5rem;border:1px solid var(--fill-primary-border);background:var(--fill-primary-soft);color:var(--color-text-secondary);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.tournament-icon-btn:hover:not(:disabled){background:var(--fill-primary-strong);border-color:var(--color-primary);color:var(--color-primary)}.tournament-icon-btn-active{background:var(--accent-violet);border-color:var(--accent-violet);color:var(--text-on-strong-colored)}.tournament-icon-btn-active:hover:not(:disabled){background:var(--accent-violet);border-color:var(--accent-violet);color:var(--text-on-strong-colored)}.tournament-icon-btn:disabled{opacity:.45;cursor:not-allowed}.stat-value{font-weight:600;color:var(--color-text-primary)}html[data-theme=light] .tournament-stats .stat-label{color:var(--color-text-secondary)}html[data-theme=light] .tournament-stats .stat-value{color:#0f172a;font-weight:700}@media(max-width:768px){.tournament-container{padding:1rem;margin-bottom:1rem}.tournament-header{flex-direction:column;gap:1rem}.tournament-title{font-size:1.1rem;line-height:1.4;word-break:break-word;min-width:0}.progress-bar{width:100%}.tournament-stats{display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem 1.25rem;text-align:left;align-items:flex-start;padding-top:.5rem;border-top:1px solid var(--card-border-color)}.stat-item,.stat-item-groups{margin-bottom:0}.tournament-stats-action{flex-basis:100%;justify-content:flex-start;margin-top:.25rem}}@media(max-width:480px){.tournament-container{padding:.75rem 1rem}.tournament-title{font-size:1rem}.tournament-stats{flex-direction:column;gap:.5rem 1rem}}.stage-tabs{border:1px solid var(--card-border-color);background-color:var(--color-background-card);border-radius:.5rem;padding:.15rem;margin-bottom:1.5rem;width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .75rem}.tabs-container{display:flex;flex:1;min-width:0}.stage-tabs-trailing{flex-shrink:0;margin-left:auto;display:flex;align-items:center}.stage-tabs-cycle-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;border-radius:.5rem;border:1px solid var(--accent-violet-soft-border);background:var(--accent-violet-soft-bg);color:var(--accent-violet-muted);font-weight:600;font-size:.875rem;cursor:pointer}.stage-tabs-cycle-btn:hover{background:#8b5cf633}html[data-theme=light] .stage-tabs-cycle-btn:hover{background:#7c3aed29}.stage-tab{padding:.5rem 1rem;border-radius:.5rem;font-weight:600;font-size:.9rem;transition:all .2s;background:none;border:none;cursor:pointer;color:var(--color-text-muted)}.stage-tab:hover{background-color:var(--color-surface-elevated)}.stage-tab-active{background-color:var(--accent-violet);color:var(--text-on-strong-colored)}.stage-tab{white-space:nowrap}@media(max-width:768px){.stage-tabs{margin-bottom:1rem}.stage-tabs-trailing{margin-left:0;width:100%;justify-content:flex-end;padding:.25rem .15rem .1rem}.tabs-container{overflow-x:auto;-webkit-overflow-scrolling:touch;gap:.25rem;padding-bottom:.25rem}.stage-tab{flex-shrink:0;padding:.5rem .75rem;font-size:.8rem;min-height:40px}}@media(max-width:480px){.stage-tab{padding:.45rem .6rem;font-size:.75rem;min-height:38px}}.group-tabs{border:1px solid var(--card-border-color);background-color:var(--color-background-card);border-radius:.5rem;padding:.15rem;margin-bottom:1.5rem;width:100%}.tabs-container{display:flex}.group-tab{padding:.5rem 1rem;border-radius:.5rem;font-weight:600;font-size:.9rem;transition:all .2s;background:none;border:none;cursor:pointer;color:var(--color-text-muted)}.group-tab:hover{background-color:var(--color-surface-elevated)}.group-tab-active{background-color:var(--accent-violet);color:var(--text-on-strong-colored)}.group-tab{white-space:nowrap}@media(max-width:768px){.group-tabs{margin-bottom:1rem}.tabs-container{overflow-x:auto;-webkit-overflow-scrolling:touch;gap:.25rem;padding-bottom:.25rem}.group-tab{flex-shrink:0;padding:.5rem .75rem;font-size:.8rem;min-height:40px}}@media(max-width:480px){.group-tab{padding:.45rem .6rem;font-size:.75rem;min-height:38px}}.bar-section{flex:1;display:flex;align-items:center;gap:.5rem}.search-container{flex:1;display:flex;align-items:center;position:relative}.search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--color-text-muted);width:1.25rem;height:1.25rem}.search-input{background-color:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:.5rem;padding:.5rem 1rem .5rem 2.5rem;color:var(--color-text-primary);width:100%;outline:none;transition:border-color .2s}.search-input::-moz-placeholder{color:var(--input-placeholder-color)}.search-input::placeholder{color:var(--input-placeholder-color)}.clear-btn{display:none;align-items:center;padding:.5rem .75rem;margin-left:.5rem;background:var(--color-error);color:var(--text-on-strong-colored);border-radius:.5rem;border:none;cursor:pointer;font-size:.95rem;font-weight:600;transition:background .2s}.clear-btn .clear-icon{margin-right:.25rem}.clear-btn:hover{background:var(--color-error-strong)}.clear-btn.show{display:inline-flex}.standings-panel,.matches-panel{background-color:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:.75rem;padding:0rem}.panel-title{font-size:1rem;font-weight:600;padding:1rem;border-bottom:1px solid var(--card-border-color);color:var(--color-text-primary)}.standings-table{display:flex;flex-direction:column;gap:.1rem}.standings-table-header{display:grid;grid-template-columns:.6fr 5fr 1fr 1fr 1fr;gap:.2rem;color:var(--color-text-muted);background-color:var(--color-table-header);font-size:.875rem;font-weight:600;padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;border-bottom:1px solid var(--card-border-color)}.player-row{display:grid;grid-template-columns:.6fr 5fr 1fr 1fr 1fr;gap:.2rem;border-bottom:1px solid var(--card-border-color);padding:.75rem 0 .75rem 1rem;transition:background-color .2s;font-size:.875rem;color:var(--color-text-primary)}.player-row:last-child{border-bottom:none}.player-row:hover{background-color:var(--color-row-hover);border-radius:.5rem}.player-rank{color:var(--color-text-secondary)}.player-info{display:flex;align-items:center;gap:.75rem}.player-avatar{width:2rem;height:2rem;background-color:var(--color-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem}.player-name{font-weight:600}.stat-played{color:var(--color-text-secondary)}.stat-wins{color:var(--color-success-light);font-weight:600}.stat-points{color:var(--stat-negative);font-weight:600}@media(max-width:768px){.standings-panel{padding:0}.panel-title{font-size:.95rem;padding:.75rem 1rem}.standings-table-header,.player-row{grid-template-columns:1.5rem 1fr 2rem 2rem 2rem;padding:.5rem .75rem;font-size:.8rem}.player-row{min-height:44px;align-items:center}.player-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:480px){.standings-table-header,.player-row{grid-template-columns:1.25rem 1fr 1.75rem 1.75rem 1.75rem;padding:.5rem .6rem;font-size:.75rem}.player-row{min-height:40px}}.match-content-groups{display:grid;grid-template-columns:2.2fr 2fr .5fr 2fr 2fr;align-items:center;gap:.5em;min-height:48px}.match-content-other{display:grid;grid-template-columns:1fr 2fr .5fr 2fr 1.5fr;align-items:center;gap:.5em;min-height:48px}.match-label-col{justify-self:stretch;min-width:0;display:flex;justify-content:center;align-items:center;text-align:center}.match-player1-col{justify-self:stretch;min-width:0;display:flex;justify-content:flex-end;align-items:center;text-align:right;font-size:.875rem;font-weight:700}.match-player2-col{justify-self:start;font-size:.875rem;font-weight:700;display:flex}.match-playervs-col{justify-self:center}.match-result-col{justify-self:end}.match-label{font-size:.85em;color:var(--color-text-muted);text-align:center;font-weight:500}.match-label-mobile-stack{display:none;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;text-align:center}.match-label-mobile-line1{font-size:.78rem;font-weight:600;color:var(--color-text-muted);line-height:1.2}.match-label-mobile-line2{font-size:.95rem;font-weight:700;color:var(--color-text-primary);line-height:1.2}@media(max-width:640px){.match-label-desktop-only{display:none!important}.match-label-mobile-stack{display:flex!important}}.vs-text{font-size:1em;color:var(--vs-accent);font-weight:400}.match-result{justify-content:flex-end;display:flex;align-items:center;min-height:40px;gap:.7rem}.match-result-readonly{display:flex;align-items:center;gap:.5rem;color:var(--color-text-secondary)}.match-result-placeholder{color:var(--color-text-disabled);font-weight:600;padding-right:.5rem}.in-progress-readonly{pointer-events:none;cursor:default;opacity:.95}.completed-match-edit{display:flex;align-items:center;gap:.5rem;background:none;border:none;cursor:pointer;padding:.3rem .8rem;border-radius:.5rem;transition:background .15s}.completed-match-edit:hover{background:var(--color-surface-elevated)}.edit-arrow{margin-left:.3rem;opacity:.7;color:var(--accent-violet)}.completed-indicator{margin-left:.2rem;width:1.5em;height:1.5em;background:var(--accent-violet);color:var(--text-on-strong-colored);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:1em}.score-winner,.score-loser{font-weight:600;font-size:1.25rem}.score-winner{color:var(--color-success-light)}.score-loser{color:var(--color-error-light)}.score-separator{margin:0 .3rem;color:var(--color-text-secondary);font-weight:400;font-size:1.25rem}.plus-icon{margin-right:.2rem;margin-top:.05rem;height:16px}.add-result-btn{display:flex;padding:.3rem 1rem .3rem .3rem;border-radius:.5rem;border:none;background:var(--accent-violet);color:var(--text-on-strong-colored);font-weight:600;font-size:.75rem;cursor:pointer;transition:background .15s}.add-result-btn:hover{background:var(--accent-violet-hover)}.match-recalculated-btn{padding:.35rem .75rem;border-radius:.5rem;border:1px solid var(--color-border-subtle, rgba(255, 255, 255, .12));background:var(--surface-muted, rgba(128, 128, 128, .2));color:var(--color-text-muted);font-weight:600;font-size:.75rem;cursor:not-allowed;opacity:.72}.match-recalculate-btn{padding:.35rem .85rem;border-radius:.5rem;border:none;background:var(--accent-violet);color:var(--text-on-strong-colored);font-weight:600;font-size:.75rem;cursor:pointer;transition:background .15s}.match-recalculate-btn:hover:not(:disabled){background:var(--accent-violet-hover)}.match-recalculate-btn:disabled{opacity:.6;cursor:wait}.matches-list{display:flex;flex-direction:column;gap:.75rem;padding:1rem}.match-card{background-color:var(--color-bg-inset);border:1px solid var(--card-border-color);border-radius:.5rem;padding:0rem 1rem}.match-card--busy-related{box-shadow:inset 0 0 0 1px color-mix(in srgb,#f59e0b 45%,transparent);background-color:color-mix(in srgb,#f59e0b 5%,var(--color-bg-inset))}.match-card--busy-blocked{box-shadow:inset 0 0 0 2px color-mix(in srgb,#ef4444 55%,transparent);background-color:color-mix(in srgb,#ef4444 7%,var(--color-bg-inset))}.match-busy-badge{position:absolute;top:.35rem;right:.45rem;z-index:11;padding:.12rem .4rem;border-radius:.3rem;font-size:.62rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#fecaca;background:color-mix(in srgb,#ef4444 75%,#1f2937);pointer-events:none}.match-table-badge-row{position:absolute;top:14px;left:50px;transform:translate(-40%);display:flex;align-items:center;gap:.35rem;z-index:10;max-width:calc(100% - 1rem)}.in-progress-label-pulse{position:static;top:auto;left:auto;transform:none;background:var(--highlight-amber);color:var(--on-amber-text);font-size:.75rem;font-weight:700;padding:.16em .75em;border-radius:999px;letter-spacing:.05em;line-height:1.25;box-shadow:0 1px 4px color-mix(in srgb,var(--on-amber-text) 16%,transparent);pointer-events:none;animation:pulse-inprogress 1.2s ease-in-out infinite alternate;opacity:1;min-width:0;text-align:center;white-space:nowrap}.match-manual-tts-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;padding:0;border:none;border-radius:999px;background:var(--accent-violet);color:var(--text-on-strong-colored);cursor:pointer;box-shadow:0 1px 4px color-mix(in srgb,var(--accent-violet) 35%,transparent);animation:pulse-inprogress 1.2s ease-in-out infinite alternate}.match-manual-tts-btn:hover{filter:brightness(1.08)}.match-manual-tts-btn:focus-visible{outline:2px solid var(--accent-violet);outline-offset:2px}.in-progress-label-pulse.in-progress-readonly{pointer-events:none}button.in-progress-label-pulse{pointer-events:auto;cursor:pointer;border:none;font-family:inherit}@keyframes pulse-inprogress{0%{box-shadow:0 1px 3px color-mix(in srgb,var(--on-amber-text) 18%,transparent),0 0 color-mix(in srgb,var(--highlight-amber) 45%,transparent)}to{box-shadow:0 1px 5px color-mix(in srgb,var(--on-amber-text) 22%,transparent),0 0 0 3px color-mix(in srgb,var(--highlight-amber) 18%,transparent)}}html[data-theme=light] .in-progress-label-pulse{background:#fde68a;color:#78350f;border:1px solid #d97706;box-shadow:0 1px 2px #78350f2e}.status-modal-btn.danger{background:#ef44441f;border:1px solid rgba(239,68,68,.25)}.completed-match{display:flex;align-items:center;gap:.5rem}.score-winner{font-size:1.2rem;font-weight:700;color:var(--color-success-light)}.score-separator{color:var(--color-text-muted)}.score-loser{font-size:1.2rem;font-weight:700;color:var(--color-error-light)}.completed-match-edit{transition:background .13s}.completed-match-edit:hover{background:var(--color-surface-elevated);border-radius:.5rem}.completed-indicator{margin-left:.25rem;width:1.5em;height:1.5em;background:var(--accent-violet);color:var(--text-on-strong-colored);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:1em}.check-mark{font-size:.75rem}.uncompleted-match{display:flex;align-items:center;gap:1rem}.no-score{color:var(--color-text-muted)}.uncompleted-indicator{width:1.2rem;height:1.2rem;background-color:var(--ui-indicator-muted);border-radius:50%}.player-name.clickable:hover{color:var(--highlight-amber)}.partial-match-edit{background:transparent;color:inherit;padding:6px 10px;border-radius:8px}.score-neutral{font-weight:600}.player-winner-name{color:var(--highlight-amber);font-weight:700}.status-modal-backdrop{position:fixed;inset:0;background:var(--modal-backdrop);display:flex;align-items:center;justify-content:center;z-index:60}.status-modal{width:360px;background:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:12px;padding:12px;box-shadow:var(--shadow-xl);color:var(--color-text-primary)}.status-modal-header{display:flex;align-items:center;justify-content:space-between;font-weight:600;margin-bottom:8px}.status-modal-close{background:transparent;color:var(--color-text-muted);border:none;cursor:pointer}.status-modal-body{margin-bottom:10px}.matches-hall-shared-hint{margin:0 0 .75rem;font-size:.8125rem;line-height:1.4;color:var(--color-text-secondary)}.status-modal-input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--color-border-strong);background:var(--color-bg-inset);color:var(--color-text-primary);outline:none}.status-modal-input:focus{border-color:var(--accent-violet);box-shadow:0 0 0 2px #8b5cf640}.status-modal-footer{display:flex;justify-content:flex-end;gap:8px}.status-modal-btn{padding:8px 12px;border-radius:8px;border:1px solid var(--color-border-strong);cursor:pointer}.status-modal-btn.primary{background:#8b5cf626;color:var(--accent-violet);border-color:#8b5cf659}.status-modal-btn.secondary{background:var(--color-surface-elevated);color:var(--color-text-secondary)}.table-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.table-btn{display:inline-flex;align-items:center;justify-content:center;height:44px;border-radius:10px;border:1px solid rgba(139,92,246,.35);background:#8b5cf61a;color:var(--accent-violet-ghost-fg);font-weight:700;transition:transform .12s ease,opacity .12s ease,box-shadow .12s ease,filter .12s ease}.table-btn:hover{border-color:var(--accent-violet);box-shadow:0 0 0 2px #8b5cf640}.table-btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 6px 14px #8b5cf62e}.table-btn:disabled,.table-btn.is-disabled{opacity:.45;cursor:not-allowed;filter:grayscale(40%);box-shadow:none;border-color:#8b5cf626;background:#8b5cf60f}.table-btn.is-disabled:hover{transform:none;box-shadow:none}.table-btn:not(:disabled):focus-visible{outline:2px solid var(--accent-violet);outline-offset:2px}.status-modal-referee{max-width:420px}.match-referee-conflict-backdrop{z-index:10001}.match-referee-conflict-modal{width:min(480px,100%)}.match-referee-conflict-intro{margin:0 0 .75rem;font-size:.875rem;line-height:1.45;color:var(--color-text-secondary)}.match-referee-conflict-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem}.match-referee-conflict-list li{padding:.65rem .75rem;border-radius:10px;background:#ef444414;border:1px solid rgba(239,68,68,.22);font-size:.9375rem;font-weight:600;color:var(--color-text-primary)}.match-referee-candidate-list{list-style:none;margin:0;padding:0;max-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:.35rem}.match-referee-candidate-btn{width:100%;text-align:left;padding:.5rem .65rem;border-radius:.4rem;border:1px solid var(--card-border-color);background:var(--color-background);color:var(--color-text-primary);font-size:.875rem;cursor:pointer}.match-referee-candidate-btn:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-bg-inset)}.matches-round-section{display:flex;flex-direction:column;gap:.5rem}.matches-round-section+.matches-round-section{margin-top:1.25rem}.matches-round-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;width:100%;padding:.65rem 1rem;border-radius:.5rem;background:var(--color-surface-elevated, var(--color-background-card));border:1px solid var(--card-border-color);cursor:pointer;text-align:left;font:inherit;color:inherit;transition:background .15s,border-color .15s}.matches-round-bar:hover{background:var(--color-bg-inset, var(--color-background));border-color:var(--color-border-strong, var(--card-border-color))}.matches-round-bar-leading{display:flex;align-items:center;gap:.5rem;min-width:0}.matches-round-bar-chevron{flex-shrink:0;color:var(--color-text-secondary);transition:transform .2s ease}.matches-round-section-expanded .matches-round-bar-chevron{transform:rotate(180deg)}.matches-round-bar-title{font-size:.9375rem;font-weight:700;color:var(--color-text-primary)}.matches-round-body{display:flex;flex-direction:column;gap:.5rem}.matches-round-bar-stats{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.matches-round-bar-stat{font-size:.8125rem;font-weight:600;color:var(--color-text-secondary)}.matches-round-bar-stat-live{color:var(--accent-violet, var(--color-primary))}.result-modal-backdrop{position:fixed;inset:0;background:var(--modal-backdrop);display:flex;align-items:center;justify-content:center;z-index:50}.result-modal-content{background:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:1rem;box-shadow:var(--shadow-xl);padding:2rem 2.5rem;min-width:340px;color:var(--color-text-primary);display:flex;flex-direction:column;gap:1.25rem;animation:modal-in .18s cubic-bezier(.37,.01,.56,1.17)}.result-modal-content--embedded{min-width:0;width:100%;padding:0;border:none;box-shadow:none;background:transparent;animation:none}.result-modal-title{font-size:1.25rem;font-weight:600;text-align:center}.result-modal-row{display:flex;align-items:center;justify-content:space-between;gap:2rem}.result-modal-player{font-weight:600;color:var(--accent-blue-on-surface);min-width:100px}.result-modal-sets{display:flex;gap:.5rem}.set-btn{padding:.4rem .95rem;font-size:1rem;font-weight:600;border-radius:.5rem;border:1px solid var(--accent-violet);background:var(--color-bg-inset);color:var(--color-text-muted);cursor:pointer;transition:background .17s,color .17s}.set-btn.active,.set-btn:hover{background:var(--accent-violet);color:var(--text-on-strong-colored)}.result-modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:.5rem}.result-modal-btn{padding:.5rem 1.25rem;border-radius:.5rem;border:none;font-weight:600;font-size:1rem;cursor:pointer;transition:background .15s}.result-cancel-btn{background:var(--lang-btn-border);color:var(--color-text-secondary)}.result-cancel-btn:hover{background:var(--ui-indicator-muted)}.result-confirm-btn{background:var(--color-success-light);color:var(--text-on-strong-colored)}.result-confirm-btn:hover{background:var(--color-success)}.add-cycle-backdrop{position:fixed;inset:0;background:var(--modal-backdrop);display:flex;align-items:center;justify-content:center;z-index:80;padding:1rem}.add-cycle-dialog{width:100%;max-width:420px;background:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:12px;padding:1rem 1.1rem;box-shadow:var(--shadow-xl);color:var(--color-text-primary)}.add-cycle-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.add-cycle-header h2{font-size:1.05rem;font-weight:700;margin:0;color:var(--color-text-primary)}.add-cycle-close{background:transparent;border:none;color:var(--color-text-muted);font-size:1.5rem;line-height:1;cursor:pointer;padding:0 .25rem}.add-cycle-close:hover{color:var(--color-text-primary)}.add-cycle-hint{font-size:.85rem;color:var(--highlight-amber);margin:0 0 .75rem}.add-cycle-muted{color:var(--color-text-muted);font-size:.9rem;margin:.5rem 0}.add-cycle-error{color:var(--color-error-light);font-size:.9rem;margin:.5rem 0}.add-cycle-list{list-style:none;margin:0;padding:0;max-height:220px;overflow-y:auto}.add-cycle-option{display:flex;align-items:center;gap:.5rem;padding:.5rem .25rem;cursor:pointer;color:var(--color-text-secondary);font-size:.9rem}.add-cycle-badge{margin-left:auto;font-size:.7rem;font-weight:600;text-transform:uppercase;color:var(--accent-violet-muted)}.add-cycle-footer{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--card-border-color)}.add-cycle-btn{padding:.5rem .9rem;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;border:1px solid var(--lang-btn-border)}.add-cycle-btn:disabled{opacity:.5;cursor:not-allowed}.add-cycle-btn.secondary{background:var(--color-surface-elevated);color:var(--color-text-secondary)}.add-cycle-btn.primary{background:var(--accent-violet-soft-bg);border-color:var(--accent-violet-soft-border);color:var(--accent-violet-muted)}.add-cycle-btn.primary:hover:not(:disabled){background:#8b5cf638}html[data-theme=light] .add-cycle-btn.primary:hover:not(:disabled){background:#7c3aed29}.confirm-modal-backdrop{position:fixed;inset:0;background:var(--modal-backdrop);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop, 1040);padding:1rem}.confirm-modal-box{width:100%;max-width:400px;background:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:12px;padding:1.25rem;box-shadow:var(--shadow-xl);color:var(--color-text-primary)}.confirm-modal-actions-single{justify-content:stretch}.confirm-modal-actions-single .confirm-modal-btn{width:100%;justify-content:center}.confirm-modal-title{font-size:1.1rem;font-weight:700;margin:0 0 .75rem;color:var(--color-text-primary)}.confirm-modal-message{color:var(--color-text-secondary);font-size:.95rem;line-height:1.5;margin:0 0 1.25rem}.confirm-modal-actions{display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.confirm-modal-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;border:1px solid var(--lang-btn-border);transition:background .15s,opacity .15s}.confirm-modal-btn:disabled{opacity:.55;cursor:not-allowed}.confirm-modal-btn-cancel{background:var(--color-surface-elevated);color:var(--color-text-secondary)}.confirm-modal-btn-cancel:hover:not(:disabled){background:var(--color-border-light)}.confirm-modal-btn-confirm{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-active));color:var(--text-on-strong-colored);border-color:transparent}.confirm-modal-btn-confirm:hover:not(:disabled){filter:brightness(1.05)}.confirm-modal-btn-danger{background:linear-gradient(135deg,var(--color-error),var(--color-error-strong));color:var(--text-on-strong-colored);border-color:transparent}.confirm-modal-btn-danger:hover:not(:disabled){filter:brightness(1.05)}.group-progress-card{background:var(--color-background-card);padding:1.5rem;border-radius:.5rem;border:1px solid var(--card-border-color);margin-top:1.5rem;margin-bottom:1.5rem;width:100%;max-width:1100px;box-shadow:var(--shadow-md)}.group-progress-card-row{justify-content:space-between;align-items:flex-start;flex-wrap:wrap}.group-progress-card-title{font-size:1rem;font-weight:700;margin-bottom:.75rem;margin-top:0}.group-progress-card-perc{color:var(--highlight-amber);font-size:.85rem;margin-bottom:.35rem;margin-top:0}.group-progress-bar-bg{width:100%;height:13px;background:var(--color-surface-elevated);border-radius:.15rem;overflow:hidden}.group-progress-bar-fill{height:100%;background:var(--accent-violet);border-radius:.15rem;transition:width .55s cubic-bezier(.6,.04,.44,1)}.tournament-app{min-height:80vh;background-color:var(--color-background);color:var(--color-text-primary);font-family:Inter,sans-serif;font-weight:600;width:100%;max-width:1400px;padding:0 9%;margin:0 auto}.controls-bar{display:flex;align-items:center;gap:.5rem;margin:1rem 0}.filter-btn{padding:.5rem 1rem;border-radius:.5rem;font-weight:600;background:var(--color-background-card);color:var(--color-text-primary);border:1px solid var(--card-border-color);transition:background .2s,border-color .2s,color .2s;margin-left:.5rem;cursor:pointer}.filter-btn:hover,.filter-btn-active{background:var(--accent-violet)!important;color:var(--text-on-strong-colored)!important;border-color:var(--accent-violet)!important}.filter-btn-active{background:var(--accent-violet);color:var(--text-on-strong-colored);border-color:var(--accent-violet)}.filter-btn:disabled{opacity:.45;cursor:not-allowed}.finish-btn{background-color:var(--color-success);color:var(--text-on-strong-colored);padding:.5rem 1rem;border-radius:.5rem;font-weight:600;display:flex;align-items:center;gap:.5rem;transition:background-color .2s;border:none;cursor:pointer}.finish-btn:hover{background-color:var(--color-success-hover)}.main-groups{display:grid;grid-template-columns:1fr 2fr;gap:1.5rem;align-items:start}.main-stages{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:start}@media(max-width:768px){.tournament-app{padding:0 1rem}.main-groups{grid-template-columns:1fr}.controls-bar{flex-wrap:wrap;gap:.5rem;margin:.75rem 0}.controls-bar .bar-section{flex:1 1 100%;min-width:100%}.filter-btn{margin-left:0;min-height:44px}.finish-btn{min-height:44px}}@media(max-width:480px){.tournament-app{padding:0 .75rem}.controls-bar{margin:.5rem 0}.filter-btn,.finish-btn{flex:1;min-width:0}}.tournament-results-container{background-color:var(--color-background);color:var(--color-text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;padding:1rem}.champions-section{background-color:var(--color-background-card);border:1px solid var(--color-border-strong);border-radius:1rem;padding:2rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.champions-title{text-align:center;font-size:1.5rem;font-weight:700;margin:0 0 2rem;color:var(--color-text-primary)}.champions-podium{display:flex;justify-content:center;align-items:flex-end;gap:3rem;max-width:600px;margin:0 auto}.podium-position{display:flex;flex-direction:column;align-items:center;position:relative}.player-avatar-container{position:relative;margin-bottom:1rem;border-radius:50%;padding:3px}.champion-avatar{background:linear-gradient(45deg,var(--highlight-amber),var(--color-warning))}.player-avatar{width:80px;height:80px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:3px solid var(--color-border-strong)}.podium-card{padding:1.5rem;border-radius:.75rem;text-align:center;min-width:120px;position:relative}.champion-card{background-color:var(--highlight-amber);color:var(--podium-text-on-medal);transform:scale(1.1);z-index:2}.runner-up-card{background-color:var(--color-text-muted);color:var(--text-on-strong-colored)}.third-place-card{background-color:var(--color-warning);color:var(--text-on-strong-colored)}.podium-icon{width:2rem;height:2rem;margin:0 auto .5rem;display:block}.champion-crown{color:var(--podium-text-on-medal)}.podium-title{font-size:.875rem;font-weight:600;margin-bottom:.5rem}.podium-name{font-size:1rem;font-weight:700}.results-section{background-color:var(--color-background-card);border:1px solid var(--color-border-strong);border-radius:1rem;box-shadow:var(--shadow-sm)}.results-title{font-size:1.25rem;font-weight:700;color:var(--color-text-primary)}.results-subtitle{color:var(--color-text-muted);font-size:.875rem;margin:0 0 2rem}.results-table{width:100%;min-width:800px;display:block}.results-section .table-header-results{display:grid!important;grid-template-columns:1fr 2fr 1.2fr 1.2fr 1fr 1.2fr 1fr!important;gap:1.5rem;padding:1rem 2rem;border-bottom:1px solid var(--card-border-color);align-items:center;box-sizing:border-box;width:100%;background:var(--color-table-header)}.results-section .header-cell{color:var(--color-text-muted);font-size:.775rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;text-align:center}.results-section .header-cell.place{text-align:left}.results-section .header-cell.player{text-align:left;margin-left:1rem}.results-section .table-body{display:flex;flex-direction:column;padding:0;width:100%;box-sizing:border-box}.results-section .table-row{display:grid!important;grid-template-columns:1fr 2fr 1.2fr 1.2fr 1fr 1.2fr 1fr!important;gap:1.5rem;padding:.75rem 2rem;border-bottom:1px solid var(--card-border-color);align-items:center;transition:background-color .2s ease;width:100%;box-sizing:border-box}.results-section .table-row:hover{background-color:var(--color-row-hover)}.results-section .table-row.champion{background-color:#f59e0b1f;border-color:#f59e0b40}html[data-theme=light] .results-section .table-row.champion{background-color:#d977061a}.results-section .table-row.runner-up{background-color:var(--surface-muted-bg);border-color:#64748b33}.results-section .table-row.third-place{background-color:#dc262614;border-color:#dc26262e}.results-section .table-cell{font-size:.875rem;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;min-width:0;display:block}.position-cell{display:flex;align-items:center;gap:.5rem}.position-number{font-size:1.125rem;font-weight:700}.position-icon{width:1.25rem;height:1.25rem}.champion-icon{color:var(--highlight-amber)}.runner-up-icon{color:var(--ui-indicator-muted)}.third-place-icon{color:var(--stat-negative)}.player-cell{display:flex;align-items:center;gap:.75rem;min-width:0}.player-table-avatar{width:40px;height:40px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2px solid var(--color-border-strong)}.player-info{display:block}.player-name{font-weight:600;color:var(--color-text-primary)}.player-title{font-size:.75rem;color:var(--color-text-muted)}.results-section .matches-won-cell{color:var(--stat-positive);font-weight:600;text-align:center}.results-section .matches-lost-cell{color:var(--stat-negative);font-weight:600;text-align:center}.results-section .sets-won-cell{color:var(--stat-positive);font-weight:600;text-align:center}.results-section .sets-lost-cell{color:var(--stat-negative);font-weight:600;text-align:center}.results-section .sets-balance-cell{color:var(--highlight-amber);font-weight:600;text-align:center}.prize-cell{color:var(--highlight-amber);font-weight:700}@media(max-width:1024px){.tournament-results-container{padding:1rem}.champions-podium{gap:1rem}.player-avatar{width:60px;height:60px}.podium-card{padding:1rem;min-width:100px}}@media(max-width:768px){.champions-podium{flex-direction:column;gap:1.5rem}.podium-position{width:100%}.champion-card{transform:none}.results-table{min-width:0}.results-section .table-header-results{display:none!important}.results-section .table-body{padding:.5rem;gap:.5rem}.results-section .table-row{display:flex!important;flex-direction:column;gap:.45rem;padding:.75rem;border:1px solid var(--card-border-color);border-radius:.75rem;margin:0}.results-section .table-cell{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;text-align:right;gap:.75rem}.results-section .table-cell:before{content:attr(data-label);color:var(--color-text-muted);font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;text-align:left}.results-section .position-cell,.results-section .player-cell{justify-content:flex-start;text-align:left}.results-section .position-cell:before,.results-section .player-cell:before{width:95px;flex:0 0 95px}.results-section .player-info{min-width:0}.results-section .player-name{word-break:break-word}}@media(max-width:640px){.champions-section,.results-section{border-radius:.75rem}.results-section .table-cell{font-size:.8rem}.results-section .table-cell:before{font-size:.68rem}}.tournament-results-layout{display:flex;flex-direction:column;gap:1rem}.top-places-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.top-place-tile{display:flex;align-items:center;gap:.65rem;min-height:58px;padding:.65rem .75rem;border-radius:.65rem;border:1px solid var(--card-border-color)}.top-place-first{background:linear-gradient(135deg,#f59e0b,#d97706);border-color:#b45309;box-shadow:0 6px 14px #d9770659}.top-place-second{background:linear-gradient(135deg,#94a3b8,#64748b);border-color:#475569;box-shadow:0 6px 14px #47556947}.top-place-third{background:linear-gradient(135deg,#f97316,#c2410c);border-color:#9a3412;box-shadow:0 6px 14px #9a34124d}.top-place-icon{width:1.1rem;height:1.1rem;flex:0 0 auto}.top-place-label{font-size:.7rem;color:#ffffffd6;text-transform:uppercase;letter-spacing:.03em;line-height:1.2}.top-place-name{font-size:.92rem;font-weight:700;color:#fff;line-height:1.25;word-break:break-word}.results-table-container{overflow-x:auto}.results-table-native{width:100%;min-width:640px;border-collapse:collapse}.results-table-native th,.results-table-native td{padding:.7rem .8rem;border-bottom:1px solid var(--card-border-color);font-size:.84rem}.results-table-native th{text-align:left;font-size:.72rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;background:var(--color-table-header);position:sticky;top:0}.results-table-native td{color:var(--color-text-primary)}.result-won{color:var(--stat-positive);font-weight:700;text-align:center}.result-lost{color:var(--stat-negative);font-weight:700;text-align:center}.result-balance{color:var(--highlight-amber);font-weight:700;text-align:center}.result-pos{display:flex;align-items:center;gap:.4rem}.results-empty-cell{text-align:center;color:var(--color-text-muted)}@media(max-width:900px){.top-places-strip{grid-template-columns:1fr}}.tournament-bracket-empty{border:1px dashed var(--card-border-color);border-radius:.75rem;padding:1rem;color:var(--color-text-muted);font-size:.9rem;background:var(--color-background-card)}.tournament-bracket-layout{width:100%}.tournament-bracket-embed-shell{border:1px solid var(--card-border-color);border-radius:.85rem;background:var(--color-background-card);overflow:hidden}.tournament-bracket-embed{width:100%;min-width:1000px;height:72vh;border:0;display:block}@media(max-width:900px){.tournament-bracket-embed-shell{overflow-x:auto}.tournament-bracket-embed{height:68vh}}.tournament-fees-modal-backdrop{position:fixed;inset:0;background:var(--modal-backdrop);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal, 1050);padding:1rem}.tournament-fees-modal-box{width:100%;max-width:420px;max-height:min(85vh,560px);display:flex;flex-direction:column;background:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:12px;padding:1.25rem;box-shadow:var(--shadow-xl);color:var(--color-text-primary)}.tournament-fees-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.tournament-fees-modal-title-block{flex:1;min-width:0}.tournament-fees-modal-title{margin:0;font-size:1.1rem;font-weight:700}.tournament-fees-modal-counter{margin:.35rem 0 0;font-size:.9rem;font-weight:500;color:var(--color-text-muted)}.tournament-fees-modal-close{flex-shrink:0;background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:.25rem;border-radius:6px;display:flex;transition:color .15s,background .15s}.tournament-fees-modal-close:hover{color:var(--color-text-primary);background:var(--surface-muted-bg)}.tournament-fees-modal-error{color:var(--stat-negative);font-size:.875rem;margin:0 0 .75rem}.tournament-fees-modal-empty{color:var(--color-text-muted);margin:.5rem 0 1rem;font-size:.95rem}.tournament-fees-modal-search{width:100%;border:1px solid var(--card-border-color);background:var(--color-background);color:var(--color-text-primary);border-radius:8px;padding:.55rem .7rem;font-size:.9rem;margin:0 0 .75rem}.tournament-fees-modal-search:focus{outline:2px solid var(--focus-ring-color, var(--color-primary));outline-offset:1px}.tournament-fees-modal-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1;min-height:0}.tournament-fees-modal-row{border-bottom:1px solid var(--card-border-color)}.tournament-fees-modal-row:last-child{border-bottom:none}.tournament-fees-modal-label{display:flex;align-items:flex-start;gap:.75rem;padding:.65rem 0;cursor:pointer;margin:0}.tournament-fees-modal-checkbox{margin-top:.2rem;width:1.1rem;height:1.1rem;accent-color:var(--color-primary);flex-shrink:0}.tournament-fees-modal-player{display:flex;flex-direction:column;gap:.15rem;min-width:0}.tournament-fees-modal-name{font-weight:600;font-size:.9rem}.tournament-fees-modal-email{font-size:.78rem;color:var(--color-text-muted);word-break:break-all}.tournament-fees-modal-hint{margin:1rem 0 0;font-size:.78rem;color:var(--color-text-disabled);line-height:1.4}.regulations-editor{display:flex;flex-direction:column;gap:.5rem;min-height:0}.regulations-editor-toolbar{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap;padding:.35rem;border:1px solid var(--card-border-color);border-radius:8px;background:var(--surface-muted-bg, var(--color-background))}.regulations-editor-tool{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:6px;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background .15s,color .15s}.regulations-editor-tool:hover:not(:disabled){background:var(--fill-primary-soft);color:var(--color-primary)}.regulations-editor-tool:disabled{opacity:.45;cursor:not-allowed}.regulations-editor-toolbar-sep{width:1px;height:1.25rem;margin:0 .15rem;background:var(--card-border-color)}.regulations-editor-textarea{width:100%;min-height:220px;max-height:min(50vh,420px);resize:vertical;border:1px solid var(--card-border-color);background:var(--color-background);color:var(--color-text-primary);border-radius:8px;padding:.75rem;font-size:.9rem;line-height:1.55;font-family:inherit}.regulations-editor-textarea:focus{outline:2px solid var(--focus-ring-color, var(--color-primary));outline-offset:1px}.regulations-editor-counter{margin:0;font-size:.75rem;color:var(--color-text-muted);text-align:right}.tournament-regulations-modal-backdrop{position:fixed;inset:0;background:var(--modal-backdrop);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal, 1050);padding:1rem}.tournament-regulations-modal-box{width:100%;max-width:600px;max-height:min(85vh,640px);display:flex;flex-direction:column;background:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:12px;padding:1.25rem;box-shadow:var(--shadow-xl);color:var(--color-text-primary)}.tournament-regulations-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.tournament-regulations-modal-title{margin:0;font-size:1.1rem;font-weight:700}.tournament-regulations-modal-close{flex-shrink:0;background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:.25rem;border-radius:6px;display:flex;transition:color .15s,background .15s}.tournament-regulations-modal-close:hover{color:var(--color-text-primary);background:var(--surface-muted-bg)}.tournament-regulations-modal-error{color:var(--stat-negative);font-size:.875rem;margin:0 0 .75rem}.tournament-regulations-modal-body{flex:1;min-height:0;overflow-y:auto}.tournament-regulations-modal-content{margin:0;font-size:.95rem;line-height:1.55;white-space:pre-wrap;word-break:break-word}.tournament-regulations-modal-empty{color:var(--color-text-muted);margin:0;font-size:.95rem}.tournament-regulations-modal-textarea{width:100%;min-height:220px;max-height:min(50vh,420px);resize:vertical;border:1px solid var(--card-border-color);background:var(--color-background);color:var(--color-text-primary);border-radius:8px;padding:.75rem;font-size:.9rem;line-height:1.5;font-family:inherit}.tournament-regulations-modal-textarea:focus{outline:2px solid var(--focus-ring-color, var(--color-primary));outline-offset:1px}.tournament-regulations-modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--card-border-color)}.tournament-regulations-modal-btn{padding:.45rem .9rem;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;border:1px solid transparent}.tournament-regulations-modal-btn-secondary{background:var(--surface-muted-bg);border-color:var(--card-border-color);color:var(--color-text-primary)}.tournament-regulations-modal-btn-primary{background:var(--color-primary);color:var(--text-on-strong-colored, #fff)}.tournament-regulations-modal-btn:disabled{opacity:.55;cursor:not-allowed}.tournament-regulations-modal-edit-toggle{margin-top:.75rem;padding:0;background:none;border:none;color:var(--color-primary);font-size:.875rem;font-weight:600;cursor:pointer}.tournament-regulations-modal-edit-toggle:hover{text-decoration:underline}.match-tts-modal-backdrop{position:fixed;inset:0;background:var(--modal-backdrop);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal, 1050);padding:1.5rem}.match-tts-modal-box{width:100%;max-width:560px;overflow:hidden;display:flex;flex-direction:column;background:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:14px;padding:1.5rem 1.75rem;box-shadow:var(--shadow-xl);color:var(--color-text-primary)}.match-tts-modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.match-tts-modal-title{margin:0;font-size:1.35rem;font-weight:700;line-height:1.25}.match-tts-modal-close{flex-shrink:0;background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:.35rem;border-radius:8px;display:flex}.match-tts-modal-close:hover{color:var(--color-text-primary);background:var(--fill-primary-soft)}.match-tts-modal-unavailable{margin:0;font-size:1rem;color:var(--color-text-muted);line-height:1.5}.match-tts-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;margin-bottom:1.25rem;border:1px solid var(--card-border-color);border-radius:10px;font-weight:600;font-size:1rem;cursor:pointer}.match-tts-toggle-row input{width:1.15rem;height:1.15rem;accent-color:var(--accent-violet)}.match-tts-fieldset{border:none;margin:0 0 1.25rem;padding:0}.match-tts-fieldset legend{font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:.65rem}.match-tts-speed-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem}.match-tts-speed-btn{padding:.75rem .5rem;border-radius:10px;border:1px solid var(--card-border-color);background:var(--color-background-card);color:var(--color-text-primary);font-weight:600;font-size:.875rem;line-height:1.2;cursor:pointer;transition:background .15s,border-color .15s,color .15s;text-align:center}.match-tts-speed-btn:hover{border-color:var(--accent-violet)}.match-tts-speed-btn-active{background:var(--accent-violet);border-color:var(--accent-violet);color:var(--text-on-strong-colored)}.match-tts-modal-footer{display:flex;align-items:center;gap:.75rem;margin-top:.25rem}.match-tts-modal-error{flex:1 1 100%;margin:0 0 .25rem;font-size:.875rem;color:var(--color-error, #dc2626)}.match-tts-preview-btn,.match-tts-close-btn{flex:1;padding:.75rem 1rem;border-radius:10px;font-weight:600;font-size:.9375rem;cursor:pointer;border:1px solid transparent}.match-tts-preview-btn{background:var(--fill-primary-soft);border-color:var(--fill-primary-border);color:var(--color-primary)}.match-tts-preview-btn:hover:not(:disabled){background:var(--fill-primary-strong)}.match-tts-preview-btn:disabled{opacity:.5;cursor:not-allowed}.match-tts-close-btn{background:var(--accent-violet);color:var(--text-on-strong-colored)}.match-tts-close-btn:hover{filter:brightness(1.05)}.match-tts-modal-footer:has(.match-tts-modal-error){flex-wrap:wrap}@media(max-width:560px){.match-tts-modal-box{padding:1.25rem 1.35rem}.match-tts-speed-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.modal-backdrop{position:fixed;inset:0;background:var(--modal-backdrop);display:flex;align-items:center;justify-content:center;z-index:50}.modal-content.modal-content-picker{max-width:640px}.modal-content{background:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:1rem;box-shadow:var(--shadow-xl);padding:2rem 2.5rem;min-width:480px;max-width:600px;width:90vw;color:var(--color-text-primary);display:flex;flex-direction:column;gap:1.5rem;animation:modal-in .18s cubic-bezier(.37,.01,.56,1.17);position:relative}@keyframes modal-in{0%{transform:scale(.95);opacity:0}}.modal-close{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:.25rem;border-radius:.25rem;transition:color .2s,background-color .2s}.modal-close:hover{color:var(--color-text-primary);background-color:var(--surface-muted-bg)}.modal-title{font-size:1.5rem;font-weight:700;margin:0;color:var(--color-text-primary)}.modal-validation-error{margin:0;padding:.75rem 1rem;border-radius:.5rem;background:var(--fill-danger-soft, rgba(239, 68, 68, .08));border:1px solid rgba(239,68,68,.25);color:var(--color-error-strong);font-size:.9rem;line-height:1.45;flex-shrink:0}.form-group{display:flex;flex-direction:column;gap:.75rem}.form-row.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}.atm-date-input-with-button{display:flex;gap:.5rem;align-items:center}.atm-date-input-with-button .form-input{flex:1;min-width:0}.atm-date-picker-btn{display:inline-flex;align-items:center;justify-content:center;height:44px;width:44px;flex-shrink:0;padding:0;border:1px solid var(--card-border-color);background:var(--color-background);color:var(--color-text-primary);border-radius:.5rem;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.atm-date-picker-btn svg{stroke:currentColor;color:inherit;flex-shrink:0}.atm-date-picker-btn:hover{background:#3b82f61f;border-color:var(--color-primary);color:var(--color-primary)}.form-input{background:var(--color-background);border:1px solid var(--card-border-color);border-radius:.5rem;padding:.75rem 1rem;color:var(--color-text-primary);font-size:1rem;outline:none;transition:border-color .2s;box-sizing:border-box;width:100%}.form-label{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0}.add-tournament-field-hint{margin:.35rem 0 0;font-size:.8125rem;line-height:1.4;color:var(--color-text-secondary)}.form-input:focus{border-color:var(--color-primary)}.form-select{height:50px;width:100%;background-color:var(--color-background);border:1px solid var(--card-border-color);border-radius:.5rem;padding:.75rem .75rem .75rem 2.5rem;color:var(--color-text-primary);font-size:1rem;outline:none;transition:all .2s ease-in-out;cursor:pointer;box-sizing:border-box}.form-select:focus{border-color:var(--fill-primary-border)}.tournament-type-options{display:flex;flex-direction:column;gap:.75rem}.tournament-type-option{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;background-color:var(--color-background);border:1px solid var(--card-border-color);border-radius:.75rem;cursor:pointer;transition:all .2s}.tournament-type-option:hover{border-color:#3b82f64d;background-color:#3b82f60d}.tournament-type-option.selected{border-color:var(--color-primary);background-color:#3b82f61a}.radio-indicator{width:1.25rem;height:1.25rem;border:2px solid var(--color-text-disabled);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .2s;margin-top:.125rem}.tournament-type-option.selected .radio-indicator{border-color:var(--color-primary)}.radio-dot{width:.5rem;height:.5rem;background-color:var(--color-primary);border-radius:50%}.type-info{flex:1}.type-title{font-size:1.1rem;font-weight:600;margin:0 0 .25rem;color:var(--color-text-primary)}.type-description{font-size:.9rem;color:var(--color-text-muted);margin:0;line-height:1.4}.tournament-type-options--compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.tournament-type-options--compact .tournament-type-option{padding:.6rem .75rem;gap:.55rem;border-radius:.5rem;align-items:center}.tournament-type-options--compact .radio-indicator{width:1rem;height:1rem;margin-top:0}.tournament-type-options--compact .radio-dot{width:.4rem;height:.4rem}.tournament-type-options--compact .type-title{font-size:.875rem;margin-bottom:.1rem}.tournament-type-options--compact .type-description{font-size:.72rem;line-height:1.3}.form-group--compact-tables{gap:.5rem}.table-field-row{display:grid;grid-template-columns:minmax(7.5rem,auto) 1fr;gap:.5rem .75rem;align-items:center;margin-top:.35rem}.table-field-label{margin:0;font-weight:600;font-size:.875rem;color:var(--color-text-primary);white-space:nowrap}.table-field-label:after{content:":"}.table-field-control{min-width:0}.table-field-control .form-select{width:100%}.table-count-input{width:5rem;max-width:100%;padding:.45rem .6rem;text-align:center}.table-field-status{margin:0}.table-field-hint{grid-column:1 / -1;margin:0}.groups-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.75rem}.group-number-btn{padding:1rem;background-color:var(--color-background);border:1px solid var(--card-border-color);border-radius:.5rem;color:var(--color-text-primary);font-size:1.25rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.group-number-btn:hover{border-color:#3b82f64d;background-color:#3b82f60d}.group-number-btn.selected{border-color:var(--color-primary);background-color:#3b82f61a;color:var(--color-primary)}.group-number-btn:disabled{opacity:.42;cursor:not-allowed;color:var(--color-text-muted);background-color:var(--color-surface-elevated);border-color:var(--card-border-color);box-shadow:none}.group-number-btn:disabled:hover{border-color:var(--card-border-color);background-color:var(--color-surface-elevated)}.group-number-btn.selected:disabled{opacity:.42}.modal-content:has(.players-list){gap:.5rem}.modal-content:has(.players-list) .players-header{margin-bottom:0}.modal-content:has(.players-list) .step-list-header{margin-bottom:.25rem}.modal-content:has(.players-list) .form-group{gap:0}.players-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.players-counter{margin-left:auto;display:flex;align-items:center;gap:.5rem;color:var(--color-primary);font-weight:600;font-size:.95rem}.search-container{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:1rem;color:var(--color-text-disabled);z-index:1}.search-input{background-color:var(--color-background);border:1px solid var(--card-border-color);border-radius:.5rem;padding:.75rem 1rem .75rem 3rem;color:var(--color-text-primary);font-size:.95rem;outline:none;transition:border-color .2s;width:100%}.search-input::-moz-placeholder{color:var(--color-text-disabled)}.search-input::placeholder{color:var(--color-text-disabled)}.search-input:focus{border-color:var(--color-primary)}.players-actions{display:flex;gap:.75rem;margin-bottom:1rem;align-items:center;flex-wrap:wrap}.modal-content:has(.players-list) .players-actions{margin-bottom:0}.sort-buttons{display:flex;gap:.5rem;margin-left:auto}.sort-btn{display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;border-radius:.375rem;border:1px solid var(--card-border-color);background-color:var(--color-background);color:var(--color-text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.sort-btn:hover{background-color:var(--color-background-card);border-color:#4b5563}.sort-btn.active{border-color:var(--color-primary);background-color:#3b82f61a;color:var(--color-primary)}.select-all-btn,.clear-all-btn{padding:.5rem 1rem;border-radius:.375rem;border:1px solid var(--card-border-color);background-color:var(--color-background);color:var(--color-text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.select-all-btn:hover,.clear-all-btn:hover{background-color:var(--color-background-card);border-color:#4b5563}.players-list{height:300px;min-height:300px;overflow-y:auto;overflow-x:hidden;border:1px solid var(--card-border-color);border-radius:.5rem;background-color:var(--color-background)}.players-list .loading-info{display:flex;align-items:center;justify-content:center;height:100%;min-height:100%;padding:1rem;color:var(--color-text-muted);font-size:.9rem}.player-item{display:flex;align-items:center;gap:1rem;padding:1rem;cursor:pointer;transition:all .2s;border-bottom:1px solid var(--color-border-light)}.player-item:last-child{border-bottom:none}.player-item:hover{background-color:#3b82f60d}.player-item.selected{background-color:#3b82f61a;border-color:#3b82f64d}.player-item:focus{outline:2px solid var(--color-primary);outline-offset:-2px}.player-item.focused{background-color:#3b82f614}.player-item.focused.selected{background-color:#3b82f626}.player-checkbox{width:1.25rem;height:1.25rem;border:2px solid var(--color-text-disabled);border-radius:.25rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.player-item.selected .player-checkbox{border-color:var(--color-primary);background-color:var(--color-primary)}.checkbox-check{width:.5rem;height:.5rem;background-color:var(--text-on-strong-colored);border-radius:.125rem}.player-avatar{width:2.5rem;height:2.5rem;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));display:flex;align-items:center;justify-content:center;color:var(--text-on-strong-colored);font-weight:600;font-size:1.1rem;flex-shrink:0}.player-info-wrapper{flex:1;display:flex;flex-direction:column;gap:.25rem}.player-name{color:var(--color-text-primary);font-weight:500}.player-age{color:var(--color-text-muted);font-size:.875rem;font-weight:400}.minimum-players-warning{background-color:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:.5rem;padding:.75rem 1rem;color:var(--color-error-light);font-size:.875rem;text-align:center;margin-top:1rem}.modal-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem}.modal-actions:not(:has(.back-btn)){justify-content:flex-end}.modal-actions>.back-btn{margin-right:auto}.modal-actions-players>.skip-btn{margin-left:auto}.modal-content-step-2{gap:1rem}.modal-actions--tight{margin-top:0}.back-btn,.next-btn,.create-btn,.modal-btn{padding:.5rem 1.25rem;border-radius:.5rem;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.back-btn{background:var(--color-surface-elevated);color:var(--color-text-secondary);border:1px solid var(--card-border-color)}.back-btn:hover{background:var(--color-bg-inset);color:var(--color-text-primary);border-color:var(--color-text-disabled)}.next-btn,.create-btn{background:var(--color-success-light);color:var(--text-on-strong-colored);border:none}.next-btn:hover,.create-btn:hover{background:var(--color-success);transform:translateY(-1px);box-shadow:var(--shadow-md)}.next-btn:disabled,.create-btn:disabled{background:var(--ui-indicator-muted);color:var(--color-text-disabled);cursor:not-allowed;transform:none;box-shadow:none}@media(max-width:768px){.modal-backdrop{align-items:flex-end;padding:0}.modal-content{min-width:0;width:100%;max-width:100%;max-height:90vh;overflow-y:auto;padding:1.25rem 1rem 1.5rem;margin:0;border-radius:1rem 1rem 0 0;border-bottom:none}.modal-close{top:1rem;right:1rem;padding:.5rem}.modal-title{font-size:1.25rem;padding-right:2.5rem}.form-row.two-cols{grid-template-columns:1fr}.tournament-type-option{padding:1rem}.type-title{font-size:1rem}.type-description{font-size:.85rem}.groups-grid{grid-template-columns:repeat(4,1fr)}.group-number-btn{padding:.75rem;font-size:1rem}.players-actions{flex-direction:column;align-items:stretch}.sort-buttons,.players-counter{margin-left:0}.select-all-btn,.clear-all-btn{width:100%}.players-list{height:min(45vh,280px);min-height:min(45vh,280px)}.player-item{padding:.75rem 1rem;min-height:48px}.player-avatar{width:2rem;height:2rem;font-size:.9rem}.modal-actions{flex-direction:column}.modal-actions .back-btn,.modal-actions .next-btn,.modal-actions .create-btn{width:100%;min-height:48px}.tournament-type-options--compact{grid-template-columns:1fr}.form-input,.form-select{min-height:48px;font-size:16px}.search-input{min-height:48px;padding-left:3rem;font-size:16px}}@media(max-width:480px){.modal-content{padding:1rem .75rem 1.25rem}.groups-grid{grid-template-columns:repeat(3,1fr)}.group-number-btn{padding:.65rem;font-size:.95rem}}.modal-actions-players{flex-wrap:wrap;gap:.5rem}.skip-btn,.draft-btn,.online-draft-btn{padding:.5rem 1.25rem;border-radius:.5rem;font-weight:600;font-size:.95rem;min-height:44px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.skip-btn{background:var(--color-surface-elevated);color:var(--color-text-secondary);border:1px solid var(--color-border-strong)}.skip-btn:hover{background:var(--color-bg-inset);color:var(--color-text-primary)}.players-skipped-hint{margin:.75rem 0 0;font-size:.8125rem;line-height:1.45;color:var(--color-text-secondary)}.modal-actions-final{flex-wrap:wrap;gap:.5rem}.draft-btn{background:#f59e0b33;color:var(--highlight-amber);border:1px solid rgba(245,158,11,.45)}.draft-btn:hover:not(:disabled){background:#f59e0b4d}.draft-btn:disabled{opacity:.45;cursor:not-allowed}.online-draft-btn{background:#3b82f633;color:var(--accent-blue-on-surface);border:1px solid rgba(59,130,246,.45)}.online-draft-btn:hover:not(:disabled){background:#3b82f652}.online-draft-btn:disabled{opacity:.45;cursor:not-allowed}.step-list-header{display:block;margin-bottom:1rem}.step-list-header .modal-title{margin:0 0 .35rem}.operators-step-hint{margin:0;font-size:.85rem;color:var(--color-text-muted);font-weight:400;line-height:1.45}.operator-you-badge{margin-left:.5rem;font-size:.75rem;color:var(--color-text-muted);font-style:italic;font-weight:500}.player-item-locked{cursor:default;opacity:.92}.atm-regulations-field{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.atm-regulations-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .9rem;border-radius:.5rem;font-weight:600;font-size:.875rem;border:1px solid var(--fill-primary-border);background:var(--fill-primary-soft);color:var(--color-primary);cursor:pointer;transition:background .15s,border-color .15s}.atm-regulations-btn:hover{background:var(--fill-primary-strong);border-color:var(--color-primary)}.atm-regulations-hint{margin:0;font-size:.8rem;color:var(--color-text-muted)}.atm-seeding-hint{display:inline-flex;align-items:center;gap:.4rem;margin:0 0 .5rem}.atm-seeding-manual{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.tsm-overlay{position:fixed;inset:0;background:var(--modal-backdrop);display:flex;align-items:center;justify-content:center;z-index:55;padding:1rem}.tsm-overlay-manual{z-index:60}.tsm-content{background:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:1rem;box-shadow:var(--shadow-xl);width:min(640px,100%);max-height:min(90vh,820px);display:flex;flex-direction:column;overflow:hidden}.tsm-content-manual{width:min(920px,100%);max-height:min(92vh,900px)}.tsm-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem .75rem}.tsm-title{margin:0;font-size:1.25rem;font-weight:700;color:var(--color-text-primary)}.tsm-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:.25rem;border-radius:.25rem}.tsm-close:hover{color:var(--color-text-primary)}.tsm-body{padding:0 1.5rem 1rem;overflow-y:auto;flex:1}.tsm-mode-options{margin-bottom:.75rem}.tsm-mode-options.tournament-type-options--compact{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:560px){.tsm-mode-options.tournament-type-options--compact{grid-template-columns:1fr}}.tsm-mode-detail{margin-bottom:1rem}.tsm-mode-detail .form-label{font-size:.8rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.tsm-sub-mode-options{margin-bottom:.5rem}.tsm-select{width:100%}.tsm-manual-open-block{display:flex;flex-direction:column;gap:.75rem;align-items:flex-start}.tsm-open-manual-btn{width:100%}.tsm-hint-groups{margin-top:-.35rem}.tsm-manual-list{border:1px solid var(--card-border-color);border-radius:.5rem;overflow:hidden;max-height:min(58vh,520px);overflow-y:auto}.tsm-manual-row{display:flex;align-items:center;gap:.5rem;padding:.5rem .65rem;border-bottom:1px solid var(--card-border-color);background:var(--color-background);cursor:grab}.tsm-manual-row:last-child{border-bottom:none}.tsm-manual-row:active{cursor:grabbing}.tsm-manual-row-dragging{opacity:.45}.tsm-manual-pos{width:2rem;font-weight:700;font-size:.85rem;color:var(--accent-violet-muted);text-align:center;flex-shrink:0}.tsm-manual-grip{color:var(--color-text-disabled);flex-shrink:0}.tsm-manual-name{flex:1;min-width:0;font-weight:600;font-size:.875rem;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tsm-manual-group-badge{flex-shrink:0;padding:.2rem .55rem;border-radius:.35rem;font-size:.72rem;font-weight:700;background:#3b82f61f;color:var(--color-primary);border:1px solid rgba(59,130,246,.28);white-space:nowrap}.tsm-manual-position-label{font-size:.75rem;color:var(--color-text-muted);white-space:nowrap}.tsm-manual-position-input{width:3.25rem;padding:.3rem .4rem;border-radius:.35rem;border:1px solid var(--card-border-color);background:var(--color-bg-inset);color:var(--color-text-primary);font-size:.85rem;text-align:center}.tsm-manual-actions{display:flex;gap:.2rem;flex-shrink:0}.tsm-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;border:1px solid var(--card-border-color);border-radius:.35rem;background:var(--color-background-card);color:var(--color-text-muted);cursor:pointer;padding:0}.tsm-icon-btn:hover:not(:disabled){color:var(--color-primary);border-color:#3b82f659}.tsm-icon-btn:disabled{opacity:.35;cursor:not-allowed}.tsm-hint{margin:0 0 .75rem;font-size:.82rem;color:var(--color-text-muted);line-height:1.45}.tsm-error{margin:0 0 .75rem;color:var(--color-error-light);font-size:.85rem}.tsm-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:1rem 1.5rem;border-top:1px solid var(--card-border-color)}.tsm-sim-trigger{margin-right:auto;display:inline-flex;align-items:center;gap:.4rem}.tsm-overlay-simulation{z-index:65}.tsm-content-simulation{width:min(960px,100%);max-height:min(92vh,900px)}.tsm-sim-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.85rem}.tsm-sim-group{border:1px solid var(--card-border-color);border-radius:.6rem;background:var(--color-background);overflow:hidden;display:flex;flex-direction:column;min-height:4.5rem;transition:border-color .12s ease,box-shadow .12s ease}.tsm-sim-group-droppable{border-color:#3b82f680;border-style:dashed;box-shadow:inset 0 0 0 1px #3b82f62e}.tsm-sim-group-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .75rem;background:#3b82f61a;border-bottom:1px solid var(--card-border-color)}.tsm-sim-group-name{font-weight:700;font-size:.9rem;color:var(--color-primary)}.tsm-sim-group-count{font-size:.72rem;font-weight:600;color:var(--color-text-muted)}.tsm-sim-list{list-style:none;margin:0;padding:.35rem .5rem .5rem;display:flex;flex-direction:column;gap:.2rem}.tsm-sim-row{display:flex;align-items:center;gap:.45rem;padding:.3rem .35rem;border-radius:.35rem;cursor:grab}.tsm-sim-row:active{cursor:grabbing}.tsm-sim-row:nth-child(odd){background:var(--color-bg-inset, rgba(127, 127, 127, .06))}.tsm-sim-row-dragging{opacity:.45}.tsm-sim-grip{flex-shrink:0;color:var(--color-text-disabled)}.tsm-sim-move{display:inline-flex;gap:.15rem;flex-shrink:0}.tsm-sim-move .tsm-icon-btn{width:1.6rem;height:1.6rem}.tsm-sim-seed{flex-shrink:0;width:2.1rem;font-weight:700;font-size:.78rem;color:var(--accent-violet-muted);text-align:center}.tsm-sim-name{flex:1;min-width:0;font-size:.85rem;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tsm-sim-empty{margin:0;padding:.6rem .75rem;font-size:.8rem;color:var(--color-text-muted)}.tournament-draft-page{min-height:80vh;background-color:var(--color-background);width:100%;max-width:1400px;margin:0 auto;padding:1.5rem 9% 2rem;color:var(--color-text-primary);font-family:Inter,sans-serif;font-weight:600}.tournament-draft-header{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.tournament-draft-header h1{margin:0;font-size:1.75rem}.draft-badge-large{background:#f59e0b33;color:var(--highlight-amber);border:1px solid rgba(245,158,11,.4);padding:.25rem .75rem;border-radius:999px;font-size:.8rem;font-weight:700}.tournament-draft-section-title{display:flex;align-items:center;gap:.5rem;font-size:1.15rem;font-weight:700;margin:0 0 1rem;color:var(--color-text-secondary)}.tournament-draft-details{margin:1.5rem 0;background:var(--color-table-header);border:1px solid var(--card-border-color);border-radius:.75rem;padding:1.25rem 1.5rem}.tournament-draft-dl{margin:0;display:flex;flex-direction:column;gap:0}.tournament-draft-dl-row{display:grid;grid-template-columns:minmax(140px,240px) 1fr;gap:.75rem 1.5rem;padding:.65rem 0;border-bottom:1px solid var(--color-border-light);align-items:start}.tournament-draft-dl-row:last-child{border-bottom:none}.tournament-draft-dl-row dt{margin:0;font-size:.8rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.tournament-draft-dl-row dd{margin:0;font-size:.95rem;color:var(--color-text-primary);font-weight:600;word-break:break-word}@media(max-width:600px){.tournament-draft-dl-row{grid-template-columns:1fr;gap:.25rem}}.tournament-draft-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0}.tournament-draft-actions-top{margin-top:0;margin-bottom:1rem}.td-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.1rem;border-radius:.5rem;font-weight:600;border:none;cursor:pointer;font-size:.9rem}.td-btn:disabled{opacity:.5;cursor:not-allowed}.td-btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));color:var(--text-on-strong-colored)}.td-btn-secondary{background:var(--accent-violet-soft-bg);color:var(--accent-violet-muted);border:1px solid var(--accent-violet-soft-border)}.td-btn-danger{background:#ef444426;color:var(--stat-negative);border:1px solid rgba(239,68,68,.35)}.td-btn-accent{background:var(--color-success-light);color:var(--text-on-strong-colored)}.td-btn-outline{background:transparent;color:var(--stat-negative);border:1px solid rgba(248,113,113,.5)}.tournament-draft-register-row{margin-bottom:1.5rem}.tournament-draft-register-row.tournament-draft-register-top{margin-bottom:1.25rem}.tournament-draft-register-first{margin-top:0}.tournament-draft-section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}.tournament-draft-section-head .tournament-draft-section-title{margin:0}.tournament-draft-section-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.tournament-draft-view-toggle{display:inline-flex;border:1px solid var(--card-border-color);border-radius:.5rem;overflow:hidden;background:var(--color-background)}.tournament-draft-view-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .65rem;border:none;background:transparent;color:var(--color-text-muted);font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.tournament-draft-view-btn+.tournament-draft-view-btn{border-left:1px solid var(--card-border-color)}.tournament-draft-view-btn:hover{color:var(--color-text-secondary);background:var(--color-row-hover)}.tournament-draft-view-btn-active{background:#8b5cf626;color:var(--accent-violet-muted)}.tournament-draft-view-btn-label{display:none}@media(min-width:520px){.tournament-draft-view-btn-label{display:inline}}.tournament-draft-operators,.tournament-draft-players{margin-top:.5rem}.tournament-draft-operator-avatar{background:linear-gradient(135deg,#eab30859,#ca8a0480);color:#fef3c7}.tournament-draft-no-players{color:var(--color-text-disabled);font-size:.95rem;margin:0;padding:1rem;background:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:.75rem}.tournament-draft-players-login-prompt{margin:0;padding:1.25rem 1.5rem;border-radius:.75rem;border:1px solid var(--card-border-color);background:var(--color-table-header);display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.tournament-draft-players-login-count{margin:0;font-size:1rem;font-weight:700;color:var(--color-text-primary)}.tournament-draft-players-login-hint{margin:0;font-size:.9375rem;line-height:1.5;font-weight:500;color:var(--color-text-secondary)}.tournament-draft-players-privacy-hint{color:var(--color-text-muted);font-size:.95rem;margin:0;padding:1rem 1.1rem;background:var(--color-table-header);border:1px solid var(--card-border-color);border-radius:.75rem;line-height:1.45;font-weight:500}.tournament-draft-player-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.tournament-draft-player-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--card-border-color);border-radius:.75rem;overflow:hidden;background:var(--color-background-card)}.tournament-draft-player-list .tournament-draft-player-tile{border-radius:0;border:none;border-bottom:1px solid var(--card-border-color);padding:.65rem 2.5rem .65rem .85rem;background:transparent;box-shadow:none}.tournament-draft-player-list .tournament-draft-player-tile:last-child{border-bottom:none}.tournament-draft-player-list .tournament-draft-player-tile:hover{background:var(--color-row-hover);border-color:transparent;box-shadow:none}.tournament-draft-player-list .tournament-draft-player-avatar{width:2rem;height:2rem;font-size:.85rem;border-radius:.4rem}.tournament-draft-seed-pos{flex-shrink:0;min-width:1.75rem;font-weight:800;font-size:.9rem;color:var(--accent-violet-muted);text-align:center}.tournament-draft-player-tile{position:relative;display:flex;align-items:center;gap:.85rem;padding:1rem 2.5rem 1rem 1rem;background:linear-gradient(145deg,var(--color-bg-inset),var(--color-table-header));border:1px solid var(--card-border-color);border-radius:.75rem;transition:border-color .15s,box-shadow .15s}.tournament-draft-player-tile:hover{border-color:var(--accent-violet-soft-border);box-shadow:var(--shadow-lg)}.tournament-draft-player-remove{position:absolute;top:.5rem;right:.5rem;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:.375rem;background:#ef44441f;color:var(--stat-negative);cursor:pointer;transition:background .15s,color .15s}.tournament-draft-player-remove:hover:not(:disabled){background:#ef444440;color:var(--color-error-light)}.tournament-draft-player-remove:disabled{opacity:.4;cursor:not-allowed}.tournament-draft-player-avatar{flex-shrink:0;width:2.75rem;height:2.75rem;border-radius:.65rem;background:linear-gradient(135deg,var(--accent-violet),var(--accent-violet-hover));color:var(--text-on-strong-colored);font-weight:800;font-size:1.1rem;display:flex;align-items:center;justify-content:center}.tournament-draft-player-body{min-width:0;flex:1}.tournament-draft-player-name{font-weight:700;font-size:.95rem;color:var(--color-text-primary);line-height:1.3}.tournament-draft-player-email{font-size:.8rem;color:var(--color-text-muted);margin-top:.25rem;word-break:break-all}.tournament-management{min-height:80vh;background-color:var(--color-background);color:var(--color-text-primary);font-family:Inter,sans-serif;font-weight:600;width:100%;max-width:1400px;padding:0 9%;margin:0 auto}.tournament-controls{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.add-tournament-btn{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));color:var(--text-on-strong-colored);padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;font-size:.95rem;display:flex;align-items:center;gap:.5rem;transition:all .2s;border:none;cursor:pointer;box-shadow:0 2px 4px #3b82f633}.add-tournament-btn:hover{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-active));transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}.tournaments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.tournament-pagination{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 0;border-top:1px solid var(--card-border-color);margin-top:2rem}.tournament-pagination-left{display:flex;align-items:center;gap:.75rem;color:var(--color-text-muted);font-size:.85rem}.tournament-pagination-controls{display:flex;gap:.5rem}.pagination-btn{background:var(--fill-primary-soft);color:var(--color-primary);border:1px solid var(--fill-primary-border);border-radius:.375rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;font-weight:600;font-size:.85rem;transition:all .2s}.pagination-btn:hover:not(:disabled){background:var(--fill-primary-strong)}.pagination-btn.active{background:var(--color-primary);color:var(--text-on-strong-colored);border-color:var(--color-primary)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.tournament-management{padding:0 1rem}.tournaments-grid{grid-template-columns:1fr;gap:1rem;margin-bottom:1rem}.tournament-controls{flex-direction:column;align-items:stretch;gap:.75rem}.tournament-pagination{flex-direction:column;align-items:stretch;gap:1rem;padding:1rem 0;margin-top:1rem}.tournament-pagination-left{flex-direction:column;align-items:stretch;gap:.5rem}.showing-text{text-align:center;font-size:.8rem}.items-per-page-select{width:100%;min-height:44px;font-size:16px}.tournament-pagination-controls{overflow-x:auto;-webkit-overflow-scrolling:touch;justify-content:center;flex-wrap:nowrap;gap:.35rem;padding-bottom:.25rem}.pagination-btn{flex-shrink:0;min-width:2.25rem;min-height:2.25rem;font-size:.8rem}}@media(max-width:480px){.tournament-management{padding:0 .75rem}.tournament-pagination{padding:.75rem 0}.showing-text{font-size:.75rem}.pagination-btn{min-width:2rem;min-height:2rem}}.form-row.two-cols{display:grid;grid-template-columns:3fr 1fr;gap:16px;align-items:start}@media(max-width:720px){.form-row.two-cols{grid-template-columns:1fr}}.date-input-with-button{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.date-picker-btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 12px;border:1px solid var(--color-border-light);background:var(--color-primary);border-radius:8px;cursor:pointer}.date-picker-btn:hover{background:var(--color-bg-inset)}.tournament-card{background:linear-gradient(145deg,var(--color-background-card),var(--color-bg-inset));border:1px solid var(--card-border-color);border-radius:.75rem;padding:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.tournament-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.6rem;gap:1rem}.tournament-card-badges{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end;align-items:center}.badge-draft{padding:.2rem .55rem;border-radius:999px;font-size:.6rem;font-weight:700;text-transform:uppercase;background:color-mix(in srgb,var(--highlight-amber) 18%,var(--color-background-card));color:var(--amber-badge-fg);border:1px solid color-mix(in srgb,var(--highlight-amber) 42%,var(--card-border-color))}.badge-register{padding:.2rem .55rem;border-radius:999px;font-size:.6rem;font-weight:700;background:color-mix(in srgb,var(--stat-positive) 14%,var(--color-background-card));color:color-mix(in srgb,var(--stat-positive) 88%,var(--color-text-primary));border:1px solid color-mix(in srgb,var(--stat-positive) 35%,var(--card-border-color))}.badge-registered{padding:.2rem .55rem;border-radius:999px;font-size:.6rem;font-weight:700;background:var(--fill-primary-soft);color:var(--color-primary);border:1px solid var(--fill-primary-border)}.tournament-card-title{font-size:.9rem;font-weight:700;margin:0;color:var(--color-text-primary);line-height:1.3;letter-spacing:-.01em}.tournament-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-violet),var(--color-primary));opacity:0;transition:opacity .3s}.tournament-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--accent-violet-soft-border)}.tournament-card:hover:before{opacity:1}.status-badge{padding:.25rem .75rem;border-radius:1rem;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;flex-shrink:0}.status-active{background:color-mix(in srgb,var(--stat-positive) 14%,var(--color-background-card));color:color-mix(in srgb,var(--stat-positive) 88%,var(--color-text-primary));border:1px solid color-mix(in srgb,var(--stat-positive) 32%,var(--card-border-color))}.status-completed{background:var(--fill-primary-soft);color:var(--color-primary);border:1px solid var(--fill-primary-border)}.status-upcoming{background:color-mix(in srgb,var(--highlight-amber) 16%,var(--color-background-card));color:var(--amber-badge-fg);border:1px solid color-mix(in srgb,var(--highlight-amber) 38%,var(--card-border-color))}.status-draft{background:#9ca3af26;color:var(--color-text-muted);border:1px solid rgba(156,163,175,.3)}.tournament-card-info{display:flex;flex-direction:column;gap:.45rem;margin-bottom:.5rem}.info-item{display:flex;align-items:center;gap:.5rem;color:var(--color-text-secondary);font-size:.7rem;font-weight:600;white-space:nowrap}.info-icon{color:var(--color-text-muted);flex-shrink:0;font-weight:600}.tournament-card-status{margin-bottom:1.25rem;min-height:1.5rem;display:flex;align-items:center}.tournament-card-status-row{display:flex;align-items:center;margin-top:.5rem}.progress-info,.winner-info,.registration-info{font-size:.7rem;align-items:center}.progres-text{color:var(--highlight-amber);font-weight:600}.winner-text{color:var(--color-primary);font-weight:600}.registration-text{color:var(--highlight-amber);font-weight:600}.tournament-card-actions{display:flex;justify-content:flex-end;align-items:center;gap:.5rem}.action-btn{border-radius:.375rem;border:none;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem}.view-btn{background:#3b82f61a;color:var(--color-primary);border:1px solid rgba(59,130,246,.2)}.view-btn:hover{background:#3b82f633;border-color:#3b82f666}.edit-btn{background:#8b5cf61a;color:var(--accent-violet);border:1px solid rgba(139,92,246,.2)}.edit-btn:hover{background:#8b5cf633;border-color:#8b5cf666}.download-btn{background:#22c55e1a;color:var(--color-success-light);border:1px solid rgba(34,197,94,.2)}.download-btn:hover{background:#22c55e33;border-color:#22c55e66}html[data-theme=light] .tournament-card-info .info-item{color:var(--color-text-primary)}html[data-theme=light] .tournament-card-info .info-icon{color:var(--color-text-secondary)}.page-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem}.header-left{min-width:0;text-align:left}.page-title{font-size:2rem;font-weight:700;margin:0 0 .3rem;color:var(--color-text-primary)}.page-subtitle{font-size:.9rem;color:var(--color-text-muted);margin:0;font-weight:600}.header-right{display:flex;flex-direction:column;align-items:flex-end;gap:.75rem;flex-shrink:0}.header-actions{display:flex;align-items:center;justify-content:flex-end}.header-stats{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;color:var(--color-text-muted);font-size:.8rem;flex-wrap:wrap;font-weight:600}.header-stats .stat-item{color:var(--color-text-disabled)}.header-stats .stat-item strong{color:var(--color-text-primary);font-weight:600}.stat-separator{color:var(--color-text-disabled);font-size:.8rem}@media(max-width:768px){.page-header{flex-direction:column;align-items:center;text-align:center}.header-left{text-align:center}.header-right{align-items:center;width:100%}.header-actions{justify-content:center;width:100%}.header-stats{justify-content:center}.stat-separator{display:none}}.pmgm-player-management{min-height:80vh;background-color:var(--color-background);color:var(--color-text-primary);font-family:Inter,sans-serif;font-weight:600;width:100%;max-width:1400px;padding:0 9%;margin:0 auto}.pmgm-controls{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.pmgm-controls-top{display:flex;align-items:center;gap:1rem}.pmgm-controls-top .bar-section{flex:1;min-width:0}.pmgm-settings-btn{background:#8b5cf61a;color:var(--accent-violet);padding:.75rem;border-radius:.5rem;border:1px solid rgba(139,92,246,.2);cursor:pointer;display:flex;align-items:center;gap:.5rem}.pmgm-link-accounts-btn{background:#8b5cf61f;color:var(--accent-violet, #8b5cf6);padding:.75rem 1.25rem;border-radius:.5rem;font-weight:600;font-size:.95rem;display:flex;align-items:center;gap:.5rem;border:1px solid rgba(139,92,246,.35);cursor:pointer}.pmgm-link-accounts-btn:hover{background:#8b5cf633}.pmgm-add-btn{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));color:var(--text-on-strong-colored);padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;font-size:.95rem;display:flex;align-items:center;gap:.5rem;border:none;cursor:pointer;box-shadow:0 2px 4px var(--fill-primary-strong)}.pmgm-controls-mobile-actions{display:none;flex-direction:column;gap:.65rem;width:100%}.pmgm-controls-mobile-actions .pmgm-add-mobile,.pmgm-controls-mobile-actions .pmgm-link-accounts-btn.pmgm-add-mobile{width:100%;justify-content:center}.pmgm-add-mobile{display:none}.pmgm-add-desktop{display:flex}@media(max-width:768px){.pmgm-add-desktop{display:none!important}.pmgm-controls-mobile-actions,.pmgm-add-mobile{display:flex}}.pmgm-column-settings{background-color:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:.5rem;padding:1rem;margin-bottom:1rem;display:flex;flex-wrap:wrap;gap:1rem}.pmgm-settings-title{width:100%;margin:0 0 .5rem;font-size:.9rem}.pmgm-column-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer}.pmgm-column-toggle input{cursor:pointer}.pmgm-column-label{text-transform:capitalize;font-size:.85rem}.pmgm-table-container{background-color:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:.75rem;overflow:hidden}.pmgm-table-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--card-border-color)}.pmgm-table-title{margin:0;font-size:1.1rem;font-weight:600}.pmgm-table-wrapper{overflow-x:auto}.pmgm-players-table{width:100%;border-collapse:collapse}.pmgm-table-header-row{background-color:var(--color-bg-inset)}.pmgm-sortable-header{padding:1rem;text-align:left;font-weight:600;font-size:.85rem;color:var(--color-text-muted);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pmgm-player-header,.pmgm-header-content{display:flex;align-items:center;gap:.5rem}.pmgm-actions-header{padding:1rem;text-align:left;font-weight:600;font-size:.85rem;color:var(--color-text-muted)}.pmgm-table-row{transition:background-color .2s}.pmgm-table-row:hover{background-color:var(--color-bg-inset)}.pmgm-table-row.with-border{border-bottom:1px solid var(--color-border-light)}.pmgm-table-cell{padding:1rem}.pmgm-player-name{font-weight:600;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.pmgm-active-user-badge{color:var(--color-success-light);font-size:.65rem;line-height:1;flex-shrink:0}.pmgm-ranking-cell{display:flex;align-items:center;gap:.75rem;font-variant-numeric:tabular-nums}.pmgm-ranking-empty{color:var(--color-text-muted)}.pmgm-ranking-badge{padding:.25rem .75rem;border-radius:1rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.ranking-master{background:#8b5cf626;color:var(--accent-violet);border:1px solid rgba(139,92,246,.3)}.ranking-expert{background:#fbbf2426;color:var(--highlight-amber);border:1px solid rgba(251,191,36,.3)}.ranking-advanced{background:#f9731626;color:var(--accent-orange);border:1px solid rgba(249,115,22,.3)}.ranking-intermediate{background:#3b82f626;color:var(--color-primary);border:1px solid rgba(59,130,246,.3)}.ranking-beginner{background:#22c55e26;color:var(--color-success-light);border:1px solid rgba(34,197,94,.3)}.pmgm-ranking-number{font-size:.9rem;font-weight:600}.pmgm-ender{font-size:.85rem;font-weight:600}.pmgm-gender.male{color:var(--color-primary)}.pmgm-gender.female{color:var(--accent-magenta)}.pmgm-rocket-cell{display:flex;align-items:center;gap:.5rem}.pmgm-rocket-icon{font-size:1rem}.pmgm-rocket-name{font-size:.85rem;color:var(--color-text-secondary)}.pmgm-age{font-size:.9rem;font-weight:600}.pmgm-actions{display:flex;gap:.5rem}.pmgm-action-btn{border-radius:.375rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid}.view-btn{background:#3b82f61a;color:var(--color-primary);border-color:#3b82f633}.edit-btn{background:#8b5cf61a;color:var(--accent-violet);border-color:#8b5cf633}.delete-btn{background:#ef44441a;color:var(--stat-negative);border-color:#ef444433}.pmgm-table-footer{padding:1rem;border-top:1px solid var(--card-border-color);color:var(--color-text-muted);font-size:.85rem;display:flex;justify-content:space-between;align-items:center}.pmgm-pagination{display:flex;gap:.5rem}.pmgm-page-btn{background:#3b82f61a;color:var(--color-primary);border:1px solid rgba(59,130,246,.2);border-radius:.375rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;cursor:pointer}.pmgm-page-btn.active{background:#3b82f633}.modal-overlay{position:fixed;inset:0;background:var(--modal-backdrop, rgba(0, 0, 0, .45));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:.75rem;width:100%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem;border-bottom:1px solid var(--card-border-color)}.modal-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.close-btn{background:none;border:none;color:var(--color-text-muted);font-size:1.5rem;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:.375rem;transition:all .2s}.close-btn:hover{background:#ef44441a;color:var(--stat-negative)}.modal-body{padding:1.5rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.form-input,.ap-form-select{background:var(--color-background);border:1px solid var(--card-border-color);border-radius:.5rem;padding:.75rem;color:var(--color-text-primary);font-size:.875rem;outline:none;transition:border-color .2s}.form-input:focus,.form-select:focus{border-color:var(--fill-primary-border);box-shadow:0 0 0 3px #3b82f61a}.form-input::-moz-placeholder{color:var(--color-text-disabled)}.form-input::placeholder{color:var(--color-text-disabled)}.form-select option{background:var(--color-background-card);color:var(--color-text-primary)}.modal-footer{display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem;border-top:1px solid var(--card-border-color)}.cancel-btn{background:#6b72801a;color:var(--color-text-muted);border:1px solid rgba(107,114,128,.2);border-radius:.5rem;padding:.75rem 1.5rem;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s}.cancel-btn:hover{background:#6b728026;color:var(--color-text-primary)}.submit-btn{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));color:var(--text-on-strong-colored);border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px var(--fill-primary-strong)}.submit-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px var(--fill-primary-border)}.submit-btn:disabled{background:#6b72804d;color:var(--color-text-disabled);cursor:not-allowed;transform:none;box-shadow:none}@media(max-width:640px){.modal-overlay{padding:.5rem}.modal-content{max-height:95vh;max-width:100%}.form-grid{grid-template-columns:1fr;gap:1.25rem}.modal-header,.modal-body,.modal-footer{padding:.5rem}.modal-footer{flex-direction:column}.cancel-btn,.submit-btn{width:100%}}.law-wizard .law-wizard-content{max-width:560px}.law-wizard-body{display:flex;flex-direction:column;gap:1rem}.law-steps{display:flex;align-items:center;justify-content:center;gap:.35rem;margin-bottom:.5rem}.law-step{width:2rem;height:2rem;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;background:var(--color-background);border:2px solid var(--card-border-color);color:var(--color-text-muted)}.law-step.law-step-active{border-color:var(--color-primary);color:var(--color-primary);background:#3b82f61f}.law-step-line{width:2rem;height:2px;background:var(--card-border-color)}.law-error{padding:.65rem .85rem;border-radius:.5rem;background:#ef44441f;border:1px solid rgba(239,68,68,.35);color:var(--stat-negative, #ef4444);font-size:.875rem}.law-panel-title{margin:0 0 .35rem;font-size:1rem;color:var(--color-text-primary)}.law-hint{margin:0 0 .75rem;font-size:.8rem;color:var(--color-text-muted);line-height:1.4}.law-search{width:100%;margin-bottom:.75rem}.law-scroll{max-height:min(45vh,320px);overflow-y:auto;border:1px solid var(--card-border-color);border-radius:.5rem;padding:.35rem;background:var(--color-background)}.law-list{list-style:none;margin:0;padding:0}.law-option{display:flex;align-items:flex-start;gap:.65rem;padding:.55rem .5rem;border-radius:.35rem;cursor:pointer;transition:background .15s}.law-option:hover{background:#8b5cf614}.law-option input{margin-top:.2rem;cursor:pointer;accent-color:var(--color-primary)}.law-option-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.law-option-main{font-weight:600;font-size:.9rem;color:var(--color-text-primary)}.law-option-sub{font-size:.8rem;color:var(--color-text-muted);word-break:break-word}.law-muted{padding:1rem;text-align:center;color:var(--color-text-muted);font-size:.9rem;margin:0}.law-summary{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;font-size:.9rem}.law-summary dt{margin:0;font-weight:600;color:var(--color-text-muted)}.law-summary dd{margin:0;color:var(--color-text-primary)}.law-dt-small{font-size:.78rem!important}.law-warning{margin:1rem 0 0;padding:.85rem;border-radius:.5rem;background:#fbbf241f;border:1px solid rgba(251,191,36,.45);color:var(--color-text-primary);font-size:.85rem;line-height:1.45}.law-footer{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--card-border-color)}.law-footer-spacer{flex:1;min-width:.5rem}.law-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.6rem 1rem;border-radius:.5rem;font-weight:600;font-size:.9rem;cursor:pointer;border:none}.law-btn:disabled{opacity:.55;cursor:not-allowed}.law-btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));color:var(--text-on-strong-colored, #fff)}.law-btn-secondary{background:var(--color-background);border:1px solid var(--card-border-color);color:var(--color-text-primary)}.law-btn-ghost{background:transparent;color:var(--color-text-muted);border:1px solid transparent}.law-btn-danger{background:linear-gradient(135deg,var(--stat-negative, #dc2626),#b91c1c);color:#fff}@media(max-width:520px){.law-footer{flex-direction:column;align-items:stretch}.law-footer-spacer{display:none}.law-btn{justify-content:center;width:100%}}.rankings-container{min-height:80vh;background-color:var(--color-background);color:var(--color-text-primary);font-family:Inter,sans-serif;font-weight:600;width:100%;max-width:1400px;padding:0 9%;margin:0 auto}.rankings-controls{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.control-buttons{display:flex;gap:.75rem;align-items:center}.ranking-select{background-color:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:.5rem;padding:.75rem 1rem;color:var(--color-text-primary);font-size:.9rem;outline:none;min-width:200px;font-weight:600}.ranking-select option{background-color:var(--color-background-card);color:var(--color-text-primary)}.table-container{background-color:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:.75rem;overflow:hidden}.table-header{padding:1rem;border-bottom:1px solid var(--card-border-color)}.table-title-section{display:flex;align-items:center;justify-content:space-between}.table-title{margin:0;font-size:1.1rem;font-weight:600;color:var(--color-text-primary)}.table-wrapper{overflow-x:auto}.rankings-table{width:100%;border-collapse:collapse;table-layout:auto;display:table!important}.rankings-table thead{display:table-header-group!important}.rankings-table tbody{display:table-row-group!important}.rankings-table tr{display:table-row!important}.table-header-row{background-color:var(--color-bg-inset);display:table-row!important}.table-header-cell{padding:1rem;text-align:left;font-weight:600;font-size:.85rem;color:var(--color-text-muted);white-space:nowrap;display:table-cell!important;vertical-align:middle}.table-header-cell.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.table-header-cell.sortable:hover{background-color:#3b82f61a}.header-content{display:flex;align-items:center}.table-row{transition:background-color .2s;border-bottom:1px solid var(--color-border-light);display:table-row!important}.table-row:hover{background-color:var(--color-bg-inset)}.table-cell{padding:1rem;font-size:.9rem;white-space:nowrap;display:table-cell!important;vertical-align:middle}.rank-cell{display:flex;align-items:center;gap:.5rem}.rank-number{font-weight:600;font-size:.9rem}.player-cell{display:flex;align-items:center;gap:.75rem}.player-avatar{width:2.5rem;height:2.5rem;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));color:var(--text-on-strong-colored);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.player-info{display:flex;flex-direction:column}.player-name{font-weight:600;color:var(--color-text-primary);font-size:.9rem}.player-name.clickable-name{transition:color .2s}.player-name.clickable-name:hover{color:var(--color-primary)}.win-rate{font-weight:600}.win-rate-excellent{color:var(--stat-positive)}.win-rate-good{color:var(--highlight-amber)}.win-rate-average{color:var(--accent-orange)}.win-rate-poor{color:var(--stat-negative)}.win-rate-very-poor{color:var(--color-error)}.set-win-rate,.matches{font-weight:600}.matches-excellent{color:var(--stat-positive)}.matches-good{color:var(--highlight-amber)}.matches-average{color:var(--accent-orange)}.matches-poor{color:var(--stat-negative)}.matches-very-poor{color:var(--color-error)}.sets{font-weight:600}.sets-excellent{color:var(--stat-positive)}.sets-good{color:var(--highlight-amber)}.sets-average{color:var(--accent-orange)}.sets-poor{color:var(--stat-negative)}.sets-very-poor{color:var(--color-error)}.wins,.set-wins{font-weight:600;color:var(--color-text-secondary)}.tournaments-badge{background:var(--fill-primary-soft);color:var(--color-primary);border:1px solid var(--fill-primary-border);padding:.25rem .5rem;border-radius:.375rem;font-size:.8rem;font-weight:600;display:inline-block;min-width:1.5rem;text-align:center}.table-footer{padding:1rem;border-top:1px solid var(--card-border-color);color:var(--color-text-muted);font-size:.85rem;display:flex;justify-content:space-between;align-items:center}.table-footer-left{display:flex;align-items:center;gap:.75rem}.showing-text{font-weight:500}.items-per-page-select{background-color:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:.375rem;padding:.5rem .75rem;color:var(--color-text-primary);font-size:.85rem;font-weight:600;outline:none;cursor:pointer;transition:all .2s}.items-per-page-select:hover:not(:disabled){border-color:var(--fill-primary-border);background-color:var(--color-bg-inset)}.items-per-page-select:disabled{opacity:.5;cursor:not-allowed}.items-per-page-select option{background-color:var(--color-background-card);color:var(--color-text-primary)}.pagination{display:flex;gap:.5rem}.page-btn{background:var(--fill-primary-soft);color:var(--color-primary);border:1px solid var(--fill-primary-border);border-radius:.375rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;font-weight:600;font-size:.85rem;transition:all .2s}.page-btn:hover{background:var(--fill-primary-strong)}.page-btn.active{background:var(--fill-primary-strong);color:var(--color-primary);border-color:var(--fill-primary-border)}@media(max-width:1024px){.rankings-container{margin:0 5%}.rankings-header{flex-direction:column;align-items:stretch}.header-stats{margin-top:1rem}.rankings-controls{flex-direction:column;gap:.75rem}.search-wrapper{min-width:auto}.control-buttons{justify-content:flex-start}}@media(max-width:768px){.rankings-container{margin:0;padding:1rem}.rankings-title{font-size:1.5rem}.header-stats{flex-direction:column;gap:.5rem;align-items:flex-start}.rankings-controls{flex-direction:column;align-items:stretch;gap:.75rem;margin-bottom:1rem}.rankings-controls .bar-section{flex:1 1 100%;min-width:100%}.control-buttons{width:100%}.ranking-select{width:100%;min-width:0;min-height:48px;font-size:16px}.table-wrapper{overflow-x:scroll}.rankings-table{min-width:1000px;display:table!important}.table-header-row,.table-row{display:table-row!important}.table-header-cell,.table-cell{display:table-cell!important}.table-footer{flex-direction:column;gap:1rem;align-items:stretch}.table-footer-left{flex-direction:column;align-items:flex-start;width:100%}.items-per-page-select{width:100%;min-height:44px;font-size:16px}.pagination{align-self:stretch;justify-content:center;flex-wrap:wrap;gap:.35rem}.page-btn{min-width:2.25rem;min-height:2.25rem}}@media(max-width:480px){.rankings-container{margin:0;padding:.75rem}.rankings-controls{gap:.5rem;margin-bottom:.75rem}.page-btn{min-width:2rem;min-height:2rem;font-size:.8rem}.showing-text{font-size:.8rem}.table-header-cell,.table-cell{padding:.75rem .5rem}.player-cell{gap:.5rem}.player-avatar{width:2rem;height:2rem;font-size:1rem}.player-name{font-size:.8rem}}.opponent-tracker{min-height:80vh;background-color:var(--color-background);color:var(--color-text-primary);font-family:Inter,sans-serif;font-weight:600;width:100%;max-width:1400px;padding:0 9%;margin:0 auto}.container{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.opponents-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.opponent-card{background:linear-gradient(145deg,var(--color-background-card),var(--color-bg-inset));border:1px solid var(--card-border-color);border-radius:.75rem;padding:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.opponent-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-violet),var(--color-primary));opacity:0;transition:opacity .3s}.opponent-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:#8b5cf64d}.opponent-card:hover:before{opacity:1}.opponent-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.7rem;gap:1rem}.opponent-info{display:flex;align-items:center;gap:.85rem}.avatar{width:2.5rem;height:2.5rem;background-color:var(--accent-violet);border-radius:50%;display:flex;align-items:center;justify-content:center}.avatar-initials{color:var(--text-on-strong-colored);font-weight:600;font-size:.875rem}.opponent-name{color:var(--color-text-primary);font-weight:600;font-size:1rem;margin:0}.opponent-rank{color:var(--color-text-muted);font-size:.85rem;font-weight:600;margin:0}.opponent-record{text-align:right}.record-display{font-size:1.3rem;font-weight:700;line-height:1.2}.record-positive{color:var(--stat-positive)}.record-negative{color:var(--stat-negative)}.win-rate{color:var(--color-text-muted);font-size:.75rem}.opponent-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;font-size:.75rem;font-weight:600}.stat-item{display:flex;gap:.35rem}.stat-label{color:var(--color-text-muted)}.stat-value{color:var(--color-text-primary);font-weight:700}html[data-theme=light] .opponent-stats .stat-label{color:var(--color-text-secondary)}html[data-theme=light] .opponent-stats .stat-value{color:#0f172a}.pagination{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:2rem}.pagination-btn{padding:.5rem .75rem;background:none;border:none;color:var(--color-text-muted);cursor:pointer;border-radius:.25rem;transition:color .2s ease;font-size:.875rem}.pagination-btn:hover{color:var(--color-text-primary)}.pagination-btn.active{background-color:var(--color-primary);color:#fff}.pagination-ellipsis{padding:.5rem .75rem;color:var(--color-text-muted);font-size:.875rem}@media(max-width:768px){.header{flex-direction:column;gap:1rem;align-items:stretch}.search-input{width:100%}.controls{justify-content:space-between}.opponents-grid{grid-template-columns:1fr}}@media(max-width:480px){.opponent-tracker{padding:1rem}.controls{flex-direction:column;gap:.5rem}.select-input{width:100%}.opponent-stats{grid-template-columns:1fr}}.player-profile-container{min-height:80vh;background-color:var(--color-background);color:var(--color-text-primary);font-family:Inter,sans-serif;font-weight:800;width:100%;max-width:1400px;padding:0 9%;margin:0 auto}.player-profile-wrapper{max-width:1200px}.player-profile-header{background:linear-gradient(145deg,var(--color-background-card),var(--color-bg-inset));border:1px solid var(--card-border-color);border-radius:.75rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;padding:2rem;margin-bottom:1.5rem;box-shadow:var(--shadow-lg)}.player-profile-header-content{display:flex;align-items:center;gap:16px}.player-profile-avatar{overflow:hidden;width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--accent-violet));display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700}.player-profile-info{flex:1}.player-profile-name-rank{display:flex;align-items:center;gap:8px;margin-bottom:8px}.player-profile-name{font-size:32px;font-weight:700;margin:0}.player-profile-rank-badge{background-color:var(--highlight-amber);color:var(--podium-text-on-medal);width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.player-profile-stats-row{display:flex;align-items:center;gap:16px;margin-bottom:12px}.player-profile-rank-text{font-size:20px}.player-profile-professional{color:var(--color-text-secondary)}.player-profile-win-rate{color:var(--stat-positive);font-weight:700}.player-profile-level{color:var(--color-text-secondary)}.player-profile-badges{display:flex;gap:8px}.player-profile-badge{padding:4px 12px;border-radius:20px;font-size:14px;font-weight:600}.player-profile-badge-champion{background-color:var(--color-primary);color:var(--text-on-strong-colored)}.player-profile-badge-active{background-color:var(--color-success-light);color:var(--text-on-strong-colored)}.player-profile-badge-top-player{background-color:var(--accent-violet);color:var(--text-on-strong-colored)}.player-profile-badge-default{background-color:var(--color-text-disabled)}.player-profile-main-content{display:grid;grid-template-columns:1fr;gap:24px}@media(min-width:1024px){.player-profile-main-content{grid-template-columns:2fr 1fr}}.player-profile-left-column,.player-profile-right-column{display:flex;flex-direction:column;gap:24px}.player-profile-card{background:linear-gradient(145deg,var(--color-background-card),var(--color-bg-inset));border:1px solid var(--card-border-color);border-radius:.75rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;padding:1.5rem;box-shadow:var(--shadow-lg)}.player-profile-card-title{font-size:18px;margin:0 0 16px}.player-profile-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.player-profile-card-header .player-profile-card-title{margin:0}.player-profile-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.player-profile-stat-item{text-align:center}.player-profile-stat-value{font-size:36px;font-weight:700;margin-bottom:4px}.player-profile-stat-wins{color:var(--stat-positive)}.player-profile-stat-losses{color:var(--stat-negative)}.player-profile-stat-sets{color:var(--color-primary)}.player-profile-stat-tournaments{color:var(--highlight-amber)}.player-profile-stat-label{color:var(--color-text-muted);font-size:14px}.player-profile-chart-placeholder{height:256px;background-color:var(--color-background);border-radius:8px;display:flex;align-items:center;justify-content:center}.player-profile-chart-text{color:var(--color-text-muted)}.player-profile-btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-active));color:var(--text-on-strong-colored);padding:.5rem 1rem;border-radius:.5rem;font-weight:600;font-size:.8rem;display:flex;align-items:center;gap:.5rem;transition:all .2s;border:none;cursor:pointer;box-shadow:0 2px 4px var(--fill-primary-strong)}.player-profile-btn-primary:hover{background-color:var(--color-primary-hover)}.player-profile-match-list{display:flex;flex-direction:column;gap:12px}.player-profile-match-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background-color:var(--color-background);border-radius:8px}.player-profile-match-info{display:flex;align-items:center;gap:12px}.player-profile-match-indicator{width:12px;height:12px;border-radius:50%}.player-profile-match-indicator-won{background-color:var(--stat-positive)}.player-profile-match-indicator-lost{background-color:var(--stat-negative)}.player-profile-match-tournament{font-size:14px;font-weight:600}.player-profile-match-date{font-size:12px;color:var(--color-text-muted)}.player-profile-match-result{text-align:right}.player-profile-result-text{font-size:14px;font-weight:700}.player-profile-result-won{color:var(--stat-positive)}.player-profile-result-lost{color:var(--stat-negative)}.player-profile-match-score{font-size:12px;color:var(--color-text-muted)}.player-profile-info-list{display:flex;flex-direction:column;gap:16px}.player-profile-info-item{display:flex;flex-direction:column;gap:4px}.player-profile-info-label{color:var(--color-text-muted);font-size:12px}.player-profile-info-value{font-size:14px;font-weight:600}.player-profile-btn-more{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:14px;display:flex;align-items:center;gap:4px;font-weight:600;transition:color .2s}.player-profile-btn-more:hover{color:var(--color-primary-hover)}.player-profile-icon-chevron{width:16px;height:16px}.player-profile-head-to-head-list{display:flex;flex-direction:column;gap:12px}.player-profile-opponent-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background-color:var(--color-background);border-radius:8px}.player-profile-opponent-info{display:flex;align-items:center;gap:12px}.player-profile-opponent-avatar{width:40px;height:40px;background:linear-gradient(135deg,var(--color-primary),var(--accent-violet));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.player-profile-opponent-name{transition:color .2s}.player-profile-opponent-name-clickable{cursor:pointer}.player-profile-opponent-name-clickable:hover{color:var(--color-primary)}.player-profile-opponent-name{font-weight:600;font-size:14px}.player-profile-opponent-rank{font-size:12px;color:var(--color-text-muted)}.player-profile-opponent-record{text-align:right}.player-profile-record-score{font-weight:700}.player-profile-record-winning{font-size:14px;color:var(--stat-positive)}.player-profile-record-losing{font-size:14px;color:var(--stat-negative)}.player-profile-record-percentage{font-size:12px;color:var(--color-text-muted)}.player-profile-statistics-list{display:flex;flex-direction:column;gap:16px}.player-profile-stat-bar-item{display:flex;flex-direction:column;gap:8px}.player-profile-stat-bar-header{display:flex;justify-content:space-between;align-items:center}.player-profile-stat-bar-label{color:var(--color-text-muted)}.list-icon{width:1.25rem;height:1.15rem}@media(max-width:768px){.player-profile-container{padding:0 1rem}.player-profile-header{padding:1.25rem;margin-bottom:1rem}.player-profile-header-content{flex-direction:row;align-items:flex-start;gap:1rem}.player-profile-avatar{width:56px;height:56px;font-size:1.25rem;flex-shrink:0}.player-profile-info{min-width:0}.player-profile-name{font-size:1.35rem;line-height:1.3;word-break:break-word}.player-profile-name-rank{flex-wrap:wrap}.player-profile-stats-row{flex-wrap:wrap;gap:.5rem;font-size:.9rem}.player-profile-rank-text{font-size:.95rem}.player-profile-badges{flex-wrap:wrap;gap:.5rem}.player-profile-badge{font-size:.75rem;padding:3px 10px}.player-profile-main-content,.player-profile-left-column,.player-profile-right-column{gap:1rem}.player-profile-card{padding:1rem}.player-profile-card-title{font-size:1rem;margin-bottom:1rem}.player-profile-stats-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.player-profile-stat-value{font-size:1.5rem}.player-profile-stat-label{font-size:.75rem}.player-profile-chart-placeholder{height:200px}.player-profile-match-item,.player-profile-opponent-item{padding:.75rem}.player-profile-btn-primary{min-height:44px;padding:.6rem 1rem}.player-profile-info-item{gap:2px}.player-profile-info-label{font-size:.7rem}.player-profile-info-value{font-size:.85rem}.player-profile-opponent-avatar{width:32px;height:32px;font-size:.75rem}.player-profile-opponent-name{font-size:.9rem}}@media(max-width:480px){.player-profile-container{padding:0 .75rem}.player-profile-header{padding:1rem}.player-profile-avatar{width:48px;height:48px;font-size:1rem}.player-profile-name{font-size:1.15rem}.player-profile-stats-grid{gap:.75rem}.player-profile-stat-value{font-size:1.25rem}}html[data-theme=light] .player-profile-avatar,html[data-theme=light] .player-profile-opponent-avatar{background:linear-gradient(135deg,var(--avatar-placeholder-from),var(--avatar-placeholder-to));color:var(--avatar-placeholder-initials)}html[data-theme=light] .player-profile-header,html[data-theme=light] .player-profile-card{box-shadow:var(--shadow-md)}.player-profile-edit-card{margin-bottom:1rem}.player-profile-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem;margin-bottom:1rem}@media(max-width:640px){.player-profile-edit-grid{grid-template-columns:1fr}}.player-profile-edit-field{display:flex;flex-direction:column;gap:.35rem}.player-profile-edit-label{font-size:.8rem;font-weight:600;color:var(--color-text-muted)}.player-profile-edit-input{font-family:inherit;font-size:.9rem;padding:.45rem .6rem;border-radius:.4rem;border:1px solid var(--card-border-color);background:var(--color-background);color:var(--color-text-primary)}.player-profile-edit-input:disabled{opacity:.75}.player-profile-edit-actions{display:flex;flex-wrap:wrap;gap:.75rem}.player-profile-edit-save{flex:1;min-width:8rem;justify-content:center}.player-profile-btn-secondary{flex:1;min-width:8rem;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border-radius:.5rem;font-weight:600;font-size:.8rem;border:1px solid var(--card-border-color);background:var(--color-background);color:var(--color-text-primary);cursor:pointer;transition:background .2s,border-color .2s}.player-profile-btn-secondary:hover{background:var(--color-row-hover);border-color:var(--color-primary)}.player-profile-edit-banner{font-size:.9rem;margin:0 0 .75rem;padding:.5rem .65rem;border-radius:.4rem}.player-profile-edit-banner-ok{background:#22c55e26;color:var(--color-success-light)}.player-profile-edit-banner-err{background:#ef44441f;color:var(--stat-negative)}.chart-container{background:linear-gradient(145deg,var(--color-background-card),var(--color-bg-inset));padding:1.5rem;border:1px solid var(--card-border-color);border-radius:.75rem;width:100%;height:400px;color:var(--color-text-primary)}.chart-title{color:var(--color-text-primary);font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;margin-top:0}.legend-container{display:flex;justify-content:center;gap:1.5rem;margin-top:1rem}.legend-item{display:flex;align-items:center;gap:.5rem}.legend-line{width:.75rem;height:.125rem;border-radius:1px}.legend-text{color:var(--color-text-secondary);font-size:.875rem;font-weight:600}.chart-attribution{text-align:right;margin-top:.5rem}.chart-attribution span{color:var(--color-text-disabled);font-size:.75rem}@media(max-width:768px){.chart-container{padding:1rem;height:400px}.chart-title{font-size:1.125rem;margin-bottom:1rem}.legend-container{gap:1rem}.legend-text{font-size:.8125rem}}@media(max-width:480px){.chart-container{padding:.75rem;height:350px}.legend-container{flex-direction:column;align-items:center;gap:.5rem}}.player-stats-container{display:flex;flex-direction:column;gap:24px}.player-stat-item{display:flex;flex-direction:column;gap:8px}.player-stat-header{display:flex;justify-content:space-between;align-items:center}.player-stat-label{color:var(--color-text-muted);font-size:14px;font-weight:600}.player-stat-value{color:var(--color-text-primary);font-size:14px;font-weight:600}.progress-bar-container{width:100%;height:8px;background-color:var(--color-border);border-radius:4px;overflow:hidden}.player-progress-bar{height:100%;border-radius:4px;transition:width .3s ease}.progress-green{background-color:var(--color-success-light)}.progress-blue{background-color:var(--color-primary)}.progress-yellow{background-color:var(--highlight-amber)}.match-history-modal-backdrop{position:fixed;inset:0;background-color:var(--modal-backdrop);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.match-history-modal-content{background:linear-gradient(145deg,var(--color-background-card),var(--color-bg-inset));border:1px solid var(--card-border-color);border-radius:.75rem;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;color:var(--color-text-primary);box-shadow:var(--shadow-xl)}.match-history-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--card-border-color)}.match-history-modal-title{font-size:1.5rem;font-weight:600;margin:0}.match-history-modal-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .2s}.match-history-modal-close:hover{color:var(--color-text-primary)}.match-history-modal-filters{padding:1.5rem;border-bottom:1px solid var(--card-border-color);display:flex;flex-direction:column;gap:1rem}.match-history-search-container{position:relative;display:flex;align-items:center}.match-history-search-icon{position:absolute;left:1rem;color:var(--color-text-muted);pointer-events:none}.match-history-search-input{width:100%;padding:.75rem 1rem .75rem 2.75rem;background:var(--color-bg-inset);border:1px solid var(--card-border-color);border-radius:.5rem;color:var(--color-text-primary);font-size:.875rem;transition:border-color .2s}.match-history-search-input:focus{outline:none;border-color:var(--color-primary)}.match-history-filter-buttons{display:flex;gap:.5rem}.match-history-filter-btn{padding:.5rem 1rem;background:var(--surface-muted-bg);border:1px solid var(--card-border-color);border-radius:.5rem;color:var(--color-text-muted);cursor:pointer;font-size:.875rem;transition:all .2s}.match-history-filter-btn:hover{background:var(--color-surface-elevated);color:var(--color-text-primary)}.match-history-filter-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--text-on-strong-colored)}.match-history-modal-body{flex:1;overflow-y:auto;padding:1.5rem}.match-history-modal-list{display:flex;flex-direction:column;gap:.75rem}.match-history-modal-item{display:flex;flex-direction:column;align-items:stretch;padding:1rem;background:var(--surface-muted-bg);border:1px solid var(--card-border-color);border-radius:.5rem;transition:background .2s}.match-history-modal-item:hover{background:var(--color-surface-elevated)}.match-history-modal-item-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.25rem}.match-history-modal-item-tournament{font-weight:600;flex:1;min-width:0}.match-history-modal-item-details{font-size:.875rem;color:var(--color-text-muted)}.match-history-modal-item-result{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.match-history-modal-result-badge{padding:.25rem .75rem;border-radius:.25rem;font-size:.75rem;font-weight:600;text-transform:uppercase;white-space:nowrap}.match-history-modal-result-badge.won{background:color-mix(in srgb,var(--stat-positive) 22%,transparent);color:var(--stat-positive)}.match-history-modal-result-badge.lost{background:color-mix(in srgb,var(--stat-negative) 22%,transparent);color:var(--stat-negative)}.match-history-modal-item-score{font-weight:600;color:var(--color-text-muted)}.match-history-modal-empty{text-align:center;padding:3rem;color:var(--color-text-muted)}.match-history-modal-pagination{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-top:1px solid var(--card-border-color)}.match-history-modal-pagination-btn{background:var(--color-bg-inset);border:1px solid var(--card-border-color);border-radius:.5rem;color:var(--color-text-primary);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.match-history-modal-pagination-btn:hover:not(:disabled){background:var(--color-surface-elevated);border-color:var(--color-primary)}.match-history-modal-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.match-history-modal-pagination-info{color:var(--color-text-muted);font-size:.875rem}@media(max-width:768px){.match-history-modal-backdrop{align-items:flex-end;padding:0}.match-history-modal-content{width:100%;max-height:85vh;border-radius:1rem 1rem 0 0;border-bottom:none}.match-history-modal-header{padding:1rem 1rem 1rem 1.25rem}.match-history-modal-title{font-size:1.25rem;padding-right:2.5rem}.match-history-modal-close{padding:.5rem}.match-history-modal-filters{padding:1rem 1.25rem}.match-history-search-input{min-height:48px;font-size:16px}.match-history-filter-buttons{flex-wrap:wrap;gap:.5rem}.match-history-filter-btn{flex:1;min-width:0;min-height:44px}.match-history-modal-body{padding:1rem 1.25rem}.match-history-modal-item-top{gap:.5rem;margin-bottom:.2rem}.match-history-modal-item{padding:.75rem 1rem}.match-history-modal-pagination{flex-direction:column;gap:.75rem;padding:1rem 1.25rem}.match-history-modal-pagination-btn{min-width:48px;min-height:48px}.match-history-modal-pagination-info{font-size:.8rem;text-align:center}}@media(max-width:480px){.match-history-modal-content{max-height:90vh}.match-history-modal-header,.match-history-modal-filters,.match-history-modal-body{padding:.75rem 1rem}.match-history-modal-item-details{font-size:.8rem}.match-history-modal-result-badge{font-size:.7rem}}.head-to-head-modal-backdrop{position:fixed;inset:0;background-color:var(--modal-backdrop);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.head-to-head-modal-content{background:linear-gradient(145deg,var(--color-background-card),var(--color-bg-inset));border:1px solid var(--card-border-color);border-radius:.75rem;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;color:var(--color-text-primary);box-shadow:var(--shadow-xl)}.head-to-head-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--card-border-color)}.head-to-head-modal-title{font-size:1.5rem;font-weight:600;margin:0}.head-to-head-modal-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .2s}.head-to-head-modal-close:hover{color:var(--color-text-primary)}.head-to-head-modal-filters{padding:1.5rem;border-bottom:1px solid var(--card-border-color);display:flex;flex-direction:column;gap:1rem}.head-to-head-filter-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.head-to-head-balance-filters{display:flex;gap:.5rem}.head-to-head-filter-btn{padding:.5rem 1rem;background:var(--surface-muted-bg);border:1px solid var(--card-border-color);border-radius:.5rem;color:var(--color-text-muted);cursor:pointer;font-size:.875rem;transition:all .2s}.head-to-head-filter-btn:hover{background:var(--color-surface-elevated);color:var(--color-text-primary)}.head-to-head-filter-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--text-on-strong-colored)}.head-to-head-search-container{position:relative;display:flex;align-items:center}.head-to-head-search-icon{position:absolute;left:1rem;color:var(--color-text-muted);pointer-events:none}.head-to-head-search-input{width:100%;padding:.75rem 1rem .75rem 2.75rem;background:var(--color-bg-inset);border:1px solid var(--card-border-color);border-radius:.5rem;color:var(--color-text-primary);font-size:.875rem;transition:border-color .2s}.head-to-head-search-input:focus{outline:none;border-color:var(--color-primary)}.head-to-head-sort-container{display:flex;align-items:center;gap:.75rem}.head-to-head-sort-label{color:var(--color-text-muted);font-size:.875rem}.head-to-head-sort-select{padding:.5rem 1rem;background:var(--color-bg-inset);border:1px solid var(--card-border-color);border-radius:.5rem;color:var(--color-text-primary);font-size:.875rem;cursor:pointer;transition:border-color .2s}.head-to-head-sort-select:focus{outline:none;border-color:var(--color-primary)}.head-to-head-modal-body{flex:1;overflow-y:auto;padding:1.5rem}.head-to-head-modal-list{display:flex;flex-direction:column;gap:.75rem}.head-to-head-modal-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--surface-muted-bg);border:1px solid var(--card-border-color);border-radius:.5rem;transition:background .2s}.head-to-head-modal-item:hover{background:var(--color-surface-elevated)}.head-to-head-modal-item-info{display:flex;align-items:center;gap:1rem;flex:1}.head-to-head-modal-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--accent-violet));display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;color:var(--text-on-strong-colored)}html[data-theme=light] .head-to-head-modal-avatar{background:linear-gradient(135deg,var(--avatar-placeholder-from),var(--avatar-placeholder-to));color:var(--avatar-placeholder-initials)}.head-to-head-modal-item-details{flex:1}.head-to-head-modal-item-name{font-weight:600;margin-bottom:.25rem}.head-to-head-modal-item-name-clickable{transition:color .2s}.head-to-head-modal-item-name-clickable:hover{color:var(--color-primary)}.head-to-head-modal-item-rank{font-size:.875rem;color:var(--color-text-muted)}.head-to-head-modal-item-record{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.head-to-head-modal-record-score{font-weight:600;font-size:1rem}.head-to-head-modal-record-score.winning{color:var(--stat-positive)}.head-to-head-modal-record-score.losing{color:var(--stat-negative)}.head-to-head-modal-record-percentage{font-size:.875rem;color:var(--color-text-muted)}.head-to-head-modal-sets-balance{font-size:.75rem;color:var(--color-text-disabled);margin-top:.25rem}.head-to-head-modal-empty{text-align:center;padding:3rem;color:var(--color-text-muted)}.head-to-head-modal-pagination{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-top:1px solid var(--card-border-color)}.head-to-head-modal-pagination-btn{background:var(--color-bg-inset);border:1px solid var(--card-border-color);border-radius:.5rem;color:var(--color-text-primary);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.head-to-head-modal-pagination-btn:hover:not(:disabled){background:var(--color-surface-elevated);border-color:var(--color-primary)}.head-to-head-modal-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.head-to-head-modal-pagination-info{color:var(--color-text-muted);font-size:.875rem}.my-profile-redirect-msg{padding:2rem;max-width:32rem;margin:0 auto;color:var(--color-text-muted);text-align:center}.login-container{min-height:100vh;background-color:var(--color-background);display:flex;align-items:center;justify-content:center;padding:1rem}.login-wrapper{width:100%;max-width:28rem}.login-card{background-color:var(--color-background-card);border-radius:1rem;padding:2rem;box-shadow:var(--shadow-xl);border:1px solid var(--card-border-color)}.login-header{text-align:center;margin-bottom:2rem}.login-title{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.5rem}.login-subtitle{color:var(--color-text-muted)}.form-error{padding:.75rem;background:color-mix(in srgb,var(--color-error) 15%,transparent);border:1px solid color-mix(in srgb,var(--color-error) 32%,transparent);border-radius:.5rem;color:var(--stat-negative);font-size:.875rem}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column}.form-label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:.5rem}.input-container{position:relative}.input-icon{position:absolute;left:.75rem;top:.75rem;width:1.25rem;height:1.25rem;color:var(--color-text-muted)}.form-input{width:100%;height:50px;background-color:var(--color-background);border:1px solid var(--card-border-color);border-radius:.5rem;padding:.75rem .75rem .75rem 2.5rem;color:var(--color-text-primary);font-size:1rem;transition:all .2s ease-in-out;box-sizing:border-box}.form-input::-moz-placeholder{color:var(--input-placeholder-color)}.form-input::placeholder{color:var(--input-placeholder-color)}.form-input:focus{outline:none;border-color:transparent;box-shadow:0 0 0 2px var(--color-primary)}.password-input{padding-right:3rem}.password-toggle{position:absolute;right:.75rem;top:.75rem;background:none;border:none;color:var(--color-text-muted);cursor:pointer;transition:color .2s ease-in-out}.password-toggle:hover{color:var(--color-text-secondary)}.toggle-icon{width:1.25rem;height:1.25rem}.form-options{display:flex;align-items:center;justify-content:space-between}.remember-me{display:flex;align-items:center;cursor:pointer}.checkbox{width:1rem;height:1rem;background-color:var(--color-bg-inset);border:1px solid var(--color-border);border-radius:.25rem;margin-right:.5rem;accent-color:var(--color-primary)}.checkbox:focus{outline:none;box-shadow:0 0 0 2px var(--color-primary)}.checkbox-label{font-size:.875rem;color:var(--color-text-secondary)}.forgot-password{font-size:.875rem;color:var(--color-primary);background:none;border:none;cursor:pointer;transition:color .2s ease-in-out}.forgot-password:hover{color:var(--color-primary-hover)}.signin-button{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-active));color:var(--text-on-strong-colored);padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;font-size:.95rem;align-items:center;gap:.5rem;transition:all .2s;border:none;cursor:pointer;box-shadow:0 2px 4px var(--fill-primary-strong)}.signin-button:hover{background-color:var(--color-primary-hover);transform:scale(1.02)}.signin-button:focus{outline:none;box-shadow:0 0 0 2px var(--color-primary),0 0 0 4px var(--fill-primary-soft)}.create-account-section{margin-top:2rem;text-align:center}.create-account-text{color:var(--color-text-muted);margin-bottom:1rem}.create-account-button{color:var(--color-primary);font-weight:500;background:none;border:none;cursor:pointer;transition:color .2s ease-in-out}.create-account-button:hover{color:var(--color-primary-hover)}a.create-account-button{text-decoration:none}.terms-section{margin-top:1.5rem;text-align:center}.terms-text{font-size:.75rem;color:var(--color-text-disabled)}.terms-link{color:var(--color-primary);background:none;border:none;cursor:pointer;font-size:inherit;transition:color .2s ease-in-out}.terms-link:hover{color:var(--color-primary-hover)}@media(max-width:480px){.login-container{padding:.5rem}.login-card{padding:1.5rem}.login-title{font-size:1.25rem}}.auth-modal-overlay{position:fixed;inset:0;background-color:var(--modal-backdrop);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:auth-modal-fade-in .2s ease-out}@keyframes auth-modal-fade-in{0%{opacity:0}to{opacity:1}}.auth-modal-content{background-color:var(--color-background-card);border-radius:1rem;padding:0;box-shadow:var(--shadow-xl);border:1px solid var(--card-border-color);width:100%;max-width:28rem;max-height:min(92vh,720px);display:flex;flex-direction:column;overflow:hidden;animation:auth-modal-slide-in .25s ease-out}.auth-modal-scroll{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:2.75rem 2rem 2rem;box-sizing:border-box}@keyframes auth-modal-slide-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.auth-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:.375rem;transition:color .2s,background .2s}.auth-modal-close:hover{color:var(--color-text-primary);background:var(--color-row-hover)}.auth-modal-wrapper{position:relative;min-height:0}.forgot-password-success{margin:0 0 1.25rem;font-size:.95rem;line-height:1.5;color:var(--color-text-secondary, #52525b);text-align:center}.my-data-page{max-width:40rem;margin:0 auto;padding:0 1rem 2rem}.my-data-card{padding:1.5rem}.my-data-title{margin:0 0 .35rem;font-size:1.35rem;font-weight:700;color:var(--color-text-primary)}.my-data-subtitle{margin:0 0 1.25rem;font-size:.9rem;color:var(--color-text-muted)}.my-data-loading{padding:2rem;text-align:center;color:var(--color-text-muted)}.schedule-duel-modal{max-width:32rem}.schedule-duel-users{display:flex;flex-direction:column;gap:.75rem}.schedule-duel-search{position:relative}.schedule-duel-search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.schedule-duel-search-input{width:100%;padding:.65rem .75rem .65rem 2.25rem;border:1px solid var(--card-border-color);border-radius:.5rem;background:var(--color-background);color:var(--color-text-primary);font-family:inherit;font-size:.9rem}.schedule-duel-user-list{max-height:16rem;overflow-y:auto;border:1px solid var(--card-border-color);border-radius:.5rem}.schedule-duel-user-item{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.75rem 1rem;border:none;border-bottom:1px solid var(--card-border-color);background:transparent;cursor:pointer;text-align:left;transition:background .15s}.schedule-duel-user-item:last-child{border-bottom:none}.schedule-duel-user-item:hover{background:var(--color-row-hover)}.schedule-duel-user-name{font-weight:600;color:var(--color-text-primary)}.schedule-duel-user-email{font-size:.8rem;color:var(--color-text-muted)}.schedule-duel-hint{padding:1rem;text-align:center;color:var(--color-text-muted);font-size:.9rem}.schedule-duel-selected{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:1rem;font-size:.9rem;color:var(--color-text-secondary)}.schedule-duel-change-user{border:none;background:none;color:var(--color-primary);font-weight:600;cursor:pointer;font-size:.85rem}.schedule-duel-datetime{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.schedule-duel-date-input-wrap{display:flex;gap:.5rem;align-items:center}.schedule-duel-date-input-wrap .form-input{flex:1;min-width:0}.schedule-duel-picker-btn{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;flex-shrink:0;padding:0;border:1px solid var(--card-border-color);background:var(--color-background);color:var(--color-text-primary);border-radius:.5rem;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.schedule-duel-picker-btn:hover:not(:disabled){background:#3b82f61f;border-color:var(--color-primary);color:var(--color-primary)}.schedule-duel-picker-btn:disabled{opacity:.6;cursor:not-allowed}.schedule-duel-select{width:100%;cursor:pointer}.schedule-duel-textarea{width:100%;padding:.65rem .75rem;border:1px solid var(--card-border-color);border-radius:.5rem;background:var(--color-background);color:var(--color-text-primary);font-family:inherit;font-size:.9rem;resize:vertical}@media(max-width:480px){.schedule-duel-datetime{grid-template-columns:1fr}}.duel-detail-modal{max-width:28rem}.duel-detail-meta{display:grid;gap:.75rem;margin:0 0 1rem}.duel-detail-meta dt{font-size:.75rem;font-weight:600;color:var(--color-text-muted);margin-bottom:.15rem}.duel-detail-meta dd{margin:0;font-size:.95rem;color:var(--color-text-primary)}.duel-detail-description{margin-bottom:1rem;padding:.75rem 1rem;background:var(--color-background);border:1px solid var(--card-border-color);border-radius:.5rem}.duel-detail-description h3{margin:0 0 .35rem;font-size:.8rem;font-weight:600;color:var(--color-text-muted)}.duel-detail-description p{margin:0;font-size:.9rem;line-height:1.5;color:var(--color-text-primary);white-space:pre-wrap}.duel-detail-cancel-btn{width:100%;margin-top:.75rem;padding:.65rem 1rem;border:1px solid var(--color-error);border-radius:.5rem;background:transparent;color:var(--color-error);font-weight:600;cursor:pointer;transition:background .15s}.duel-detail-cancel-btn:hover:not(:disabled){background:var(--fill-danger-soft, rgba(239, 68, 68, .08))}.duel-detail-cancel-btn:disabled{opacity:.6;cursor:not-allowed}.duel-detail-result-section{margin:.5rem 0 1rem;padding-top:.5rem;border-top:1px solid var(--card-border-color)}.duel-detail-result-section .result-modal-title{font-size:1rem;text-align:left}.duel-detail-result-section .result-modal-actions{justify-content:flex-end}.duels-page .duels-section{margin-bottom:1.5rem}.duels-section-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.duels-section-title-wrap{display:flex;align-items:center;gap:.65rem}.duels-section-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.5rem;flex-shrink:0}.duels-section-icon--invites{background:#f59e0b26;color:var(--highlight-amber, #d97706)}.duels-section-icon--duels{background:var(--fill-primary-strong, rgba(37, 99, 235, .12));color:var(--color-primary)}.duels-section-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .45rem;border-radius:999px;background:var(--highlight-amber, #d97706);color:var(--text-on-strong-colored);font-size:.75rem;font-weight:700}.duels-error{color:var(--color-error);margin:0 0 1rem;font-size:.9rem;padding:.65rem 1rem;background:var(--fill-danger-soft, rgba(239, 68, 68, .08));border-radius:.5rem;border:1px solid rgba(239,68,68,.2)}.duels-table .table-cell{white-space:normal;vertical-align:middle}.duels-col-desc{min-width:10rem}.duels-col-actions{width:1%;white-space:nowrap}.duels-empty{text-align:center;color:var(--color-text-muted);padding:2rem 1rem!important;font-size:.9rem}.duels-person-cell{display:flex;align-items:center;gap:.75rem;min-width:0}.duels-avatar{width:2.25rem;height:2.25rem;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-active));color:var(--text-on-strong-colored);display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;flex-shrink:0}.duels-person-name{font-weight:600;color:var(--color-text-primary)}.duels-date-cell{display:flex;flex-direction:column;gap:.2rem}.duels-date-main{font-weight:600;color:var(--color-text-primary);font-size:.9rem}.duels-date-time{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;color:var(--color-text-muted)}.duels-desc-cell{max-width:18rem;color:var(--color-text-secondary, var(--color-text-primary));font-size:.875rem;line-height:1.45}.duels-muted{color:var(--color-text-muted)}.duels-best-of-pill{display:inline-block;padding:.2rem .55rem;border-radius:.375rem;background:var(--color-bg-inset);font-size:.8rem;font-weight:600;color:var(--color-text-muted);white-space:nowrap}.duels-result-score{display:inline-block;padding:.2rem .55rem;border-radius:.375rem;background:var(--color-bg-inset);font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.duels-invite-actions{display:flex;flex-wrap:nowrap;gap:.5rem;justify-content:flex-end;min-width:11rem}.duels-invite-actions .duels-btn{flex:1 1 0;justify-content:center;min-width:0}.duels-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .75rem;border-radius:.5rem;font-size:.8rem;font-weight:600;border:none;cursor:pointer;transition:background .15s,transform .15s,opacity .15s;white-space:nowrap}.duels-btn:hover:not(:disabled){transform:translateY(-1px)}.duels-btn:disabled{opacity:.6;cursor:not-allowed}.duels-btn-accept{background:var(--color-primary);color:var(--text-on-strong-colored);box-shadow:0 1px 3px var(--fill-primary-strong)}.duels-btn-accept:hover:not(:disabled){background:var(--color-primary-hover)}.duels-btn-decline{background:var(--color-error);color:var(--text-on-strong-colored);box-shadow:0 1px 3px #ef444440}.duels-btn-decline:hover:not(:disabled){background:var(--color-error-strong)}.duel-status{display:inline-block;padding:.25rem .65rem;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.01em}.duel-status--completed{background:var(--fill-success-soft, rgba(34, 197, 94, .15));color:var(--stat-positive, #16a34a)}.duel-status--scheduled{background:var(--fill-primary-strong, rgba(37, 99, 235, .12));color:var(--color-primary)}.duel-status--cancelled{background:var(--fill-danger-soft, rgba(239, 68, 68, .1));color:var(--color-error)}.duel-status--pending{background:var(--color-row-hover);color:var(--color-text-muted)}.duels-row-clickable{cursor:pointer}.duels-row-clickable:hover,.duels-row-clickable:focus-visible{background:var(--color-row-hover);outline:none}.duels-row-hint{display:block;margin-top:.25rem;font-size:.7rem;color:var(--color-text-muted);font-weight:500}.duels-schedule-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.35rem;border:none;border-radius:.625rem;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-active));color:var(--text-on-strong-colored);font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:0 2px 8px var(--fill-primary-strong);transition:transform .15s,box-shadow .15s}.duels-schedule-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px var(--fill-primary-strong)}@media(max-width:768px){.duels-invite-actions{justify-content:flex-start}.duels-desc-cell{max-width:10rem}}.h2h-tennis-comparison{min-height:80vh;background-color:var(--color-background);color:var(--color-text-primary);font-family:Inter,sans-serif;font-weight:600;width:100%;max-width:1400px;padding:0 9%;margin:0 auto}.h2h-container{max-width:1200px;margin:0 auto}.h2h-header-section{background:linear-gradient(145deg,var(--color-background-card),var(--color-bg-inset));border:1px solid var(--card-border-color);border-radius:.75rem;padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-lg)}.h2h-players-header{display:flex;align-items:center;justify-content:center;gap:32px}.h2h-player-info{text-align:center}.h2h-player-avatar{background:linear-gradient(135deg,var(--accent-blue-on-surface),var(--accent-violet));width:80px;height:80px;border-radius:50%;overflow:hidden;margin:0 auto 16px;border:4px solid;align-items:center;justify-content:center;font-size:24px;display:flex}.h2h-alex-avatar{border-color:var(--stat-positive)}.h2h-mike-avatar{border-color:var(--stat-negative)}.h2h-player-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}html[data-theme=light] .h2h-player-avatar{background:linear-gradient(135deg,var(--avatar-placeholder-from),var(--avatar-placeholder-to));color:var(--avatar-placeholder-initials)}html[data-theme=light] .h2h-player-name{color:var(--color-text-primary)}.h2h-player-name{font-size:20px;font-weight:700;color:#fff;margin:0 0 8px}.h2h-player-rank{font-weight:600;margin:0 0 4px}.h2h-alex-rank{color:var(--stat-positive)}.h2h-mike-rank{color:var(--stat-negative)}.h2h-player-status{color:var(--color-text-muted);font-size:14px;margin:0}.h2h-vs-section{text-align:center;padding:0 32px}.h2h-vs-text{font-size:48px;font-weight:700;color:var(--color-primary);margin-bottom:8px}.h2h-vs-subtitle{color:var(--color-text-muted);font-size:14px}.h2h-player-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;margin-bottom:1.5rem}.h2h-player-stats-card{background:linear-gradient(145deg,var(--color-background-card),var(--color-bg-inset));border:1px solid var(--card-border-color);border-radius:.75rem;padding:1.5rem;box-shadow:var(--shadow-lg)}.h2h-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.h2h-stat-item{text-align:center}.h2h-stat-value{font-size:28px;font-weight:700}.h2h-stat-label-small{color:var(--color-text-muted);font-size:12px}.h2h-alex-wins,.h2h-mike-wins{color:var(--color-primary)}.h2h-orange{color:var(--accent-orange-muted)}.h2h-red{color:var(--stat-negative)}.h2h-green{color:var(--stat-positive)}.h2h-purple{color:var(--accent-violet)}.h2h-yellow{color:var(--highlight-amber)}.h2h-head-to-head-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:1.5rem}.h2h-h2h-card{background:linear-gradient(145deg,var(--color-background-card),var(--color-bg-inset));border:1px solid var(--card-border-color);border-radius:.75rem;padding:1rem;text-align:center;box-shadow:var(--shadow-lg)}.h2h-h2h-value{font-size:38px;font-weight:700}.h2h-alex-h2h{color:var(--stat-positive)}.h2h-total-matches{color:var(--color-primary)}.h2h-mike-h2h{color:var(--stat-negative)}.h2h-h2h-label{font-size:16px;color:#fff;font-weight:600}.h2h-h2h-subtitle{color:var(--color-text-muted);font-size:12px}.h2h-analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;margin-bottom:1.5rem}.h2h-analytics-card{background:linear-gradient(145deg,var(--color-background-card),var(--color-bg-inset));border:1px solid var(--card-border-color);border-radius:.75rem;padding:2rem;box-shadow:var(--shadow-lg)}.h2h-analytics-title{font-size:20px;font-weight:700;color:#fff;margin:0 0 24px}.h2h-stat-bar{margin-bottom:20px}.h2h-stat-bar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.h2h-stat-label{color:var(--color-text-secondary);font-size:14px}.h2h-stat-values{color:#fff;font-size:14px}.h2h-stat-bar-container{display:flex;height:8px;background-color:var(--ui-indicator-muted);border-radius:4px;overflow:hidden}.h2h-stat-bar-alex{background-color:var(--stat-positive);height:100%;transition:width .5s ease}.h2h-stat-bar-mike{background-color:var(--stat-negative);height:100%;transition:width .5s ease}.h2h-stat-bar-footer{display:flex;justify-content:space-between;font-size:12px;color:var(--color-text-muted);margin-top:4px}.h2h-timeline{position:relative}.h2h-timeline-line{position:absolute;left:12px;top:0;bottom:0;width:2px;background-color:var(--ui-indicator-muted)}.h2h-timeline-items{display:flex;flex-direction:column;gap:24px}.h2h-timeline-item{display:flex;align-items:center}.h2h-timeline-dot{width:12px;height:12px;border-radius:50%;z-index:10;flex-shrink:0}.h2h-timeline-dot.h2h-win{background-color:var(--stat-positive)}.h2h-timeline-dot.h2h-loss{background-color:var(--stat-negative)}.h2h-timeline-content{margin-left:16px;flex:1}.h2h-timeline-header{display:flex;align-items:center;justify-content:space-between}.h2h-timeline-date{color:#fff;font-weight:500}.h2h-timeline-badge{font-size:12px;padding:4px 8px;border-radius:4px}.h2h-timeline-badge.h2h-win{background-color:#10b98133;color:var(--stat-positive)}.h2h-timeline-badge.h2h-loss{background-color:#ef444433;color:var(--stat-negative)}.h2h-timeline-attribution{margin-top:24px;font-size:12px;color:var(--color-text-muted)}.h2h-match-history-card{background:linear-gradient(145deg,var(--color-background-card),var(--color-bg-inset));border:1px solid var(--card-border-color);border-radius:.75rem;padding:1.5rem;box-shadow:var(--shadow-lg)}.h2h-match-history-title{font-size:20px;font-weight:700;color:#fff;margin:0 0 1.5rem}.h2h-match-history-list{display:flex;flex-direction:column;gap:1rem}.h2h-match-history-item{display:flex;align-items:center;justify-content:space-between;padding:13px;background-color:#000;border-radius:8px;transition:background-color .3s ease}.h2h-match-history-item:hover{background-color:var(--ui-indicator-muted)}.h2h-match-left{display:flex;align-items:center;gap:16px}.h2h-match-status-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.h2h-match-status-dot.h2h-win{background-color:var(--stat-positive)}.h2h-match-status-dot.h2h-loss{background-color:var(--stat-negative)}.h2h-match-tournament{color:#fff;font-size:14px;font-weight:600;margin-bottom:2px}.h2h-match-meta{color:var(--color-text-muted);font-size:12px}.h2h-match-right{text-align:right}.h2h-match-result{font-size:14px;font-weight:600;margin-bottom:2px}.h2h-match-result-win{color:var(--stat-positive)}.h2h-match-result-loss{color:var(--stat-negative)}.h2h-match-score{font-size:12px}.h2h-match-score-win{color:var(--stat-positive)}.h2h-match-score-loss{color:var(--stat-negative)}html[data-theme=light] .h2h-header-section,html[data-theme=light] .h2h-player-stats-card,html[data-theme=light] .h2h-h2h-card,html[data-theme=light] .h2h-analytics-card,html[data-theme=light] .h2h-match-history-card{box-shadow:var(--shadow-md)}html[data-theme=light] .h2h-h2h-label,html[data-theme=light] .h2h-analytics-title,html[data-theme=light] .h2h-match-history-title,html[data-theme=light] .h2h-match-tournament,html[data-theme=light] .h2h-timeline-date,html[data-theme=light] .h2h-stat-values{color:var(--color-text-primary)}html[data-theme=light] .h2h-match-history-item{background-color:var(--color-bg-inset);border:1px solid var(--card-border-color)}html[data-theme=light] .h2h-match-history-item:hover{background-color:var(--color-row-hover)}@media(max-width:768px){.h2h-tennis-comparison{padding:1rem}.h2h-header-section{padding:1.25rem;margin-bottom:1rem}.h2h-players-header{flex-direction:row;flex-wrap:wrap;gap:.5rem;justify-content:center}.h2h-player-info{flex:1;min-width:0;max-width:140px}.h2h-player-avatar{width:40px;height:40px;font-size:.85rem;margin-bottom:4px}.h2h-player-name{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.h2h-player-rank{font-size:.7rem}.h2h-vs-section{padding:0 .5rem;display:flex;align-items:center}.h2h-vs-text{font-size:1.25rem}.h2h-vs-subtitle{display:none}.h2h-player-stats-grid,.h2h-analytics-grid{grid-template-columns:1fr;gap:1rem;margin-bottom:1rem}.h2h-player-stats-card{padding:1rem}.h2h-head-to-head-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1rem}.h2h-h2h-card{padding:.75rem}.h2h-h2h-value{font-size:1.5rem}.h2h-h2h-label{font-size:.75rem}.h2h-analytics-card{padding:1rem}.h2h-analytics-title{font-size:1rem;margin-bottom:1rem}.h2h-stat-bar{margin-bottom:1rem}.h2h-stat-label,.h2h-stat-values{font-size:.8rem}.h2h-stat-bar-footer{font-size:.7rem}.h2h-timeline-items{gap:1rem}.h2h-match-history-card{padding:1rem}.h2h-match-history-title{font-size:1rem;margin-bottom:1rem}.h2h-match-history-item{padding:.75rem}.h2h-match-tournament{font-size:.85rem}.h2h-match-meta{font-size:.75rem}}@media(max-width:480px){.h2h-tennis-comparison{padding:.75rem}.h2h-header-section{padding:1rem}.h2h-player-info{max-width:110px}.h2h-player-avatar{width:36px;height:36px;font-size:.75rem}.h2h-player-name{font-size:.8rem}.h2h-vs-text{font-size:1rem}.h2h-head-to-head-grid{grid-template-columns:1fr;gap:.5rem}.h2h-h2h-value{font-size:1.5rem}.h2h-stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.h2h-stat-value{font-size:1.25rem}.h2h-stat-label-small{font-size:.65rem}.h2h-match-history-item{flex-direction:row;align-items:center;gap:.5rem}.h2h-match-left{flex:1;min-width:0}.h2h-match-tournament{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.h2h-chart-chart-wrapper{position:relative;height:160px;width:105%;left:-30px}.h2h-chart-custom-tooltip{background-color:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:.5rem;padding:.75rem;box-shadow:var(--shadow-lg)}.h2h-chart-tooltip-label{color:var(--color-text-secondary);font-size:.875rem;font-weight:500;margin:0 0 .25rem}.h2h-chart-tooltip-value{font-size:.875rem;margin:0}.h2h-chart-legend-text{color:var(--color-text-secondary);font-size:14px}.admin-add-user-modal{max-width:520px}.admin-add-user-hint{margin:0 0 1rem;font-size:.875rem;color:var(--color-text-muted)}.admin-add-user-check{display:flex;align-items:center;gap:.5rem;margin:1rem 0 0;font-size:.9rem;color:var(--color-text-secondary);cursor:pointer}.admin-add-user-check input{width:1rem;height:1rem;accent-color:var(--accent-violet-muted)}.admin-add-user-error{margin:1rem 0 0;color:var(--color-error-light);font-size:.875rem}.admin-add-user-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.25rem;flex-wrap:wrap}.form-group-full{grid-column:1 / -1}.admin-container{min-height:60vh;padding:2rem;display:flex;align-items:flex-start;justify-content:center}.admin-card{background-color:var(--color-background-card);border-radius:1rem;padding:2rem;max-width:32rem;width:100%;border:1px solid var(--card-border-color)}.admin-card-wide{max-width:1100px}.admin-title{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.5rem}.admin-subtitle{color:var(--color-text-muted);font-size:.95rem;margin-bottom:1.5rem}.admin-users-section{margin-top:.5rem}.admin-section-title{font-size:1.1rem;font-weight:700;color:var(--color-text-secondary);margin:0}.admin-users-section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.admin-muted{color:var(--color-text-disabled);font-size:.95rem}.admin-error{color:var(--color-error-light);font-size:.9rem;margin-bottom:1rem}.admin-table-wrap{overflow-x:auto;border:1px solid var(--card-border-color);border-radius:.75rem}.admin-users-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-users-table th,.admin-users-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--card-border-color)}.admin-users-table th{background:var(--color-table-header);color:var(--color-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em;font-size:.72rem}.admin-users-table tbody tr:last-child td{border-bottom:none}.admin-users-table tbody tr:hover td{background:var(--color-row-hover)}.admin-users-table td{color:var(--color-text-secondary)}.admin-cell-muted{color:var(--color-text-muted);white-space:nowrap}.admin-btn{padding:.45rem .85rem;border-radius:.5rem;font-weight:600;font-size:.8rem;border:none;cursor:pointer;white-space:nowrap}a.admin-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn-grant{background:#22c55e33;color:var(--stat-positive);border:1px solid rgba(34,197,94,.4)}.admin-btn-grant:hover:not(:disabled){background:#22c55e4d}.admin-btn-revoke{background:#ef444426;color:var(--stat-negative);border:1px solid rgba(239,68,68,.35)}.admin-btn-revoke:hover:not(:disabled){background:#ef444440}.admin-self-admin-hint{font-size:.8rem;color:var(--color-text-disabled);font-style:italic;cursor:help}.admin-role-badge{display:inline-block;margin-right:.35rem;padding:.15rem .45rem;border-radius:.35rem;font-size:.72rem;font-weight:600;background:#8b5cf626;color:var(--accent-violet-muted)}.admin-actions-cell{min-width:9rem}.admin-icon-actions{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.admin-icon-btn{width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.375rem;border:1px solid;cursor:pointer;background:transparent;padding:0;color:inherit}.admin-icon-btn:disabled{opacity:.45;cursor:not-allowed}.admin-floating-tip{padding:.3rem .55rem;border-radius:.35rem;font-size:.72rem;font-weight:600;white-space:nowrap;pointer-events:none;z-index:10000;background:var(--color-surface-elevated);color:var(--color-text-primary);border:1px solid var(--card-border-color);box-shadow:var(--shadow-md)}.admin-icon-btn--edit{background:#3b82f61a;color:var(--color-primary);border-color:#3b82f640}.admin-icon-btn--edit:hover:not(:disabled){background:#3b82f633}.admin-icon-btn--delete{background:#ef44441f;color:var(--stat-negative);border-color:#ef44444d}.admin-icon-btn--delete:hover:not(:disabled){background:#ef444438}.admin-icon-btn--super{background:#eab3081f;color:#ca8a04;border-color:#eab30859}.admin-icon-btn--super.admin-icon-btn--active{background:#eab30847;color:#a16207}.admin-icon-btn--super:hover:not(:disabled){background:#eab30838}.admin-icon-btn--admin{background:#22c55e1f;color:var(--stat-positive);border-color:#22c55e59}.admin-icon-btn--admin.admin-icon-btn--active{background:#22c55e47}.admin-icon-btn--admin:hover:not(:disabled){background:#22c55e38}.admin-halls-actions-cell{display:flex;flex-wrap:wrap;gap:.35rem;white-space:nowrap}.admin-tabs{display:flex;gap:.5rem;margin-bottom:1.25rem;flex-wrap:wrap}.admin-tab{padding:.5rem 1rem;border-radius:.5rem;border:1px solid var(--lang-btn-border);background:transparent;color:var(--color-text-muted);font-weight:600;font-size:.875rem;cursor:pointer}.admin-tab:hover{color:var(--color-text-secondary);border-color:var(--color-border)}.admin-tab-active{background:#8b5cf626;border-color:#8b5cf673;color:var(--accent-violet-muted)}.admin-btn.secondary{background:var(--color-surface-elevated);color:var(--color-text-secondary);border:1px solid var(--lang-btn-border)}.admin-cycles-toolbar,.admin-cycles-list-wrap{margin-bottom:1rem}.admin-cycle-form{margin-top:.5rem;padding:1rem;border:1px solid var(--card-border-color);border-radius:.75rem;background:var(--color-code-bg)}.admin-cycle-field{display:flex;flex-direction:column;gap:.35rem;margin-top:.75rem;font-size:.85rem;color:var(--color-text-muted)}.admin-cycle-input{padding:.5rem .75rem;border-radius:.5rem;border:1px solid var(--lang-btn-border);background:var(--color-bg-inset);color:var(--color-text-primary);font-size:.95rem}.admin-cycle-points-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem .75rem;margin-top:.5rem;max-height:320px;overflow-y:auto;padding-right:.25rem}.admin-cycle-point-cell{display:flex;flex-direction:column;gap:.2rem;font-size:.75rem;color:var(--color-text-muted)}.admin-cycle-place-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-cycle-point-input{padding:.35rem .5rem;border-radius:.35rem;border:1px solid var(--lang-btn-border);background:var(--color-bg-inset);color:var(--color-text-primary);font-size:.85rem;width:100%}.admin-cycle-form-actions{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.admin-cycle-linked-list{list-style:none;margin:.5rem 0 0;padding:0}.admin-cycle-linked-list li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.45rem 0;border-bottom:1px solid var(--card-border-color);font-size:.875rem;color:var(--color-text-secondary)}.admin-tv-section{margin-top:.5rem}.admin-tv-hint{max-width:52rem;line-height:1.5}.admin-tv-count{margin:.75rem 0 .5rem;font-size:.9rem;font-weight:600;color:var(--color-text-muted)}.admin-tv-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem;max-height:min(420px,50vh);overflow-y:auto}.admin-tv-item{display:flex;align-items:center;gap:.75rem;padding:.55rem .65rem;border:1px solid var(--card-border-color);border-radius:.5rem;cursor:pointer;background:var(--color-background)}.admin-tv-item--disabled{opacity:.45;cursor:not-allowed}.admin-tv-item-name{flex:1;font-weight:600}.admin-tv-item-date{font-size:.85rem;color:var(--color-text-muted)}.admin-tv-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.admin-tv-url{margin-top:1rem;font-size:.82rem;word-break:break-all;color:var(--color-text-muted)}.admin-tv-url code{display:block;padding:.65rem .75rem;background:var(--color-bg-inset);border-radius:.5rem;border:1px solid var(--card-border-color)}.app-shell--tv{min-height:100vh}.tv-config-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:1rem;background:#000000b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tv-config-panel{width:min(920px,100%);max-height:min(92vh,900px);display:flex;flex-direction:column;border-radius:.85rem;border:1px solid var(--tv-border, #334155);background:#0f172a;color:#e2e8f0;box-shadow:0 24px 60px #00000073}.tv-config-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-bottom:1px solid #334155}.tv-config-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.1rem;font-weight:800}.tv-config-close{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border:none;border-radius:.45rem;background:transparent;color:inherit;cursor:pointer}.tv-config-close:hover{background:#ffffff14}.tv-config-body{flex:1;min-height:0;overflow:auto;padding:1rem;display:flex;flex-direction:column;gap:1.1rem}.tv-config-section h3{margin:0 0 .55rem;font-size:.95rem;font-weight:800}.tv-config-section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.55rem}.tv-config-section-head h3{margin:0}.tv-config-section-actions{display:flex;gap:.45rem}.tv-config-row{display:flex;flex-wrap:wrap;gap:.75rem}.tv-config-field{display:flex;flex-direction:column;gap:.3rem;font-size:.82rem;font-weight:600;color:#94a3b8}.tv-config-field--grow{flex:1;min-width:12rem}.tv-config-field input,.tv-config-field select{min-height:2.2rem;padding:.35rem .55rem;border-radius:.45rem;border:1px solid #475569;background:#1e293b;color:#f8fafc;font:inherit}.tv-config-field input{width:5.5rem}.tv-config-unit{font-size:.78rem;color:#94a3b8}.tv-config-hint{margin:.35rem 0 0;font-size:.82rem;color:#94a3b8;line-height:1.35}.tv-config-hint--warn{color:#fbbf24}.tv-config-editor{display:flex;flex-direction:column;gap:.65rem;margin-top:.65rem}.tv-config-picker{display:flex;flex-wrap:wrap;gap:.55rem;align-items:flex-end}.tv-config-size-fine{display:flex;align-items:flex-end;gap:.25rem}.tv-config-field--compact select{min-width:3.25rem}.tv-config-size-x{padding-bottom:.45rem;font-weight:800;color:#94a3b8}.tv-config-slot-hint{margin:0;font-size:.8rem;color:#cbd5e1}.tv-config-grid{display:grid;grid-template-columns:repeat(var(--tv-config-cols, 4),minmax(0,1fr));grid-template-rows:repeat(4,minmax(4.5rem,1fr));gap:.35rem;min-height:18rem;padding:.45rem;border-radius:.65rem;border:1px solid #334155;background:#111827}.tv-config-cell{min-width:0;min-height:0;border:1px dashed #475569;border-radius:.45rem;background:#ffffff05;color:#e2e8f0;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:.35rem;font:inherit}.tv-config-cell:hover{border-color:#60a5fa;background:#60a5fa14}.tv-config-cell--filled{border-style:solid;border-color:#3b82f6;background:#3b82f62e;justify-content:flex-start;padding-top:.28rem}.tv-config-board-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.55rem}.tv-config-board-tab{display:inline-flex;align-items:center;gap:.35rem;min-height:2rem;padding:.3rem .65rem;border-radius:.45rem;border:1px solid #475569;background:#1e293b;color:#e2e8f0;font:inherit;font-weight:700;font-size:.82rem;cursor:pointer}.tv-config-board-tab--active{border-color:#3b82f6;background:#3b82f633;color:#fff}.tv-config-board-tab--add{border-style:dashed;color:#93c5fd}.tv-config-board-tab-count{min-width:1.1rem;padding:.05rem .35rem;border-radius:999px;background:#ffffff1f;font-size:.68rem;font-weight:800;text-align:center}.tv-config-board-tab-locked{display:inline-flex;align-items:center;gap:.15rem;font-size:.62rem;font-weight:800;color:#fcd34d}.tv-config-locked-hint{display:flex;align-items:center;gap:.35rem;color:#fcd34d}.tv-config-grid--3x3{max-width:18rem;margin-inline:auto}.tv-config-board-actions{display:flex;justify-content:flex-end;margin-bottom:.45rem}.tv-config-btn--danger{display:inline-flex;align-items:center;gap:.3rem;color:#fca5a5;border-color:#f8717173}.tv-config-btn--danger:disabled{opacity:.4}.tv-config-cell--compact{padding:.2rem;gap:.1rem}.tv-config-cell--compact .tv-config-cell-label{font-size:.62rem;line-height:1.08}.tv-config-cell--compact .tv-config-cell-span{font-size:.56rem}.tv-config-cell-cat-row{display:flex;flex-direction:column;align-items:center;gap:.12rem;width:100%;min-width:0}.tv-config-cell-cat{width:100%;font-size:.62rem;font-weight:800;line-height:1.1;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tv-config-cell-cat-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2rem;padding:.28rem .45rem;margin-top:.1rem;border-radius:.4rem;border:1px solid rgba(148,163,184,.45);background:#0f172a8c;font-size:.72rem;font-weight:700;color:#e2e8f0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%;max-width:100%;box-sizing:border-box}.tv-config-cell-cat-toggle:hover{border-color:#60a5fa;background:#3b82f626}.tv-config-cell-cat-toggle input{margin:0;width:1.15rem;height:1.15rem;flex-shrink:0;cursor:pointer;accent-color:#3b82f6}.tv-config-cell--compact .tv-config-cell-cat{font-size:.54rem}.tv-config-cell--compact .tv-config-cell-cat-toggle{min-height:1.75rem;padding:.22rem .35rem;font-size:.66rem}.tv-config-cell--compact .tv-config-cell-cat-toggle input{width:1rem;height:1rem}.tv-config-board-cat-toggle{display:inline-flex;align-items:center;gap:.55rem;min-height:2.5rem;margin:0 0 .55rem;padding:.45rem .65rem;border-radius:.45rem;border:1px solid #475569;background:#1e293b;font-size:.95rem;font-weight:700;color:#e2e8f0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tv-config-board-cat-toggle:hover{border-color:#60a5fa;background:#3b82f61f}.tv-config-board-cat-toggle input{margin:0;width:1.25rem;height:1.25rem;flex-shrink:0;cursor:pointer;accent-color:#3b82f6}.tv-config-cell-label{font-size:.82rem;font-weight:800;text-align:center;line-height:1.15}.tv-config-cell-span{font-size:.68rem;color:#93c5fd;font-weight:700}.tv-config-error{margin:0;color:#f87171;font-size:.82rem;font-weight:600}.tv-config-footer{display:flex;justify-content:flex-end;gap:.55rem;padding:.85rem 1rem;border-top:1px solid #334155}.tv-config-btn{min-height:2.3rem;padding:.4rem .85rem;border-radius:.45rem;border:1px solid transparent;font:inherit;font-weight:700;cursor:pointer}.tv-config-btn.secondary{border-color:#475569;background:#1e293b;color:#e2e8f0}.tv-config-btn.primary{background:#2563eb;color:#fff}.tv-config-btn:disabled{opacity:.45;cursor:not-allowed}.tv-config-cell:disabled{cursor:default}.admin-tv-mode-controls{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.45rem}.admin-tv-mode-rotate{display:inline-flex;align-items:center;gap:.35rem;font-size:.8125rem;color:var(--color-text-secondary)}.admin-tv-mode-rotate-label{font-weight:600;white-space:nowrap}.admin-tv-mode-rotate-input{width:3.25rem;padding:.35rem .4rem;border-radius:.4rem;border:1px solid var(--card-border-color, var(--lang-btn-border));background:var(--color-background-card, var(--color-background));color:var(--color-text-primary);font-size:.8125rem;font-weight:600;text-align:center}.admin-tv-mode-rotate-input:focus{outline:none;border-color:#8b5cf680;box-shadow:0 0 0 2px #8b5cf626}.admin-tv-mode-rotate-unit{font-weight:500;color:var(--color-text-muted)}.admin-tv-mode-controls--compact .admin-tv-mode-rotate-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.admin-halls-actions-cell .admin-tv-mode-controls{width:100%}.admin-hall-manage{margin-top:.5rem}.admin-hall-manage-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.admin-hall-tv-link{display:inline-flex;align-items:center;gap:.35rem;text-decoration:none}.admin-hall-tts-toolbar-btn{display:inline-flex;align-items:center;gap:.4rem}.admin-hall-tts-toolbar-btn-active{background:var(--accent-violet)!important;border-color:var(--accent-violet)!important;color:var(--text-on-strong-colored)!important}.admin-hall-table-status-cell{display:inline-flex;align-items:center;gap:.4rem}.admin-hall-status-tts-btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:none;border-radius:999px;background:var(--accent-violet);color:var(--text-on-strong-colored);cursor:pointer;flex-shrink:0}.admin-hall-status-tts-btn:hover{filter:brightness(1.08)}.admin-hall-status-tts-btn:focus-visible{outline:2px solid var(--accent-violet);outline-offset:2px}.admin-hall-manage-title{margin-top:0}.admin-hall-manage-block{margin-top:1.5rem}.admin-hall-manage-subtitle{font-size:1rem;font-weight:600;margin:0 0 .75rem;color:var(--color-text-primary)}.admin-hall-manage-table{width:100%}.admin-hall-manage-tournament-link{font-weight:600;color:var(--color-primary);text-decoration:none}.admin-hall-manage-tournament-link:hover{text-decoration:underline}.admin-hall-manage-table-num{font-weight:600;white-space:nowrap}.admin-hall-manage-score{font-weight:700;white-space:nowrap}.admin-hall-manage-row--occupied{background:#22c55e0f}.admin-hall-manage-row--clickable{cursor:pointer}.admin-hall-manage-row--clickable:hover{background:#3b82f612}.admin-hall-manage-row--occupied.admin-hall-manage-row--clickable:hover{background:#22c55e1f}.admin-hall-table-badge{display:inline-block;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:.2rem .5rem;border-radius:999px;white-space:nowrap}.admin-hall-table-badge--free{background:var(--color-bg-inset);color:var(--color-text-secondary)}.admin-hall-table-badge--occupied{background:#22c55e26;color:var(--stat-positive)}.admin-hall-table-vs{font-size:.75rem;color:var(--color-text-muted);font-weight:400}.admin-hall-manage-display-cell{min-width:12rem}.admin-hall-display-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.admin-hall-display-input{flex:1 1 8rem;min-width:6rem;max-width:14rem}.admin-hall-display-color{width:2.25rem;height:2.25rem;padding:.1rem;border:1px solid var(--color-border, #cbd5e1);border-radius:.375rem;background:transparent;cursor:pointer;flex-shrink:0}.admin-hall-display-color::-webkit-color-swatch-wrapper{padding:0}.admin-hall-display-color::-webkit-color-swatch{border:none;border-radius:.25rem}.admin-hall-display-save{flex-shrink:0;padding:.35rem .65rem;font-size:.8125rem}.admin-hall-manage-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.75rem}.admin-hall-manage-refresh-hint{font-size:.8125rem;align-self:center}.admin-hall-referee-cell{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.admin-hall-referee-name{font-weight:500}.admin-hall-referee-add,.admin-hall-referee-change{padding:.3rem .55rem;font-size:.8125rem;white-space:nowrap}.admin-referee-modal-backdrop{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:#080c189e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.admin-referee-modal{width:min(920px,100%);max-height:min(88vh,820px);display:flex;flex-direction:column;background:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:20px;box-shadow:0 24px 64px #00000059,0 0 0 1px #ffffff0a inset;overflow:hidden;animation:admin-referee-modal-in .22s ease-out}@keyframes admin-referee-modal-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.admin-referee-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.35rem 1.5rem 1.1rem;background:linear-gradient(135deg,rgba(139,92,246,.14) 0%,rgba(59,130,246,.08) 55%,transparent 100%);border-bottom:1px solid var(--card-border-color)}.admin-referee-modal-header-main{display:flex;align-items:flex-start;gap:.85rem;min-width:0}.admin-referee-modal-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:14px;background:linear-gradient(135deg,#8b5cf638,#3b82f62e);border:1px solid rgba(139,92,246,.35);color:var(--accent-violet, #8b5cf6)}.admin-referee-modal-title{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:-.02em;color:var(--color-text-primary)}.admin-referee-modal-subtitle{margin:.3rem 0 0;font-size:.875rem;line-height:1.45;color:var(--color-text-secondary);max-width:34rem}.admin-referee-modal-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:none;border-radius:10px;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background .15s,color .15s}.admin-referee-modal-close:hover{background:var(--color-bg-inset);color:var(--color-text-primary)}.admin-referee-modal-match{margin:1rem 1.5rem 0;padding:.9rem 1rem;border-radius:14px;background:var(--color-bg-inset);border:1px solid var(--card-border-color)}.admin-referee-modal-match-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;margin-bottom:.55rem}.admin-referee-modal-table-badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#22c55e26;color:var(--stat-positive, #22c55e)}.admin-referee-modal-tournament{font-size:.8125rem;font-weight:600;color:var(--color-text-primary)}.admin-referee-modal-round{font-size:.75rem;color:var(--color-text-muted)}.admin-referee-modal-players{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;font-size:1rem;font-weight:600;color:var(--color-text-primary)}.admin-referee-modal-vs{font-size:.75rem;font-weight:500;color:var(--color-text-muted);text-transform:lowercase}.admin-referee-modal-body{flex:1;min-height:0;overflow-y:auto;padding:1rem 1.5rem 1.25rem}.admin-referee-modal-count{margin:0;font-size:.8125rem;font-weight:600;color:var(--color-text-secondary);display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .75rem}.admin-referee-modal-sort-hint{font-weight:500;color:var(--color-text-muted);text-transform:none;letter-spacing:normal}.admin-referee-modal-toolbar{display:flex;flex-direction:column;gap:.85rem;margin-bottom:.85rem}.admin-referee-modal-table-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem 1rem;margin-bottom:.65rem}.admin-referee-modal-table-meta-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-left:auto}.admin-referee-modal-toolbar-btn{padding:.45rem .75rem;border-radius:8px;border:1px solid var(--card-border-color);background:var(--color-background);color:var(--color-text-secondary);font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.admin-referee-modal-toolbar-btn:hover:not(:disabled){background:var(--color-bg-inset);border-color:#8b5cf659}.admin-referee-modal-toolbar-btn:disabled{opacity:.45;cursor:not-allowed}.admin-referee-modal-filter{display:flex;flex-direction:column;gap:.35rem;flex:1;min-width:min(100%,14rem)}.admin-referee-modal-filter-label{font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.admin-referee-modal-filter-input{width:100%;padding:.55rem .75rem;border-radius:10px;border:1px solid var(--card-border-color);background:var(--color-background);color:var(--color-text-primary);font-size:.875rem}.admin-referee-modal-filter-input:focus{outline:none;border-color:#8b5cf680;box-shadow:0 0 0 3px #8b5cf61f}.admin-referee-modal-filter-tournaments{display:flex;flex-direction:column;gap:.45rem}.admin-referee-modal-filter-pills{display:flex;flex-wrap:wrap;gap:.4rem}.admin-referee-modal-filter-pill{padding:.35rem .65rem;border-radius:999px;border:1px solid var(--card-border-color);background:var(--color-background);color:var(--color-text-secondary);font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.admin-referee-modal-filter-pill:hover{border-color:#8b5cf659}.admin-referee-modal-filter-pill.active{background:#8b5cf61f;border-color:#8b5cf673;color:var(--accent-violet, #8b5cf6)}.admin-referee-modal-table-wrap{overflow-x:auto;border:1px solid var(--card-border-color);border-radius:14px;background:var(--color-background)}.admin-referee-modal-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-referee-modal-table thead{background:var(--color-bg-inset);border-bottom:1px solid var(--card-border-color)}.admin-referee-modal-th{padding:.65rem .85rem;text-align:left;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap}.admin-referee-modal-th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.admin-referee-modal-th.sortable:hover{color:var(--color-text-primary);background:#8b5cf60f}.admin-referee-modal-th.sorted{color:var(--accent-violet, #8b5cf6)}.admin-referee-modal-th-inner{display:inline-flex;align-items:center;gap:.25rem}.admin-referee-modal-sort-order{display:inline-flex;align-items:center;justify-content:center;min-width:1rem;height:1rem;padding:0 .2rem;border-radius:999px;font-size:.625rem;font-weight:800;background:#8b5cf62e;color:var(--accent-violet, #8b5cf6)}.admin-referee-modal-th-num,.admin-referee-modal-td-num{text-align:right}.admin-referee-modal-th-num .admin-referee-modal-th-inner{justify-content:flex-end;width:100%}.admin-referee-modal-table tbody tr{border-bottom:1px solid var(--card-border-color);transition:background .12s;cursor:pointer}.admin-referee-modal-table-row:focus-visible{outline:2px solid rgba(139,92,246,.55);outline-offset:-2px}.admin-referee-modal-table-row[aria-disabled=true]{cursor:not-allowed;opacity:.55}.admin-referee-modal-table tbody tr:last-child{border-bottom:none}.admin-referee-modal-table tbody tr:hover{background:#8b5cf60d}.admin-referee-modal-table td{padding:.55rem .85rem;vertical-align:middle}.admin-referee-modal-td-num{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;width:5.5rem}.admin-referee-modal-td-tournaments{color:var(--color-text-secondary);font-size:.8125rem;max-width:14rem}.admin-referee-modal-empty-filtered{min-height:8rem}.admin-referee-modal-loading,.admin-referee-modal-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:12rem;text-align:center;color:var(--color-text-secondary)}.admin-referee-modal-empty p{margin:0;max-width:22rem;line-height:1.5;font-size:.9375rem}.admin-referee-modal-empty svg{opacity:.45}.admin-referee-modal-spinner{animation:admin-referee-spin .85s linear infinite;color:var(--accent-violet, #8b5cf6)}@keyframes admin-referee-spin{to{transform:rotate(360deg)}}.admin-referee-modal-candidate-name{font-size:.9375rem;font-weight:600;line-height:1.3}@media(max-width:560px){.admin-referee-modal-header,.admin-referee-modal-body,.admin-referee-modal-footer{padding-left:1rem;padding-right:1rem}.admin-referee-modal-match{margin-left:1rem;margin-right:1rem}.admin-referee-modal-table-meta-actions{margin-left:0;width:100%}.admin-referee-modal-td-tournaments{max-width:8rem}}.admin-referee-modal-footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem;padding:1rem 1.5rem 1.35rem;border-top:1px solid var(--card-border-color);background:var(--color-surface-elevated, var(--color-bg-inset))}.admin-referee-modal-btn{padding:.65rem 1.1rem;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;border:1px solid var(--color-border-strong);transition:background .15s,opacity .15s}.admin-referee-modal-btn:disabled{opacity:.5;cursor:not-allowed}.admin-referee-modal-btn-secondary{background:var(--color-surface-elevated);color:var(--color-text-secondary)}.admin-referee-modal-btn-secondary:hover:not(:disabled){background:var(--color-bg-inset)}.admin-referee-modal-btn-danger{background:#ef44441a;border-color:#ef444447;color:#ef4444}.admin-referee-modal-btn-danger:hover:not(:disabled){background:#ef444429}.tv-gs-slide{display:flex;flex-direction:column;height:100%;min-height:0;width:100%;overflow:hidden;gap:.35rem;--tv-gs-cat-head-size: clamp(2rem, 3.8vw, 3.25rem);--tv-gs-cat-badge-size: clamp(1.15rem, 2.2vw, 1.85rem)}.tv-gs-slide-cat-head{flex-shrink:0;font-size:var(--tv-gs-cat-head-size);font-weight:800;line-height:1.1;letter-spacing:-.01em}.tv-gs-slot-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(var(--tv-gs-cols, 3),minmax(0,1fr));grid-template-rows:repeat(var(--tv-gs-rows, 3),minmax(0,1fr));gap:.28rem;align-content:stretch}.tv-gs-slot{min-width:0;min-height:0;overflow:hidden}.tv-gs-slot-group-wrap{height:100%;min-height:0;display:flex;flex-direction:column;gap:.2rem}.tv-gs-slot-group-wrap .tv-standings-group-block{flex:1;min-height:0}.tv-gs-slot-cat-badge-row{flex:0 0 auto;min-height:calc(var(--tv-gs-cat-badge-size) * 1.12);display:flex;align-items:flex-end;overflow:hidden}.tv-gs-slot-cat-badge{flex-shrink:0;font-size:var(--tv-gs-cat-badge-size);font-weight:800;letter-spacing:.03em;text-transform:uppercase;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;color:var(--tv-gs-cat-color, var(--tv-cat-color, var(--tv-accent)))}.tv-gs-category-block{min-height:0;min-width:0;display:flex;flex-direction:column;border:1px solid color-mix(in srgb,var(--tv-gs-cat-color, var(--tv-accent)) 42%,var(--tv-border));border-radius:.65rem;background:color-mix(in srgb,var(--tv-gs-cat-color, var(--tv-accent)) 7%,var(--tv-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tv-gs-cat-color, var(--tv-accent)) 12%,transparent);overflow:hidden}.tv-gs-category-header{flex-shrink:0;padding:.55rem .7rem .5rem;font-size:var(--tv-gs-cat-head-size);font-weight:800;line-height:1.1;letter-spacing:-.01em;color:var(--tv-gs-cat-color, var(--tv-cat-color, var(--tv-accent)));border-bottom:1px solid color-mix(in srgb,var(--tv-gs-cat-color, var(--tv-accent)) 28%,var(--tv-border));background:color-mix(in srgb,var(--tv-gs-cat-color, var(--tv-accent)) 10%,transparent)}.tv-gs-category-inner{flex:1;min-height:0;padding:.28rem;display:grid;gap:.28rem}.tv-gs-inner-grid-2x2{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}.tv-gs-inner-band-3{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(0,1fr)}.tv-gs-inner-pair{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr)}.tv-gs-layout-split-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;height:100%;min-height:0}.tv-gs-layout-three-bands{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:.3rem;height:100%;min-height:0}.tv-gs-layout-four-blocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:.3rem;height:100%;min-height:0}.tv-gs-slot--vertical-2 .tv-standings-group-block,.tv-standings-group-block--vertical-2{padding:.1rem .16rem .12rem}.tv-gs-slot--vertical-2 .tv-standings-group-title,.tv-standings-group-block--vertical-2 .tv-standings-group-title{margin-bottom:.06rem;line-height:1;letter-spacing:-.01em}.tv-gs-slot--vertical-2 .tv-standings-table th,.tv-standings-group-block--vertical-2 .tv-standings-table th{letter-spacing:0;font-size:.72em}.tv-gs-slot--vertical-2 .tv-standings-table th,.tv-gs-slot--vertical-2 .tv-standings-table td,.tv-standings-group-block--vertical-2 .tv-standings-table th,.tv-standings-group-block--vertical-2 .tv-standings-table td{padding-left:.12rem;padding-right:.12rem}.tv-gs-slide .tv-standings-group-block{--tv-cat-tint: var(--tv-gs-cat-color, var(--tv-cat-color, var(--tv-accent)));display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden;background:color-mix(in srgb,var(--tv-cat-tint) 8%,var(--tv-surface));border:1px solid color-mix(in srgb,var(--tv-cat-tint) 42%,var(--tv-border));border-radius:.5rem;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tv-cat-tint) 14%,transparent),0 0 1.35rem color-mix(in srgb,var(--tv-cat-tint) 11%,transparent);padding:.28rem .38rem .32rem;--tv-standings-font: 1rem;--tv-standings-cell-py: .35rem;--tv-standings-group-title: .9rem}.tv-gs-slide .tv-standings-group-title{flex-shrink:0;font-size:var(--tv-standings-group-title, 1rem);font-weight:700;color:var(--tv-referee, #ef4444);line-height:1.1;margin-bottom:.2rem}.tv-gs-slide .tv-standings-table{flex:1;min-height:0;width:100%;border-collapse:collapse;font-size:var(--tv-standings-font, 1rem);table-layout:fixed;display:flex;flex-direction:column}.tv-gs-slide .tv-standings-table thead{flex-shrink:0;display:table;width:100%;table-layout:fixed}.tv-gs-slide .tv-standings-table tbody{flex:1;min-height:0;display:flex;flex-direction:column;width:100%}.tv-gs-slide .tv-standings-table tbody tr{flex:1 1 0;min-height:0;display:table;width:100%;table-layout:fixed}.tv-gs-slide .tv-standings-table th,.tv-gs-slide .tv-standings-table td{padding:var(--tv-standings-cell-py, .35rem) .35rem;text-align:left;border-bottom:1px solid var(--tv-border);line-height:1.12;vertical-align:middle;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tv-gs-slide .tv-standings-table thead th{padding-top:.18rem;padding-bottom:.18rem}.tv-gs-slide .tv-standings-table th{color:var(--tv-muted);font-weight:700;font-size:.82em;text-transform:uppercase;letter-spacing:.04em}.tv-gs-slide .tv-standings-table td:first-child,.tv-gs-slide .tv-standings-table th:first-child{width:2rem;font-weight:800;color:var(--tv-accent)}.tv-gs-slide .tv-standings-table td:nth-child(2),.tv-gs-slide .tv-standings-table th:nth-child(2){width:auto;min-width:0;max-width:0;overflow:hidden;white-space:nowrap;text-overflow:clip}.tv-gs-slide .tv-standings-table td:nth-child(n+3),.tv-gs-slide .tv-standings-table th:nth-child(n+3){width:2.35rem;text-align:center;padding-left:.2rem;padding-right:.2rem}.tv-gs-slide .tv-standings-table tbody tr:nth-child(-n+2) td:nth-child(2){font-weight:800}.tv-gs-slide .tv-standings-stat{text-align:center;font-weight:800;font-variant-numeric:tabular-nums}.tv-gs-slide .tv-standings-stat--played{color:#facc15}.tv-gs-slide .tv-standings-stat--wins{color:var(--tv-live)}.tv-gs-slide .tv-standings-stat--losses{color:var(--tv-referee)}.tv-gs-slide .tv-standings-table th.tv-standings-stat--played{color:#facc15}.tv-gs-slide .tv-standings-table th.tv-standings-stat--wins{color:var(--tv-live)}.tv-gs-slide .tv-standings-table th.tv-standings-stat--losses{color:var(--tv-referee)}.tv-gs-slide .tv-standings-table th.tv-standings-stat{font-weight:800}.tv-gs-slot .tv-standings-group-block,.tv-gs-category-inner .tv-standings-group-block{height:100%}.tv-gs-filler{height:100%;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:.35rem;padding:.55rem .65rem;border-radius:.55rem;border:1px dashed var(--tv-border);background:#ffffff08;color:var(--tv-text)}.tv-gs-filler-title{font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--tv-muted)}.tv-gs-filler-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.tv-gs-filler-list li{display:flex;flex-direction:column;gap:.1rem;font-size:.78rem;line-height:1.15}.tv-gs-filler-match-cat{font-size:.62rem;font-weight:700;color:var(--tv-accent);text-transform:uppercase}.tv-gs-filler-match-main{font-weight:700}.tv-gs-filler-match-meta{color:var(--tv-muted);font-size:.68rem}.tv-gs-filler-live-table{font-size:1.1rem;font-weight:800;color:var(--tv-live)}.tv-gs-filler-live-players{font-size:.85rem;font-weight:700}.tv-gs-filler-live-score{font-size:1.2rem;font-weight:800}.tv-gs-filler-hall-name{font-size:1.15rem;font-weight:800;color:var(--tv-accent)}.tv-gs-filler-phase-label{font-size:1rem;font-weight:800;color:var(--tv-accent)}.tv-mode{--tv-bg: #0a0e17;--tv-surface: #121826;--tv-border: rgba(255, 255, 255, .12);--tv-text: #f8fafc;--tv-muted: #94a3b8;--tv-accent: #38bdf8;--tv-live: #22c55e;--tv-free: #64748b;--tv-referee: #ef4444;--tv-gold: #fbbf24;--tv-cat-color: var(--tv-accent);height:100vh;height:100dvh;max-height:100dvh;overflow:hidden;background:var(--tv-bg);color:var(--tv-text);display:flex;flex-direction:column;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.tv-mode--tables .tv-header{padding:.6rem 1.25rem .45rem}.tv-mode--tables .tv-footer{padding:.3rem 1.25rem .45rem}.tv-mode--tables .tv-main{padding:.35rem .45rem .25rem}.tv-mode--tables .tv-nav-btn{width:2.75rem;height:2.75rem}.tv-mode--tables .tv-slide-stage{gap:.45rem}.tv-mode--upcoming .tv-header{padding:.6rem 1.25rem .45rem}.tv-mode--upcoming .tv-footer{padding:.3rem 1.25rem .45rem}.tv-mode--upcoming .tv-main{padding:.35rem .45rem .25rem}.tv-mode--upcoming .tv-nav-btn{width:2.75rem;height:2.75rem}.tv-mode--upcoming .tv-slide-stage{gap:.45rem}.tv-slide.tv-slide--upcoming{flex:1;height:100%;overflow:hidden;display:flex;flex-direction:column;min-height:0}.tv-slide-grid--upcoming{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,auto));grid-auto-flow:column;gap:1.25rem;flex:1;width:100%;min-height:0;align-items:start;align-content:start}.tv-upcoming-card{--tv-cat-tint: var(--tv-cat-color, var(--tv-accent));background:color-mix(in srgb,var(--tv-cat-tint) 8%,var(--tv-surface));border:1px solid color-mix(in srgb,var(--tv-cat-tint) 42%,var(--tv-border));border-radius:.5rem;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tv-cat-tint) 14%,transparent),0 0 1.35rem color-mix(in srgb,var(--tv-cat-tint) 11%,transparent);padding:.495rem .66rem;width:100%;height:120px;min-height:120px;max-height:120px;display:flex;flex-direction:column;justify-content:center;gap:.33rem;min-width:0;overflow:hidden}.tv-upcoming-meta{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.44rem;font-size:.894rem;font-weight:700;color:var(--tv-muted);text-transform:uppercase;letter-spacing:.03em;line-height:1.1;min-width:0;flex-shrink:0}.tv-cat-label{font-weight:inherit}.tv-upcoming-cat{color:var(--tv-cat-color, var(--tv-accent));white-space:nowrap;flex-shrink:0}.tv-upcoming-round{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0}.tv-round-wrap{min-width:0;display:flex;flex-direction:row;align-items:baseline;flex-wrap:nowrap;gap:.35rem;overflow:hidden}.tv-round-sep{flex-shrink:0;color:var(--tv-muted);font-weight:700}.tv-upcoming-ko-interval,.tv-recent-ko-interval{font-size:.88em;font-weight:700;color:var(--tv-text);text-transform:none;letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0}.tv-upcoming-table{white-space:nowrap;flex-shrink:0;color:var(--tv-text)}.tv-upcoming-players{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.33rem .495rem;font-size:1.2375rem;font-weight:800;line-height:1.15;flex:1;min-height:0}.tv-upcoming-player{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.tv-upcoming-player--right{text-align:right}.tv-upcoming-player--left{text-align:left}.tv-upcoming-vs{font-size:.9625rem;font-weight:600;color:var(--tv-muted);padding:0 .11rem}.tv-mode--standings .tv-header{padding:.6rem 1.25rem .45rem}.tv-mode--standings .tv-footer{padding:.3rem 1.25rem .45rem}.tv-mode--standings .tv-main{padding:.35rem .55rem .25rem}.tv-mode--standings .tv-nav-btn{width:2.75rem;height:2.75rem}.tv-mode--standings .tv-slide-stage{gap:.45rem}.tv-slide.tv-slide--standings{flex:1;height:100%;overflow:hidden;display:flex;flex-direction:column;min-height:0}.tv-standings-slide{display:flex;flex-direction:column;height:100%;min-height:0;width:100%;overflow:hidden}.tv-standings-slide--combined{gap:.45rem}.tv-standings-slide--sections-3 .tv-standings-cat-head,.tv-standings-slide--sections-4 .tv-standings-cat-head{margin-bottom:.25rem}.tv-standings-slide--sections-4 .tv-standings-cat-head{font-size:calc(var(--tv-standings-head-font, 1.35rem) * .88)}.tv-standings-section{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.tv-standings-cat-head{flex-shrink:0;font-size:var(--tv-standings-head-font, 1.35rem);font-weight:800;color:var(--tv-cat-color, var(--tv-accent));line-height:1.15;margin-bottom:.45rem}.tv-standings-grid{display:grid;grid-template-columns:repeat(var(--tv-standings-cols, 1),minmax(0,1fr));grid-template-rows:repeat(var(--tv-standings-grid-rows, 1),minmax(0,1fr));gap:var(--tv-standings-gap, .55rem);flex:1;min-height:0;width:100%;align-items:stretch}.tv-standings-group-block{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden;background:var(--tv-surface);border:1px solid var(--tv-border);border-radius:.55rem;padding:.35rem .45rem .4rem;--tv-standings-font: 1rem;--tv-standings-cell-py: .35rem;--tv-standings-group-title: .9rem}.tv-standings-group-title{flex-shrink:0;font-size:var(--tv-standings-group-title, 1rem);font-weight:700;color:var(--tv-referee, #ef4444);line-height:1.1;margin-bottom:.25rem}.tv-standings-slide .tv-standings-table{flex:1;min-height:0;width:100%;border-collapse:collapse;font-size:var(--tv-standings-font, 1rem);table-layout:fixed;display:flex;flex-direction:column}.tv-standings-slide .tv-standings-table thead{flex-shrink:0;display:table;width:100%;table-layout:fixed}.tv-standings-slide .tv-standings-table tbody{flex:1;min-height:0;display:flex;flex-direction:column;width:100%}.tv-standings-slide .tv-standings-table tbody tr{flex:1 1 0;min-height:0;display:table;width:100%;table-layout:fixed}.tv-standings-slide .tv-standings-table th,.tv-standings-slide .tv-standings-table td{padding:var(--tv-standings-cell-py, .35rem) .4rem;text-align:left;border-bottom:1px solid var(--tv-border);line-height:1.12;vertical-align:middle;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tv-standings-slide .tv-standings-table thead th{padding-top:.2rem;padding-bottom:.2rem}.tv-standings-slide .tv-standings-table th{color:var(--tv-muted);font-weight:700;font-size:.82em;text-transform:uppercase;letter-spacing:.04em}.tv-standings-slide .tv-standings-table td:first-child,.tv-standings-slide .tv-standings-table th:first-child{width:2rem;font-weight:800;color:var(--tv-accent)}.tv-standings-slide .tv-standings-table td:nth-child(2),.tv-standings-slide .tv-standings-table th:nth-child(2){width:auto;min-width:0}.tv-standings-slide .tv-standings-table td:nth-child(n+3),.tv-standings-slide .tv-standings-table th:nth-child(n+3){width:2.35rem;text-align:center;padding-left:.2rem;padding-right:.2rem}.tv-standings-slide .tv-standings-table tbody tr:nth-child(-n+2) td:nth-child(2){font-weight:800}.tv-standings-slide .tv-standings-stat{text-align:center;font-weight:800;font-variant-numeric:tabular-nums}.tv-standings-slide .tv-standings-stat--played{color:#facc15}.tv-standings-slide .tv-standings-stat--wins{color:var(--tv-live)}.tv-standings-slide .tv-standings-stat--losses{color:var(--tv-referee)}.tv-standings-slide .tv-standings-table th.tv-standings-stat--played{color:#facc15}.tv-standings-slide .tv-standings-table th.tv-standings-stat--wins{color:var(--tv-live)}.tv-standings-slide .tv-standings-table th.tv-standings-stat--losses{color:var(--tv-referee)}.tv-standings-slide .tv-standings-table th.tv-standings-stat{font-weight:800}.tv-mode--recent .tv-header{padding:.6rem 1.25rem .45rem}.tv-mode--recent .tv-footer{padding:.3rem 1.25rem .45rem}.tv-mode--recent .tv-main{padding:.35rem .45rem .25rem}.tv-mode--recent .tv-nav-btn{width:2.75rem;height:2.75rem}.tv-mode--recent .tv-slide-stage{gap:.45rem}.tv-slide.tv-slide--recent{flex:1;height:100%;overflow:hidden;display:flex;flex-direction:column;min-height:0}.tv-slide-grid--recent{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,auto));grid-auto-flow:column;gap:1.25rem;flex:1;width:100%;min-height:0;align-items:start;align-content:start}.tv-recent-card{--tv-cat-tint: var(--tv-cat-color, var(--tv-accent));background:color-mix(in srgb,var(--tv-cat-tint) 8%,var(--tv-surface));border:1px solid color-mix(in srgb,var(--tv-cat-tint) 42%,var(--tv-border));border-radius:.5rem;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tv-cat-tint) 14%,transparent),0 0 1.35rem color-mix(in srgb,var(--tv-cat-tint) 11%,transparent);padding:.5rem .7rem;width:100%;height:120px;min-height:120px;max-height:120px;display:flex;flex-direction:column;justify-content:center;gap:.35rem;min-width:0;overflow:hidden}.tv-recent-meta{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.45rem;font-size:.9375rem;font-weight:700;color:var(--tv-muted);text-transform:uppercase;letter-spacing:.03em;line-height:1.1;min-width:0;flex-shrink:0}.tv-recent-cat{color:var(--tv-cat-color, var(--tv-accent));white-space:nowrap;flex-shrink:0}.tv-recent-round{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0}.tv-recent-table{white-space:nowrap;flex-shrink:0;color:var(--tv-text)}.tv-recent-players{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.4rem .55rem;font-size:1.25rem;font-weight:700;line-height:1.15;flex:1;min-height:0}.tv-recent-player{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.tv-recent-player--winner{color:var(--tv-gold);font-weight:800}.tv-recent-player--right{text-align:right}.tv-recent-player--left{text-align:left}.tv-recent-score{display:inline-flex;align-items:baseline;gap:.1rem;font-size:1.4rem;font-weight:800;font-variant-numeric:tabular-nums;padding:0 .15rem;flex-shrink:0;line-height:1}.tv-recent-score-part--win{color:var(--tv-live)}.tv-recent-score-part--loss{color:var(--tv-referee)}.tv-recent-score-sep{color:var(--tv-muted);font-weight:700}.tv-header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.25rem 2rem .75rem;border-bottom:1px solid var(--tv-border);flex-shrink:0}.tv-header-main{flex:1;min-width:0}.tv-header-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem 1.25rem}.tv-header-tournament{margin:0;font-size:clamp(1.35rem,2.8vw,2rem);font-weight:800;letter-spacing:-.02em;line-height:1.15}.tv-header-tournament-sep{color:var(--tv-muted);font-weight:600}.tv-header-screen{font-size:clamp(1rem,1.9vw,1.3rem);font-weight:600;color:var(--tv-accent);text-transform:uppercase;letter-spacing:.06em;line-height:1.15;white-space:nowrap}.tv-header-actions{display:flex;align-items:center;gap:1.25rem;flex-shrink:0}.tv-header-clock{font-size:clamp(2rem,4vw,3rem);font-weight:800;color:var(--tv-referee);font-variant-numeric:tabular-nums;line-height:1;letter-spacing:.02em;white-space:nowrap}.tv-slide-indicator{font-size:1.1rem;font-weight:700;color:var(--tv-muted)}.tv-fullscreen-btn{background:#ffffff14;border:1px solid var(--tv-border);color:var(--tv-text);border-radius:.5rem;padding:.5rem;cursor:pointer}.tv-main{flex:1;min-height:0;padding:1.25rem 1.25rem 1rem;overflow:hidden;display:flex;flex-direction:column}.tv-slide-stage{flex:1;height:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:stretch;gap:.75rem;min-height:0}.tv-nav-btn{align-self:center;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;border-radius:999px;border:1px solid var(--tv-border);background:#ffffff0f;color:var(--tv-text);cursor:pointer;transition:background .15s,border-color .15s}.tv-nav-btn:hover{background:#38bdf826;border-color:#38bdf873}.tv-slide{min-width:0;overflow:auto;animation:tvFadeIn .45s ease}@keyframes tvFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tv-slide.tv-slide--tables{flex:1;height:100%;overflow:hidden;display:flex;flex-direction:column;min-height:0}.tv-slide-grid--tables{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:.5rem;flex:1;width:100%;height:100%;min-height:0;align-content:stretch;align-items:stretch}.tv-table-row{background:var(--tv-surface);border:1px solid var(--tv-border);border-radius:.55rem;padding:.55rem .65rem;height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.tv-table-row--occupied{border-color:color-mix(in srgb,var(--tv-cat-color, var(--tv-accent)) 50%,var(--tv-border));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tv-cat-color, var(--tv-accent)) 18%,transparent)}.tv-table-num{font-size:clamp(.72rem,1.1vw,.85rem);font-weight:800;color:var(--tv-cat-color, var(--tv-accent));margin-bottom:.2rem;line-height:1.1;flex-shrink:0}.tv-table-free,.tv-table-live{display:flex;flex-direction:column;justify-content:center;gap:.35rem;flex:1;min-height:0}.tv-table-status{font-size:clamp(.85rem,1.4vw,1rem);font-weight:700;color:var(--tv-free)}.tv-slide-grid--tables .tv-table-num{font-size:1rem;margin-bottom:.15rem;color:var(--tv-cat-color, var(--tv-accent))}.tv-slide-grid--tables .tv-table-status{font-size:1.3rem}.tv-slide-grid--tables .tv-table-players{font-size:1.35rem;gap:.4rem .5rem;align-items:center}.tv-slide-grid--tables .tv-table-player-name{display:flex;flex-direction:column;justify-content:center;gap:.12rem;width:100%;min-width:0;min-height:2.5em}.tv-slide-grid--tables .tv-table-player-name--align-right .tv-table-player-line{text-align:right}.tv-slide-grid--tables .tv-table-player-name--align-left .tv-table-player-line{text-align:left}.tv-slide-grid--tables .tv-table-player-name--single.tv-table-player-name--align-right{text-align:right}.tv-slide-grid--tables .tv-table-player-name--single.tv-table-player-name--align-left{text-align:left}.tv-slide-grid--tables .tv-table-player-name--single{justify-content:center;min-height:0}.tv-slide-grid--tables .tv-table-player-line{display:block;width:100%;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tv-slide-grid--tables .tv-score--large{font-size:1.5rem;align-self:center}.tv-slide-grid--tables .tv-table-cat,.tv-slide-grid--tables .tv-table-round{font-size:.8125rem}.tv-slide-grid--tables .tv-live-badge{font-size:.6875rem}.tv-slide-grid--tables .tv-table-ref{font-size:1.05rem;margin-top:.15rem;flex-shrink:0}.tv-slide-grid--tables .tv-table-ref .tv-referee-value{font-size:1.2rem}.tv-table-cat{font-size:clamp(.62rem,.95vw,.72rem);font-weight:700;color:var(--tv-cat-color, var(--tv-accent));text-transform:uppercase;letter-spacing:.03em}.tv-table-live-head{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .4rem;margin-bottom:0;flex-shrink:0}.tv-table-round{font-size:clamp(.62rem,.9vw,.72rem);color:var(--tv-muted);font-weight:600}.tv-live-badge{margin-left:auto;background:#22c55e33;color:var(--tv-live);font-size:clamp(.55rem,.8vw,.65rem);font-weight:800;padding:.1rem .35rem;border-radius:999px;letter-spacing:.06em}.tv-table-players{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.35rem;font-size:clamp(.72rem,1.15vw,.88rem);font-weight:700;line-height:1.15;flex:1;min-height:0}.tv-table-players span:first-child,.tv-table-players span:last-child,.tv-table-players .tv-table-player-name{overflow:hidden;min-width:0}.tv-table-players span:first-child:not(.tv-table-player-name),.tv-table-players span:last-child:not(.tv-table-player-name){text-overflow:ellipsis;white-space:nowrap}.tv-table-ref,.tv-match-ref{margin-top:.2rem;font-size:clamp(.62rem,.95vw,.75rem);color:var(--tv-muted);font-weight:500;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tv-match-ref{margin-top:.4rem;white-space:normal}.tv-referee-value{color:var(--tv-referee);font-weight:700}.tv-slide-list{display:flex;flex-direction:column;gap:.85rem;max-width:1200px}.tv-match-row{background:var(--tv-surface);border:1px solid var(--tv-border);border-radius:.75rem;padding:1rem 1.25rem}.tv-match-meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:.45rem;font-size:.95rem;font-weight:700;color:var(--tv-muted);text-transform:uppercase;letter-spacing:.04em}.tv-match-cat{color:var(--tv-cat-color, var(--tv-accent))}.tv-match-players{display:flex;flex-wrap:wrap;align-items:baseline;gap:.65rem 1rem;font-size:clamp(1.15rem,2.2vw,1.65rem);font-weight:800;line-height:1.2}.tv-vs{font-size:.85em;font-weight:600;color:var(--tv-muted)}.tv-score{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--tv-live)}.tv-score--large{font-size:clamp(.85rem,1.35vw,1rem)}.tv-footer{padding:.65rem 2rem 1rem;border-top:1px solid var(--tv-border);flex-shrink:0}.tv-updated{font-size:.9rem;color:var(--tv-muted)}.tv-loading,.tv-error,.tv-empty{font-size:1.35rem;font-weight:600;color:var(--tv-muted)}.tv-error{color:#f87171}.tv-dev-font-tooltip{position:fixed;z-index:100000;display:none;pointer-events:none;padding:.35rem .55rem;border-radius:.4rem;background:#0f172af5;border:1px solid rgba(244,114,182,.65);box-shadow:0 6px 20px #00000073;color:#f9a8d4;font-size:.75rem;font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.2;white-space:nowrap}.tv-mode--dev-font-sizes .tv-dev-font-target:hover{outline:1px dashed rgba(244,114,182,.45);outline-offset:2px}.cycles-page{min-height:80vh;width:100%;max-width:1400px;margin:0 auto;padding:0 9%;background-color:var(--color-background);color:var(--color-text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:600}@media(max-width:768px){.cycles-page{padding:0 1rem}}@media(max-width:480px){.cycles-page{padding:0 .75rem}}.cycles-inner{width:100%;padding-top:1.5rem;padding-bottom:2rem}@media(max-width:768px){.cycles-inner{padding-top:1rem;padding-bottom:1.5rem}}.cycles-title{font-size:1.35rem;font-weight:700;margin:0 0 .35rem}.cycles-subtitle{color:var(--color-text-muted);font-size:.95rem;margin:0 0 1.25rem}.cycles-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem}.cycles-select-label{font-size:.9rem;color:var(--color-text-secondary)}.cycles-select{min-width:220px;padding:.5rem .75rem;border-radius:.5rem;border:1px solid var(--lang-btn-border);background:var(--color-bg-inset);color:var(--color-text-primary);font-size:.95rem}.cycles-muted{color:var(--color-text-disabled);font-size:.95rem}.cycles-error{color:var(--color-error-light);font-size:.9rem}.cycles-table-scroll{overflow-x:auto;border:1px solid var(--card-border-color);border-radius:.75rem;-webkit-overflow-scrolling:touch}.cycles-table{width:100%;min-width:480px;border-collapse:collapse;font-size:.875rem}.cycles-table th,.cycles-table td{padding:.65rem .85rem;text-align:left;border-bottom:1px solid var(--card-border-color);white-space:nowrap}.cycles-table th{background:var(--color-table-header);color:var(--color-text-muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.cycles-cell-player{font-weight:600;color:var(--color-text-secondary);max-width:220px;overflow:hidden;text-overflow:ellipsis}.cycles-cell-pts{text-align:center;color:var(--color-text-secondary)}.cycles-cell-total{font-weight:700;color:var(--accent-violet);text-align:center}.cycles-empty-row{text-align:center;color:var(--color-text-disabled);padding:1.5rem!important}.verify-email-modal-overlay{z-index:1001}.verify-email-modal--error .login-title{color:var(--color-error-strong, #b91c1c)}.sso-callback-page{display:flex;min-height:50vh;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1.5rem;text-align:center}.sso-callback-title{font-size:1.125rem;font-weight:600;margin:0}.sso-callback-title--error{color:var(--color-error, #dc2626)}.sso-callback-subtitle{font-size:.875rem;color:var(--color-text-muted, #64748b);margin:0}.legal-page{padding:1.5rem 1rem 3rem;min-height:calc(100vh - 4rem)}.legal-page-inner{max-width:46rem;margin:0 auto}.legal-page-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1.5rem}.legal-page-back,.legal-page-sibling{font-size:.875rem;color:var(--color-primary, #2563eb);text-decoration:none}.legal-page-back:hover,.legal-page-sibling:hover{text-decoration:underline}.legal-page-links{display:flex;gap:1rem}.legal-page-header h1{margin:0 0 .5rem;font-size:1.75rem;line-height:1.2}.legal-page-meta{margin:0 0 1rem;font-size:.875rem;color:var(--color-text-muted, #64748b)}.legal-page-intro{margin:0 0 1.5rem;font-size:1rem;line-height:1.6}.legal-page-body{display:flex;flex-direction:column;gap:1.5rem}.legal-section h2{margin:0 0 .75rem;font-size:1.125rem;line-height:1.35}.legal-section p{margin:0 0 .75rem;line-height:1.65}.legal-section p:last-child{margin-bottom:0}.legal-section ul{margin:.5rem 0 0;padding-left:1.25rem;line-height:1.65}.legal-section li{margin-bottom:.35rem}.legal-page-footer{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--card-border-color, rgba(0, 0, 0, .1));font-size:.9375rem;color:var(--color-text-muted, #64748b)}.legal-inline-link{color:inherit;text-decoration:underline;text-underline-offset:2px}.legal-inline-link:hover{color:var(--color-primary, #2563eb)}
