*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;color:#333;font-size:16px;line-height:1.5}.container{max-width:800px;margin:0 auto;padding:20px}header{text-align:center;background:#fff;padding:30px;border-radius:15px;margin-bottom:30px;box-shadow:0 10px 30px rgba(0,0,0,.1)}header h1{color:#4a5568;margin-bottom:10px;font-size:2.5em}header p{color:#718096;font-size:1.1em}.member-section,.record-section,.records-section,.stats-section,.team-goal-section{background:#fff;padding:25px;border-radius:15px;margin-bottom:20px;box-shadow:0 5px 20px rgba(0,0,0,.1)}.member-section h2,.record-section h2,.records-section h2,.stats-section h2,.team-goal-section h2{color:#4a5568;margin-bottom:20px;font-size:1.5em}.input-group{display:flex;gap:10px;margin-bottom:15px;flex-wrap:wrap}button,input,select{padding:12px;border:2px solid #e2e8f0;border-radius:8px;font-size:16px;min-height:44px}input,select{flex:1 1;min-width:200px}button{background:#667eea;color:#fff;border:none;cursor:pointer;font-weight:700;transition:background .3s;min-width:120px;min-height:44px}button:hover{background:#5a67d8}.member-card{background:#f7fafc;padding:20px;border-radius:10px;margin-bottom:15px;border-left:5px solid #667eea}.member-name{font-size:1.3em;font-weight:700;color:#4a5568;margin-bottom:10px}.member-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:15px;gap:15px;margin-top:10px}.stat-item{text-align:center;padding:10px;background:#fff;border-radius:8px;box-shadow:0 2px 5px rgba(0,0,0,.1)}.stat-value{font-size:1.5em;font-weight:700;color:#667eea}.stat-label{color:#718096;font-size:.9em;margin-top:5px}.milestone{background:gold!important;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.celebration-section{background:linear-gradient(45deg,#ff6b6b,#feca57);color:#fff;text-align:center;padding:30px;border-radius:15px;margin-bottom:20px;animation:celebration 3s ease-in-out}@keyframes celebration{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.celebration-section h2{font-size:2em;margin-bottom:15px}.celebration-section p{font-size:1.3em}@media (max-width:768px){.container{padding:15px}header{padding:25px 20px;margin-bottom:25px}header h1{font-size:2.2em}header p{font-size:1em}.member-section,.record-section,.records-section,.stats-section,.team-goal-section{padding:20px;margin-bottom:18px}.member-section h2,.record-section h2,.records-section h2,.stats-section h2,.team-goal-section h2{font-size:1.3em;margin-bottom:18px}}@media (max-width:600px){.container{padding:12px}header{padding:20px 15px;margin-bottom:20px}header h1{font-size:1.9em}.member-section,.record-section,.records-section,.stats-section,.team-goal-section{padding:18px;margin-bottom:15px}.input-group{flex-direction:column;gap:12px}button,input,select{min-width:100%;padding:14px;font-size:16px}.member-stats{grid-template-columns:1fr;gap:12px}.stat-item{padding:12px}}@media (max-width:480px){.container{padding:10px}header{padding:18px 12px;margin-bottom:18px}header h1{font-size:1.7em}.member-section,.record-section,.records-section,.stats-section,.team-goal-section{padding:15px;margin-bottom:12px}.member-section h2,.record-section h2,.records-section h2,.stats-section h2,.team-goal-section h2{font-size:1.2em;margin-bottom:15px}}.team-progress{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:20px;gap:20px;margin-bottom:20px}.goal-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;border-radius:12px;text-align:center;position:relative;overflow:hidden}.goal-card.achieved{background:linear-gradient(135deg,#56ab2f,#a8e6cf);animation:goalAchieved 2s ease-in-out infinite alternate}@keyframes goalAchieved{0%{transform:scale(1)}to{transform:scale(1.02)}}.goal-title{font-size:1.3em;font-weight:700;margin-bottom:10px}.goal-progress{font-size:2.5em;font-weight:700;margin:15px 0}.goal-target{font-size:1.1em;opacity:.9;margin-bottom:15px}.progress-bar{width:100%;height:8px;background:hsla(0,0%,100%,.3);border-radius:4px;overflow:hidden;margin-top:10px}.progress-fill{height:100%;background:hsla(0,0%,100%,.8);border-radius:4px;transition:width .5s ease}.goal-card.achieved .progress-fill{background:#fff}.team-total{background:linear-gradient(135deg,#ff6b6b,#feca57);color:#fff;padding:25px;border-radius:12px;text-align:center;margin-bottom:20px}.team-total h3{font-size:1.5em;margin-bottom:10px}.team-total .total-distance{font-size:3em;font-weight:700;margin:10px 0}.next-goal{background:hsla(0,0%,100%,.2);margin-top:15px}.next-goal,.record-item{padding:15px;border-radius:8px}.record-item{background:#f8f9fa;margin-bottom:10px;border-left:4px solid #667eea;justify-content:space-between}.record-info,.record-item{display:flex;align-items:center}.record-info{gap:15px}.record-member{font-weight:700;color:#4a5568;font-size:1.1em}.record-distance{background:#667eea}.record-distance,.record-pace{color:#fff;padding:5px 12px;border-radius:20px;font-weight:700}.record-pace{background:#48bb78;font-size:.9em;margin-top:5px}.record-date{color:#718096;font-size:.9em}.no-records{text-align:center;color:#718096;font-style:italic;padding:20px}@media (max-width:768px){.team-progress{grid-template-columns:1fr;gap:15px}.goal-card{padding:18px}.goal-title{font-size:1.2em}.goal-progress{font-size:2.2em}.team-total{padding:20px}.team-total .total-distance{font-size:2.5em}}@media (max-width:600px){.record-item{gap:12px;padding:18px}.record-info,.record-item{flex-direction:column;align-items:flex-start}.record-info{gap:10px;width:100%}.record-member{font-size:1.05em}.record-distance{padding:6px 14px;font-size:.95em}.goal-progress{font-size:2em;margin:12px 0}.team-total .total-distance{font-size:2.2em}}@media (max-width:480px){.goal-card,.record-item{padding:15px}.goal-title{font-size:1.1em}.goal-progress{font-size:1.8em;margin:10px 0}.team-total{padding:18px}.team-total .total-distance{font-size:2em}}.data-management-section,.member-management-section{background:#fff;padding:25px;border-radius:15px;margin-bottom:20px;box-shadow:0 5px 20px rgba(0,0,0,.1)}.data-management-section h2,.member-management-section h2{color:#4a5568;margin-bottom:20px;font-size:1.5em}.nav-buttons{display:flex;gap:10px;justify-content:center;margin-top:15px}.nav-button{background:#667eea;color:#fff;border:none;padding:12px 20px;border-radius:8px;cursor:pointer;font-weight:700;font-size:16px;transition:background .3s}.nav-button:hover{background:#5a67d8}.admin-footer{text-align:center;margin-top:40px;padding:20px}.admin-link{background:transparent;color:#a0aec0;border:1px solid #e2e8f0;padding:8px 16px;border-radius:20px;cursor:pointer;font-size:12px;font-weight:400;transition:all .3s;opacity:.7}.admin-link:hover{background:#f7fafc;color:#718096;opacity:1}.member-item{background:#f8f9fa;padding:20px;border-radius:10px;margin-bottom:15px;border-left:4px solid #667eea;display:flex;justify-content:space-between;align-items:center}.member-info{flex:1 1}.member-name-admin{font-size:1.2em;font-weight:700;color:#4a5568;margin-bottom:8px}.member-details{display:flex;gap:15px;color:#718096;font-size:.9em}.member-actions{display:flex;gap:10px}.delete-button,.edit-button{padding:8px 12px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:700;transition:all .3s}.edit-button{background:#48bb78;color:#fff}.edit-button:hover{background:#38a169}.delete-button{background:#f56565;color:#fff}.delete-button:hover{background:#e53e3e}.data-buttons{display:flex;gap:15px;flex-wrap:wrap;justify-content:center}.export-button,.import-button,.reset-button{padding:12px 20px;border:none;border-radius:8px;cursor:pointer;font-weight:700;font-size:16px;transition:all .3s}.export-button{background:#48bb78;color:#fff}.export-button:hover{background:#38a169}.import-button{background:#4299e1;color:#fff}.import-button:hover{background:#3182ce}.reset-button{background:#f56565;color:#fff}.reset-button:hover{background:#e53e3e}.no-members{text-align:center;color:#718096;font-style:italic;padding:20px}@media (max-width:600px){.member-item{flex-direction:column;align-items:flex-start;gap:15px}.member-details{flex-direction:column;gap:5px}.member-actions{width:100%;justify-content:flex-end}.data-buttons,.nav-buttons{flex-direction:column}}