*{margin:0;padding:0;box-sizing:border-box}:root{--primary-orange:#ff6900;--primary-blue:#2C39A2;--dark-orange:#e55d00;--dark-blue:#161C4F;--light-gray:#f8f9fa;--medium-gray:#e9ecef;--dark-gray:#6c757d;--text-dark:#212529;--white:#ffffff;--shadow:0 2px 8px rgba(0,0,0,0.1);--shadow-hover:0 4px 12px rgba(0,0,0,0.15);--success-green:#28a745;--warning-yellow:#ffc107;--success-bg:#d4edda;--success-text:#155724;--warning-bg:#fff3cd;--warning-text:#856404}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,var(--light-gray) 0,var(--medium-gray) 100%);color:var(--text-dark);min-height:100vh;line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:20px}header{background:linear-gradient(135deg,var(--dark-gray) 0,var(--primary-blue) 100%);color:var(--white);padding:30px 20px;border-radius:10px;margin-bottom:5px;text-align:center;box-shadow:var(--shadow)}header h1{font-size:2.5rem;margin:0}footer{text-align:center;padding:16px 20px 8px;margin-top:40px;color:var(--dark-gray);font-size:.9rem}footer .footer-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;margin-bottom:16px}footer .footer-copyright{margin:0;padding-top:12px;font-size:.75rem;color:#999}@media (min-width:768px){footer .footer-actions{gap:12px}}.page{display:none}.page.active{display:block}.welcome-card{background:var(--white);border-radius:10px;padding:40px;box-shadow:var(--shadow);text-align:center;max-width:500px;margin:0 auto}.welcome-card h2{color:var(--primary-blue);margin-bottom:15px}.welcome-card p{color:var(--dark-gray);margin-bottom:30px}.create-team-section{margin-bottom:20px;padding:30px;background:linear-gradient(135deg,rgba(255,105,0,.08),rgba(44,57,162,.08));border-radius:12px;border:2px solid var(--dark-gray);text-align:center}.create-team-section h3{color:var(--primary-blue);margin-bottom:10px;font-size:1.4rem}.create-team-section p{color:var(--text-dark);margin-bottom:20px;font-size:1rem}.btn-large{padding:12px 24px;font-size:1rem}.commissioner-login-section{padding:20px;background:rgba(0,0,0,.02);border-radius:8px;text-align:center}.commissioner-login-section h3{color:var(--primary-blue);margin-bottom:8px;font-size:1.2rem}.commissioner-login-section p{color:var(--dark-gray);margin-bottom:15px;font-size:.9rem}.divider{display:flex;align-items:center;text-align:center;margin:30px 0}.divider:after,.divider:before{content:"";flex:1 1;border-bottom:1px solid var(--medium-gray)}.divider span{padding:0 15px;color:var(--dark-gray);font-weight:600;font-size:.9rem}.auth-section{margin-bottom:20px}.auth-section label{display:block;margin-bottom:10px;font-weight:600;color:var(--text-dark)}.auth-section input{width:100%;padding:12px;border:2px solid var(--medium-gray);border-radius:5px;font-size:1rem;margin-bottom:15px;transition:border-color .3s}.auth-section input:focus{outline:none;border-color:var(--primary-blue)}.btn{padding:12px 30px;border:none;border-radius:5px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;text-transform:uppercase;letter-spacing:.5px}.btn-primary{background:var(--primary-blue);color:var(--white)}.btn-primary:hover{background:var(--dark-blue);transform:translateY(-2px);box-shadow:var(--shadow-hover)}.btn-secondary{background:var(--dark-gray);color:var(--white);margin-top:10px}.btn-secondary:hover{background:#5a6268;transform:translateY(-2px);box-shadow:var(--shadow-hover)}.btn-danger{background:var(--primary-orange);color:var(--white)}.btn-danger:hover{background:var(--dark-orange)}.btn-success{background:var(--success-green);color:var(--white)}.btn-success:hover{background:#218838;transform:translateY(-2px);box-shadow:var(--shadow-hover)}.btn-warning{background:var(--warning-yellow);color:var(--text-dark)}.btn-warning:hover{background:#e0a800;transform:translateY(-2px);box-shadow:var(--shadow-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:disabled:hover{transform:none;box-shadow:none}.player-info{background:var(--white);padding:20px;border-radius:10px;margin-bottom:20px;box-shadow:var(--shadow);text-align:center}.player-info h2,.player-info span{color:var(--primary-blue)}.ranking-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:20px;gap:20px;margin-bottom:30px}.ranking-section{background:var(--white);padding:20px;border-radius:10px;box-shadow:var(--shadow)}.ranking-section h3{color:var(--primary-blue);margin-bottom:15px;padding-bottom:10px;border-bottom:2px solid var(--medium-gray)}.ranking-list{min-height:400px;border:2px dashed var(--medium-gray)}.ranking-item,.ranking-list{border-radius:5px;padding:10px}.ranking-item{background:var(--light-gray);margin-bottom:8px;border-left:4px solid var(--primary-blue);cursor:move;display:flex;align-items:center;transition:all .2s}.ranking-item:hover{background:var(--medium-gray);transform:translateX(5px)}.ranking-item .rank{font-weight:700;color:var(--primary-blue);margin-right:10px;min-width:25px}.ranking-item .rank-input{width:45px;margin-right:10px;border:2px solid var(--medium-gray);background:var(--white);transition:all .2s ease}.ranking-item .rank-input:hover{border-color:var(--primary-blue)}.ranking-item .rank-input:focus{box-shadow:0 0 0 2px rgba(255,105,0,.1)}.ranking-item .name{flex:1 1;font-weight:600}.ranking-item .country{color:var(--dark-gray);font-size:.9rem;margin-left:10px}.ranking-item .remove-btn{background:var(--primary-blue);color:var(--white);border:none;border-radius:3px;padding:4px 8px;cursor:pointer;font-size:.8rem;margin-left:10px}.ranking-item .remove-btn:hover{background:var(--dark-blue)}.athlete-selection{background:var(--white);padding:20px;border-radius:10px;box-shadow:var(--shadow);margin-bottom:20px}.athlete-selection h3{color:var(--primary-blue);margin-bottom:15px}.tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid var(--medium-gray)}.tab{padding:10px 20px;background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;font-weight:600;transition:all .3s;color:var(--dark-gray)}.tab.active{border-bottom-color:var(--primary-blue)}.tab.active,.tab:hover{color:var(--primary-blue)}.athlete-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:10px;gap:10px;max-height:400px;padding:10px}.draft-info{text-align:center;margin-bottom:20px;color:var(--dark-gray)}#draft-results,#teams-display{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:20px;gap:20px;margin-bottom:20px}.team-card{background:var(--white);padding:20px;border-radius:10px;box-shadow:var(--shadow)}.team-card h3{color:var(--primary-blue);padding-bottom:10px}.team-card h3,.team-card-header{margin-bottom:15px;border-bottom:2px solid var(--medium-gray)}.team-card-header{display:flex;align-items:center;gap:12px;padding-bottom:12px}.team-card-avatar{flex-shrink:0}.team-card-info{flex:1 1;min-width:0}.team-card-name{font-size:1.2rem;font-weight:700;color:var(--primary-blue);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-card-player-code{font-size:.85rem;color:var(--dark-gray);font-style:italic}.team-card .team-section{margin-bottom:20px}.team-card .team-section h4{color:var(--primary-blue);margin-bottom:10px;font-size:1rem}.team-card .athlete{padding:10px;margin-bottom:8px;background:var(--light-gray);border-radius:8px;display:flex;gap:12px;align-items:center}.team-card .athlete .headshot{flex-shrink:0;width:50px;height:50px;border-radius:50%;overflow:hidden;background:var(--white);display:flex;align-items:center;justify-content:center;border:2px solid var(--primary-blue)}.team-card .athlete .headshot img{width:100%;height:100%;object-fit:cover}.team-card .athlete .athlete-info{flex:1 1;min-width:0}.team-card .athlete .name{font-weight:600;margin-bottom:2px}.team-card .athlete .country{color:var(--dark-gray);font-size:.9rem;margin-bottom:2px}.team-card .athlete .details{color:var(--dark-gray);font-size:.8rem;font-style:italic}.team-card .athlete .time{flex-shrink:0;font-weight:600;color:var(--primary-blue);font-size:.95rem}.team-card .score{margin-top:15px;padding:15px;background:linear-gradient(135deg,var(--dark-gray) 0,var(--primary-blue) 100%);color:var(--white);border-radius:5px;text-align:center;font-weight:700;font-size:1.2rem}.commissioner-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:20px;gap:20px;margin-bottom:20px}.commissioner-dashboard{max-width:100%}.dashboard-section{background:var(--white);padding:24px;border-radius:10px;box-shadow:var(--shadow);margin-bottom:24px}.dashboard-section h3{color:var(--primary-blue);font-weight:700;margin-bottom:20px;font-size:1.2rem}.button-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:16px;gap:16px;width:100%}.button-group .btn{width:100%;padding:14px 20px;font-size:1rem;font-weight:600}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:16px;gap:16px}.stats-grid-three{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:16px;gap:16px}@media (min-width:900px){.stats-grid-three{grid-template-columns:repeat(4,1fr)}}@media (min-width:600px) and (max-width:899px){.stats-grid-three{grid-template-columns:repeat(2,1fr)}}@media (max-width:599px){.stats-grid-three{grid-template-columns:1fr}}.action-card{background:var(--white);padding:20px;border-radius:10px;box-shadow:var(--shadow)}.action-card h3{color:var(--primary-blue);font-weight:bolder;margin-bottom:15px;padding-bottom:10px;border-bottom:2px solid var(--medium-gray)}.action-card label{display:block;margin-bottom:8px;font-weight:600}.action-card input,.action-card select{width:100%;padding:10px;border:2px solid var(--medium-gray);border-radius:5px;margin-bottom:15px;font-size:1rem}.action-card input:focus,.action-card select:focus{outline:none;border-color:var(--primary-blue)}#player-codes-display{margin-top:15px;padding:15px;background:var(--light-gray);border-radius:5px;font-family:monospace}.player-code-item{padding:12px;margin-bottom:8px;background:var(--white);border-left:4px solid var(--primary-blue);border-radius:3px;display:flex;align-items:flex-start;gap:10px}.player-code-item.submitted{border-left-color:var(--success-green)}.player-code-item.pending{border-left-color:var(--warning-yellow)}.player-code-item .status-icon{font-size:1.2rem;font-weight:700;min-width:20px;text-align:center;margin-top:2px}.player-code-item.submitted .status-icon{color:var(--success-green)}.player-code-item.pending .status-icon{color:var(--warning-yellow)}.player-code-item .status-text{font-size:.85rem;font-weight:600;padding:3px 8px;border-radius:3px;margin-left:auto}.player-code-item.submitted .status-text{background:var(--success-bg);color:var(--success-text)}.player-code-item.pending .status-text{background:var(--warning-bg);color:var(--warning-text)}.player-code-content{flex:1 1;display:flex;flex-direction:column;gap:6px;min-width:0}.player-code-top-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.player-code-top-row strong{color:var(--primary-blue);font-size:.95rem;white-space:nowrap}.session-link{color:var(--primary-blue);text-decoration:none;font-family:Courier New,monospace;font-size:.85rem;word-break:break-all;transition:color .2s ease}.session-link:hover{color:var(--dark-blue);text-decoration:underline}.player-code-bottom-row{display:flex;align-items:center;gap:10px}.btn-copy-small{background:var(--light-gray);border:1px solid var(--medium-gray);color:var(--dark-gray);padding:4px 10px;border-radius:4px;font-size:.8rem;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-copy-small:hover{background:var(--primary-blue);color:white;border-color:var(--primary-blue)}.url-container{display:flex;align-items:center;flex:1 1;gap:10px;margin:0 10px}.url-text{font-family:Courier New,monospace;font-size:.85rem;color:var(--primary-blue);flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-copy{padding:6px 12px;background:var(--primary-blue);color:white;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:600;white-space:nowrap;transition:all .2s}.btn-copy:hover{background:var(--dark-blue);transform:translateY(-1px)}.btn-copy:active{transform:translateY(0)}.rankings-summary{margin-top:15px;padding:12px;background:var(--white);border-radius:5px;text-align:center;color:var(--primary-blue);border:2px solid var(--primary-blue)}#results-form,.result-entry{margin-bottom:15px}.result-entry{padding:15px;background:var(--light-gray);border-radius:5px}.result-entry label{display:block;margin-bottom:5px;font-weight:600}.result-entry input{width:100%;padding:8px;border:2px solid var(--medium-gray);border-radius:5px}#winner-display{margin-top:20px;padding:20px;background:linear-gradient(135deg,var(--dark-gray) 0,var(--primary-blue) 100%);color:var(--white);border-radius:10px;text-align:center;font-size:1.3rem;font-weight:700}#draft-status{margin-top:15px;padding:15px;background:var(--light-gray);border-radius:5px}@media (max-width:768px){header h1{font-size:1.8rem}.container{padding:10px}.welcome-card{padding:20px}.athlete-list,.ranking-container{grid-template-columns:1fr}.athlete-list{max-height:300px}#draft-results,#teams-display,.commissioner-actions{grid-template-columns:1fr}.btn{width:100%;margin-bottom:10px}}@media (max-width:480px){header h1{font-size:1.5rem}.action-card,.ranking-section,.team-card,.welcome-card{padding:15px}}.dragging{opacity:.5}.drag-over{border-color:var(--primary-blue);background:var(--medium-gray)}.athlete-filters{display:flex;gap:20px;flex-wrap:wrap;margin:15px 0;padding:15px;background:var(--light-gray);border-radius:5px}.athlete-filters label{display:flex;align-items:center;gap:8px;font-size:.9rem}.athlete-filters input[type=checkbox]{width:18px;height:18px;cursor:pointer}.athlete-filters select{padding:5px 10px;border:1px solid var(--medium-gray);border-radius:5px;font-size:.9rem}.table-scroll{overflow-x:auto;margin-top:10px}.athlete-table thead{background:linear-gradient(135deg,var(--primary-blue) 0,var(--primary-blue) 100%)}.athlete-table th{padding:12px;font-size:.9rem}.athlete-table td{padding:10px 12px;border-bottom:1px solid var(--medium-gray);font-size:.85rem}.athlete-table tbody tr:last-child td{border-bottom:none}#athlete-table-container{max-height:600px;overflow-y:auto}#athlete-management-page{padding:20px}#athlete-management-page .page-description{text-align:center;color:var(--dark-gray);margin-bottom:30px;font-size:1.1rem}#athlete-management-page #athlete-table-container,#athlete-management-page .athlete-filters{background:var(--white);padding:20px;border-radius:8px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,.1)}#athlete-management-page #back-to-commissioner{margin-top:20px}.wa-id-cell{padding:8px!important}.wa-id-input{width:120px;padding:6px 8px;border:1px solid #ddd;border-radius:4px;font-size:.9rem;font-family:monospace}.wa-id-input:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 2px rgba(0,105,255,.1)}.wa-id-input::placeholder{color:#999;font-style:italic}.btn-small{padding:6px 12px;font-size:.85rem;border:none;border-radius:4px;cursor:pointer;background-color:var(--primary-blue);color:white;transition:all .2s}.btn-small:hover:not(:disabled){background-color:#e55f00;transform:translateY(-1px)}.btn-small:active{transform:translateY(0)}.btn-small:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background-color:var(--primary-blue);margin-left:4px}.btn-secondary:hover:not(:disabled){background-color:#1f2a7a}.actions-cell{white-space:nowrap;padding:8px!important}.actions-cell .btn-small{display:inline-block;vertical-align:middle}.info-message{background-color:#e3f2fd;border-left:4px solid #2196f3;padding:12px 16px;margin-bottom:20px;border-radius:4px;color:#1565C0}.info-message strong{color:#0d47a1}.info-notice{padding:12px 16px;margin-bottom:16px;border-radius:4px;font-size:14px;text-align:center;border-left:4px solid}.info-notice strong{font-weight:600}.athlete-name-link{color:var(--primary-blue);text-decoration:none;font-weight:600;transition:all .2s ease;cursor:pointer}.athlete-name-link:hover{color:var(--primary-blue);text-decoration:underline}.modal{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;align-items:center;justify-content:center;padding:20px}.modal.active{display:flex}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.75);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease}.modal-content{position:relative;background:white;border-radius:16px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px rgba(0,0,0,.4);animation:slideUp .4s ease;padding:40px 32px;z-index:10000;margin:20px}.modal-content h2{color:var(--primary-blue);margin-bottom:10px;font-size:1.8rem}.modal-content p{color:var(--dark-gray);margin-bottom:25px}.modal-close{top:16px;right:16px;background:none;font-size:28px;color:var(--dark-gray);width:40px;height:40px;transition:all .2s;z-index:2}.modal-close:hover{background:var(--light-gray);color:var(--text-dark)}.modal.athlete-modal{display:flex!important;align-items:center;justify-content:center;padding:20px;z-index:10000}.athlete-modal-content{max-width:700px;width:90%;max-height:85vh;padding:0;overflow:hidden;display:flex;flex-direction:column}.athlete-modal-header{display:flex;align-items:center;gap:1.5rem;padding:2rem;background:linear-gradient(135deg,var(--dark-gray) 0,var(--primary-blue) 100%);color:white}.athlete-headshot{flex-shrink:0}.athlete-headshot img{object-fit:cover}.athlete-headshot img,.headshot-placeholder{width:80px;height:80px;border-radius:50%;border:3px solid white}.headshot-placeholder{background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:2.5rem}.athlete-basic-info h2{margin:0 0 .5rem;color:white;font-size:1.8rem}.athlete-basic-info p{margin:.25rem 0;color:rgba(255,255,255,.95);font-size:1rem}.athlete-country{font-weight:600}.athlete-pb,.athlete-salary{font-size:.95rem;color:rgba(255,255,255,.9)}.modal-tabs{display:flex;border-bottom:2px solid #e0e0e0;background:#f8f9fa;padding:0}.modal-tab{flex:1 1;padding:1rem;background:transparent;color:#666;font-weight:600;cursor:pointer;transition:all .2s;border:none;border-bottom:3px solid transparent}.modal-tab:hover{background:rgba(255,105,0,.05);color:var(--primary-blue)}.modal-tab.active{color:var(--primary-blue);border-bottom-color:var(--primary-blue);background:white}.modal-tab-content{flex:1 1;overflow-y:auto;padding:2rem}.tab-content-bio .bio-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1.5rem;gap:1.5rem}.stat-item{display:flex;flex-direction:column;gap:.5rem}.stat-label{font-size:.85rem}.stat-value{font-size:1.2rem;color:var(--text-dark);font-weight:600}.empty-state{color:#999;font-style:italic;padding:3rem 1rem;font-size:1rem}.loading-state{text-align:center;padding:3rem 1rem}.athlete-scoring-info{border-top:2px solid #e0e0e0;padding:1.5rem 2rem;background:#f8f9fa}.athlete-scoring-info h3{margin-top:0;color:var(--primary-blue)}@media (max-width:768px){.athlete-modal-header{flex-direction:column;text-align:center;padding:1.5rem}.athlete-basic-info h2{font-size:1.5rem}.modal-tab{padding:.75rem .5rem;font-size:.9rem}.modal-tab-content{padding:1.5rem 1rem}.tab-content-bio .bio-stats{grid-template-columns:1fr;gap:1rem}}.athlete-card-container{position:relative;background:white;border-radius:16px;max-width:640px;width:100%;max-height:90vh;overflow:hidden;box-shadow:0 25px 50px rgba(0,0,0,.4);display:flex;flex-direction:column;z-index:10001}.modal-close{position:absolute;top:12px;right:12px;background:rgba(255,255,255,.95);border:none;border-radius:50%;width:36px;height:36px;font-size:24px;line-height:1;cursor:pointer;z-index:10001;transition:all .2s ease;box-shadow:0 2px 8px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--primary-blue);color:white;transform:rotate(90deg) scale(1.1)}.card-masthead{background:linear-gradient(135deg,var(--primary-blue) 0,var(--dark-gray) 100%);padding:24px 20px;position:relative;overflow:hidden}.card-masthead.country-gradient{background:linear-gradient(135deg,#2ecc71,#27ae60)}.card-masthead:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:0;pointer-events:none}.card-masthead:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.15) 0,transparent 70%);animation:shimmer 4s infinite;z-index:0}@keyframes shimmer{0%,to{transform:translate(0)}50%{transform:translate(-40px,-40px)}}.masthead-content{position:relative;z-index:1;display:flex;gap:20px;align-items:center}.masthead-photo-section{flex-shrink:0}.masthead-photo-wrapper{position:relative;width:120px;height:120px}.masthead-photo{width:100%;height:100%;border-radius:50%;object-fit:cover;border:4px solid rgba(255,255,255,.4);box-shadow:0 8px 20px rgba(0,0,0,.3);background:#ddd}.masthead-flag{position:absolute;bottom:0;right:0;background:rgba(0,0,0,.75);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:20px;border:3px solid white;box-shadow:0 2px 8px rgba(0,0,0,.3)}.flag-emoji{line-height:1}.masthead-bio-section{flex:1 1;min-width:0;color:white}.masthead-bio-section .athlete-name{font-size:24px;font-weight:800;margin:0 0 12px;color:white!important;text-shadow:0 2px 4px rgba(0,0,0,.2);line-height:1.2}.bio-details{display:flex;gap:16px;margin-bottom:16px}.bio-item{display:flex;align-items:center;gap:6px;font-size:14px;background:rgba(255,255,255,.2);padding:4px 10px;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.bio-value{font-weight:600}.masthead-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px}.masthead-stat{background:rgba(255,255,255,.25);padding:10px 12px;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.masthead-stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;opacity:.9;margin-bottom:4px;font-weight:600}.masthead-stat-value{font-size:18px;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.2)}.tabs-container{background:white;border-bottom:1px solid #e5e5e5}.tabs-nav{display:flex;padding:0 16px}.tab-button{flex:1 1;background:none;padding:16px 8px;font-size:14px;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s ease;border:none;border-bottom:3px solid transparent;position:relative;top:1px}.tab-button:hover{color:var(--primary-blue);background:rgba(255,105,0,.05)}.tab-button.active{color:white;border-bottom-color:var(--primary-blue)}.tab-content-area{flex:1 1;overflow-y:auto;background:white;padding:20px}.tab-content-container{flex:1 1;overflow-y:auto;background:#f9fafb}.tab-panel{animation:fadeIn .3s ease}.tab-panel,.tab-panel.active{display:block}.content-section{margin-bottom:24px}.section-heading{font-size:16px;font-weight:700;color:#1f2937;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid #e5e7eb}.tab-content-header{margin-bottom:16px;display:flex;align-items:center;justify-content:space-between}.tab-content-title{font-size:18px;font-weight:700;color:var(--primary-blue);margin:0}.overview-section{background:white;border-radius:12px;padding:20px;margin-bottom:16px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.section-title{font-size:16px;font-weight:700;color:var(--text-dark);margin:0 0 16px;padding-bottom:12px;border-bottom:2px solid var(--medium-gray)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px}.info-grid{display:flex;flex-direction:column;gap:12px}.info-row{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.info-label{font-size:14px;font-weight:600;color:#6b7280}.info-value{font-size:14px;font-weight:500;color:#1f2937}.stat-label{color:#6b7280}.stat-value-large{font-size:24px;font-weight:800;color:var(--primary-blue)}.profile-grid{display:flex;flex-direction:column;gap:12px}.profile-row{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f8f9fa;border-radius:6px;transition:background .2s ease}.profile-row:hover{background:#e9ecef}.profile-label{font-size:13px;font-weight:600;color:#6b7280}.profile-value{font-size:14px;font-weight:700;color:var(--text-dark)}.wa-link-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 20px;background:linear-gradient(135deg,var(--primary-blue) 0,var(--dark-gray) 100%);color:white;text-decoration:none;border-radius:8px;font-weight:600;font-size:14px;transition:all .3s ease;box-shadow:0 4px 6px rgba(0,0,0,.1)}.wa-link-button:hover{transform:translateY(-2px);box-shadow:0 6px 12px rgba(0,0,0,.15)}.wa-link-button svg{width:20px;height:20px}.chart-container{position:relative;width:100%;height:300px;background:white;border-radius:10px;padding:20px;margin-bottom:16px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.discipline-selector{padding:8px 16px;border-radius:6px;border:2px solid var(--primary-blue);background:white;color:var(--primary-blue);font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease;margin:16px 0;display:block;width:100%;max-width:300px}.discipline-selector:hover{background:var(--primary-blue);color:white}.selected-race-info{background:white;border-radius:10px;padding:20px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.race-info-title{font-size:16px;font-weight:700;color:var(--primary-blue);margin:0 0 12px}#race-info-content{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px}.race-info-item{display:flex;flex-direction:column;gap:4px}.race-info-label{font-size:12px;color:#6b7280;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.race-info-value{font-size:15px;color:var(--text-dark);font-weight:700}.progression-list{display:flex;flex-direction:column;gap:10px}.progression-item{background:white;border-radius:10px;padding:16px;display:grid;grid-template-columns:50px 1fr 80px;grid-gap:16px;gap:16px;align-items:center;transition:all .2s ease;border:2px solid #e5e5e5;box-shadow:0 1px 3px rgba(0,0,0,.05)}.progression-item:hover{border-color:var(--primary-blue);box-shadow:0 4px 8px rgba(0,0,0,.1);transform:translateY(-2px)}.progression-year{font-weight:800;font-size:18px;color:var(--primary-blue)}.progression-details{display:flex;flex-direction:column;gap:4px;min-width:0}.progression-mark{font-weight:700;font-size:16px;color:var(--text-dark)}.progression-venue{font-size:12px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progression-discipline{color:#9ca3af}.progression-badge,.progression-discipline{font-size:11px;text-transform:uppercase;letter-spacing:.5px}.progression-badge{background:linear-gradient(135deg,var(--primary-blue) 0,var(--dark-gray) 100%);color:white;padding:6px 12px;border-radius:20px;font-weight:700;text-align:center}.results-list{display:flex;flex-direction:column;gap:10px;max-height:400px;overflow-y:auto}.result-item{background:white;border-radius:10px;padding:16px;transition:all .2s ease;border:2px solid #e5e5e5;box-shadow:0 1px 3px rgba(0,0,0,.05)}.result-item:hover{border-color:var(--primary-blue);box-shadow:0 4px 8px rgba(0,0,0,.1);transform:translateY(-2px)}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.result-competition{font-weight:700;font-size:15px;color:var(--primary-blue);flex:1 1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:12px}.result-position{background:linear-gradient(135deg,var(--primary-blue) 0,var(--dark-gray) 100%);color:white;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:700;flex-shrink:0}.result-details{display:flex;gap:16px;font-size:13px;color:#6b7280}.result-time{font-weight:700;color:var(--text-dark);font-family:Courier New,monospace}.result-venue{flex:1 1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-date{flex-shrink:0;font-weight:600}.loading-indicator{display:inline-flex;align-items:center;gap:8px;color:var(--primary-blue);font-size:13px;font-weight:600}.loading-indicator:after{content:"...";animation:dots 1.5s steps(4) infinite}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--primary-blue);font-size:16px;font-weight:600}.loading-spinner:before{content:"";display:block;width:40px;height:40px;margin-bottom:20px;border:4px solid rgba(255,105,0,.2);border-top:4px solid var(--primary-blue);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@keyframes dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}@keyframes slideIn{0%{transform:translateX(400px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideOut{0%{transform:translateX(0);opacity:1}to{transform:translateX(400px);opacity:0}}.empty-state{text-align:center;padding:48px 24px;color:#9ca3af}.empty-icon{width:48px;height:48px;margin:0 auto 16px;opacity:.5}.empty-state p{font-size:14px;font-weight:500;margin:0}@media (max-width:768px){.athlete-card-container{max-width:100%;max-height:95vh}.card-masthead{padding:20px 16px}.masthead-content{gap:16px}.masthead-photo-wrapper{width:100px;height:100px}.masthead-flag{width:32px;height:32px;font-size:18px}.athlete-name{font-size:20px}.masthead-stats-grid{gap:10px}.masthead-stat{padding:8px 10px}.masthead-stat-value{font-size:16px}.tab-button{font-size:13px;padding:14px 6px}.tab-panel{padding:16px}.stats-grid{gap:10px}.stat-value-large{font-size:20px}.progression-item{grid-template-columns:45px 1fr 70px;gap:12px;padding:14px}.progression-year{font-size:16px}.progression-mark{font-size:15px}.result-item{padding:14px}}@media (max-width:480px){.modal{padding:0;align-items:stretch}.athlete-card-container{max-width:100%;width:100%;max-height:100vh;height:100vh;border-radius:0}.modal-close{top:8px;right:8px;width:32px;height:32px;font-size:20px}.card-masthead{padding:12px 10px}.masthead-content{flex-direction:row;gap:10px;align-items:center}.masthead-photo-section{flex-shrink:0}.masthead-photo-wrapper{width:70px;height:70px}.masthead-flag{width:24px;height:24px;font-size:14px;border-width:2px}.athlete-name{font-size:16px;margin-bottom:8px}.bio-details{gap:8px;flex-wrap:wrap}.bio-item{font-size:10px;padding:3px 6px}.masthead-stats-grid{grid-template-columns:repeat(2,1fr);gap:6px}.masthead-stat{padding:6px 8px}.masthead-stat-label{font-size:9px}.masthead-stat-value{font-size:13px}.tabs-nav{padding:0 8px}.tab-button{font-size:11px;padding:12px 4px}.tab-panel{padding:12px}.overview-section{padding:16px;margin-bottom:12px}.section-title{font-size:14px;margin-bottom:12px}.stats-grid{grid-template-columns:1fr;gap:8px}.stat-card{padding:12px}.stat-value-large{font-size:20px}.profile-row{padding:10px;flex-direction:column;align-items:flex-start;gap:4px}.wa-link-button{font-size:13px;padding:12px 16px}.progression-item{grid-template-columns:40px 1fr 65px;gap:10px;padding:12px}.progression-year{font-size:15px}.progression-mark{font-size:14px}.progression-venue{font-size:11px}.progression-badge{font-size:10px;padding:4px 8px}.result-item{padding:12px}.result-competition{font-size:14px}.result-position{font-size:11px;padding:4px 10px}.result-details{font-size:12px;gap:12px;flex-wrap:wrap}}.athlete-selection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.athlete-selection-header h3{margin:0}.view-controls{display:flex;gap:5px}.view-toggle-btn{background:var(--white);border:2px solid var(--medium-gray);padding:8px 12px;border-radius:6px;cursor:pointer;font-size:18px;transition:all .2s ease}.view-toggle-btn:hover{border-color:var(--primary-blue);background:var(--light-gray)}.view-toggle-btn.active{background:var(--primary-blue);border-color:var(--primary-blue);color:var(--white)}.athlete-table-container{overflow-x:auto;margin-top:15px}.athlete-table{width:100%;border-collapse:collapse;background:var(--white);border-radius:8px;overflow:hidden;box-shadow:var(--shadow)}.athlete-table thead{background:linear-gradient(135deg,var(--primary-blue) 0,var(--dark-gray) 100%);color:var(--white)}.athlete-table th{padding:12px 8px;text-align:left;font-weight:600;font-size:13px;white-space:nowrap}.athlete-table tbody tr{border-bottom:1px solid var(--medium-gray);transition:background .2s ease}.athlete-table tbody tr:hover{background:var(--light-gray)}.athlete-table tbody tr.ranked-row{background:#e3f2fd;cursor:default;touch-action:pan-y;transition:transform .15s ease,opacity .2s ease,background-color .2s ease;position:relative}.athlete-table tbody tr.ranked-row:hover{background:#bbdefb}.athlete-table tbody tr.ranked-row:active{background:#90caf9}.athlete-table tbody tr.ranked-row[style*="opacity: 0.8"]{box-shadow:0 8px 16px rgba(0,0,0,.2);background:#90caf9!important}.drag-handle-cell,.drag-handle-header{width:40px;padding:8px 4px!important}.drag-handle-cell{text-align:center;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.drag-handle{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#999;font-size:18px;transition:color .2s ease;touch-action:none}.drag-handle:hover{color:#666}.drag-handle:active{color:var(--primary-blue);cursor:-webkit-grabbing;cursor:grabbing}.drag-grip{display:inline-block;letter-spacing:-2px;line-height:1}@media (max-width:768px){.drag-handle-cell{width:44px}.drag-handle{font-size:20px}}.athlete-table td{padding:10px 8px;font-size:13px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.athlete-table .name-cell{font-weight:600;color:var(--primary-blue)}.athlete-table .name-cell:hover{color:var(--primary-blue);cursor:pointer}.athlete-table .country-cell{white-space:nowrap}.athlete-table .rank-cell{text-align:center;font-weight:600;color:var(--primary-blue)}.athlete-table .rank-cell-input,.athlete-table .rank-column{width:70px;text-align:center}.athlete-table .table-rank-input{width:50px;padding:4px 6px;border:2px solid var(--medium-gray);border-radius:4px;text-align:center;font-weight:700;color:var(--primary-blue);font-size:14px;background:var(--white);transition:all .2s ease;-webkit-user-select:auto;-moz-user-select:auto;user-select:auto;touch-action:auto}.athlete-table .table-rank-input:hover{border-color:var(--primary-blue)}.athlete-table .table-rank-input:focus{outline:none;border-color:var(--primary-blue);background:#fff8f0;box-shadow:0 0 0 2px rgba(255,105,0,.1)}.athlete-table .rank-display-cell{text-align:center;font-weight:600;color:var(--primary-blue)}.athlete-table .rank-cell.top-rank{color:#d4af37}.athlete-table .pb-cell{font-family:Courier New,monospace;font-weight:600}.athlete-table .action-column{text-align:center;width:100px}.athlete-table .add-btn{background:var(--primary-blue);color:var(--white);border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s ease}.athlete-table .add-btn:hover{background:var(--dark-blue);transform:translateY(-1px)}.athlete-table .add-btn:disabled{background:var(--dark-gray);cursor:not-allowed;transform:none}.athlete-table .remove-table-btn{background:#dc3545;color:var(--white);border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s ease}.athlete-table .remove-table-btn:hover{background:#c82333;transform:translateY(-1px)}.athlete-table .selected-badge{background:var(--success-green);color:var(--white);padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600}.ranking-item .rank-input{width:40px;padding:4px 6px;border:1px solid var(--medium-gray);border-radius:4px;text-align:center;font-weight:700;color:var(--primary-blue);font-size:14px}.ranking-item .rank-input:focus{outline:none;border-color:var(--primary-blue);background:#fff8f0}.ranking-item .rank-input::-webkit-inner-spin-button,.ranking-item .rank-input::-webkit-outer-spin-button{opacity:1}@media (max-width:768px){.athlete-table{font-size:11px}.athlete-table td,.athlete-table th{padding:8px 4px}.athlete-table th{font-size:11px}.view-toggle-btn{padding:6px 10px;font-size:16px}}@media (max-width:480px){.athlete-table{font-size:10px}.athlete-table td,.athlete-table th{padding:6px 2px}.athlete-table .add-btn{padding:4px 8px;font-size:10px}}.draft-header{background:var(--primary-blue);color:white;padding:12px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px rgba(0,0,0,.1);justify-content:space-between;gap:16px}.draft-header,.team-info{display:flex;align-items:center}.team-info{gap:12px;flex:1 1;min-width:0}.team-avatar-placeholder{flex-shrink:0}.avatar-circle{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.4)}.avatar-initials{font-size:1.2em;font-weight:700;color:white}.team-name-display{display:flex;flex-direction:column;gap:2px;min-width:0}.team-name-label{font-size:.7em;opacity:.8;text-transform:uppercase;letter-spacing:.5px}.team-name-value{font-size:1.1em;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.draft-budget-compact{display:flex;gap:16px;align-items:center}.budget-metric{display:flex;flex-direction:column;align-items:center;gap:2px}.metric-label{font-size:.7em;opacity:.8;text-transform:uppercase;letter-spacing:.5px}.metric-value{font-size:1em;font-weight:700}.budget-remaining.over-budget{color:#ff4444}@media (max-width:480px){.draft-header{padding:10px 16px;gap:12px}.avatar-circle{width:40px;height:40px}.avatar-initials,.team-name-value{font-size:1em}.draft-budget-compact{gap:12px}.metric-label{font-size:.65em}.metric-value{font-size:.9em}}.draft-slots-container{padding:20px;display:flex;flex-direction:column;gap:16px;max-width:600px;margin:0 auto}.draft-slot{background:white;border:2px solid #e0e0e0;border-radius:12px;padding:20px;min-height:80px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:16px;position:relative}.draft-slot:hover{border-color:var(--primary-blue);box-shadow:0 4px 12px rgba(255,105,0,.2)}.draft-slot.empty{background:#f8f9fa}.draft-slot.filled{background:white;border-color:var(--primary-blue)}.slot-label{font-size:1.5em;font-weight:700;color:var(--text-dark);min-width:60px}.draft-slot.filled .slot-label{display:none}.slot-content{flex:1 1;display:flex;align-items:center;justify-content:space-between;gap:12px}.slot-headshot{flex-shrink:0}.slot-headshot-img{width:50px;height:50px;border-radius:50%;object-fit:cover;border:2px solid #e9ecef}.slot-placeholder{color:#999;font-style:italic}.slot-athlete-info{display:flex;flex-direction:column;gap:4px}.slot-athlete-name{font-weight:600;font-size:1.05em;color:var(--text-dark)}.slot-athlete-details{font-size:.85em;color:#666}.slot-athlete-salary{font-size:1.2em;color:var(--primary-blue)}.slot-remove-btn{background:#ff4444;width:32px;height:32px;font-size:20px;transition:all .2s ease}.slot-remove-btn:hover{background:#cc0000;transform:scale(1.1)}.draft-submit-container{padding:16px 20px;text-align:center}.draft-submit-container button{width:100%;max-width:350px}.team-action-buttons{display:flex;flex-direction:row;gap:12px;width:100%}.team-action-buttons button{flex:1 1}@media (max-width:768px){.team-action-buttons{flex-direction:column}.team-action-buttons button{width:100%}}#roster-navigation{padding:0 20px 16px;text-align:center;justify-content:center;gap:12px}#roster-navigation button{flex:1 1;max-width:220px}.selection-modal{position:fixed;top:0;right:-100%;width:100%;max-width:500px;height:100%;background:white;box-shadow:-4px 0 16px rgba(0,0,0,.2);z-index:1000;transition:right .4s ease-in-out;display:flex;flex-direction:column}.selection-modal.active{right:0}.modal-header{background:var(--primary-blue);padding:16px 20px;gap:12px}.modal-back-btn,.modal-header{color:white;display:flex;align-items:center}.modal-back-btn{background:none;border:none;font-size:24px;cursor:pointer;padding:0;justify-content:center;width:32px;height:32px}.back-arrow{font-size:28px;line-height:1}.modal-header h3{margin:0;font-size:1.2em}.modal-sort-tabs{display:flex;background:#f8f9fa;padding:8px 12px;gap:8px;border-bottom:2px solid #e0e0e0}.sort-tab{flex:1 1;padding:10px;background:white;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s ease}.sort-tab.active{background:var(--primary-blue);color:white;border-color:var(--primary-blue)}.modal-athlete-list{flex:1 1;overflow-y:auto;padding:12px}.modal-athlete-item{background:white;border:2px solid #e0e0e0;border-radius:8px;padding:12px;margin-bottom:12px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .2s ease}.modal-athlete-item:hover{border-color:var(--primary-blue);box-shadow:0 2px 8px rgba(255,105,0,.2)}.modal-athlete-item.selected{border-color:#4caf50;background:#f1f8f4}.modal-athlete-item.disabled{opacity:.5;cursor:not-allowed}.modal-athlete-headshot{width:50px;height:50px;border-radius:50%;overflow:hidden;flex-shrink:0;background:#f0f0f0;border:2px solid #e0e0e0}.modal-athlete-headshot img{width:100%;height:100%;object-fit:cover}.modal-athlete-info{flex:1 1;display:flex;flex-direction:column;gap:4px}.modal-athlete-name{font-weight:600;font-size:1.05em;color:var(--text-dark)}.modal-athlete-stats{font-size:.85em;color:#666}.modal-athlete-salary{font-size:1.1em;font-weight:700;color:var(--primary-blue);margin-right:8px}.modal-add-btn{background:var(--primary-blue);color:white;border:none;border-radius:50%;width:36px;height:36px;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-add-btn:hover{background:#e65c00;transform:scale(1.1)}.modal-add-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.detail-stat{background:#f8f9fa;padding:16px;border-radius:8px;text-align:center}.detail-stat-label{font-size:.85em;color:#666;margin-bottom:4px}.detail-stat-value{font-size:1.3em;font-weight:700;color:var(--text-dark)}.detail-add-button{width:100%;padding:16px;font-size:1.1em;font-weight:700;margin-top:20px}@media (max-width:768px){.draft-slots-container{padding:12px;gap:12px}.draft-slot{padding:16px;min-height:70px}.slot-label{font-size:1.3em;min-width:50px}.selection-modal{max-width:100%}.detail-stats-grid{grid-template-columns:1fr}}@media (max-width:480px){.budget-row .budget-value{font-size:1em}.draft-slot{padding:12px;gap:12px}.slot-label{font-size:1.1em;min-width:45px}.slot-athlete-name{font-size:.95em}.slot-athlete-salary{font-size:1.05em}}.leaderboard-tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:2px solid #e0e0e0}.leaderboard-tab{flex:1 1;padding:12px 20px;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--dark-gray);font-weight:500;font-size:1em;cursor:pointer;transition:all .3s ease;position:relative;bottom:-2px}.leaderboard-tab:hover{color:var(--primary-blue);background:rgba(255,105,0,.05)}.leaderboard-tab.active{color:var(--primary-blue);border-bottom-color:var(--primary-blue);font-weight:600}.leaderboard-tab-content{display:none}.leaderboard-tab-content.active{display:block}.leaderboard-container{display:flex;flex-direction:column;gap:12px;max-width:600px;margin:0 auto;padding:0 20px 20px}.temporary-scores-banner{background:linear-gradient(135deg,#4a90e2,#357abd);color:white;padding:14px 18px;border-radius:10px;display:flex;align-items:center;gap:12px;box-shadow:0 3px 12px rgba(74,144,226,.3);margin-bottom:8px;animation:slideInDown .4s ease-out}.temporary-scores-banner.review-state{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 3px 12px rgba(245,158,11,.3)}.banner-icon{font-size:24px;animation:pulse 2s ease-in-out infinite}.banner-content{flex:1 1;display:flex;flex-direction:column;gap:4px}.banner-content strong{font-size:15px;font-weight:600;letter-spacing:.3px}.banner-detail{font-size:13px;opacity:.95;font-weight:400}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.live-results-notice{background:linear-gradient(135deg,#ff6900,#ff8c00);color:white;padding:12px 16px;border-radius:8px;text-align:center;font-weight:500;margin-bottom:8px;display:flex;align-items:center;justify-content:center;gap:8px}.live-indicator{animation:pulse 2s ease-in-out infinite;font-size:12px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.leaderboard-row{background:white;border-radius:12px;padding:16px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 8px rgba(0,0,0,.08);transition:all .2s ease;cursor:pointer}.leaderboard-row:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.12);background:#fafafa}.leaderboard-row:active{transform:translateY(0)}.leaderboard-row-highlight{background:linear-gradient(135deg,#fff3e6,#ffe6cc);border:2px solid #ff6900;z-index:10}.leaderboard-row-highlight.sticky-top{position:-webkit-sticky;position:sticky;top:130px}.leaderboard-row-highlight.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:70px}.leaderboard-row-highlight:hover{background:linear-gradient(135deg,#ffe6cc,#ffd9b3)}.leaderboard-rank-section{display:flex;align-items:center;justify-content:center;min-width:50px}.rank-medal{font-size:32px;line-height:1}.rank-number{font-size:20px;font-weight:700;color:#666}.leaderboard-team-section{flex:1 1;display:flex;flex-direction:column;gap:4px}.leaderboard-team-name{font-size:18px;font-weight:600;color:#2c3e50}.leaderboard-team-stats{font-size:13px;color:#7f8c8d}.leaderboard-score-section{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.leaderboard-total-points{font-size:28px;font-weight:700;color:#2c39a2}.leaderboard-points-label{font-size:11px;color:#95a5a6;text-transform:uppercase;letter-spacing:.5px}.leaderboard-ellipsis{text-align:center;color:#bdc3c7;padding:8px;font-size:20px;font-weight:700}.race-results-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;padding:15px;background:white;border-radius:8px;box-shadow:var(--shadow);flex-wrap:wrap}.gender-toggle{display:flex;gap:0;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.1)}.gender-toggle-btn{padding:10px 20px;border:none;background:var(--light-gray);color:var(--text-dark);font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;border-right:1px solid var(--medium-gray)}.gender-toggle-btn:last-child{border-right:none}.gender-toggle-btn:hover{background:var(--medium-gray)}.gender-toggle-btn.active{background:var(--primary-blue);color:white}.split-selector{display:flex;align-items:center;gap:10px}.split-selector label{font-weight:500;color:var(--text-dark)}.split-select{padding:8px 12px;border:1px solid var(--medium-gray);border-radius:6px;background:white;font-size:.95rem;cursor:pointer;transition:all .3s ease}.split-select:focus,.split-select:hover{border-color:var(--primary-blue)}.split-select:focus{outline:none;box-shadow:0 0 0 3px rgba(255,105,0,.1)}@media (max-width:600px){.race-results-controls{flex-direction:column;gap:15px}.gender-toggle{width:100%}.gender-toggle-btn{flex:1 1}.split-selector{width:100%;justify-content:space-between}.split-select{flex:1 1}}.race-results-container{max-width:800px;margin:0 auto;padding:0 20px 20px}.race-gender-section{margin-bottom:30px}.gender-header{font-size:1.2em;font-weight:600;color:var(--primary-blue);margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--primary-blue)}.race-results-list{display:flex;flex-direction:column;gap:10px}.race-result-row{display:grid;grid-template-columns:50px 1fr auto auto;grid-gap:12px;gap:12px;align-items:center;background:white;padding:12px;border-radius:8px;border:1px solid #e0e0e0;cursor:pointer;transition:all .2s ease}.race-result-row:hover{border-color:var(--primary-blue);box-shadow:0 2px 8px rgba(255,105,0,.15);transform:translateY(-1px)}.race-result-placement{text-align:center}.placement-medal{font-size:24px}.placement-number{font-size:18px;font-weight:600;color:var(--dark-gray)}.race-result-athlete{display:flex;align-items:center;gap:12px}.race-result-headshot{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid #e0e0e0}.athlete-details{flex-direction:column;gap:4px}.athlete-name{color:#2c3e50;font-size:15px}.athlete-meta{display:flex;gap:12px;font-size:13px;color:#7f8c8d}.athlete-country{display:flex;align-items:center;gap:4px}.athlete-pb{color:#95a5a6}.race-result-performance{text-align:right}.finish-time{font-size:18px;font-weight:600;color:var(--primary-blue)}.finish-time.status-label{color:#e74c3c;font-weight:700;text-transform:uppercase;font-size:16px;letter-spacing:.5px}.race-result-row.status-dns{opacity:.6;background-color:#f8f9fa}.race-result-row.status-dnf{background-color:#fff5f5;border-left:3px solid #e74c3c}.race-result-row.status-dnf:hover,.race-result-row.status-dns:hover{opacity:1;transform:translateY(-2px)}.time-gap{font-size:13px;color:#95a5a6;margin-top:2px}.race-result-points{text-align:right;min-width:80px}.points-value{font-size:20px;font-weight:700;color:var(--primary-blue)}.points-breakdown{font-size:11px;color:#95a5a6;margin-top:2px}@media (max-width:768px){.race-result-row{grid-template-columns:40px 1fr;gap:10px;padding:10px}.race-result-placement{grid-row:1/3}.race-result-athlete{grid-column:2}.race-result-performance,.race-result-points{grid-column:2;text-align:left;display:flex;justify-content:space-between;align-items:center}.race-result-points{border-top:1px solid #f0f0f0;padding-top:8px;margin-top:4px}.race-result-headshot{width:40px;height:40px}.athlete-name{font-size:14px}.finish-time{font-size:16px}.points-value{font-size:18px}}.team-details-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.team-details-modal{background:white;border-radius:12px;max-width:600px;width:90%;max-height:85vh;overflow-y:auto;box-shadow:0 10px 40px rgba(0,0,0,.3);animation:slideUp .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.team-details-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:2px solid #f0f0f0}.team-details-header h2{margin:0;font-size:24px;color:var(--primary-blue)}.team-details-temp-banner{background:linear-gradient(135deg,#4a90e2,#357abd);color:white;padding:12px 24px;display:flex;align-items:center;gap:12px;border-bottom:2px solid rgba(0,0,0,.1)}.team-details-temp-banner .banner-icon{font-size:20px;animation:pulse 2s ease-in-out infinite}.team-details-temp-banner .banner-text{display:flex;flex-direction:column;gap:2px}.team-details-temp-banner .banner-text strong{font-size:14px;font-weight:600}.team-details-temp-banner .banner-text span{font-size:12px;opacity:.95}.modal-close-btn{background:none;border:none;font-size:32px;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s}.modal-close-btn:hover{color:#333}.team-details-summary{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;padding:24px;background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.summary-stat{text-align:center;padding:16px;background:white;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.08)}.stat-label{font-size:12px;text-transform:uppercase;color:#666;font-weight:600;letter-spacing:.5px;margin-bottom:8px;display:block}.stat-value{font-size:28px;font-weight:700;color:var(--primary-blue);display:block}.team-details-athletes{padding:24px}.gender-section{margin-bottom:24px}.gender-section:last-child{margin-bottom:0}.gender-section h3{font-size:14px;font-weight:600;text-transform:uppercase;color:#666;margin:0 0 12px;letter-spacing:.5px}.points-info-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;justify-content:center;align-items:center;z-index:10001;animation:fadeIn .2s ease-in}.points-info-modal{background:white;border-radius:12px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 10px 40px rgba(0,0,0,.3);animation:slideUp .3s ease-out}.points-info-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:2px solid #f0f0f0}.points-info-header h3{margin:0;font-size:20px;color:var(--primary-blue)}.points-info-content{padding:24px}.notation-explanation{margin-bottom:24px}.notation-row{display:flex;gap:16px;margin-bottom:16px;align-items:flex-start}.notation-row:last-child{margin-bottom:0}.notation-code{font-family:Monaco,Courier New,monospace;font-size:14px;font-weight:700;color:white;background:var(--primary-blue);padding:6px 12px;border-radius:4px;min-width:40px;text-align:center;flex-shrink:0}.notation-desc{font-size:14px;line-height:1.5;color:#333}.notation-example{background:#f8f9fa;padding:16px;border-radius:8px;border-left:4px solid var(--primary-blue)}.notation-example strong{display:block;margin-bottom:8px;color:var(--primary-blue)}.notation-example ul{margin:8px 0 0;padding-left:20px}.notation-example li{margin-bottom:4px;font-size:14px;color:#666}@media (max-width:768px){.leaderboard-container{padding:0 12px 12px}.leaderboard-row{padding:12px;gap:12px}.leaderboard-team-name{font-size:16px}.leaderboard-total-points{font-size:24px}.team-details-modal{width:95%;max-height:90vh}.team-details-summary{grid-template-columns:1fr;gap:12px}.athlete-card{flex-direction:column;align-items:flex-start;gap:12px;padding:12px}.athlete-card-left{width:100%}.athlete-card-center{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center}.race-details{justify-content:flex-end}.athlete-card-right{width:100%;display:flex;justify-content:space-between;align-items:center}.points-notation{justify-content:flex-start}.points-info-modal{width:95%;max-height:85vh}}.manage-teams-container{margin:24px 0;overflow-x:auto}.teams-status-table{width:100%;border-collapse:collapse;background:white;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1)}.teams-status-table thead{background:linear-gradient(135deg,var(--primary-blue) 0,#1e2a6e 100%);color:white}.teams-status-table th{padding:16px 12px;text-align:left;font-weight:600;font-size:14px;letter-spacing:.5px}.teams-status-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .2s}.teams-status-table tbody tr:hover{background-color:#f9fafb}.teams-status-table tbody tr:last-child{border-bottom:none}.teams-status-table td{padding:16px 12px;font-size:14px}.team-row-submitted{background-color:#f0fdf4}.team-row-pending{background-color:#fefce8}.badge-success{background-color:#10b981}.badge-pending,.badge-success{display:inline-block;padding:4px 12px;color:white;border-radius:12px;font-size:12px;font-weight:600}.badge-pending{background-color:#94a3b8}.btn-copy-mini{background:none;border:1px solid #e5e7eb;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.btn-copy-mini:hover{background-color:#f3f4f6;border-color:#d1d5db}.btn-mini{background-color:var(--primary-blue);color:white;border:none;padding:6px 16px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:background-color .2s}.btn-mini:hover{background-color:#1e2a6e}.btn-mini:disabled{opacity:.5;cursor:not-allowed;background-color:#94a3b8}.btn-danger-mini{background-color:#dc2626;color:white}.btn-danger-mini:hover{background-color:#b91c1c}.results-table{width:100%;border-collapse:collapse;background:white;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1)}.results-table thead{background:linear-gradient(135deg,var(--primary-blue) 0,var(--primary-blue) 100%);color:white}.results-table th{padding:16px 12px;text-align:left;font-weight:600;font-size:14px;letter-spacing:.5px}.results-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .2s}.results-table tbody tr:hover{background-color:#fff7ed}.results-table tbody tr:last-child{border-bottom:none}.results-table td{padding:16px 12px;font-size:14px}.result-row{background-color:white}.results-management-container{margin-top:20px}.results-view-controls{margin-bottom:20px;padding:16px;background-color:#f8f9fa;border-radius:8px;display:flex;align-items:center;gap:12px}.results-view-controls label{font-weight:600;color:var(--dark-gray)}.view-selector{padding:8px 12px;border:1px solid #ddd;border-radius:4px;background-color:white;font-size:14px;cursor:pointer;min-width:200px}.view-selector:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px rgba(255,105,0,.1)}.bonus-points-container{display:flex;flex-direction:column;gap:8px}.bonus-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.bonus-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.actions-cell{display:flex;gap:8px}.btn-success{background-color:#28a745;color:white}.btn-success:hover{background-color:#218838}.btn-danger{background-color:#dc3545;color:white}.btn-danger:hover{background-color:#c82333}.results-actions{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}.results-actions button{flex:0 1 auto}@media (max-width:768px){.results-table{font-size:12px}.results-table td,.results-table th{padding:12px 8px}.teams-status-table{font-size:12px}.teams-status-table td,.teams-status-table th{padding:12px 8px}.draft-status-column{display:none}}@keyframes slideInRight{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.budget-tracker{margin:1.5rem 0}.budget-progress-container{margin:1rem 0}.budget-progress-bar{width:100%;height:8px;background-color:#e0e0e0;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.budget-progress-fill{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);transition:width .3s ease}.budget-progress-fill.over-budget{background:linear-gradient(90deg,#f44336,#e91e63)}.budget-progress-labels{display:flex;justify-content:space-between;font-size:.875rem;color:#666}.budget-remaining.over-budget{color:#f44336}.budget-remaining.perfect{color:#4caf50}.budget-validation-errors{background-color:#fff3cd;border:1px solid #ffecb5;border-radius:8px;padding:1rem;margin-top:1rem}.validation-error-title{font-weight:600;margin-bottom:.5rem;color:#856404}.validation-error-list{list-style:none;padding:0;margin:0}.validation-error-list li{padding:.25rem 0;color:#856404}.budget-validation-success{background-color:#d4edda;border:1px solid #c3e6cb;margin-top:1rem;color:#155724}.budget-validation-success,.roster-lock-notice{border-radius:8px;padding:1rem;font-weight:600;text-align:center}.roster-lock-notice{margin:1rem 0}.roster-lock-notice.warning{background-color:#fff3cd;border:2px solid #ffc107;color:#856404}.roster-lock-notice.locked{background-color:#f8d7da;border:2px solid #f5c6cb;color:#721c24}.slot-gender-section{margin:1.5rem 0}.slot-gender-label{font-size:1.125rem;font-weight:600;margin-bottom:.75rem;color:#333}.slot-gender-slots{display:grid;grid-gap:1rem;gap:1rem}.draft-slot.locked{cursor:default!important;opacity:.7}.draft-slot.locked:hover{transform:none!important;box-shadow:0 2px 8px rgba(0,0,0,.1)!important}.slot-athlete-info{flex:1 1}.athlete-name{font-weight:600;font-size:1rem;margin-bottom:.25rem}.athlete-details{display:flex;gap:.5rem;font-size:.875rem;color:#666}.athlete-country{font-size:1.2rem}.athlete-pb{color:#2196f3}.slot-athlete-salary{font-weight:700;color:#4caf50;font-size:1.125rem}.slot-remove-btn{position:absolute;top:.5rem;right:.5rem;width:24px;height:24px;border-radius:50%;border:none;background-color:#f44336;color:white;font-size:1.25rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.slot-remove-btn:hover{background-color:#d32f2f}.athlete-selection-modal .modal-content{max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-slot-label{display:inline-block;margin-left:.5rem;font-size:.875rem;color:#666;font-weight:400}.athlete-controls{display:flex;gap:1rem;margin-bottom:1rem}.athlete-search{flex:1 1}.athlete-search,.athlete-sort{padding:.75rem;border:1px solid #ddd;border-radius:8px;font-size:1rem}.athlete-sort{background-color:white;cursor:pointer}.athlete-list{flex:1 1;overflow-y:auto;max-height:60vh}.athlete-list-empty{text-align:center;padding:2rem;color:#999}.athlete-card-main{display:flex;justify-content:space-between;align-items:center;padding:1rem}.athlete-card-info{flex:1 1}.athlete-card-name{font-weight:600;font-size:1rem;margin-bottom:.25rem}.athlete-card-details{display:flex;gap:.75rem;font-size:.875rem;color:#666;flex-wrap:wrap}.athlete-rank{color:#ff9800;font-weight:600}.athlete-card-sponsor{font-size:.75rem;color:#999;margin-top:.25rem}.athlete-card-salary{font-weight:700;color:#4caf50;font-size:1.25rem;margin-left:1rem}.athlete-card-restriction{background-color:#ffebee;color:#c62828;padding:.5rem;text-align:center;font-size:.875rem;border-top:1px solid #ffcdd2}@media (max-width:768px){.athlete-card-main,.athlete-controls{flex-direction:column}.athlete-card-main{align-items:flex-start}.athlete-card-salary{margin-left:0;margin-top:.5rem}.slot-gender-slots{gap:.75rem}}.team-header-orange{background:var(--dark-gray);color:white;padding:16px 20px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 8px rgba(0,0,0,.1);margin-bottom:16px;position:-webkit-sticky;position:sticky;top:60px;z-index:100}@media (min-width:768px){.team-header-orange{top:72px}}@media (min-width:1024px){.team-header-orange{top:80px}}.team-avatar-wrapper{flex-shrink:0}.team-avatar-wrapper .avatar-circle{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.4)}.team-avatar-wrapper .avatar-initials{font-size:1.2em;font-weight:700;color:white}.team-header-info{flex:1 1;min-width:0}.team-label{font-size:.7em;text-transform:uppercase;letter-spacing:.05em;opacity:.9;font-weight:600}.team-name-heading{font-size:1.25em;font-weight:700;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-budget-stats{display:flex;gap:20px;align-items:center}.budget-stat{text-align:center}.budget-label{font-size:.65em;text-transform:uppercase;letter-spacing:.05em;opacity:.8;font-weight:600}.budget-value{font-size:1em;font-weight:700;margin-top:2px}.roster-slots-container-legacy{display:flex;flex-direction:column;gap:12px;padding:0 20px 20px}.roster-slot-legacy{background:white;border:2px solid #e0e0e0;border-radius:8px;padding:12px 16px;display:flex;align-items:center;gap:12px;transition:all .2s ease;min-height:64px}.roster-slot-legacy:hover:not(.locked){border-color:var(--primary-blue);box-shadow:0 2px 8px rgba(255,105,0,.15)}.roster-slot-legacy.locked{opacity:.7;background:#f5f5f5}.roster-slot-legacy.empty{background:#fafafa}.slot-label-legacy{font-weight:700;font-size:1.1em;color:#333;min-width:36px;text-align:center}.slot-content-legacy{flex:1 1;display:flex;align-items:center;gap:12px;min-width:0}.slot-placeholder-legacy{color:#999;font-style:italic;font-size:.95em}.slot-headshot-legacy{width:40px;height:40px;border-radius:50%;overflow:hidden;flex-shrink:0;background:#f0f0f0}.slot-headshot-img-legacy{width:100%;height:100%;object-fit:cover}.slot-athlete-info-legacy{flex:1 1;min-width:0}.slot-athlete-name-legacy{font-weight:600;font-size:.95em;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slot-athlete-details-legacy{font-size:.8em;color:#666;margin-top:2px}.slot-athlete-salary-legacy{font-weight:700;color:var(--primary-blue);font-size:1em;white-space:nowrap}.slot-remove-btn-legacy{width:28px;height:28px;border-radius:50%;border:none;background:var(--primary-blue);color:white;font-size:1.3em;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0;transition:all .2s ease}.slot-remove-btn-legacy:hover{background:#d32f2f;transform:scale(1.1)}.slot-remove-btn-legacy:active{transform:scale(.95)}@media (max-width:768px){.team-header-orange{padding:12px 16px;gap:12px}.team-budget-stats{gap:12px}.budget-stat{min-width:60px}.budget-label{font-size:.6em}.budget-value{font-size:.9em}.team-name-heading{font-size:1.1em}.roster-slots-container-legacy{padding:0 12px 12px;gap:10px}.roster-slot-legacy{padding:10px 12px}.slot-label-legacy{min-width:32px;font-size:1em}.slot-athlete-name-legacy{font-size:.9em}.slot-athlete-details-legacy{font-size:.75em}.slot-athlete-salary-legacy{font-size:.9em}}