*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background-color:#f5f5f5;display:flex;flex-direction:column;min-height:100vh}.top-banner{background:linear-gradient(135deg,#1a2a3a,#2c3e50 60%,#1a3a4a)}.navbar{padding:1rem 0}.nav-container{align-items:center;display:flex;gap:2rem;margin:0 auto;max-width:1200px;padding:0 2rem}.nav-logo-wrapper{flex:1 1}.nav-logo{align-items:center;color:#fff;display:inline-flex;font-size:1.5rem;font-weight:700;gap:.4rem;text-decoration:none}.nav-logo-icon{height:2rem;width:auto}.nav-logo-text{color:#fff;font-size:1.3rem;font-weight:800;letter-spacing:-.02em}.nav-logo-tld{color:#2196f3}.nav-links{align-items:center;display:flex;gap:1rem}.nav-link{border-radius:4px;color:#fff;padding:.5rem 1rem;text-decoration:none;transition:background-color .2s;white-space:nowrap}.nav-link:hover{background-color:#34495e}.guest-sub-bar{color:#fff;padding:3.5rem 1.5rem}.guest-sub-bar-inner{align-items:flex-start;display:flex;flex-direction:column;gap:1rem;margin:0 auto;max-width:1200px;padding:0 2rem}.hero-brand{align-items:center;display:inline-flex;gap:.5rem}.hero-icon{font-size:1.4rem;line-height:1;-webkit-user-select:none;user-select:none}.hero-brand-name{color:#ffffff8c;font-size:.9rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.hero-headline{color:#fff;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;line-height:1.15;margin:0}.hero-subline{color:#ffffffb8;font-size:1.05rem;line-height:1.6;margin:0;max-width:560px}.hero-features{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:.25rem 0 0;padding:0}.hero-feature-pill{background:#ffffff14;border:1px solid #ffffff40;border-radius:999px;color:#ffffffd9;font-size:.825rem;padding:.3rem .85rem;white-space:nowrap}.hero-cta{background:#3498db;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:.5rem;padding:.7rem 1.75rem;transition:background .15s,transform .1s}.hero-cta:hover{background:#2980b9;transform:translateY(-1px)}.hero-cta:active{transform:none}.main-content{flex:1 1;margin:2rem auto;max-width:1200px;padding:0 2rem;width:100%}.container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:2rem}.page-title{color:#2c3e50;font-size:2rem;margin-bottom:1.5rem}.btn{display:inline-block;text-decoration:none;transition:all .2s}.btn-primary:hover{background-color:#2980b9}.btn-success{background-color:#27ae60;color:#fff}.btn-success:hover{background-color:#229954}.btn-secondary:hover{background-color:#7f8c8d}.form-group{margin-bottom:1.5rem}.form-group label{color:#2c3e50}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem;width:100%}.form-group textarea{min-height:100px;resize:vertical}.status-badge{border-radius:12px;display:inline-block;padding:.25rem .75rem}.status-setup{background-color:#fff3e0;color:#e65100}.status-in-progress{background-color:#e3f2fd;color:#1565c0}.status-completed{background-color:#e8f5e9;color:#2e7d32}.table td,.table th{border-bottom:1px solid #ddd;padding:.75rem;text-align:left}.table th{background-color:#f5f5f5;color:#2c3e50}.table tr:hover{background-color:#f9f9f9}.login-button{background:none;border:1px solid #ffffff80;cursor:pointer;font-size:1rem}.login-button:hover{background-color:#ffffff1a;border-color:#fff}.tournament-list-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.owner-filter-btn{align-items:center;background:#fff;border:1.5px solid #bdc3c7;border-radius:999px;color:#7f8c8d;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.4rem;padding:.45rem 1rem;transition:all .15s;white-space:nowrap}.owner-filter-btn:hover{border-color:#3498db;color:#3498db}.owner-filter-btn--active{background:#3498db;border-color:#3498db;color:#fff}.owner-filter-btn--active:hover{background:#2980b9;border-color:#2980b9;color:#fff}.tournament-filter-bar{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}.tournament-search-wrapper{flex:1 1 220px;min-width:180px;position:relative}.tournament-search-icon{color:#aab0b8;height:1rem;left:.65rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:1rem}.tournament-search-input{background:#fff;border:1.5px solid #e0e0e0;border-radius:8px;box-sizing:border-box;color:#2c3e50;font-size:.875rem;outline:none;padding:.45rem 2rem .45rem 2.1rem;transition:border-color .15s;width:100%}.tournament-search-input:focus{border-color:#3498db}.tournament-search-input::placeholder{color:#aab0b8}.tournament-search-clear{background:none;border:none;color:#aab0b8;cursor:pointer;font-size:1.1rem;line-height:1;padding:0 .2rem;position:absolute;right:.5rem;top:50%;transform:translateY(-50%)}.tournament-search-clear:hover{color:#7f8c8d}.tournament-filter-select{background:#fff;border:1.5px solid #e0e0e0;border-radius:8px;color:#2c3e50;cursor:pointer;font-size:.875rem;outline:none;padding:.45rem .75rem;transition:border-color .15s;white-space:nowrap}.tournament-filter-select:focus{border-color:#3498db}.view-toggle{border:1.5px solid #e0e0e0;border-radius:8px;display:inline-flex;flex-shrink:0;margin-left:auto;overflow:hidden}.view-toggle-btn{color:#aab0b8;padding:0;width:2.25rem}.view-toggle-btn svg{height:1rem;width:1rem}.view-toggle-btn:first-child{border-right:1.5px solid #e0e0e0}.view-toggle-btn--active,.view-toggle-btn:hover{color:#3498db}.view-toggle-btn--active:hover{background:#d6eaf8}.tournament-list-view{display:flex;flex-direction:column;gap:.5rem;margin-top:1.5rem}.tournament-list-row{background:#fff;border:1px solid #e0e0e0;border-radius:8px;color:inherit;display:flex;flex-direction:column;gap:.3rem;padding:.75rem 1.25rem;text-decoration:none;transition:box-shadow .2s,transform .2s}.tournament-list-row:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.tournament-list-row--owned{border-left:3px solid #3498db}.tournament-list-row--owned:hover{box-shadow:0 4px 12px #3498db33}.tournament-list-row-top{align-items:center;display:flex;gap:.75rem;justify-content:space-between;min-width:0}.tournament-list-row-name{color:#2c3e50;font-size:1rem;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tournament-list-row-badges{align-items:center;display:flex;flex-shrink:0;gap:.4rem}.tournament-list-row-meta{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;margin-top:.1rem}.list-meta-item{align-items:center;color:#7f8c8d;display:inline-flex;font-size:.8rem;gap:.3rem}.list-meta-item svg{color:#aab0b8;flex-shrink:0;height:.85rem;width:.85rem}.tournament-count{color:#7f8c8d;font-size:.875rem;margin-bottom:0;margin-top:1rem}.pagination{align-items:center;display:flex;flex-wrap:wrap;gap:.375rem;justify-content:center;margin-top:2rem}.pagination-btn{background:#fff;border:1.5px solid #e0e0e0;border-radius:6px;color:#2c3e50;cursor:pointer;font-size:.875rem;font-weight:500;height:2.25rem;min-width:2.25rem;padding:0 .625rem;transition:all .15s}.pagination-btn:hover:not(:disabled){border-color:#3498db;color:#3498db}.pagination-btn:disabled{cursor:not-allowed;opacity:.4}.pagination-btn--active{background:#3498db;border-color:#3498db;color:#fff}.pagination-btn--active:hover{background:#2980b9;border-color:#2980b9;color:#fff}.pagination-ellipsis{color:#7f8c8d;line-height:2.25rem;padding:0 .25rem}.tournament-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:1.5rem}.tournament-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;color:inherit;cursor:pointer;display:flex;flex-direction:column;padding:1.5rem;text-decoration:none;transition:all .2s}.tournament-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.tournament-card--owned{border-left:3px solid #3498db}.tournament-card--owned:hover{box-shadow:0 4px 12px #3498db33}.tournament-card-header{align-items:start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.tournament-card-badges{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:.375rem}.owner-badge{align-items:center;background-color:#ebf5fb;border-radius:999px;color:#2980b9;display:inline-flex;font-size:.7rem;font-weight:600;gap:.25rem;letter-spacing:.03em;padding:.2rem .5rem;text-transform:uppercase;white-space:nowrap}.tournament-card-header h2{color:#2c3e50;font-size:1.25rem;margin:0}.tournament-description{color:#7f8c8d;line-height:1.5;margin-bottom:1rem}.tournament-card-meta{grid-gap:.4rem .5rem;display:grid;gap:.4rem .5rem;grid-template-columns:1fr 1fr;margin-top:auto;padding-top:.75rem}.tournament-card-meta .list-meta-item:nth-child(2n){justify-self:end}.empty-state{padding:3rem 0;text-align:center}.empty-state p{color:#7f8c8d;font-size:1.125rem;margin-bottom:1.5rem}.tournament-form-layout{grid-gap:2.5rem;align-items:start;display:grid;gap:2.5rem;grid-template-columns:1fr 360px}.form-col-side{border-left:1px solid #e9ecef;padding-left:2.5rem}.form-row{grid-gap:1rem}.form-row-3{grid-template-columns:1fr 1fr 1fr}.form-group-half{max-width:calc(50% - .5rem)}.form-section-title{border-bottom:1px solid #e9ecef;color:#95a5a6;font-size:.72rem;font-weight:700;letter-spacing:.09em;margin-bottom:1.25rem;margin-top:1.75rem;padding-bottom:.4rem;text-transform:uppercase}.form-col-main>.form-section-title:first-child,.form-col-side>.form-section-title:first-child{margin-top:0}.tournament-form textarea{min-height:82px}.tournament-form .form-group input:not([type=checkbox]):not([type=radio]),.tournament-form .form-group select{height:2.75rem}.form-toggles{display:flex;flex-direction:column;gap:1rem;margin-bottom:.5rem}.form-toggle-item{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;padding:.6rem .8rem;transition:background .15s;-webkit-user-select:none;user-select:none}.form-toggle-item:hover{background:#f8f9fa}.form-toggle-item input[type=checkbox]{height:0;opacity:0;position:absolute;width:0}.form-toggle-track{background:#c8d0db;border-radius:1.5rem;display:inline-block;flex-shrink:0;height:1.5rem;position:relative;transition:background .3s;width:2.75rem}.form-toggle-track:before{background:#fff;border-radius:50%;box-shadow:0 2px 5px #00000038;content:"";height:1rem;left:.25rem;position:absolute;top:.25rem;transition:transform .3s;width:1rem}.form-toggle-item input:checked+.form-toggle-track{background:#3498db}.form-toggle-item input:checked+.form-toggle-track:before{transform:translateX(1.25rem)}.form-toggle-item input:focus-visible+.form-toggle-track{outline:2px solid #3498db;outline-offset:2px}.form-toggle-text{color:#2c3e50;font-size:.875rem;font-weight:500}.confrontation-toggle{border:1.5px solid #dee2e6;border-radius:6px;display:flex;height:2.75rem;overflow:hidden;width:100%}.confrontation-btn{background:#fff;border:none;border-right:1.5px solid #dee2e6;color:#6c757d;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:500;height:100%;transition:background .15s,color .15s;white-space:nowrap}.confrontation-btn:last-child{border-right:none}.confrontation-btn:hover:not(.confrontation-btn--active){background:#f8f9fa;color:#2c3e50}.confrontation-btn--active{background:#3498db;color:#fff}.form-group-disabled label{color:#adb5bd}.form-group-disabled input,.form-group-disabled select{background-color:#f8f9fa;border-color:#dee2e6;color:#adb5bd;cursor:not-allowed}.field-note{color:#6c757d;font-size:.8rem;font-style:italic;font-weight:400}.field-required{color:#e74c3c}.form-help{color:#7f8c8d;font-size:.8rem;font-style:italic;margin-bottom:.5rem;margin-top:.25rem}.form-actions{border-top:1px solid #e0e0e0;margin-top:2rem}@media (max-width:768px){.tournament-form-layout{gap:0;grid-template-columns:1fr}.form-col-side{border-left:none;border-top:1px solid #e9ecef;margin-top:.5rem;padding-left:0;padding-top:1.5rem}.form-row-3{grid-template-columns:1fr}.form-group-half{max-width:100%}}@media (max-width:480px){.form-row{grid-template-columns:1fr}}.player-status-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:900px;width:90%}.close-button{color:#7f8c8d;transition:all .2s}.close-button:hover{background-color:#f5f5f5}.modal-body{padding:2rem}.status-info{background-color:#f8f9fa;border-radius:8px;display:flex;flex-wrap:wrap;gap:2rem;margin-bottom:2rem;padding:1.5rem}.status-info .info-item{align-items:center;display:flex;gap:.75rem}.status-badge{border-radius:4px;font-size:.875rem;font-weight:500;padding:.35rem .75rem;white-space:nowrap}.status-normal{background-color:#e3f2fd;color:#1565c0}.status-half-point-bye{background-color:#fff9c4;color:#f57f17}.status-full-point-bye{background-color:#c8e6c9;color:#2e7d32}.status-zero-point-bye{background-color:#ffebee;color:#c62828}.players-list{overflow-x:auto}.players-table{border-collapse:collapse;width:100%}.players-table th{background-color:#f5f5f5;border-bottom:2px solid #e0e0e0;color:#2c3e50;font-weight:600;padding:.75rem 1rem;text-align:left}.players-table td{border-bottom:1px solid #e0e0e0;padding:1rem}.players-table tbody tr:hover{background-color:#f9f9f9}.status-button-group{border:2px solid #e0e0e0;border-radius:8px;display:inline-flex;overflow:hidden}.status-btn{background-color:#fff;border:none;border-right:1px solid #e0e0e0;color:#666;cursor:pointer;font-size:.8rem;font-weight:500;min-width:70px;padding:.5rem .75rem;text-align:center;transition:all .2s}.status-btn:last-child{border-right:none}.status-btn:hover:not(:disabled):not(.active){background-color:#f5f5f5}.status-btn:disabled{cursor:not-allowed;opacity:.5}.status-btn.active{font-weight:600}.status-btn.status-normal.active{background-color:#e3f2fd;border-color:#1565c0;border-radius:6px;box-shadow:inset 0 0 0 2px #1565c0;color:#1565c0}.status-btn.status-half-point-bye{color:#f57f17}.status-btn.status-half-point-bye.active{background-color:#fff9c4;border-radius:6px;box-shadow:inset 0 0 0 2px #f57f17}.status-btn.status-full-point-bye{color:#2e7d32}.status-btn.status-full-point-bye.active{background-color:#c8e6c9;border-radius:6px;box-shadow:inset 0 0 0 2px #2e7d32}.status-btn.status-zero-point-bye{color:#c62828}.status-btn.status-zero-point-bye.active{background-color:#ffebee;border-radius:6px;box-shadow:inset 0 0 0 2px #c62828}.modal-footer{border-top:1px solid #e0e0e0;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem 2rem}@media (max-width:768px){.player-status-modal{max-height:95vh;width:95%}.status-info{flex-direction:column;gap:1rem}.status-button-group{flex-direction:column;width:100%}.status-btn{border-bottom:1px solid #e0e0e0;border-right:none;width:100%}.status-btn:last-child{border-bottom:none}}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:#00000073}.modal-content{border-radius:12px;box-shadow:0 24px 64px #00000038,0 4px 16px #0000001a;max-width:720px;min-width:560px;width:100%}.modal-header{border-bottom:1px solid #e8ecf2;padding:1.125rem 1.75rem 1rem}.modal-header h2{color:#1a2433;font-size:1.15rem;font-weight:700;letter-spacing:-.02em}.modal-close-btn{align-items:center;background:none;border:none;border-radius:6px;color:#9aa5b4;cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:32px;justify-content:center;line-height:1;transition:color .15s,background .15s;width:32px}.modal-close-btn:hover{background:#f0f3f7;color:#2c3e50}.modal-body{display:flex;flex-direction:column;gap:.875rem;padding:1.25rem 1.75rem}.form-section{background:#f8fafc;border:1px solid #e4eaf2;border-radius:8px;padding:.875rem 1rem .75rem}.section-title{align-items:center;color:#6b7a8d;display:flex;font-size:.7rem;font-weight:700;gap:.5rem;letter-spacing:.09em;margin:0 0 .75rem;text-transform:uppercase}.section-title:after{background:#dde4ef;content:"";flex:1 1;height:1px}.form-grid{grid-gap:.6rem 1.25rem;display:grid;gap:.6rem 1.25rem;grid-template-columns:1fr 1fr}.form-grid .col-full{grid-column:1/-1}.form-group{gap:.3rem}.form-group label{color:#4a5568;font-size:.78rem;font-weight:600;-webkit-user-select:none;user-select:none}.form-control{background:#fff;border:1.5px solid #d1d9e8;border-radius:6px;color:#2c3e50;padding:.48rem .72rem;transition:border-color .15s,box-shadow .15s,background .15s}.form-control:hover:not(:focus):not(:disabled){border-color:#a8b8cc}.form-control:focus{background:#fff;border-color:#3498db;box-shadow:0 0 0 3px #3498db26}select.form-control{-webkit-appearance:auto;appearance:auto;cursor:pointer}.toggle-container{align-items:center;background-color:#fff8f8;border:1px solid #fad7d7;border-radius:6px;display:flex;justify-content:space-between;padding:.6rem .875rem}.toggle-label{color:#495057;font-size:.85rem;font-weight:500;-webkit-user-select:none;user-select:none}.toggle-switch{display:inline-block;flex-shrink:0;height:28px;position:relative;width:50px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:#c8d0db;border-radius:28px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:4px;box-shadow:0 2px 5px #00000038;content:"";height:20px;left:4px;position:absolute;transition:.3s;width:20px}.toggle-switch input:checked+.toggle-slider{background-color:#e74c3c}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(22px)}.toggle-switch input:focus+.toggle-slider{box-shadow:0 0 0 3px #e74c3c33}.error-message{background-color:#fdf0ef;border:1px solid #f5c6c0;border-radius:6px;color:#c0392b;font-size:.875rem;padding:.6rem .875rem}.modal-actions,.modal-footer{background:#f8fafc;border-top:1px solid #e8ecf2;bottom:0;display:flex;gap:.65rem;justify-content:flex-end;padding:.875rem 1.75rem 1.125rem;position:-webkit-sticky;position:sticky}@media (max-width:640px){.modal-content{min-width:0;min-width:auto}.modal-body{padding:1rem}.modal-header{padding:1rem 1rem .875rem}.modal-actions,.modal-footer{padding:.75rem 1rem 1rem}.form-grid{grid-template-columns:1fr}.form-grid .col-full{grid-column:1}}.actions-col{white-space:nowrap;width:1px}.player-manager h2{color:#2c3e50;margin-bottom:1.5rem}.player-manager h3{color:#2c3e50;font-size:1.125rem;margin-bottom:1rem}.player-selection{background-color:#f8f9fa;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.search-section{margin-bottom:1rem}.available-players{max-height:420px;overflow-y:auto;padding:.25rem 0}.player-row{cursor:pointer;outline:none;transition:background .15s,border-color .15s,box-shadow .15s}.player-row:hover{background:#f0f7ff;border-color:#3498db;box-shadow:0 1px 4px #3498db26}.player-row:focus-visible{border-color:#3498db;box-shadow:0 0 0 3px #3498db40}.player-row--disabled{cursor:not-allowed;opacity:.6}.player-row__name{min-width:160px}.player-row__add{align-items:center;background:#0000;border-radius:50%;color:#b0bec5;display:flex;flex-shrink:0;height:22px;justify-content:center;margin-left:auto;transition:background .15s,color .15s;width:22px}.player-row:hover .player-row__add{background:#3498db;color:#fff}.player-row__plus{height:13px;width:13px}.registered-players{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.empty-message{background-color:#f8f9fa;border-radius:8px;margin:1rem 0;padding:3rem 2rem}.table{border-collapse:collapse;margin-top:1rem;width:100%}.table th{background-color:#2c3e50;color:#fff;font-size:.8rem;font-weight:600;padding:.45rem .6rem;text-align:left}.table td{border-bottom:1px solid #eee;font-size:.875rem;padding:.35rem .6rem}.table tbody tr:hover{background-color:#f8f9fa}.btn{transition:background-color .2s}.btn-primary{background-color:#3498db}.btn-primary:hover:not(:disabled){background-color:#2980b9}.btn-danger{background-color:#e74c3c;color:#fff}.btn-danger:hover{background-color:#c0392b}.btn-sm{font-size:.875rem;padding:.5rem 1rem}.setup-info{background-color:#e8f5e9;border-left:4px solid #27ae60;border-radius:4px;margin-top:1.5rem;padding:1rem}.setup-info p{color:#229954;font-weight:500;margin:0}.error{background-color:#ffebee;border-left:4px solid #c62828;color:#c62828;padding:1rem}@media (max-width:768px){.player-row{flex-wrap:wrap;gap:.5rem}.player-row__name{min-width:0;min-width:auto;width:100%}}.standings h2{color:#2c3e50;margin-bottom:.75rem}.standings-table-container{overflow-x:auto}.standings-table{min-width:600px}.standings-table th{font-size:.8rem;padding:.45rem .6rem;text-align:center}.standings-table td{font-size:.875rem;padding:.35rem .6rem;text-align:center}.score-col{font-size:1.1rem}.status-col{text-align:center!important;width:100px}.withdrawn-badge{background-color:#e74c3c;border-radius:4px;color:#fff;font-size:.75rem;padding:.25rem .5rem}.actions-col{text-align:center!important}.btn-edit{background:#0000!important;border-radius:50%;color:#2c3e50!important;transition:background-color .15s ease}.btn-edit:hover{background:#00000014!important}.btn-edit:active{background:#0000001f!important}.result-selector{align-items:center;display:flex;gap:6px}.result-chips{display:flex;gap:2px}.result-chip{background:#fff;border:1.5px solid #dee2e6;border-radius:4px;color:#888;cursor:pointer;font-size:12px;font-weight:700;line-height:1.6;min-width:38px;padding:3px 8px;text-align:center;transition:all .12s ease;white-space:nowrap}.result-chip:hover:not(:disabled){background:#f0f0f0;border-color:#adb5bd;color:#333}.result-chip:disabled{cursor:not-allowed;opacity:.45}.result-chip.selected.black-win,.result-chip.selected.draw,.result-chip.selected.not-played,.result-chip.selected.white-win{background:#dbeafe;border-color:#3b82f6;color:#1d4ed8}.type-mini{background:#fff;border:1.5px solid #dee2e6;border-radius:4px;color:#444;cursor:pointer;flex-shrink:0;font-size:12px;padding:3px 6px;width:110px}.type-mini:focus,.type-mini:hover:not(:disabled){border-color:#3b82f6}.type-mini:focus{outline:none}.type-mini:disabled{background:#f3f4f6;cursor:not-allowed}.round-manager{padding-top:1rem}.round-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.round-header h2{color:#2c3e50;margin:0}.round-actions-header{align-items:center;display:flex;gap:1rem}.round-selector{background-color:#f8f9fa;border-radius:4px;margin-bottom:1.5rem;padding:.75rem 1rem}.round-selector label{color:#2c3e50;display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.round-buttons{display:flex;flex-wrap:wrap;gap:.375rem}.round-btn{background:#fff;border:2px solid #3498db;border-radius:4px;color:#3498db;cursor:pointer;font-size:.8125rem;font-weight:500;padding:.35rem .75rem;transition:all .2s}.round-btn:hover{background-color:#ebf5fb}.round-btn.active{background-color:#3498db;color:#fff}.round-btn.completed{border-color:#27ae60;color:#27ae60}.round-btn.completed.active{background-color:#27ae60;color:#fff}.round-btn.scheduled{border-color:#95a5a6;border-style:dashed;color:#95a5a6}.round-btn.scheduled:hover{background-color:#f2f3f4}.round-btn.scheduled.active{background-color:#95a5a6;color:#fff}.pairings-container h3{align-items:center;color:#2c3e50;display:flex;font-size:1rem;gap:.75rem;margin-bottom:.75rem}.round-meta{font-weight:400;gap:1rem;margin-left:auto}.round-meta,.round-meta-item{align-items:center;display:flex}.round-meta-item{color:#7f8c8d;font-size:.8rem;gap:.3rem}.round-meta-icon{align-items:center;display:flex}.round-meta-icon svg{height:13px;width:13px}.scheduled-badge{background-color:#ecf0f1;border:1px dashed #95a5a6;border-radius:12px;color:#7f8c8d;font-size:.75rem;font-weight:500;letter-spacing:.05em;padding:.2rem .6rem;text-transform:uppercase}.pairings-list{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.pairings-list-header{grid-gap:8px;align-items:center;background:#f0f4f8;border-bottom:2px solid #dee2e6;color:#7f8c8d;display:grid;font-size:11px;font-weight:700;gap:8px;grid-template-columns:28px 1fr auto 1fr;letter-spacing:.05em;padding:6px 16px;text-transform:uppercase}.pairings-list-header .col-result{text-align:center}.pairings-list-header .col-black{text-align:right}.pairing-row{grid-gap:8px;align-items:center;border-bottom:1px solid #f0f0f0;display:grid;gap:8px;grid-template-columns:28px 1fr auto 1fr;padding:5px 16px;transition:background .1s}.pairing-row:last-child{border-bottom:none}.pairing-row:nth-child(2n){background:#fafafa}.pairing-row:hover{background:#eef5ff}.pairing-row.scheduled{opacity:.65}.col-board{color:#b0bec5;font-size:11px;font-weight:600;text-align:center}.col-black,.col-white{color:#2c3e50;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-black{text-align:right}.col-result{align-items:center;display:flex;justify-content:center}.result-text{color:#7f8c8d;font-size:12px;font-weight:500}.actions-menu-btn{border-radius:4px;color:#555;font-size:18px;padding:4px 10px;transition:background .15s}.actions-menu-btn:hover{background:#f0f0f0}.actions-menu-dropdown{box-shadow:0 4px 12px #0000001a;min-width:180px;top:calc(100% + 4px)}.actions-menu-item{align-items:center;color:#333;display:flex;font-size:14px;padding:10px 16px;transition:background .1s}.actions-menu-item:hover{background:#f8f9fa}.actions-menu-item--danger:hover{background:#fff5f5}.edit-mode-badge{background-color:#e3f2fd;border:1px solid #90caf9;border-radius:12px;color:#1565c0;font-size:.75rem;font-weight:500;letter-spacing:.05em;padding:.2rem .6rem;text-transform:uppercase}.edit-mode-banner{align-items:center;background:#fff8e1;border:1px solid #ffe082;border-radius:6px;color:#5d4037;display:flex;font-size:13px;gap:1rem;justify-content:space-between;margin-bottom:8px;padding:8px 12px}.edit-mode-hint{flex:1 1}.edit-mode-done-btn{background:#fff;border:1px solid #ffe082;border-radius:4px;color:#5d4037;cursor:pointer;font-size:13px;font-weight:600;padding:4px 14px;transition:background .15s;white-space:nowrap}.edit-mode-done-btn:hover{background:#fff3cd}.player-btn{background:none;border:1px solid #0000;border-radius:4px;color:#2c3e50;cursor:pointer;display:block;font-size:13px;font-weight:500;overflow:hidden;padding:2px 5px;text-align:left;text-overflow:ellipsis;transition:background .15s,border-color .15s;white-space:nowrap;width:100%}.player-btn.col-black{text-align:right}.player-btn[draggable=true]{cursor:grab}.player-btn[draggable=true]:active{cursor:grabbing}.player-btn:hover:not(:disabled){background:#e3f2fd;border-color:#90caf9}.player-btn:disabled{cursor:not-allowed;opacity:.5}.player-btn.selected{background:#1565c0;border-color:#1565c0;color:#fff}.player-btn.selected:hover{background:#1976d2}.player-btn.drag-over{background:#bbdefb;border-color:#1976d2;border-style:dashed;outline:none}.swap-colors-btn{background:none;border:1px solid #90caf9;border-radius:4px;color:#1976d2;cursor:pointer;font-size:15px;line-height:1.4;padding:2px 9px;transition:background .15s,border-color .15s}.swap-colors-btn:hover:not(:disabled){background:#e3f2fd;border-color:#1976d2}.swap-colors-btn:disabled{cursor:not-allowed;opacity:.4}.view-mode-toggle{border:1.5px solid #dee2e6;border-radius:6px;display:inline-flex;overflow:hidden}.view-toggle-btn{align-items:center;background:#fff;border:none;color:#7f8c8d;cursor:pointer;display:flex;height:2.1rem;justify-content:center;transition:background .15s,color .15s;width:2.1rem}.view-toggle-btn svg{height:16px;width:16px}.view-toggle-btn:first-child{border-right:1.5px solid #dee2e6}.view-toggle-btn:hover{background:#f5f6fa;color:#2c3e50}.view-toggle-btn--active{background:#ebf5fb;color:#2980b9;font-weight:600}.matchups-blocks{display:flex;flex-direction:column;gap:1rem}.matchup-block-meta{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.4rem;padding:0 .25rem}.matchup-round-meta{align-items:center;color:#7f8c8d;display:flex;font-size:.8rem;gap:.75rem}.matchup-round-label{color:#95a5a6;font-size:.75rem;font-weight:600;min-width:1.75rem}.matchups-container h3{color:#2c3e50;font-size:1rem;margin-bottom:.75rem}.matchups-list{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.matchup-group{border-bottom:1px solid #e0e0e0}.matchup-group:last-child{border-bottom:none}.matchup-group-title{align-items:center;background:#f5f7f9;border-bottom:1px solid #eaecef;color:#2c3e50;display:flex;font-size:.8125rem;font-weight:600;gap:.5rem;padding:.45rem 1rem}.matchup-vs{color:#b0bec5;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.matchup-title-player{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.matchup-game-row{align-items:center;display:flex;gap:.625rem;padding:.35rem 1rem}.matchup-game-row:last-child{padding-bottom:.5rem}.matchup-white-pawn{color:#adb5bd;flex-shrink:0;font-size:.9rem;text-align:center;width:1rem}.matchup-game-player{color:#2c3e50;flex:1 1;font-size:.8125rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.matchup-game-result{flex-shrink:0}.matchup-round-ref{color:#b0bec5;flex-shrink:0;font-size:.6875rem;font-weight:600;min-width:1.75rem;text-align:right}.empty-message{color:#7f8c8d;padding:2rem 0}.loading{padding:1rem 0}.error{background:#fff5f5;border:1px solid #fcc;border-radius:4px;color:#e74c3c;font-size:14px;margin-bottom:1rem;padding:8px 12px}@media (max-width:600px){.pairing-row,.pairings-list-header{grid-template-columns:24px 1fr auto}.col-black,.pairings-list-header .col-black{display:none}}.calendar-overlay{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000073;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.calendar-modal{background:#fff;border-radius:12px;box-shadow:0 24px 64px #00000038,0 4px 16px #0000001a;display:flex;flex-direction:column;max-height:90vh;max-width:700px;overflow:hidden;width:100%}.calendar-header{align-items:center;background:#fff;border-bottom:1px solid #e8ecf2;display:flex;flex-shrink:0;justify-content:space-between;padding:1.125rem 1.75rem 1rem;position:-webkit-sticky;position:sticky;top:0;z-index:1}.calendar-header h2{color:#1a2433;font-size:1.15rem;font-weight:700;letter-spacing:-.02em;margin:0}.calendar-close-btn{align-items:center;background:none;border:none;border-radius:6px;color:#9aa5b4;cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:32px;justify-content:center;line-height:1;transition:color .15s,background .15s;width:32px}.calendar-close-btn:hover{background:#f0f3f7;color:#2c3e50}.calendar-body{display:flex;flex:1 1;flex-direction:column;gap:1rem;overflow-y:auto;padding:1.25rem 1.75rem}.calendar-error{background-color:#fdf0ef;border:1px solid #f5c6c0;border-radius:6px;color:#c0392b;font-size:.875rem;padding:.6rem .875rem}.calendar-table{border-collapse:collapse;font-size:.95rem;width:100%}.calendar-table th{background-color:#f8fafc;border-bottom:2px solid #e4eaf2;color:#6b7a8d;font-size:.7rem;font-weight:700;letter-spacing:.07em;padding:.65rem 1rem;text-align:left;text-transform:uppercase}.calendar-table td{border-bottom:1px solid #e8ecf2;padding:.6rem 1rem;vertical-align:middle}.calendar-table tr:last-child td{border-bottom:none}.calendar-table tr.completed-row{background-color:#f0fff4}.round-cell{font-weight:600;white-space:nowrap;width:80px}.round-number{color:#1a2433}.completed-mark{color:#27ae60;font-size:.9rem}.calendar-input{background:#fff;border:1.5px solid #d1d9e8;border-radius:6px;box-sizing:border-box;color:#2c3e50;font-size:.9rem;padding:.48rem .72rem;transition:border-color .15s,box-shadow .15s;width:100%}.calendar-input:hover:not(:focus){border-color:#a8b8cc}.calendar-input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db26;outline:none}.date-cell{min-width:160px}.location-cell{min-width:200px}.calendar-footer{background:#f8fafc;border-top:1px solid #e8ecf2;display:flex;flex-shrink:0;gap:.65rem;justify-content:flex-end;padding:.875rem 1.75rem 1.125rem}.btn{border-radius:7px;font-size:.9rem;font-weight:600;letter-spacing:.01em;padding:.55rem 1.375rem;transition:background-color .15s,opacity .15s,transform .1s}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55}.btn-primary{background-color:#2980b9}.btn-primary:hover:not(:disabled){background-color:#2471a3}.btn-secondary{background-color:#f0f3f7;border:1px solid #d1d9e8;color:#2c3e50}.btn-secondary:hover:not(:disabled){background-color:#e2e8f0}@media (max-width:640px){.calendar-body{padding:1rem}.calendar-header{padding:1rem 1rem .875rem}.calendar-footer{padding:.75rem 1rem 1rem}}.crosstable h2{color:#2c3e50;margin-bottom:1rem}.crosstable-info{background-color:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px;margin-bottom:1.5rem;padding:1rem}.crosstable-info p{color:#1565c0;font-size:.875rem;margin:.5rem 0}.crosstable-info strong{color:#0d47a1}.example-code{background-color:#fff;border-radius:3px;font-family:monospace;padding:.125rem .375rem}.crosstable-container{background:#fff;border-radius:4px;box-shadow:0 1px 3px #0000001a;overflow-x:auto}.crosstable-table{border-collapse:collapse;min-width:800px;width:100%}.crosstable-table th{background-color:#2c3e50;color:#fff;font-weight:600;position:-webkit-sticky;position:sticky;top:0;z-index:10}.crosstable-table td,.crosstable-table th{font-size:.875rem;padding:.75rem .5rem;text-align:center}.crosstable-table td{border-bottom:1px solid #e0e0e0}.crosstable-table tbody tr:hover{background-color:#f5f5f5}.rank-col{color:#3498db;font-weight:600;width:60px}.starting-number-col{color:#95a5a6;font-size:.85rem;font-weight:600;width:50px}.name-col{color:#2c3e50;font-weight:500;min-width:150px;text-align:left!important}.rating-col{color:#7f8c8d;width:80px}.round-col{font-size:.8rem;width:70px}.round-result-col{padding:.5rem .25rem;width:70px}.result-cell{border-radius:3px;display:inline-block;font-family:monospace;font-size:.75rem;font-weight:600;min-width:45px;padding:.25rem .5rem}.result-cell.win{background-color:#c8e6c9;color:#2e7d32}.result-cell.loss{background-color:#ffcdd2;color:#c62828}.result-cell.draw{background-color:#fff9c4;color:#f57f17}.result-cell.pending{background-color:#e0e0e0;color:#616161}.score-col{color:#27ae60;font-size:1rem;font-weight:700;width:70px}.wdl-col{color:#7f8c8d;font-weight:500;width:50px}@media (max-width:768px){.crosstable-info,.crosstable-table{font-size:.75rem}.crosstable-table td,.crosstable-table th{padding:.5rem .25rem}.result-cell{font-size:.7rem;min-width:40px;padding:.2rem .3rem}}.rankings-section{margin:.75rem 0}.rankings-section-title{color:#2c3e50;font-size:1.125rem;font-weight:600;margin:0 0 .75rem}.rankings-table-container{background:#fff;border-radius:4px;box-shadow:0 1px 3px #0000001a;overflow-x:auto}.rankings-table{border-collapse:collapse;width:100%}.rankings-table th{background-color:#2c3e50;color:#fff;font-weight:600;position:-webkit-sticky;position:sticky;top:0;z-index:10}.rankings-table td,.rankings-table th{font-size:.875rem;padding:.75rem .5rem;text-align:center}.rankings-table td{border-bottom:1px solid #e0e0e0}.rankings-table tbody tr:hover{background-color:#f5f5f5}.rank-cell{color:#3498db;font-weight:600;width:60px}.name-cell{color:#2c3e50;font-weight:500;min-width:150px;text-align:left!important}.category-cell,.rating-cell{color:#7f8c8d;width:80px}.score-cell{color:#27ae60;font-size:1rem;font-weight:700;width:70px}.wdl-cell{color:#7f8c8d;font-family:monospace;width:80px}.tiebreak-cell{color:#7f8c8d;width:70px}.rankings-empty{background-color:#f9f9f9;border-radius:4px;color:#666;padding:2rem;text-align:center}@media (max-width:768px){.rankings-table{font-size:.8rem}.rankings-table td,.rankings-table th{padding:.5rem .25rem}.name-cell{min-width:100px}.category-cell,.rank-cell,.rating-cell,.score-cell,.tiebreak-cell,.wdl-cell{width:auto}}.elo-range-config-manager{background-color:#f9f9f9;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.elo-range-config-manager h4{color:#333;font-size:1.1rem;margin-bottom:1rem;margin-top:0}.no-configs{color:#666;font-style:italic}.config-list,.no-configs{margin-bottom:1rem}.config-item{background-color:#fff;border:1px solid #ddd;border-radius:4px;justify-content:space-between;margin-bottom:.5rem;padding:.75rem 1rem}.config-info,.config-item{align-items:center;display:flex}.config-info{gap:1rem}.config-label{color:#333;font-weight:600}.config-range{color:#666;font-size:.9rem}.btn-delete{background-color:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:.4rem .8rem;transition:background-color .2s}.btn-delete:hover{background-color:#d32f2f}.btn-add{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.6rem 1.2rem;transition:background-color .2s}.btn-add:hover{background-color:#45a049}.add-config-form{background-color:#fff;border:1px solid #ddd;border-radius:4px;margin-top:1rem;padding:1rem}.form-row{display:flex;gap:1rem;margin-bottom:1rem}.form-group{flex:1 1}.form-group label{margin-bottom:.4rem}.form-control{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:.9rem;padding:.5rem;width:100%}.form-control:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf501a;outline:none}.error-message{color:#d32f2f;padding:.5rem}.form-actions{gap:.5rem}.btn-cancel{background-color:#f0f0f0;border:none;border-radius:4px;color:#333;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .2s}.btn-cancel:hover:not(:disabled){background-color:#e0e0e0}.btn-save{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .2s}.btn-save:hover:not(:disabled){background-color:#45a049}.btn-cancel:disabled,.btn-save:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.config-item{gap:.5rem}.config-info,.config-item{align-items:flex-start;flex-direction:column}.config-info{gap:.25rem}.btn-delete{align-self:flex-end}.form-row{flex-direction:column;gap:.5rem}}.rankings-container h2{color:#2c3e50;margin-bottom:1.5rem;margin-top:0}.view-type-selector{border-bottom:2px solid #e0e0e0;display:flex;gap:.5rem;margin-bottom:1.5rem;padding-bottom:.5rem}.view-btn{background-color:initial;border:none;border-radius:4px 4px 0 0;color:#666;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;position:relative;transition:all .2s}.view-btn:hover{background-color:#f0f0f0;color:#333}.view-btn.active{background-color:#2c3e50;color:#fff}.view-btn.active:after{background-color:#2c3e50;bottom:-2px;content:"";height:2px;left:0;position:absolute;right:0}.category-selector{align-items:center;background-color:#f9f9f9;border-radius:4px;display:flex;gap:1rem;margin-bottom:1.5rem;padding:1rem}.category-selector label{color:#333;font-weight:500}.category-dropdown{background-color:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:1rem;padding:.5rem 1rem}.category-dropdown:focus{border-color:#2c3e50;box-shadow:0 0 0 2px #2c3e501a;outline:none}.export-section{display:flex;gap:.5rem;justify-content:flex-end;margin-bottom:.75rem}.btn-export{background-color:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.6rem 1.2rem;transition:background-color .2s}.btn-export:hover{background-color:#1976d2}.loading{color:#666;font-size:1.1rem}.error-box{background-color:#ffebee;border-left:4px solid #d32f2f;border-radius:4px;color:#d32f2f;margin-bottom:1rem;padding:1rem}.no-ranges-message{background-color:#f9f9f9;border-radius:4px;color:#666;font-style:italic;padding:2rem;text-align:center}@media (max-width:768px){.view-type-selector{flex-wrap:wrap}.view-btn{flex:1 1;font-size:.9rem;min-width:100px;padding:.6rem 1rem}.category-selector{align-items:flex-start}.category-selector,.export-section{flex-direction:column}.btn-export{width:100%}}.modal-overlay{background-color:#00000080}.modal-content{display:flex;flex-direction:column;max-width:600px;overflow:hidden}.modal-header{padding:20px}.modal-header h2{color:#333}.close-button{color:#666}.close-button:hover{background-color:#f0f0f0;color:#333}.modal-body{flex:1 1;overflow-y:auto;padding:20px}.info-section{background-color:#f8f9fa;border-radius:6px;margin-bottom:20px;padding:15px}.info-section h3{color:#333;font-size:1.1rem;margin-top:0}.info-section ul{margin:10px 0;padding-left:20px}.info-section li{color:#555;margin:8px 0}.download-template-btn{background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;margin-top:10px;padding:8px 16px}.download-template-btn:hover{background-color:#5a6268}.file-input-section{margin:20px 0}.select-file-btn{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:10px 20px}.select-file-btn:hover{background-color:#0056b3}.selected-file{align-items:center;background-color:#e7f3ff;border:1px solid #b3d9ff;border-radius:4px;display:flex;justify-content:space-between;margin-top:10px;padding:10px}.selected-file button{background:none;border:none;color:#dc3545;cursor:pointer;font-size:1.5rem;padding:0 5px}.modal-actions{border-top:1px solid #e0e0e0;display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:20px}.cancel-btn,.close-btn{background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:10px 20px}.cancel-btn:hover,.close-btn:hover{background-color:#5a6268}.import-btn{background-color:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:10px 20px}.import-btn:hover:not(:disabled){background-color:#218838}.import-btn:disabled{background-color:#94d3a2;cursor:not-allowed}.import-results{margin-bottom:20px}.import-results h3{color:#333;margin-top:0}.results-summary{display:flex;gap:20px;margin:15px 0}.result-stat{border-radius:6px;flex:1 1;padding:15px;text-align:center}.result-stat.success{background-color:#d4edda;border:1px solid #c3e6cb}.result-stat.error{background-color:#f8d7da;border:1px solid #f5c6cb}.result-stat.total{background-color:#d1ecf1;border:1px solid #bee5eb}.stat-label{color:#666;display:block;font-size:.9rem;margin-bottom:5px}.stat-value{color:#333;display:block;font-size:1.8rem;font-weight:700}.error-list{background-color:#fff3cd;border:1px solid #ffc107;border-radius:6px;margin:15px 0;padding:15px}.error-list h4{color:#856404;margin-top:0}.error-list ul{margin:10px 0 0;padding-left:20px}.error-list li{color:#856404;margin:5px 0}.imported-players-list{margin-top:15px}.imported-players-list h4{color:#333;margin-bottom:10px}.players-scroll{border:1px solid #e0e0e0;border-radius:4px;max-height:300px;overflow-y:auto}.players-scroll table{border-collapse:collapse;width:100%}.players-scroll thead{background-color:#f8f9fa;position:-webkit-sticky;position:sticky;top:0}.players-scroll th{border-bottom:2px solid #dee2e6;font-weight:600;padding:10px;text-align:left}.players-scroll td{border-bottom:1px solid #e0e0e0;padding:8px 10px}.players-scroll tbody tr:hover{background-color:#f8f9fa}.modal-overlay{background:#00000073;inset:0;padding:1rem}.modal-dialog{background:#fff;border-radius:8px;box-shadow:0 8px 32px #0003;max-height:90vh;max-width:880px;overflow-y:auto;width:100%}.modal-header{background:#fff;border-bottom:1px solid #e9ecef;padding:1.25rem 1.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:1}.modal-title{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0}.modal-close{background:#0000;border-radius:50%;color:#7f8c8d;height:2rem;padding:0;transition:background .15s,color .15s;width:2rem}.modal-close:hover{background:#f0f0f0}.modal-close svg{height:1.1rem;width:1.1rem}.modal-body{padding:1.5rem}@media (max-width:600px){.modal-dialog{border-radius:0;max-height:100vh}}.tournament-detail{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:2rem}.tournament-header{align-items:start;display:flex;gap:2rem;justify-content:space-between;margin-bottom:1.5rem}.tournament-description-detail{color:#7f8c8d;line-height:1.6;margin-top:.5rem}.tournament-meta{grid-gap:.6rem 2rem;background-color:#f8f9fa;border-radius:6px;display:grid;gap:.6rem 2rem;grid-template-columns:repeat(2,1fr);margin-bottom:1.5rem;padding:.75rem 1rem}@media (min-width:700px){.tournament-meta{grid-template-columns:repeat(3,1fr)}}.meta-chip{align-items:center;color:#5a6472;display:flex;font-size:.85rem;gap:.4rem;min-width:0}.meta-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta-chip svg{color:#aab0b8;flex-shrink:0;height:.9rem;width:.9rem}.btn-edit-sm{align-items:center;background:#0000;border:none;border-radius:50%;color:#7f8c8d;cursor:pointer;display:inline-flex;height:24px;justify-content:center;padding:0;transition:background-color .15s ease,color .15s ease;width:24px}.btn-edit-sm svg{height:13px;width:13px}.btn-edit-sm:hover{background:#00000014;color:#2c3e50}.tiebreak-editor{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;margin-top:.75rem;padding:1rem}.tiebreak-editor-fields{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.75rem}.tiebreak-select-group{display:flex;flex:1 1;flex-direction:column;gap:.3rem;min-width:160px}.tiebreak-select-group label{color:#495057;font-size:.8rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.tiebreak-select-group select{background:#fff;border:1px solid #ced4da;border-radius:4px;color:#2c3e50;font-size:.9rem;padding:.35rem .5rem}.tiebreak-select-group select:focus{border-color:#3498db;outline:none}.tiebreak-editor-actions{display:flex;gap:.5rem}.btn-sm{font-size:.85rem;padding:.3rem .75rem}.tournament-header-right{align-items:center;display:flex;flex-shrink:0;gap:.625rem}.actions-menu-wrapper{position:relative}.actions-menu-btn{background:none;border:1px solid #dee2e6;border-radius:6px;color:#7f8c8d;cursor:pointer;font-size:1.25rem;letter-spacing:.05em;line-height:1;padding:.15rem .55rem;transition:all .15s}.actions-menu-btn:hover{background-color:#f8f9fa;border-color:#adb5bd;color:#2c3e50}.actions-menu-dropdown{background:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 4px 12px #0000001f;min-width:200px;overflow:hidden;position:absolute;right:0;top:calc(100% + .4rem);z-index:100}.actions-menu-item{background:none;border:none;color:#2c3e50;cursor:pointer;display:block;font-size:.9rem;padding:.6rem 1rem;text-align:left;transition:background-color .15s;width:100%}.actions-menu-item:hover{background-color:#f8f9fa}.actions-menu-item--danger{color:#e74c3c}.actions-menu-item--danger:hover{background-color:#fff5f5}.tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:.5rem;margin-bottom:1.5rem}.tab{background:none;border:none;border-bottom:2px solid #0000;color:#7f8c8d;cursor:pointer;font-size:1rem;margin-bottom:-2px;padding:.75rem 1.5rem;transition:all .2s}.tab:hover{color:#2c3e50}.tab-active{border-bottom-color:#3498db;color:#3498db;font-weight:600}.tab-content{min-height:300px}.tournament-detail.has-sticky-bar{padding-bottom:5rem}.sticky-action-bar{align-items:center;background:#fff;border-top:2px solid #e0e0e0;bottom:0;box-shadow:0 -2px 12px #00000014;display:flex;justify-content:space-between;left:0;padding:.875rem 2rem;position:fixed;right:0;z-index:200}.sticky-action-bar-info{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.sticky-action-bar-icon{font-size:1rem}.sticky-action-bar-icon--ready{color:#27ae60;font-weight:700}.sticky-action-bar-label{color:#2c3e50;font-size:.95rem;font-weight:600}.sticky-action-bar-label--ready{color:#27ae60}.sticky-action-bar-hint{color:#7f8c8d;font-size:.9rem}.sticky-action-bar-buttons{display:flex;flex-shrink:0;gap:.75rem}.sticky-action-bar-btn{flex-shrink:0}.sticky-action-bar-btn:disabled{cursor:not-allowed;opacity:.45}.sticky-action-bar--final{background:#fffdf5;border-top-color:#f39c12}.delete-confirm-overlay{align-items:center;background:#0000008c;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.delete-confirm-modal{background:#fff;border-radius:8px;box-shadow:0 8px 32px #00000040;max-width:440px;overflow:hidden;width:90%}.delete-confirm-header{border-bottom:1px solid #f0f0f0;padding:1.25rem 1.5rem 1rem}.delete-confirm-header h2{color:#e74c3c;font-size:1.15rem;margin:0}.delete-confirm-body{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem}.delete-confirm-body p{color:#555;font-size:.9rem;line-height:1.5;margin:0}.delete-confirm-name-display{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;color:#2c3e50;font-size:.95rem;font-weight:700;padding:.4rem .75rem}.delete-confirm-label{color:#555;font-size:.85rem;font-weight:500}.delete-confirm-input{border:1px solid #ced4da;border-radius:4px;box-sizing:border-box;color:#2c3e50;font-size:.95rem;padding:.5rem .75rem;width:100%}.delete-confirm-input:focus{border-color:#e74c3c;box-shadow:0 0 0 2px #e74c3c26;outline:none}.delete-confirm-actions{background:#fafafa;border-top:1px solid #f0f0f0;display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.modal-overlay{align-items:center;animation:fadeIn .2s ease-in-out;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease-out;background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;max-height:90vh;max-width:800px;overflow-y:auto;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;border-radius:8px 8px 0 0;display:flex;justify-content:space-between;padding:1.5rem 2rem}.modal-header h2{color:#2c3e50;font-size:1.5rem;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:4px;color:#95a5a6;cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;padding:0;transition:background-color .2s,color .2s;width:32px}.close-button:hover{background-color:#e0e0e0;color:#2c3e50}.global-player-form{padding:2rem}.form-section{border-bottom:1px solid #e0e0e0;margin-bottom:2rem;padding-bottom:1.5rem}.form-section:last-of-type{border-bottom:none}.form-section h3{border-left:4px solid #3498db;color:#34495e;font-size:1.1rem;font-weight:600;margin:0 0 1.5rem;padding-left:1rem}.form-row{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr;margin-bottom:1.5rem}.form-group{display:flex;flex-direction:column}.form-group:last-child{margin-bottom:0}.form-group label{color:#555;font-size:.9rem}.form-group input,.form-group select{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.form-group input.error{border-color:#e74c3c}.form-group input.error:focus{box-shadow:0 0 0 3px #e74c3c1a}.error-message{color:#e74c3c;display:block;font-size:.85rem;margin-top:.25rem}.form-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1.5rem}.btn{border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:background-color .2s,transform .1s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background-color:#27ae60;color:#fff}.btn-primary:hover:not(:disabled){background-color:#229954}.btn-secondary{background-color:#95a5a6;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#7f8c8d}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#f1f1f1}.modal-content::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width:768px){.modal-content{max-height:95vh;width:95%}.modal-header{padding:1rem 1.5rem}.global-player-form{padding:1.5rem}.form-row{gap:1rem;grid-template-columns:1fr}.form-section h3{font-size:1rem}.form-actions{flex-direction:column}.btn{width:100%}}.fide-import-monitor{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.monitor-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.monitor-header h2{color:#333;margin:0}.btn-trigger{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px}.btn-trigger:hover:not(:disabled){background:#0056b3}.btn-trigger:disabled{background:#ccc;cursor:not-allowed}.error-message{background:#fee;border:1px solid #fcc;color:#c33;margin-bottom:20px;padding:12px}.running-indicator{align-items:center;background:#e7f3ff;border:1px solid #b3d9ff;border-radius:4px;display:flex;gap:10px;margin-bottom:20px;padding:12px}.spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;height:20px;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.jobs-list{margin-top:30px}.jobs-list h3{color:#333;margin-bottom:15px}.no-jobs{color:#999;padding:40px;text-align:center}.jobs-table{border-collapse:collapse;font-size:14px;width:100%}.jobs-table th{background:#f8f9fa;border-bottom:2px solid #dee2e6;color:#555;font-weight:600;padding:12px 8px;text-align:left}.jobs-table td{border-bottom:1px solid #dee2e6;padding:12px 8px}.jobs-table tbody tr:hover{background:#f8f9fa}.status-badge,.trigger-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:4px 8px;text-transform:uppercase}.status-completed{background:#d4edda;color:#155724}.status-running{background:#d1ecf1;color:#0c5460}.status-failed{background:#f8d7da;color:#721c24}.status-pending{background:#fff3cd;color:#856404}.trigger-scheduled{background:#e7e7ff;color:#4040c0}.trigger-manual{background:#ffe7e7;color:#c04040}.progress-bar{background:#e9ecef;border-radius:10px;height:20px;overflow:hidden;width:100px}.progress-fill{align-items:center;background:linear-gradient(90deg,#007bff,#0056b3);color:#fff;display:flex;font-size:11px;height:100%;justify-content:center;transition:width .3s ease}.job-results{display:flex;gap:8px}.result-success{color:#28a745;font-weight:500}.result-error{color:#dc3545;font-weight:500}.error-details{color:#dc3545;cursor:help;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-player-manager{margin:0 auto;max-width:1400px;padding:2rem}.global-player-manager h1{color:#2c3e50;margin-bottom:2rem}.gpm-search-section{background:#fff;border:1px solid #e8ecef;border-radius:8px;box-shadow:0 1px 3px #0000000f;margin-bottom:1.5rem;padding:1.25rem 1.5rem}.gpm-search-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.875rem}.gpm-db-count{color:#2c3e50;font-size:.95rem;font-weight:600}.search-input-wrap{align-items:center;background:#fff;border:1.5px solid #d0d7de;border-radius:8px;display:flex;gap:.6rem;padding:0 .875rem;transition:border-color .15s,box-shadow .15s}.search-input-wrap:focus-within{border-color:#3498db;box-shadow:0 0 0 3px #3498db26}.search-icon{color:#8e9daa;flex-shrink:0;height:16px;pointer-events:none;width:16px}.search-input-wrap:focus-within .search-icon{color:#3498db}.search-input{background:#0000;border:none;color:#2c3e50;flex:1 1;font-size:.95rem;outline:none;padding:.75rem 0}.search-input::placeholder{color:#aab4bd;font-weight:400}.search-results-count{color:#95a5a6;flex-shrink:0;font-size:.8rem;white-space:nowrap}.gpm-clear-btn{background:none;border:none;color:#95a5a6;cursor:pointer;flex-shrink:0;font-size:1.2rem;line-height:1;padding:0 .25rem}.gpm-clear-btn:hover{color:#2c3e50}.gpm-import-section{margin-bottom:1.5rem}.gpm-search-results{background:#fafbfc;border:1px solid #e8ecef;border-radius:6px;height:420px;margin-top:.75rem;overflow-y:auto}.gpm-search-results,.players-list{display:flex;flex-direction:column}.players-list{gap:2px;padding:.5rem}.player-row{align-items:center;background:#fff;border:1px solid #e8ecef;border-radius:6px;display:flex;gap:1rem;padding:.6rem .75rem;transition:background .15s,border-color .15s;-webkit-user-select:none;user-select:none}.player-row--admin{cursor:pointer}.player-row--admin:hover{background:#f0f7ff;border-color:#3498db;box-shadow:0 1px 4px #3498db26}.player-row__name{color:#2c3e50;flex-shrink:0;font-size:.925rem;font-weight:600;min-width:180px}.player-row__badges{display:flex;flex:1 1;flex-wrap:wrap;gap:.4rem}.badge{border-radius:3px;font-size:.775rem;font-weight:500;padding:.1rem .45rem;white-space:nowrap}.badge--rating{background:#fff3e0;color:#e65100}.badge--fide{background:#e3f2fd;color:#1565c0}.badge--category{background:#f3e5f5;color:#6a1b9a}.badge--country{background:#e8eaf6;color:#283593;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.badge--city{background:#f1f8e9;color:#558b2f}.player-row__actions{display:flex;flex-shrink:0;gap:.4rem;margin-left:auto}.empty-message{border:2px dashed #cbd5e0;border-radius:6px;color:#5a6c7d;display:flex;font-size:1.125rem;height:100%;margin:0;text-align:center}.btn-edit,.empty-message{align-items:center;justify-content:center}.btn-edit{background:#0000;border:none;border-radius:6px;color:#2c3e50;cursor:pointer;display:inline-flex;height:28px;padding:0;transition:background-color .15s ease,color .15s ease;width:28px}.btn-edit svg{fill:none;stroke:currentColor;height:16px;overflow:visible;width:16px}.btn-edit:hover{background:#00000014}.btn-edit--danger:hover{background:#e74c3c1a;color:#e74c3c}.error-message{background-color:#ffebee;border-left:4px solid #c62828;border-radius:4px;color:#c62828;margin-bottom:1rem;padding:1rem}.loading{color:#7f8c8d;font-size:1.2rem;padding:2rem;text-align:center}.app-footer{background-color:#f8f9fa;border-top:1px solid #dee2e6;color:#6c757d;font-size:.75rem;padding:8px 20px}.footer-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.footer-copyright{line-height:14px}.footer-tagline{align-items:center;color:#6c757d;display:inline-flex;font-size:.75rem;gap:5px}.footer-swiss-flag{border-radius:2px;flex-shrink:0;height:13px;width:13px}.footer-separator{color:#adb5bd;-webkit-user-select:none;user-select:none}.footer-actions{gap:10px}.footer-actions,.footer-info-wrap{align-items:center;display:inline-flex}.footer-info-wrap{position:relative}.footer-info-icon{color:#adb5bd;cursor:default;height:14px;transition:color .15s;width:14px}.footer-info-wrap:hover .footer-info-icon{color:#6c757d}.footer-info-tooltip{background:#2c3e50;border-radius:6px;bottom:calc(100% + 8px);box-shadow:0 4px 12px #00000026;color:#ecf0f1;display:none;flex-direction:column;font-size:.75rem;gap:2px;line-height:1.7;padding:8px 12px;white-space:nowrap;z-index:100}.footer-info-tooltip,.footer-info-tooltip:after{left:50%;position:absolute;transform:translateX(-50%)}.footer-info-tooltip:after{border:5px solid #0000;border-top-color:#2c3e50;content:"";top:100%}.footer-info-wrap:hover .footer-info-tooltip{display:flex}.footer-info-tooltip strong{color:#fff}.lang-switcher{align-items:center;display:inline-flex;gap:4px}.lang-sep{color:#adb5bd;-webkit-user-select:none;user-select:none}.lang-btn{background:none;border:none;color:#6c757d;cursor:pointer;font-size:.75rem;font-weight:400;line-height:1;padding:0 2px}.lang-btn:hover{color:#495057;text-decoration:underline}.lang-btn.active{color:#495057;font-weight:600}@media (prefers-color-scheme:dark){.app-footer{background-color:#212529;border-top-color:#495057}.app-footer,.footer-tagline{color:#adb5bd}.footer-info-icon{color:#6c757d}.footer-info-wrap:hover .footer-info-icon{color:#adb5bd}}.auth-form{max-width:400px;width:100%}.auth-form h2{color:#333;font-size:1.5rem;margin:0 0 1.5rem;text-align:center}.auth-form p{color:#666;text-align:center}.auth-form p,.form-group{margin-bottom:1rem}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.form-group input{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:1rem;padding:.75rem;transition:border-color .2s,box-shadow .2s;width:100%}.form-group input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.form-hint{color:#888;display:block;font-size:.8rem;margin-top:.25rem}.auth-form .btn{border:none;border-radius:4px;cursor:pointer;font-size:1rem;margin-top:.5rem;padding:.75rem;transition:background-color .2s;width:100%}.auth-form .btn-primary{background-color:#3498db;color:#fff}.auth-form .btn-primary:hover:not(:disabled){background-color:#2980b9}.auth-form .btn-primary:disabled{background-color:#bdc3c7;cursor:not-allowed}.auth-form .btn-secondary{background-color:#95a5a6;color:#fff;margin-top:1rem}.auth-form .btn-secondary:hover{background-color:#7f8c8d}.auth-error{background-color:#fee;border:1px solid #fcc;border-radius:4px;color:#c00}.auth-error,.auth-success{font-size:.9rem;margin-bottom:1rem;padding:.75rem}.auth-success{background-color:#efe;border:1px solid #cfc;border-radius:4px;color:#080}.auth-links{margin-top:1.5rem;text-align:center}.auth-links p{color:#666;margin:0}.link-button{background:none;border:none;color:#3498db;cursor:pointer;font-size:inherit;padding:0;text-decoration:underline}.link-button:hover{color:#2980b9}.auth-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.auth-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-height:90vh;max-width:450px;overflow-y:auto;padding:2rem;position:relative;width:90%}.auth-modal-close{background:none;border:none;color:#999;cursor:pointer;font-size:1.75rem;line-height:1;padding:0;position:absolute;right:.75rem;top:.5rem}.auth-modal-close:hover{color:#333}.user-menu{position:relative}.user-menu-button{align-items:center;background:none;border:none;border-radius:4px;cursor:pointer;display:flex;gap:.5rem;padding:.5rem;transition:background-color .2s}.user-menu-button:hover{background-color:#ffffff1a}.user-avatar{align-items:center;background-color:#3498db;border-radius:50%;color:#fff;display:flex;font-size:.9rem;font-weight:700;height:32px;justify-content:center;width:32px}.user-name{color:#fff;font-weight:500}.dropdown-arrow{color:#fff;font-size:.6rem}.user-menu-dropdown{background:#fff;border-radius:4px;box-shadow:0 2px 10px #00000026;margin-top:.5rem;min-width:200px;position:absolute;right:0;top:100%;z-index:100}.user-menu-header{display:flex;flex-direction:column;gap:.25rem;padding:1rem}.user-menu-header strong{color:#333}.user-email{color:#666;font-size:.85rem}.user-menu-divider{background-color:#eee;height:1px}.user-menu-item{background:none;border:none;color:#333;cursor:pointer;font-size:.9rem;padding:.75rem 1rem;text-align:left;transition:background-color .2s;width:100%}.user-menu-item:hover{background-color:#f5f5f5}.user-menu-item:last-child{border-radius:0 0 4px 4px}.feedback-modal-content{display:flex;flex-direction:column;max-width:520px;min-width:320px;width:100%}.modal-close{align-items:center;background:none;border:none;border-radius:6px;color:#9aa5b4;cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:32px;justify-content:center;line-height:1;transition:color .15s,background .15s;width:32px}.modal-close:hover{background:#f0f3f7;color:#2c3e50}.feedback-form{display:flex;flex-direction:column;gap:1rem;padding:1.25rem 1.75rem}.feedback-field-group{display:flex;flex-direction:column;gap:.3rem}.feedback-field-group label{color:#4a5568;font-size:.78rem;font-weight:600}.feedback-field-group input,.feedback-field-group textarea{background:#fff;border:1.5px solid #d1d9e8;border-radius:6px;box-sizing:border-box;color:#2c3e50;font-family:inherit;font-size:.9rem;padding:.48rem .72rem;resize:vertical;transition:border-color .15s,box-shadow .15s;width:100%}.feedback-field-group input:focus,.feedback-field-group textarea:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db26;outline:none}.feedback-actions{background:#f8fafc;border-top:1px solid #e8ecf2;display:flex;gap:.65rem;justify-content:flex-end;padding:.875rem 1.75rem 1.125rem}.feedback-btn-primary{background-color:#2980b9;border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.55rem 1.375rem;transition:background-color .15s,opacity .15s}.feedback-btn-primary:hover:not(:disabled){background-color:#2471a3}.feedback-btn-primary:disabled{cursor:not-allowed;opacity:.55}.feedback-btn-secondary{background-color:#f0f3f7;border:1px solid #d1d9e8;border-radius:7px;color:#2c3e50;cursor:pointer;font-size:.9rem;font-weight:600;padding:.55rem 1.375rem;transition:background-color .15s}.feedback-btn-secondary:hover:not(:disabled){background-color:#e2e8f0}.feedback-btn-secondary:disabled{cursor:not-allowed;opacity:.55}.feedback-type-group{display:flex;flex-direction:column;gap:.4rem}.feedback-type-group>label{color:#4a5568;font-size:.78rem;font-weight:600}.feedback-type-options{display:flex;gap:.75rem}.feedback-type-option{align-items:center;background:#f8fafc;border:1.5px solid #d1d9e8;border-radius:6px;color:#4a5568;cursor:pointer;display:flex;font-size:.875rem;gap:.4rem;padding:.45rem 1rem;transition:border-color .15s,background .15s,color .15s;-webkit-user-select:none;user-select:none}.feedback-type-option input[type=radio]{accent-color:#2980b9;margin:0;width:auto}.feedback-type-option.active{background:#ebf5fb;border-color:#3498db;color:#1a5276;font-weight:600}.feedback-type-option:hover{background:#f0f4f8;border-color:#a8b8cc}.feedback-error{background-color:#fdf0ef;border:1px solid #f5c6c0;border-radius:6px;color:#c0392b;font-size:.875rem;padding:.6rem .875rem}.feedback-success{flex-direction:column;gap:1rem;padding:2.5rem 1.75rem;text-align:center}.feedback-success,.feedback-success-icon{align-items:center;display:flex;justify-content:center}.feedback-success-icon{background:#27ae60;border-radius:50%;color:#fff;font-size:1.75rem;height:52px;width:52px}.feedback-success p{color:#2c3e50;font-size:1rem;margin:0}@media (max-width:560px){.feedback-modal-content{min-width:0;min-width:auto}.feedback-form{padding:1rem}.feedback-type-options{flex-direction:column}}.feedback-fab{align-items:center;background-color:#2c3e50;border:none;border-radius:999px;bottom:1.5rem;box-shadow:0 4px 12px #00000040;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.6rem 1.1rem .6rem .85rem;position:fixed;right:1.5rem;transition:background-color .2s,box-shadow .2s,transform .15s;white-space:nowrap;z-index:900}body.has-sticky-bar .feedback-fab{bottom:5.5rem}.feedback-fab:hover{background-color:#34495e;box-shadow:0 6px 18px #0000004d;transform:translateY(-1px)}.feedback-fab:active{box-shadow:0 3px 8px #0003;transform:translateY(0)}.feedback-fab-icon{flex-shrink:0;height:18px;width:18px}@media (max-width:480px){.feedback-fab-label{display:none}.feedback-fab{border-radius:50%;padding:.7rem}.feedback-fab-icon{height:20px;width:20px}}.admin-menu{position:relative}.admin-menu-button{align-items:center;background:none;border:none;cursor:pointer;display:flex;font-size:1rem;gap:.4rem}.admin-menu-arrow{font-size:.6rem;opacity:.8}.admin-menu-dropdown{background:#fff;border-radius:4px;box-shadow:0 2px 10px #00000026;left:0;margin-top:.5rem;min-width:180px;overflow:hidden;position:absolute;top:100%;z-index:100}.admin-menu-item{color:#333;display:block;font-size:.9rem;padding:.75rem 1rem;text-decoration:none;transition:background-color .15s;white-space:nowrap;width:100%}.admin-menu-item:hover{background-color:#f5f5f5;color:#333}.admin-menu-item.active{background-color:#ebf5fb;color:#1a5276;font-weight:600}.feedback-review{padding:2rem}.feedback-review-empty{color:#6c757d;font-style:italic;margin-top:1rem}.feedback-review-table-wrapper{margin-top:1rem;overflow-x:auto}.feedback-review-table{min-width:700px}.feedback-review-table th{white-space:nowrap}.feedback-type-badge{border-radius:999px;display:inline-block;font-size:.78rem;font-weight:600;padding:.2rem .6rem;white-space:nowrap}.feedback-type-badge--bug{background-color:#fdecea;color:#c0392b}.feedback-type-badge--suggestion{background-color:#ebf5fb;color:#1a5276}.feedback-review-title{font-weight:500;min-width:140px}.feedback-review-description{color:#495057;font-size:.875rem;line-height:1.5;max-width:380px;min-width:240px}.feedback-review-toggle{background:none;border:none;color:#2980b9;cursor:pointer;display:inline;font-size:.8rem;margin-left:.4rem;padding:0;text-decoration:underline}.feedback-review-toggle:hover{color:#1a5276}.feedback-review-email{font-size:.875rem;white-space:nowrap}.feedback-review-email a{color:#2980b9;text-decoration:none}.feedback-review-email a:hover{text-decoration:underline}.feedback-review-date{color:#6c757d;font-size:.8rem;white-space:nowrap}
/*# sourceMappingURL=main.7313a99d.css.map*/