@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";@import"https://fonts.googleapis.com/css2?family=Pacifico&display=swap";.header{background-color:var(--primary-color);color:var(--text-light);height:var(--header-height);position:sticky;top:0;z-index:100;box-shadow:0 2px 4px #0000001a;display:flex;align-items:center}@media (display-mode: standalone){.header{position:fixed;top:0;left:0;right:0;width:100%;background-color:var(--primary-color);padding-top:env(safe-area-inset-top);height:calc(var(--header-height) + env(safe-area-inset-top));z-index:1000}.header-content{height:var(--header-height);display:flex;align-items:center;width:100%}body{padding-top:calc(var(--header-height) + env(safe-area-inset-top));padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);position:fixed;width:100%;height:100%;overflow-y:scroll;-webkit-overflow-scrolling:touch;padding-bottom:0}#root{min-height:calc(100% - var(--header-height) - env(safe-area-inset-top))}}.header-content{display:flex;justify-content:space-between;align-items:center;height:100%;width:100%}.logo{display:flex;align-items:center}.logo h1{font-size:var(--font-size-xl);font-weight:700;color:var(--text-light);margin:0;font-family:Pacifico,cursive;letter-spacing:.5px;line-height:1}.logo a{color:var(--text-light);text-decoration:none;display:flex;align-items:center}.nav{display:flex;align-items:center;gap:var(--spacing-md);height:100%}.nav-link{color:var(--text-light);text-decoration:none;font-weight:500;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius);transition:background-color .2s;display:flex;align-items:center;height:100%}.nav-link:hover{background-color:#ffffff1a;text-decoration:none}.nav-link.button{background-color:var(--accent-color);padding:var(--spacing-xs) var(--spacing-md);display:flex;align-items:center}.nav-link.button:hover{background-color:var(--secondary-color)}.admin-link{background-color:#e74c3c;color:#fff!important;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius);font-weight:500;display:flex;align-items:center}.admin-link:hover{background-color:#c0392b}.user-menu{display:flex;align-items:center;gap:var(--spacing-md)}.user-name{font-weight:500}.logout-btn{background-color:transparent;border:1px solid var(--text-light);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);display:flex;align-items:center}.logout-btn:hover{background-color:#ffffff1a}.user-dropdown{position:relative;display:flex;align-items:center}.user-icon-btn{background-color:#ffffff1a;border:none;color:var(--text-light);width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s;padding:0}.user-icon-btn svg{width:32px;height:32px}.user-icon-btn:hover{background-color:#fff3}.dropdown-menu{position:absolute;top:100%;right:0;margin-top:var(--spacing-xs);background-color:#fff;border-radius:var(--border-radius);box-shadow:0 4px 12px #00000026;width:220px;overflow:hidden;z-index:101}.dropdown-header{padding:var(--spacing-md);border-bottom:1px solid var(--border-color);font-weight:600;color:var(--text-color)}.dropdown-item{display:flex;align-items:center;padding:var(--spacing-md);color:var(--text-color);text-decoration:none;transition:background-color .2s;cursor:pointer;border:none;background:none;width:100%;text-align:left;font-size:var(--font-size-md);font-weight:500}.dropdown-item:hover{background-color:var(--background-color)}.logout-item{color:var(--error-color);font-weight:500}.logout-item svg{fill:var(--error-color)}.mobile-menu-container{display:none;position:relative;align-items:center;height:100%}.burger-button{display:none;flex-direction:column;justify-content:space-between;width:30px;height:21px;background:transparent;border:none;cursor:pointer;padding:0;z-index:10}.burger-button span{display:block;width:100%;height:3px;background-color:#fff;border-radius:3px;transition:all .3s ease}.mobile-dropdown-menu{position:absolute;top:100%;right:0;margin-top:var(--spacing-xs);background-color:#fff;border-radius:var(--border-radius);box-shadow:0 4px 12px #00000026;width:220px;overflow:hidden;z-index:101}.admin-item{color:#e74c3c;font-weight:500}.signup-item{color:var(--accent-color);font-weight:600}@media (max-width: 768px){.burger-button{display:flex}.desktop-nav{display:none}.mobile-menu-container{display:flex}.burger-button.open span:nth-child(1){transform:translateY(9px) rotate(45deg)}.burger-button.open span:nth-child(2){opacity:0}.burger-button.open span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}}.footer{background-color:var(--primary-color);color:var(--text-light);padding:var(--spacing-md) 0;margin-top:auto}.footer-content{display:flex;justify-content:center;align-items:center;height:100%;text-align:center}.footer p{margin:0;font-size:var(--font-size-sm)}.layout{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;padding:var(--spacing-lg) 0}.landing-page{display:flex;flex-direction:column;gap:var(--spacing-xl)}.hero{background:linear-gradient(#1e8449e6,#1e8449b3),url(/hockey-field.jpg);background-size:cover;background-position:center;color:var(--text-light);padding:var(--spacing-xl) 0;border-radius:var(--border-radius);text-align:center}.hero-content{max-width:800px;margin:0 auto;padding:var(--spacing-xl)}.hero h1{font-size:var(--font-size-xxl);margin-bottom:var(--spacing-md)}.hero-subtitle{font-size:var(--font-size-lg);margin-bottom:var(--spacing-lg);opacity:.9}.hero-buttons{display:flex;justify-content:center;gap:var(--spacing-md)}.login-btn,.signup-btn{padding:var(--spacing-sm) var(--spacing-xl);font-size:var(--font-size-md);font-weight:600}.login-btn{background-color:transparent;border:2px solid var(--text-light)}.signup-btn{background-color:var(--accent-color)}.features{padding:var(--spacing-lg) 0;text-align:center}.features h2{font-size:var(--font-size-xl);margin-bottom:var(--spacing-lg);color:var(--primary-color)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg)}.feature-card{background-color:#fff;padding:var(--spacing-lg);border-radius:var(--border-radius);box-shadow:0 2px 10px #0000000d;transition:transform .3s ease}.feature-card:hover{transform:translateY(-5px)}.feature-icon{font-size:2.5rem;margin-bottom:var(--spacing-md)}.feature-card h3{color:var(--primary-color);margin-bottom:var(--spacing-sm)}.teams{padding:var(--spacing-lg) 0;text-align:center}.teams h2{font-size:var(--font-size-xl);margin-bottom:var(--spacing-lg);color:var(--primary-color)}.teams-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md)}.team-card{background-color:var(--primary-color);color:var(--text-light);padding:var(--spacing-md);border-radius:var(--border-radius);display:flex;justify-content:center;align-items:center;height:100px;transition:background-color .3s ease}.team-card:hover{background-color:var(--secondary-color)}.team-name{font-weight:600;font-size:var(--font-size-md)}@media (max-width: 768px){.hero h1{font-size:var(--font-size-xl)}.hero-subtitle{font-size:var(--font-size-md)}.hero-buttons{flex-direction:column;gap:var(--spacing-sm)}.features-grid,.teams-grid{grid-template-columns:1fr}}.auth-page{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 120px)}.auth-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;padding:2rem;width:100%;max-width:450px;text-align:center}.auth-container h1{color:var(--primary-color);font-size:2rem;margin-bottom:.5rem;font-weight:600}.auth-subtitle{color:var(--text-secondary);margin-bottom:2rem;font-size:1rem;line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:.7rem}.form-group{display:flex;flex-direction:column;text-align:left}.form-group label{font-weight:500;margin-bottom:.2rem;color:var(--text-primary);font-size:.9rem}.auth-button{background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;padding:.75rem 1rem;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s;margin-top:.5rem;width:100%}.auth-button:hover{background-color:var(--primary-dark)}.auth-button:disabled{background-color:var(--disabled-color);cursor:not-allowed}.auth-footer{margin-top:2rem;color:var(--text-secondary)}.auth-footer a{color:var(--primary-color);font-weight:500}.debug-info{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;padding:1rem;margin:1rem 0;text-align:left;font-family:monospace;font-size:.9rem;color:#495057;max-height:200px;overflow-y:auto;white-space:pre-line}.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:4px;padding:.75rem 1rem;margin-bottom:1rem;font-size:.9rem}.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb;border-radius:4px;padding:.75rem 1rem;margin-bottom:1rem;font-size:.9rem}.forgot-password{text-align:right;margin-top:.3rem;font-size:.8rem}.forgot-password a{color:var(--primary-color);text-decoration:none}.forgot-password a:hover{text-decoration:underline}@media (max-width: 768px){.auth-container{padding:1.5rem;margin:0 1rem}}.error-message{background-color:#ff57571a;border-left:3px solid var(--error-color);padding:10px 15px;margin-bottom:20px;color:var(--error-color);border-radius:4px}.error-link{color:var(--error-color);text-decoration:underline;font-weight:500}.error-link:hover{text-decoration:none}.success-message{background-color:#1e84491a;border-left:3px solid var(--primary-color);padding:10px 15px;margin-bottom:20px;color:var(--primary-color);border-radius:4px}.success-instructions{margin-top:15px;font-size:.9rem;color:#333}.success-instructions p{font-weight:600;margin-bottom:5px}.success-instructions ul{padding-left:20px;margin:5px 0}.success-instructions li{margin-bottom:5px}.auth-divider{display:flex;align-items:center;text-align:center;margin:1.5rem 0;color:var(--text-secondary);font-size:.9rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid #e0e0e0}.auth-divider span{padding:0 1rem}.google-button{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;background-color:#fff;color:#3c4043;border:1px solid #dadce0;border-radius:4px;padding:.75rem 1rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;margin-bottom:1rem}.google-button:hover{background-color:#f8f9fa;box-shadow:0 1px 3px #0000001a}.google-button:active{background-color:#f1f3f4}.google-button:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.google-icon{flex-shrink:0}.dashboard-page{padding:var(--spacing-md) 0}.dashboard-page h1{color:var(--primary-color);margin-bottom:var(--spacing-lg);text-align:center;font-weight:700}.competition-filter{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background-color:#fff;border-radius:var(--border-radius);box-shadow:0 2px 4px #0000001a;max-width:600px;margin-left:auto;margin-right:auto}.competition-filter-label{font-weight:600;color:var(--text-color);font-size:var(--font-size-md);white-space:nowrap}.competition-filter-select{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size-md);background-color:#fff;color:var(--text-color);cursor:pointer;transition:border-color .2s;font-family:inherit}.competition-filter-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #1e84491a}.competition-filter-select:hover{border-color:var(--primary-color)}.turno-section{margin-bottom:var(--spacing-xl)}.turno-title{color:var(--primary-color);margin-bottom:var(--spacing-md);font-size:var(--font-size-xl);font-weight:700;text-align:center}.partite-section-title{color:var(--text-color);margin-top:var(--spacing-lg);margin-bottom:var(--spacing-md);font-size:var(--font-size-lg);font-weight:600;text-align:left;padding-left:var(--spacing-sm);border-left:4px solid var(--primary-color)}.turno-countdown{background-color:#fff;border-radius:var(--border-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);text-align:center;max-width:800px;box-shadow:0 2px 4px #0000001a;margin-left:auto;margin-right:auto}.countdown-message{font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm);color:var(--text-color);font-weight:600}.countdown-timer{font-size:var(--font-size-xl);font-weight:700;color:var(--primary-color);background-color:#f3f5f9;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius);display:inline-block}.loading{text-align:center;padding:var(--spacing-xl);font-size:var(--font-size-lg);color:var(--text-muted)}.no-competition-message{text-align:center;padding:var(--spacing-xl);max-width:600px;margin:0 auto;background-color:#fff;border-radius:var(--border-radius);box-shadow:0 2px 4px #0000001a}.no-competition-message h2{color:var(--primary-color);margin-bottom:var(--spacing-md);font-size:var(--font-size-xl);font-weight:700}.no-competition-message p{color:var(--text-color);margin-bottom:var(--spacing-lg);font-size:var(--font-size-md);line-height:1.6}.competition-link-button{display:inline-block;background-color:var(--primary-color);color:#fff;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--border-radius);text-decoration:none;font-weight:600;font-size:var(--font-size-md);transition:background-color .3s ease}.competition-link-button:hover{background-color:#2980b9}.no-partite{text-align:center;padding:var(--spacing-xl);background-color:#fff;border-radius:var(--border-radius);box-shadow:0 2px 4px #0000001a;max-width:800px;margin:0 auto}.partite-list-dashboard{display:flex;flex-direction:column;gap:var(--spacing-lg);max-width:800px;margin:0 auto}.match-dashboard{background-color:#fff;display:flex;flex-direction:column;border-radius:10px;box-shadow:0 0 2px #3030301a,0 4px 4px #3030301a;margin-bottom:var(--spacing-lg);overflow:hidden;position:relative;height:280px;padding-bottom:20px}.match-dashboard:hover{transform:translateY(-3px);box-shadow:0 4px 12px #00000026}.match-header-dashboard{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:2px solid rgba(48,48,48,.1)}.match-tournament-container-dashboard{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1}.match-tournament-dashboard{display:flex;align-items:center;font-weight:600;font-size:14px}.match-countdown-dashboard{font-size:12px;font-weight:600;color:#7f8c8d;background-color:#f3f5f9;padding:4px 8px;border-radius:4px;white-space:nowrap}.match-tournament-dashboard.elite-maschile-dashboard{color:var(--primary-color);font-style:italic}.match-tournament-dashboard.elite-femminile-dashboard{color:#9c27b0;font-style:italic}.header-elite-femminile-dashboard{background-color:#9c27b01a}.header-elite-maschile-dashboard{background-color:#1e84491a}.match-content-dashboard{display:flex;position:relative;padding:20px 0;flex:1}.column-dashboard{padding:20px;display:flex;justify-content:center;align-items:center;width:calc(100% / 3)}.team-dashboard{display:flex;flex-direction:column;align-items:center}.team-logo-dashboard{width:80px;height:80px;display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:#e0e0e0;box-shadow:0 4px 4px #30303026,0 0 0 15px #f3f5f9;overflow:hidden;padding:8px}.team-logo-dashboard img{width:100%;height:100%;object-fit:contain}.team-name-dashboard{text-align:center;margin-top:16px;font-size:16px;font-weight:600}.match-details-dashboard{display:flex;flex-direction:column;align-items:center}.match-date-dashboard{font-size:14px;color:var(--text-color);font-weight:600;font-style:italic;text-align:center}.match-date-dashboard strong{color:#1c2a38;font-weight:600}.match-score-dashboard{margin-top:12px;display:flex;align-items:center}.match-score-number-dashboard{font-size:36px;font-weight:600;line-height:1}.match-score-divider-dashboard{font-size:24px;font-weight:700;line-height:1;color:#dbdade;margin-left:10px;margin-right:10px}.match-waiting-dashboard{font-size:16px;font-weight:600;color:#8a8f98;margin-top:12px}.pronostico-non-inserito{color:#ffa000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.match-pronostico-dashboard{display:flex;margin-top:16px;gap:8px;align-items:center}.match-pronostico-label-dashboard{font-size:14px;color:#8a8f98;margin-right:8px}.match-pronostico-input-dashboard{width:50px;height:40px;text-align:center;font-size:16px;font-weight:600;border:1px solid #dbdade;border-radius:4px;background-color:#f9f9f9}.match-pronostico-input-dashboard:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-color-rgb),.2)}.match-pronostico-separator-dashboard{font-size:20px;font-weight:600;color:#dbdade}.match-bet-place-dashboard{position:absolute;bottom:-16px;left:50%;transform:translate(-50%);border:0;background-color:var(--primary-color);border-radius:6px;padding:10px 24px;color:#fff;font-size:14px;font-weight:600;box-shadow:0 4px 8px #30303040;cursor:pointer;transition:background-color .2s;z-index:10}.match-bet-place-dashboard:hover{background-color:#1a7f4b}.match-bet-place-dashboard:disabled{background-color:#ccc;cursor:not-allowed}.match-pronostico-saved-dashboard{margin-top:16px;display:flex;flex-direction:column;align-items:center}.match-pronostico-saved-label-dashboard{font-size:14px;color:#8a8f98;margin-bottom:4px}.match-pronostico-saved-value-dashboard{font-size:18px;font-weight:600;color:#1c2a38;display:flex;align-items:center}.match-pronostico-saved-separator-dashboard{margin:0 8px;color:#dbdade}.match-pronostico-saved-label-dashboard.non-inserito{color:#ffa000;font-weight:600;font-size:11px;padding:2px 5px;background-color:#ffa0001a;border-radius:4px;white-space:nowrap}@media (max-width: 768px){.match-dashboard{height:260px}.match-content-dashboard{flex-direction:row;padding:15px 0}.column-dashboard{width:calc(100% / 3);padding:10px}.team-logo-dashboard{width:50px;height:50px;box-shadow:0 4px 4px #30303026,0 0 0 8px #f3f5f9}.team-logo-dashboard img{width:100%;height:100%;object-fit:contain}.team-name-dashboard{font-size:14px;margin-top:10px}.match-date-dashboard{font-size:11px}.match-score-number-dashboard{font-size:28px}.match-score-divider-dashboard{font-size:20px}.match-pronostico-input-dashboard{width:40px;height:35px;font-size:14px}.match-bet-place-dashboard{bottom:-16px;padding:8px 16px;font-size:12px}.match-pronostico-saved-label-dashboard{font-size:12px}.match-pronostico-saved-value-dashboard{font-size:16px}}@media (max-width: 480px){.match-dashboard{height:240px}.match-content-dashboard{padding:10px 0}.column-dashboard{padding:5px}.team-logo-dashboard{width:40px;height:40px}.team-logo-dashboard img{width:100%;height:100%;object-fit:contain}.team-name-dashboard{font-size:12px;margin-top:8px}.match-pronostico-input-dashboard{width:35px;height:30px}.match-waiting-dashboard{font-size:12px}.pronostico-non-inserito{font-size:9px;font-weight:600;padding:1px 3px;background-color:#ffa0001a;border-radius:3px;white-space:nowrap;letter-spacing:-.3px;max-width:100%}.match-pronostico-saved-dashboard{margin-top:10px}.match-pronostico-saved-label-dashboard{font-size:10px}.match-pronostico-saved-value-dashboard{font-size:14px}.match-pronostico-saved-separator-dashboard{margin:0 4px}}@media (max-width: 390px){.pronostico-non-inserito{font-size:8px;padding:1px 2px;letter-spacing:-.5px}.match-details-dashboard{max-width:100%}}.pronostico-button-dashboard{display:none}.result-indicator-dashboard{display:flex;align-items:center;font-weight:600;font-size:16px}.result-indicator-dashboard .emoji{margin-right:4px;font-size:18px}.result-indicator-dashboard .points{font-weight:700;border-radius:4px;padding:2px 6px}.result-indicator-dashboard.correct-score{color:#43a047}.result-indicator-dashboard.correct-score .points{background-color:#43a04726;color:#43a047}.result-indicator-dashboard.correct-result{color:#ff9800}.result-indicator-dashboard.correct-result .points{background-color:#ff980026;color:#ff9800}.result-indicator-dashboard.wrong-result{color:#e53935}.toast-message{position:fixed;top:20px;right:20px;z-index:1000;padding:12px 20px;border-radius:4px;box-shadow:0 4px 12px #00000026;animation:slideIn .3s ease-out forwards,fadeOut .5s ease-in 4.5s forwards;max-width:300px;opacity:1}.toast-message.success{background-color:#43a047;color:#fff}.toast-message.error{background-color:#e53935;color:#fff}.toast-content{display:flex;align-items:center;font-weight:500}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.toast-message.hide{animation:slideOut .3s ease-in forwards}@keyframes fadeOut{0%{opacity:1}to{opacity:0;visibility:hidden}}.dashboard-news-message{background-color:#fef5e7;border-left:4px solid #f39c12;color:#7d5b02;padding:1rem 1.5rem;margin:0 auto 2rem;border-radius:4px;max-width:800px;font-size:.95rem;line-height:1.5;text-align:center;box-shadow:0 2px 5px #0000000d}.dashboard-news-message strong{font-weight:600}.dashboard-news-message a{color:#e67e22;font-weight:600;text-decoration:none;transition:all .2s ease}.dashboard-news-message a:hover{color:#d35400;text-decoration:underline}@media (max-width: 480px){.dashboard-news-message{padding:.75rem 1rem;font-size:.9rem;margin-bottom:1.5rem}}.pronostico-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.pronostico-modal{background-color:#fff;border-radius:12px;padding:20px;width:100%;max-width:500px;max-height:90vh;position:relative;box-shadow:0 10px 25px #0003;overflow-y:auto;overflow-x:hidden}.pronostico-modal-close{position:absolute;top:15px;right:15px;background:none;border:none;font-size:24px;cursor:pointer;color:#8a8f98;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%}.pronostico-modal-close:hover{background-color:#f3f5f9;color:var(--primary-color)}.pronostico-modal-title{font-size:20px;font-weight:700;margin-bottom:20px;color:var(--primary-color);text-align:center}.pronostico-modal-content{margin-bottom:20px}.pronostico-modal-teams-horizontal{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;width:100%}.pronostico-modal-team-section{display:flex;flex-direction:column;align-items:center;flex:1 1 0;min-width:0;max-width:none}.pronostico-modal-team{display:flex;flex-direction:column;align-items:center;width:100%;min-width:0;flex-shrink:1}.pronostico-modal-team-logo{width:80px;height:80px;display:flex;justify-content:center;align-items:center;margin-bottom:10px;border-radius:50%;background-color:#e0e0e0;box-shadow:0 4px 8px #0000001a;overflow:hidden;padding:8px}.pronostico-modal-team-logo img{width:100%;height:100%;object-fit:contain}.pronostico-modal-team-name{font-weight:600;font-size:16px;text-align:center;color:var(--text-color);max-width:100%;overflow:hidden;text-overflow:ellipsis}.pronostico-modal-score{display:flex;align-items:center;gap:6px;flex-shrink:0;flex-basis:auto}.pronostico-modal-input{width:50px;height:50px;text-align:center;font-size:22px;font-weight:700;border:2px solid #e0e0e0;border-radius:8px;background-color:#f9f9f9}.pronostico-modal-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-color-rgb),.2)}.pronostico-modal-score-separator{font-size:24px;font-weight:700;color:#dbdade}.pronostico-modal-actions{display:flex;justify-content:center}.pronostico-modal-save{background-color:var(--primary-color);color:#fff;border:none;border-radius:8px;padding:12px 24px;font-size:16px;font-weight:600;cursor:pointer}.pronostico-modal-save:hover{background-color:#1a7f4b}.pronostico-modal-save:disabled{background-color:#ccc;cursor:not-allowed}.ultime-partite-squadra{margin-top:10px;width:100%}.ultime-partite-list{display:flex;flex-direction:column;gap:4px;width:100%}.ultima-partita-item{display:flex;align-items:center;justify-content:space-between;gap:3px;padding:4px 6px;background-color:#f9f9f9;border-radius:4px;font-size:10px;min-width:0;flex-wrap:nowrap;width:100%;box-sizing:border-box;overflow:hidden}.ultima-partita-logo-wrapper{width:18px;height:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.ultima-partita-logo{width:100%;height:100%;object-fit:contain;flex-shrink:0;display:block}.ultima-partita-risultato{font-weight:600;color:var(--text-color);text-align:center;flex:0 0 auto;white-space:nowrap;font-size:9px;padding:0 2px}.ultima-partita-esito{font-weight:700;font-size:12px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.ultima-partita-esito.win{color:#2ecc71;background-color:#2ecc711a}.ultima-partita-esito.draw{color:#f39c12;background-color:#f39c121a}.ultima-partita-esito.loss{color:#e74c3c;background-color:#e74c3c1a}@media (max-width: 768px){.pronostico-modal{padding:15px;max-width:calc(100% - 20px);max-height:95vh}.pronostico-modal-title{font-size:18px;margin-bottom:15px}.pronostico-modal-teams-horizontal{gap:6px}.pronostico-modal-team-logo{width:60px;height:60px}.pronostico-modal-team-logo img{width:100%;height:100%;object-fit:contain}.pronostico-modal-team-name{font-size:13px;line-height:1.3}.pronostico-modal-score{gap:4px;flex-shrink:0}.pronostico-modal-input{width:42px;height:40px;font-size:18px}.pronostico-modal-score-separator{font-size:20px}.pronostico-modal-save{padding:10px 20px;font-size:14px}.ultime-partite-squadra{margin-top:10px}.ultima-partita-item{padding:4px 5px;font-size:9px;gap:2px}.ultima-partita-logo-wrapper{width:16px;height:16px}.ultima-partita-logo{width:100%;height:100%;object-fit:contain;flex-shrink:0;display:block}.ultima-partita-risultato{font-size:8px}.ultima-partita-esito{width:14px;height:14px;font-size:10px}}@media (max-width: 480px){.pronostico-modal{padding:12px;max-width:calc(100% - 16px);max-height:98vh}.pronostico-modal-title{font-size:16px;margin-bottom:12px}.pronostico-modal-teams-horizontal{gap:8px}.pronostico-modal-team-logo{width:45px;height:45px}.pronostico-modal-team-logo img{width:100%;height:100%;object-fit:contain}.pronostico-modal-team-name{font-size:11px;max-width:100%;line-height:1.2}.pronostico-modal-score{flex-shrink:0;gap:3px}.pronostico-modal-input{width:38px;height:35px;font-size:16px}.pronostico-modal-score-separator{font-size:16px}.ultime-partite-squadra{margin-top:8px}.ultima-partita-item{padding:3px 4px;font-size:8px;gap:2px}.ultima-partita-logo-wrapper{width:14px;height:14px}.ultima-partita-logo{width:100%;height:100%;object-fit:contain;flex-shrink:0;display:block}.ultima-partita-risultato{font-size:7px}.ultima-partita-esito{width:12px;height:12px;font-size:9px}}.dashboard-recap{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px 20px 60px;text-align:center;max-width:800px;margin-left:auto;margin-right:auto;position:relative}.dashboard-recap h2{color:var(--primary-color);margin-top:0;margin-bottom:var(--spacing-md);font-size:1.3rem}.dashboard-stats{display:flex;justify-content:center;gap:var(--spacing-md);flex-wrap:wrap}.dashboard-punteggio,.dashboard-risultati,.dashboard-esiti{display:flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius)}.dashboard-punteggio{background-color:var(--primary-color);color:#fff}.dashboard-risultati{background-color:#43a047;color:#fff}.dashboard-esiti{background-color:#1e88e5;color:#fff}@media (max-width: 768px){.dashboard-stats{gap:var(--spacing-sm)}.dashboard-punteggio,.dashboard-risultati,.dashboard-esiti{padding:var(--spacing-xs) var(--spacing-xs)}.punteggio-label,.risultati-label,.esiti-label{font-size:.8rem}.punteggio-value,.risultati-value,.esiti-value{font-size:1rem}}@media (max-width: 480px){.dashboard-stats{flex-direction:column;align-items:center}.dashboard-punteggio,.dashboard-risultati,.dashboard-esiti{width:100%;justify-content:center;margin-bottom:var(--spacing-xs)}}.whatsapp-share-button{position:absolute;bottom:20px;right:20px;background:none;border:none;padding:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s ease;z-index:10}.whatsapp-share-button:hover{transform:scale(1.1)}.whatsapp-share-button svg{width:32px;height:32px;color:#25d366}@media (max-width: 768px){.whatsapp-share-button{bottom:15px;right:15px}.whatsapp-share-button svg{width:28px;height:28px}.competition-filter{flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.competition-filter-label{text-align:center}.competition-filter-select{width:100%}}.giocatore-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.giocatore-modal{background-color:#fff;border-radius:12px;padding:20px;width:100%;max-width:800px;max-height:90vh;position:relative;box-shadow:0 10px 25px #0003;overflow-y:auto;overflow-x:hidden}.giocatore-modal-close{position:absolute;top:15px;right:15px;background:none;border:none;font-size:24px;cursor:pointer;color:#8a8f98;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%}.giocatore-modal-close:hover{background-color:#f3f5f9;color:var(--primary-color)}.giocatore-modal-title{font-size:24px;font-weight:700;margin-bottom:10px;color:var(--primary-color);text-align:center}.giocatore-modal-stats{display:flex;justify-content:center;align-items:center;gap:15px;font-size:14px;color:var(--text-muted);margin-bottom:20px;font-weight:500}.giocatore-modal-stats span{font-weight:600}.giocatore-modal-loading,.giocatore-modal-no-data{text-align:center;padding:40px 20px;color:var(--text-muted)}.giocatore-modal-content{margin-top:20px}.giocatore-modal-turno{margin-bottom:30px;border-bottom:2px solid #e0e0e0;padding-bottom:20px}.giocatore-modal-turno:last-child{border-bottom:none}.giocatore-modal-turno-header{margin-bottom:15px}.giocatore-modal-turno-header h3{font-size:18px;font-weight:600;color:var(--text-color);margin-bottom:8px}.giocatore-modal-pronostici{display:flex;flex-direction:column;gap:12px}.giocatore-modal-pronostico-item{background-color:#f9f9f9;border-radius:8px;padding:15px;border:1px solid #e0e0e0}.giocatore-modal-partita-teams{display:flex;align-items:center;justify-content:space-between;gap:15px}.giocatore-modal-team{display:flex;flex-direction:column;align-items:center;flex:1;min-width:0}.giocatore-modal-team-logo{width:50px;height:50px;object-fit:contain;margin-bottom:8px}.giocatore-modal-team-name{font-size:12px;font-weight:600;text-align:center;color:var(--text-color);word-break:break-word}.giocatore-modal-score{display:flex;flex-direction:column;align-items:center;gap:5px;flex:0 0 auto;min-width:120px}.giocatore-modal-risultato{font-size:20px;font-weight:700;color:var(--text-color)}.giocatore-modal-pronostico{font-size:14px;color:var(--text-muted)}.giocatore-modal-punti{font-size:14px;font-weight:600;padding:4px 8px;border-radius:4px;background-color:#f3f5f9;line-height:1.2;display:flex;align-items:center;gap:10px}.giocatore-modal-punti .checkmarks-group{display:inline-flex;align-items:center;gap:9px}.giocatore-modal-punti .checkmark{font-size:10px;display:inline-block}.giocatore-modal-punti .cross{font-size:12px;display:inline-block}.giocatore-modal-punti .punti-numero{font-size:11px;display:inline-block;white-space:nowrap;letter-spacing:0;word-spacing:0}.giocatore-modal-punti.punti-tre,.giocatore-modal-punti.punti-uno{color:#2ecc71}.giocatore-modal-punti.punti-zero{color:#e74c3c}.giocatore-link-button{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:inherit;font-family:inherit;text-decoration:underline;padding:0}.giocatore-link-button:hover{color:#1a7f4b}@media (max-width: 768px){.giocatore-modal{padding:15px;max-width:calc(100% - 20px);max-height:95vh}.giocatore-modal-title{font-size:18px}.giocatore-modal-stats{gap:8px;font-size:11px;flex-wrap:wrap}.giocatore-modal-partita-teams{gap:5px}.giocatore-modal-team{flex:1;min-width:0}.giocatore-modal-team-logo{width:30px;height:30px;margin-bottom:4px}.giocatore-modal-team-name{font-size:10px}.giocatore-modal-score{min-width:80px;gap:3px}.giocatore-modal-risultato{font-size:16px}.giocatore-modal-pronostico{font-size:11px}.giocatore-modal-punti{font-size:12px;padding:2px 6px}.giocatore-modal-punti{gap:8px}.giocatore-modal-punti .checkmarks-group{gap:7px}.giocatore-modal-punti .checkmark{font-size:9px}.giocatore-modal-punti .cross,.giocatore-modal-punti .punti-numero{font-size:10px}.giocatore-modal-pronostico-item{padding:10px}.giocatore-modal-turno-header h3{font-size:16px}}@media (max-width: 480px){.giocatore-modal{padding:12px;max-width:calc(100% - 16px)}.giocatore-modal-title{font-size:16px}.giocatore-modal-stats{gap:6px;font-size:10px}.giocatore-modal-partita-teams{gap:3px}.giocatore-modal-team-logo{width:25px;height:25px;margin-bottom:3px}.giocatore-modal-team-name{font-size:9px}.giocatore-modal-score{min-width:70px;gap:2px}.giocatore-modal-risultato{font-size:14px}.giocatore-modal-pronostico{font-size:10px}.giocatore-modal-punti{font-size:11px;padding:2px 4px}.giocatore-modal-punti{gap:6px}.giocatore-modal-punti .checkmarks-group{gap:5px}.giocatore-modal-punti .checkmark{font-size:8px}.giocatore-modal-punti .cross,.giocatore-modal-punti .punti-numero{font-size:9px}.giocatore-modal-pronostico-item{padding:8px}.giocatore-modal-turno-header h3{font-size:14px}}.competition-detail-page{padding:var(--spacing-lg) 0}.competition-header{margin-bottom:var(--spacing-xl)}.back-button{background-color:var(--border-color);color:var(--text-color);border:none;border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-md);cursor:pointer;transition:background-color .2s;margin-bottom:var(--spacing-md)}.competition-title-section{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);flex-wrap:wrap}.competition-title{color:var(--primary-color);font-size:2rem;margin:0;font-weight:700}.competition-badge{display:inline-block;padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;white-space:nowrap}.competition-badge.active{background-color:#2ecc71;color:#fff}.competition-badge.inactive{background-color:#95a5a6;color:#fff}.competition-badge.finished{background-color:#7f8c8d;color:#fff}.competition-badge.upcoming{background-color:#f39c12;color:#fff}.competition-description{color:var(--text-color-light);font-size:var(--font-size-md);margin-top:var(--spacing-sm);line-height:1.6}.competition-tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);border-bottom:2px solid var(--border-color)}.section-title{color:var(--primary-color);font-size:1.5rem;margin-bottom:var(--spacing-md);margin-top:var(--spacing-lg);font-weight:600}.no-partite,.no-ranking{text-align:center;padding:var(--spacing-xl);color:var(--text-color-light);font-style:italic}.ranking-table{background-color:#fff;border-radius:var(--border-radius);overflow:hidden;box-shadow:0 2px 4px #0000001a}.ranking-header{display:grid;grid-template-columns:60px 1fr 100px;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--primary-color);color:#fff;font-weight:600;font-size:var(--font-size-md)}.ranking-row{display:grid;grid-template-columns:60px 1fr 100px;gap:var(--spacing-md);padding:var(--spacing-md);border-bottom:1px solid var(--border-color)}.ranking-row .giocatore-link{color:var(--text-color);text-decoration:none;font-weight:500;display:inline-block;transition:color .2s}.ranking-row .giocatore-link:hover{color:var(--primary-color);text-decoration:underline}transition: background-color .2s; } .ranking-row:hover{background-color:#f9f9f9}.ranking-row:last-child{border-bottom:none}.ranking-col{display:flex;align-items:center}.ranking-col.position{font-weight:700;color:var(--primary-color);justify-content:center}.ranking-col.name{font-weight:500;color:var(--text-color)}.ranking-col.points{font-weight:700;color:var(--primary-color);justify-content:flex-end}.loading,.error-message{text-align:center;padding:var(--spacing-xl);color:var(--text-color)}.error-message{color:var(--error-color);background-color:#e74c3c1a;border-radius:var(--border-radius);margin-bottom:var(--spacing-md)}@media (max-width: 768px){.competition-title{font-size:1.5rem}.ranking-header,.ranking-row{grid-template-columns:50px 1fr 80px;gap:var(--spacing-sm);padding:var(--spacing-sm)}.ranking-col.position,.ranking-col.points{font-size:var(--font-size-sm)}}.campionati-section{margin-top:var(--spacing-lg)}.campionati-list{display:flex;flex-direction:column;gap:var(--spacing-xl)}.campionato-card{background-color:#fff;border-radius:var(--border-radius);padding:var(--spacing-lg);box-shadow:0 2px 8px #0000001a}.campionato-header{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--border-color)}.campionato-title{color:var(--primary-color);font-size:1.5rem;margin:0 0 var(--spacing-sm) 0;font-weight:600}.campionato-description{color:var(--text-color-light);font-size:var(--font-size-md);margin:var(--spacing-sm) 0;line-height:1.6}.campionato-badge{display:inline-block;padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:600;background-color:#2ecc71;color:#fff;margin-top:var(--spacing-sm)}.campionato-ranking-wrapper{margin-top:var(--spacing-md)}.campionato-ranking-scroll-hint{display:none;text-align:center;padding:var(--spacing-xs) 0;color:var(--text-color-light);font-size:.75rem;font-style:italic;margin-bottom:var(--spacing-xs)}.campionato-ranking{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.campionato-ranking::-webkit-scrollbar{height:6px}.campionato-ranking::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.campionato-ranking::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:3px}.campionato-ranking::-webkit-scrollbar-thumb:hover{background:var(--primary-dark)}.campionato-ranking .ranking-header{display:grid;grid-template-columns:50px 2fr 80px 60px 50px 50px 50px 50px 50px 50px;gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--primary-color);color:#fff;font-weight:600;font-size:var(--font-size-sm);min-width:800px;position:relative}.campionato-ranking .ranking-header .ranking-col.squadra{background-color:var(--primary-color);box-shadow:none;border-right:1px solid rgba(255,255,255,.2);z-index:12}.campionato-ranking .ranking-row{display:grid;grid-template-columns:50px 2fr 80px 60px 50px 50px 50px 50px 50px 50px;gap:var(--spacing-sm);padding:var(--spacing-md);border-bottom:1px solid var(--border-color);min-width:800px;position:relative}.campionato-ranking .ranking-row:hover .ranking-col.squadra{background-color:#f9f9f9}.campionato-ranking .ranking-col{display:flex;align-items:center;font-size:var(--font-size-sm)}.campionato-ranking .ranking-col.position{font-weight:700;color:var(--primary-color);justify-content:center;position:sticky;left:0;background-color:#fff;z-index:10;padding-right:var(--spacing-md);padding-left:var(--spacing-xs);box-shadow:none;border-right:1px solid rgba(0,0,0,.08);min-width:50px}.campionato-ranking .ranking-header .ranking-col.position{background-color:var(--primary-color);color:#fff;z-index:13;box-shadow:none;border-right:1px solid rgba(255,255,255,.2)}.campionato-ranking .ranking-row:hover .ranking-col.position{background-color:#f9f9f9}.campionato-ranking .ranking-col.squadra{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:500;position:sticky;left:50px;background-color:#fff;z-index:11;padding-right:var(--spacing-sm);padding-left:var(--spacing-md);box-shadow:none;border-right:1px solid rgba(0,0,0,.08);min-width:0}.campionato-ranking .ranking-col.stats{justify-content:center;color:var(--text-color)}.campionato-ranking .ranking-col.points{font-weight:700;color:var(--primary-color);justify-content:flex-end}.squadra-logo-small{width:24px;height:24px;object-fit:contain;border-radius:4px}.no-campionati{text-align:center;padding:var(--spacing-xl);color:var(--text-color-light);font-style:italic}@media (max-width: 768px){.campionato-card{padding:var(--spacing-md)}.campionato-title{font-size:1.25rem}.campionato-ranking-scroll-hint{display:block}.campionato-ranking{margin-left:calc(-1 * var(--spacing-md));margin-right:calc(-1 * var(--spacing-md));padding:0 var(--spacing-md)}.campionato-ranking .ranking-header,.campionato-ranking .ranking-row{min-width:700px;grid-template-columns:45px 1.8fr 70px 55px 45px 45px 45px 45px 45px 45px;font-size:.75rem;gap:6px;padding:var(--spacing-sm) var(--spacing-xs)}.campionato-ranking .ranking-col{font-size:.75rem}.campionato-ranking .ranking-col.position{left:0}.campionato-ranking .ranking-col.squadra{left:45px}.squadra-logo-small{width:22px;height:22px}}@media (max-width: 480px){.competition-title-section{flex-direction:column;align-items:flex-start}.ranking-header,.ranking-row{grid-template-columns:40px 1fr 60px;font-size:var(--font-size-sm)}.campionato-card{padding:var(--spacing-sm);margin:0 calc(-1 * var(--spacing-sm));border-radius:0}.campionato-header{padding-bottom:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.campionato-title{font-size:1.1rem}.campionato-description{font-size:var(--font-size-sm)}.campionato-ranking{margin-left:calc(-1 * var(--spacing-sm));margin-right:calc(-1 * var(--spacing-sm));padding:0 var(--spacing-sm)}.campionato-ranking .ranking-header,.campionato-ranking .ranking-row{min-width:650px;grid-template-columns:35px 1.5fr 65px 50px 40px 40px 40px 40px 40px 40px;font-size:.65rem;gap:4px;padding:8px 4px}.campionato-ranking .ranking-col{font-size:.65rem}.campionato-ranking .ranking-col.position{font-size:.7rem;left:0}.campionato-ranking .ranking-col.squadra{gap:6px;min-width:0;overflow:hidden;left:35px}.campionato-ranking .ranking-col.squadra span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.campionato-ranking .ranking-col.points{font-size:.75rem;font-weight:800}.squadra-logo-small{width:18px;height:18px;flex-shrink:0}}@media (max-width: 360px){.campionato-ranking .ranking-header,.campionato-ranking .ranking-row{min-width:600px;grid-template-columns:30px 1.3fr 60px 45px 35px 35px 35px 35px 35px 35px;font-size:.6rem;gap:3px;padding:6px 3px}.campionato-ranking .ranking-col{font-size:.6rem}.campionato-ranking .ranking-col.position{left:0}.campionato-ranking .ranking-col.squadra{left:30px}.squadra-logo-small{width:16px;height:16px}}.classifica-page{padding:var(--spacing-md);overflow-y:auto;-webkit-overflow-scrolling:touch}.classifica-page h1{color:var(--primary-color);margin-bottom:var(--spacing-md)}.no-classifica{background-color:#fff;border-radius:var(--border-radius);padding:var(--spacing-md);text-align:center;box-shadow:0 2px 8px #0000001a}.classifica-container{background-color:#fff;border-radius:var(--border-radius);padding:var(--spacing-md);box-shadow:0 2px 8px #0000001a;overflow-x:auto}.classifica-table{width:100%;border-collapse:collapse}.classifica-table th,.classifica-table td{padding:var(--spacing-sm);text-align:left;border-bottom:1px solid var(--border-color)}.classifica-table th{font-weight:600;color:var(--primary-color);border-bottom:2px solid var(--primary-color);white-space:nowrap}.classifica-table tr:nth-child(2n){background-color:var(--background-color)}.classifica-table tr:hover{background-color:#00000008}.classifica-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;transition:background-color .2s}.classifica-table th.sortable:hover{background-color:#1e84491a}.sort-icon{margin-left:2px;font-size:.8rem;display:inline-block;color:var(--primary-color)}.posizione{width:60px;text-align:center;font-weight:600;color:var(--text-color)}.medal{font-size:1.2rem;margin-right:var(--spacing-xs)}.giocatore{min-width:180px}.giocatore-link{color:var(--text-color);text-decoration:none;font-weight:500;display:inline-block;transition:color .2s}.giocatore-link:hover{color:var(--primary-color);text-decoration:underline}.punteggio,.risultati,.esiti{width:80px;text-align:center}.current-user{background-color:#1e84491a!important;font-weight:500}.tu-label{font-size:.8rem;color:var(--primary-color);margin-left:var(--spacing-xs);font-weight:600;display:inline-block}.error{background-color:#f8d7da;color:#721c24;padding:var(--spacing-md);border-radius:var(--border-radius);margin-bottom:var(--spacing-md)}.column-title{display:inline-block}.classifica-info{background-color:#1e84491a;border-left:3px solid var(--primary-color);padding:var(--spacing-sm);margin-bottom:var(--spacing-md);font-size:.9rem;color:var(--text-color);border-radius:var(--border-radius)}.view-mode-selector{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.view-mode-button{padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--primary-color);background-color:transparent;color:var(--primary-color);border-radius:var(--border-radius);cursor:pointer;font-weight:500;transition:all .2s ease}.view-mode-button:hover{background-color:#1e84491a}.view-mode-button.active{background-color:var(--primary-color);color:#fff}.top-performers-container{display:flex;flex-direction:column;gap:var(--spacing-lg)}.turno-section{background-color:#fff;border-radius:var(--border-radius);padding:var(--spacing-md);box-shadow:0 2px 8px #0000001a}.turno-section h3{color:var(--primary-color);margin-bottom:var(--spacing-md);font-size:1.2rem}.top-performers-table{width:100%;border-collapse:collapse}.top-performers-table th,.top-performers-table td{padding:var(--spacing-sm);text-align:left;border-bottom:1px solid var(--border-color)}.top-performers-table th{font-weight:600;color:var(--primary-color);border-bottom:2px solid var(--primary-color)}.top-performers-table tr:nth-child(2n){background-color:var(--background-color)}.top-performers-table tr:hover{background-color:#00000008}.top-performers-table .giocatore-link{font-weight:600;color:#333;text-decoration:none;transition:color .2s ease}.top-performers-table .giocatore-link:hover{color:#4caf50}.turno-selector{margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm)}.turno-selector label{font-weight:500;color:var(--text-color)}.turno-select{padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:#fff;font-size:1rem;color:var(--text-color);cursor:pointer;min-width:200px;transition:border-color .2s ease}.turno-select:hover{border-color:var(--primary-color)}.turno-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #1e84491a}@media (max-width: 768px){.classifica-table th,.classifica-table td{padding:var(--spacing-xs);font-size:.95rem}.posizione{width:40px}.giocatore{min-width:120px}.punteggio,.risultati,.esiti{width:40px}.sort-icon{margin-left:2px;font-size:.7rem}.classifica-info{font-size:.85rem;padding:var(--spacing-xs)}.view-mode-selector{flex-direction:column}.view-mode-button{width:100%}.turno-section{padding:var(--spacing-sm)}.turno-section h3{font-size:1.1rem}.turno-selector{flex-direction:column;align-items:stretch;gap:var(--spacing-xs)}.turno-select{width:100%}}@media (max-width: 576px){.classifica-table{font-size:.85rem}.classifica-table th{font-size:.8rem;padding:4px 2px}.posizione{width:30px}.medal{font-size:1rem}.giocatore{min-width:100px}.punteggio,.risultati,.esiti{width:30px}.classifica-info{font-size:.8rem}}@media (max-width: 480px){.classifica-table{font-size:.75rem}.classifica-table th{font-size:.7rem;padding:4px 1px}.punteggio,.risultati,.esiti{width:25px}.sort-icon{font-size:.6rem}.giocatore{min-width:90px}}@media (max-width: 380px){.classifica-table{font-size:.7rem}.classifica-table th{font-size:.65rem;padding:4px 0}.punteggio,.risultati,.esiti{width:22px}.giocatore{min-width:80px}.posizione{width:25px}}@media (max-width: 350px){.classifica-table{font-size:.65rem}.classifica-table th{font-size:.6rem}.punteggio,.risultati,.esiti{width:20px}.giocatore{min-width:70px}.posizione{width:20px}.medal{font-size:.9rem}.tu-label{font-size:.6rem}}@media (display-mode: standalone){.classifica-page{padding-bottom:env(safe-area-inset-bottom)}}.profile-page{padding:var(--spacing-md) 0}.profile-container{max-width:600px;margin:0 auto;background-color:#fff;border-radius:var(--border-radius);box-shadow:0 2px 8px #0000001a;padding:var(--spacing-xl)}.profile-page h1{color:var(--primary-color);margin-bottom:var(--spacing-lg);text-align:center}.profile-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{font-weight:600;color:var(--text-color)}.form-group input{padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size-md)}.form-group input:focus{border-color:var(--primary-color);outline:none}.disabled-input{background-color:var(--background-color);cursor:not-allowed;opacity:.7}.input-help{font-size:var(--font-size-xs);color:var(--text-color);opacity:.7}.save-button{background-color:var(--primary-color);color:var(--text-light);border:none;border-radius:var(--border-radius);padding:var(--spacing-md);font-size:var(--font-size-md);font-weight:600;cursor:pointer;margin-top:var(--spacing-md);transition:background-color .2s}.save-button:hover{background-color:var(--secondary-color)}.save-button:disabled{opacity:.7;cursor:not-allowed}.error-message{background-color:#e74c3c1a;color:var(--error-color);padding:var(--spacing-md);border-radius:var(--border-radius);margin-bottom:var(--spacing-md)}.success-message{background-color:#2ecc711a;color:var(--success-color);padding:var(--spacing-md);border-radius:var(--border-radius);margin-bottom:var(--spacing-md)}.loading{display:flex;justify-content:center;align-items:center;min-height:200px;font-size:var(--font-size-lg);color:var(--primary-color)}.account-linking-section{margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--border-color)}.account-linking-section h2{color:var(--primary-color);margin-bottom:var(--spacing-md);font-size:var(--font-size-lg)}.account-link-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background-color:var(--background-color);border-radius:var(--border-radius);margin-bottom:var(--spacing-md)}.account-link-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.account-link-label{font-weight:600;color:var(--text-color)}.account-link-status{font-size:var(--font-size-sm);padding:2px 8px;border-radius:12px;display:inline-block;width:fit-content}.account-link-status.linked{background-color:#2ecc711a;color:var(--success-color)}.account-link-status.not-linked{background-color:#95a5a61a;color:#7f8c8d}.link-account-button{background-color:#fff;color:var(--primary-color);border:1px solid var(--primary-color);border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .2s}.link-account-button:hover{background-color:var(--primary-color);color:#fff}.link-account-button:disabled{opacity:.6;cursor:not-allowed}.account-link-help{font-size:var(--font-size-sm);color:var(--text-color);opacity:.7;margin-top:var(--spacing-sm);line-height:1.5}@media (max-width: 768px){.profile-container{padding:var(--spacing-md)}.account-link-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.link-account-button{width:100%}}.admin-page{padding:var(--spacing-lg) 0}.admin-page h1{color:var(--primary-color);margin-bottom:var(--spacing-lg);text-align:center}.admin-card{background-color:#fff;border-radius:var(--border-radius);box-shadow:0 2px 8px #0000001a;padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.admin-card h2{color:var(--primary-color);margin-bottom:var(--spacing-md);font-size:var(--font-size-lg)}.admin-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-group{display:flex;flex-direction:column;margin-bottom:var(--spacing-md)}.form-group label{font-weight:500;margin-bottom:var(--spacing-xs);color:var(--text-color)}.form-group select,.form-group input,.form-group textarea{padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size-md);background-color:#fff;font-family:inherit}.form-group select:focus,.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #1e844933}.form-group textarea{resize:vertical;min-height:80px}.admin-button{background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-md);font-weight:500;cursor:pointer;transition:background-color .2s;margin-top:var(--spacing-sm);align-self:flex-start}.admin-button:hover{background-color:var(--secondary-color)}.admin-button:disabled{background-color:var(--border-color);cursor:not-allowed}.error{background-color:#e74c3c1a;color:var(--error-color);padding:var(--spacing-sm);border-radius:var(--border-radius);margin-bottom:var(--spacing-md);font-size:var(--font-size-sm)}.success{background-color:#2ecc711a;color:var(--success-color);padding:var(--spacing-sm);border-radius:var(--border-radius);margin-bottom:var(--spacing-md);font-size:var(--font-size-sm)}.loading{display:flex;justify-content:center;align-items:center;padding:var(--spacing-lg);font-size:var(--font-size-md);color:var(--text-color)}.partite-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.no-partite{text-align:center;padding:var(--spacing-lg);color:var(--text-color);font-style:italic}.partita-item{display:flex;justify-content:space-between;align-items:center;background-color:#fff;border-radius:var(--border-radius);padding:var(--spacing-md);box-shadow:0 1px 3px #0000001a;border-left:4px solid var(--primary-color)}.partita-info{flex:1}.partita-data{font-size:var(--font-size-sm);color:var(--text-color);margin-bottom:var(--spacing-xs);font-style:italic}.partita-teams{font-size:var(--font-size-md);font-weight:500;margin-bottom:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-sm)}.team-casa,.team-ospite{color:var(--primary-color)}.vs{color:var(--text-color);font-size:var(--font-size-sm);font-weight:400}.partita-risultato{font-size:var(--font-size-sm);color:var(--text-color)}.partita-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.partita-actions-row{display:flex;gap:.5rem;width:100%}.partita-actions-row button{flex:1}.delete-button{background-color:var(--error-color);color:#fff;border:none;border-radius:var(--border-radius);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);cursor:pointer;transition:background-color .2s}.delete-button:hover{background-color:#c0392b}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#fff;padding:2rem;border-radius:8px;max-width:500px;width:90%;box-shadow:0 4px 8px #0003}.modal-content h3{margin-top:0;color:#333}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.cancel-button{background-color:#6c757d;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:background-color .2s}.cancel-button:hover{background-color:#5a6268}.confirm-button{background-color:#007bff;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:background-color .2s}.confirm-button:hover{background-color:#0069d9}.edit-button{background-color:#28a745;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:background-color .2s;margin-right:.5rem}.edit-button:hover{background-color:#218838}.download-image-button,.download-appointment-button{background-color:#007bff;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:background-color .2s;margin-right:.5rem;font-size:var(--font-size-sm)}.download-image-button:hover{background-color:#0056b3}.download-image-button:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.6}.risultato-form{margin-top:1rem}.risultato-inputs{display:flex;align-items:center;justify-content:center;gap:1rem}.risultato-separator{font-size:1.5rem;font-weight:700;margin:0 .5rem}.risultato-note{margin-top:1rem;font-size:.9rem;color:#6c757d;font-style:italic}.partita-risultato{margin-top:.5rem;font-weight:700}.admin-actions{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;margin-top:1rem}.recalculate-button{background-color:#6f42c1;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;transition:background-color .2s;font-weight:700;display:flex;align-items:center;justify-content:center}.recalculate-button:hover{background-color:#5a32a3}.recalculate-button:disabled{background-color:#b8a2db;cursor:not-allowed}.action-description{font-size:.9rem;color:#6c757d;line-height:1.5;margin-top:.5rem}@media (max-width: 768px){.admin-card{padding:var(--spacing-md)}.admin-button{width:100%}.partita-item{flex-direction:column;align-items:flex-start}.partita-actions{margin-top:var(--spacing-sm);align-self:flex-end}.modal-content{width:95%;padding:var(--spacing-md)}.modal-actions{flex-direction:column}.cancel-button,.confirm-button{width:100%}}.admin-tabs{display:flex;margin-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}.tab-button{padding:var(--spacing-sm) var(--spacing-md);background-color:transparent;border:none;border-bottom:3px solid transparent;font-size:var(--font-size-md);font-weight:500;color:var(--text-color);cursor:pointer;transition:all .2s}.tab-button:hover{color:var(--primary-color)}.tab-button.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.turni-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.turno-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--bg-color-light)}.turno-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.turno-descrizione{font-size:var(--font-size-md);font-weight:500;color:var(--text-color)}.turno-data{font-size:var(--font-size-sm);color:var(--text-color-light)}.turno-actions{display:flex;gap:var(--spacing-sm)}.no-turni{color:var(--text-color-light);text-align:center;padding:var(--spacing-md)}.partita-campionato{font-size:.85rem;color:#4a90e2;margin-bottom:5px;font-style:italic}.countries-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-md)}.country-card{background-color:#fff;border:2px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-lg);text-align:center;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.country-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.country-flag{width:80px;height:80px;display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-sm)}.country-flag img{width:100%;height:100%;object-fit:cover;border-radius:4px}.flag-placeholder{width:100%;height:100%;background-color:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:2rem;font-weight:700}.country-name{font-size:var(--font-size-md);font-weight:600;color:var(--text-color)}.country-code{font-size:var(--font-size-sm);color:var(--text-color-light);text-transform:uppercase}.no-countries{text-align:center;padding:var(--spacing-xl);color:var(--text-color-light);font-style:italic}.country-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.back-button{background-color:var(--border-color);color:var(--text-color);border:none;border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-md);cursor:pointer;transition:background-color .2s}.back-button:hover{background-color:#d0d0d0}.totocompetitions-list{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-md)}.totocompetition-item{background-color:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-md);transition:all .2s;cursor:pointer}.totocompetition-item:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #0000001a;transform:translateY(-2px)}.competition-description{color:var(--text-color-light);font-size:var(--font-size-md);margin-top:var(--spacing-sm);font-style:italic}table{width:100%;border-collapse:collapse;margin-top:var(--spacing-md)}table thead tr{background-color:#f9f9f9;border-bottom:2px solid var(--border-color)}table th{padding:var(--spacing-sm) var(--spacing-md);text-align:left;font-weight:600;color:var(--text-color)}table td{padding:var(--spacing-sm) var(--spacing-md);color:var(--text-color)}table tbody tr{border-bottom:1px solid var(--border-color);transition:background-color .2s}table tbody tr:hover{background-color:#f9f9f9}table tbody tr:last-child{border-bottom:none}@media (max-width: 768px){table{font-size:var(--font-size-sm)}table th,table td{padding:var(--spacing-xs)}}.totocompetition-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.totocompetition-name{font-size:var(--font-size-lg);font-weight:600;color:var(--text-color)}.totocompetition-description{font-size:var(--font-size-md);color:var(--text-color-light);margin-top:var(--spacing-xs)}.totocompetition-dates{font-size:var(--font-size-sm);color:var(--text-color-light);margin-top:var(--spacing-xs)}.totocompetition-status{margin-top:var(--spacing-xs)}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:var(--font-size-sm);font-weight:500}.status-badge.active{background-color:#2ecc711a;color:#27ae60}.status-badge.inactive{background-color:#95a5a61a;color:#7f8c8d}.no-totocompetitions{text-align:center;padding:var(--spacing-xl);color:var(--text-color-light);font-style:italic}.no-totocompetitions small{display:block;margin-top:var(--spacing-sm);font-size:var(--font-size-sm)}@media (max-width: 768px){.countries-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--spacing-sm)}.country-card{padding:var(--spacing-md)}.country-flag{width:60px;height:60px}.country-header{flex-direction:column;align-items:flex-start}.back-button{width:100%}}.partite-form-list{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.partite-form-header{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:var(--spacing-sm);padding:var(--spacing-sm);background-color:#f5f5f5;border-radius:var(--border-radius);font-weight:600;font-size:var(--font-size-sm);color:var(--text-color)}.partita-form-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:var(--spacing-sm);align-items:center;padding:var(--spacing-sm);background-color:#fafafa;border-radius:var(--border-radius);border:1px solid var(--border-color)}.partita-form-field{display:flex;flex-direction:column}.partita-form-field select,.partita-form-field input{padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size-md);background-color:#fff;width:100%}.partita-form-field select:disabled,.partita-form-field input:disabled{background-color:#e0e0e0;cursor:not-allowed}.partita-form-label{text-align:center;font-weight:500}.partita-form-actions{display:flex;gap:var(--spacing-xs);align-items:center;justify-content:center}.partita-add-button,.partita-remove-button{width:32px;height:32px;border-radius:50%;border:none;font-size:20px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.partita-add-button{background-color:var(--primary-color);color:#fff}.partita-add-button:hover{background-color:#1a7f4b;transform:scale(1.1)}.partita-remove-button{background-color:#e53935;color:#fff}.partita-remove-button:hover{background-color:#c62828;transform:scale(1.1)}.partita-add-button:disabled,.partita-remove-button:disabled{background-color:#ccc;cursor:not-allowed;transform:none}@media (max-width: 768px){.partite-form-header,.partita-form-row{grid-template-columns:1fr;gap:var(--spacing-xs)}.partita-form-actions{justify-content:flex-start;margin-top:var(--spacing-xs)}.partita-form-label{text-align:left}}.partite-section-title-admin{color:var(--primary-color);margin-top:var(--spacing-lg);margin-bottom:var(--spacing-md);font-size:var(--font-size-lg);font-weight:600;padding-bottom:var(--spacing-xs);border-bottom:2px solid var(--border-color)}.partita-teams-with-logos{display:flex;align-items:center;justify-content:center;gap:2rem;margin-bottom:var(--spacing-xs);flex-wrap:wrap}.team-with-logo{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);min-width:120px}.team-logo-admin{width:40px;height:40px;object-fit:contain;background-color:#e0e0e0;padding:4px;border-radius:4px}.team-name{font-size:var(--font-size-md);font-weight:500;color:var(--primary-color);text-align:center}.team-score{font-size:1.5rem;font-weight:700;color:var(--primary-color);margin-top:.25rem}.modal-partita-info{margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background-color:#f9f9f9;border-radius:var(--border-radius)}.modal-teams-with-logos{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm);flex-wrap:wrap}.modal-team-with-logo{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);min-width:120px}.modal-team-logo{width:60px;height:60px;object-fit:contain;background-color:#e0e0e0;padding:8px;border-radius:4px}.modal-team-name{font-size:var(--font-size-md);font-weight:600;color:var(--primary-color);text-align:center}.modal-vs{font-size:var(--font-size-lg);font-weight:600;color:var(--text-color);margin:0 var(--spacing-sm)}.modal-partita-date{text-align:center;font-size:var(--font-size-sm);color:var(--text-color-light);font-style:italic;margin-top:var(--spacing-sm)}@media (max-width: 768px){.modal-teams-with-logos{flex-direction:column}.modal-vs{margin:var(--spacing-xs) 0}.partita-teams-with-logos{flex-direction:column;align-items:flex-start}.team-with-logo{width:100%}}.statistiche-filters{display:flex;gap:var(--spacing-lg);align-items:flex-end;flex-wrap:wrap;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--border-color)}.filter-group{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:200px;flex:1}.filter-group label{font-weight:600;color:var(--text-color);font-size:var(--font-size-sm)}.filter-select{padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size-md);background-color:#fff;font-family:inherit;cursor:pointer;transition:border-color .2s}.filter-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #1e844933}.filter-select:disabled{background-color:#f5f5f5;cursor:not-allowed;color:var(--text-color-light)}.statistiche-info{margin-bottom:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background-color:#f9f9f9;border-radius:var(--border-radius);font-size:var(--font-size-sm);color:var(--text-color-light)}@media (max-width: 768px){.statistiche-filters{flex-direction:column;align-items:stretch}.filter-group{min-width:100%}}.statistiche-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:var(--spacing-md)}.statistiche-table{width:100%;border-collapse:collapse;font-size:.85rem;min-width:850px}.statistiche-table thead tr{background-color:var(--primary-color);color:#fff;position:sticky;top:0;z-index:100}.statistiche-table th{padding:var(--spacing-xs) var(--spacing-sm);text-align:center;font-weight:600;white-space:nowrap;font-size:.85rem}.statistiche-table th.sticky-col-1{position:sticky;left:0;background-color:var(--primary-color);z-index:101;text-align:left;min-width:120px;max-width:120px}.statistiche-table th.sticky-col-2{position:sticky;left:120px;background-color:var(--primary-color);z-index:101;text-align:left;min-width:160px;max-width:160px}.statistiche-table tbody tr{border-bottom:1px solid var(--border-color);transition:background-color .2s}.statistiche-table tbody tr:hover{background-color:#f9f9f9}.statistiche-table td{padding:var(--spacing-xs) var(--spacing-sm);text-align:center;font-size:.85rem}.statistiche-table td.sticky-col-1{position:sticky;left:0;background-color:#fff;z-index:10;font-weight:500;text-align:left;min-width:120px;max-width:120px;overflow:hidden;text-overflow:ellipsis}.statistiche-table tbody tr:hover td.sticky-col-1{background-color:#f9f9f9}.statistiche-table td.sticky-col-2{position:sticky;left:120px;background-color:#fff;z-index:10;text-align:left;min-width:160px;max-width:160px;overflow:hidden}.statistiche-table tbody tr:hover td.sticky-col-2{background-color:#f9f9f9}.partita-names,.partita-teams-logos{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.team-logo-wrapper{display:flex;align-items:center;gap:var(--spacing-xs)}.team-logo-stat{width:24px;height:24px;object-fit:contain;border-radius:4px;background-color:#f5f5f5;padding:2px;flex-shrink:0}.team-logo-placeholder{width:24px;height:24px;background-color:var(--primary-color);color:#fff;border-radius:4px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.75em;flex-shrink:0}.team-name-small{font-weight:500;color:var(--text-color);font-size:.8em;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-name{font-weight:500;color:var(--text-color)}.risultato-cell{font-weight:600}.risultato-value{color:var(--primary-color);font-size:1.05em}.no-risultato{color:var(--text-color-light)}.voti-cell{font-weight:500}.tot-voti-cell{font-weight:600;color:var(--primary-color)}.perc-cell{font-weight:500}.perc-cell.max-percent{background-color:#2ecc7126;color:#27ae60;font-weight:700;border-radius:4px}.perc-cell.correct-percent{background-color:#2ecc7140;color:#1e8449;font-weight:800;border-radius:4px;border:2px solid #27ae60;position:relative}.perc-cell.correct-percent:after{content:"✓";margin-left:4px;font-size:.9em}@media (max-width: 768px){.statistiche-table{font-size:.75rem;min-width:750px}.statistiche-table th,.statistiche-table td{padding:6px 8px}.statistiche-table th.sticky-col-1{left:0;min-width:100px;max-width:100px}.statistiche-table th.sticky-col-2{left:100px;min-width:140px;max-width:140px}.statistiche-table td.sticky-col-1{left:0;min-width:100px;max-width:100px}.statistiche-table td.sticky-col-2{left:100px;min-width:140px;max-width:140px}}.expand-button{background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.75rem;transition:all .2s;padding:0}.expand-button:hover{background-color:var(--secondary-color);transform:scale(1.1)}.expand-button:disabled{background-color:#ccc;cursor:not-allowed;opacity:.5}.expanded-row{background-color:#f9f9f9}.pronostici-details-cell{padding:var(--spacing-md)!important;background-color:#f9f9f9;border-top:2px solid var(--border-color)}.pronostici-list{width:100%}.pronostici-title{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-md);font-weight:600;color:var(--primary-color)}.pronostici-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--spacing-sm)}.pronostico-item{background-color:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-sm);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);transition:all .2s}.pronostico-item:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-2px)}.pronostico-item.correct-result{background-color:#2ecc711a;border:2px solid #27ae60;border-radius:var(--border-radius)}.pronostico-score{font-size:1.2em;font-weight:700;color:var(--primary-color)}.pronostico-item.correct-result .pronostico-score{color:#27ae60;font-size:1.3em}.pronostico-count{font-size:.85em;color:var(--text-color-light)}.pronostico-item.correct-result .pronostico-count{color:var(--text-color);font-weight:500}.correct-badge{background-color:#27ae60;color:#fff;padding:2px 8px;border-radius:12px;font-size:.75em;font-weight:600;margin-top:4px}.loading-pronostici,.no-pronostici{text-align:center;padding:var(--spacing-md);color:var(--text-color-light);font-style:italic}@media (max-width: 768px){.pronostici-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--spacing-xs)}.pronostico-item{padding:var(--spacing-xs)}.pronostico-score{font-size:1em}.pronostico-item.correct-result .pronostico-score{font-size:1.1em}}.regole-page{padding:var(--spacing-lg) 0}.regole-page h1{color:var(--primary-color);margin-bottom:var(--spacing-lg);text-align:center}.regole-intro{margin-bottom:var(--spacing-xl);text-align:center;max-width:800px;margin-left:auto;margin-right:auto}.regole-intro p{font-size:var(--font-size-lg);line-height:1.6;color:var(--text-color)}.regole-page .features{margin-bottom:var(--spacing-xl)}.regole-page .features h2{color:var(--primary-color);text-align:center;margin-bottom:var(--spacing-lg);font-size:var(--font-size-xl)}.regole-page .features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}.regole-page .feature-card{background-color:#fff;border-radius:var(--border-radius);padding:var(--spacing-lg);box-shadow:0 2px 8px #0000001a;text-align:center;transition:transform .3s,box-shadow .3s}.regole-page .feature-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px #0000001a}.regole-page .feature-icon{font-size:2.5rem;margin-bottom:var(--spacing-sm)}.regole-page .feature-card h3{color:var(--primary-color);margin-bottom:var(--spacing-sm);font-size:var(--font-size-lg)}.regole-page .feature-card p{color:var(--text-color);line-height:1.5}.regole-dettagliate{margin-top:var(--spacing-xl)}.regole-dettagliate h2{color:var(--primary-color);text-align:center;margin-bottom:var(--spacing-lg);font-size:var(--font-size-xl)}.regole-card{background-color:#fff;border-radius:var(--border-radius);padding:var(--spacing-lg);box-shadow:0 2px 8px #0000001a;margin-bottom:var(--spacing-lg)}.regole-card h3{color:var(--primary-color);margin-bottom:var(--spacing-md);font-size:var(--font-size-lg)}.regole-card ul{padding-left:var(--spacing-lg)}.regole-card li{margin-bottom:var(--spacing-sm);line-height:1.5}.regole-card p{line-height:1.5;color:var(--text-color)}@media (max-width: 768px){.regole-page .features-grid{grid-template-columns:1fr}.regole-intro p{font-size:var(--font-size-md)}}.giocatore-page{padding:var(--spacing-md) 0;max-width:800px;margin:0 auto}.giocatore-header{background-color:#fff;border-radius:var(--border-radius);box-shadow:0 2px 8px #0000001a;padding:var(--spacing-md);margin-bottom:var(--spacing-md);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.giocatore-header h1{color:var(--primary-color);margin:0;font-size:1.5rem}.giocatore-stats{display:flex;flex-direction:row;gap:var(--spacing-sm)}.giocatore-punteggio,.giocatore-risultati,.giocatore-esiti{display:flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius)}.giocatore-punteggio{background-color:var(--primary-color);color:#fff}.giocatore-risultati{background-color:#43a047;color:#fff}.giocatore-esiti{background-color:#1e88e5;color:#fff}.punteggio-label,.risultati-label,.esiti-label{margin-right:var(--spacing-xs);font-weight:500;font-size:.9rem}.punteggio-value,.risultati-value,.esiti-value{font-weight:700;font-size:1.1rem}.error{background-color:#ffebee;color:#c62828;padding:var(--spacing-md);border-radius:var(--border-radius);margin-bottom:var(--spacing-md);text-align:center}.loading{display:flex;justify-content:center;align-items:center;min-height:200px;font-size:1.2rem;color:var(--text-muted)}.no-pronostici{background-color:#fff;border-radius:var(--border-radius);box-shadow:0 2px 8px #0000001a;padding:var(--spacing-xl);text-align:center;color:var(--text-muted)}.turni-container{display:flex;flex-direction:column;gap:var(--spacing-md)}.turno-card{background-color:#fff;border-radius:var(--border-radius);box-shadow:0 2px 8px #0000001a;overflow:hidden}.turno-header{background-color:var(--primary-color);color:#fff;padding:var(--spacing-sm) var(--spacing-md);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.turno-header h2{margin:0;font-size:1.1rem}.turno-data{font-size:.8rem;opacity:.9}.pronostici-list{padding:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-sm)}.pronostico-card{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius);background-color:var(--background-color);transition:transform .2s;min-height:50px;border-left:4px solid transparent}.pronostico-card-elite-maschile{border-left:4px solid var(--primary-color)}.pronostico-card-elite-femminile{border-left:4px solid #9c27b0}.pronostico-card:hover{transform:translateY(-2px);box-shadow:0 2px 4px #0000000d}.partita-info{flex:1;display:flex;flex-direction:row;align-items:center}.partita-teams{display:flex;align-items:center;flex:1;justify-content:space-between}.team{display:flex;align-items:center;gap:var(--spacing-xs);width:40%}.team-casa{justify-content:flex-end;text-align:right}.team-ospite{justify-content:flex-start;text-align:left}.team-logo{width:40px;height:40px;object-fit:contain}.team-name{font-weight:500;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.risultato-container{display:flex;flex-direction:column;align-items:center;padding:0 10px}.risultato-finale{display:flex;flex-direction:row;align-items:center;justify-content:center;margin:.5rem 0;line-height:1}.risultato{font-size:1.2rem;font-weight:700;display:flex;align-items:center;justify-content:center;min-width:1.5rem}.risultato-separator{margin:0 .3rem;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem}.risultato-pending{font-size:.7rem;color:var(--text-muted);font-style:italic}.punti-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:60px;gap:4px}.pronostico-info{display:flex;align-items:center;gap:2px;font-size:.8rem;background-color:#0000000d;padding:2px 6px;border-radius:4px}.pronostico-value{font-size:1.1rem;display:flex;flex-direction:row;align-items:center;justify-content:center;line-height:1}.pronostico-value .risultato-separator{font-size:1.1rem}.pronostico-value.punti-0{color:var(--color-error)}.pronostico-value.punti-1{color:var(--color-success-light)}.pronostico-value.punti-3{color:var(--color-success)}.punti-zero{color:#e53935;font-size:1.2rem}.punti-uno{color:#43a047;font-size:1.2rem;font-weight:700}.punti-tre{color:#43a047;font-size:1.2rem;letter-spacing:-9px}.punti-pending{font-size:.7rem;color:var(--text-muted);font-style:italic}.partita-campionato{font-size:.7rem;font-weight:600;padding:2px 5px;border-radius:var(--border-radius);margin-right:5px;white-space:nowrap}.campionato-maschile{color:var(--primary-color);background-color:#1e84491a}.campionato-femminile{color:#9c27b0;background-color:#9c27b01a}.giocatore-torna-button{background:transparent;border:none;color:var(--primary-color);font-size:.9rem;padding:.5rem 0;margin-bottom:.5rem;cursor:pointer;display:flex;align-items:center;transition:color .3s}.giocatore-torna-button:hover{color:var(--primary-dark-color);text-decoration:underline}@media (max-width: 768px){.giocatore-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.giocatore-stats{width:auto;justify-content:flex-start;gap:var(--spacing-xs)}.giocatore-punteggio,.giocatore-risultati,.giocatore-esiti{padding:var(--spacing-xs) var(--spacing-xs)}.punteggio-label,.risultati-label,.esiti-label{font-size:.8rem}.punteggio-value,.risultati-value,.esiti-value{font-size:1rem}.pronostico-card{min-height:auto;padding:var(--spacing-xs)}.team-name{font-size:.8rem;max-width:70px}.team-logo{width:35px;height:35px}.risultato-finale{font-size:1rem}.pronostico-info{padding:var(--spacing-xs)}}@media (max-width: 576px){.team-name{font-size:.75rem;max-width:60px}.team-logo{width:30px;height:30px}.partita-teams{gap:var(--spacing-xs)}}@media (max-width: 480px){.team-name{font-size:.7rem;max-width:50px}.team-logo{width:25px;height:25px}.partita-teams{gap:var(--spacing-2xs)}.pronostico-card{padding:var(--spacing-2xs)}.giocatore-stats{gap:4px}.giocatore-punteggio,.giocatore-risultati,.giocatore-esiti{padding:4px 6px}.punteggio-label,.risultati-label,.esiti-label{font-size:.7rem}.punteggio-value,.risultati-value,.esiti-value{font-size:.9rem}}@media (max-width: 400px){.team-name{font-size:.65rem;max-width:45px}.team-logo{width:22px;height:22px}}.invito-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:invitaFadeIn .2s ease-out}.invito-modal-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #0003;width:90%;max-width:500px;max-height:calc(100vh - 40px);overflow-y:auto;animation:invitaSlideIn .3s ease-out}.invito-modal-header{padding:16px 20px;border-bottom:1px solid #eaeaea;font-weight:600;font-size:18px;color:#2c3e50}.invito-modal-content{padding:20px;color:#333;font-size:16px;line-height:1.5}.invito-modal-descrizione{margin-bottom:20px}.invito-modal-link-container{display:flex;margin-bottom:20px;border:1px solid #ddd;border-radius:4px;overflow:hidden;flex-direction:column}.invito-modal-link-input{flex:1;padding:10px 12px;border:none;font-size:14px;color:#333;background-color:#f8f9fa;border-bottom:1px solid #ddd}.invito-modal-link-input:focus{outline:none}.invito-modal-actions{display:flex;width:100%}.invito-modal-scaduto{background-color:#fff4f4;padding:15px;border-radius:4px;margin-bottom:20px;text-align:center}.invito-modal-info{margin-top:20px;padding:10px;background-color:#f0f9ff;border-radius:4px;font-size:14px}.invito-modal-footer{padding:16px 20px;border-top:1px solid #eaeaea;display:flex;justify-content:flex-end;gap:10px}.invito-modal-button{padding:8px 16px;border-radius:4px;font-weight:500;cursor:pointer;transition:all .2s;border:none;font-size:14px}.invito-modal-button.copia{background-color:#0074e4;color:#fff;min-width:80px;flex:1;border-radius:0}.invito-modal-button.whatsapp{background-color:#25d366;color:#fff;min-width:80px;flex:1;border-radius:0;display:flex;align-items:center;justify-content:center;gap:5px}.invito-modal-button.copia:hover{background-color:#0062c1}.invito-modal-button.whatsapp:hover{background-color:#1fba57}.invito-modal-button.rigenera{background-color:#3498db;color:#fff;padding:10px 20px;margin-top:10px}.invito-modal-button.rigenera:hover{background-color:#2980b9}.invito-modal-button.rigenera:disabled{background-color:#95a5a6;cursor:not-allowed}.invito-modal-button.chiudi{background-color:#f1f1f1;color:#666}.invito-modal-button.chiudi:hover{background-color:#e1e1e1}.invito-modal-validita{font-size:.9em;font-style:italic;color:#666;display:block;margin-top:5px}.invito-modal-countdown{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;padding:15px;margin-top:15px;margin-bottom:20px}.invito-modal-countdown-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-weight:500}.invito-modal-countdown-timer{font-family:Courier New,monospace;background-color:#212529;color:#f8f9fa;padding:5px 10px;border-radius:4px;font-size:16px;letter-spacing:1px}.invito-modal-countdown-text{color:#495057;font-size:14px;margin-bottom:15px}.invito-modal-button.rigenera.secondary{background-color:#6c757d;color:#fff;font-size:13px;padding:8px 12px;width:auto;margin-left:auto;display:block}.invito-modal-button.rigenera.secondary:hover{background-color:#5a6268}@keyframes invitaFadeIn{0%{opacity:0}to{opacity:1}}@keyframes invitaSlideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 600px){.invito-modal-container{width:95%;max-height:calc(100vh - 20px)}.invito-modal-link-input,.invito-modal-button.copia,.invito-modal-button.whatsapp{padding:12px}}@font-face{font-family:WhatsAppIcon;src:url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/webfonts/fa-brands-400.woff2) format("woff2");font-weight:400;font-style:normal}.whatsapp-icon{margin-right:2px}.leghe-page{padding:20px 0}.leghe-pagina-titolo{text-align:center;font-size:2rem;margin-bottom:1.5rem;color:#2c3e50}.leghe-crea-container{display:flex;justify-content:center;margin-bottom:2rem;gap:15px}.leghe-crea-button{background-color:#3498db;color:#fff;border:none;border-radius:4px;padding:12px 24px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s ease}.leghe-crea-button:hover{background-color:#2980b9}.leghe-loading{text-align:center;margin:2rem 0;font-style:italic;color:#7f8c8d}.leghe-error-message{background-color:#f8d7da;color:#721c24;padding:1rem;border-radius:4px;margin-bottom:1.5rem;text-align:center}.leghe-no-leghe{text-align:center;margin:2rem 0;color:#7f8c8d;font-style:italic}.leghe-lista{display:flex;flex-direction:column;gap:1.5rem;max-width:800px;margin:0 auto}.leghe-card{border-radius:8px;padding:1.5rem;box-shadow:0 4px 6px #0000001a;transition:transform .3s ease,box-shadow .3s ease;width:100%}.leghe-card:hover{transform:translateY(-5px);box-shadow:0 6px 12px #00000026}.leghe-card-pubblica{background-color:#f0f9ff;border:2px solid #3498db}.leghe-card-privata{background-color:#fff;border:1px solid #ddd}.leghe-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.leghe-card-nome{font-size:1.4rem;color:#2c3e50;margin:0;display:flex;align-items:center;gap:.5rem}.leghe-admin-crown{font-size:1.2rem;color:#f39c12;cursor:help}.leghe-badge{display:inline-block;padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:600;text-transform:uppercase}.leghe-badge.pubblica{background-color:#3498db;color:#fff}.leghe-badge.privata{background-color:#f39c12;color:#fff}.leghe-card-descrizione{color:#636e72;margin-bottom:1rem;font-size:.95rem;line-height:1.4}.leghe-card-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin-bottom:1.5rem;font-size:.9rem}.leghe-info-label{font-weight:600;color:#7f8c8d;margin-right:.25rem}.leghe-card-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-start}.leghe-visualizza-button,.leghe-invita-button{padding:.5rem 1rem;border-radius:4px;font-size:.9rem;cursor:pointer;transition:background-color .3s ease;text-align:center;flex-basis:calc(50% - .375rem);max-width:calc(50% - .375rem)}.leghe-visualizza-button{background-color:#2ecc71;color:#fff;border:none}.leghe-visualizza-button:hover{background-color:#27ae60}.leghe-invita-button{background-color:#fff;color:#3498db;border:1px solid #3498db}.leghe-invita-button:hover{background-color:#ecf0f1}@media (max-width: 480px){.leghe-card-info{grid-template-columns:1fr}.leghe-card-actions{flex-direction:column;gap:.5rem}.leghe-visualizza-button,.leghe-invita-button{flex-basis:100%;max-width:100%}}.leghe-success-message{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb;border-radius:4px;padding:12px;margin-bottom:16px;text-align:center;animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.leghe-partecipa-button{background-color:#fff;color:#3498db;border:2px solid #3498db;border-radius:4px;padding:12px 24px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.leghe-partecipa-button:hover{background-color:#ecf0f1;transform:translateY(-2px);box-shadow:0 2px 5px #0000001a}.leghe-info-message{background-color:#e3f2fd;border-left:4px solid #2196f3;color:#0d47a1;padding:1rem 1.5rem;margin:0 auto 2rem;border-radius:4px;max-width:800px;font-size:.95rem;line-height:1.5;text-align:left;box-shadow:0 2px 5px #0000000d}.leghe-info-message strong{font-weight:600}@media (max-width: 480px){.leghe-info-message{padding:.75rem 1rem;font-size:.9rem;margin-bottom:1.5rem}}.crea-lega-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:creaLegaFadeIn .2s ease-out}.crea-lega-modal-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #0003;width:90%;max-width:500px;max-height:calc(100vh - 40px);overflow-y:auto;animation:creaLegaSlideIn .3s ease-out}.crea-lega-modal-header{padding:16px 20px;border-bottom:1px solid #eaeaea;font-weight:600;font-size:18px;color:#2c3e50}.crea-lega-modal-content{padding:20px;color:#333;font-size:16px;line-height:1.5}.crea-lega-modal-footer{padding:16px 20px;border-top:1px solid #eaeaea;display:flex;justify-content:flex-end;gap:10px}.crea-lega-modal-button{padding:8px 16px;border-radius:4px;font-weight:500;cursor:pointer;transition:all .2s;border:none;font-size:14px}.crea-lega-modal-button.confirm{background-color:#0074e4;color:#fff}.crea-lega-modal-button.confirm:hover{background-color:#0062c1}.crea-lega-modal-button.cancel{background-color:#f1f1f1;color:#666}.crea-lega-modal-button.cancel:hover{background-color:#e1e1e1}@keyframes creaLegaFadeIn{0%{opacity:0}to{opacity:1}}@keyframes creaLegaSlideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 600px){.crea-lega-modal-container{width:95%;max-height:calc(100vh - 20px)}.crea-lega-modal-footer{flex-direction:column-reverse}.crea-lega-modal-button{width:100%;padding:12px}}.crea-lega-page{padding:20px 0;max-width:600px;margin:0 auto}.pagina-titolo{text-align:center;font-size:2rem;margin-bottom:2rem;color:#2c3e50}.error-message{background-color:#f8d7da;color:#721c24;padding:1rem;border-radius:4px;margin-bottom:1.5rem;text-align:center}.crea-lega-form{background-color:#fff;border-radius:8px;padding:2rem;box-shadow:0 4px 6px #0000001a}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#2c3e50}.form-group input[type=text],.form-group textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;transition:border-color .3s ease}.form-group input[type=text]:focus,.form-group textarea:focus{border-color:#3498db;outline:none}.form-group input[type=file]{margin-bottom:.5rem}.file-info{font-size:.85rem;color:#7f8c8d;margin-top:.25rem}.image-preview{margin-top:1rem;text-align:center}.image-preview img{max-width:100%;max-height:200px;border-radius:4px;border:1px solid #ddd}.form-actions{display:flex;justify-content:center;margin-top:2rem}.cancel-button{padding:.5rem 1rem;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .3s ease;background-color:#fff;color:#7f8c8d;border:1px solid #ddd;flex:0 0 auto}.cancel-button:hover{background-color:#f8f9fa}.submit-button{padding:.85rem 2.5rem;border-radius:4px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background-color .3s ease;background-color:#3498db;color:#fff;border:none;min-width:200px}.submit-button:hover{background-color:#2980b9}@media (max-width: 640px){.crea-lega-form{padding:1.5rem}.submit-button{width:100%;min-width:unset}}.success-modal-content{text-align:center}.success-modal-content p{margin-bottom:15px;font-size:16px;line-height:1.5}.success-modal-content strong{color:#0074e4;font-weight:600}.lega-dettaglio-page{padding:20px 0;max-width:1000px;margin:0 auto}.lega-dettaglio-torna-button{display:inline-flex;align-items:center;background:none;border:none;color:#3498db;font-size:1rem;padding:8px 0;margin-bottom:1.5rem;cursor:pointer;font-weight:500;transition:color .3s ease}.lega-dettaglio-torna-button:hover{color:#2980b9}.lega-dettaglio-header{display:flex;align-items:center;gap:2rem;margin-bottom:2rem}.lega-dettaglio-logo-container{flex-shrink:0;width:120px;height:120px;overflow:hidden;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:#f0f9ff;border:3px solid #3498db}.lega-dettaglio-logo{width:100%;height:100%;object-fit:cover}.lega-dettaglio-logo-placeholder{font-size:2.5rem;font-weight:700;color:#3498db}.lega-dettaglio-info-container{flex-grow:1}.lega-dettaglio-nome{font-size:2rem;color:#2c3e50;margin:0 0 .5rem;display:flex;align-items:center;gap:1rem}.lega-dettaglio-badge{display:inline-block;padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:600;text-transform:uppercase}.lega-dettaglio-badge.pubblica{background-color:#3498db;color:#fff}.lega-dettaglio-badge.privata{background-color:#f1f2f6;color:#2c3e50;border:1px solid #dcdde1}.lega-dettaglio-descrizione{font-size:1rem;color:#555;margin-bottom:1rem}.lega-dettaglio-partecipanti{font-size:.9rem;color:#7f8c8d}.lega-dettaglio-info-label{font-weight:600;margin-right:.25rem}.lega-dettaglio-admin-actions{display:flex;gap:1rem;margin-bottom:2rem}.lega-dettaglio-ricalcola-button,.lega-dettaglio-invita-button{padding:.75rem 1.5rem;border-radius:4px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s ease;border:none}.lega-dettaglio-ricalcola-button{background-color:#3498db;color:#fff}.lega-dettaglio-ricalcola-button:hover{background-color:#2980b9}.lega-dettaglio-ricalcola-button:disabled{background-color:#95a5a6;cursor:not-allowed}.lega-dettaglio-invita-button{background-color:#2ecc71;color:#fff}.lega-dettaglio-invita-button:hover{background-color:#27ae60}.lega-dettaglio-success-message{background-color:#d4edda;color:#155724;padding:1rem;border-radius:4px;margin-bottom:1.5rem;text-align:center}.lega-dettaglio-error-message{background-color:#f8d7da;color:#721c24;padding:1rem;border-radius:4px;margin-bottom:1.5rem;text-align:center}.lega-dettaglio-loading{text-align:center;margin:2rem 0;font-style:italic;color:#7f8c8d}.lega-dettaglio-classifica-container{background-color:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.lega-dettaglio-classifica-titolo{font-size:1.5rem;color:#2c3e50;margin-top:0;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid #ecf0f1}.lega-dettaglio-no-classifica{text-align:center;margin:2rem 0;color:#7f8c8d;font-style:italic}.lega-dettaglio-classifica-table-container{overflow-x:auto}.lega-dettaglio-classifica-table{width:100%;border-collapse:collapse}.lega-dettaglio-classifica-table th,.lega-dettaglio-classifica-table td{padding:.75rem;text-align:left}.lega-dettaglio-classifica-table th{background-color:#f9fafb;font-weight:600;color:#2c3e50;border-bottom:2px solid #ecf0f1}.lega-dettaglio-classifica-table td{border-bottom:1px solid #ecf0f1}.lega-dettaglio-classifica-table tr:last-child td{border-bottom:none}.lega-dettaglio-classifica-table tr:hover{background-color:#f8fafc}.lega-dettaglio-admin-row{background-color:#f0f9ff!important}.lega-dettaglio-position-col{width:50px;text-align:center}.lega-dettaglio-player-col{min-width:200px}.lega-dettaglio-points-col,.lega-dettaglio-results-col,.lega-dettaglio-outcomes-col{width:100px;text-align:center}.header-short{display:none}.lega-dettaglio-player-name{display:inline-block;margin-right:.5rem}.lega-dettaglio-admin-badge{font-size:.9rem;color:#f39c12;cursor:help}@media (max-width: 768px){.lega-dettaglio-header{flex-direction:column;align-items:center;text-align:center;gap:1rem}.lega-dettaglio-nome{justify-content:center;flex-wrap:wrap}.lega-dettaglio-admin-actions{justify-content:center}.lega-dettaglio-classifica-table th,.lega-dettaglio-classifica-table td{padding:.5rem .3rem;font-size:.9rem}.lega-dettaglio-results-col,.lega-dettaglio-outcomes-col{width:40px}.header-full{display:none}.header-short{display:inline}.lega-dettaglio-player-col{min-width:120px}}.partecipa-page{max-width:800px;margin:0 auto;padding:2rem;text-align:center}.partecipa-titolo{font-size:2rem;color:#2c3e50;margin-bottom:2rem}.partecipa-form-container{margin-bottom:2rem}.partecipa-form{max-width:600px;margin:0 auto 1.5rem;padding:1.5rem;background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 10px #0000000d}.partecipa-form-group{margin-bottom:1rem}.partecipa-label{display:block;margin-bottom:.5rem;font-weight:600;color:#2c3e50;text-align:left}.partecipa-input-group{display:flex;gap:.5rem}.partecipa-input{flex-grow:1;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.partecipa-cerca-button{background-color:#3498db;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.partecipa-cerca-button:hover{background-color:#2980b9}.partecipa-cerca-button:disabled{background-color:#95a5a6;cursor:not-allowed}.partecipa-lega-card{max-width:600px;margin:2rem auto;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.partecipa-lega-card:hover{transform:translateY(-5px);box-shadow:0 6px 15px #00000026}.partecipa-lega-header{padding:1.5rem;background-color:#f0f9ff;border-bottom:1px solid #e1e8ed;display:flex;justify-content:space-between;align-items:center}.partecipa-lega-nome{margin:0;font-size:1.5rem;color:#2c3e50}.partecipa-lega-logo{width:60px;height:60px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background-color:#f8f9fa;border:1px solid #e1e8ed}.partecipa-lega-logo img{width:100%;height:100%;object-fit:cover}.partecipa-lega-info{padding:1.5rem}.partecipa-lega-descrizione{color:#636e72;margin-bottom:1.5rem;line-height:1.5;text-align:left}.partecipa-lega-details{margin-bottom:1.5rem}.partecipa-lega-detail{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid #edf2f7}.partecipa-lega-detail:last-child{border-bottom:none}.partecipa-detail-label{font-weight:600;color:#7f8c8d}.partecipa-detail-value{color:#2c3e50}.partecipa-lega-actions{margin-top:1.5rem;display:flex;justify-content:center}.partecipa-button{background-color:#3498db;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease}.partecipa-button:hover{background-color:#2980b9;transform:translateY(-2px);box-shadow:0 2px 5px #0000001a}.partecipa-button:disabled{background-color:#95a5a6;cursor:not-allowed;transform:none;box-shadow:none}.partecipa-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.partecipa-modal{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 12px #00000026;max-width:500px;width:90%;animation:modalFadeIn .3s ease-out}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.partecipa-modal h2{margin-top:0;color:#2c3e50;text-align:center}.partecipa-modal p{margin-bottom:1.5rem;color:#636e72;text-align:center}.partecipa-modal-actions{display:flex;justify-content:center;gap:1rem}.partecipa-modal-cancel,.partecipa-modal-confirm{padding:.75rem 1.5rem;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease}.partecipa-modal-cancel{background-color:#ecf0f1;color:#636e72;border:1px solid #ddd}.partecipa-modal-cancel:hover{background-color:#dfe6e9}.partecipa-modal-confirm{background-color:#3498db;color:#fff;border:none}.partecipa-modal-confirm:hover{background-color:#2980b9}.partecipa-modal-cancel:disabled,.partecipa-modal-confirm:disabled{opacity:.7;cursor:not-allowed}.partecipa-error-message{background-color:#fff4f4;color:#e74c3c;padding:.75rem;border-radius:4px;margin:1rem auto;max-width:600px;text-align:center}.partecipa-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 10px #0000000d}.partecipa-spinner{width:50px;height:50px;border:5px solid #f3f3f3;border-top:5px solid #3498db;border-radius:50%;animation:spin 1s linear infinite;margin-top:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.partecipa-error{background-color:#fff4f4;padding:2rem;border-radius:8px;border-left:5px solid #e74c3c;text-align:left;box-shadow:0 2px 10px #0000000d}.partecipa-error h2{color:#e74c3c;margin-top:0}.partecipa-success{background-color:#f0fff4;padding:2rem;border-radius:8px;border-left:5px solid #2ecc71;text-align:left;box-shadow:0 2px 10px #0000000d}.partecipa-success h2{color:#2ecc71;margin-top:0}.partecipa-redirect{font-size:.9rem;font-style:italic;color:#666;margin-top:1.5rem}@media (max-width: 600px){.partecipa-page{padding:1rem}.partecipa-error,.partecipa-success,.partecipa-loading,.partecipa-form{padding:1.5rem}.partecipa-input-group{flex-direction:column}.partecipa-modal{width:95%;padding:1.5rem}.partecipa-modal-actions{flex-direction:column;gap:.5rem}}.partecipa-logs{margin-top:40px;padding:15px;background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;max-height:300px;overflow-y:auto}.partecipa-logs h3{margin-top:0;color:#333;font-size:16px}.partecipa-logs pre{background-color:#f9f9f9;padding:10px;border-radius:3px;font-family:monospace;font-size:12px;white-space:pre-wrap;word-break:break-all}.partecipa-logs pre div{padding:2px 0;border-bottom:1px dashed #eee}.partecipa-top-nav{display:flex;justify-content:flex-start;margin-bottom:1.5rem}.partecipa-back-button{background-color:transparent;color:#3498db;border:none;padding:.5rem 0;font-size:.9rem;font-weight:500;cursor:pointer;display:flex;align-items:center;transition:color .2s ease}.partecipa-back-button:hover{color:#2980b9;text-decoration:underline}.partecipa-diagnostic{margin-top:1rem;padding-top:1rem;border-top:1px dashed #ddd;text-align:center}.partecipa-diagnostic small{display:block;color:#888;font-size:.8rem;margin-top:.5rem}.partecipa-diagnostic-button{background-color:#f39c12;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;font-size:.8rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.partecipa-diagnostic-button:hover{background-color:#e67e22}.partecipa-diagnostic-button:disabled{background-color:#d0d0d0;cursor:not-allowed}.partecipa-not-logged-in{max-width:600px;margin:0 auto}.partecipa-auth-message{margin-top:2rem;padding:1.5rem;background-color:#f8f9fa;border-radius:8px;border-left:4px solid #3498db;text-align:left}.partecipa-auth-message p{margin-bottom:1rem;color:#2c3e50;font-weight:500}.partecipa-auth-buttons{display:flex;gap:1rem;justify-content:center}.partecipa-auth-button{display:inline-block;padding:.75rem 1.5rem;border-radius:4px;font-size:1rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all .3s ease;text-align:center}.partecipa-auth-button.login{background-color:#3498db;color:#fff}.partecipa-auth-button.login:hover{background-color:#2980b9;transform:translateY(-2px);box-shadow:0 2px 5px #0000001a}.partecipa-auth-button.register{background-color:#2ecc71;color:#fff}.partecipa-auth-button.register:hover{background-color:#27ae60;transform:translateY(-2px);box-shadow:0 2px 5px #0000001a}@media (max-width: 600px){.partecipa-auth-buttons{flex-direction:column;gap:.5rem}.partecipa-auth-button{width:100%}}.competitions-page{padding:20px 0}.competitions-pagina-titolo{text-align:center;font-size:2rem;margin-bottom:1.5rem;color:#2c3e50}.competitions-loading{text-align:center;margin:2rem 0;font-style:italic;color:#7f8c8d}.competitions-error-message{background-color:#f8d7da;color:#721c24;padding:1rem;border-radius:4px;margin-bottom:1.5rem;text-align:center}.competitions-no-competitions{text-align:center;margin:2rem 0;color:#7f8c8d;font-style:italic}.competitions-lista{display:flex;flex-direction:column;gap:1.5rem;max-width:800px;margin:0 auto}.competitions-card{border-radius:8px;padding:1.5rem;box-shadow:0 4px 6px #0000001a;transition:transform .3s ease,box-shadow .3s ease;width:100%;background-color:#fff;border:1px solid #ddd}.competitions-card:hover{transform:translateY(-5px);box-shadow:0 6px 12px #00000026}.competitions-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem;flex-wrap:wrap}.competitions-card-nome{font-size:1.4rem;color:#2c3e50;margin:0;display:flex;align-items:center;gap:.5rem;flex:1;min-width:0;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.competitions-badge{display:inline-block;padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;white-space:nowrap;flex-shrink:0}.competitions-badge.active{background-color:#2ecc71;color:#fff}.competitions-badge.inactive{background-color:#95a5a6;color:#fff}.competitions-badge.finished{background-color:#7f8c8d;color:#fff}.competitions-badge.upcoming{background-color:#f39c12;color:#fff}.competitions-card-descrizione{color:#636e72;margin-bottom:1rem;font-size:.95rem;line-height:1.4}.competitions-card-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-bottom:1.5rem;font-size:.9rem}.competitions-info-item{display:flex;flex-direction:column;gap:.25rem}.competitions-info-label{font-weight:600;color:#7f8c8d}.competitions-card-registration{margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e0e0}.competitions-registration-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;font-size:.9rem}.competitions-card-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-start}.competitions-visualizza-button{padding:.5rem 1rem;border-radius:4px;font-size:.9rem;cursor:pointer;transition:background-color .3s ease;text-align:center;background-color:#3498db;color:#fff;border:none}.competitions-visualizza-button:hover{background-color:#2980b9}.competitions-iscriviti-button{padding:.5rem 1rem;border-radius:4px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color .3s ease;text-align:center;background-color:#2ecc71;color:#fff;border:none}.competitions-iscriviti-button:hover:not(:disabled){background-color:#27ae60}.competitions-iscriviti-button:disabled{background-color:#95a5a6;cursor:not-allowed;opacity:.7}@media (max-width: 768px){.competitions-card{padding:1rem}.competitions-card-header{flex-direction:column;align-items:flex-start;gap:.75rem}.competitions-card-nome{font-size:1.2rem;width:100%}.competitions-badge{align-self:flex-start}.competitions-card-info,.competitions-registration-info{grid-template-columns:1fr}}@media (max-width: 480px){.competitions-pagina-titolo{font-size:1.5rem;margin-bottom:1rem}.competitions-card{padding:.875rem}.competitions-card-nome{font-size:1.1rem;line-height:1.3}.competitions-card-header{gap:.5rem}.competitions-card-actions{flex-direction:column;gap:.5rem}.competitions-iscriviti-button,.competitions-visualizza-button{width:100%}.competitions-card-info{gap:.5rem}.competitions-info-item{font-size:.85rem}}@font-face{font-family:More Sugar;src:url(/fonts/MoreSugar-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:block}:root{--primary-color: #1e8449;--secondary-color: #27ae60;--accent-color: #2ecc71;--background-color: #f5f5f5;--text-color: #333333;--text-light: #ffffff;--border-color: #dcdcdc;--error-color: #e74c3c;--success-color: #2ecc71;--header-height: 60px;--footer-height: 40px;--border-radius: 8px;--spacing-2xs: 2px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--font-family: "Roboto", "Helvetica Neue", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-xxl: 2rem}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-family);font-size:var(--font-size-md);color:var(--text-color);background-color:var(--background-color);line-height:1.5}#root{display:flex;flex-direction:column;min-height:100vh}a{color:var(--primary-color);text-decoration:none}a:hover{text-decoration:underline}button,.button{cursor:pointer;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--primary-color);color:var(--text-light);border:none;border-radius:var(--border-radius);font-size:var(--font-size-md);font-weight:500;transition:background-color .2s}button:hover,.button:hover{background-color:var(--secondary-color)}button:disabled,.button:disabled{opacity:.7;cursor:not-allowed}input,select,textarea{width:100%;padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size-md);margin-bottom:var(--spacing-md)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary-color)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.card{background-color:#fff;border-radius:var(--border-radius);box-shadow:0 2px 4px #0000001a;padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.error{color:var(--error-color);margin-bottom:var(--spacing-md)}.success{color:var(--success-color);margin-bottom:var(--spacing-md)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}@media (max-width: 768px){.container{padding:0 var(--spacing-sm)}.card{padding:var(--spacing-md)}}@media (display-mode: standalone){html{height:100%;overflow:hidden;background-color:transparent}body{-webkit-user-select:none;user-select:none;touch-action:manipulation;background-color:transparent}html:after{content:"";position:fixed;bottom:0;left:0;right:0;height:env(safe-area-inset-bottom);background-color:transparent;z-index:9999;pointer-events:none}@supports (-webkit-appearance:none) and (not (overflow:-webkit-marquee)) and (not (-ms-ime-align:auto)) and (not (-moz-appearance:none)){button,.button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}}}html{height:-webkit-fill-available}body{min-height:100vh;min-height:-webkit-fill-available;touch-action:manipulation}@media all and (display-mode: fullscreen){body{overscroll-behavior:none}}
