:root{--primary-color: #2563eb;--primary-hover: #1d4ed8;--secondary-color: #64748b;--success-color: #10b981;--warning-color: #f59e0b;--error-color: #ef4444;--background-color: #f8fafc;--surface-color: #ffffff;--text-primary: #1e293b;--text-secondary: #64748b;--border-color: #e2e8f0;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--background-color);color:var(--text-primary);font-size:var(--font-size-base);line-height:1.5;min-width:320px}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}@media(min-width:768px){.container{padding:0 var(--spacing-lg)}}.card{background:var(--surface-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}@media(min-width:768px){.card{padding:var(--spacing-xl)}}.btn{display:inline-block;padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base);font-weight:500;text-align:center;text-decoration:none;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover)}.btn-secondary{background-color:var(--secondary-color);color:#fff}.btn-success{background-color:var(--success-color);color:#fff}.btn-warning{background-color:var(--warning-color);color:#fff}.btn-danger{background-color:var(--error-color);color:#fff}.btn-danger:hover:not(:disabled){background-color:#dc2626}.btn-block{display:block;width:100%}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;margin-bottom:var(--spacing-sm);font-weight:500;color:var(--text-primary)}.form-input,.form-select,textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--surface-color);transition:border-color .2s;font-family:inherit}.form-input:focus,.form-select:focus,textarea:focus{outline:none;border-color:var(--primary-color)}h1{font-size:var(--font-size-2xl);font-weight:700;margin-bottom:var(--spacing-lg)}h2{font-size:var(--font-size-xl);font-weight:600;margin-bottom:var(--spacing-md)}h3{font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--spacing-md)}@media(min-width:768px){h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}}.grid{display:grid;gap:var(--spacing-lg)}@media(min-width:768px){.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}}.alert-success{background-color:#d1fae5;color:#065f46;border:1px solid #10b981}.alert-error{background-color:#fee2e2;color:#991b1b;border:1px solid #ef4444}.alert-info{background-color:#dbeafe;color:#1e40af;border:1px solid #3b82f6}.spinner{display:inline-block;width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite}.table{width:100%;border-collapse:collapse;background:var(--surface-color);border-radius:var(--radius-lg);overflow:hidden}.table th,.table td{padding:var(--spacing-md);text-align:left;border-bottom:1px solid var(--border-color)}.table th{background-color:var(--background-color);font-weight:600;color:var(--text-primary)}.table tbody tr:hover{background-color:var(--background-color)}@media(max-width:767px){.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}}.badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);font-weight:600;border-radius:var(--radius-sm);text-transform:uppercase}.badge-success{background-color:#d1fae5;color:#065f46}.badge-warning{background-color:#fef3c7;color:#92400e}.badge-info{background-color:#dbeafe;color:#1e40af}.text-center{text-align:center}.text-right{text-align:right}.mt-1{margin-top:var(--spacing-sm)}.mt-2{margin-top:var(--spacing-md)}.mt-3{margin-top:var(--spacing-lg)}.mt-4{margin-top:var(--spacing-xl)}.mb-1{margin-bottom:var(--spacing-sm)}.mb-2{margin-bottom:var(--spacing-md)}.mb-3{margin-bottom:var(--spacing-lg)}.mb-4{margin-bottom:var(--spacing-xl)}.p-1{padding:var(--spacing-sm)}.p-2{padding:var(--spacing-md)}.p-3{padding:var(--spacing-lg)}.p-4{padding:var(--spacing-xl)}.language-switcher{display:flex;gap:.25rem;align-items:center}.lang-btn{padding:.5rem .75rem;border:1px solid var(--border-color);background-color:var(--surface-color);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease}.lang-btn:hover{background-color:var(--hover-color);color:var(--text-primary);border-color:var(--primary-color)}.lang-btn.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.lang-btn:focus{outline:2px solid var(--primary-color);outline-offset:2px}.home{padding:var(--spacing-xl) 0;min-height:100vh}.language-switcher-container{display:flex;justify-content:flex-end;margin-bottom:var(--spacing-md)}.hero{text-align:center;padding:var(--spacing-xl) 0;margin-bottom:var(--spacing-xl)}.hero h1{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-md)}.hero-subtitle{font-size:var(--font-size-lg);color:var(--text-secondary);margin-bottom:var(--spacing-xl)}.action-cards{max-width:800px;margin:0 auto var(--spacing-xl)}.action-card{text-decoration:none;color:inherit;display:block;transition:transform .2s}.action-card:hover{transform:translateY(-4px)}.action-card .card{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-xl)}.action-card h2{margin-bottom:var(--spacing-md)}.action-card p{color:var(--text-secondary);margin-bottom:var(--spacing-lg)}.features{margin-top:var(--spacing-xl);padding-top:var(--spacing-xl)}.features h2{margin-bottom:var(--spacing-xl)}.feature-grid .card{text-align:center}.feature-grid h3{color:var(--primary-color);margin-bottom:var(--spacing-sm)}.feature-grid p{color:var(--text-secondary);font-size:var(--font-size-sm)}@media(max-width:767px){.hero h1{font-size:var(--font-size-2xl)}.hero-subtitle{font-size:var(--font-size-base)}.action-cards,.feature-grid{grid-template-columns:1fr}}.admin-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:var(--spacing-md);position:relative;overflow:hidden}.admin-login-page:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 1px,transparent 1px);background-size:50px 50px;animation:moveBackground 20s linear infinite;pointer-events:none}@keyframes moveBackground{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.admin-login-container{width:100%;max-width:480px;position:relative;z-index:1}.admin-login-card{background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 20px 60px #0000004d,0 0 1px #ffffff80;padding:3rem;border:1px solid rgba(255,255,255,.2);transition:transform .3s ease,box-shadow .3s ease}.admin-login-card:hover{transform:translateY(-5px);box-shadow:0 25px 70px #0006,0 0 1px #ffffff80}.admin-login-header{text-align:center;margin-bottom:2.5rem}.admin-login-header h1{margin:0 0 .5rem;color:#1a202c;font-size:2rem;font-weight:700;letter-spacing:-.5px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.admin-login-subtitle{margin:0;color:#718096;font-size:.95rem;font-weight:500}.admin-login-form{display:flex;flex-direction:column;gap:1.5rem}.admin-login-form .form-group{position:relative}.admin-login-form .form-group label{font-weight:600;color:#2d3748;margin-bottom:.5rem;display:block;font-size:.9rem;letter-spacing:.3px}.admin-login-form .form-control{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:1rem;transition:all .3s ease;background:#f7fafc}.admin-login-form .form-control:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a;transform:translateY(-1px)}.admin-login-form .form-control:disabled{opacity:.6;cursor:not-allowed}.admin-login-form .btn-lg{padding:1rem;font-size:1.05rem;font-weight:600;border-radius:10px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;transition:all .3s ease;box-shadow:0 4px 15px #667eea66;margin-top:.5rem}.admin-login-form .btn-lg:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.admin-login-form .btn-lg:active:not(:disabled){transform:translateY(0)}.admin-login-form .btn-lg:disabled{opacity:.7;cursor:not-allowed}.admin-login-form .spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;margin-right:.5rem;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.admin-login-footer{margin-top:2rem;text-align:center;padding-top:1.5rem;border-top:1px solid #e2e8f0}.admin-login-footer p{margin:0;font-size:.9rem;color:#718096}.admin-login-footer .link{color:#667eea;text-decoration:none;font-weight:600;transition:all .2s ease;position:relative}.admin-login-footer .link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:#667eea;transition:width .3s ease}.admin-login-footer .link:hover{color:#764ba2}.admin-login-footer .link:hover:after{width:100%}.admin-login-form .alert-error{background:#fff5f5;border:1px solid #feb2b2;color:#c53030;padding:.875rem 1rem;border-radius:10px;font-size:.9rem;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:767px){.admin-login-card{padding:2rem 1.5rem;border-radius:16px}.admin-login-header h1{font-size:1.75rem}.admin-login-form{gap:1.25rem}}.create-tournament h2{margin-bottom:var(--spacing-lg)}.form-help{display:block;margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--text-secondary)}@media(max-width:767px){.create-tournament .grid-2{grid-template-columns:1fr}}.tournament-list h2{margin-bottom:var(--spacing-lg)}.btn-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm)}@media(max-width:767px){.tournament-list .table{font-size:var(--font-size-sm)}.tournament-list th,.tournament-list td{padding:var(--spacing-sm)}}.edit-tournament-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md)}.edit-tournament-modal{background:#fff;border-radius:var(--radius-lg);width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--border-color)}.modal-header h2{margin:0;color:var(--text-primary)}.close-btn{background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all .2s ease}.close-btn:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.modal-body{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.modal-footer{padding:var(--spacing-lg);border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:var(--spacing-md)}.settings-section,.participants-section,.groups-section{margin-bottom:var(--spacing-xl)}.settings-section h3,.participants-section h3,.groups-section h3{margin:0 0 var(--spacing-lg) 0;color:var(--primary-color);font-size:1.25rem}.participants-section h4{margin:var(--spacing-lg) 0 var(--spacing-md) 0;color:var(--text-primary);font-size:1rem}.participants-list{margin-bottom:var(--spacing-lg);background:var(--bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-md);max-height:300px;overflow-y:auto}.participants-list ul{list-style:none;padding:0;margin:0}.participant-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-xs);background:var(--bg-primary);border-radius:var(--radius-md);border:1px solid var(--border-color)}.participant-item:last-child{margin-bottom:0}.participant-item span{color:var(--text-primary);font-weight:500}.no-data{text-align:center;color:var(--text-secondary);padding:var(--spacing-lg);font-style:italic}.add-participants{background:var(--bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-lg)}.add-participants textarea{margin-bottom:var(--spacing-sm)}.add-participants .form-help{display:block;margin-bottom:var(--spacing-md);font-size:.875rem;color:#666;line-height:1.5}.alert{padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.alert-error{background-color:#ef44441a;color:var(--error-color);border:1px solid var(--error-color)}.alert-success{background-color:#22c55e1a;color:var(--success-color);border:1px solid var(--success-color)}.groups-section .section-description{color:var(--text-secondary);margin-bottom:var(--spacing-md);font-size:.95rem}.groups-list{margin-bottom:var(--spacing-lg);background:var(--bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-md)}.group-item{display:flex;align-items:center;padding:var(--spacing-md);margin-bottom:var(--spacing-sm);background:var(--bg-primary);border-radius:var(--radius-md);border:2px solid var(--border-color);cursor:move;transition:all .2s ease;-webkit-user-select:none;user-select:none}.group-item:last-child{margin-bottom:0}.group-item:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #0000001a}.group-item.dragging{opacity:.4;transform:scale(.98)}.group-item.drag-over{border-color:var(--primary-color);background-color:#3b82f60d}.group-handle{font-size:1.5rem;color:var(--text-secondary);margin-right:var(--spacing-md);cursor:grab}.group-handle:active{cursor:grabbing}.group-content{flex:1}.group-content strong{display:block;color:var(--text-primary);margin-bottom:var(--spacing-xs);font-size:1rem}.pair-badge{display:inline-block;background-color:var(--info-color-light, #e0f2fe);color:var(--info-color, #0369a1);padding:4px 10px;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500}.pairing-info{margin-top:var(--spacing-md);padding:var(--spacing-md);background-color:var(--bg-secondary);border-radius:var(--radius-md);border-left:4px solid var(--primary-color)}.pairing-info small{color:var(--text-secondary);font-size:.875rem;line-height:1.5}.drop-indicator{position:relative;height:40px;margin:8px 0;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}.drop-indicator-line{position:absolute;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent 0%,var(--primary-color) 20%,var(--primary-color) 80%,transparent 100%);border-radius:2px;box-shadow:0 0 8px #3b82f680}.drop-indicator-text{position:relative;background-color:var(--primary-color);color:#fff;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;z-index:1;box-shadow:0 2px 8px #3b82f666;text-transform:uppercase;letter-spacing:.5px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.organizer-dashboard{padding:var(--spacing-xl) 0;min-height:100vh}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);flex-wrap:wrap;gap:var(--spacing-md)}.dashboard-header h1{margin-bottom:0}.header-actions{display:flex;gap:var(--spacing-md);align-items:center}@media(max-width:767px){.dashboard-header{flex-direction:column;align-items:stretch}.header-actions{flex-direction:column;width:100%}.dashboard-header .btn{width:100%}}.table-assignment-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md)}.table-assignment-modal{background:var(--surface-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:700px;width:100%;max-height:90vh;display:flex;flex-direction:column}.table-assignment-header{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--spacing-lg);border-bottom:1px solid var(--border-color)}.table-assignment-header h2{margin:0 0 var(--spacing-xs) 0}.assignment-subtitle{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary)}.table-assignment-content{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.table-number-card{text-align:center;padding:var(--spacing-xl);background:linear-gradient(135deg,var(--primary-color),#1d4ed8);color:#fff;border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg)}.table-label{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:1px;opacity:.9;margin-bottom:var(--spacing-xs)}.table-number{font-size:2.5rem;font-weight:700;margin-bottom:var(--spacing-xs)}.match-info{font-size:var(--font-size-base);opacity:.9}.assignment-details{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--spacing-lg);align-items:center;margin-bottom:var(--spacing-lg)}.seat-orientation-card{margin-bottom:var(--spacing-lg);padding:var(--spacing-lg);background:var(--background-color);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.seat-orientation-card h3{margin-top:0;color:var(--text-primary)}.seat-orientation-row{display:flex;justify-content:space-between;gap:var(--spacing-sm);flex-wrap:wrap;margin-top:var(--spacing-sm)}.team-section h3{text-align:center;margin-bottom:var(--spacing-md);font-size:var(--font-size-base);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.team-card{padding:var(--spacing-lg);border-radius:var(--radius-lg);border:2px solid var(--border-color);text-align:center}.my-team{background-color:#dbeafe;border-color:var(--primary-color)}.opponent-team{background-color:#fee2e2;border-color:var(--error-color)}.group-badge{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);margin-bottom:var(--spacing-md)}.pair-display{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.player-name{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary)}.pair-separator{font-size:var(--font-size-sm);color:var(--text-secondary);display:inline-block}.team-score{font-size:var(--font-size-sm);color:var(--text-secondary)}.team-score strong{font-size:var(--font-size-base);color:var(--text-primary)}.other-tables{margin-top:var(--spacing-lg);background-color:var(--background-color);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.other-tables-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-md)}.other-table-item{padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--surface-color);display:flex;flex-direction:column;gap:var(--spacing-xs)}.table-pairs{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;font-weight:500;color:var(--text-primary)}.my-pair,.opponent-pair{max-width:100%}.vs-separator{color:var(--text-secondary);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.5px}.table-scores{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--text-secondary);font-size:var(--font-size-sm)}.table-scores .score-label{font-weight:600}.table-scores .score-value{font-weight:700;color:var(--text-primary)}.vs-section{display:flex;align-items:center;justify-content:center}.vs-badge{width:60px;height:60px;border-radius:50%;background-color:var(--background-color);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);font-weight:700;color:var(--text-secondary);border:2px solid var(--border-color)}.mode-info{background-color:#fef3c7;border:1px solid var(--warning-color)}.mode-info h3{font-size:var(--font-size-base);margin-bottom:var(--spacing-sm)}.mode-info p{margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm)}.mode-info p:last-child{margin-bottom:0}.round-info{background-color:var(--background-color)}.round-info h3{margin-bottom:var(--spacing-md)}.table-assignment-footer{padding:var(--spacing-lg);border-top:1px solid var(--border-color)}@media(max-width:767px){.table-assignment-modal{max-height:95vh}.table-assignment-content{padding:var(--spacing-md)}.table-number{font-size:2rem}.assignment-details{grid-template-columns:1fr;gap:var(--spacing-md)}.vs-section{order:1}.vs-badge{width:100%;height:40px;border-radius:var(--radius-md)}}.score-submission-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md)}.score-submission-modal{background:var(--surface-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:640px;width:100%;max-height:90vh;display:flex;flex-direction:column}.score-submission-header{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--spacing-lg);border-bottom:1px solid var(--border-color)}.score-submission-header h2{margin:0 0 var(--spacing-xs) 0}.score-submission-content{flex:1;overflow-y:auto;padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-lg)}.opponent-card{padding:var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--background-color)}.scores-table-wrapper{overflow-x:auto}.scores-table{width:100%;border-collapse:collapse}.scores-table thead th{background-color:var(--background-color);font-weight:600;color:var(--text-secondary)}.scores-table th,.scores-table td{padding:var(--spacing-sm);text-align:center;border-bottom:1px solid var(--border-color)}.scores-table td:first-child{text-align:left}.score-input{width:70px;height:44px;text-align:center;font-size:var(--font-size-xl);font-weight:600;border:2px solid var(--border-color);border-radius:var(--radius-md);transition:all .2s}.score-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1f}.totals-row{display:grid;grid-template-columns:100px 1fr;gap:var(--spacing-md);align-items:center;padding:var(--spacing-md);background:var(--background-color);border-radius:var(--radius-md)}.total-label{font-weight:700;font-size:var(--font-size-lg);color:var(--text-primary)}.total-scores{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md)}.total-score{width:80px;height:60px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-2xl);font-weight:700;border-radius:var(--radius-md)}.score-separator{font-size:var(--font-size-2xl);font-weight:700;color:var(--text-secondary)}.auto-save-note{font-size:var(--font-size-sm)}.saving-indicator{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-secondary);font-size:var(--font-size-sm)}.spinner-inline{width:16px;height:16px;border:2px solid var(--primary-color);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.form-actions{display:flex;justify-content:flex-end}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mismatch-list{margin:var(--spacing-md) 0 0 0;padding:0;list-style:none}.mismatch-list li{margin-bottom:var(--spacing-sm);padding:var(--spacing-sm);background-color:#ffffff1a;border-radius:var(--radius-sm)}.mismatch-details{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-top:var(--spacing-xs);font-size:.9em}.mismatch-details .vs-text{font-weight:700;color:var(--error-color);text-align:center}@media(max-width:640px){.score-submission-modal{max-width:100%;max-height:100vh;border-radius:0}.score-submission-content{padding:var(--spacing-md)}.totals-row{grid-template-columns:1fr;text-align:center}}.participant-dashboard{padding:var(--spacing-xl) 0;min-height:100vh}.participant-dashboard .dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);flex-wrap:wrap;gap:var(--spacing-md)}.participant-dashboard .dashboard-header h1{margin-bottom:0}.action-buttons{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.participant-dashboard .card h2[style*="cursor: pointer"]{transition:background-color .2s ease;padding:var(--spacing-md);margin:calc(var(--spacing-md) * -1);margin-bottom:var(--spacing-md);border-radius:var(--radius-md) var(--radius-md) 0 0}.participant-dashboard .card h2[style*="cursor: pointer"]:hover{background-color:var(--background-color)}.participant-dashboard .card h2[style*="cursor: pointer"] span{display:inline-block;transition:transform .2s ease}.participant-dashboard .leaderboard-table{margin-bottom:0}.participant-dashboard .rank-col{width:80px;text-align:center}.participant-dashboard .group-col{width:100px;text-align:left}.participant-dashboard .pairs-col{min-width:200px;text-align:left}.participant-dashboard .record-col{width:130px;text-align:center}.participant-dashboard .score-col{width:80px;text-align:center}.participant-dashboard .tb-col{width:70px}.participant-dashboard .diff-col{width:90px;text-align:center}.participant-dashboard .round-col{width:70px}.participant-dashboard .total-col{width:90px;font-weight:700}.participant-dashboard .rank-badge{font-size:var(--font-size-xl);font-weight:700}.participant-dashboard .top-1{background-color:#fef3c7}.participant-dashboard .top-2{background-color:#e5e7eb}.participant-dashboard .top-3{background-color:#fed7aa}.participant-dashboard .participant-summary{background-color:#fef3c7;border-left:4px solid #f59e0b;padding:var(--spacing-md);margin-bottom:var(--spacing-lg);border-radius:var(--radius-md);font-size:var(--font-size-md);color:var(--text-primary)}.participant-dashboard .participant-summary .rank-highlight{color:#dc2626;font-size:var(--font-size-lg)}.participant-dashboard .summary-metrics{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-top:var(--spacing-sm)}.participant-dashboard .summary-metric{display:flex;align-items:baseline;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--text-secondary)}.participant-dashboard .participant-metric{color:var(--primary-color);font-weight:700}.participant-dashboard .participant-group{background-color:#3b82f626;border-left:4px solid var(--primary-color);font-weight:600}.participant-dashboard .participant-group.top-1,.participant-dashboard .participant-group.top-2,.participant-dashboard .participant-group.top-3{border-left:4px solid var(--primary-color)}.participant-dashboard .participant-group-name{color:#dc2626!important;font-weight:700}.participant-dashboard .participant-pair-name{color:#dc2626!important;font-weight:600}.participant-dashboard .pairs-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.participant-dashboard .pair-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm)}.participant-dashboard .participant-metric-cell{background-color:#3b82f61a;font-weight:700}.participant-dashboard .participant-score-text{color:var(--primary-color);font-weight:700}.participant-dashboard .pair-separator{color:var(--text-secondary)}.participant-dashboard .score-highlight{color:var(--success-color);font-weight:600}.participant-dashboard .total-score{font-size:var(--font-size-lg);color:var(--primary-color)}.participant-dashboard .diff-positive{color:var(--success-color);font-weight:600}.participant-dashboard .diff-negative{color:var(--error-color);font-weight:600}.participant-dashboard .current-round{background-color:#3b82f61a;font-weight:600}.participant-dashboard thead .current-round{background-color:var(--primary-color);color:#fff}.participant-dashboard .not-played{color:var(--text-secondary);opacity:.5}@media(max-width:767px){.participant-dashboard .dashboard-header{flex-direction:column;align-items:stretch}.participant-dashboard .dashboard-header .btn{width:100%}.participant-dashboard .grid-2{grid-template-columns:1fr}.action-buttons{flex-direction:column}.action-buttons .btn{width:100%}.participant-dashboard .leaderboard-table{font-size:var(--font-size-sm)}.participant-dashboard .rank-col{width:60px}.participant-dashboard .score-col{width:80px}.participant-dashboard .rank-badge{font-size:var(--font-size-lg)}}.participant-portal{padding:var(--spacing-xl) 0;min-height:100vh;display:flex;align-items:center}.login-container{max-width:500px;margin:0 auto}.login-card{text-align:center}.login-subtitle{color:var(--text-secondary);margin-bottom:var(--spacing-xl)}.login-card form{text-align:left}@media(max-width:767px){.participant-portal{padding:var(--spacing-md) 0}}.tournament-management{padding:var(--spacing-xl) 0;min-height:100vh}.management-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xl);flex-wrap:wrap;gap:var(--spacing-md)}.management-header h1{margin-bottom:var(--spacing-sm)}.tournament-meta{display:flex;gap:var(--spacing-md);align-items:center;flex-wrap:wrap}.meta-item{font-size:var(--font-size-sm);color:var(--text-secondary)}.info-grid{display:grid;gap:var(--spacing-md)}.info-item{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color)}.info-label{font-weight:500;color:var(--text-secondary)}.info-value{font-weight:600;color:var(--text-primary)}.action-buttons-vertical{display:flex;flex-direction:column;gap:var(--spacing-md)}.progress-section{margin-top:var(--spacing-md)}.participants-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-sm);margin-top:var(--spacing-md)}.participant-badge{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--background-color);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.participants-list{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.participant-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--background-color);border-radius:var(--radius-md);border:1px solid var(--border-color)}.participant-number{font-weight:600;color:var(--text-secondary);min-width:30px}.participant-display{display:flex;align-items:center;justify-content:space-between;flex:1;gap:var(--spacing-md)}.participant-name{flex:1;font-size:var(--font-size-base)}.participant-edit{display:flex;align-items:center;gap:var(--spacing-sm);flex:1}.participant-edit .form-input{flex:1;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-base)}.edit-actions{display:flex;gap:var(--spacing-xs)}.btn-link{background:none;border:none;color:var(--primary-color);text-decoration:underline;cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}.btn-link:hover{color:var(--primary-color-dark);background-color:var(--background-color)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}.card h2[style*="cursor: pointer"]{transition:background-color .2s ease;padding:var(--spacing-md);margin:calc(var(--spacing-md) * -1);margin-bottom:var(--spacing-md);border-radius:var(--radius-md) var(--radius-md) 0 0}.card h2[style*="cursor: pointer"]:hover{background-color:var(--background-color)}.card h2[style*="cursor: pointer"] span{display:inline-block;transition:transform .2s ease}.score-highlight{color:var(--success-color);font-weight:600;padding:2px 8px;background-color:#d1fae5;border-radius:var(--radius-sm)}.table tbody tr.top-1{background-color:#fef3c7}.table tbody tr.top-2{background-color:#e5e7eb}.table tbody tr.top-3{background-color:#fed7aa}@media(max-width:767px){.management-header{flex-direction:column;align-items:stretch}.management-header .btn{width:100%}.tournament-management .grid-2,.participants-grid{grid-template-columns:1fr}}.current-round-page{min-height:100vh;background:var(--bg-secondary);padding:var(--spacing-lg)}.current-round-page .container{max-width:1400px;margin:0 auto}.current-round-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-md)}.current-round-page .page-subtitle{color:var(--text-secondary);font-size:1rem;margin-top:var(--spacing-xs)}.matches-grid{display:grid;gap:var(--spacing-md)}.match-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-md)}.match-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--border-color)}.match-header h3{margin:0;color:var(--primary-color)}.match-status{font-size:.875rem}.match-groups{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--spacing-md);align-items:center}.match-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.group-label{font-weight:600;color:var(--text-primary);font-size:1.125rem;margin-bottom:var(--spacing-xs)}.group-pairs{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm);background:var(--bg-secondary);border-radius:var(--radius-sm)}.pair-info{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.9375rem}.player-name{font-weight:500}.pair-separator{color:var(--text-secondary);font-weight:600;display:inline-block}.vs-divider{font-size:1.5rem;font-weight:700;color:var(--primary-color);text-align:center;padding:0 var(--spacing-sm)}.group-score{margin-top:var(--spacing-sm);padding:var(--spacing-sm);background:var(--bg-tertiary);border-radius:var(--radius-sm)}.score-breakdown{display:flex;flex-direction:column;gap:var(--spacing-xs)}.current-score,.total-score-display{font-size:.9375rem;color:var(--text-secondary)}.score-highlight{color:var(--success-color);font-size:1.125rem}.tables-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-md)}.table-card{background:var(--bg-primary);border:2px solid var(--primary-color);border-radius:var(--radius-md);padding:var(--spacing-md);transition:transform .2s,box-shadow .2s}.table-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--border-color)}.table-number-badge{font-size:1.25rem;font-weight:700;color:var(--primary-color)}.table-meta{font-size:.875rem;color:var(--text-secondary)}.table-matchup{display:flex;flex-direction:row;align-items:flex-start;gap:var(--spacing-sm);justify-content:space-between}.seat-orientation-block{margin-top:var(--spacing-sm);padding:var(--spacing-sm);background:var(--bg-secondary);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:.85rem}.table-team{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1;min-width:0}.team-label{font-weight:600;color:var(--text-secondary);font-size:.75rem;text-align:center}.team-pair{display:flex;align-items:center;justify-content:center;gap:4px;padding:var(--spacing-xs);background:var(--bg-secondary);border-radius:var(--radius-sm);flex-wrap:wrap}.team-pair .player-name{font-size:.75rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-pair .pair-separator{font-size:.75rem}.team-score{text-align:center;font-size:1.125rem;font-weight:700;color:var(--primary-color);padding:var(--spacing-xs);background:var(--bg-tertiary);border-radius:var(--radius-sm);margin-top:2px}.table-vs{text-align:center;font-weight:700;color:var(--primary-color);padding:0;font-size:1.125rem;align-self:center;flex-shrink:0}.table-actions{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-color)}.table-status{margin-bottom:var(--spacing-sm)}.status-pill{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:999px;font-size:.875rem;font-weight:600;border:1px solid var(--border-color);background:var(--background-color);color:var(--text-secondary)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md)}.info-item{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm);background:var(--bg-secondary);border-radius:var(--radius-sm)}.info-label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.info-value{font-size:1.25rem;font-weight:700;color:var(--text-primary)}@media(max-width:768px){.current-round-page{padding:var(--spacing-md)}.match-groups{grid-template-columns:1fr;gap:var(--spacing-sm)}.vs-divider{padding:var(--spacing-sm) 0}.tables-grid{grid-template-columns:1fr}.table-matchup{gap:6px}.team-pair .player-name,.team-pair .pair-separator,.team-label{font-size:.7rem}.team-score,.table-vs{font-size:1rem}.info-grid{grid-template-columns:1fr}}.leaderboard-page{min-height:100vh;background-color:var(--background-color);padding:var(--spacing-xl) 0}.leaderboard-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xl);gap:var(--spacing-lg)}.leaderboard-page h1{margin:0;color:var(--text-primary)}.leaderboard-page .page-subtitle{margin:var(--spacing-xs) 0 0;color:var(--text-secondary);font-size:var(--font-size-lg)}.leaderboard-table{margin-bottom:0}.rank-col{width:80px;text-align:center}.group-col{width:100px;text-align:left}.pairs-col{min-width:200px;text-align:left}.record-col{width:110px;text-align:center;font-weight:600}.score-col{width:80px;text-align:center}.tb-col{width:70px;font-weight:600}.round-col{width:70px}.total-col{width:90px;font-weight:700}.rank-badge{font-size:var(--font-size-xl);font-weight:700}.top-1{background-color:#fef3c7}.top-2{background-color:#e5e7eb}.top-3{background-color:#fed7aa}.pairs-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.pair-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm)}.pair-separator{color:var(--text-secondary);display:inline-block}.score-highlight{color:var(--success-color);font-weight:600}.total-score{font-size:var(--font-size-lg);color:var(--primary-color)}.diff-col{width:90px}.diff-positive{color:var(--success-color);font-weight:600}.diff-negative{color:var(--error-color);font-weight:600}.current-round{background-color:#3b82f61a;font-weight:600}thead .current-round{background-color:var(--primary-color);color:#fff}.not-played{color:var(--text-secondary);opacity:.5}.table-scores-section{margin-top:var(--spacing-xl)}.table-scores-section h2{margin:0;color:var(--text-primary)}.table-scores-section.collapsed .table-scores-content{display:none}.table-scores-content{display:flex;flex-direction:column;gap:var(--spacing-xl)}.collapsible-header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm);border-bottom:2px solid var(--border-color);padding-bottom:var(--spacing-sm);margin-bottom:var(--spacing-md)}.round-section{margin-bottom:var(--spacing-lg)}.round-section .collapsible-header{border-bottom:none;margin-bottom:var(--spacing-sm);padding-bottom:0}.collapse-toggle{border:none;background:none;color:var(--primary-color);font-weight:600;cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);transition:background-color .2s}.collapse-toggle:hover{background-color:#3b82f61a}.round-section h3{margin:0 0 var(--spacing-md) 0;color:var(--primary-color);font-size:var(--font-size-lg);font-weight:600}.no-scores{padding:var(--spacing-md);border:1px dashed var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-style:italic}.no-table-info{margin-top:var(--spacing-sm);color:var(--text-secondary);font-size:var(--font-size-sm)}.matches-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--spacing-md)}.match-card{border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-md);background-color:#fff;box-shadow:0 1px 3px #0000001a}.match-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color)}.match-summary{font-weight:600;color:var(--primary-color)}.match-summary-label{font-size:var(--font-size-md)}.match-actions{display:flex;align-items:center}.match-toggle{border:none;background-color:var(--background-color);color:var(--primary-color);font-weight:600;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .2s}.match-toggle:hover{background-color:#3b82f61f}.pairs-info{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-secondary);flex-wrap:wrap}.group-pairs{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.pair-name{color:var(--text-secondary);font-size:var(--font-size-sm)}.vs-separator{font-weight:600;color:var(--text-primary);margin:0 var(--spacing-xs)}.match-tables{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-md)}.table-card{border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-md);background-color:var(--background-color)}.table-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.table-card-title{font-weight:600;color:var(--primary-color)}.table-card-score{display:flex;align-items:center;gap:var(--spacing-xs);font-weight:600}.table-pair-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);flex-wrap:wrap;margin-bottom:var(--spacing-sm)}.table-pair{display:flex;flex-direction:column;gap:2px}.table-pair-name{font-weight:600;color:var(--text-primary)}.table-pair-group{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em}.table-vs{font-weight:600;color:var(--primary-color)}.table-detail{margin-top:var(--spacing-sm)}.table-detail th,.table-detail td{text-align:center}.table-detail th:first-child,.table-detail td:first-child{text-align:left}.sets-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.sets-table thead{background-color:var(--background-secondary)}.sets-table th{padding:var(--spacing-sm);text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:2px solid var(--border-color)}.sets-table td{padding:var(--spacing-sm);border-bottom:1px solid var(--border-color);text-align:center}.sets-table td:first-child{text-align:left;font-weight:500}.sets-table tbody tr:hover{background-color:#3b82f608}.win-score{color:var(--success-color);font-weight:700}@media(max-width:767px){.leaderboard-page{padding:var(--spacing-md) 0}.leaderboard-page .page-header{flex-direction:column;align-items:flex-start}.leaderboard-table{font-size:var(--font-size-sm)}.rank-col{width:60px}.score-col{width:80px}.rank-badge{font-size:var(--font-size-lg)}.matches-grid{grid-template-columns:1fr}.match-header,.pairs-info{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.vs-separator{display:none}.match-total{flex-direction:column;gap:var(--spacing-xs);align-items:flex-start}.match-total .separator{display:none}}.round-section.collapsed{margin-bottom:var(--spacing-md)}.round-header h3{margin:0}.admin-score-page{min-height:100vh;background-color:var(--background-color);padding:var(--spacing-lg)}.admin-score-page .container{max-width:1200px;margin:0 auto}.admin-score-header{margin-bottom:var(--spacing-xl);background-color:#fff;border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.admin-score-header .header-content{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.admin-score-header h1{margin:0;font-size:var(--font-size-2xl);color:var(--primary-color);flex:1}.btn-back{white-space:nowrap}.tournament-info{display:flex;gap:var(--spacing-lg);align-items:center;padding-top:var(--spacing-md);border-top:1px solid var(--border-color)}.tournament-name{font-weight:600;color:var(--text-primary)}.round-info{color:var(--text-secondary);font-size:var(--font-size-sm)}.admin-score-content{background-color:#fff;border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.matches-container{display:flex;flex-direction:column;gap:var(--spacing-xl)}.match-section{background-color:var(--background-color);border-radius:var(--radius-md);padding:var(--spacing-lg);border:2px solid var(--border-color)}.match-section h2{margin-top:0;margin-bottom:var(--spacing-md);color:var(--primary-color);font-size:var(--font-size-xl)}.score-input{width:80px;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-size-base);text-align:center}.score-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a}.score-display{font-weight:600;font-size:var(--font-size-lg);color:var(--primary-color)}.score-empty{font-weight:600;font-size:var(--font-size-lg);color:var(--text-secondary);font-style:italic}.vs-cell{text-align:center;color:var(--text-secondary);font-weight:500}.action-buttons{display:flex;gap:var(--spacing-xs)}.table-section{margin-top:var(--spacing-lg);padding:var(--spacing-lg);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-color);box-shadow:var(--shadow-sm)}.table-section-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--spacing-md)}.match-score-inline{margin-left:var(--spacing-md);color:var(--primary-color);font-weight:600;text-align:right;display:inline-block;float:right}.table-section-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--spacing-md);gap:var(--spacing-md)}.table-section-title{font-weight:700;color:var(--primary-color);margin-right:var(--spacing-sm);font-size:var(--font-size-lg)}.table-section-subtitle{color:var(--text-secondary);font-size:var(--font-size-sm)}.table-section-status{display:flex;justify-content:flex-end}.table-score-summary{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--background-color);border-radius:var(--radius-sm)}.table-score-row{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm)}.table-score-names{color:var(--text-secondary)}.table-score-value{font-weight:600;color:var(--primary-color);font-size:var(--font-size-lg)}.seat-orientation-block{margin-bottom:var(--spacing-md);padding:var(--spacing-sm);background:var(--background-color);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:var(--font-size-sm)}.seat-orientation-title{font-weight:600;color:var(--text-primary)}.seat-orientation-block.compact{margin-bottom:var(--spacing-sm)}.seat-orientation-row{display:flex;justify-content:space-between;gap:var(--spacing-sm);flex-wrap:wrap}.seat-orientation-label{font-weight:600;color:var(--text-secondary)}.seat-orientation-values{color:var(--text-primary);text-align:right;flex:1}.status-pill{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:999px;font-size:var(--font-size-sm);font-weight:600;border:1px solid var(--border-color);background:var(--background-color);color:var(--text-secondary)}.status-complete{background:#10b9811f;color:var(--success-color);border-color:#10b98166}.status-partial{background:#f59e0b1f;color:var(--warning-color);border-color:#f59e0b66}.status-pending{background:#64748b1f;color:var(--secondary-color);border-color:#64748b66}.focus-table-details{background:var(--background-color);border:2px solid var(--primary-color);border-radius:var(--radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.focus-table-heading{display:flex;justify-content:space-between;align-items:baseline;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.focus-table-number{font-weight:700;color:var(--primary-color);font-size:var(--font-size-xl)}.focus-table-meta{color:var(--text-secondary);font-size:var(--font-size-sm)}.focus-table-matchup{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--spacing-lg);align-items:center}.focus-team{display:flex;flex-direction:column;gap:var(--spacing-xs)}.focus-team-label{font-weight:600;color:var(--text-secondary);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em}.focus-team-pair{display:flex;align-items:center;gap:var(--spacing-xs);font-weight:500;color:var(--text-primary);font-size:var(--font-size-base)}.focus-pair-separator{color:var(--text-secondary);font-weight:600;margin:0 var(--spacing-xs)}.focus-table-vs{text-align:center;font-weight:700;color:var(--primary-color);font-size:var(--font-size-xl)}@media(max-width:767px){.admin-score-page{padding:var(--spacing-sm)}.admin-score-header h1{font-size:var(--font-size-xl)}.admin-score-header .header-content{flex-direction:column;align-items:stretch}.btn-back{width:100%}.tournament-info{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.table{font-size:var(--font-size-sm)}.score-input{width:60px}.action-buttons{flex-direction:column}.btn-sm{padding:var(--spacing-xs);font-size:var(--font-size-xs)}.table-section{padding:var(--spacing-md)}.table-score-summary{padding:var(--spacing-xs) var(--spacing-sm)}.focus-table-matchup{grid-template-columns:1fr;text-align:center}.focus-table-vs{margin:var(--spacing-sm) 0}.focus-team{align-items:center}.match-section h2{font-size:var(--font-size-lg)}}#root{min-height:100vh}
