@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--bg-dark:#070a13;--bg-card:#111827a6;--border-card:#ffffff0f;--text-primary:#f8fafc;--text-secondary:#94a3b8;--team-sven-start:#6366f1;--team-sven-end:#06b6d4;--team-sven-glow:#6366f126;--team-wesche-start:#f43f5e;--team-wesche-end:#f59e0b;--team-wesche-glow:#f43f5e26;--accent-emerald:#10b981;--accent-emerald-glow:#10b98133;--font-sans:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--transition-smooth:all .3s cubic-bezier(.4, 0, .2, 1);--shadow-premium:0 10px 30px -10px #000000b3;--shadow-glow:0 0 20px #6366f11a}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-dark);color:var(--text-primary);background-image:radial-gradient(circle at 10% 20%,#6366f10d 0%,#0000 40%),radial-gradient(circle at 90% 80%,#f43f5e0d 0%,#0000 40%);min-height:100vh;position:relative;overflow-x:hidden}.glass-panel{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-card);box-shadow:var(--shadow-premium);transition:var(--transition-smooth);border-radius:16px}.glass-panel:hover{border-color:#ffffff1a;box-shadow:0 15px 35px -5px #000c,0 0 20px #ffffff05}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;font-weight:700}.text-gradient-sven{background:linear-gradient(135deg, var(--team-sven-start), var(--team-sven-end));-webkit-text-fill-color:transparent;-webkit-background-clip:text}.text-gradient-wesche{background:linear-gradient(135deg, var(--team-wesche-start), var(--team-wesche-end));-webkit-text-fill-color:transparent;-webkit-background-clip:text}input[type=text],input[type=password],input[type=number],select{width:100%;color:var(--text-primary);font-family:var(--font-sans);transition:var(--transition-smooth);background:#0f172a99;border:1px solid #ffffff14;border-radius:8px;padding:12px 16px;font-size:1rem}input:focus,select:focus{border-color:var(--accent-indigo);background:#0f172acc;outline:none;box-shadow:0 0 10px #6366f140}.btn-primary{background:linear-gradient(135deg, var(--accent-indigo), #4f46e5);color:#fff;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:var(--transition-smooth);border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;display:inline-flex;box-shadow:0 4px 12px #4f46e54d}.btn-primary:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 6px 20px #4f46e580}.btn-primary:active{transform:translateY(0)}.btn-secondary{color:var(--text-primary);font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:var(--transition-smooth);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;padding:12px 24px}.btn-secondary:hover{background:#ffffff1a;border-color:#fff3}.tabs-container{background:#0f172a80;border:1px solid #ffffff0d;border-radius:12px;margin-bottom:24px;padding:4px;display:flex}.tab-btn{color:var(--text-secondary);font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;border-radius:8px;flex:1;padding:10px 16px}.tab-btn.active{color:var(--text-primary);background:#ffffff14;box-shadow:0 2px 8px #0003}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.5s cubic-bezier(.4,0,.2,1) forwards fadeIn}@keyframes pulse-glow{0%,to{opacity:.6}50%{opacity:1;filter:drop-shadow(0 0 15px #6366f199)}}.pulse-glow{animation:3s ease-in-out infinite pulse-glow}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#fff3}.app-container{max-width:1200px;margin:0 auto;padding:40px 20px}.app-header{text-align:center;margin-bottom:40px;position:relative}.challenge-badge{text-transform:uppercase;letter-spacing:.1em;color:var(--accent-cyan);background:#6366f126;border:1px solid #6366f14d;border-radius:20px;margin-bottom:12px;padding:6px 16px;font-size:.85rem;font-weight:600;display:inline-block}.app-header h1{background:linear-gradient(135deg,#fff 40%,#94a3b8 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:8px;font-size:3rem}.app-header .subtitle{color:var(--text-secondary);font-size:1.1rem}.captain-access-btn{padding:8px 16px;font-size:.9rem;position:absolute;top:0;right:0}@media (width<=768px){.app-header{margin-bottom:30px}.app-header h1{font-size:2.2rem}.captain-access-btn{margin-top:16px;position:static}}.battle-arena{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:40px;display:grid}.team-card{padding:32px;position:relative;overflow:hidden}.team-card:before{content:"";width:100%;height:4px;position:absolute;top:0;left:0}.team-card.team-sven:before{background:linear-gradient(90deg, var(--team-sven-start), var(--team-sven-end))}.team-card.team-wesche:before{background:linear-gradient(90deg, var(--team-wesche-start), var(--team-wesche-end))}.team-card.team-sven:hover{box-shadow:0 15px 35px -5px #000c, 0 0 25px var(--team-sven-glow)}.team-card.team-wesche:hover{box-shadow:0 15px 35px -5px #000c, 0 0 25px var(--team-wesche-glow)}.team-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.team-name{max-width:75%;font-size:1.6rem}.captain-label{color:var(--text-secondary);margin-top:4px;font-size:.8rem}.team-badge{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:4px 10px;font-size:.75rem;font-weight:600}.team-card.team-sven .team-badge{color:var(--accent-cyan);background:#06b6d41a;border-color:#06b6d433}.team-card.team-wesche .team-badge{color:var(--accent-rose);background:#f43f5e1a;border-color:#f43f5e33}.score-display{margin-bottom:24px}.main-score{font-size:3.5rem;font-weight:800;line-height:1}.score-unit{color:var(--text-secondary);margin-left:4px;font-size:1.5rem;font-weight:500}.sub-scores{border-top:1px solid #ffffff0d;grid-template-columns:1fr 1fr;gap:16px;padding-top:20px;display:grid}.sub-score-item{flex-direction:column;display:flex}.sub-score-val{font-size:1.25rem;font-weight:600}.sub-score-label{color:var(--text-secondary);margin-top:2px;font-size:.8rem}@media (width<=768px){.battle-arena{grid-template-columns:1fr}}.track-card{margin-bottom:40px;padding:24px}.track-title{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.track-title h2{font-size:1.4rem}.track-target-label{color:var(--text-secondary);background:#ffffff08;border:1px solid #ffffff0d;border-radius:20px;padding:4px 10px;font-size:.85rem}.race-lanes{flex-direction:column;gap:24px;padding:20px 0;display:flex;position:relative}.race-lane{background:#0f172a80;border:1px solid #ffffff0a;border-radius:25px;align-items:center;height:50px;padding:0 4px;display:flex;position:relative;overflow:visible}.lane-progress-bar{border-radius:20px;justify-content:flex-end;align-items:center;min-width:32px;height:calc(100% - 8px);transition:width 1s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.team-sven .lane-progress-bar{background:linear-gradient(90deg, #6366f133 0%, var(--team-sven-start) 100%);box-shadow:0 0 15px #6366f133}.team-wesche .lane-progress-bar{background:linear-gradient(90deg, #f43f5e33 0%, var(--team-wesche-start) 100%);box-shadow:0 0 15px #f43f5e33}.racer-node{z-index:10;background:#1e293b;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.3rem;transition:transform .2s;display:flex;position:absolute;right:-4px;box-shadow:0 4px 10px #00000080}.team-sven .racer-node{border-color:var(--accent-cyan);box-shadow:0 0 15px var(--accent-cyan)}.team-wesche .racer-node{border-color:var(--accent-rose);box-shadow:0 0 15px var(--accent-rose)}.racer-node:hover{transform:scale(1.15)}.lane-team-label{color:var(--text-primary);text-shadow:0 2px 4px #000c;pointer-events:none;font-size:.9rem;font-weight:600;position:absolute;left:20px}.lane-score-label{color:#fff;pointer-events:none;background:#0009;border-radius:4px;padding:2px 6px;font-size:.85rem;font-weight:700;position:absolute;right:48px}.dashboard-grid{grid-template-columns:7fr 5fr;gap:24px;display:grid}@media (width<=992px){.dashboard-grid{grid-template-columns:1fr}}.leaderboard-card{padding:24px}.leaderboard-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.leaderboard-header h2{font-size:1.4rem}.leaderboard-table{border-collapse:collapse;width:100%}.leaderboard-table th{text-align:left;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid #ffffff0d;padding:12px 16px;font-size:.8rem;font-weight:600}.leaderboard-table td{border-bottom:1px solid #ffffff08;padding:14px 16px;font-size:.95rem}.leaderboard-row:hover{background:#ffffff05}.leaderboard-row.podium-1{background:#f59e0b0a}.rank-badge{background:#ffffff0d;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;font-weight:700;display:flex}.rank-1{color:#000;background:linear-gradient(135deg,#f59e0b,#d97706)}.rank-2{color:#000;background:linear-gradient(135deg,#cbd5e1,#94a3b8)}.rank-3{color:#fff;background:linear-gradient(135deg,#b45309,#78350f)}.participant-info{flex-direction:column;display:flex}.participant-team{color:var(--text-secondary);margin-top:2px;font-size:.75rem}.activity-badges{align-items:center;gap:8px;display:flex}.activity-badge{border-radius:4px;align-items:center;gap:2px;padding:2px 6px;font-size:.7rem;font-weight:600;display:inline-flex}.activity-badge.run{color:#818cf8;background:#6366f11f;border:1px solid #6366f133}.activity-badge.bike{color:#fbbf24;background:#f59e0b1f;border:1px solid #f59e0b33}.weekly-progress-card{padding:24px}.weekly-progress-card h2{margin-bottom:20px;font-size:1.4rem}.weeks-list{flex-direction:column;gap:16px;display:flex}.week-item{transition:var(--transition-smooth);background:#0f172a66;border:1px solid #ffffff08;border-radius:12px;padding:16px}.week-item:hover{background:#0f172a99;border-color:#ffffff0f}.week-item-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.week-title{font-size:.95rem;font-weight:600}.week-dates{color:var(--text-secondary);margin-left:6px;font-size:.75rem}.week-winner-badge{color:var(--accent-emerald);background:#10b9811a;border:1px solid #10b98133;border-radius:8px;padding:4px 8px;font-size:.75rem;font-weight:600}.week-comparison{flex-direction:column;gap:10px;display:flex}.comparison-lane{flex-direction:column;gap:4px;display:flex}.comparison-lane-info{justify-content:space-between;font-size:.8rem;display:flex}.comparison-lane-name{color:var(--text-secondary)}.comparison-lane-score{font-weight:600}.comparison-bar-bg{background:#ffffff0d;border-radius:3px;height:6px;overflow:hidden}.comparison-bar-fill{border-radius:3px;height:100%;transition:width 1s}.sven-fill{background:linear-gradient(90deg, var(--team-sven-start), var(--team-sven-end))}.wesche-fill{background:linear-gradient(90deg, var(--team-wesche-start), var(--team-wesche-end))}.back-to-dash{margin-bottom:24px}.captain-layout{grid-template-columns:8fr 4fr;gap:24px;display:grid}@media (width<=992px){.captain-layout{grid-template-columns:1fr}}.captain-card{margin-bottom:24px;padding:28px}.captain-card h2{margin-bottom:20px;font-size:1.5rem}.entry-form-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.week-select-wrapper{align-items:center;gap:10px;display:flex}.week-select-wrapper label{color:var(--text-secondary);font-size:.9rem;font-weight:600}.week-dropdown{width:200px}.entry-table-wrapper{margin-bottom:24px;overflow-x:auto}.entry-table{border-collapse:collapse;width:100%}.entry-table th{text-align:left;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid #ffffff14;padding:12px 16px;font-size:.85rem}.entry-table td{border-bottom:1px solid #ffffff0a;padding:16px}.input-with-calc{align-items:center;gap:8px;display:flex}.input-small{text-align:center;width:100px}.btn-calc{color:var(--accent-cyan);cursor:pointer;width:32px;height:32px;transition:var(--transition-smooth);background:#6366f11a;border:1px solid #6366f133;border-radius:6px;justify-content:center;align-items:center;font-size:.9rem;display:flex}.btn-calc:hover{background:var(--accent-indigo);color:#fff;border-color:var(--accent-indigo)}.weighted-feedback{color:var(--text-secondary);margin-top:4px;font-size:.75rem;display:block}.weighted-feedback.active{color:var(--accent-emerald)}.form-actions{justify-content:flex-end;gap:16px;display:flex}.members-list{flex-direction:column;gap:12px;max-height:350px;padding-right:4px;display:flex;overflow-y:auto}.member-item{background:#0f172a66;border:1px solid #ffffff08;border-radius:8px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.member-name{font-weight:500}.member-name.inactive{color:var(--text-secondary);text-decoration:line-through}.member-status-btn{cursor:pointer;transition:var(--transition-smooth);border-radius:6px;padding:4px 10px;font-size:.75rem;font-weight:600}.member-status-btn.active-btn{color:var(--accent-emerald);background:#10b9811a;border:1px solid #10b98133}.member-status-btn.inactive-btn{color:var(--accent-rose);background:#f43f5e1a;border:1px solid #f43f5e33}.add-member-form{gap:8px;margin-top:16px;display:flex}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{width:100%;max-width:450px;padding:32px;animation:.3s cubic-bezier(.4,0,.2,1) forwards fadeIn;position:relative}.modal-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.modal-header h3{font-size:1.3rem}.modal-close{color:var(--text-secondary);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;font-size:1.5rem}.modal-close:hover{color:#fff}.calc-info-box{color:var(--text-secondary);background:#6366f114;border:1px solid #6366f126;border-radius:8px;margin-bottom:24px;padding:16px;font-size:.85rem;line-height:1.4}.calc-info-box strong{color:var(--text-primary)}.calc-input-group{margin-bottom:24px}.calc-input-group label{color:var(--text-secondary);margin-bottom:8px;font-size:.9rem;font-weight:600;display:block}.calc-result{text-align:center;background:#0f172a80;border:1px solid #ffffff0d;border-radius:8px;margin-bottom:24px;padding:16px}.calc-result-val{color:var(--accent-cyan);font-size:2rem;font-weight:800}.calc-result-label{color:var(--text-secondary);margin-top:4px;font-size:.8rem}.login-container{justify-content:center;align-items:center;padding:40px 0;display:flex}.login-card{width:100%;max-width:420px;padding:40px}.login-card h2{text-align:center;margin-bottom:12px;font-size:1.8rem}.login-card .subtitle{color:var(--text-secondary);text-align:center;margin-bottom:32px;font-size:.95rem}.form-group{margin-bottom:20px}.form-group label{color:var(--text-secondary);margin-bottom:8px;font-size:.9rem;font-weight:600;display:block}.btn-login{justify-content:center;width:100%;margin-top:12px}.error-message{color:var(--accent-rose);background:#f43f5e1a;border:1px solid #f43f5e33;border-radius:8px;margin-bottom:20px;padding:12px;font-size:.9rem;font-weight:500}.success-message{color:var(--accent-emerald);background:#10b9811a;border:1px solid #10b98133;border-radius:8px;margin-bottom:20px;padding:12px;font-size:.9rem;font-weight:500}.milestone-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:20px;align-items:center;gap:3px;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-flex;box-shadow:0 2px 5px #0000004d}.milestone-badge.gold{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b66;box-shadow:0 0 10px #f59e0b33}.milestone-badge.silver{color:#cbd5e1;background:#94a3b826;border:1px solid #94a3b866}.milestone-badge.bronze{color:#f97316;background:#b4530926;border:1px solid #b4530966}.special-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:20px;align-items:center;gap:3px;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-flex;box-shadow:0 2px 5px #0000004d}.special-badge.top-runner{color:#818cf8;background:#6366f126;border:1px solid #6366f166;box-shadow:0 0 10px #6366f133}.special-badge.top-cyclist{color:#22d3ee;background:#06b6d426;border:1px solid #06b6d466;box-shadow:0 0 10px #06b6d433}
