.login-container{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem}.login-card{background:#fff;padding:2.5rem;border-radius:12px;width:100%;max-width:400px}.login-card h1{color:#2c3e50;margin-bottom:.5rem;font-size:2rem;text-align:center}.login-card h2{color:#7f8c8d;margin-bottom:2rem;font-size:1.2rem;font-weight:400;text-align:center}.form-group label{display:block;margin-bottom:.5rem;color:#2c3e50;font-weight:500}.form-group input{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#667eea}.error-message{background-color:#fee;color:#c33;padding:.75rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem}.btn-primary{width:100%;padding:.875rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;transition:transform .2s,box-shadow .2s}.btn-primary:hover:not(:disabled){transform:translateY(-2px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table thead{background-color:#f8f9fa}.data-table th{padding:1rem;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #dee2e6;white-space:nowrap}.data-table td{padding:1rem;border-bottom:1px solid #dee2e6}.data-table tbody tr:hover{background-color:#f8f9fa}.empty-row{text-align:center;color:#7f8c8d;padding:2rem!important}.action-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.action-buttons button{padding:.375rem .75rem;border:none;border-radius:4px;font-size:.875rem;cursor:pointer;transition:all .2s;font-weight:500}.btn-edit{background-color:#3498db;color:#fff}.btn-edit:hover{background-color:#2980b9}.btn-delete{background-color:#e74c3c;color:#fff}.btn-delete:hover{background-color:#c0392b}@media (max-width: 768px){.data-table{font-size:.875rem}.data-table th,.data-table td{padding:.75rem .5rem}.action-buttons{flex-direction:column}.action-buttons button{width:100%}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;animation:fadeIn .2s ease-out;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-container{background:#fff;border-radius:16px;max-width:450px;width:90%;margin:0 auto;animation:slideUp .3s ease-out;box-sizing:border-box}.modal-container.modal-small{max-width:50%}.modal-container.modal-medium{max-width:600px}.modal-container.modal-large{max-width:900px}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content{padding:2rem;text-align:center;box-sizing:border-box}.modal-icon{width:64px;height:64px;margin:0 auto 1.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center}.modal-icon svg{width:36px;height:36px;stroke-width:2.5}.modal-icon.success{background-color:#d4edda;color:#27ae60}.modal-icon.error{background-color:#f8d7da;color:#e74c3c}.modal-icon.warning{background-color:#fff3cd;color:#f39c12}.modal-icon.confirm{background-color:#d1ecf1;color:#3498db}.modal-icon.info{background-color:#e3f2fd;color:#2196f3}.modal-title{font-size:1.5rem;font-weight:600;color:#2c3e50;margin:0 0 1rem}.modal-message{font-size:1rem;color:#5a6c7d;line-height:1.6;margin:0 0 2rem}.modal-body{margin-top:1rem}.modal-actions{display:flex;gap:.75rem;justify-content:center}.modal-btn{padding:.75rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:120px}.modal-btn:hover{transform:translateY(-1px)}.modal-btn:active{transform:translateY(0)}.modal-btn-cancel{background-color:#ecf0f1;color:#5a6c7d}.modal-btn-cancel:hover{background-color:#dfe6e9}.modal-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.modal-btn-primary:hover{background:linear-gradient(135deg,#5568d3,#653a8e)}.modal-btn-primary.confirm{background:linear-gradient(135deg,#3498db,#2980b9)}.modal-btn-primary.confirm:hover{background:linear-gradient(135deg,#2980b9,#1f6ca1)}@media (max-width: 600px){.modal-container{width:95%;margin:1rem auto}.modal-content{padding:1.5rem}.modal-title{font-size:1.25rem}.modal-message{font-size:.95rem}.modal-actions{flex-direction:column}.modal-btn{width:100%}}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#2c3e50;font-weight:500;font-size:.95rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;transition:border-color .2s;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3498db}.form-group textarea{resize:vertical;min-height:100px}.form-group input[type=checkbox]{width:auto;margin-right:.5rem}.form-group input[type=number]::-webkit-inner-spin-button,.form-group input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-group input[type=number]{-moz-appearance:textfield}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #dee2e6}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.page-header h1{margin:0;color:#2c3e50;font-size:2rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s;font-size:1rem}.btn-primary{background-color:#2ecc71;color:#fff}.btn-primary:hover:not(:disabled){background-color:#27ae60}.btn-secondary{background-color:#3498db;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#2980b9}.btn-cancel{background-color:#95a5a6;color:#fff}.btn-danger{background-color:#e74c3c;color:#fff}.btn-danger:hover:not(:disabled){background-color:#c0392b}.btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.page-header{flex-direction:column;align-items:flex-start}.page-header h1{font-size:1.5rem}.form-actions{flex-direction:column}.form-actions button{width:100%}.form-row{grid-template-columns:1fr}}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap;gap:2rem}.dashboard-header h1{margin:0;color:#2c3e50;font-size:2rem}.subtitle{color:#7f8c8d;margin:.5rem 0 0;font-size:1rem}.dashboard-stats{display:flex;gap:1rem}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem;border-radius:12px;min-width:150px;box-shadow:0 4px 6px #0000001a}.stat-value{font-size:2.5rem;font-weight:700;margin-bottom:.25rem}.stat-label{font-size:.9rem;opacity:.9}.tournament-code{font-family:Courier New,monospace;background-color:#f8f9fa;padding:.25rem .5rem;border-radius:4px;font-weight:600;color:#2c3e50;border:1px solid #dee2e6}@media (max-width: 768px){.dashboard-header{flex-direction:column}.dashboard-stats{width:100%;flex-direction:column}.stat-card{width:100%}.dashboard-header h1{font-size:1.5rem}.stat-value{font-size:2rem}}.manual-inscription{min-height:400px}.inscription-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.search-box{flex:1;min-width:250px}.search-input{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem}.search-input:focus{outline:none;border-color:#3498db}.inscription-stats{display:flex;gap:1.5rem;color:#7f8c8d;font-size:.9rem}.inscription-stats p{margin:0}.select-all-row{padding:1rem;background-color:#f8f9fa;border-radius:6px;margin-bottom:1rem;border:2px solid #dee2e6}.select-all-row label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-weight:600;color:#2c3e50}.select-all-row input[type=checkbox]{width:20px;height:20px;cursor:pointer}.players-list{max-height:400px;overflow-y:auto;border:1px solid #dee2e6;border-radius:6px;margin-bottom:1.5rem}.player-item{padding:1rem;border-bottom:1px solid #dee2e6;transition:background-color .2s}.player-item:last-child{border-bottom:none}.player-item:hover{background-color:#f8f9fa}.player-item label{display:flex;align-items:flex-start;gap:1rem;cursor:pointer;width:100%}.player-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;margin-top:2px;flex-shrink:0}.player-info{flex:1}.player-name{font-weight:600;color:#2c3e50;margin-bottom:.25rem;font-size:1rem}.player-details{display:flex;gap:1rem;flex-wrap:wrap;font-size:.85rem;color:#7f8c8d}.player-details span{background-color:#ecf0f1;padding:.25rem .5rem;border-radius:4px}.empty-state{text-align:center;padding:3rem 1rem;color:#7f8c8d}@media (max-width: 768px){.inscription-header{flex-direction:column;align-items:flex-start}.inscription-stats{width:100%;flex-direction:column;gap:.5rem}.players-list{max-height:300px}.player-details{flex-direction:column;gap:.25rem}}.holes-manager{min-height:400px}.holes-summary{display:flex;gap:2rem;margin-bottom:1.5rem;padding:1rem;background-color:#f8f9fa;border-radius:6px}.holes-summary p{margin:0;color:#2c3e50}.warning-message{background-color:#fff3cd;color:#856404;padding:1rem;border-radius:6px;margin-bottom:1rem;border-left:4px solid #ffc107}.holes-table-wrapper{overflow-x:auto;margin-bottom:1.5rem;max-height:60vh;overflow-y:auto}.holes-table{width:100%;border-collapse:collapse;font-size:.9rem}.holes-table thead{background-color:#2c3e50;color:#fff;position:sticky;top:0;z-index:10}.holes-table th{padding:.75rem .5rem;text-align:center;font-weight:600;border:1px solid #34495e;white-space:nowrap}.holes-table td{padding:.5rem;text-align:center;border:1px solid #dee2e6}.holes-table tbody tr:hover{background-color:#f8f9fa}.hole-number{font-weight:600;background-color:#ecf0f1;color:#2c3e50}.compact-input,.compact-select{width:80px;padding:.4rem;border:1px solid #dee2e6;border-radius:4px;text-align:center;font-size:.9rem}.compact-input:focus,.compact-select:focus{outline:none;border-color:#3498db}.compact-input::-webkit-inner-spin-button,.compact-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.compact-input[type=number]{-moz-appearance:textfield}.totals-row{background-color:#e8f5e9;font-weight:700}.totals-row td{border-top:2px solid #27ae60;padding:.75rem .5rem}@media (max-width: 768px){.holes-summary{flex-direction:column;gap:.5rem}.holes-table{font-size:.8rem}.holes-table th,.holes-table td{padding:.4rem .25rem}.compact-input,.compact-select{width:60px;font-size:.8rem}}.leaderboard-page{max-width:1200px;margin:0 auto}.leaderboard-header{margin-bottom:2rem}.header-actions{display:flex;gap:1rem;margin-bottom:1rem}.btn-back{background-color:#95a5a6;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:500;transition:background-color .2s}.btn-back:hover{background-color:#7f8c8d}.btn-refresh{background-color:#4caf50;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:500;transition:background-color .2s;display:flex;align-items:center;gap:.5rem}.btn-refresh:hover:not(:disabled){background-color:#45a049}.btn-refresh:disabled{background-color:#ccc;cursor:not-allowed;opacity:.7}.btn-edit{background-color:#2196f3;color:#fff;border:none;padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;transition:background-color .2s}.btn-edit:hover{background-color:#1976d2}.tournament-info{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 4px #0000001a}.tournament-info h1{margin:0 0 1rem;color:#2c3e50;display:flex;align-items:center;gap:1rem}.final-badge{display:inline-block;background-color:#27ae60;color:#fff;padding:.375rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600}.tournament-details{display:flex;gap:2rem;flex-wrap:wrap;color:#7f8c8d;font-size:.95rem}.detail-item strong{color:#2c3e50}.category-filter{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.category-filter label{font-weight:600;color:#2c3e50}.category-select{padding:.5rem 1rem;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;min-width:200px}.leaderboard-container{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.position{font-weight:700;font-size:1.1rem}.position-first{color:#f39c12;font-size:1.3rem}.position-second{color:#95a5a6;font-size:1.2rem}.position-third{color:#cd7f32;font-size:1.2rem}.score-to-par{font-weight:700;padding:.25rem .75rem;border-radius:6px;display:inline-block}.under-par{background-color:#d4edda;color:#155724}.even-par{background-color:#e8f5e9;color:#2c3e50}.over-par{background-color:#f8d7da;color:#721c24}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a}.empty-state h2{color:#2c3e50;margin-bottom:1rem}.empty-state p{color:#7f8c8d;margin-bottom:2rem;font-size:1.1rem}.update-info{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background-color:#f5f5f5;border-top:1px solid #e0e0e0;font-size:.9rem;color:#666}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;overflow-y:auto}.modal-overlay *{box-sizing:border-box}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;margin:0 auto;box-sizing:border-box}.modal-content.scorecard-modal{max-width:95%;width:90%;min-width:850px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;color:#2c3e50;font-size:1.5rem}.scorecard-info{margin:.5rem 0 0;color:#7f8c8d;font-size:.9rem;font-weight:400}.modal-close{background:none;border:none;font-size:2rem;color:#95a5a6;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.modal-close:hover{background-color:#f5f5f5;color:#2c3e50}.modal-body{padding:1rem;overflow-y:auto;flex:1}.scorecard-table-wrapper{overflow-x:auto;overflow-y:visible}.modal-scorecard-table{width:100%;border-collapse:collapse;font-size:.85rem;min-width:750px}.scorecard-header-row th{background-color:#27ae60;color:#fff;padding:.75rem .3rem;text-align:center;font-weight:600;border:1px solid #229954;min-width:45px}.scorecard-sticky-col{position:sticky;left:0;z-index:20;background-color:#27ae60;min-width:80px!important;text-align:left!important;padding-left:1rem!important}.scorecard-label{font-weight:600;text-align:left;padding-left:1rem!important}.scorecard-par-row{background-color:#3498db;color:#fff;font-weight:600}.scorecard-par-row .scorecard-sticky-col{background-color:#3498db}.scorecard-par-cell{text-align:center;padding:.6rem .3rem;border:1px solid #2980b9}.scorecard-hcp-row{background-color:#ecf0f1}.scorecard-hcp-row .scorecard-sticky-col{background-color:#ecf0f1;color:#2c3e50}.scorecard-hcp-cell{text-align:center;padding:.6rem .3rem;border:1px solid #bdc3c7;font-size:.8rem;color:#7f8c8d}.scorecard-score-row{background-color:#fff3cd}.scorecard-score-row .scorecard-sticky-col{background-color:#ffc107;color:#000}.scorecard-player-label{font-weight:700}.scorecard-input-cell{padding:.5rem .2rem;border:1px solid #dee2e6;text-align:center}.scorecard-score-input{width:100%;min-width:42px;max-width:50px;padding:.5rem .2rem;border:2px solid #dee2e6;border-radius:4px;text-align:center;font-size:1rem;font-weight:700;transition:border-color .2s}.scorecard-score-input:focus{outline:none;border-color:#3498db;background-color:#e8f4f8}.scorecard-score-input::-webkit-inner-spin-button,.scorecard-score-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.scorecard-score-input[type=number]{-moz-appearance:textfield}.scorecard-total-col,.scorecard-total-cell{background-color:#2c3e50;color:#fff;font-weight:700;min-width:60px!important;text-align:center!important;padding:.6rem .3rem}.scorecard-score-total{font-size:1.1rem;font-weight:700}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #e0e0e0}.btn-cancel{background-color:#95a5a6;color:#fff;border:none;padding:.6rem 1.5rem;border-radius:6px;cursor:pointer;font-weight:500;transition:background-color .2s}.btn-cancel:hover{background-color:#7f8c8d}.btn-save{background-color:#4caf50;color:#fff;border:none;padding:.6rem 1.5rem;border-radius:6px;cursor:pointer;font-weight:500;transition:background-color .2s}.btn-save:hover:not(:disabled){background-color:#45a049}.btn-save:disabled{background-color:#ccc;cursor:not-allowed;opacity:.7}@media (max-width: 768px){.dashboard-header{flex-direction:column}.dashboard-stats{width:100%;flex-direction:column}.stat-card{width:100%}.tournament-details{flex-direction:column;gap:.5rem}.category-filter{flex-direction:column;align-items:flex-start}.category-select{width:100%}.modal-content.scorecard-modal{min-width:100%;max-width:100%}.modal-scorecard-table{font-size:.75rem;min-width:650px}.scorecard-header-row th{padding:.6rem .2rem;min-width:38px}.scorecard-sticky-col{min-width:65px!important}.scorecard-score-input{min-width:38px;max-width:42px;padding:.4rem .1rem;font-size:.9rem}.modal-header h2{font-size:1.2rem}.scorecard-info{font-size:.8rem}}.tournament-access-container{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#27ae60,#2ecc71);padding:1rem}.access-card{background:#fff;padding:2.5rem;border-radius:16px;width:100%;max-width:500px}.tournament-course{color:#27ae60;font-size:1.1rem;font-weight:600;margin:.5rem 0}.access-form h2{color:#2c3e50;margin:0 0 .5rem;font-size:1.3rem}.access-instruction{color:#7f8c8d;margin-bottom:1.5rem;font-size:.95rem}.tournament-info-footer strong{color:#2c3e50;font-family:Courier New,monospace}@media (max-width: 768px){.access-card{padding:2rem 1.5rem}.tournament-header h1{font-size:1.5rem}}.scorecard-container{min-height:100vh;background-color:#f5f5f5;padding:1rem}.scorecard-header{background:#fff;padding:1.5rem;border-radius:12px;text-align:center;margin-bottom:1rem;box-shadow:0 2px 4px #0000001a}.scorecard-header h1{margin:0 0 .5rem;color:#2c3e50;font-size:1.5rem}.course-name{color:#27ae60;font-weight:600;margin:.25rem 0}.tournament-date{color:#7f8c8d;margin:.25rem 0;font-size:.9rem}.player-matricula{margin:.5rem 0 0;color:#2c3e50;font-size:.95rem}.auto-save-indicator{margin-top:.75rem;padding:.5rem;border-radius:6px;font-size:.85rem}.auto-save-indicator .saving{color:#f39c12;font-weight:500}.auto-save-indicator .saved{color:#27ae60;font-weight:500}.auto-save-indicator .auto-save{color:#7f8c8d;font-weight:500}.delivered-badge{margin-top:.75rem;padding:.5rem 1rem;background-color:#27ae60;color:#fff;border-radius:6px;font-weight:600;display:inline-block}.scorecard-wrapper{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 4px #0000001a;margin-bottom:1rem}.scorecard-table-container{overflow-x:auto;overflow-y:visible}.scorecard-table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:800px}.scorecard-table thead{position:sticky;top:0;z-index:10}.header-row th{background-color:#27ae60;color:#fff;padding:.75rem .4rem;text-align:center;font-weight:600;border:1px solid #229954;min-width:65px}.sticky-col{position:sticky;left:0;z-index:20;background-color:#27ae60;min-width:100px;max-width:130px;width:130px}.label-cell{font-weight:600;text-align:left;padding-left:1rem!important;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:1.3}.par-row{background-color:#3498db;color:#fff;font-weight:600}.par-row .sticky-col{background-color:#3498db}.par-cell{text-align:center;padding:.5rem;border:1px solid #2980b9}.handicap-row{background-color:#ecf0f1}.handicap-row .sticky-col{background-color:#ecf0f1;color:#2c3e50}.hcp-cell{text-align:center;padding:.5rem;border:1px solid #bdc3c7;font-size:.85rem}.score-row td{padding:.9rem;border:1px solid #dee2e6;text-align:center;min-width:65px}.player-row{background-color:#fff3cd}.player-row .sticky-col{background-color:#ffc107;color:#000;padding:.9rem .5rem!important;vertical-align:middle}.marker-row{background-color:#f8f9fa}.marker-row .sticky-col{background-color:#6c757d;color:#fff;padding:.9rem .5rem!important;vertical-align:middle}.marker-row .sticky-col.clickable{transition:all .2s ease}.marker-row .sticky-col.clickable:hover{background-color:#5a6268;transform:scale(1.02);box-shadow:0 2px 8px #0003}.marker-row .sticky-col.clickable:active{transform:scale(.98)}.score-input{width:100%;min-width:50px;max-width:65px;padding:.6rem .3rem;border:2px solid #dee2e6;border-radius:4px;text-align:center;font-size:1.1rem;font-weight:700}.score-input:focus{outline:none;border-color:#3498db}.score-input.validated{border-color:#27ae60;background-color:#d4edda}.score-input.mismatch{border-color:#e74c3c;background-color:#f8d7da}.score-input:disabled{background-color:#ecf0f1;cursor:not-allowed;opacity:.7}.score-input::-webkit-inner-spin-button,.score-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.score-input[type=number]{-moz-appearance:textfield}.total-col,.total-cell{background-color:#2c3e50;color:#fff;font-weight:700;min-width:60px;text-align:center}.score-total{font-size:1.1rem}.scorecard-legend{display:flex;gap:2rem;justify-content:center;padding:1rem;background:#fff;border-radius:8px;margin-bottom:1rem;box-shadow:0 2px 4px #0000001a}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#2c3e50}.legend-box{width:30px;height:20px;border-radius:4px;border:2px solid}.legend-box.validated{background-color:#d4edda;border-color:#27ae60}.legend-box.mismatch{background-color:#f8d7da;border-color:#e74c3c}.scorecard-actions{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.score-summary{display:flex;gap:2rem}.summary-item{display:flex;flex-direction:column;gap:.25rem}.summary-item span{color:#7f8c8d;font-size:.9rem}.summary-item strong{color:#2c3e50;font-size:1.5rem}.summary-item strong.under-par{color:#27ae60}.summary-item strong.over-par{color:#e74c3c}.btn-deliver{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 6px #0000001a}.btn-deliver:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 12px #27ae604d}.btn-deliver:disabled{background:linear-gradient(135deg,#95a5a6,#bdc3c7);cursor:not-allowed;opacity:.7}.error-card{background:#fff;padding:2rem;border-radius:12px;text-align:center;box-shadow:0 2px 4px #0000001a;max-width:500px;margin:2rem auto}@media (max-width: 768px){.scorecard-table{font-size:.85rem;min-width:650px}.sticky-col{min-width:140px;max-width:140px;width:140px;font-size:.8rem;padding:.6rem .4rem!important;line-height:1.2}.score-input{min-width:48px;max-width:58px;padding:.55rem .3rem;font-size:1.05rem}.scorecard-header h1{font-size:1.2rem}.score-summary{flex-direction:column;gap:1rem;width:100%}.scorecard-actions{flex-direction:column}.btn-deliver{width:100%}.scorecard-legend{flex-direction:column;gap:.5rem}}.inscription-container{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#3498db,#2980b9);padding:1rem}.inscription-card{background:#fff;padding:2.5rem;border-radius:16px;width:100%;max-width:550px}.tournament-header{text-align:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #ecf0f1}.tournament-header h1{color:#2c3e50;margin:0 0 .5rem;font-size:1.8rem}.tournament-course{color:#3498db;font-size:1.1rem;font-weight:600;margin:.5rem 0}.tournament-date{color:#7f8c8d;margin:.25rem 0 0}.inscription-form h2{color:#2c3e50;margin:0 0 .5rem;font-size:1.3rem}.inscription-instruction{color:#7f8c8d;margin-bottom:1.5rem;font-size:.95rem}.success-message{text-align:center;padding:2rem 0}.success-icon{font-size:4rem;color:#27ae60;margin-bottom:1rem;animation:scaleIn .3s ease-out}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.success-message h2{color:#27ae60;margin-bottom:1.5rem}.inscription-details{background-color:#f8f9fa;padding:1.5rem;border-radius:8px;margin-bottom:1.5rem;text-align:left}.inscription-details p{margin:.75rem 0;color:#2c3e50}.inscription-details strong{color:#3498db}.tournament-info-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #ecf0f1;text-align:center;color:#7f8c8d;font-size:.9rem}.tournament-info-footer p{margin:.5rem 0}.tournament-info-footer strong{color:#2c3e50}.full-warning{color:#e74c3c;font-weight:600}@media (max-width: 768px){.inscription-card{padding:2rem 1.5rem}.tournament-header h1{font-size:1.5rem}.success-icon{font-size:3rem}}.leaderboard-page{max-width:1400px;margin:0 auto;padding:2rem}.leaderboard-header{text-align:center;margin-bottom:2rem}.leaderboard-header h1{font-size:2.5rem;font-weight:700;color:#1a1a1a;margin-bottom:.5rem}.tournament-info h2{font-size:1.5rem;font-weight:600;color:#333;margin-bottom:.25rem}.tournament-info .course-name{font-size:1rem;color:#666}.category-filter{display:flex;justify-content:center;gap:.75rem;margin-bottom:2rem;flex-wrap:wrap}.category-filter button{padding:.5rem 1.5rem;border:2px solid #e0e0e0;background-color:#fff;color:#666;font-size:.9rem;font-weight:500;border-radius:25px;cursor:pointer;transition:all .3s ease}.category-filter button:hover{border-color:#4caf50;color:#4caf50}.category-filter button.active{background-color:#4caf50;color:#fff;border-color:#4caf50}.loading,.error,.no-data{text-align:center;padding:3rem 2rem;font-size:1.1rem;color:#666}.error{color:#f44336}.no-data{background-color:#f5f5f5;border-radius:8px;margin-top:2rem}.no-data p{margin:.5rem 0}.leaderboard-container{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.table-responsive{overflow-x:auto}.leaderboard-table{width:100%;border-collapse:collapse;font-size:.95rem}.leaderboard-table thead{background:linear-gradient(135deg,#2e7d32,#4caf50);color:#fff}.leaderboard-table th{padding:1rem .75rem;text-align:left;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.leaderboard-table th:first-child{text-align:center;width:60px}.leaderboard-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s ease}.leaderboard-table tbody tr:hover{background-color:#f5f5f5}.leaderboard-table tbody tr:last-child{border-bottom:none}.leaderboard-table td{padding:1rem .75rem;color:#333}.position{text-align:center;font-weight:700}.position-badge{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background-color:#f5f5f5;color:#666;font-size:.95rem;font-weight:700}.position-first{background-color:#fff8e1}.position-first .position-badge{background:linear-gradient(135deg,gold,orange);color:#fff;font-size:1.1rem;width:40px;height:40px}.position-second{background-color:#f5f5f5}.position-second .position-badge{background:linear-gradient(135deg,silver,#a9a9a9);color:#fff;font-size:1rem}.position-third{background-color:#fff3e0}.position-third .position-badge{background:linear-gradient(135deg,#cd7f32,sienna);color:#fff;font-size:1rem}.player-name{font-weight:600;color:#1a1a1a;font-size:1rem}.matricula{color:#666;font-family:Courier New,monospace;font-size:.9rem}.handicap{text-align:center;font-weight:600;color:#333}.score-gross,.score-neto{text-align:center;font-size:1.1rem;font-weight:600}.score-neto{color:#2e7d32}.score-to-par{text-align:center}.score-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-weight:600;font-size:.9rem}.score-badge.even{background-color:#e3f2fd;color:#1976d2}.score-badge.under{background-color:#e8f5e9;color:#2e7d32}.score-badge.over{background-color:#ffebee;color:#c62828}.club,.category{color:#666;font-size:.9rem}.update-info{padding:1rem;text-align:center;background-color:#f5f5f5;border-top:1px solid #e0e0e0}.update-info p{margin:0;font-size:.85rem;color:#666;display:flex;align-items:center;justify-content:center;gap:.5rem}.live-indicator{width:8px;height:8px;border-radius:50%;background-color:#4caf50;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@media (max-width: 1024px){.leaderboard-table{font-size:.85rem}.leaderboard-table th,.leaderboard-table td{padding:.75rem .5rem}.position-badge{width:32px;height:32px;font-size:.85rem}.position-first .position-badge{width:36px;height:36px}}@media (max-width: 768px){.leaderboard-page{padding:1rem}.leaderboard-header h1{font-size:2rem}.tournament-info h2{font-size:1.2rem}.leaderboard-table{font-size:.8rem}.leaderboard-table th,.leaderboard-table td{padding:.5rem .35rem}.player-name{font-size:.9rem}.score-gross,.score-neto{font-size:1rem}.leaderboard-table th:nth-child(8),.leaderboard-table td:nth-child(8){display:none}.leaderboard-table th:nth-child(9),.leaderboard-table td:nth-child(9){display:none}}@media (max-width: 480px){.category-filter{flex-direction:column;align-items:stretch}.category-filter button{width:100%}.leaderboard-table th:nth-child(3),.leaderboard-table td:nth-child(3){display:none}}.layout{min-height:100vh;display:flex;flex-direction:column}.navbar{background-color:#2c3e50;color:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000001a}.navbar-brand h1{font-size:1.5rem;font-weight:700}.navbar-links{display:flex;gap:2rem}.navbar-links a{color:#fff;text-decoration:none;font-weight:500;transition:opacity .2s}.navbar-links a:hover{opacity:.8}.navbar-user{display:flex;align-items:center;gap:1rem}.btn-logout{background-color:#e74c3c;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;font-weight:500;transition:background-color .2s}.btn-logout:hover{background-color:#c0392b}.main-content{flex:1;padding:2rem;max-width:1400px;width:100%;margin:0 auto}@media (max-width: 768px){.navbar{flex-direction:column;gap:1rem;padding:1rem}.navbar-links{flex-direction:column;gap:.5rem;text-align:center}.main-content{padding:1rem}}*{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:#f5f5f5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.loading{text-align:center;padding:2rem;color:#7f8c8d;font-size:1.1rem}.error-message{background-color:#fee;color:#c33;padding:1rem;border-radius:6px;margin-bottom:1rem;border-left:4px solid #e74c3c}.role-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500}.role-badge.admin{background-color:#e3f2fd;color:#1976d2}.role-badge.user{background-color:#f3e5f5;color:#7b1fa2}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500}.status-badge.status-pending{background-color:#fff3cd;color:#856404}.status-badge.status-in_progress{background-color:#d1ecf1;color:#0c5460}.status-badge.status-finalized{background-color:#d4edda;color:#155724}
