:root{color:#162033;font-synthesis:none;text-rendering:optimizelegibility;background:#eef3fb;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 0 0,#2563eb24,#0000 34rem),linear-gradient(#f8fbff 0%,#eef3fb 52%,#e8eef8 100%);min-width:320px;margin:0}button,input,select,textarea{font:inherit}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:30;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffdb;border-bottom:1px solid #94a3b838;justify-content:space-between;align-items:center;gap:20px;padding:14px 32px;display:flex;position:sticky;top:0;box-shadow:0 12px 32px #0f172a14}.topbar-main{align-items:center;gap:24px;min-width:0;display:flex}.topbar-actions{justify-content:flex-end;align-items:center;gap:12px;margin-left:auto;display:flex}.brand{color:#0f172a;letter-spacing:-.03em;white-space:nowrap;align-items:center;gap:10px;font-size:20px;font-weight:850;text-decoration:none;display:inline-flex}.brand:before{color:#fff;content:"S";content:none;background:linear-gradient(135deg,#2563eb,#14b8a6);border-radius:12px;justify-content:center;align-items:center;width:34px;height:34px;font-size:18px;font-weight:900;display:none}.brand-icon{border:1px solid var(--border);background:var(--page-bg);object-fit:contain;border-radius:999px;flex:none;width:34px;height:34px;padding:2px}.topbar nav{flex-wrap:wrap;gap:8px;display:flex}.topbar nav a{color:#334155;border-radius:999px;padding:8px 11px;text-decoration:none;transition:background .12s,color .12s}.topbar nav a:hover{color:#1d4ed8;background:#e0ebff}.auth-panel{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.auth-links{justify-content:flex-end;gap:10px;display:flex}.auth-user{color:#475569;background:#eff6ff;border:1px solid #dbeafe;border-radius:16px;gap:2px;min-width:220px;padding:8px 12px;font-size:12px;display:grid}.auth-user strong{color:#172033;font-size:14px}.content{flex:1 0 auto;max-width:1280px;margin:0 auto;padding:34px 32px 56px}h1,h2,h3{color:#0f172a;letter-spacing:-.025em;margin-top:0;line-height:1.15}h1{margin-bottom:22px;font-size:clamp(30px,4vw,46px)}h2{font-size:22px}h3{margin-bottom:6px;font-size:18px}.card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;display:grid}.card{background:#ffffffeb;border:1px solid #e2e8f0eb;border-radius:24px;padding:22px;box-shadow:0 18px 40px #0f172a14}.card h2:first-child,.card h3:first-child{margin-bottom:14px}.muted{color:#64748b}.small-text{font-size:13px}.notice{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:16px;padding:12px 14px}.button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:0;border-radius:13px;justify-content:center;align-items:center;min-height:40px;padding:10px 15px;font-weight:750;text-decoration:none;transition:transform .12s,box-shadow .12s,background .12s;display:inline-flex;box-shadow:0 10px 20px #2563eb33}.button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 14px 24px #2563eb47}.button:disabled{cursor:not-allowed;opacity:.6}.button.secondary{box-shadow:none;color:#172033;background:#e8eef8}.button.secondary:not(:disabled):hover{box-shadow:none;background:#dbe7f8}.button.danger,.button.secondary.danger{box-shadow:none;color:#991b1b;background:#fee2e2}.button.danger:not(:disabled):hover,.button.secondary.danger:not(:disabled):hover{box-shadow:none;background:#fecaca}.form,.stack{gap:14px;display:grid}.form{max-width:520px}.field{color:#334155;gap:7px;font-size:14px;font-weight:700;display:grid}.form input,.form select,.form textarea,.field input,.field select,.field textarea,.toolbar input,.toolbar select,.wide-input,.card input,.card select,.card textarea{color:#172033;background:#fff;border:1px solid #cbd5e1;border-radius:14px;outline:none;width:100%;padding:11px 13px;transition:border .12s,box-shadow .12s,background .12s}.form textarea,.field textarea,.card textarea{resize:vertical;min-height:88px}.wide-input{margin-bottom:12px}.auth-hint{margin-top:16px}.auth-hint a{color:var(--primary-strong);font-weight:800;text-decoration:none}.auth-hint a:hover,.auth-hint a:focus-visible{color:var(--primary);text-decoration:underline}.password-input{position:relative}.password-input input{padding-right:96px}.password-toggle{color:var(--primary-strong);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:7px 9px;font-size:13px;font-weight:800;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-toggle:hover,.password-toggle:focus-visible{background:color-mix(in srgb, var(--primary) 12%, transparent)}.password-input input[aria-invalid=true]{border-color:var(--danger-text);box-shadow:0 0 0 4px color-mix(in srgb, var(--danger-text) 16%, transparent)}.field-error{color:var(--danger-text);font-size:12px;font-weight:800}.select-warning,.input-warning{font-weight:700;color:#92400e!important;background:#fffbeb!important;border-color:#f59e0b!important}.input-warning::placeholder{color:#b45309;opacity:1}.autocomplete-field,.autocomplete{position:relative}.autocomplete-input{width:100%}.autocomplete-menu{z-index:20;background:#fff;border:1px solid #cbd5e1;border-radius:16px;max-height:260px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 20px 36px #0f172a29}.autocomplete-option{color:#172033;cursor:pointer;text-align:left;background:#fff;border:0;border-radius:12px;gap:2px;width:100%;padding:10px 12px;display:grid}.autocomplete-option span{color:#64748b;font-size:12px;font-weight:500}.autocomplete-status{padding:10px 12px;font-size:13px}.two-column{grid-template-columns:minmax(280px,420px) minmax(0,1fr);align-items:start;gap:22px;margin-bottom:22px;display:grid}.two-column.wide-left{grid-template-columns:minmax(360px,560px) minmax(0,1fr)}.inline-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.button-row,.row-actions,.toolbar,.pagination{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.button-row.compact{gap:6px}.button-label-icon{display:none}.toolbar{margin-bottom:14px}.compact-form{grid-template-columns:minmax(220px,1fr) minmax(160px,220px) auto auto;align-items:end;gap:12px;margin-bottom:20px;display:grid}.checkbox,.checkbox-field{box-sizing:border-box;color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:14px;justify-content:flex-start;align-items:center;gap:12px;width:100%;min-height:44px;padding:11px 13px;font-size:14px;font-weight:700;display:flex}.checkbox input[type=checkbox],.checkbox-field input[type=checkbox]{min-width:18px;height:18px;box-shadow:none;accent-color:var(--primary);border-radius:4px;flex:0 0 18px;margin:0;width:18px!important;padding:0!important}.checkbox span,.checkbox-field span{text-align:left;flex:auto;min-width:0;line-height:1.25}.radio-field,.scope-group-box label{box-sizing:border-box;border:1px solid var(--border,#cbd5e1);background:var(--surface,#fff);width:100%;min-height:44px;color:var(--text,#334155);cursor:pointer;border-radius:14px;justify-content:flex-start;align-items:center;gap:12px;padding:11px 13px;font-size:14px;font-weight:700;display:flex}.radio-field input[type=radio],.scope-group-box input[type=radio]{min-width:18px;height:18px;box-shadow:none;accent-color:var(--primary);flex:0 0 18px;margin:0;width:18px!important;padding:0!important}.radio-field span,.scope-group-box label span{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.table-card{margin-bottom:20px;overflow-x:auto}.data-table,.table{border-collapse:separate;border-spacing:0;width:100%}.data-table th,.data-table td,.table th,.table td{text-align:left;vertical-align:top;border-bottom:1px solid #e2e8f0;padding:13px 10px}.data-table th,.table th{color:#64748b;letter-spacing:.06em;text-transform:uppercase;font-size:12px}.data-table tbody tr,.table tbody tr{transition:background .12s}.row-actions button,.pagination button,.toolbar button{color:#172033;cursor:pointer;background:#e8eef8;border:0;border-radius:11px;padding:8px 11px}.row-actions button:disabled,.pagination button:disabled,.toolbar button:disabled{cursor:not-allowed;opacity:.55}.result-panel{background:linear-gradient(#f8fbff,#fff);border:1px solid #dbeafe;border-radius:20px;gap:14px;margin:18px 0;padding:18px;display:grid}.section-title-row{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.status-pill{white-space:nowrap;border-radius:999px;align-items:center;padding:7px 10px;font-size:12px;font-weight:800;display:inline-flex}.status-submitted{color:#92400e;background:#fffbeb}.status-confirmed{color:#166534;background:#dcfce7}.status-disputed{color:#991b1b;background:#fee2e2}.result-summary{gap:9px;display:grid}.score-line{color:#172033;background:#eff6ff;border-radius:16px;padding:12px 14px}.result-comment{color:#334155;white-space:pre-wrap;background:#f8fafc;border-radius:14px;margin:0;padding:12px 14px;font-family:inherit}.result-error{margin:0}.result-form{max-width:none}.sets-editor{gap:8px;display:grid}.set-row{background:#fff;border:1px solid #e2e8f0;border-radius:16px;grid-template-columns:70px 72px 12px 72px 28px 72px 12px 72px auto;align-items:center;gap:8px;padding:10px;display:grid}.review-actions{border-top:1px solid #e2e8f0;align-items:start;gap:10px;padding-top:14px;display:grid}.dispute-field{max-width:520px}.schedule-form .schedule-error{margin-left:4px;font-weight:700}@media (width<=980px){.topbar,.topbar-main,.topbar-actions{flex-direction:column;align-items:flex-start}.topbar nav{flex-wrap:wrap}.two-column,.two-column.wide-left,.compact-form,.inline-fields{grid-template-columns:1fr}.set-row{grid-template-columns:1fr 1fr 12px 1fr}}:root{--page-bg:#f7f9f2;--page-bg-soft:#fdfef8;--surface:#fffffff0;--surface-strong:#fff;--surface-muted:#f3f8df;--surface-elevated:#fff;--border:#dfe8c2;--border-strong:#bfd878;--text:#1e2930;--heading:#142012;--muted:#68756b;--primary:#a7d129;--primary-strong:#7faa00;--primary-text:#172200;--accent:#ffd447;--accent-strong:#f5bd00;--danger-bg:#ffe7e7;--danger-text:#9f1d1d;--success-bg:#e8f8d9;--success-text:#2f6f1d;--warning-bg:#fff4c4;--warning-text:#785900;--shadow:0 18px 48px #3448141f;--shadow-soft:0 8px 28px #34481414}html[data-theme=dark]{--page-bg:#111;--page-bg-soft:#171717;--surface:#181818f0;--surface-strong:#1f1f1f;--surface-muted:#28240d;--surface-elevated:#202020;--border:#343434;--border-strong:#f2c94c;--text:#f5f5f0;--heading:#fff8d0;--muted:#b7b7ad;--primary:#ffd447;--primary-strong:#f5bd00;--primary-text:#171717;--accent:#f8d34a;--accent-strong:#ffe07a;--danger-bg:#3d1d1d;--danger-text:#ffb4b4;--success-bg:#20371d;--success-text:#b8f08e;--warning-bg:#403511;--warning-text:#ffe08a;--shadow:0 18px 48px #00000073;--shadow-soft:0 8px 28px #0000005c}:root,body{background:var(--page-bg);color:var(--text)}body{background:radial-gradient(circle at 10% 0%, color-mix(in srgb, var(--primary) 28%, transparent), transparent 34rem), radial-gradient(circle at 88% 8%, color-mix(in srgb, var(--accent) 20%, transparent), transparent 28rem), linear-gradient(180deg, var(--page-bg-soft) 0%, var(--page-bg) 58%, var(--page-bg-soft) 100%)}html[data-theme=dark] body{background:radial-gradient(circle at 10% 0,#ffd44721,#0000 34rem),radial-gradient(circle at 88% 8%,#ffd44717,#0000 28rem),linear-gradient(#151515 0%,#101010 58%,#171717 100%)}.content{flex:1 0 auto;width:100%;max-width:1680px;padding:30px clamp(18px,3vw,42px) 64px}.page-shell{gap:22px;display:grid}.page-shell-wide{width:100%}.page-hero{border:1px solid var(--border);background:linear-gradient(135deg, var(--surface), var(--surface-muted));box-shadow:var(--shadow-soft);border-radius:28px;justify-content:space-between;align-items:flex-end;gap:18px;padding:clamp(20px,3vw,32px);display:flex}.page-hero h1{margin-bottom:8px}.eyebrow{color:var(--primary-strong);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:900}.topbar{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface) 92%, transparent);box-shadow:var(--shadow-soft)}.brand,h1,h2,h3{color:var(--heading)}.brand:before{background:linear-gradient(135deg, var(--primary), var(--accent));color:var(--primary-text)}.topbar nav a{color:var(--muted)}.topbar nav a:hover{background:var(--surface-muted);color:var(--heading)}.auth-user{border-color:var(--border);background:var(--surface-muted);color:var(--muted)}.auth-user strong,.card,.data-table td,.table td,.field,.checkbox,.checkbox-field{color:var(--text)}.card{border-color:var(--border);background:var(--surface);box-shadow:var(--shadow-soft)}.checkbox,.checkbox-field{border-color:var(--border);background:var(--surface)}.checkbox input[type=checkbox]:focus-visible,.checkbox-field input[type=checkbox]:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 25%, transparent);outline-offset:2px}.compact-card{padding:20px}.muted,.data-table th,.table th{color:var(--muted)}.button{background:linear-gradient(135deg, var(--primary), var(--accent));box-shadow:0 12px 22px color-mix(in srgb, var(--primary) 22%, transparent);color:var(--primary-text)}.button:not(:disabled):hover{box-shadow:0 16px 28px color-mix(in srgb, var(--primary) 30%, transparent)}.button.secondary{border:1px solid var(--border);background:var(--surface-muted);color:var(--text)}.button.secondary:not(:disabled):hover{background:color-mix(in srgb, var(--surface-muted) 70%, var(--primary) 18%)}.button.danger,.button.secondary.danger{border-color:color-mix(in srgb, var(--danger-text) 35%, var(--border));background:var(--danger-bg);color:var(--danger-text)}.theme-toggle{border:1px solid var(--border-strong);background:var(--surface-muted);min-height:38px;color:var(--heading);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:8px 13px;font-weight:800;display:inline-flex}.notice{border-color:color-mix(in srgb, var(--accent) 54%, var(--border));background:var(--warning-bg);color:var(--warning-text)}.error{color:var(--danger-text)}.success{color:var(--success-text)}.form input,.form select,.form textarea,.field input,.field select,.field textarea,.toolbar input,.toolbar select,.wide-input,.card input,.card select,.card textarea{border-color:var(--border);background:var(--surface-strong);color:var(--text)}.form input:focus,.form select:focus,.form textarea:focus,.field input:focus,.field select:focus,.field textarea:focus,.toolbar input:focus,.toolbar select:focus,.wide-input:focus,.card input:focus,.card select:focus,.card textarea:focus{border-color:var(--primary-strong);box-shadow:0 0 0 4px color-mix(in srgb, var(--primary) 22%, transparent)}.autocomplete-menu,.autocomplete-option{border-color:var(--border);background:var(--surface-strong);color:var(--text)}.autocomplete-option:hover,.autocomplete-option:focus{background:var(--surface-muted)}.autocomplete-option span{color:var(--muted)}.panel-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;display:grid}.matches-controls-grid{grid-template-columns:minmax(520px,1.4fr) minmax(360px,.8fr)}.compact-form-vertical{max-width:none}.matches-table-card{width:100%;overflow:visible}.matches-table{min-width:980px}.matches-table th:first-child{width:25%}.matches-table th:nth-child(2){width:18%}.matches-table th:nth-child(3){width:24%}.matches-table th:nth-child(4){width:18%}.matches-table th:nth-child(5){width:15%}.data-table,.table{background:0 0}.data-table th,.data-table td,.table th,.table td{border-bottom-color:var(--border)}.data-table tbody tr:hover,.table tbody tr:hover,.selected-row{background:color-mix(in srgb, var(--surface-muted) 74%, transparent)}.details-row td{background:color-mix(in srgb, var(--surface-muted) 58%, transparent);padding:0 0 18px!important}.details-panel{border:1px solid var(--border-strong);background:var(--surface-strong);box-shadow:var(--shadow-soft);border-radius:22px;gap:14px;margin:0 10px 10px;padding:clamp(16px,2vw,24px);display:grid}.details-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.counter-badge,.status-badge,.status-pill{white-space:nowrap;border-radius:999px;align-items:center;padding:8px 11px;font-size:12px;font-weight:900;line-height:1;display:inline-flex}.counter-badge{background:var(--surface-muted);color:var(--heading)}.status-badge.neutral,.status-pill{background:var(--surface-muted);color:var(--text)}.status-badge.success,.status-confirmed{background:var(--success-bg);color:var(--success-text)}.status-badge.warning,.status-submitted{background:var(--warning-bg);color:var(--warning-text)}.status-badge.danger,.status-disputed{background:var(--danger-bg);color:var(--danger-text)}.result-panel{border-color:var(--border);background:linear-gradient(180deg, var(--surface-muted), var(--surface-strong))}.score-line,.result-comment,.set-row{border-color:var(--border);background:var(--surface-muted);color:var(--text)}.review-actions{border-top-color:var(--border)}.select-warning,.input-warning{border-color:var(--accent-strong)!important;background:var(--warning-bg)!important;color:var(--warning-text)!important}@media (width<=1120px){.panel-grid,.matches-controls-grid{grid-template-columns:1fr}.matches-table-card{overflow-x:auto}}.account-menu{flex:none;position:relative}.account-menu summary{border:1px solid var(--border-strong);background:linear-gradient(135deg, var(--surface-strong), var(--surface-muted));width:44px;min-height:44px;box-shadow:var(--shadow-soft);color:var(--heading);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;justify-content:center;align-items:center;padding:3px;list-style:none;display:inline-flex}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary:after{display:none}.account-menu[open] summary:after{transform:rotate(180deg)}.account-avatar{background:linear-gradient(135deg, var(--primary), var(--accent));width:100%;height:100%;color:var(--primary-text);border-radius:999px;justify-content:center;align-items:center;font-size:15px;font-weight:900;display:inline-flex}.account-summary{gap:1px;min-width:0;display:grid}.account-summary strong{max-width:220px;color:var(--heading);text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.1;overflow:hidden}.account-summary span{color:var(--muted);font-size:11px;font-weight:800;line-height:1.1}.account-dropdown{z-index:50;border:1px solid var(--border);background:var(--surface-strong);min-width:230px;box-shadow:var(--shadow);border-radius:20px;gap:5px;padding:8px;display:grid;position:absolute;top:calc(100% + 10px);right:0}.account-dropdown:before{border-top:1px solid var(--border);border-left:1px solid var(--border);background:var(--surface-strong);content:"";width:12px;height:12px;position:absolute;top:-7px;right:26px;transform:rotate(45deg)}.account-dropdown a,.account-dropdown button{z-index:1;width:100%;min-height:40px;color:var(--text);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:13px;align-items:center;padding:10px 12px;font-weight:800;text-decoration:none;display:flex;position:relative}.account-dropdown a:hover,.account-dropdown button:hover{background:var(--surface-muted);color:var(--heading)}.account-mobile-nav,.account-mobile-nav-separator{display:none}.dropdown-separator{background:var(--border);height:1px;margin:4px 6px;display:block}.account-dropdown .danger-link{color:var(--danger-text)}.auth-error{text-align:right;max-width:320px}.app-footer{border-top:1px solid var(--border);background:color-mix(in srgb, var(--surface) 88%, transparent);color:var(--muted);flex-wrap:wrap;flex:none;justify-content:center;align-items:center;gap:12px;padding:18px clamp(18px,3vw,42px);font-size:13px;font-weight:800;display:flex}@media (width<=980px){.topbar-actions{width:100%}.account-dropdown{left:0;right:auto}.account-dropdown:before{left:26px;right:auto}.auth-error{text-align:left}}.theme-switch{border:1px solid var(--border-strong);background:var(--surface-strong);min-width:62px;min-height:42px;color:var(--heading);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:7px 8px;font-weight:900;transition:transform .12s,background .12s,border-color .12s;display:inline-flex}.theme-switch:hover{background:color-mix(in srgb, var(--surface-muted) 78%, var(--accent) 12%);transform:translateY(-1px)}.theme-switch-track{background:var(--surface-muted);width:46px;height:26px;box-shadow:inset 0 0 0 1px var(--border);border-radius:999px;align-items:center;padding:3px;display:inline-flex;position:relative}.theme-switch-track:before,.theme-switch-track:after{color:var(--muted);font-size:10px;font-weight:900;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.theme-switch-track:before{content:"☾";left:8px}.theme-switch-track:after{content:"☀";right:7px}.theme-switch-thumb{z-index:1;background:linear-gradient(135deg, var(--primary), var(--accent));width:20px;height:20px;color:var(--primary-text);border-radius:999px;justify-content:center;align-items:center;font-size:11px;line-height:1;transition:transform .16s;display:inline-flex;position:relative;transform:translate(0)}.theme-switch[aria-checked=true] .theme-switch-thumb{transform:translate(20px)}.login-button{border:1px solid var(--border-strong);background:linear-gradient(135deg, var(--primary), var(--accent));min-height:42px;box-shadow:var(--shadow-soft);color:var(--primary-text);border-radius:999px;justify-content:center;align-items:center;padding:9px 18px;font-weight:900;text-decoration:none;display:inline-flex}.login-button:hover{transform:translateY(-1px)}.auth-page{place-items:center;min-height:calc(100vh - 220px);padding:clamp(18px,5vw,64px) 0;display:grid}.auth-card{width:min(100%,460px)}.auth-card h1{text-align:center}.auth-card .button{width:100%}.wide-page{gap:22px;width:100%;display:grid}.page-title-row{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-title-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.filters-panel{grid-template-columns:minmax(260px,1.4fr) repeat(4,minmax(150px,.75fr)) auto;align-items:end;gap:14px;display:grid}.filter-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.full-width-card{width:100%}.full-width-table{min-width:920px}.expandable-table th:first-child{width:28%}.expandable-table th:nth-child(2),.expandable-table th:nth-child(3){width:16%}.expandable-table th:nth-child(4){width:18%}.expandable-table th:nth-child(5){width:16%}.expandable-table th:nth-child(6){width:6%}.tournament-details-panel{grid-template-columns:minmax(0,1fr) auto;align-items:start}.details-actions{justify-content:flex-end;display:flex}.details-list{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:16px 0 0;display:grid}.details-list div{border:1px solid var(--border);background:var(--surface-muted);border-radius:16px;padding:12px}.details-list dt{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:900}.details-list dd{color:var(--heading);margin:4px 0 0;font-weight:900}.empty-cell{color:var(--muted);text-align:center;padding:18px;font-weight:800}.hero-card{gap:12px;display:grid}@media (width<=1180px){.filters-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-actions{justify-content:flex-start}}@media (width<=720px){.filters-panel,.tournament-details-panel{grid-template-columns:1fr}.auth-page{place-items:start stretch;min-height:auto}}.profile-page{justify-content:center;align-items:flex-start;min-height:calc(100vh - 220px);padding-top:24px;display:flex}.profile-card{width:min(620px,100%)}.profile-status{margin-top:16px}.profile-notification-checkbox{justify-content:flex-start;width:100%}.profile-notification-checkbox input[type=checkbox]{min-width:18px;height:18px;box-shadow:none;accent-color:var(--primary);border-radius:4px;flex:0 0 18px;margin:0;width:18px!important;padding:0!important}.profile-notification-checkbox span{flex:auto;min-width:0;line-height:1.25}.form-checkbox-row{justify-content:flex-start;width:100%}.form-checkbox-row input[type=checkbox]{min-width:18px;height:18px;box-shadow:none;accent-color:var(--primary);border-radius:4px;flex:0 0 18px;margin:0;width:18px!important;padding:0!important}.form-checkbox-row span{flex:auto;min-width:0;line-height:1.25}.admin-venues-card{overflow-x:visible}.admin-venues-toolbar{grid-template-columns:minmax(220px,1fr) minmax(140px,180px);align-items:end;display:grid}.admin-venues-table{table-layout:fixed;width:100%}.admin-venues-table .venue-col-name,.admin-venues-table .venue-col-location{width:22%}.admin-venues-table .venue-col-contact{width:14%}.admin-venues-table .venue-col-status{width:9%}.admin-venues-table .venue-col-courts{width:12%}.admin-venues-table .venue-col-actions{width:21%}.admin-venues-table>thead>tr>th,.admin-venues-table>tbody>tr:not(.details-row)>td{text-overflow:ellipsis;overflow:hidden}.admin-venues-table .details-row>td{text-overflow:clip;overflow:visible}.venue-city-line,.venue-coordinates{margin-top:4px;display:block}.venue-contact-list{gap:4px;min-width:0;display:grid}.venue-contact-list a{color:var(--primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.venue-row-actions{flex-wrap:nowrap;justify-content:flex-end;min-width:0}.venue-action-button{white-space:nowrap;gap:6px;max-width:100%}.venue-action-button svg,.admin-venues-page .toolbar .button svg{flex:none}.venue-courts-row>td{background:var(--surface-muted);padding:0!important}.venue-courts-panel{border:1px solid var(--border);background:var(--surface);border-radius:14px;gap:16px;margin:10px;padding:16px;display:grid}.venue-court-indoor{min-height:42px}.venue-courts-table{background:var(--surface);table-layout:fixed;width:100%}.venue-courts-table .venue-row-actions{justify-content:flex-end}.venue-court-add-row td{border-bottom:0;padding-top:14px}.venue-court-add-row .row-actions{justify-content:flex-end}.venue-modal{width:min(720px,100%)}.venue-form{max-width:none}.admin-players-card{overflow-x:visible}.admin-players-toolbar{grid-template-columns:minmax(220px,1fr) minmax(140px,180px);align-items:end;display:grid}.admin-players-table{table-layout:fixed;width:100%}.admin-players-table .player-col-name{width:28%}.admin-players-table .player-col-city{width:16%}.admin-players-table .player-col-profile{width:30%}.admin-players-table .player-col-status{width:10%}.admin-players-table .player-col-actions{width:16%}.admin-players-table>thead>tr>th,.admin-players-table>tbody>tr>td{text-overflow:ellipsis;overflow:hidden}.player-name-line{margin-top:4px;display:block}.admin-user-primary{min-width:0}.admin-user-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.admin-user-mobile-meta{display:none}.player-profile-summary{flex-wrap:wrap;gap:4px 10px;min-width:0;display:flex}.player-profile-summary span:not(:last-child):after{content:"·";color:var(--muted);margin-left:10px;font-weight:900}.player-row-actions{flex-wrap:nowrap;justify-content:flex-end;min-width:0}.player-action-button{white-space:nowrap;gap:6px;max-width:100%}.player-action-button svg{flex:none}.player-modal{width:min(720px,100%)}.player-form{max-width:none}.admin-role-checkbox{align-self:flex-start}@media (width<=1400px){.admin-players-table .player-col-name{width:32%}.admin-players-table .player-col-city{width:18%}.admin-players-table .player-col-status{width:12%}.admin-players-table .player-col-actions{width:24%}.admin-players-table .player-col-profile,.admin-players-table>thead>tr>th:nth-child(3),.admin-players-table>tbody>tr>td:nth-child(3){display:none}}@media (width<=1100px){.admin-players-table .player-col-name{width:48%}.admin-players-table .player-col-actions{width:52%}.admin-players-table .player-col-city,.admin-players-table .player-col-status,.admin-players-table>thead>tr>th:nth-child(2),.admin-players-table>tbody>tr>td:nth-child(2),.admin-players-table>thead>tr>th:nth-child(4),.admin-players-table>tbody>tr>td:nth-child(4){display:none}.admin-players-page .player-row-actions{gap:8px}.admin-players-page .player-row-actions>*{width:38px}.admin-players-page .player-action-button{width:38px;min-width:38px;min-height:38px;padding:0}.admin-players-page .actions-cell .button-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (width<=720px){.admin-players-toolbar{grid-template-columns:1fr}.admin-players-page .button-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.admin-players-page .page-hero .button{align-self:flex-start;width:44px}}@media (width<=1400px){.admin-venues-table .venue-col-name{width:24%}.admin-venues-table .venue-col-location{width:25%}.admin-venues-table .venue-col-status{width:10%}.admin-venues-table .venue-col-courts{width:13%}.admin-venues-table .venue-col-actions{width:28%}.admin-venues-table .venue-col-contact,.admin-venues-table>thead>tr>th:nth-child(3),.admin-venues-table>tbody>tr:not(.details-row)>td:nth-child(3){display:none}}@media (width<=1100px){.admin-venues-table .venue-col-name{width:38%}.admin-venues-table .venue-col-courts{width:18%}.admin-venues-table .venue-col-actions{width:44%}.admin-venues-table .venue-col-location,.admin-venues-table .venue-col-status,.admin-venues-table>thead>tr>th:nth-child(2),.admin-venues-table>tbody>tr:not(.details-row)>td:nth-child(2),.admin-venues-table>thead>tr>th:nth-child(4),.admin-venues-table>tbody>tr:not(.details-row)>td:nth-child(4){display:none}.admin-venues-page .venue-row-actions{gap:8px}.admin-venues-page .venue-row-actions>*{width:38px}.admin-venues-page .venue-action-button{width:38px;min-width:38px;min-height:38px;padding:0}.admin-venues-page .actions-cell .button-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (width<=720px){.admin-venues-toolbar{grid-template-columns:1fr}.admin-venues-page .venue-row-actions{flex-flow:row;justify-content:flex-start;width:auto}.admin-venues-page .venue-row-actions>*{width:38px}.admin-venues-page .venue-action-button,.admin-venues-page .toolbar .button{width:38px;min-width:38px;min-height:38px;padding:0}.admin-venues-page .button-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.admin-venues-page .page-hero .button{align-self:flex-start;width:44px}.venue-courts-panel{margin:8px 0;padding:12px}}.tournament-sections{gap:18px;display:grid}.tournament-section-card{padding:0;overflow:hidden}.section-toggle{width:100%;color:var(--text,#0f172a);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:18px 22px;font-size:18px;display:flex}.section-toggle:hover{background:#94a3b81a}.tournaments-wide-table th:nth-child(3){width:13%}.tournaments-wide-table th:nth-child(4),.tournaments-wide-table th:nth-child(5){width:14%}.tournaments-wide-table th:nth-child(6){width:13%}.tournaments-wide-table th:nth-child(7){width:4%}.participant-stack{align-items:center;min-height:36px;padding-left:4px;display:flex}.participant-avatar{border:2px solid var(--card-bg,#fff);color:#172033;letter-spacing:.02em;text-transform:uppercase;background:linear-gradient(135deg,#bef264,#fde047);border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;margin-left:-4px;font-size:12px;font-weight:850;display:inline-flex}.participant-avatar:first-child{margin-left:0}.participant-action-avatar{border-color:var(--border,#dbe2ea);background:var(--surface-muted,#e2e8f0);color:var(--muted,#64748b);cursor:pointer;font-size:20px;line-height:1;text-decoration:none}.participant-action-avatar:hover:not(:disabled){border-color:var(--muted,#64748b);color:var(--text,#172033)}.participant-action-avatar:disabled{cursor:wait;opacity:.65}.participant-count{color:#64748b;margin-left:8px;font-size:13px;font-weight:700}.tournaments-filter-panel{align-items:end}.tournaments-search-card .tournaments-filter-panel{grid-template-columns:minmax(260px,.9fr) minmax(150px,180px) minmax(150px,180px) auto;align-items:end;gap:10px;display:grid}.tournaments-search-card .tournament-scope-group{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.tournaments-search-card .tournament-scope-group label{min-height:40px;padding:9px 11px}.tournaments-search-card .tournament-scope-group label span{text-overflow:clip;overflow:visible}.tournaments-search-card .filter-actions{flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:8px;display:flex}.tournaments-search-card .filter-actions .button{flex:none;min-height:40px}.scope-group-box{box-sizing:border-box;background:0 0;border:0;border-radius:0;grid-template-columns:1fr;align-items:stretch;gap:8px;width:100%;min-height:0;padding:0;display:grid}.scope-group-box legend{color:var(--muted,#64748b);text-transform:uppercase;letter-spacing:.06em;padding:0 6px;font-size:12px;font-weight:800}.scope-group-box input[disabled]+span{color:var(--muted,#94a3b8);cursor:not-allowed}.tournament-player-actions{align-items:stretch;min-width:min(380px,100%)}.withdrawal-inline-form{gap:10px;display:grid}.admin-nav-link{font-style:italic}.admin-tournaments-toolbar{grid-template-columns:minmax(220px,1fr) minmax(150px,190px) minmax(140px,170px) minmax(140px,170px);align-items:end;gap:12px;margin-bottom:16px;display:grid}.tournaments-admin-table{table-layout:fixed;width:100%}.tournaments-admin-table .tournament-col-title{width:22%}.tournaments-admin-table .tournament-col-owner{width:13%}.tournaments-admin-table .tournament-col-status{width:14%}.tournaments-admin-table .tournament-col-format{width:13%}.tournaments-admin-table .tournament-col-players{width:8%}.tournaments-admin-table .tournament-col-dates{width:14%}.tournaments-admin-table .tournament-col-actions{width:16%}.tournaments-admin-table>thead>tr>th,.tournaments-admin-table>tbody>tr:not(.details-row)>td{text-overflow:ellipsis;overflow:hidden}.tournament-row-actions{flex-wrap:nowrap;justify-content:flex-end;min-width:0}.tournament-action-button{white-space:nowrap;gap:6px;max-width:100%}.tournament-action-button svg{flex:none}.tournament-details-modal{width:min(1180px,100%)}.tournament-details-modal .tournament-admin-details-panel{max-height:calc(100vh - 220px);overflow-y:auto}.tournament-details-actions{align-items:stretch}@media (width<=1400px){.tournaments-admin-table .tournament-col-title{width:27%}.tournaments-admin-table .tournament-col-owner,.tournaments-admin-table .tournament-col-status{width:17%}.tournaments-admin-table .tournament-col-dates{width:19%}.tournaments-admin-table .tournament-col-actions{width:20%}.tournaments-admin-table .tournament-col-format,.tournaments-admin-table .tournament-col-players,.tournaments-admin-table>thead>tr>th:nth-child(4),.tournaments-admin-table>tbody>tr:not(.details-row)>td:nth-child(4),.tournaments-admin-table>thead>tr>th:nth-child(5),.tournaments-admin-table>tbody>tr:not(.details-row)>td:nth-child(5){display:none}}@media (width<=1100px){.tournaments-admin-table .tournament-col-title{width:48%}.tournaments-admin-table .tournament-col-actions{width:52%}.tournaments-admin-table .tournament-col-owner,.tournaments-admin-table .tournament-col-status,.tournaments-admin-table .tournament-col-dates,.tournaments-admin-table>thead>tr>th:nth-child(2),.tournaments-admin-table>tbody>tr:not(.details-row)>td:nth-child(2),.tournaments-admin-table>thead>tr>th:nth-child(3),.tournaments-admin-table>tbody>tr:not(.details-row)>td:nth-child(3),.tournaments-admin-table>thead>tr>th:nth-child(6),.tournaments-admin-table>tbody>tr:not(.details-row)>td:nth-child(6){display:none}.admin-tournaments-page .tournament-row-actions{gap:8px}.admin-tournaments-page .tournament-row-actions>*{width:38px}.admin-tournaments-page .tournament-action-button{width:38px;min-width:38px;min-height:38px;padding:0}.admin-tournaments-page .actions-cell .button-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (width<=720px){.admin-tournaments-toolbar{grid-template-columns:1fr}.admin-tournaments-page .button-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.admin-tournaments-page .page-hero .button{align-self:flex-start;width:44px}}.admin-tournament-filter-card{width:100%;margin-bottom:18px}.admin-tournament-filter-form{grid-template-columns:minmax(240px,1.5fr) minmax(160px,.8fr) minmax(150px,.7fr) minmax(150px,.7fr) auto;align-items:end;gap:12px;display:grid}.admin-tournament-filter-form .button{white-space:nowrap;min-height:42px}.one-line-table tbody tr:not(.details-row)>td{vertical-align:middle;white-space:nowrap}.one-line-table tbody tr:not(.details-row)>td:first-child{white-space:normal}.tournament-title-cell strong{text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap;max-width:min(360px,42vw);display:inline-block;overflow:hidden}.tournament-capacity-note{color:var(--muted,#64748b);white-space:nowrap;margin-top:2px;font-size:12px;font-style:italic;font-weight:700;display:block}.compact-row-actions{flex-wrap:nowrap;justify-content:flex-end;gap:6px}.compact-row-actions button,.compact-row-actions .button{white-space:nowrap;border-radius:10px;min-height:32px;padding:6px 9px;font-size:12px;line-height:1}.tournaments-admin-table th:last-child,.tournaments-admin-table td:last-child,.tournament-row-actions{width:1%}.result-panel{gap:10px;margin:10px 0;padding:14px}.result-form{gap:10px}.result-compact-grid{grid-template-columns:repeat(4,minmax(140px,1fr));align-items:end;gap:10px;display:grid}.result-form textarea,.result-comment-field textarea{min-height:64px}.sets-editor{gap:6px}.set-row{border-radius:12px;grid-template-columns:56px 56px 10px 56px 24px 56px 10px 56px auto;gap:6px;padding:7px}.set-row input{min-height:34px;padding:5px 7px}.set-row button{white-space:nowrap;min-height:34px;padding:6px 9px}@media (width<=1120px){.admin-tournament-filter-form,.result-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.admin-tournament-filter-form,.result-compact-grid{grid-template-columns:1fr}.compact-row-actions{flex-wrap:wrap;justify-content:flex-start}}.modal-backdrop{z-index:80;background:#0f172a6b;place-items:start center;padding:clamp(18px,4vw,48px);display:grid;position:fixed;inset:0;overflow-y:auto}.modal-card{width:min(860px,100%);max-height:calc(100vh - 72px);overflow-y:auto}.admin-tournaments-table-card{overflow-x:visible}.tournaments-admin-table{table-layout:fixed;min-width:0}.tournaments-admin-table th:nth-child(3){width:14%}.tournaments-admin-table th:nth-child(4){width:13%}.tournaments-admin-table th,.tournaments-admin-table td{text-overflow:ellipsis;overflow:hidden}.tournaments-admin-table .row-actions{overflow:visible}.tournament-slug{text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap;max-width:42%;margin-left:8px;display:inline-block;overflow:hidden}.tournament-admin-details-panel .toolbar button{white-space:nowrap}.tournament-participant-toolbar{grid-template-columns:minmax(280px,1fr) auto auto;align-items:end;display:grid}.tournament-participant-toolbar .autocomplete-field{min-width:0}.tournament-participant-toolbar .autocomplete-field>.muted{display:none}.table-scroll{width:100%;overflow-x:auto}.tournament-schedule-form{grid-template-columns:minmax(170px,1fr) minmax(170px,1fr) 140px 140px 90px 110px auto auto;align-items:center;gap:8px;display:grid}.tournament-schedule-form>input,.tournament-schedule-form>select,.tournament-schedule-form>button{min-height:38px}.schedule-table{table-layout:fixed;min-width:820px}.schedule-table th:nth-child(3),.schedule-table th:nth-child(4){width:24%}.schedule-table th,.schedule-table td{vertical-align:middle}.schedule-table td{text-overflow:ellipsis;overflow:hidden}.schedule-interval-cell,.schedule-score-cell{white-space:nowrap}.schedule-score-cell{font-weight:800}.schedule-table .row-actions{overflow:visible}@media (width<=1120px){.tournament-participant-toolbar,.tournament-schedule-form{grid-template-columns:1fr 1fr}}@media (width<=720px){.modal-backdrop{padding:10px}.tournament-participant-toolbar,.tournament-schedule-form{grid-template-columns:1fr}}.match-filter-card{width:100%;margin-bottom:18px}.match-filter-form{grid-template-columns:minmax(180px,260px) minmax(180px,260px) minmax(0,1fr);align-items:end;gap:12px;display:grid}.match-list-card{overflow-x:auto}.admin-matches-table,.player-matches-table{table-layout:fixed;min-width:980px}.player-matches-table col.match-col-score,.player-matches-table col.match-col-outcome{width:14%}.score-cell{white-space:nowrap;font-weight:800}.tournaments-admin-table col.tournament-col-title{width:24%}.tournaments-admin-table col.tournament-col-status{width:16%}.tournaments-admin-table col.tournament-col-format{width:13%}.tournaments-admin-table col.tournament-col-players{width:8%}.tournaments-admin-table col.tournament-col-dates{width:22%}.tournaments-admin-table col.tournament-col-actions{width:17%}.tournaments-admin-table th:last-child,.tournaments-admin-table td:last-child,.tournaments-admin-table .tournament-actions-cell,.tournaments-admin-table .actions-cell{width:auto}.actions-cell{vertical-align:middle;white-space:nowrap}.tournament-actions-cell .compact-row-actions,.schedule-actions-cell .compact-row-actions{flex-wrap:nowrap;justify-content:flex-start}.schedule-table col.schedule-col-round{width:9%}.schedule-table col.schedule-col-number{width:7%}.schedule-table col.schedule-col-player{width:24%}.schedule-table col.schedule-col-score{width:16%}.schedule-table col.schedule-col-status{width:20%}.schedule-table th:last-child,.schedule-table td:last-child,.schedule-table .schedule-actions-cell{width:auto}@media (width<=720px){.match-filter-form{grid-template-columns:1fr}}.tournaments-admin-table th:first-child{width:22%}.tournaments-admin-table th:nth-child(2),.tournaments-admin-table th:nth-child(3),.tournaments-admin-table th:nth-child(4){width:13%}.tournaments-admin-table th:nth-child(5){width:8%}.tournaments-admin-table th:nth-child(6){width:14%}.tournaments-admin-table th:nth-child(7){width:17%}.schedule-table th:first-child{width:9%}.schedule-table th:nth-child(2){width:7%}.schedule-table th:nth-child(3),.schedule-table th:nth-child(4){width:24%}.schedule-table th:nth-child(5){width:16%}.schedule-table th:nth-child(6){width:20%}.tournaments-admin-table .actions-cell,.schedule-table .actions-cell{text-overflow:clip;overflow:visible}.row-actions button,.row-actions .button,.toolbar button,.toolbar .button,.pagination button{border:1px solid var(--border,#dbe2ea);background:var(--surface-muted,#e8eef8);min-height:34px;box-shadow:none;color:var(--text,#172033);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;font-weight:750;line-height:1;text-decoration:none;display:inline-flex}.row-actions .button:not(.secondary),.row-actions button:not(.secondary):not(.danger),.toolbar .button:not(.secondary),.toolbar button:not(.secondary):not(.danger){background:linear-gradient(135deg, var(--primary,#2563eb), var(--accent,#1d4ed8));color:var(--primary-text,#fff);border-color:#0000}.score-win{color:#15803d}.score-draw{color:#a16207}.score-loss{color:#b91c1c}.match-outcome-pill{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:88px;padding:8px 11px;font-size:12px;font-weight:900;line-height:1;display:inline-flex}.match-outcome-pill.outcome-win{background:var(--success-bg);color:var(--success-text)}.match-outcome-pill.outcome-draw{background:var(--warning-bg);color:var(--warning-text)}.match-outcome-pill.outcome-loss{background:var(--danger-bg);color:var(--danger-text)}.tournaments-wide-table{table-layout:fixed;min-width:920px}.tournaments-wide-table col.public-tournament-col-title{width:26%}.tournaments-wide-table col.public-tournament-col-players,.tournaments-wide-table col.public-tournament-col-format{width:14%}.tournaments-wide-table col.public-tournament-col-match-format{width:24%}.tournaments-wide-table col.public-tournament-col-dates{width:22%}.tournaments-wide-table th:first-child{width:26%}.tournaments-wide-table th:nth-child(2),.tournaments-wide-table th:nth-child(3){width:14%}.tournaments-wide-table th:nth-child(4){width:24%}.tournaments-wide-table th:nth-child(5){width:22%}.tournaments-wide-table th,.tournaments-wide-table td{text-overflow:ellipsis;vertical-align:middle;overflow:hidden}.tournaments-wide-table .actions-cell{text-overflow:clip;overflow:visible}.tournament-row-actions{gap:6px;display:grid}.tournament-row-actions .compact-row-actions{justify-content:flex-start}.withdrawal-reason-compact{border:1px solid var(--border,#dbe2ea);background:var(--surface,#fff);width:100%;min-height:32px;color:var(--text,#172033);border-radius:10px;padding:6px 9px}.tournament-board-card{overflow:hidden}.tournament-bracket{gap:18px;padding:4px 2px 10px;display:flex;overflow-x:auto}.bracket-round{min-width:300px}.bracket-round h3{margin-bottom:10px}.bracket-match-list{gap:var(--bracket-round-gap,14px);padding-top:var(--bracket-round-offset,0);display:grid}.bracket-match-card{min-width:0;display:grid;position:relative}.bracket-match-card:after{display:none}.bracket-result-scoreboard{border-radius:14px;width:100%;min-width:0;min-height:86px}.bracket-result-scoreboard .result-scoreboard-row{grid-template-columns:minmax(160px, 1fr) repeat(var(--result-set-count,0), minmax(30px, auto));min-height:42px}.bracket-result-scoreboard .result-scoreboard-player{gap:8px;padding:7px 10px;font-size:14px}.bracket-result-scoreboard .result-scoreboard-avatar{width:26px;height:26px;font-size:10px}.bracket-result-scoreboard .result-scoreboard-cell{min-width:30px;min-height:40px;padding:7px 7px 5px;font-size:17px}.bracket-result-scoreboard-empty .result-scoreboard-row{grid-template-columns:minmax(160px,1fr)}.bracket-result-scoreboard-empty .result-scoreboard-player{color:var(--text,#172033)}.bracket-result-scoreboard .result-scoreboard-player-empty{min-height:42px;padding:7px 10px}.bracket-match-meta,.bracket-score{color:var(--muted,#64748b);font-size:12px;font-weight:800}.bracket-player{border:1px solid var(--border,#dbe2ea);background:var(--surface,#fff);border-radius:12px;justify-content:space-between;padding:8px 10px;display:flex}.bracket-player-winner{border-color:color-mix(in srgb, #15803d 42%, var(--border,#dbe2ea));background:color-mix(in srgb, #dcfce7 78%, var(--surface,#fff));color:#15803d;font-weight:850}.round-robin-table{table-layout:fixed;min-width:760px}.round-robin-table th:first-child{width:180px}.round-robin-table th,.round-robin-table td{text-align:center;vertical-align:middle}.round-robin-table tbody th{text-align:left;color:var(--text,#172033)}.round-robin-self,.round-robin-empty{color:var(--muted,#64748b)}.round-robin-result{color:var(--text,#172033);font-weight:500}.match-board-status{color:inherit;white-space:nowrap}.match-board-status-muted{color:var(--text,#172033);font-style:normal;font-weight:500}.match-board-status-submitted{color:var(--text,#172033);font-style:italic;font-weight:650}.match-board-status-confirmed{color:var(--heading,#142012);font-style:normal;font-weight:900}.match-board-status-win,.match-score-winner{color:var(--success-text,#15803d);font-weight:900}.match-board-status-loss,.match-score-loser{color:var(--danger-text,#b91c1c);font-weight:900}.public-match-score-sets{white-space:nowrap;flex-wrap:nowrap;align-items:baseline;gap:8px;display:inline-flex}.public-match-score-set{align-items:baseline;gap:1px;display:inline-flex}.public-matches-table .public-match-score-sets{color:inherit;font-style:italic;font-weight:400}.public-matches-table .public-match-score-confirmed{font-style:normal;font-weight:900}.public-matches-table .match-score-winner,.public-matches-table .match-score-loser{color:inherit;font-weight:inherit}.match-score-separator{color:var(--muted,#64748b);font-weight:800}.bracket-result-scoreboard-submitted .result-scoreboard-cell{color:var(--text,#172033);font-style:italic;font-weight:650}.bracket-result-scoreboard-submitted .result-scoreboard-cell.set-winner{font-weight:750}.bracket-result-scoreboard-confirmed .result-scoreboard-cell{color:var(--heading,#142012);font-style:normal;font-weight:900}.public-matches-table{table-layout:fixed;min-width:760px}.public-matches-table th:first-child,.public-matches-table th:nth-child(2){width:28%}.public-matches-table th:nth-child(3){width:18%}.public-matches-table th:nth-child(4){width:26%}.public-matches-table td:first-child,.public-matches-table td:nth-child(2){width:28%}.public-matches-table td:nth-child(3){width:18%}.public-matches-table td:nth-child(4){width:26%}.public-match-player-cell,.round-robin-player-cell{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tournament-page-heading{justify-content:space-between;align-items:flex-start;gap:22px;margin:0 0 28px;display:flex}.tournament-page-title-block{gap:8px;min-width:0;display:grid}.tournament-page-title-row{flex-wrap:wrap;align-items:baseline;gap:10px 14px;display:flex}.tournament-page-title-row h1{min-width:0;margin:0;font-size:clamp(30px,4.5vw,42px);line-height:1.02}.tournament-page-format-hint{color:var(--muted,#64748b);font-size:14px;font-weight:850}.tournament-page-period{color:var(--heading,#0f172a);margin:0;font-size:16px;font-weight:850}.tournament-page-description{max-width:920px;color:var(--muted,#64748b);margin:2px 0 0;font-weight:700}.tournament-page-heading .error,.tournament-page-heading .notice{margin:2px 0 0}.public-participants-strip{vertical-align:top;align-items:center;gap:12px;min-width:0;max-width:100%;margin:2px 0 28px;display:inline-flex}.public-participants-widget{flex-wrap:nowrap;flex:0 auto;align-items:center;gap:10px;min-width:0;padding:2px 0;display:flex;overflow-x:auto}.public-participant-chip{min-width:0;color:var(--text,#172033);background:0 0;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0;font-weight:800;display:inline-flex}.public-participant-avatar{color:#172033;letter-spacing:.02em;text-transform:uppercase;background:linear-gradient(135deg,#bef264,#fde047);border-radius:999px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-size:13px;font-weight:900;display:inline-flex;overflow:hidden}.public-participant-avatar img{object-fit:cover;width:100%;height:100%}.public-participants-empty{flex:auto;margin:0}.public-participants-action{flex:none;justify-content:flex-end;align-items:center;display:flex}.tournament-participation-icon-button,.tournament-participation-icon-state{border-radius:999px;justify-content:center;align-items:center;width:38px;height:38px;min-height:38px;padding:0;font-size:18px;line-height:1;display:inline-flex}.tournament-participation-icon-button{box-shadow:none;border:1px solid #0000;text-decoration:none}.tournament-join-icon-button{border-color:color-mix(in srgb, var(--primary,#a7d129) 55%, var(--border,#dbe2ea));background:color-mix(in srgb, var(--primary,#a7d129) 32%, var(--surface,#fff));color:var(--heading,#142012)}.tournament-join-icon-button:not(:disabled):hover{background:color-mix(in srgb, var(--primary,#a7d129) 44%, var(--surface,#fff));box-shadow:none}.tournament-withdraw-icon-button{border-color:color-mix(in srgb, var(--danger-text,#9f1d1d) 34%, var(--border,#dbe2ea));background:var(--danger-bg,#fee2e2);color:var(--danger-text,#9f1d1d)}.tournament-withdraw-icon-button:not(:disabled):hover{background:color-mix(in srgb, var(--danger-bg,#fee2e2) 70%, var(--danger-text,#9f1d1d));box-shadow:none}.tournament-participation-icon-state{cursor:default}.public-matches-table tbody tr.public-match-row-openable{cursor:pointer;outline:none}.public-matches-table tbody tr.public-match-row-openable>td{background:color-mix(in srgb, var(--primary,#2563eb) 6%, transparent)}.public-matches-table tbody tr.public-match-row-openable:hover>td,.public-matches-table tbody tr.public-match-row-openable:focus-visible>td{background:color-mix(in srgb, var(--primary,#2563eb) 12%, transparent)}.public-matches-table tbody tr.public-match-row-completed>td{background:color-mix(in srgb, var(--surface-muted,#f8fbff) 42%, transparent);color:color-mix(in srgb, var(--muted,#64748b) 78%, transparent)}.public-matches-table tbody tr.public-match-row-completed .score-cell,.public-matches-table tbody tr.public-match-row-completed .status-badge{opacity:.72}.tournament-chat-card{overflow:hidden}.tournament-chat-widget{gap:16px;display:grid}.tournament-chat-messages{gap:12px;max-height:420px;padding-right:4px;display:grid;overflow-y:auto}.tournament-chat-messages-empty{max-height:none;padding-right:0;overflow:visible}.tournament-chat-empty{white-space:nowrap;margin:0;padding:0;line-height:1.35}.chat-message{grid-template-columns:42px minmax(0,1fr);align-items:start;gap:10px;display:grid}.chat-message-avatar{color:#172033;letter-spacing:.02em;background:linear-gradient(135deg,#bef264,#fde047);border-radius:999px;justify-content:center;align-items:center;width:42px;height:42px;font-size:13px;font-weight:900;display:inline-flex;overflow:hidden}.chat-message-avatar img{object-fit:cover;width:100%;height:100%}.chat-message-body{border:1px solid var(--border,#dbe2ea);background:var(--surface-muted,#f8fbff);border-radius:16px;gap:6px;min-width:0;padding:11px 13px;display:grid}.chat-message-own .chat-message-body{border-color:color-mix(in srgb, var(--primary,#2563eb) 28%, var(--border,#dbe2ea));background:color-mix(in srgb, var(--primary,#2563eb) 7%, var(--surface,#fff))}.chat-message-addressed-to-me .chat-message-body{border-color:color-mix(in srgb, var(--warning,#f59e0b) 48%, var(--border,#dbe2ea));background:color-mix(in srgb, var(--warning,#f59e0b) 10%, var(--surface,#fff))}.chat-message-recipients{color:var(--muted,#64748b);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.chat-recipient-chip,.chat-addressing-chip{border-radius:999px;align-items:center;gap:6px;max-width:100%;font-weight:800;line-height:1.1;display:inline-flex}.chat-recipient-chip{background:color-mix(in srgb, var(--primary,#2563eb) 10%, var(--surface,#fff));color:var(--text,#172033);padding:3px 8px 3px 4px}.chat-recipient-avatar,.chat-addressing-avatar{color:#172033;letter-spacing:.02em;background:linear-gradient(135deg,#bef264,#fde047);border-radius:999px;flex:none;justify-content:center;align-items:center;font-weight:900;display:inline-flex;overflow:hidden}.chat-recipient-avatar{width:20px;height:20px;font-size:9px}.chat-addressing-avatar{width:24px;height:24px;font-size:10px}.chat-recipient-avatar img,.chat-addressing-avatar img{object-fit:cover;width:100%;height:100%}.chat-addressing-panel{border:1px solid var(--border,#dbe2ea);background:color-mix(in srgb, var(--surface-muted,#f8fbff) 82%, transparent);border-radius:16px;gap:8px;padding:10px 12px;display:grid}.chat-addressing-title{color:var(--muted,#64748b);letter-spacing:.05em;text-transform:uppercase;font-size:12px;font-weight:900}.chat-addressing-list{flex-wrap:wrap;gap:8px;display:flex}.chat-addressing-chip{border:1px solid var(--border,#dbe2ea);background:var(--surface,#fff);color:var(--text,#172033);cursor:pointer;min-height:34px;box-shadow:none;padding:5px 10px 5px 5px}.chat-addressing-chip:hover,.chat-addressing-chip:focus-visible{border-color:color-mix(in srgb, var(--primary,#2563eb) 36%, var(--border,#dbe2ea));background:color-mix(in srgb, var(--primary,#2563eb) 6%, var(--surface,#fff))}.chat-addressing-chip-selected{border-color:color-mix(in srgb, var(--primary,#2563eb) 60%, var(--border,#dbe2ea));background:color-mix(in srgb, var(--primary,#2563eb) 12%, var(--surface,#fff))}.chat-addressing-help{color:var(--muted,#64748b);margin:0;font-size:12px}.chat-message-meta{color:var(--muted,#64748b);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;font-size:12px;display:flex}.chat-message-meta strong{min-width:0;color:var(--text,#172033);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.chat-message-body p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.tournament-chat-form{border-top:1px solid var(--border,#dbe2ea);gap:10px;padding-top:14px;display:grid}.chat-message-input textarea{min-height:96px}.tournament-chat-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.auth-copy{text-align:center;line-height:1.55}.auth-actions{justify-content:center;margin-top:16px;display:flex}.auth-actions .button{width:auto}@media (width<=860px){html,body{max-width:100%;overflow-x:hidden}body{background-attachment:fixed}.content{padding:14px 10px 38px}.page-shell,.wide-page,.tournament-sections{gap:14px}.topbar{flex-direction:row;align-items:center;gap:8px;padding:10px 12px}.topbar-main{flex:auto;gap:8px;width:auto;min-width:0}.topbar-actions{flex-direction:row;flex:none;align-items:center;width:auto;margin-left:0}.brand{text-overflow:ellipsis;min-width:0;font-size:18px;overflow:hidden}.brand:before{border-radius:10px;width:30px;height:30px;font-size:16px}.topbar nav{scrollbar-width:thin;flex-wrap:nowrap;gap:6px;width:100%;padding:2px 2px 8px;overflow-x:auto}.topbar nav a{white-space:nowrap;flex:none;padding:8px 10px}.account-menu,.account-menu summary{width:44px}.account-menu summary{justify-content:center}.account-summary strong{max-width:min(260px,64vw)}.main-nav{display:none}.theme-switch{border-radius:15px;width:44px;min-width:44px;min-height:44px;padding:0}.theme-switch-track:before,.theme-switch-track:after{display:none}.theme-switch-track{width:24px;height:24px;box-shadow:none;background:0 0;border:0;margin:0 auto;padding:0}.theme-switch-thumb,.theme-switch[aria-checked=true] .theme-switch-thumb{width:24px;height:24px;font-size:14px;transform:none}.topbar-actions .login-button{border-radius:15px;align-self:flex-end;width:44px;min-width:44px;min-height:44px;padding:0;font-size:0;position:relative;overflow:hidden}.topbar-actions .login-button:before{content:"";border:2px solid;border-bottom:0;border-radius:999px 999px 0 0;width:16px;height:14px;position:absolute;top:11px;left:14px}.topbar-actions .login-button:after{content:"";background:currentColor;border-radius:5px;width:22px;height:16px;position:absolute;top:20px;left:11px}.account-dropdown{width:min(280px,100vw - 24px);min-width:0;left:auto;right:0}.account-dropdown:before{left:auto;right:18px}.account-mobile-nav{gap:5px;display:grid}.account-mobile-nav-separator{display:block}.app-footer{text-align:center;gap:8px;padding:14px 12px}.page-hero,.page-title-row,.section-title-row,.details-header{flex-direction:column;align-items:stretch}.page-hero{border-radius:20px;padding:18px}.page-hero h1,h1{font-size:clamp(26px,9vw,34px)}.page-title-actions{justify-content:stretch}.page-hero .button,.page-title-row .button,.auth-actions .button{width:100%}.card,.compact-card,.result-panel,.details-panel{border-radius:18px;padding:14px}.auth-page,.profile-page{min-height:auto;padding-top:0}.auth-card,.profile-card{width:100%}.inline-fields,.result-compact-grid,.admin-tournament-filter-form,.filters-panel,.match-filter-form,.compact-form,.tournament-participant-toolbar,.tournament-schedule-form,.panel-grid,.matches-controls-grid,.two-column,.two-column.wide-left{grid-template-columns:1fr!important}.toolbar,.button-row,.row-actions,.pagination,.filter-actions,.compact-row-actions{flex-direction:column;align-items:stretch;width:100%}.toolbar>*,.button-row>*,.row-actions>*,.pagination>*,.filter-actions>*,.compact-row-actions>*,.tournament-participant-toolbar>*,.tournament-schedule-form>*{width:100%}.pagination{flex-flow:row;justify-content:center;align-items:center;gap:8px;width:100%}.pagination>*{width:auto}.pagination button{flex:none;min-width:72px;padding-left:12px;padding-right:12px}.pagination span{text-align:center;white-space:nowrap;flex:0 auto;min-width:0;font-size:14px;font-weight:800}.scope-group-box{align-items:stretch;min-height:0}.modal-backdrop{align-items:start;padding:8px}.modal-card{border-radius:18px;width:100%;max-height:calc(100dvh - 16px)}.details-row td{padding:0!important}.details-panel{margin:0}.tournament-title-cell strong,.tournament-slug{white-space:normal;max-width:100%;margin-left:0;display:block}.tournament-capacity-note,.schedule-interval-cell,.score-cell,.schedule-score-cell{white-space:normal}}@media (width<=760px){.table-card,.match-list-card,.matches-table-card,.admin-tournaments-table-card,.tournament-board-card{overflow:visible}.table-scroll{overflow-x:visible}.data-table,.table,.matches-table,.tournaments-admin-table,.tournaments-wide-table,.schedule-table,.player-matches-table,.admin-matches-table,.public-matches-table,.round-robin-table{width:100%;display:block;min-width:0!important}.data-table colgroup,.table colgroup,.data-table thead,.table thead{display:none}.data-table tbody,.table tbody{gap:10px;display:grid}.data-table tbody tr:not(.details-row),.table tbody tr:not(.details-row){border:1px solid var(--border);background:var(--surface-strong);box-shadow:var(--shadow-soft);border-radius:16px;display:block;overflow:hidden}.data-table tbody tr:not(.details-row):hover,.table tbody tr:not(.details-row):hover,.selected-row{background:var(--surface-strong)}.data-table tbody tr.details-row,.table tbody tr.details-row,.data-table tbody tr.details-row>td,.table tbody tr.details-row>td{width:100%;display:block}.data-table tbody tr:not(.details-row)>td,.table tbody tr:not(.details-row)>td,.data-table tbody tr:not(.details-row)>th,.table tbody tr:not(.details-row)>th{border-bottom:1px solid var(--border);text-overflow:clip;grid-template-columns:minmax(96px,38%) minmax(0,1fr);align-items:start;gap:10px;width:100%;padding:10px 12px;display:grid;overflow:visible;white-space:normal!important}.data-table tbody tr:not(.details-row)>td:last-child,.table tbody tr:not(.details-row)>td:last-child,.data-table tbody tr:not(.details-row)>th:last-child,.table tbody tr:not(.details-row)>th:last-child{border-bottom:0}.data-table tbody tr:not(.details-row)>td:before,.table tbody tr:not(.details-row)>td:before,.round-robin-table tbody th:before{color:var(--muted);content:attr(data-label);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:900}.data-table tbody tr:not(.details-row)>td[colspan],.table tbody tr:not(.details-row)>td[colspan]{text-align:center;display:block}.data-table tbody tr:not(.details-row)>td[colspan]:before,.table tbody tr:not(.details-row)>td[colspan]:before{display:none}.tournaments-admin-table tbody tr:not(.details-row)>td:first-child:before{content:"Турнир"}.tournaments-admin-table tbody tr:not(.details-row)>td:nth-child(2):before{content:"Создал"}.tournaments-admin-table tbody tr:not(.details-row)>td:nth-child(3):before{content:"Статус"}.tournaments-admin-table tbody tr:not(.details-row)>td:nth-child(4):before{content:"Тип"}.tournaments-admin-table tbody tr:not(.details-row)>td:nth-child(5):before{content:"Участники"}.tournaments-admin-table tbody tr:not(.details-row)>td:nth-child(6):before{content:"Даты"}.tournaments-admin-table tbody tr:not(.details-row)>td:nth-child(7):before{content:"Действие"}.tournaments-wide-table tbody tr:not(.details-row)>td:first-child:before{content:"Турнир"}.tournaments-wide-table tbody tr:not(.details-row)>td:nth-child(2):before{content:"Участники"}.tournaments-wide-table tbody tr:not(.details-row)>td:nth-child(3):before{content:"Тип"}.tournaments-wide-table tbody tr:not(.details-row)>td:nth-child(4):before{content:"Формат игры"}.tournaments-wide-table tbody tr:not(.details-row)>td:nth-child(5):before{content:"Даты"}.admin-matches-table tbody tr:not(.details-row)>td:first-child:before{content:"Игра"}.admin-matches-table tbody tr:not(.details-row)>td:nth-child(2):before{content:"Участники"}.admin-matches-table tbody tr:not(.details-row)>td:nth-child(3):before{content:"Статус"}.admin-matches-table tbody tr:not(.details-row)>td:nth-child(4):before{content:"Назначено"}.admin-matches-table tbody tr:not(.details-row)>td:nth-child(5):before{content:"Счет"}.player-matches-table tbody tr:not(.details-row)>td:first-child:before{content:"Игра"}.player-matches-table tbody tr:not(.details-row)>td:nth-child(2):before{content:"Соперник"}.player-matches-table tbody tr:not(.details-row)>td:nth-child(3):before{content:"Статус"}.player-matches-table tbody tr:not(.details-row)>td:nth-child(4):before{content:"Назначено"}.player-matches-table tbody tr:not(.details-row)>td:nth-child(5):before{content:"Счет"}.player-matches-table tbody tr:not(.details-row)>td:nth-child(6):before{content:"Итог"}.schedule-table tbody tr:not(.details-row)>td:first-child:before{content:"Раунд"}.schedule-table tbody tr:not(.details-row)>td:nth-child(2):before{content:"№"}.schedule-table tbody tr:not(.details-row)>td:nth-child(3):before{content:"Участник 1"}.schedule-table tbody tr:not(.details-row)>td:nth-child(4):before{content:"Участник 2"}.schedule-table tbody tr:not(.details-row)>td:nth-child(5):before{content:"Счет"}.schedule-table tbody tr:not(.details-row)>td:nth-child(6):before{content:"Статус"}.public-matches-table tbody tr:not(.details-row)>td:first-child:before{content:"Участник 1"}.public-matches-table tbody tr:not(.details-row)>td:nth-child(2):before{content:"Участник 2"}.public-matches-table tbody tr:not(.details-row)>td:nth-child(3):before{content:"Дата"}.public-matches-table tbody tr:not(.details-row)>td:nth-child(4):before{content:"Счет"}.actions-cell,.tournament-actions-cell,.schedule-actions-cell,.tournament-row-actions{width:100%!important}.actions-cell .button,.actions-cell button,.tournament-row-actions .button,.tournament-row-actions button{width:100%}.participant-stack{flex-wrap:wrap}.round-robin-table tbody tr:not(.details-row)>th:before{content:"Участник"}.round-robin-table tbody tr:not(.details-row)>td:before{content:"Матч"}.public-matches-card{overflow:hidden}.public-matches-scroll{overflow-x:auto}.public-matches-table{table-layout:fixed;display:table;min-width:480px!important}.public-matches-table th:first-child,.public-matches-table th:nth-child(2){width:29%}.public-matches-table th:nth-child(3){width:18%}.public-matches-table th:nth-child(4){width:24%}.public-matches-table thead{display:none}.public-matches-table tbody{display:table-row-group}.public-matches-table tbody tr:not(.details-row){box-shadow:none;background:0 0;border:0;border-radius:0;display:table-row}.public-matches-table tbody tr:not(.details-row)>td{border-bottom:1px solid var(--border);text-overflow:ellipsis;vertical-align:middle;width:auto;padding:9px 8px;display:table-cell;overflow:hidden;white-space:nowrap!important}.public-matches-table tbody tr:not(.details-row)>td:last-child{border-bottom:1px solid var(--border)}.public-matches-table tbody tr:not(.details-row)>td:before{content:none;display:none}.public-matches-table tbody tr.public-match-row-openable{border-color:inherit;box-shadow:none}.public-matches-table tbody tr.public-match-row-openable>td{background:color-mix(in srgb, var(--primary,#2563eb) 8%, transparent)}.public-matches-table tbody tr.public-match-row-completed>td,.public-matches-table tbody tr.public-match-row-completed.public-match-row-openable>td{background:color-mix(in srgb, var(--surface-muted,#f8fbff) 42%, transparent);color:color-mix(in srgb, var(--muted,#64748b) 78%, transparent)}}@media (width<=640px){.set-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.set-row strong,.set-row .muted,.set-row button{grid-column:1/-1}.set-row>span:not(.muted){display:none}.set-row input{width:100%}.tournament-bracket{flex-direction:column;overflow-x:visible}.bracket-round{min-width:0}.bracket-player{flex-direction:column;gap:10px}.tournament-page-heading{flex-direction:column;align-items:stretch;gap:14px;margin-bottom:22px}.tournament-page-title-row{flex-direction:column;align-items:flex-start;gap:6px}.tournament-page-title-row h1{font-size:clamp(28px,9vw,36px)}.tournament-page-format-hint{font-size:13px}.public-participants-strip{gap:10px;margin-bottom:22px}.public-participants-widget{gap:8px}.public-participant-avatar{width:38px;height:38px;font-size:12px}.tournament-participation-icon-button,.tournament-participation-icon-state{width:36px;height:36px;min-height:36px;font-size:17px}.tournament-chat-card{padding:16px}.tournament-chat-messages{max-height:360px;padding-right:0}.tournament-chat-messages-empty{max-height:none}.tournament-chat-empty{white-space:normal}.chat-message{grid-template-columns:34px minmax(0,1fr);gap:8px}.chat-message-avatar{width:34px;height:34px;font-size:11px}.chat-message-body{border-radius:14px;padding:10px 11px}.tournament-chat-actions{flex-direction:column;align-items:stretch}.tournament-chat-actions .button{width:100%}.details-list{grid-template-columns:1fr}.button,.row-actions button,.row-actions .button,.toolbar button,.toolbar .button,.pagination button{min-height:42px}}@media (width<=420px){.pagination{gap:6px}.pagination button{width:44px;min-width:44px;padding-left:0;padding-right:0;font-size:0;overflow:hidden}.pagination button:first-child:before{content:"←";font-size:18px;line-height:1}.pagination button:last-child:before{content:"→";font-size:18px;line-height:1}.pagination span{font-size:13px}}.tournament-groups-card{padding:0;overflow:hidden}.tournament-groups-card>.section-title-row{padding:18px 22px 0}.tournament-groups-table{table-layout:fixed;width:100%;min-width:0}.tournament-group-row td{vertical-align:middle}.tournament-group-toggle{justify-content:flex-start;min-height:0;padding:0;font-size:16px}.tournament-subtable-cell{background:#94a3b80f;padding:0!important}.tournament-subtable-wrap{padding:0}.tournament-subtable-wrap .table-scroll{margin:0}.tournament-subtable{background:var(--surface-strong);margin:0}.clickable-tournament-row{cursor:pointer}.clickable-tournament-row:focus-visible{outline:2px solid var(--primary,#2563eb);outline-offset:-2px}.matches-groups-card{margin-top:0}.match-subtable .details-row td{padding:0 0 18px!important}.clickable-match-row{cursor:pointer}.clickable-match-row:focus-visible{outline:2px solid var(--primary,#2563eb);outline-offset:-2px}.compact-state-line{margin:12px 22px}.tournaments-wide-table th,.tournaments-wide-table td,.tournament-subtable th,.tournament-subtable td,.matches-table th,.matches-table td,.match-subtable th,.match-subtable td{text-align:center;vertical-align:middle}.tournament-subtable .participant-stack,.match-subtable .participant-stack{justify-content:center}.tournament-title-cell,.tournament-title-cell strong,.tournament-capacity-note,.clickable-match-row td:first-child{text-align:center}.match-subtable .status-badge,.match-subtable .match-outcome-pill{margin-inline:auto}.match-filter-card.mobile-collapsible-card{padding:0;overflow:hidden}.match-filter-card .match-filter-form{padding:0 22px 22px}.match-filter-form-wide{grid-template-columns:minmax(220px,1fr) minmax(160px,220px) minmax(160px,220px)}@media (width<=760px){.tournament-groups-card>.section-title-row{padding:14px 16px 0}.tournament-groups-table>tbody{gap:0}.tournament-groups-table tbody tr.tournament-group-row>td{padding:0;display:block}.tournament-groups-table tbody tr.tournament-group-row>td:before{display:none}.tournament-groups-table tbody tr.tournament-subtable-row,.tournament-groups-table tbody tr.tournament-subtable-row>td{box-shadow:none;background:0 0;border:0}.tournament-subtable-cell{padding:0!important}.tournament-subtable-wrap{padding:0}.tournament-group-toggle{width:100%}.match-groups-table>tbody{gap:0}.match-groups-table tbody tr.match-group-row>td{padding:0;display:block}.match-groups-table tbody tr.match-group-row>td:before{display:none}.match-groups-table tbody tr.match-subtable-row,.match-groups-table tbody tr.match-subtable-row>td{box-shadow:none;background:0 0;border:0}.match-filter-card .match-filter-form{padding:0 14px 16px}}.mobile-collapsible-card{padding:0;overflow:hidden}.mobile-widget-toggle{min-height:58px}.mobile-toggle-hint{margin-left:auto;font-weight:800}.tournaments-search-card .tournaments-filter-panel{padding:0 22px 22px}.account-avatar{overflow:hidden}.account-avatar img,.participant-avatar img,.player-label-avatar img,.profile-avatar-large img{object-fit:cover;width:100%;height:100%}.profile-header{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;margin-bottom:22px;display:grid}.profile-heading h1{margin-bottom:8px}.profile-avatar-large{border:3px solid var(--border,#dbe2ea);background:linear-gradient(135deg, var(--primary,#2563eb), var(--accent,#14b8a6));width:112px;height:112px;color:var(--primary-text,#fff);letter-spacing:-.04em;border-radius:32px;justify-content:center;align-items:center;font-size:40px;font-weight:950;display:inline-flex;overflow:hidden}.profile-avatar-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.avatar-upload-button{cursor:pointer;position:relative}.avatar-upload-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.player-label-with-avatar{align-items:center;gap:8px;min-width:0;display:inline-flex}.player-label-avatar{color:#172033;background:linear-gradient(135deg,#bef264,#fde047);border-radius:999px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:900;display:inline-flex;overflow:hidden}.participant-avatar{overflow:hidden}@media (width<=720px){.tournaments-search-card .tournaments-filter-panel{padding:0 14px 16px}.mobile-widget-toggle{padding:15px 16px}.profile-header{text-align:center;grid-template-columns:1fr;justify-items:center}.profile-avatar-large{border-radius:28px;width:104px;height:104px}.profile-avatar-actions{justify-content:center}.profile-avatar-actions .button,.avatar-upload-button{width:100%}}.public-tournaments-flat-table{table-layout:fixed;width:100%}.public-tournaments-flat-table th,.public-tournaments-flat-table td{text-align:left}.public-tournaments-flat-table tbody tr:not(.details-row)>td{text-overflow:ellipsis;overflow:hidden}.public-tournaments-flat-table .tournament-title-cell,.public-tournaments-flat-table .tournament-title-cell strong,.public-tournaments-flat-table .tournament-capacity-note{text-align:left}.public-tournaments-flat-table .participant-stack{justify-content:flex-start}.public-tournaments-flat-table .status-badge{margin-inline:0}@media (width<=720px){.tournament-group-toggle{min-height:56px;padding:0 14px}.tournament-subtable .clickable-tournament-row{background:var(--surface-strong);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:44px;padding:6px 8px;border:0!important;border-bottom:1px solid var(--border)!important;box-shadow:none!important;border-radius:0!important;display:grid!important}.tournament-subtable .clickable-tournament-row:last-child{border-bottom:0!important}.tournament-subtable .clickable-tournament-row>td{text-overflow:ellipsis;align-items:center;width:auto;min-width:0;overflow:hidden;white-space:nowrap!important;border:0!important;padding:0!important;display:flex!important}.tournament-subtable .clickable-tournament-row>td:before{content:""!important;display:none!important}.tournament-subtable .clickable-tournament-row>td:nth-child(3),.tournament-subtable .clickable-tournament-row>td:nth-child(4),.tournament-subtable .clickable-tournament-row>td:nth-child(5),.tournament-subtable .clickable-tournament-row>td:nth-child(6){display:none!important}.tournament-subtable .tournament-title-cell strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;display:block;overflow:hidden}.tournament-subtable .tournament-capacity-note,.tournament-subtable .tournament-visibility-note{display:none}.tournament-subtable .participant-stack{flex-wrap:nowrap;justify-content:flex-end;max-width:112px;min-height:30px;padding-left:0;overflow:hidden}.tournament-subtable .participant-avatar{width:28px;height:28px;font-size:10px}.tournament-subtable .participant-count{margin-left:4px;font-size:11px}}@media (width<=980px){.topbar{flex-direction:row;align-items:center;gap:8px;padding:10px 12px}.topbar-main{flex-direction:row;flex:auto;align-items:center;gap:8px;width:auto;min-width:0}.topbar-actions{flex-direction:row;flex:none;align-items:center;width:auto;margin-left:0}.main-nav{display:none}.account-mobile-nav{gap:5px;display:grid}.account-mobile-nav-separator{display:block}.brand{text-overflow:ellipsis;min-width:0;overflow:hidden}.account-dropdown{left:auto;right:0}.account-dropdown:before{left:auto;right:18px}}.tournament-participants-public-table th,.tournament-participants-public-table td,.compact-participants-table th,.compact-participants-table td{text-align:center;vertical-align:middle}.participant-withdraw-cell{white-space:nowrap;width:1%}.tournament-withdraw-button{min-height:32px;padding:8px 10px}.match-card-page-card{gap:18px;display:grid}.compact-details-list{margin:0}@media (width<=980px){.topbar-main>.main-nav{display:none!important}.profile-menu .account-mobile-nav{gap:5px;display:grid!important}.profile-menu .account-mobile-nav-separator{display:block!important}}@media (width>=981px){.profile-menu .account-mobile-nav,.profile-menu .account-mobile-nav-separator{display:none!important}}@media (width<=720px){.player-matches-table .clickable-match-row{background:var(--surface-strong);grid-template-columns:minmax(0,1fr) auto minmax(58px,.55fr) auto;align-items:center;gap:8px;width:100%;min-height:48px;padding:7px 10px;border:0!important;border-bottom:1px solid var(--border)!important;box-shadow:none!important;border-radius:0!important;display:grid!important}.player-matches-table .clickable-match-row:last-child{border-bottom:0!important}.player-matches-table .clickable-match-row>td{text-overflow:ellipsis;justify-content:center;align-items:center;width:auto;min-width:0;overflow:hidden;white-space:nowrap!important;border:0!important;padding:0!important;display:flex!important}.player-matches-table .clickable-match-row>td:before{content:""!important;display:none!important}.player-matches-table .clickable-match-row>td[data-label=Игра],.player-matches-table .clickable-match-row>td[data-label=Назначено]{display:none!important}.player-matches-table .clickable-match-row>td[data-label=Соперник]{text-align:left;justify-content:flex-start;font-weight:850}.player-matches-table .score-cell{font-size:12px}.player-matches-table .match-outcome-pill{min-width:0;padding:7px 9px;font-size:11px}}.compact-match-hero .compact-row-actions{align-items:center}.compact-match-card-page-card{grid-template-columns:1fr}.match-appointment-panel .section-title-row p{margin:4px 0 0}.appointment-form{max-width:none}.result-calculated-winner{align-self:center;font-weight:800}@media (width<=720px){.compact-match-hero{gap:14px}.compact-match-hero .compact-row-actions{width:100%}.set-row{grid-template-columns:48px 1fr 10px 1fr}.set-row .muted.small-text,.set-row input[aria-label^=Тай-брейк],.set-row input[aria-label^=Тай-брейк]+span{display:none}.set-row button{grid-column:1/-1}}.admin-matches-table col.match-col-game{width:20%}.admin-matches-table col.match-col-participants{width:27%}.admin-matches-table col.match-col-status{width:20%}.admin-matches-table col.match-col-appointment{width:19%}.admin-matches-table col.match-col-score{width:14%}.player-matches-table col.match-col-game{width:16%}.player-matches-table col.match-col-opponent{width:22%}.player-matches-table col.match-col-status{width:19%}.player-matches-table col.match-col-appointment{width:17%}.player-matches-table col.match-col-score,.player-matches-table col.match-col-outcome{width:13%}.appointment-time-cell{white-space:nowrap;font-weight:800}.match-subtable .status-badge,.match-subtable .appointment-time-cell,.match-subtable .score-cell,.match-subtable .match-outcome-pill{max-width:100%}.match-subtable .status-badge{white-space:normal;line-height:1.15}.account-dropdown-user{z-index:1;border-bottom:1px solid var(--border);grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px 12px;display:grid;position:relative}.account-dropdown-user-avatar{border:1px solid var(--border);background:linear-gradient(135deg, var(--primary), var(--accent));width:42px;height:42px;color:var(--primary-text);border-radius:999px;justify-content:center;align-items:center;font-size:15px;font-weight:950;display:inline-flex;overflow:hidden}.account-dropdown-user-avatar img{object-fit:cover;width:100%;height:100%}.account-dropdown-user-text{gap:2px;min-width:0;display:grid}.account-dropdown-user-text strong,.account-dropdown-user-text span,.account-dropdown-user-text em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-dropdown-user-text strong{color:var(--heading);font-size:14px;font-style:normal;font-weight:950}.account-dropdown-user-text span,.account-dropdown-user-text em{color:var(--muted);font-size:11px;font-style:normal;font-weight:800}.sets-editor{justify-items:center}.set-row{grid-template-columns:56px 56px 10px 56px 24px 56px 10px 56px max-content;justify-self:center;width:fit-content;max-width:100%}.set-delete-button{justify-self:center;width:auto;min-width:0}@media (width<=720px){.admin-matches-table tbody tr:not(.details-row)>td:first-child:before{content:"Игра"}.admin-matches-table tbody tr:not(.details-row)>td:nth-child(2):before{content:"Участники"}.admin-matches-table tbody tr:not(.details-row)>td:nth-child(3):before{content:"Статус"}.admin-matches-table tbody tr:not(.details-row)>td:nth-child(4):before{content:"Назначено"}.admin-matches-table tbody tr:not(.details-row)>td:nth-child(5):before{content:"Счет"}.player-matches-table tbody tr:not(.details-row)>td:first-child:before{content:"Игра"}.player-matches-table tbody tr:not(.details-row)>td:nth-child(2):before{content:"Соперник"}.player-matches-table tbody tr:not(.details-row)>td:nth-child(3):before{content:"Статус"}.player-matches-table tbody tr:not(.details-row)>td:nth-child(4):before{content:"Назначено"}.player-matches-table tbody tr:not(.details-row)>td:nth-child(5):before{content:"Счет"}.player-matches-table tbody tr:not(.details-row)>td:nth-child(6):before{content:"Итог"}.player-matches-table .clickable-match-row>td[data-label=Игра],.player-matches-table .clickable-match-row>td[data-label=Назначено]{display:none!important}.set-row{grid-template-columns:48px minmax(54px,1fr) 10px minmax(54px,1fr) max-content;width:fit-content}.set-row button{grid-column:auto;justify-self:center}}.result-scoreboard{border:1px solid var(--border,#dbe2ea);background:var(--surface-strong,#fff);border-radius:2px;max-width:100%;display:inline-grid;overflow-x:auto}.result-scoreboard-row{grid-template-columns:minmax(190px, 1fr) repeat(var(--result-set-count,5), minmax(34px, auto));border-bottom:1px solid var(--border,#dbe2ea);align-items:center;min-height:44px;display:grid}.result-scoreboard-row:last-child{border-bottom:0}.result-scoreboard-player{min-width:0;color:var(--text,#172033);align-items:center;gap:10px;padding:8px 14px;font-size:20px;font-weight:700;display:inline-flex}.result-scoreboard-row.winner .result-scoreboard-player{font-weight:900}.result-scoreboard-avatar{background:linear-gradient(135deg, var(--primary,#a7d129), var(--accent,#fde047));width:30px;height:30px;color:var(--primary-text,#172200);border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:950;display:inline-flex;overflow:hidden}.result-scoreboard-avatar img{object-fit:cover;width:100%;height:100%}.result-scoreboard-cell{border-left:1px dotted var(--border,#dbe2ea);min-width:34px;min-height:44px;color:var(--muted,#68756b);justify-content:center;align-items:flex-start;padding:8px 8px 6px;font-size:20px;font-weight:600;line-height:1;display:inline-flex}.result-scoreboard-cell.set-winner{color:var(--heading,#142012);font-weight:950}.result-scoreboard-cell sup{color:var(--muted,#68756b);margin-left:2px;font-size:10px;font-weight:800;line-height:1}.result-summary-actions{margin-top:2px}@media (width<=720px){.result-scoreboard{width:100%}.result-scoreboard-row{grid-template-columns:minmax(132px, 1fr) repeat(var(--result-set-count,5), minmax(30px, auto))}.result-scoreboard-player{gap:8px;padding:8px 10px;font-size:16px}.result-scoreboard-avatar{width:26px;height:26px;font-size:10px}.result-scoreboard-cell{min-width:30px;padding-inline:6px;font-size:17px}}.compact-match-card-page-card .result-scoreboard{grid-template-columns:minmax(170px, 260px) repeat(var(--result-set-count,5), 38px);width:max-content;max-width:100%;display:inline-grid;overflow-x:auto}.compact-match-card-page-card .result-scoreboard-row{display:contents}.compact-match-card-page-card .result-scoreboard-row:not(:last-child)>*{border-bottom:1px solid var(--border,#dbe2ea)}.compact-match-card-page-card .result-scoreboard-player{min-height:44px;overflow:hidden}.compact-match-card-page-card .result-scoreboard-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.compact-match-card-page-card .result-scoreboard-winner-mark{color:var(--accent,#fde047);letter-spacing:.03em;flex:none;font-size:14px;font-weight:950}.compact-match-card-page-card .result-scoreboard-cell{border-bottom:inherit;min-width:38px}.compact-match-card-page-card .appointment-form>.button-row,.compact-match-card-page-card .result-form>.button-row,.compact-match-card-page-card .result-summary-actions{justify-content:flex-start;align-items:center;width:auto}.compact-match-card-page-card .review-actions{justify-items:start}.compact-match-card-page-card .appointment-form>.button-row>.button,.compact-match-card-page-card .result-form>.button-row>.button,.compact-match-card-page-card .result-summary-actions>.button,.compact-match-card-page-card .review-actions>.button{flex:none;width:220px;max-width:100%;min-height:44px}@media (width<=720px){.compact-match-card-page-card .result-scoreboard{grid-template-columns:minmax(145px, 1fr) repeat(var(--result-set-count,5), 34px);width:100%}.compact-match-card-page-card .result-scoreboard-cell{min-width:34px}.tournaments-search-card .scope-group-box{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-inline-size:0;margin:0}.tournaments-search-card .scope-group-box legend{margin:0;padding:0 6px}.match-appointment-panel .field input[type=datetime-local],.match-appointment-panel .field select{height:44px;min-height:44px;line-height:1.2}.sets-editor{justify-items:stretch;width:100%}.set-row{grid-template-columns:46px minmax(44px,1fr) 10px minmax(44px,1fr) 34px;grid-template-areas:"set games1 sep1 games2 delete""tb tb1 sep2 tb2 delete";gap:6px 4px;width:100%;max-width:100%;padding:7px}.set-row strong{grid-area:set}.set-row input:first-of-type{grid-area:games1}.set-row input:nth-of-type(2){grid-area:games2}.set-row .muted.small-text{grid-area:tb}.set-row input:nth-of-type(3){grid-area:tb1}.set-row>span:first-of-type{grid-area:sep1}.set-row>span:nth-of-type(3){grid-area:sep2}.set-row input:nth-of-type(4){grid-area:tb2}.set-row .set-delete-button{grid-area:delete}.set-row strong,.set-row .muted,.set-row button{grid-column:auto}.set-row .muted.small-text,.set-row input[aria-label^=Тай-брейк],.set-row input[aria-label^=Тай-брейк]+span,.set-row>span:not(.muted){display:inline-flex}.set-row strong,.set-row .muted.small-text,.set-row>span:not(.muted){white-space:nowrap;justify-content:center;align-items:center}.set-row strong,.set-row .muted.small-text{font-size:11px}.set-row input{text-align:center;width:100%;min-width:0;min-height:34px;padding:4px 5px}.set-row .set-delete-button{border-radius:10px;align-self:stretch;width:34px;min-width:34px;height:auto;min-height:34px;padding:0;font-size:0;line-height:1}.set-row .set-delete-button:before{content:"×";font-size:20px;font-weight:900;line-height:1}}.notification-link{border:1px solid var(--border-strong);background:linear-gradient(135deg, var(--surface-strong), var(--surface-muted));width:44px;min-height:44px;box-shadow:var(--shadow-soft);color:var(--heading);border-radius:999px;justify-content:center;align-items:center;font-size:19px;text-decoration:none;display:inline-flex;position:relative}.notification-link:hover{transform:translateY(-1px)}.notification-badge{border:2px solid var(--surface-strong);background:var(--danger-bg,#fee2e2);min-width:20px;height:20px;color:var(--danger-text,#991b1b);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:900;line-height:1;display:inline-flex;position:absolute;top:-5px;right:-5px}.notifications-page{gap:18px;display:grid}.notifications-list{gap:12px;display:grid}.notification-card{border-color:var(--border);justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.notification-card.is-unread{border-color:color-mix(in srgb, var(--accent) 50%, var(--border));background:color-mix(in srgb, var(--surface-strong) 88%, var(--accent) 12%)}.notification-card-main{gap:6px;display:grid}.notification-card-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.notification-card h2{margin:0;font-size:18px}.notification-card p{margin:0}.notification-status{background:var(--warning-bg,#fef3c7);min-height:24px;color:var(--warning-text,#92400e);border-radius:999px;align-items:center;padding:3px 9px;font-size:12px;font-weight:900;display:inline-flex}.notification-card-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.notification-action-button{border-radius:12px;width:38px;min-width:38px;min-height:38px;padding:0;font-size:17px;line-height:1}.notification-option{justify-content:flex-start}@media (width<=720px){.notification-card{display:grid}.notification-card-actions{justify-content:flex-start}.notification-card-actions .button{width:42px}}.bracket-round-mobile-selector,.tournament-bracket-mobile-view{display:none}@media (width<=640px){.bracket-round-mobile-selector{margin:0 0 14px;display:grid}.tournament-bracket-desktop{display:none}.tournament-bracket-mobile-view{display:block}.tournament-bracket-mobile-view .bracket-round{min-width:0}.tournament-bracket-mobile-view .bracket-round h3{margin-top:0}.tournament-bracket-mobile-view .bracket-match-list{gap:12px;padding-top:0}}.match-card-shell{gap:22px;display:grid}.match-card-heading,.match-card-title-block{gap:8px;min-width:0;display:grid}.match-card-title-row{flex-wrap:wrap;align-items:baseline;gap:10px 14px;min-width:0;display:flex}.match-card-title-row h1{overflow-wrap:anywhere;min-width:0;max-width:100%;margin:0;font-size:clamp(28px,4vw,40px);line-height:1.04}.match-card-format-hint{color:var(--muted,#64748b);font-size:14px;font-weight:850}.match-card-period{color:var(--heading,#0f172a);margin:0;font-size:16px;font-weight:850}.match-card-participants-strip{align-items:center;gap:12px;min-width:0;margin:0 0 6px;display:flex}.match-card-participants-widget{flex-wrap:nowrap;flex:auto;align-items:center;gap:10px;min-width:0;padding:2px 0;display:flex;overflow-x:auto}.match-card-participant-avatar{color:#172033;letter-spacing:.02em;text-transform:uppercase;background:linear-gradient(135deg,#bef264,#fde047);border-radius:999px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-size:13px;font-weight:900;display:inline-flex;overflow:hidden}.match-card-participant-avatar img{object-fit:cover;width:100%;height:100%}.match-card-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.match-card-back-button{border:1px solid var(--border,#dbe2ea);background:color-mix(in srgb, var(--surface-muted,#f3f8df) 72%, transparent);width:38px;height:38px;min-height:38px;box-shadow:none;color:var(--heading,#0f172a);border-radius:999px;padding:0;font-size:18px;line-height:1}.match-card-redesign-layout{gap:22px;display:grid}.match-card-redesign-layout .result-panel{background:linear-gradient(180deg, var(--surface,#fff), var(--surface-strong,#fff));box-shadow:var(--shadow-soft,0 18px 40px #0f172a14);border-radius:24px;margin:0;padding:22px}.match-card-redesign-layout .section-title-row{border-bottom:1px solid var(--border,#dbe2ea);align-items:center;padding-bottom:12px}.match-card-redesign-layout .section-title-row h3{margin:0}.match-card-redesign-layout .result-compact-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}.match-card-redesign-layout .result-summary{gap:12px}.match-card-redesign-layout .result-comment{border:1px solid var(--border,#dbe2ea)}@media (width<=720px){.match-card-shell{gap:16px}.match-card-title-row{gap:6px;display:grid}.match-card-title-row h1{font-size:clamp(24px,9vw,32px)}.match-card-format-hint,.match-card-period{font-size:13px}.match-card-participants-strip{gap:10px;margin-bottom:2px}.match-card-participant-avatar{width:38px;height:38px;font-size:12px}.match-card-actions .status-badge{white-space:normal;text-align:center;max-width:132px;line-height:1.12}.match-card-redesign-layout{gap:16px}.match-card-redesign-layout .result-panel{border-radius:20px;padding:16px}.match-card-redesign-layout .section-title-row{align-items:flex-start}.match-card-redesign-layout .result-compact-grid{grid-template-columns:1fr}}.match-card-appointment-summary{color:var(--heading,#142012);flex-wrap:wrap;align-items:center;gap:7px 12px;font-size:15px;font-weight:850;display:flex}.match-card-appointment-summary span:not(:last-child):after{content:"·";color:var(--muted,#68756b);margin-left:12px;font-weight:900}.match-card-toolbar-row{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.match-card-icon-button,.match-card-back-button{border:1px solid var(--border,#dbe2ea);background:color-mix(in srgb, var(--surface-muted,#f3f8df) 72%, transparent);width:38px;height:38px;min-height:38px;box-shadow:none;color:var(--heading,#0f172a);border-radius:999px;padding:0;font-size:18px;line-height:1}.match-card-date-button{white-space:nowrap;width:auto;min-width:124px;min-height:38px;padding:8px 14px}.match-appointment-modal{gap:18px;width:min(860px,100vw - 40px);display:grid}.match-appointment-modal .section-title-row{align-items:flex-start}.match-appointment-modal .section-title-row h2{margin:0}.match-appointment-modal .section-title-row p{margin:6px 0 0}.match-appointment-modal .result-compact-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}.match-appointment-modal .field input[type=datetime-local],.match-appointment-modal .field select{height:44px;min-height:44px;line-height:1.2}.sets-editor-players{color:var(--muted,#68756b);flex-wrap:wrap;justify-content:center;gap:8px 14px;font-size:13px;font-weight:800;display:flex}.sets-editor-players strong{color:var(--heading,#142012)}@media (width<=720px){.match-card-appointment-summary{gap:4px;font-size:13px;display:grid}.match-card-appointment-summary span:after{content:none!important}.match-card-toolbar-row{align-items:flex-start}.match-card-toolbar-row .status-badge{white-space:normal;text-align:center;max-width:180px;line-height:1.12}.match-appointment-modal{width:min(100%,100vw - 24px)}.match-appointment-modal .section-title-row{display:grid}.match-appointment-modal .section-title-row .button{justify-self:start}.match-appointment-modal .result-compact-grid{grid-template-columns:1fr}.sets-editor-players{text-align:center;justify-content:stretch;display:grid}}.match-appointment-modal{width:min(860px,100%)}.match-appointment-modal .inline-fields{grid-template-columns:repeat(3,minmax(180px,1fr))}.match-appointment-modal .field input[type=datetime-local],.match-appointment-modal .field select{min-height:44px}.result-review-actions{border-top:1px solid var(--border,#dbe2ea);flex-wrap:nowrap;justify-content:flex-start;align-items:center;padding-top:12px}.result-action-button{min-width:176px;position:relative}.result-action-icon{display:none}.dispute-result-modal{width:min(620px,100%)}.dispute-result-form{max-width:none}.dispute-result-form textarea{min-height:120px}@media (width<=720px){.match-appointment-modal .inline-fields{grid-template-columns:1fr}.result-review-actions{flex-wrap:nowrap;gap:8px}.result-action-button{border-radius:999px;min-width:42px;max-width:42px;height:42px;min-height:42px;padding:0;width:42px!important}.result-action-icon{justify-content:center;align-items:center;font-size:18px;font-weight:950;line-height:1;display:inline-flex}.result-action-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.dispute-result-modal .section-title-row{display:grid}}.sets-editor-players{justify-content:center;justify-self:center;align-items:center;width:fit-content;max-width:100%}.sets-editor-player-name{min-width:0;color:var(--heading,#142012);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:950;overflow:hidden}.sets-editor-player-separator{color:var(--muted,#68756b);font-weight:950}.set-row-actions{place-items:stretch stretch;gap:6px;display:grid}.set-row-actions .button{width:100%;min-width:0}.set-add-button{padding-inline:10px}@media (width<=720px){.sets-editor-players{justify-content:center;gap:8px;width:100%;display:flex}.sets-editor-player-name{text-align:center;flex:0 auto;max-width:min(42vw,180px)}.set-row .set-row-actions{grid-area:delete;align-self:stretch;gap:4px}.set-row .set-row-actions .button{border-radius:10px;width:34px;min-width:34px;min-height:34px;padding:0;font-size:0;line-height:1}.set-row .set-add-button:before{content:"+";font-size:20px;font-weight:950;line-height:1}}.sets-editor-set-list{justify-self:center;gap:8px;width:max-content;max-width:100%;display:grid}.sets-editor-add-row{justify-content:flex-end;justify-self:stretch;width:100%;display:flex}.sets-editor-add-row .set-add-button{width:auto;min-width:0}@media (width<=720px){.sets-editor-set-list{width:100%}.sets-editor-add-row .set-add-button{border-radius:10px;width:34px;min-width:34px;min-height:34px;padding:0;font-size:0;line-height:1}.sets-editor-add-row .set-add-button:before{content:"+";font-size:20px;font-weight:950;line-height:1}}@media (width<=1100px){.admin-venues-page .actions-cell .venue-row-actions{gap:8px;flex-flow:row!important;justify-content:flex-end!important;align-items:center!important;width:100%!important;display:flex!important}.admin-venues-page .actions-cell .venue-row-actions>.venue-action-button{min-width:38px;flex:0 0 38px!important;width:38px!important}.admin-venues-page .actions-cell .venue-action-button{min-height:38px;padding:0}.admin-players-page .actions-cell .player-row-actions{gap:8px;flex-flow:row!important;justify-content:flex-end!important;align-items:center!important;width:100%!important;display:flex!important}.admin-players-page .actions-cell .player-row-actions>.player-action-button{min-width:38px;flex:0 0 38px!important;width:38px!important}.admin-players-page .actions-cell .player-action-button{min-height:38px;padding:0}}@media (width<=760px){.admin-players-card{overflow-x:hidden}.admin-players-table{table-layout:fixed;width:100%;min-width:0!important;display:table!important}.admin-players-table colgroup{display:table-column-group!important}.admin-players-table thead{display:none!important}.admin-players-table tbody{display:table-row-group!important}.admin-players-table tbody tr:not(.details-row){box-shadow:none;background:0 0;border:0;border-radius:0;overflow:visible;display:table-row!important}.admin-players-table tbody tr:not(.details-row)>td{border-bottom:1px solid var(--border);vertical-align:middle;text-overflow:ellipsis;width:auto;padding:8px 6px;overflow:hidden;white-space:nowrap!important;display:table-cell!important}.admin-players-table tbody tr:not(.details-row)>td:before{display:none!important}.admin-players-table .player-col-name{width:calc(100% - 96px)!important}.admin-players-table .player-col-actions{width:96px!important}.admin-players-table .player-col-city,.admin-players-table .player-col-profile,.admin-players-table .player-col-status,.admin-players-table>tbody>tr>td:nth-child(2),.admin-players-table>tbody>tr>td:nth-child(3),.admin-players-table>tbody>tr>td:nth-child(4){display:none!important}.admin-players-page .admin-user-primary{align-items:baseline;gap:8px;min-width:0;display:flex;overflow:hidden}.admin-players-page .admin-user-name{flex:auto;min-width:0}.admin-players-page .admin-user-roles{display:none}.admin-players-page .admin-user-mobile-meta{text-overflow:ellipsis;white-space:nowrap;flex:0 44%;min-width:0;display:block;overflow:hidden}.admin-players-page .actions-cell{width:96px!important}.admin-players-page .actions-cell .player-row-actions{gap:6px;justify-content:flex-end!important}.admin-players-page .actions-cell .player-row-actions>.player-action-button,.admin-players-page .actions-cell .player-action-button{min-width:38px;min-height:38px;padding:0;flex:0 0 38px!important;width:38px!important}}@media (width<=1100px){.admin-tournaments-page .actions-cell .tournament-row-actions{gap:8px;flex-flow:row!important;justify-content:flex-end!important;align-items:center!important;width:100%!important;display:flex!important}.admin-tournaments-page .actions-cell .tournament-row-actions>.tournament-action-button{min-width:38px;flex:0 0 38px!important;width:38px!important}.admin-tournaments-page .actions-cell .tournament-action-button{min-height:38px;padding:0}.admin-tournaments-page .tournaments-admin-table tbody tr:not(.details-row)>td:nth-child(7):before{content:""}}.admin-tournaments-page .admin-tournaments-table-card{overflow-x:visible}.admin-tournaments-page .tournaments-admin-table{table-layout:fixed;width:100%;min-width:0}.admin-tournaments-page .tournaments-admin-table col.tournament-col-title{width:22%}.admin-tournaments-page .tournaments-admin-table col.tournament-col-owner,.admin-tournaments-page .tournaments-admin-table col.tournament-col-status,.admin-tournaments-page .tournaments-admin-table col.tournament-col-format{width:13%}.admin-tournaments-page .tournaments-admin-table col.tournament-col-players{width:8%}.admin-tournaments-page .tournaments-admin-table col.tournament-col-dates{width:14%}.admin-tournaments-page .tournaments-admin-table col.tournament-col-actions{width:17%}.admin-tournaments-page .tournaments-admin-table th:last-child,.admin-tournaments-page .tournaments-admin-table td:last-child,.admin-tournaments-page .tournament-row-actions{width:auto}.admin-tournaments-page .tournament-row-actions{flex-wrap:nowrap;justify-content:flex-end;gap:8px;display:flex}@media (width<=1400px){.admin-tournaments-page .tournaments-admin-table col.tournament-col-title{width:27%}.admin-tournaments-page .tournaments-admin-table col.tournament-col-owner,.admin-tournaments-page .tournaments-admin-table col.tournament-col-status{width:17%}.admin-tournaments-page .tournaments-admin-table col.tournament-col-dates{width:19%}.admin-tournaments-page .tournaments-admin-table col.tournament-col-actions{width:20%}}@media (width<=1100px){.admin-tournaments-page .tournaments-admin-table col.tournament-col-title{width:48%}.admin-tournaments-page .tournaments-admin-table col.tournament-col-actions{width:52%}}.tournament-title-line{align-items:center;gap:8px;max-width:100%;display:inline-flex}.owner-tournament-manage-link{width:28px;height:28px;color:var(--accent);background:var(--surface-muted);border:1px solid var(--border);cursor:pointer;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex}.owner-tournament-manage-link:hover{background:var(--surface-strong)}.tournaments-wide-table col.public-tournament-col-status{width:14%}.public-tournaments-flat-table col.public-tournament-col-title{width:24%}.public-tournaments-flat-table col.public-tournament-col-players,.public-tournaments-flat-table col.public-tournament-col-status{width:14%}.public-tournaments-flat-table col.public-tournament-col-format{width:13%}.public-tournaments-flat-table col.public-tournament-col-match-format{width:19%}.public-tournaments-flat-table col.public-tournament-col-dates{width:16%}.admin-matches-page .admin-matches-table-card{overflow-x:visible}.admin-matches-toolbar{grid-template-columns:minmax(220px,1fr) minmax(150px,190px) minmax(160px,210px) auto;align-items:center;gap:12px;margin-bottom:16px;display:grid}.admin-matches-page .admin-matches-table{table-layout:fixed;width:100%;min-width:0}.admin-matches-page .admin-matches-table col.match-col-game{width:17%}.admin-matches-page .admin-matches-table col.match-col-participants{width:27%}.admin-matches-page .admin-matches-table col.match-col-status{width:16%}.admin-matches-page .admin-matches-table col.match-col-appointment{width:15%}.admin-matches-page .admin-matches-table col.match-col-score{width:12%}.admin-matches-page .admin-matches-table col.match-col-actions{width:13%}.admin-matches-page .admin-matches-table th,.admin-matches-page .admin-matches-table td{text-overflow:ellipsis;overflow:hidden}.admin-matches-page .admin-matches-table-card .admin-matches-table td.actions-cell,.admin-matches-page .admin-matches-table-card .admin-matches-table th:last-child{overflow:visible}.admin-matches-page .match-row-actions{flex-wrap:nowrap;justify-content:flex-end;gap:8px;width:auto;min-width:0;display:flex}.admin-matches-page .match-action-button{white-space:nowrap;gap:6px;max-width:100%}.admin-matches-page .match-action-button svg{flex:none}.match-details-modal{width:min(1080px,100%)}.match-details-modal .admin-match-details-panel{max-height:calc(100vh - 220px);overflow-y:auto}@media (width<=1400px){.admin-matches-page .admin-matches-table col.match-col-game{width:20%}.admin-matches-page .admin-matches-table col.match-col-participants{width:31%}.admin-matches-page .admin-matches-table col.match-col-status,.admin-matches-page .admin-matches-table col.match-col-actions{width:18%}.admin-matches-page .admin-matches-table col.match-col-score,.admin-matches-page .admin-matches-table>thead>tr>th:nth-child(5),.admin-matches-page .admin-matches-table>tbody>tr:not(.details-row)>td:nth-child(5){display:none}}@media (width<=1100px){.admin-matches-page .admin-matches-table col.match-col-game{width:43%}.admin-matches-page .admin-matches-table col.match-col-actions{width:57%}.admin-matches-page .admin-matches-table col.match-col-participants,.admin-matches-page .admin-matches-table col.match-col-status,.admin-matches-page .admin-matches-table col.match-col-appointment,.admin-matches-page .admin-matches-table>thead>tr>th:nth-child(2),.admin-matches-page .admin-matches-table>tbody>tr:not(.details-row)>td:nth-child(2),.admin-matches-page .admin-matches-table>thead>tr>th:nth-child(3),.admin-matches-page .admin-matches-table>tbody>tr:not(.details-row)>td:nth-child(3),.admin-matches-page .admin-matches-table>thead>tr>th:nth-child(4),.admin-matches-page .admin-matches-table>tbody>tr:not(.details-row)>td:nth-child(4){display:none}.admin-matches-page .actions-cell .match-row-actions{gap:8px;flex-flow:row!important;justify-content:flex-end!important;align-items:center!important;width:100%!important;display:flex!important}.admin-matches-page .actions-cell .match-row-actions>.match-action-button{min-width:38px;flex:0 0 38px!important;width:38px!important}.admin-matches-page .actions-cell .match-action-button{min-height:38px;padding:0}.admin-matches-page .actions-cell .button-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (width<=720px){.admin-matches-toolbar{grid-template-columns:1fr}.admin-matches-page .page-hero .button{align-self:flex-start;width:44px}.admin-matches-page .button-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.participant-avatar-button,.public-participant-chip-button,.result-scoreboard-avatar-button{cursor:pointer;font-family:inherit}.participant-avatar-button{padding:0;line-height:1}.participant-avatar-button:hover,.public-participant-chip-button:hover .public-participant-avatar,.result-scoreboard-avatar-button:hover{transform:translateY(-1px);box-shadow:0 0 0 3px #2563eb29}.participant-avatar-button:focus-visible,.public-participant-chip-button:focus-visible,.result-scoreboard-avatar-button:focus-visible{outline-offset:2px;outline:3px solid #2563eb73}.public-participant-chip-button{cursor:pointer}.result-scoreboard-avatar-button{border:0;padding:0}.public-player-card-page{width:min(1040px,100%);margin:0 auto}.player-card-page-actions{flex-wrap:wrap;gap:10px;display:flex}.player-card-page-card{gap:16px;padding:clamp(18px,3vw,28px);display:grid}.player-card-topbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.player-card-hero{border:1px solid var(--border);background:linear-gradient(135deg, var(--surface-strong), var(--surface-muted));color:var(--text);border-radius:28px;align-items:center;gap:clamp(16px,3vw,26px);padding:clamp(18px,3vw,28px);display:flex}.player-card-avatar-large{border:3px solid color-mix(in srgb, var(--surface-strong) 74%, var(--primary) 26%);background:linear-gradient(135deg, var(--primary), var(--accent));width:clamp(88px,12vw,124px);height:clamp(88px,12vw,124px);box-shadow:var(--shadow-soft);color:var(--primary-text);letter-spacing:.03em;text-transform:uppercase;border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:clamp(28px,5vw,42px);font-weight:900;display:inline-flex;overflow:hidden}.player-card-avatar-large img{object-fit:cover;width:100%;height:100%}.player-card-hero h1{color:var(--heading);margin:0;font-size:clamp(34px,5vw,56px);line-height:1.03}.player-card-name-line{color:var(--muted);margin:8px 0 0;font-weight:800}.player-card-badges{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.player-card-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.44fr);gap:16px;display:grid}.player-card-section{border:1px solid var(--border);background:var(--surface-strong);min-width:0;color:var(--text);box-shadow:var(--shadow-soft);border-radius:24px;padding:clamp(16px,2.5vw,22px)}.player-card-section h2{color:var(--heading);margin:0 0 16px;font-size:22px}.player-card-facts{gap:12px;margin:0;display:grid}.player-card-facts div{grid-template-columns:minmax(130px,.42fr) minmax(0,1fr);align-items:baseline;gap:12px;display:grid}.player-card-facts dt{color:var(--muted);font-size:13px;font-weight:800}.player-card-facts dd{color:var(--text);margin:0;font-weight:850}.player-card-stat-main{border:1px solid var(--border);background:var(--surface-muted);min-height:130px;color:var(--text);border-radius:22px;place-items:center;margin-bottom:14px;display:grid}.player-card-stat-main strong{color:var(--heading);font-size:clamp(42px,7vw,64px);line-height:1}.player-card-stat-main span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:13px;font-weight:850}.player-card-stat-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.player-card-stat-list span{border:1px solid var(--border);background:var(--surface-muted);min-width:0;color:var(--muted);border-radius:16px;padding:11px 12px;font-size:13px;font-weight:800}.player-card-stat-list strong{color:var(--heading)}.player-card-recent-section{margin-top:0}.player-card-match-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.player-card-match-row{border:1px solid var(--border);background:var(--surface-muted);color:var(--text);border-radius:18px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.player-card-match-row>div:first-child{gap:3px;min-width:0;display:grid}.player-card-match-row strong{color:var(--heading)}.player-card-match-meta{text-align:right;flex-wrap:wrap;flex:none;justify-content:flex-end;gap:7px;display:flex}.player-card-match-outcome{border-radius:999px;padding:2px 8px;font-size:12px;font-weight:900}.player-card-match-outcome-win{background:var(--success-bg);color:var(--success-text)}.player-card-match-outcome-loss{background:var(--danger-bg);color:var(--danger-text)}.player-card-match-outcome-pending{background:color-mix(in srgb, var(--surface-muted) 68%, var(--muted) 16%);color:var(--muted)}@media (width<=760px){.public-player-card-page{width:100%}.player-card-page-actions{justify-content:stretch}.player-card-page-actions .button{flex:140px}.player-card-hero,.player-card-match-row{display:grid}.player-card-hero{text-align:center;justify-items:center}.player-card-badges{justify-content:center}.player-card-grid,.player-card-facts div,.player-card-stat-list{grid-template-columns:1fr}.player-card-facts div{gap:3px}.player-card-match-meta{text-align:left;justify-content:flex-start}}@media (width<=720px){.public-tournaments-flat-table tbody tr:not(.details-row)>td:first-child:before{content:"Турнир"}.public-tournaments-flat-table tbody tr:not(.details-row)>td:nth-child(2):before{content:"Участники"}.public-tournaments-flat-table tbody tr:not(.details-row)>td:nth-child(3):before{content:"Статус"}.public-tournaments-flat-table tbody tr:not(.details-row)>td:nth-child(4):before{content:"Тип"}.public-tournaments-flat-table tbody tr:not(.details-row)>td:nth-child(5):before{content:"Формат игры"}.public-tournaments-flat-table tbody tr:not(.details-row)>td:nth-child(6):before{content:"Даты"}}.compact-button-row{justify-content:flex-end}.public-tournaments-grouped-card{overflow:hidden}.public-tournaments-title-row{align-items:center;gap:14px}.public-tournaments-title-row h1{margin:0}.create-tournament-button{white-space:nowrap;gap:7px;margin-left:auto}.create-tournament-icon{justify-content:center;align-items:center;width:24px;height:22px;position:relative}.create-tournament-icon svg:last-child{stroke-width:3px;position:absolute;bottom:-2px;right:-3px}.tournament-sections-list{gap:18px;padding:0 22px 22px;display:grid}.public-tournament-section{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-strong) 88%, var(--surface-muted) 12%);border-radius:18px;overflow:hidden}.tournament-section-title-row{padding:16px 18px 10px}.tournament-section-title-row h3{margin-bottom:4px}.public-tournament-section .table-scroll,.public-tournament-section .public-tournaments-flat-table{margin:0}.public-tournament-groups-table{margin-top:12px}.public-tournament-group-row .tournament-group-toggle{gap:10px}.public-tournament-group-row .counter-badge{margin-left:auto}.tournament-group-description{margin-left:8px;font-weight:600}.public-tournament-subtable-row .tournament-subtable-wrap .table-scroll,.match-subtable-row .match-subtable-wrap .table-scroll{border-radius:0}.match-subtable-row .match-subtable-cell,.match-subtable-row .match-subtable-wrap,.match-subtable-row .match-subtable{background:color-mix(in srgb, var(--surface-muted) 72%, var(--surface-strong) 28%)}.match-subtable-row .match-subtable tbody tr:not(.details-row)>td{border-bottom:1px solid var(--border)}.match-subtable-row .match-subtable tbody tr:not(.details-row):last-child>td{border-bottom:0}.help-page{max-width:920px;margin-inline:auto}.help-card{color:var(--text);gap:12px;line-height:1.65;display:grid}.help-card h1,.help-card h2,.help-card h3{color:var(--heading);margin:0}.help-card h1{margin-bottom:6px}.help-card h2{margin-top:18px}.help-card p,.help-card ul,.help-card ol{margin:0}.help-card li+li{margin-top:6px}.help-card strong{color:var(--heading)}@media (width<=720px){.public-tournaments-title-row{flex-direction:row;justify-content:space-between;align-items:center}.public-tournaments-title-row .create-tournament-button{flex:0 0 44px;width:44px;min-width:44px;min-height:44px;margin-left:0;padding:0}.public-tournaments-title-row .create-tournament-button .button-label-full{display:none}.public-tournaments-title-row .create-tournament-button .button-label-icon{display:inline-flex}.tournament-sections-list{gap:14px;padding:0 14px 14px}.tournament-section-title-row{align-items:flex-start;padding:14px}.public-tournament-group-row .tournament-group-toggle{flex-wrap:nowrap;align-items:center}.public-tournament-group-row .counter-badge{margin-left:auto}.compact-button-row{width:100%}.compact-button-row .button{flex:120px}}.rating-page{gap:18px;display:grid}.rating-title-row{align-items:flex-start}.rating-title-row h1{margin-bottom:10px}.rating-title-row p{max-width:820px}.rating-filter-card,.rating-list-card{background:var(--surface-strong);color:var(--text)}.rating-filter-panel{grid-template-columns:minmax(220px,1.4fr) repeat(2,minmax(150px,.8fr)) minmax(190px,auto) auto}.rating-filter-card .rating-filter-panel{padding:0 22px 22px}.rating-search-field input{min-width:0}.rating-win-filter,.rating-filter-actions{align-self:end}.rating-player-list{gap:10px;display:grid}.rating-player-row{border:1px solid var(--border);background:var(--surface-muted);color:var(--text);border-radius:20px;grid-template-columns:48px 56px minmax(220px,1fr) minmax(90px,.35fr) minmax(80px,.25fr) minmax(100px,.32fr) minmax(160px,.48fr);align-items:center;gap:12px;padding:14px 16px;text-decoration:none;transition:transform .12s,box-shadow .12s,border-color .12s;display:grid}.rating-player-row:hover,.rating-player-row:focus-visible{border-color:color-mix(in srgb, var(--primary) 48%, var(--border));box-shadow:var(--shadow-soft);outline:none;transform:translateY(-1px)}.rating-player-rank{background:var(--surface-strong);width:38px;height:38px;color:var(--heading);border-radius:14px;justify-content:center;align-items:center;font-size:18px;font-weight:900;display:inline-flex}.rating-player-avatar{background:linear-gradient(135deg, var(--primary), var(--accent));width:52px;height:52px;color:var(--primary-text);letter-spacing:.03em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;font-size:17px;font-weight:900;display:inline-flex;overflow:hidden}.rating-player-avatar img{object-fit:cover;width:100%;height:100%}.rating-player-main{gap:4px;min-width:0;display:grid}.rating-player-main strong{color:var(--heading);text-overflow:ellipsis;white-space:nowrap;font-size:17px;overflow:hidden}.rating-player-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rating-player-tags{flex-wrap:wrap;gap:6px;display:flex}.rating-player-tags em{background:var(--surface-strong);color:var(--muted);border-radius:999px;padding:3px 8px;font-size:12px;font-style:normal;font-weight:850}.rating-player-stat{white-space:nowrap;justify-items:end;gap:2px;display:grid}.rating-player-stat strong{color:var(--heading);font-size:20px;line-height:1}.rating-player-stat span,.rating-player-extra{color:var(--muted);font-weight:800}.rating-player-points strong{font-size:24px}.rating-player-extra{text-align:right;justify-self:end}@media (width<=1180px){.rating-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.rating-filter-actions{justify-content:flex-start}.rating-player-row{grid-template-columns:44px 52px minmax(0,1fr) repeat(3,minmax(76px,auto))}.rating-player-extra{text-align:left;grid-column:3/-1;justify-self:start}}@media (width<=760px){.rating-title-row{display:grid}.rating-title-row .button{width:100%}.rating-filter-panel{grid-template-columns:1fr}.rating-filter-card .rating-filter-panel{padding:0 14px 16px}.rating-filter-actions{grid-template-columns:1fr 1fr;display:grid}.rating-player-list{gap:8px}.rating-player-row{border-radius:16px;grid-template-columns:28px 36px minmax(0,1fr) auto auto;align-items:center;gap:8px;min-width:0;padding:9px 10px}.rating-player-rank{border-radius:10px;width:26px;height:26px;font-size:13px}.rating-player-avatar{width:34px;height:34px;font-size:12px}.rating-player-main{align-self:center;gap:0}.rating-player-main strong{font-size:14px}.rating-player-name,.rating-player-tags,.rating-player-games,.rating-player-extra{display:none}.rating-player-stat{text-align:right;background:0 0;border-radius:0;justify-items:end;min-width:34px;padding:0}.rating-player-stat strong{font-size:14px}.rating-player-stat span{display:none}.rating-player-points strong{font-size:16px}.rating-player-points,.rating-player-win-rate{grid-column:auto}.brand-icon{border-radius:10px;width:30px;height:30px}}@media (width<=720px){.modal-card .modal-header-action-row,.modal-card .modal-form-action-row{flex-flow:row;justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.modal-card .modal-header-action-row>*,.modal-card .modal-form-action-row>*{flex:0 auto;width:auto;min-width:0;min-height:44px}.modal-card .modal-header-action-row>:first-child,.modal-card .modal-form-action-row>:first-child{margin-right:auto}.modal-card .modal-header-action-row>:last-child,.modal-card .modal-form-action-row>:last-child{margin-left:auto}}@media (width<=420px){.modal-card .responsive-button{width:44px;min-width:44px;max-width:44px;padding-left:0;padding-right:0}.modal-card .responsive-button .button-label-full{display:none}.modal-card .responsive-button .button-label-icon{display:inline}}.owner-tournament-management-card .owner-management-button,.owner-tournament-management-card .owner-participant-action-button{white-space:nowrap;gap:6px}@media (width<=720px){.owner-tournament-management-card .section-title-row{flex-direction:row;align-items:flex-start;gap:10px}.owner-tournament-management-card .section-title-row>div{min-width:0}.owner-tournament-management-card .owner-help-button{flex:0 0 44px;min-width:44px;min-height:44px;padding:0;width:44px!important}.owner-tournament-management-card .tournament-details-actions{flex-flow:wrap;justify-content:flex-start;align-items:center;gap:8px;width:100%}.owner-tournament-management-card .tournament-details-actions>.owner-management-button{flex:0 0 44px;min-width:44px;min-height:44px;padding:0;width:44px!important}.owner-tournament-management-card .tournament-participant-toolbar{align-items:end;gap:8px;width:100%;display:grid;grid-template-columns:minmax(0,1fr) 44px 44px!important}.owner-tournament-management-card .tournament-participant-toolbar>.autocomplete-field{min-width:0;width:100%!important}.owner-tournament-management-card .tournament-participant-toolbar>.owner-participant-action-button{min-width:44px;min-height:44px;padding:0;width:44px!important}.owner-tournament-management-card .owner-management-button .button-label-full,.owner-tournament-management-card .owner-participant-action-button .button-label-full{display:none}.owner-tournament-management-card .owner-management-button .button-label-icon,.owner-tournament-management-card .owner-participant-action-button .button-label-icon{font-size:20px;line-height:1;display:inline}}.round-robin-self,.round-robin-empty{min-height:1.2em}@media (width<=760px){.tournament-board-card{overflow:visible}.tournament-board-card .table-scroll{overflow-x:visible}.round-robin-table{table-layout:auto;width:100%;min-width:100%!important;display:table!important}.round-robin-table thead{display:none!important}.round-robin-table tbody{display:table-row-group!important}.round-robin-table tr,.round-robin-table tbody tr:not(.details-row){box-shadow:none;background:0 0;border:0;border-radius:0;display:table-row!important}.round-robin-table th,.round-robin-table td,.round-robin-table tbody tr:not(.details-row)>th,.round-robin-table tbody tr:not(.details-row)>td{border-bottom:1px solid var(--border);text-align:center;text-overflow:ellipsis;vertical-align:middle;width:auto;min-width:72px;padding:8px 6px;overflow:hidden;white-space:nowrap!important;display:table-cell!important}.round-robin-table th:first-child,.round-robin-table tbody tr:not(.details-row)>th:first-child{text-align:left;min-width:92px;max-width:140px}.round-robin-table tbody tr:not(.details-row)>th:before,.round-robin-table tbody tr:not(.details-row)>td:before{content:none!important;display:none!important}.round-robin-table tbody tr:not(.details-row)>th:last-child,.round-robin-table tbody tr:not(.details-row)>td:last-child{border-bottom:1px solid var(--border)}.round-robin-result,.match-board-status,.public-match-date-cell,.public-match-score-sets{font-size:13px}.public-matches-card,.tournament-board-card{overflow:visible!important}.public-matches-scroll,.tournament-board-card .table-scroll{overflow-x:visible!important}.public-matches-table{table-layout:fixed;width:100%;min-width:0!important}.public-matches-table tbody tr:not(.details-row)>td{overflow-wrap:anywhere;padding:9px 6px;white-space:normal!important}.public-matches-table tbody tr:not(.details-row)>td:before,.round-robin-table tbody tr:not(.details-row)>th:before,.round-robin-table tbody tr:not(.details-row)>td:before{content:none!important;display:none!important}.round-robin-table{table-layout:fixed;width:100%;min-width:0!important}.round-robin-table th,.round-robin-table td,.round-robin-table tbody tr:not(.details-row)>th,.round-robin-table tbody tr:not(.details-row)>td{overflow-wrap:anywhere;min-width:0;max-width:none;padding:8px 4px;white-space:normal!important}.round-robin-table th:first-child,.round-robin-table tbody tr:not(.details-row)>th:first-child{width:28%;min-width:0;max-width:none}.public-matches-table tbody tr:not(.details-row)>.public-match-player-cell,.round-robin-table tbody tr:not(.details-row)>.round-robin-player-cell{text-overflow:ellipsis;overflow:hidden;white-space:nowrap!important}}@media (width<=1120px){.tournaments-search-card .tournaments-filter-panel{grid-template-columns:minmax(0,1fr) minmax(140px,170px) minmax(140px,170px)}.tournaments-search-card .filter-actions{grid-column:2/4;justify-self:start}}@media (width<=720px){.tournaments-search-card .tournaments-filter-panel{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;padding:0 14px 16px}.tournaments-search-card .tournament-scope-group{flex-wrap:nowrap;grid-column:1/-1;gap:6px;width:100%;display:flex}.tournaments-search-card .tournament-scope-group label{flex:1 1 0;gap:7px;min-height:38px;padding:8px 7px}.tournaments-search-card .tournament-scope-group label span{text-overflow:clip;white-space:nowrap;font-size:13px;overflow:visible}.tournaments-search-card .tournament-scope-group input[type=radio]{flex-basis:16px;min-width:16px;height:16px;width:16px!important}.tournaments-search-card .filter-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;width:100%;display:grid}.tournaments-search-card .tournament-date-filter,.tournaments-search-card .tournament-date-filter input{width:132px;min-width:0}.tournaments-search-card .tournament-date-filter span{display:none}.tournaments-search-card .tournament-date-filter-from{grid-column:1;justify-self:end;position:relative}.tournaments-search-card .tournament-date-filter-from:after{content:"-";color:var(--muted);font-weight:900;line-height:1;position:absolute;top:50%;right:-12px;transform:translate(50%,-50%)}.tournaments-search-card .tournament-date-filter-to{grid-column:3;justify-self:start}.tournaments-search-card .filter-actions .button{width:100%;min-width:0}.public-tournament-subtable-row .tournament-subtable-wrap{overflow:hidden}.public-tournament-subtable-row .tournament-subtable-wrap .table-scroll{overflow-x:hidden}.public-tournament-subtable-row .public-tournaments-flat-table{table-layout:fixed;width:100%;min-width:0!important;display:table!important}.public-tournament-subtable-row .public-tournaments-flat-table colgroup{display:table-column-group!important}.public-tournament-subtable-row .public-tournaments-flat-table thead{display:none!important}.public-tournament-subtable-row .public-tournaments-flat-table tbody{display:table-row-group!important}.public-tournament-subtable-row .public-tournaments-flat-table tbody tr:not(.details-row){box-shadow:none;background:0 0;border:0;border-radius:0;overflow:visible;display:table-row!important}.public-tournament-subtable-row .public-tournaments-flat-table tbody tr:not(.details-row)>td{border-bottom:1px solid var(--border);vertical-align:middle;text-overflow:ellipsis;width:auto;overflow:hidden;white-space:nowrap!important;padding:8px 6px!important;display:table-cell!important}.public-tournament-subtable-row .public-tournaments-flat-table tbody tr:not(.details-row)>td:before{content:none!important;display:none!important}.public-tournament-subtable-row .public-tournaments-flat-table col.public-tournament-col-title{width:calc(100% - 112px)!important}.public-tournament-subtable-row .public-tournaments-flat-table col.public-tournament-col-players{width:112px!important}.public-tournament-subtable-row .public-tournaments-flat-table col.public-tournament-col-status,.public-tournament-subtable-row .public-tournaments-flat-table col.public-tournament-col-format,.public-tournament-subtable-row .public-tournaments-flat-table col.public-tournament-col-match-format,.public-tournament-subtable-row .public-tournaments-flat-table col.public-tournament-col-dates,.public-tournament-subtable-row .public-tournaments-flat-table tbody tr:not(.details-row)>td:nth-child(3),.public-tournament-subtable-row .public-tournaments-flat-table tbody tr:not(.details-row)>td:nth-child(4),.public-tournament-subtable-row .public-tournaments-flat-table tbody tr:not(.details-row)>td:nth-child(5),.public-tournament-subtable-row .public-tournaments-flat-table tbody tr:not(.details-row)>td:nth-child(6){display:none!important}.public-tournament-subtable-row .public-tournaments-flat-table .tournament-title-cell{min-width:0}.public-tournament-subtable-row .public-tournaments-flat-table .tournament-title-line{min-width:0;display:flex}.public-tournament-subtable-row .public-tournaments-flat-table .tournament-title-cell strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;display:block;overflow:hidden}.public-tournament-subtable-row .public-tournaments-flat-table .tournament-capacity-note,.public-tournament-subtable-row .public-tournaments-flat-table .tournament-visibility-note{display:none}.public-tournament-subtable-row .public-tournaments-flat-table .participant-stack{flex-wrap:nowrap;justify-content:flex-end;max-width:100%;min-height:30px;overflow:hidden}.public-tournament-subtable-row .public-tournaments-flat-table .participant-avatar{width:28px;height:28px;font-size:10px}.public-tournament-subtable-row .public-tournaments-flat-table .participant-count{margin-left:4px;font-size:11px}}@media (width<=380px){.tournaments-search-card .tournament-date-filter,.tournaments-search-card .tournament-date-filter input{width:120px}.tournaments-search-card .tournament-scope-group label{gap:5px;padding-inline:6px}.tournaments-search-card .tournament-scope-group label span{font-size:12px}}@media (width<=720px){.tournaments-search-card .tournaments-filter-panel{grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);place-items:stretch stretch;gap:8px}.tournaments-search-card .tournament-scope-group,.tournaments-search-card .filter-actions{justify-self:stretch;width:100%}.tournaments-search-card .tournament-scope-group{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.tournaments-search-card .tournament-scope-group label{justify-content:flex-start;width:100%}.tournaments-search-card .tournament-date-filter{justify-self:stretch;width:100%}.tournaments-search-card .tournament-date-filter input{width:100%}.tournaments-search-card .tournament-date-filter-from{grid-column:1}.tournaments-search-card .tournament-date-filter-to{grid-column:3}.tournaments-search-card .tournament-date-filter-from:after{right:-8px}.tournaments-search-card .filter-actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.public-tournament-subtable-row .tournament-subtable-cell,.public-tournament-subtable-row .tournament-subtable-wrap,.public-tournament-subtable-row .public-tournaments-flat-table{background:color-mix(in srgb, var(--surface-muted) 72%, var(--surface-strong) 28%)!important}.public-tournament-subtable-row .public-tournaments-flat-table tbody tr:not(.details-row)>td{border-bottom:1px solid color-mix(in srgb, var(--border-strong) 58%, var(--border) 42%);background:0 0}.public-tournament-subtable-row .public-tournaments-flat-table tbody tr:not(.details-row):last-child>td{border-bottom:0}.public-tournament-subtable-row .public-tournaments-flat-table tbody tr:not(.details-row)>td+td{border-left:1px solid color-mix(in srgb, var(--border-strong) 36%, var(--border) 64%)}}@media (width<=380px){.tournaments-search-card .tournament-date-filter,.tournaments-search-card .tournament-date-filter input{width:100%}}@media (width<=720px){.tournaments-search-card .tournaments-filter-panel{grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr)!important}.tournaments-search-card .tournament-scope-group{align-items:stretch;gap:6px;width:100%;grid-template-columns:minmax(74px,.78fr) minmax(116px,1.28fr) minmax(70px,.74fr)!important;display:grid!important}.tournaments-search-card .tournament-scope-group label{justify-content:flex-start;gap:5px;min-width:0;padding:8px 7px}.tournaments-search-card .tournament-scope-group input[type=radio]{flex:0 0 15px;min-width:15px;height:15px;width:15px!important}.tournaments-search-card .tournament-scope-group label span{text-overflow:clip;white-space:nowrap;flex:none;min-width:max-content;font-size:13px;line-height:1;overflow:visible}.tournaments-search-card .tournament-date-filter{box-sizing:border-box;max-width:none;width:100%!important;min-width:0!important}.tournaments-search-card .tournament-date-filter input{box-sizing:border-box;max-width:none;display:block;width:100%!important;min-width:0!important}.public-tournament-subtable-row .public-tournaments-flat-table tbody tr:not(.details-row)>td{border-bottom:1px solid var(--border)!important}.public-tournament-subtable-row .public-tournaments-flat-table tbody tr:not(.details-row):last-child>td{border-bottom:0!important}.public-tournament-subtable-row .public-tournaments-flat-table tbody tr:not(.details-row)>td+td{border-left:0!important}.match-subtable-row .match-subtable-cell,.match-subtable-row .match-subtable-wrap,.match-subtable-row .player-matches-table{background:color-mix(in srgb, var(--surface-muted) 72%, var(--surface-strong) 28%)!important}.match-subtable-row .match-subtable-wrap{overflow:hidden}.match-subtable-row .match-subtable-wrap .table-scroll{overflow-x:hidden}.match-subtable-row .player-matches-table{table-layout:fixed;width:100%;min-width:0!important;display:table!important}.match-subtable-row .player-matches-table colgroup{display:table-column-group!important}.match-subtable-row .player-matches-table tbody{display:table-row-group!important}.match-subtable-row .player-matches-table .clickable-match-row{box-shadow:none;background:0 0;border-radius:0;overflow:visible;border:0!important;display:table-row!important}.match-subtable-row .player-matches-table .clickable-match-row>td{vertical-align:middle;text-align:left;text-overflow:ellipsis;width:auto;overflow:hidden;border-bottom:1px solid var(--border)!important;white-space:nowrap!important;padding:8px 6px!important;display:table-cell!important}.match-subtable-row .player-matches-table .clickable-match-row:last-child>td{border-bottom:0!important}.match-subtable-row .player-matches-table .clickable-match-row>td:before{content:none!important;display:none!important}.match-subtable-row .player-matches-table col.match-col-opponent{width:calc(100% - 146px)!important}.match-subtable-row .player-matches-table col.match-col-score{width:68px!important}.match-subtable-row .player-matches-table col.match-col-outcome{width:78px!important}.match-subtable-row .player-matches-table col.match-col-game,.match-subtable-row .player-matches-table col.match-col-status,.match-subtable-row .player-matches-table col.match-col-appointment,.match-subtable-row .player-matches-table .clickable-match-row>td[data-label=Игра],.match-subtable-row .player-matches-table .clickable-match-row>td[data-label=Статус],.match-subtable-row .player-matches-table .clickable-match-row>td[data-label=Назначено]{display:none!important}.match-subtable-row .player-matches-table .clickable-match-row>td[data-label=Соперник]{font-weight:850}.match-subtable-row .player-matches-table .score-cell{text-align:center;font-size:12px}.match-subtable-row .player-matches-table .match-outcome-pill{min-width:0;max-width:100%;padding:7px 8px;font-size:11px}.result-review-actions{flex-flow:row;justify-content:flex-start;align-items:center;gap:8px;display:flex;overflow-x:auto}.result-action-button{white-space:nowrap;border-radius:13px;flex:0 auto;min-width:0;max-width:none;height:auto;min-height:38px;padding:8px 10px;width:auto!important}.result-action-icon{display:none!important}.result-action-label{white-space:nowrap;clip:auto!important;width:auto!important;height:auto!important;display:inline!important;position:static!important;overflow:visible!important}}
