*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0a0e17;--bg-surface: rgba(255, 255, 255, .05);--text-primary: #ffffff;--text-secondary: #808b96;--border-color: rgba(255, 255, 255, .1);--accent-color: #00d9a3;--text-muted: #808b96;--shadow-color: rgba(0, 0, 0, .4);--header-bg: #0f172a;--header-surface: rgba(255, 255, 255, .05);--header-text: #ffffff;--header-text-secondary: #808b96;--header-border: rgba(255, 255, 255, .1);--header-accent: #00d9a3}.light-theme{--bg-primary: #f8fafc;--bg-surface: #ffffff;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--border-color: #94a3b8;--accent-color: #00b386;--accent-readable: #059669;--text-muted: #64748b;--shadow-color: rgba(0, 0, 0, .15)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--tier-premium: #f1c40f;--tier-rangepro: #00d9a3;--tier-free: #808b96}.user-tier-badge{padding:2px 8px;border-radius:4px;font-size:10px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center}.tier-premium{background:#f1c40f1a;color:var(--tier-premium);border:1px solid rgba(241,196,15,.2)}.tier-rangepro{background:#00d9a31a;color:var(--tier-rangepro);border:1px solid rgba(0,217,163,.2)}.tier-free{background:#808b961a;color:var(--tier-free);border:1px solid rgba(128,139,150,.2)}.main-footer{background:#0f172a;color:#f8fafc;padding:3rem 1rem 1rem;font-family:Inter,system-ui,-apple-system,sans-serif;border-top:1px solid #1e293b;width:100%;box-sizing:border-box}.footer-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem;margin-bottom:2rem}.footer-section h3{margin:0 0 1rem;font-size:1.5rem;font-weight:800;letter-spacing:-.025em}.footer-logo{font-size:1.5rem!important;margin-bottom:.5rem!important;justify-content:flex-start!important}.footer-section h4{margin:0 0 1.25rem;font-size:1rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.footer-section p{color:#94a3b8;line-height:1.6;max-width:300px}.footer-section ul{list-style:none;padding:0;margin:0}.footer-section ul li{margin-bottom:.75rem}.footer-section ul li a{color:#cbd5e1;text-decoration:none;transition:color .2s;font-size:.95rem}.footer-section ul li a:hover{color:#38bdf8}.footer-bottom{max-width:1200px;margin:0 auto;padding-top:1.5rem;border-top:1px solid #1e293b;text-align:center;color:#64748b;font-size:.875rem}@media (max-width: 768px){.footer-content{grid-template-columns:1fr;gap:2rem;text-align:center}.footer-section p{margin:0 auto}.footer-section h4{margin-top:1rem}}.login-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#0a0e17,#1a2332);gap:20px}.agent-download-banner{background:#00d9a31a;border:1px solid rgba(0,217,163,.2);padding:12px 24px;border-radius:50px;display:flex;align-items:center;gap:16px;color:#fff;font-size:14px;box-shadow:0 4px 20px #0003}.btn-download-small{background:#00d9a3;color:#0a0e17;text-decoration:none;padding:6px 16px;border-radius:20px;font-weight:700;font-size:12px;transition:all .2s ease}.btn-download-small:hover{background:#fff;transform:scale(1.05)}.login-card{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:40px;width:100%;max-width:400px;box-shadow:0 8px 32px #0000004d}.main-logo{display:flex;align-items:center;justify-content:center;gap:12px;margin:0}.brand-action,.brand-shot{color:#00d9a3;font-size:24px;font-weight:700}.brand-10x{position:absolute;font-size:10px;color:#fff;background:#1a2332;border:2px solid #ffffff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-weight:900;box-shadow:0 0 10px #ff9f4380;left:50%;top:50%;transform:translate(-50%,-50%)}.version{font-size:10px;color:#566573;align-self:flex-end;margin-bottom:12px}.login-branding{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:24px}.slogan{font-size:13px;color:#808b96;margin:-8px 0 0;font-weight:400}.login-card h2{font-size:20px;color:#fff;margin-bottom:24px;text-align:center}.error-message{background:#ff3b301a;border:1px solid rgba(255,59,48,.3);color:#ff3b30;padding:12px;border-radius:8px;margin-bottom:16px;font-size:14px}.form-group label{display:block;margin-bottom:8px;color:#a0a0a0;font-size:14px}.form-group input,.select-input{width:100%;padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:16px;transition:all .3s ease}.form-group input:focus,.select-input:focus{outline:none;border-color:#00d9a3;background:#ffffff14}.select-input option{background:#1a2332;color:#fff}.btn-primary{width:100%;padding:14px;background:linear-gradient(135deg,#00d9a3,#00b386);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00d9a34d}.btn-primary:active{transform:translateY(0)}.toggle-text{text-align:center;margin-top:20px;color:#a0a0a0;font-size:14px}.toggle-text span{color:#00d9a3;cursor:pointer;font-weight:600}.toggle-text span:hover{text-decoration:underline}.login-method-toggle{display:flex;background:#ffffff0d;border-radius:8px;padding:4px;margin-bottom:20px}.toggle-btn{flex:1;background:transparent;border:none;color:#a0a0a0;padding:8px;border-radius:6px;cursor:pointer;transition:all .3s ease;font-weight:500}.toggle-btn.active{background:#00d9a333;color:#00d9a3}.b2b-banner{background:#00d9a30d;border:1px dashed rgba(0,217,163,.3);border-radius:12px;padding:16px;text-align:center;margin-top:24px}.b2b-banner p{margin:0 0 8px;font-size:13px;color:#d1d1d1}.btn-link{color:#00d9a3;font-size:12px;font-weight:600;text-decoration:none}.btn-link:hover{text-decoration:underline}@media screen and (max-width: 480px){.login-card{padding:24px;max-width:90%;border-radius:12px}.brand-x{font-size:48px}.brand-action,.brand-shot{font-size:20px}.brand-10x{width:20px;height:20px;font-size:8px}.login-card h2{font-size:18px;margin-bottom:20px}.form-group input{padding:10px 14px;font-size:14px}.btn-primary{padding:12px;font-size:14px}}.timeline-container{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;padding:20px;margin-bottom:24px;height:380px;display:flex;flex-direction:column}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.header-main{display:flex;align-items:center;gap:24px}.timeline-container h3{color:var(--text-primary);font-size:18px;margin:0;display:flex;align-items:center;gap:8px}.timeline-container h3:before{content:"📈";font-size:20px}.chart-controls{display:flex;gap:12px}.toggle-group{display:flex;background:var(--bg-surface);border:1px solid var(--border-color);padding:4px;border-radius:8px}.toggle-btn{background:transparent;border:none;color:var(--text-secondary);padding:4px 12px;font-size:12px;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s ease}.toggle-btn.active{background:var(--accent-color);color:#fff;box-shadow:0 2px 8px var(--shadow-color)}.chart-wrapper{flex:1;min-height:0}.timeline-footer{margin-top:16px;display:flex;justify-content:center}.btn-advanced-analytics{background:transparent;border:1px solid rgba(0,217,163,.3);color:#00d9a3;padding:8px 20px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-advanced-analytics:hover{background:#00d9a31a;border-color:#00d9a3;transform:translateY(-1px)}.timeline-empty-state{flex:1;display:flex;align-items:center;justify-content:center;min-height:200px}.timeline-empty-state p{color:var(--text-secondary);font-style:italic;font-size:14px}.timeline-container.empty{align-items:center;justify-content:center}.timeline-container.empty p{color:#808b96;font-style:italic}@media (max-width: 768px){.timeline-container{height:auto;min-height:450px;padding:16px}.timeline-header{flex-direction:column;align-items:flex-start;gap:16px}.header-main{flex-direction:column;align-items:flex-start;gap:12px;width:100%}.chart-controls{width:100%;justify-content:flex-start;flex-wrap:wrap}.tier-badge{align-self:flex-start}.chart-wrapper{flex:none;height:280px;width:100%}}@media (max-width: 480px){.timeline-container h3{font-size:16px}.toggle-btn{padding:4px 8px;font-size:11px}.chart-wrapper{height:240px}}.user-profile-dropdown{position:relative;-webkit-user-select:none;user-select:none}.profile-trigger{display:flex;align-items:center;gap:12px;padding:6px 12px;background:var(--header-surface);border:1px solid var(--header-border);border-radius:50px;cursor:pointer;transition:all .2s ease}.profile-trigger:hover,.profile-trigger.active{background:var(--bg-surface);border-color:var(--accent-color);opacity:.8}.avatar{width:32px;height:32px;background:linear-gradient(135deg,#00d9a3,#00b386);color:#0a0e17;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;box-shadow:0 0 10px #00d9a333}.profile-trigger .user-name{color:var(--header-text);font-weight:500;font-size:14px}.name-and-tier{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.trigger-badge{font-size:8px;padding:1px 4px;border-radius:3px;line-height:1}.chevron{font-size:8px;color:var(--text-secondary);transition:transform .3s ease}.chevron.up{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:calc(100% + 12px);right:0;width:240px;background:var(--header-bg);border:1px solid var(--header-border);border-radius:16px;box-shadow:0 15px 35px var(--shadow-color);overflow:hidden;z-index:1000;animation:fadeInScale .2s ease-out}@keyframes fadeInScale{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-header{padding:20px;background:var(--header-surface);border-bottom:1px solid var(--header-border)}.dropdown-header .full-name{margin:0;color:var(--header-text);font-weight:600;font-size:16px;line-height:1.2}.dropdown-header .user-role{margin:4px 0 10px;color:var(--header-text-secondary);font-size:11px;letter-spacing:1px;font-weight:500}.shooter-id-badge{display:inline-block;padding:4px 10px;background:#00d9a31a;color:var(--header-accent);border-radius:6px;font-size:11px;font-weight:600;border:1px solid rgba(0,217,163,.2)}.dropdown-divider{height:1px;background:var(--header-border)}.dropdown-item{width:100%;padding:14px 20px;background:transparent;border:none;color:var(--header-text);text-align:left;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:12px;transition:all .2s ease}.dropdown-item:hover{background:var(--header-surface);color:var(--header-accent)}.item-icon{font-size:16px;width:20px;text-align:center}.logout-item{color:#ff6b6b}.logout-item:hover{background:#ff6b6b14;color:#ff8787}.nrai-pulse-container{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;padding:12px 20px;margin-bottom:24px;display:flex;align-items:center;gap:20px;box-shadow:0 4px 20px var(--shadow-color);overflow:hidden;position:relative}.nrai-header{display:flex;flex-direction:column;flex-shrink:0}.nrai-badge{background:#e94560;color:#fff;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:800;letter-spacing:1px}.nrai-subtitle{font-size:.65rem;color:var(--text-secondary);margin-top:4px;text-transform:uppercase}.nrai-ticker-wrapper{flex-grow:1;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent 0%,black 5%,black 95%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,black 5%,black 95%,transparent 100%)}.nrai-ticker{display:flex;gap:24px;animation:nrai-scroll 40s linear infinite;white-space:nowrap}.nrai-ticker-item{display:flex;align-items:center;gap:12px}.nrai-ticker-date{color:#0f3460;background:#533483;color:#fff;padding:2px 6px;border-radius:4px;font-size:.7rem;font-family:Courier New,Courier,monospace}.nrai-ticker-link{color:var(--text-primary);text-decoration:none;font-size:.9rem;font-weight:500;transition:color .2s;opacity:.9}.nrai-ticker-link:hover{color:#e94560;text-decoration:underline}.nrai-ticker-separator{color:var(--text-secondary);opacity:.3}@keyframes nrai-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.nrai-ticker:hover{animation-play-state:paused}.competitive-history-container{display:flex;flex-direction:column;gap:24px;margin-top:30px;animation:fadeIn .8s ease-out}.growth-dna-card{background:var(--bg-surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:20px;padding:24px;box-shadow:0 8px 32px var(--shadow-color)}.growth-dna-card h3{margin-top:0;font-weight:600;background:linear-gradient(135deg,#00f2fe,#4facfe);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-size:1.4rem;margin-bottom:20px}.dna-stats{display:flex;justify-content:space-around;align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:16px;padding:20px;margin-bottom:16px}.dna-stat{display:flex;flex-direction:column;align-items:center;text-align:center}.stat-label{font-size:.85rem;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:1px}.stat-value{font-size:1.8rem;font-weight:700;color:var(--text-primary);font-family:Inter,sans-serif}.dna-stat-divider{width:1px;height:40px;background:var(--border-color)}.gap-pos .stat-value{color:#4ade80}.gap-neg .stat-value{color:#f87171}.dna-insight{text-align:center;font-size:1rem;color:var(--text-primary);margin:0;font-style:italic;opacity:.9}.historical-results-card{background:var(--bg-surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:20px;padding:24px;box-shadow:0 8px 32px var(--shadow-color)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.card-header h3{margin:0;font-size:1.2rem;color:var(--text-primary)}.badge{background:#4facfe33;color:#4facfe;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;border:1px solid rgba(79,172,254,.3)}.results-table{width:100%;border-collapse:collapse;color:var(--text-primary);opacity:.9}.results-table th{text-align:left;padding:12px;font-size:.9rem;color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.results-table td{padding:16px 12px;border-bottom:1px solid var(--border-color);opacity:.8}.rank-cell{font-weight:700;color:var(--text-primary)}.score-cell{font-family:JetBrains Mono,monospace;font-weight:600;color:var(--accent-readable)}.no-results{text-align:center;padding:40px 20px;color:var(--text-secondary)}.btn-link-nrai{margin-top:16px;background:transparent;border:1px dashed var(--border-color);color:var(--text-secondary);padding:8px 16px;border-radius:8px;cursor:pointer;transition:all .3s ease}.btn-link-nrai:hover{border-color:#4facfe;color:#4facfe;background:#4facfe1a}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.dna-stats{flex-direction:column;gap:20px}.dna-stat-divider{width:60%;height:1px}}.dashboard-container{min-height:100vh;background:var(--bg-primary);transition:background .3s ease}.dashboard-header{background:var(--header-bg);color:var(--header-text);border-bottom:1px solid var(--header-border);padding:20px 40px;display:flex;justify-content:space-between;align-items:center}.main-logo{display:flex;align-items:center;gap:12px;margin:0}.branding-container{display:flex;flex-direction:column;gap:2px}.slogan{font-size:13px;color:var(--header-text-secondary);margin:-8px 0 0;font-weight:400}.brand-action,.brand-shot{color:var(--header-accent);font-size:24px;font-weight:700}.brand-x-container{position:relative;display:flex;align-items:center;justify-content:center}.brand-x{font-size:60px;font-weight:900;font-style:italic;color:#ff9f43;line-height:1;font-family:Georgia,serif}.brand-10x{position:absolute;font-size:10px;color:#fff;background:#0a0e17;border:2px solid #ffffff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-weight:900;box-shadow:0 0 10px #ff9f4380;left:50%;top:50%;transform:translate(-50%,-50%)}.version{font-size:10px;color:var(--header-text-secondary);align-self:flex-end;margin-bottom:12px}.header-actions{display:flex;align-items:center;gap:16px}.user-name{color:var(--header-text);font-weight:500}.btn-secondary{padding:10px 20px;background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .3s ease}.btn-secondary:hover{background:#ffffff1a}.btn-logout{padding:10px 20px;background:#ff3b301a;color:#ff6b6b;border:1px solid rgba(255,59,48,.2);border-radius:8px;cursor:pointer;transition:all .3s ease}.btn-logout:hover{background:#ff3b3033}.dashboard-main{max-width:1200px;margin:0 auto;padding:40px 20px}.welcome-section{margin-bottom:32px;display:flex;justify-content:space-between;align-items:center;background:var(--bg-surface);padding:24px;border-radius:16px;border:1px solid var(--border-color)}.welcome-section h2{font-size:32px;color:var(--text-primary);margin:0}.header-badge{margin-left:8px;vertical-align:middle}.welcome-section p{color:var(--text-secondary);font-size:16px}.resume-session-banner{background:linear-gradient(90deg,#667eea26,#764ba226);border:1px solid rgba(102,126,234,.3);border-radius:16px;padding:20px 30px;margin-bottom:30px;display:flex;justify-content:space-between;align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0003;animation:slideDown .5s ease-out}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.resume-info{display:flex;align-items:center;gap:20px}.resume-pulse{width:12px;height:12px;background:#00d9a3;border-radius:50%;box-shadow:0 0 #00d9a3b3;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 #00d9a3b3}70%{transform:scale(1);box-shadow:0 0 0 10px #00d9a300}to{transform:scale(.95);box-shadow:0 0 #00d9a300}}.resume-text h3{margin:0;color:var(--text-primary);font-size:18px;font-weight:600}.resume-text p{margin:4px 0 0;color:var(--text-secondary);font-size:14px}.btn-resume-glow{background:#667eea;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:700;font-size:15px;cursor:pointer;transition:all .3s ease;box-shadow:0 0 15px #667eea4d}.btn-resume-glow:hover{background:#fff;color:#667eea;transform:translateY(-2px);box-shadow:0 5px 20px #667eea80}.quick-actions{margin-bottom:30px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.btn-action{padding:20px;font-size:18px;font-weight:600;border-radius:12px;border:none;cursor:pointer;transition:all .3s ease;height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center}.btn-start-session{background:linear-gradient(135deg,#00d9a3,#00b386);color:#fff}.btn-start-session:hover{transform:translateY(-4px);box-shadow:0 8px 32px #00d9a366}.btn-diary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-diary:hover{transform:translateY(-4px);box-shadow:0 8px 32px #667eea66}.btn-range{background:linear-gradient(135deg,#ff9f43,#ff8c1a);color:#000}.btn-range:hover{transform:translateY(-4px);box-shadow:0 8px 32px #ff9f4366}.btn-coach{background:linear-gradient(135deg,#ff7675,#d63031);color:#fff}.btn-coach:hover{transform:translateY(-4px);box-shadow:0 8px 32px #ff767566}.create-session-form{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:30px;margin-bottom:40px}.create-session-form h3{color:var(--text-primary);margin-bottom:20px;font-size:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.form-row:first-child{grid-template-columns:1fr}.create-session-form .form-group{margin-bottom:0}.create-session-form .form-group label{display:block;margin-bottom:8px;color:var(--text-secondary);font-size:14px}.create-session-form .form-group input,.create-session-form .form-group select{width:100%;padding:12px 16px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:16px;outline:none;transition:all .3s ease}.create-session-form .form-group select option{background-color:var(--bg-primary);color:var(--text-primary);padding:12px}.create-session-form .form-group input:focus,.create-session-form .form-group select:focus{border-color:#00d9a3;background:#ffffff1f}.create-session-form .form-group small{display:block;margin-top:6px;color:gray;font-size:12px}@media screen and (max-width: 768px){.dashboard-header{padding:16px 20px;flex-direction:column;gap:16px;align-items:stretch}.main-logo{justify-content:center}.header-actions{justify-content:center;flex-wrap:wrap}.dashboard-main{padding:24px 16px}.form-row{grid-template-columns:1fr;gap:16px}}@media screen and (max-width: 480px){.brand-action,.brand-shot{font-size:20px}.brand-x{font-size:48px}.brand-10x{width:20px;height:20px;font-size:8px}.user-name{order:-1;width:100%;text-align:center;margin-bottom:8px}}.shot-list-container{height:auto;display:flex;flex-direction:column}.shot-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.shot-list-header h3{font-size:14px;font-weight:700;color:var(--accent-readable);letter-spacing:.5px}.shot-count{font-size:13px;color:var(--accent-readable);font-weight:600}.shot-list-table{background:var(--bg-primary);border-radius:8px;border:1px solid var(--border-color)}.table-header{display:grid;grid-template-columns:40px 40px 1fr 65px;gap:10px;padding:10px 16px;background:var(--bg-surface);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:10;font-size:11px;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:1px}.table-body{padding:4px 0}.table-row{display:grid;grid-template-columns:40px 40px 1fr 65px;gap:10px;padding:12px 16px;font-size:14px;border-bottom:1px solid var(--border-color);transition:background .2s ease;align-items:center}.table-row:hover{background:#ffffff08}.col-num{font-size:16px;font-weight:700;color:var(--accent-readable);display:flex;align-items:center;gap:6px}.col-num.clickable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s ease}.col-num.clickable:hover{color:var(--accent-color)}.sighter-icon{font-size:12px;opacity:.7}.table-row .col-dir{font-size:18px;color:#a0a0a0;text-align:center;display:flex;justify-content:center;align-items:center}.col-score-combined{display:flex;align-items:baseline;justify-content:flex-end;gap:6px;padding-right:15px}.score-main{font-size:20px;font-weight:700;color:var(--text-primary)}.score-sub{font-size:11px;font-weight:600;color:var(--accent-readable);opacity:.8}.col-score-header{text-align:right;padding-right:15px}.col-time-header{text-align:right}.col-time{font-family:JetBrains Mono,Courier New,monospace;font-size:12px;color:#777;text-align:right;font-weight:500}.mode-group-header{background:var(--bg-surface);padding:8px 16px;font-size:10px;font-weight:800;color:var(--text-muted);letter-spacing:1px;border-bottom:1px solid var(--border-color);margin-top:4px}.mode-group-header.match{border-left:3px solid #00d9a3;color:#00d9a3}.mode-group-header.sighter{border-left:3px solid #ff9500;color:#ff9500}.series-group{border-bottom:1px solid var(--border-color)}.series-group:last-child{border-bottom:none}.series-subheader{background:var(--bg-primary);padding:6px 16px;font-size:11px;font-weight:700;color:var(--text-muted);letter-spacing:.5px;border-bottom:1px solid var(--border-color)}.series-filter-bar{margin-top:16px;padding:12px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border-color)}.series-filter-label{font-size:11px;font-weight:700;color:gray;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.series-buttons{display:flex;gap:8px;flex-wrap:wrap}.series-btn{flex:1;min-width:60px;padding:8px 12px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:4px}.series-btn:hover{background:#ffffff1a;transform:translateY(-2px)}.series-btn.active{background:var(--bg-surface);border-color:var(--accent-color);box-shadow:0 0 12px var(--shadow-color)}.series-btn-num{font-size:11px;font-weight:700;color:var(--text-muted);letter-spacing:.5px}.series-btn.active .series-btn-num{color:#00d9a3}.series-btn-score{font-size:16px;font-weight:700;color:var(--text-primary)}.series-summary{display:none}.series-row:last-child{border-bottom:none}.series-total{font-weight:700;color:#00d9a3}.series-total small{font-weight:400;color:#888;margin-left:4px}.header-meta{display:flex;align-items:center;gap:12px}.btn-show-all{background:#00d9a31a;border:1px solid rgba(0,217,163,.3);color:#00d9a3;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:700;cursor:pointer;transition:all .2s ease}.btn-show-all:hover{background:#00d9a3;color:#0a0e17}.shot-list-table::-webkit-scrollbar{width:6px}.shot-list-table::-webkit-scrollbar-track{background:#ffffff05;border-radius:3px}.shot-list-table::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.shot-list-table::-webkit-scrollbar-thumb:hover{background:#ffffff26}@media screen and (max-width: 480px){.table-header,.table-row{grid-template-columns:40px 40px 1fr 60px;padding:10px 8px;gap:8px;font-size:13px}.col-score{font-size:16px}.col-dir{font-size:14px}.shot-list-header{flex-direction:row;align-items:center}}.notes-widget{background:#1a2332;border-radius:12px;display:flex;flex-direction:column;gap:20px;max-width:100%;width:100%;color:#fff;position:relative}.notes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:16px;border-bottom:2px solid rgba(0,217,163,.3)}.notes-header h2{font-size:22px;font-weight:700;color:#00d9a3;margin:0}.close-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-button:hover{background:#fff3;transform:rotate(90deg)}.focus-section h4,.text-section h4{color:#a0a0a0;font-size:14px;margin-bottom:10px}.tags-grid{display:flex;flex-wrap:wrap;gap:8px}.focus-tag{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);padding:8px 16px;border-radius:20px;font-size:13px;cursor:pointer;transition:all .3s ease;-webkit-user-select:none;user-select:none;color:#ffffff80;opacity:.6}.focus-tag.active{background:linear-gradient(135deg,#00d9a3,#00b386);border-color:#00d9a3;color:#fff;font-weight:600;box-shadow:0 4px 12px #00d9a34d;opacity:1}.text-section textarea{width:100%;background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px;color:#fff;font-family:inherit;resize:vertical;font-size:14px;line-height:1.5}.coach-feedback-section{margin-top:5px;padding-top:15px;border-top:1px solid rgba(255,255,255,.1)}.coach-feedback-section h4{color:#ff9f43;font-size:14px;margin-bottom:12px}.coach-feedback-section textarea{width:100%;background:#ff9f430d;border:1px solid rgba(255,159,67,.2);border-radius:8px;padding:12px;color:#fff;font-family:inherit;resize:vertical;font-size:14px;line-height:1.5;margin-bottom:12px}.coach-feedback-section textarea:focus{outline:none;border-color:#ff9f43;background:#ff9f4314}.btn-save-comment{background:linear-gradient(135deg,#ff9f43,#ff8c1a);color:#fff;border:none;padding:10px 20px;border-radius:6px;font-weight:600;font-size:12px;cursor:pointer;letter-spacing:.5px;transition:all .2s ease}.btn-save-comment:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #ff9f434d}.btn-save-comment:disabled{opacity:.5;cursor:not-allowed}.feedback-display-box{background:#ff9f4314;border:1px dashed rgba(255,159,67,.4);border-radius:8px;padding:16px;position:relative;margin-bottom:10px}.comment-text{margin:0;line-height:1.6;font-style:italic;color:#ffecdb}.comment-date{display:block;font-size:11px;color:#ff9f4399;margin-top:10px;text-align:right}.no-feedback{margin:0;color:#ffffff4d;font-style:italic;text-align:center;padding:10px}.notes-actions{display:flex;gap:12px;margin-top:10px}.btn-save{flex:2;background:linear-gradient(135deg,#00d9a3,#00b386);color:#fff;border:none;padding:12px;border-radius:8px;font-weight:600;cursor:pointer}.btn-cancel{flex:1;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);padding:12px;border-radius:8px;cursor:pointer}.notes-loading{padding:20px;text-align:center;color:#888}.target-ui-container{min-height:100vh;background:var(--bg-primary);color:var(--text-primary);transition:all .3s ease}.target-header{background:var(--header-bg);color:var(--header-text);padding:16px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--header-border);box-shadow:0 4px 12px var(--shadow-color)}.title-row{display:flex;align-items:center;gap:16px}.sius-status-badge{padding:4px 12px;border-radius:4px;font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase}.sius-status-badge.active{background:red;color:#fff;box-shadow:0 0 10px #f006;animation:pulse 2s infinite}.sius-status-badge.paused{background:#ff9500;color:#000}.sius-status-badge.reset{background:#007aff;color:#fff}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.header-actions{display:flex;gap:12px}.btn-header{padding:10px 20px;background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);font-weight:600;font-size:13px;border-radius:6px;cursor:pointer;transition:all .3s ease}.btn-header:hover{background:#ffffff40}.btn-exit{padding:10px 24px;background:var(--accent-color);border:none;color:#fff;font-weight:700;font-size:13px;border-radius:6px;cursor:pointer;transition:all .3s ease}.btn-exit:hover{background:#f0f0f0}.target-main{display:flex;gap:24px;padding:24px;height:calc(100vh - 80px);overflow:hidden}.target-section{flex:1;display:flex;flex-direction:column;gap:20px;min-width:0;background:var(--bg-primary);align-items:center;justify-content:center;padding:40px}.score-section{width:380px;display:flex;flex-direction:column;gap:20px;overflow-y:auto;padding:20px;background:var(--bg-surface);border-left:1px solid var(--border-color);box-shadow:-4px 0 12px var(--shadow-color)}.score-section::-webkit-scrollbar{width:8px}.score-section::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.score-section::-webkit-scrollbar-thumb{background:var(--accent-color);opacity:.5;border-radius:4px}.score-section::-webkit-scrollbar-thumb:hover{background:#00d9a380}.target-canvas-wrapper{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;padding:20px;box-shadow:0 8px 32px var(--shadow-color);margin-bottom:30px;position:relative}.target-canvas-wrapper canvas{display:block;border-radius:8px;max-width:100%;max-height:85vh;object-fit:contain}.zoom-controls{position:absolute;bottom:20px;right:20px;display:flex;align-items:center;gap:8px;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:8px;border-radius:8px;border:1px solid rgba(255,255,255,.1);z-index:10}.zoom-controls button{min-width:32px;height:32px;padding:0 8px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.1);color:#fff;border-radius:4px;font-size:14px;cursor:pointer;transition:all .2s ease}.zoom-icon-svg{width:18px;height:18px;stroke:#ffffffb3;transition:stroke .2s}.zoom-controls button:hover .zoom-icon-svg{stroke:#00d9a3}.btn-reset-zoom{font-size:10px!important;font-weight:800!important;letter-spacing:.5px;color:#00d9a3!important}.zoom-controls button:hover{background:#fff3;border-color:#00d9a3}.zoom-value{color:#00d9a3;font-size:12px;font-weight:700;min-width:45px;text-align:center}.target-canvas-wrapper.dragging canvas{cursor:grabbing}.session-controls{display:flex;gap:16px;align-items:center}.btn-control{padding:14px 28px;font-size:14px;font-weight:700;border-radius:8px;border:none;cursor:pointer;transition:all .3s ease}.btn-start{background:linear-gradient(135deg,#00d9a3,#00b386);color:#fff;flex:1}.btn-start:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00d9a366}.btn-end{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);flex:1}.btn-end:hover{background:#ff47571a;border-color:#ff4757;color:#ff4757}.precision-stats-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;padding:12px 18px;margin-top:12px;display:flex;align-items:center;gap:12px}.precision-stats-card.pace-card{background:#00d9a314;border-color:#00d9a333;border-left:4px solid #00d9a3}.precision-stats-card.pace-card .info-value{color:var(--accent-readable)}.precision-stats-header{margin-bottom:0;border-bottom:none;padding-bottom:0;min-width:80px}.precision-stats-header h3{font-size:10px;font-weight:800;color:#999;text-transform:uppercase;letter-spacing:1px;margin:0}.precision-info-lines{display:flex;flex-direction:column;gap:2px;flex-grow:1}.info-line{display:flex;align-items:baseline;gap:12px}.info-label{font-size:11px;font-weight:600;color:#aaa;min-width:30px}.info-value{font-size:13px;font-weight:700;color:var(--accent-readable);font-family:JetBrains Mono,Roboto Mono,monospace}.coord-label{color:#888;font-weight:500;margin-right:2px}.total-score-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;padding:24px;text-align:center;box-shadow:0 4px 12px var(--shadow-color)}.score-label{font-size:12px;font-weight:600;color:var(--accent-readable);letter-spacing:1px;margin-bottom:12px}.score-display{display:flex;align-items:baseline;justify-content:center;gap:4px}.score-whole{font-size:56px;font-weight:700;color:var(--text-primary);line-height:1}.score-decimal{font-size:28px;font-weight:600;color:var(--text-muted)}.secondary-label{font-size:14px;font-weight:600;color:#888;margin-top:10px;letter-spacing:.5px}.relive-controls{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:-10px;background:var(--bg-surface);padding:16px 24px;border-radius:12px;border:1px solid var(--border-color);box-shadow:0 4px 12px var(--shadow-color)}.btn-relive{padding:12px 30px;background:linear-gradient(135deg,#00d9a3,#00b386);color:#fff;border:none;border-radius:30px;font-weight:700;font-size:14px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #00d9a34d;min-width:180px}.btn-relive:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00d9a380}.btn-relive.active{background:#ff4757;box-shadow:0 4px 15px #ff47574d}.speed-controls{display:flex;align-items:center;gap:12px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.speed-label{font-size:13px;font-weight:600;color:#888}.btn-speed{padding:6px 14px;background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-speed:hover{background:#fff3}.btn-speed.active{background:#00d9a3;border-color:#00d9a3;color:#fff}.btn-speed.reset{background:transparent;border-color:#ffffff1a;font-size:16px;padding:4px 10px}.btn-speed.reset:hover{background:#ffffff1a}@media screen and (max-width: 1024px){.target-main{flex-direction:column;height:auto;overflow-y:visible;padding:16px}.target-section{width:100%;padding:20px;min-height:auto}.score-section{width:100%;max-height:none;overflow-y:visible;padding-right:0}.target-canvas-wrapper{margin-bottom:20px}.target-canvas-wrapper canvas{max-height:50vh}.score-section{padding:24px;height:auto}.target-header{padding:12px 20px;flex-wrap:wrap}.session-info{gap:12px}.session-info h2{font-size:16px}}@media screen and (max-width: 768px){.target-header{flex-direction:column;gap:12px;align-items:stretch;text-align:center}.session-info{justify-content:center;flex-direction:column;gap:8px}.header-actions{justify-content:center;flex-wrap:wrap;gap:8px}.user-name{display:none}.target-section{padding:16px 12px}.target-canvas-wrapper{padding:10px;width:100%;box-sizing:border-box}.target-canvas-wrapper canvas{max-height:45vh}.session-controls{flex-wrap:wrap;justify-content:center;width:100%;gap:10px}.btn-control{flex:1;min-width:120px;padding:12px 14px;white-space:nowrap}.mode-indicator{width:100%;text-align:center;margin-top:4px;border:none;background:transparent;padding:0}.score-whole{font-size:42px}.score-decimal{font-size:24px}}@media screen and (max-height: 600px) and (orientation: landscape){.target-main{display:flex;flex-direction:row;height:auto;min-height:calc(100vh - 60px)}.target-section{flex:1.5;padding:10px 20px;overflow-y:auto}.target-canvas-wrapper{margin-bottom:10px;display:flex;justify-content:center}.target-canvas-wrapper canvas{max-height:70vh;width:auto}.score-section{flex:1;width:300px;min-width:250px;overflow-y:auto;padding:16px}.target-header{padding:8px 16px;flex-direction:row;align-items:center;justify-content:space-between}.session-info{flex-direction:row}.header-actions .user-name{display:none}}.history-container{min-height:100vh;background:var(--bg-primary);transition:background .3s ease}.history-header{background:var(--header-bg);color:var(--header-text);border-bottom:1px solid var(--header-border);padding:20px 40px;display:flex;justify-content:space-between;align-items:center}.history-header h1{font-size:24px;color:var(--header-accent)}.btn-back{padding:10px 20px;background:var(--header-surface);color:var(--header-text);border:1px solid var(--header-border);border-radius:8px;cursor:pointer;transition:all .3s ease}.history-main{max-width:1400px;margin:0 auto;padding:40px 20px}.history-table h2{color:var(--text-primary);margin-bottom:20px;font-size:20px}.history-table table{width:100%;background:var(--bg-surface);border-radius:12px;border-collapse:collapse;overflow:hidden;border:1px solid var(--border-color)}.history-table thead{background:var(--bg-primary)}.history-table th{padding:16px;text-align:left;color:#00d9a3;font-weight:600;font-size:14px;letter-spacing:.5px}.history-table td{padding:16px;color:var(--text-secondary);border-top:1px solid var(--border-color)}.history-table tbody tr{cursor:pointer;transition:background .2s ease}.history-table tbody tr:hover{background:var(--bg-primary)}.capitalize{text-transform:capitalize}.thumbnail-cell{width:100px;padding:8px!important}.thumbnail-wrapper{width:80px;height:80px;background:#000;border-radius:8px;overflow:hidden;border:1px solid var(--border-color);display:flex;justify-content:center;align-items:center}.thumbnail-wrapper img{width:100%;height:100%;object-fit:contain}.thumbnail-placeholder{width:80px;height:80px;background:#ffffff0d;border-radius:8px;border:1px dashed var(--border-color)}.score-cell{font-weight:700;color:var(--text-primary);font-size:16px}.score-stack{display:flex;flex-direction:column;gap:4px}.sighter-score-inline{color:#808b96;font-size:13px;font-weight:500;margin-left:4px}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.status-badge.active{background:#00d9a333;color:#00d9a3}.status-badge.ended{background:#ff950033;color:#ff9500}.status-badge.archived{background:var(--bg-primary);color:var(--text-secondary)}.action-buttons{display:flex;gap:8px;align-items:center}.btn-replay{padding:8px 16px;background:linear-gradient(135deg,#00d9a3,#00b386);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-replay:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00d9a34d}.btn-resume{padding:8px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-resume:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.btn-notes{padding:8px 12px;background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;font-size:16px;cursor:pointer;transition:all .3s ease}.btn-notes:hover{background:#fff3;transform:translateY(-2px)}.focus-badges{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.focus-badge{display:inline-block;padding:3px 8px;background:#00d9a326;color:#00d9a3;border-radius:12px;font-size:11px;font-weight:600;border:1px solid rgba(0,217,163,.3);white-space:nowrap}.sighter-chip{display:inline-block;padding:2px 8px;background:#ff950026;color:#ff9500;border-radius:4px;font-size:10px;font-weight:700;border:1px solid rgba(255,149,0,.3);text-transform:uppercase;margin-left:8px;vertical-align:middle}.no-notes{color:#666;font-size:14px}.more-badge{display:inline-block;padding:3px 6px;background:#ffffff1a;color:#888;border-radius:10px;font-size:10px;font-weight:600}.no-data{text-align:center;padding:40px!important;color:gray;font-style:italic}.replay-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:1000}.replay-content{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:16px;padding:30px;max-width:800px;max-height:80vh;overflow-y:auto;position:relative;box-shadow:0 15px 35px var(--shadow-color)}.btn-close{position:absolute;top:15px;right:15px;background:#ffffff1a;color:#fff;border:none;font-size:32px;width:40px;height:40px;border-radius:50%;cursor:pointer;transition:all .3s ease}.btn-close:hover{background:#ff3b304d;color:#ff6b6b}.replay-content h3{color:#00d9a3;margin-bottom:16px;font-size:24px}.replay-content p{color:silver;margin-bottom:8px}.replay-shots{margin-top:24px}.replay-shots h4{color:var(--text-primary);margin-bottom:16px}.replay-shot-list{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto}.replay-shot-item{display:grid;grid-template-columns:60px 180px 80px 100px;gap:16px;padding:12px;background:var(--bg-primary);border-radius:8px;align-items:center}.shot-num{font-weight:700;color:#00d9a3}.shot-coords{color:#a0a0a0;font-family:monospace;font-size:13px}.shot-score{font-weight:700;color:var(--text-primary);font-size:16px}.shot-mode-badge{padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;text-align:center}.shot-mode-badge.sighter{background:#ff950033;color:#ff9500}.shot-mode-badge.match{background:#00d9a333;color:#00d9a3}@media screen and (max-width: 768px){.history-header{padding:16px 20px;flex-direction:column;gap:16px;align-items:stretch}.history-main{padding:20px 16px}.history-table table,.history-table thead,.history-table tbody,.history-table th,.history-table td,.history-table tr{display:block}.history-table thead tr{position:absolute;top:-9999px;left:-9999px}.history-table tr{border:1px solid rgba(255,255,255,.1);margin-bottom:16px;border-radius:12px;background:#ffffff08}.history-table td{border:none;border-bottom:1px solid rgba(255,255,255,.05);position:relative;padding-left:50%;text-align:right}.history-table td:before{position:absolute;top:16px;left:16px;width:45%;padding-right:10px;white-space:nowrap;text-align:left;font-weight:700;color:#00d9a3}.history-table td:nth-of-type(6):before{content:"Notes"}.history-table .notes-column{display:block}.history-table td:nth-of-type(1){display:block;padding:0;height:250px;background:#000;border-top-left-radius:12px;border-top-right-radius:12px;overflow:hidden;border-bottom:1px solid var(--border-color);position:relative;width:100%!important}.history-table td:nth-of-type(1):before{display:none}.thumbnail-wrapper,.thumbnail-placeholder{width:100%;height:100%;border-radius:0;border:none;display:flex;justify-content:center;align-items:center}.thumbnail-wrapper img{width:100%;height:100%;object-fit:contain}.history-table td:nth-of-type(2):before{content:"Date"}.history-table td:nth-of-type(3):before{content:"Weapon"}.history-table td:nth-of-type(4):before{content:"Shots"}.history-table td:nth-of-type(5):before{content:"Score"}.history-table td:nth-of-type(7):before{content:"Status"}.history-table td:nth-of-type(8):before{content:"Action";top:50%;transform:translateY(-50%)}.history-table td:last-child{border-bottom:0;padding:12px;display:flex;justify-content:flex-end}.btn-replay{width:100%;padding:12px}}.load-more-container{padding:24px 0;display:flex;justify-content:center}.btn-load-more{background:transparent;color:#00d9a3;border:1px solid rgba(0,217,163,.3);padding:12px 32px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:200px}.btn-load-more:hover{background:#00d9a31a;box-shadow:0 0 15px #00d9a333;transform:translateY(-2px)}.btn-load-more:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.shot-counts-split{font-size:13px;font-weight:500;color:silver;white-space:nowrap}.count-match{color:#00d9a3;font-weight:600}.count-sighter{color:#ff9500;font-weight:600}.modal-overlay{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;background:#000000d9!important;z-index:1000!important;animation:fadeIn .3s ease;overflow-y:auto!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{position:fixed!important;top:20%!important;left:50%!important;transform:translate(-50%)!important;background:#1a2332!important;border-radius:12px;padding:24px;width:90%!important;max-width:700px!important;height:65vh!important;overflow-y:auto;animation:slideDown .3s ease;z-index:1001!important}@keyframes slideDown{0%{opacity:0;top:10%}to{opacity:1;top:20%}}@media (max-width: 768px){.modal-content{top:0!important;left:0!important;transform:none!important;width:100%!important;max-width:100%!important;height:100vh!important;border-radius:0;padding:16px}}.diary-container{min-height:100vh;background:var(--bg-primary);color:var(--text-primary);transition:all .3s ease}.diary-header{background:var(--header-bg);color:var(--header-text);border-bottom:1px solid var(--header-border);padding:20px 40px;display:flex;justify-content:space-between;align-items:center}.diary-header h1{font-size:24px;color:#00d9a3;margin:0}.btn-back{padding:10px 20px;background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .3s ease}.btn-back:hover{background:#ffffff26}.diary-main{max-width:1200px;margin:0 auto;padding:40px 24px}.empty-state{text-align:center;padding:100px 20px}.empty-icon{font-size:80px;margin-bottom:20px;opacity:.5}.empty-state h2{font-size:28px;color:var(--text-primary);margin-bottom:12px}.empty-state p{font-size:16px;color:#a0a0a0;margin-bottom:30px}.btn-start-training{padding:14px 32px;background:linear-gradient(135deg,#00d9a3,#00b386);border:none;color:#fff;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease}.btn-start-training:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00d9a366}.diary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px;margin-bottom:40px}.diary-card{background:var(--bg-surface);border-radius:12px;border:1px solid var(--border-color);overflow:hidden;transition:all .3s ease;animation:fadeInUp .5s ease;display:flex;flex-direction:column;height:100%;box-shadow:0 4px 12px var(--shadow-color)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.diary-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00d9a333;border-color:#00d9a34d}.card-header{padding:20px;background:var(--bg-primary);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.session-info{display:flex;flex-direction:column;gap:8px}.weapon-badge{display:inline-block;padding:4px 12px;background:#00d9a326;color:var(--accent-readable, #00d9a3);border-radius:6px;font-size:12px;font-weight:700;text-transform:uppercase;align-self:flex-start;border:1px solid rgba(0,217,163,.2)}.date{font-size:14px;color:#a0a0a0;font-weight:500}.score-badge{font-size:24px;font-weight:700;color:var(--accent-readable, #00d9a3)}.score-badge small{font-size:14px;color:#888;margin-left:4px}.card-body{padding:20px;flex-grow:1}.focus-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.focus-tag{display:inline-block;padding:6px 12px;background:#00d9a340;color:var(--accent-readable, #00d9a3);border-radius:16px;font-size:12px;font-weight:600;border:1px solid rgba(0,217,163,.8)}.light-theme .focus-tag,.light-theme .weapon-badge{background:var(--accent-readable, #059669);color:#fff;border:none;font-weight:700;box-shadow:0 2px 4px #0000001a}.no-focus{color:#666;font-size:13px;font-style:italic}.note-content{margin-top:12px}.note-content p{font-size:14px;line-height:1.6;color:var(--text-secondary);margin:0;white-space:pre-wrap}.note-content p.truncated{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.note-content p.expanded{display:block}.btn-expand{margin-top:8px;padding:4px 0;background:none;border:none;color:var(--accent-readable, #00d9a3);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-expand:hover{color:#00ffb8}.card-footer{padding:16px 20px;background:var(--bg-primary);border-top:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;margin-top:auto}.btn-replay{padding:8px 16px;background:linear-gradient(135deg,#00d9a3,#00b386);border:none;color:#fff;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-replay:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00d9a366}.shot-info{font-size:13px;color:#888;font-weight:500}.loading-indicator{text-align:center;padding:40px}.spinner{width:40px;height:40px;margin:0 auto 16px;border:4px solid rgba(0,217,163,.2);border-top-color:#00d9a3;border-radius:50%;animation:spin 1s linear infinite}.loading-indicator p{color:#a0a0a0;font-size:14px}@media (max-width: 768px){.diary-header{padding:16px 20px;flex-direction:column;gap:16px;align-items:stretch}.diary-header h1{font-size:20px}.btn-back{padding:8px 14px;font-size:13px}.diary-grid{grid-template-columns:1fr;gap:16px}.diary-main{padding:24px 16px}.empty-state{padding:60px 20px}.empty-icon{font-size:60px}.empty-state h2{font-size:22px}}.shooter-card{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.5rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:1.5rem;position:relative;overflow:hidden}.shooter-card:hover{transform:translateY(-5px);background:#ffffff0d;border-color:#00ffc34d;box-shadow:0 10px 30px #0000004d}.card-header{display:flex;justify-content:space-between;align-items:flex-start}.shooter-info h3{margin:0;font-size:1.4rem;color:#fff}.weapon-tag{display:inline-block;font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:#888;margin-top:.3rem;padding:2px 8px;background:#ffffff0d;border-radius:4px}.avg-score{text-align:right}.avg-score label{display:block;font-size:.7rem;color:#888;text-transform:uppercase}.avg-score .value{font-size:1.5rem;font-weight:700;color:#00ffc3;font-family:JetBrains Mono,monospace}.card-body{display:flex;flex-direction:column;gap:1.5rem}.card-body label{display:block;font-size:.8rem;color:#666;margin-bottom:.8rem;text-transform:uppercase}.performance-section{background:#0003;padding:1rem;border-radius:12px;display:flex;flex-direction:column;align-items:center}.sparkline{filter:drop-shadow(0 0 5px rgba(0,255,195,.2))}.notes-section{flex:1}.notes-list{display:flex;flex-direction:column;gap:.5rem}.note-item{font-size:.85rem;color:#aaa;margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.focus-areas-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.focus-tag{background:#00d9a31a;color:#00ffc3;border:1px solid rgba(0,217,163,.2);padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600}.no-focus{font-size:.8rem;color:#555;font-style:italic}.no-notes,.no-sparkline{font-size:.85rem;color:#444;font-style:italic}.card-footer{padding-top:1rem;border-top:1px solid rgba(255,255,255,.05)}.btn-view-history{background:transparent;border:none;color:#00ffc3;font-size:.9rem;font-weight:500;cursor:pointer;padding:0;transition:all .2s ease}.shooter-card:hover .btn-view-history{padding-left:5px}.coach-dashboard{padding:2rem;max-width:1200px;margin:0 auto;color:var(--text-primary);transition:all .3s ease}.coach-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:3rem;background:var(--header-bg);color:var(--header-text);border-bottom:1px solid var(--header-border);padding:2rem;margin:-2rem -2rem 3rem}.header-actions{display:flex;gap:1rem}.btn-range-view{background:linear-gradient(135deg,#00d9a3,#00b386);border:none;color:#000;padding:.6rem 1.2rem;border-radius:8px;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #00d9a333}.btn-range-view:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00d9a366;background:linear-gradient(135deg,#00ffb8,#00d9a3)}.coach-header h1{font-size:2.5rem;margin:0;background:linear-gradient(135deg,#fff,#888);-webkit-background-clip:text;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;background-clip:text;-webkit-text-fill-color:transparent}.coach-header p{color:#888;margin-top:.5rem}.btn-back{background:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-primary);padding:.6rem 1.2rem;border-radius:8px;cursor:pointer;transition:all .2s ease}.btn-back:hover{background:#ffffff1a}.coach-actions{margin-bottom:3rem}.link-shooter-box{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;max-width:500px;box-shadow:0 4px 12px var(--shadow-color)}.link-shooter-box h3{margin-top:0;margin-bottom:1rem;font-size:1.1rem}.link-form{display:flex;gap:1rem}.link-form input{flex:1;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;padding:.8rem;color:var(--text-primary)}.shooters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem}.loading-state,.error-state,.empty-state{grid-column:1 / -1;text-align:center;padding:4rem;background:var(--bg-surface);border-radius:12px;border:1px solid var(--border-color);color:var(--text-secondary)}.error-state{color:#ff4d4d}.dashboard-content{display:flex;gap:2rem;align-items:flex-start}.coach-sidebar{width:300px;flex-shrink:0;display:flex;flex-direction:column;gap:2rem}.coach-sidebar .link-shooter-box{width:100%;box-sizing:border-box}.ranges-section{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px var(--shadow-color)}.ranges-section h3{margin-top:0;margin-bottom:1rem;font-size:1.1rem;color:#e0e0e0}.ranges-list{display:flex;flex-direction:column;gap:.8rem}.range-btn{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);padding:.8rem;border-radius:8px;cursor:pointer;text-align:left;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.range-btn:hover{background:#ffffff1a;border-color:#ffffff4d;transform:translate(4px)}.no-data{color:#888;font-style:italic;font-size:.9rem;text-align:center;margin:1rem 0}.btn-join-range{background:transparent;border:1px dashed rgba(255,255,255,.3);color:#888;padding:.8rem;border-radius:8px;cursor:pointer;margin-top:.5rem;transition:all .2s ease}.btn-join-range:hover{background:#ffffff0d;color:#fff;border-color:#fff}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#1a1a1a;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2rem;width:100%;max-width:500px;box-shadow:0 20px 50px #00000080}.modal-content h3{margin-top:0;color:#fff}.range-list-modal{max-height:300px;overflow-y:auto;margin:1.5rem 0;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#0003}.range-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid rgba(255,255,255,.05)}.range-item:last-child{border-bottom:none}.btn-select{background:#00d9a3;border:none;color:#000;padding:.4rem 1rem;border-radius:4px;font-weight:600;cursor:pointer}.btn-select:hover{background:#00ffb8}.btn-close{width:100%;background:transparent;border:1px solid rgba(255,255,255,.1);color:#888;padding:.8rem;border-radius:8px;cursor:pointer}.btn-close:hover{background:#ffffff0d;color:#fff}.token-copy-row{display:flex;gap:.5rem;margin-bottom:.5rem}.token-input{flex:1;background:#0006;border:1px solid rgba(255,255,255,.1);color:#88ffdb;font-family:Consolas,monospace;font-size:.9rem;padding:.8rem;border-radius:6px;letter-spacing:.5px}.btn-copy-token{background:#444;border:1px solid rgba(255,255,255,.1);color:#fff;padding:.8rem 1.2rem;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s ease}.btn-copy-token:hover{background:#555;border-color:#fff}.agent-setup-section{margin:1.5rem 0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);padding:1.5rem 0}.agent-download-box{background:linear-gradient(135deg,#00d9a31a,#0003);border:1px solid rgba(0,217,163,.3);border-radius:8px;padding:1.5rem;text-align:center}.agent-download-box p{color:#e0e0e0;margin-top:0;margin-bottom:1rem}.btn-download-bundle{background:#00d9a3;color:#000;border:none;padding:1rem 2rem;font-size:1.1rem;font-weight:700;border-radius:8px;cursor:pointer;box-shadow:0 4px 12px #00d9a366;transition:all .2s ease;display:inline-flex;align-items:center;gap:.8rem}.btn-download-bundle:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00d9a399;background:#00ffb8}.range-dashboard{padding:24px;background:var(--bg-primary);min-height:100vh;color:var(--text-primary);transition:all .3s ease}.range-header{display:flex;justify-content:space-between;align-items:center;padding:20px 32px;background:var(--header-bg);color:var(--header-text);border-bottom:1px solid var(--header-border);margin:-24px -24px 30px}.header-left{display:flex;align-items:center;gap:15px}.range-header h1{margin:0;font-size:28px;color:#00d9a3;font-weight:800}.status-badge{background:#00d9a31a;color:#00d9a3;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:700;letter-spacing:1px;border:1px solid rgba(0,217,163,.3)}.last-sync{font-size:13px;color:#94a3b8;margin-right:15px}.btn-refresh{background:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-primary);padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s}.btn-refresh:hover{background:#ffffff1a}.targets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}.lane-card{background:var(--bg-surface);border-radius:12px;border:1px solid var(--border-color);overflow:hidden;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 6px -1px var(--shadow-color)}.lane-card:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px #0003;border-color:#00d9a34d}.lane-card-header{padding:12px 16px;background:var(--bg-primary);display:flex;justify-content:space-between;align-items:center}.lane-num{background:#00d9a3;color:#000;font-weight:800;font-size:11px;padding:2px 8px;border-radius:4px}.shooter-name{font-weight:600;font-size:14px;color:var(--text-primary)}.lane-card-body{padding:16px;display:flex;flex-direction:column;align-items:center;gap:15px}.lane-stats-mini{display:flex;width:100%;gap:10px}.stat-item{flex:1;background:var(--bg-primary);padding:8px;border-radius:8px;display:flex;flex-direction:column;align-items:center}.stat-label{font-size:10px;color:#64748b;font-weight:700;letter-spacing:.5px}.stat-value{font-size:16px;font-weight:800;color:#00d9a3}.lane-card-footer{padding:10px 16px;background:var(--bg-primary);display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border-color)}.weapon-tag{font-size:10px;color:#94a3b8;background:#ffffff0d;padding:2px 6px;border-radius:4px}.view-link{font-size:12px;color:#00d9a3;text-decoration:none;font-weight:600}.view-link:hover{text-decoration:underline}.empty-range{grid-column:1 / -1;padding:80px 20px;text-align:center;background:#ffffff05;border-radius:20px;border:2px dashed rgba(255,255,255,.05)}.empty-range h3{color:#94a3b8;margin-bottom:10px}.range-loading{display:flex;justify-content:center;align-items:center;height:100vh;color:#00d9a3;font-size:20px;font-weight:700;background:#0f172a}.btn-back-nav{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#94a3b8;padding:8px 12px;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s;margin-right:5px}.btn-back-nav:hover{background:#ff3b301a;color:#ff6b6b;border-color:#ff3b3033}.btn-config{background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid rgba(255,255,255,.1);color:#fff;padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:600;margin-right:10px;transition:all .2s}.btn-config:hover{border-color:#00d9a3;box-shadow:0 0 10px #00d9a333}.setup-banner-config{background:linear-gradient(90deg,#00d9a31a,#1e293b80);border:1px solid rgba(0,217,163,.3);border-radius:12px;padding:24px;margin-bottom:30px;display:flex;justify-content:center}.setup-content{text-align:center;max-width:600px}.setup-content h3{margin:0 0 10px;color:#00d9a3}.setup-content p{margin:0 0 20px;color:#94a3b8}.btn-setup-now{background:#00d9a3;color:#000;border:none;padding:10px 24px;border-radius:8px;font-weight:800;cursor:pointer;transition:all .2s}.btn-setup-now:hover{transform:scale(1.05);box-shadow:0 0 15px #00d9a366}.range-selection-view{max-width:1000px;margin:40px auto;padding:0 20px}.selection-header{text-align:center;margin-bottom:40px}.selection-header h2{font-size:32px;color:#fff;margin-bottom:12px}.selection-header p{color:#94a3b8;font-size:18px}.range-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.range-selection-card{background:#1e293b;border:1px solid rgba(255,255,255,.05);border-radius:16px;padding:24px;display:flex;align-items:center;gap:20px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.range-selection-card:hover{transform:translateY(-5px);background:#273549;border-color:#00d9a3;box-shadow:0 10px 25px #0000004d}.range-selection-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:#00d9a3;opacity:0;transition:opacity .3s}.range-selection-card:hover:before{opacity:1}.range-card-icon{font-size:40px;background:#00d9a31a;width:80px;height:80px;display:flex;justify-content:center;align-items:center;border-radius:12px}.range-card-content{flex:1}.range-card-content h3{margin:0 0 4px;font-size:20px;color:#fff}.range-location{color:#94a3b8;font-size:14px;margin-bottom:4px}.range-officer{color:#00d9a3;font-size:13px;font-weight:600;margin-bottom:12px}.range-card-stats{display:flex;flex-direction:column;gap:4px}.range-card-stats span{font-size:12px;color:#64748b;font-weight:600}.range-card-arrow{font-size:24px;color:#475569;transition:transform .3s}.range-selection-card:hover .range-card-arrow{transform:translate(5px);color:#00d9a3}.no-ranges-placeholder{grid-column:1 / -1;text-align:center;padding:60px;color:#64748b;background:#ffffff05;border-radius:16px;border:2px dashed rgba(255,255,255,.05)}.range-selector{background:#1e293b;border:1px solid rgba(255,255,255,.1);color:#fff;padding:6px 12px;border-radius:6px;font-weight:600;font-size:14px;cursor:pointer;outline:none}.range-selector:focus{border-color:#00d9a3}.lane-off{opacity:.6;filter:grayscale(.5);background:#0f172a!important}.lane-off:hover{transform:none!important;box-shadow:none!important;border-color:#ffffff0d!important}.lane-off .lane-num{background:#334155!important;color:#94a3b8!important}.lane-off .shooter-name{color:#64748b}.lane-paper{border-left:5px solid #f59e0b!important;box-shadow:0 4px 20px #f59e0b26!important;background:linear-gradient(135deg,#1e293b,#161e2b)!important}.lane-status-idle{font-size:13px;color:#64748b;font-style:italic;margin-top:10px}.idle-tag{font-size:10px;color:#475569;letter-spacing:1px;font-weight:700}@media (max-width: 768px){.range-dashboard{padding:16px}.range-header{flex-direction:column;align-items:flex-start;gap:15px;margin-bottom:20px}.header-right{width:100%;display:flex;justify-content:space-between;align-items:center}.range-header h1{font-size:20px}.targets-grid{grid-template-columns:1fr;gap:16px}.setup-banner-config{padding:16px}}.range-admin-page{background:#0f172a;min-height:100vh;color:#f1f5f9;font-family:Inter,system-ui,sans-serif}.admin-header{background:#1e293bcc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.1);position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:1.5rem}.btn-back{background:transparent;border:1px solid rgba(255,255,255,.2);color:#94a3b8;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s}.btn-back:hover{background:#ffffff0d;color:#fff}.admin-header h1{font-size:1.5rem;font-weight:700;margin:0}.range-badge{background:#3b82f633;color:#60a5fa;padding:.4rem .8rem;border-radius:20px;font-size:.85rem;font-weight:600}.btn-refresh{background:#1e293b;border:none;color:#94a3b8;padding:.5rem 1rem;border-radius:8px;cursor:pointer}.admin-container{max-width:1200px;margin:2rem auto;padding:0 2rem;display:flex;flex-direction:column;gap:2rem}.admin-tabs{display:flex;gap:.5rem;background:#1e293b80;padding:.5rem;border-radius:12px}.admin-tabs button{flex:1;background:transparent;border:none;color:#94a3b8;padding:.75rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s}.admin-tabs button:hover{color:#fff}.admin-tabs button.active{background:#3b82f6;color:#fff;box-shadow:0 4px 12px #3b82f64d}.admin-card{background:#1e293b;border-radius:16px;padding:2rem;box-shadow:0 10px 30px #0003}.admin-card h2{font-size:1.5rem;margin-top:0;margin-bottom:.5rem}.admin-help{color:#94a3b8;margin-bottom:2rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;color:#94a3b8;font-weight:500}.form-group input{background:#0f172a;border:1px solid rgba(255,255,255,.1);color:#fff;padding:.75rem 1rem;border-radius:8px;font-size:1rem}.form-group input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f633}.btn-save{background:#10b981;color:#fff;border:none;padding:.8rem 2rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-save:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.admin-table-container{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;margin-top:1rem}.admin-table th{text-align:left;padding:1rem;color:#94a3b8;font-weight:600;border-bottom:2px solid rgba(255,255,255,.05)}.admin-table td{padding:1.25rem 1rem;border-bottom:1px solid rgba(255,255,255,.05)}.role-tag{background:#8b5cf633;color:#a78bfa;padding:.2rem .6rem;border-radius:4px;font-size:.8rem;text-transform:capitalize}.coach-tag{background:#1e293b;border:1px solid rgba(255,255,255,.1);padding:.2rem .5rem;border-radius:4px;font-size:.8rem;margin-right:.5rem}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.4rem}.status-dot.online{background:#10b981}.empty-row{text-align:center;color:#64748b;padding:3rem!important}.agent-setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.setup-box{background:#0f172a;padding:1.5rem;border-radius:12px;border:1px solid rgba(255,255,255,.05)}.setup-box.highlight{border-color:#3b82f6;background:linear-gradient(to bottom right,#0f172a,#1e293b)}.btn-download-full{width:100%;background:#3b82f6;color:#fff;border:none;padding:1rem;border-radius:8px;font-weight:700;cursor:pointer;margin-top:1rem}.shooter-admin-link{color:inherit;text-decoration:none;transition:color .2s}.shooter-admin-link:hover{color:#3b82f6;text-decoration:underline}.token-box{background:#000;padding:1rem;border-radius:8px;display:flex;justify-content:space-between;align-items:center;margin-top:1rem;margin-bottom:.5rem}.token-box code{color:#10b981;font-family:JetBrains Mono,monospace;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80%}.token-box button{background:#334155;border:none;color:#fff;padding:.3rem .6rem;border-radius:4px;cursor:pointer}.range-selector{background:#1e293b;border:1px solid rgba(255,255,255,.1);color:#fff;padding:.4rem .8rem;border-radius:6px;font-weight:600;font-size:.85rem;cursor:pointer;outline:none;transition:all .2s}.range-selector:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.card-header-flex{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.card-header-flex h2,.card-header-flex p{margin-bottom:.25rem}.btn-add-shooter{background:#3b82f6;color:#fff;border:none;padding:.75rem 1.25rem;border-radius:8px;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.btn-add-shooter:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.coach-assign-select{background:#0f172a;border:1px solid rgba(255,255,255,.1);color:#94a3b8;padding:.4rem .6rem;border-radius:6px;font-size:.85rem;cursor:pointer;width:100%;outline:none}.coach-assign-select:hover{border-color:#3b82f6;color:#fff}.coach-tags-container{display:flex;flex-wrap:wrap;gap:.4rem}.no-coach-hint{color:#64748b;font-size:.8rem;font-style:italic}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.admin-modal{background:#1e293b;width:100%;max-width:500px;border-radius:16px;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 50px #00000080;overflow:hidden}.modal-header{background:#1e293b;padding:1.5rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.05)}.modal-header h3{margin:0;font-size:1.25rem;color:#fff}.close-modal{background:transparent;border:none;color:#94a3b8;font-size:1.5rem;cursor:pointer}.modal-form{padding:1.5rem}.modal-form .form-group{margin-bottom:1.25rem}.modal-form input{width:100%}.modal-form small{display:block;margin-top:.5rem;color:#64748b;font-size:.8rem}.modal-actions{display:flex;gap:1rem;margin-top:2rem}.btn-cancel{flex:1;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;padding:.75rem;border-radius:8px;cursor:pointer}.btn-onboard{flex:2;background:#10b981;color:#fff;border:none;padding:.75rem;border-radius:8px;font-weight:700;cursor:pointer}.btn-onboard:disabled{opacity:.5;cursor:not-allowed}.tier-badge{padding:.25rem .6rem;border-radius:6px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.tier-badge.free{background:#94a3b81a;color:#94a3b8;border:1px solid rgba(148,163,184,.2)}.tier-badge.rangepro{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.tier-badge.premium{background:linear-gradient(135deg,#f59e0b33,#d9770633);color:#fbbf24;border:1px solid rgba(245,158,11,.4);box-shadow:0 0 10px #f59e0b1a}.tier-select{padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;background:#0f172a;color:#fff;border:1px solid rgba(255,255,255,.1);cursor:pointer;outline:none;transition:all .2s}.tier-select:hover{border-color:#3b82f6}.tier-select.free{color:#94a3b8;border-color:#94a3b84d}.tier-select.rangepro{color:#60a5fa;border-color:#3b82f666}.tier-select.premium{color:#fbbf24;border-color:#f59e0b80}.coming-soon-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-primary, #0a0e17);padding:20px}.coming-soon-card{text-align:center;max-width:480px;width:100%;padding:48px 36px;background:var(--bg-card, linear-gradient(135deg, #141b2d 0%, #0d1321 100%));border:1px solid var(--border-subtle, rgba(255, 255, 255, .06));border-radius:20px;animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.coming-soon-icon{font-size:56px;margin-bottom:16px;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.coming-soon-title{font-size:28px;font-weight:700;color:var(--text-primary, #ffffff);margin:0 0 16px;letter-spacing:-.5px}.coming-soon-badge{display:inline-block;padding:6px 20px;background:linear-gradient(135deg,#00d9a3,#00b386);color:#0a0e17;font-weight:700;font-size:14px;border-radius:20px;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:20px}.coming-soon-description{color:var(--text-secondary, #808b96);font-size:15px;line-height:1.6;margin:0 0 32px}.coming-soon-features{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}.feature-preview{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px;color:var(--text-secondary, #808b96);font-size:14px;transition:all .2s ease}.feature-preview:hover{background:#00d9a30d;border-color:#00d9a326;color:var(--text-primary, #ffffff)}.feature-icon{font-size:20px}.coming-soon-back{background:none;border:1px solid rgba(255,255,255,.12);color:var(--text-secondary, #808b96);padding:10px 24px;border-radius:10px;font-size:14px;cursor:pointer;transition:all .2s ease}.coming-soon-back:hover{border-color:#00d9a3;color:#00d9a3}.light-theme .coming-soon-page{background:#f8fafc}.light-theme .coming-soon-card{background:#fff;border-color:#e2e8f0;box-shadow:0 4px 24px #0000000f}.light-theme .coming-soon-title{color:#0f172a}.light-theme .feature-preview{background:#f1f5f9;border-color:#e2e8f0;color:#475569}.light-theme .feature-preview:hover{background:#00d9a314;border-color:#00d9a34d;color:#0f172a}.light-theme .coming-soon-back{border-color:#cbd5e1;color:#64748b}.light-theme .coming-soon-back:hover{border-color:#00b386;color:#00b386}:root{--primary-gradient: linear-gradient(135deg, #6366f1 0%, #a855f7 100%);--glass-bg: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .1);--text-primary: #f8fafc;--text-secondary: #94a3b8}.scanner-container{min-height:100vh;background-color:#0f172a;color:var(--text-primary);display:flex;flex-direction:column;align-items:center;padding:20px;font-family:Inter,system-ui,-apple-system,sans-serif}.scanner-hero{text-align:center;margin-top:40px;margin-bottom:40px}.scanner-title{font-size:2.5rem;font-weight:800;margin-bottom:10px;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.scanner-subtitle{color:var(--text-secondary);font-size:1.1rem;max-width:400px;margin:0 auto}.campaign-badge{display:inline-block;background:#fbbf24;color:#451a03;font-size:.75rem;font-weight:800;padding:4px 12px;border-radius:999px;margin-bottom:1px;letter-spacing:1px;box-shadow:0 0 15px #fbbf2480;animation:pulse 2s infinite}.campaign-title{background:linear-gradient(135deg,#fbbf24,#d97706);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 30px rgba(251,191,36,.2)}.campaign-subtitle{color:#e2e8f0;font-weight:500}@keyframes pulse{0%{box-shadow:0 0 #fbbf2466}70%{box-shadow:0 0 0 10px #fbbf2400}to{box-shadow:0 0 #fbbf2400}}.scanner-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:24px;padding:30px;width:100%;max-width:400px;box-shadow:0 25px 50px -12px #00000080;transition:transform .3s ease}.upload-zone{border:2px dashed var(--glass-border);border-radius:16px;padding:40px 20px;text-align:center;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.upload-zone:active,.upload-zone.drag-active{border-color:#a855f7;background:#a855f71a}.upload-icon{font-size:3rem;margin-bottom:15px;display:block}.upload-text{font-weight:600;margin-bottom:5px;display:block}.upload-subtext{color:var(--text-secondary);font-size:.9rem}.hidden-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.loading-view{padding:40px;text-align:center;color:#94a3b8}.spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-radius:50%;border-top-color:#00d9a3;animation:spin 1s ease-in-out infinite;margin:0 auto 20px}.loading-text{font-size:1.1rem;font-weight:500;color:#e2e8f0;margin-bottom:12px;min-height:24px}.progress-dots{display:flex;justify-content:center;gap:8px}.dot{width:8px;height:8px;border-radius:50%;background:#334155;transition:background .3s}.dot.active{background:#00d9a3;box-shadow:0 0 8px #00d9a380}@keyframes spin{to{transform:rotate(360deg)}}.result-view{text-align:center}.score-display{background:#0000004d;border-radius:16px;padding:20px;margin:20px 0}.big-score{font-size:4rem;font-weight:900;line-height:1;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.inner-tens{color:var(--text-secondary);font-size:1rem;margin-top:5px}.scanned-date{font-size:.9rem;color:var(--text-secondary);margin-bottom:10px;text-transform:uppercase;letter-spacing:1px}.replay-teaser{margin:20px auto;width:200px;text-align:center}.replay-header{display:flex;justify-content:center;align-items:center;gap:8px;margin-bottom:8px}.teaser-title{font-size:.8rem;color:#94a3b8;margin:0}.replay-reload-btn{background:none;border:none;cursor:pointer;font-size:1rem;padding:0;opacity:.7;transition:opacity .2s}.replay-reload-btn:hover{opacity:1}.replay-target{position:relative;width:150px;height:150px;margin:0 auto;border-radius:50%;overflow:hidden;box-shadow:0 0 20px #6366f14d}.target-svg{width:100%;height:100%}.shot{fill:#ef4444;opacity:0;animation:shotAppear .5s forwards}.shot-1{animation-delay:.5s}.shot-2{animation-delay:1s}.shot-3{animation-delay:1.5s}.shot-4{animation-delay:2s}.shot-5{animation-delay:2.5s}@keyframes shotAppear{to{opacity:1;transform:scale(1.5)}}.replay-blur-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;opacity:0;animation:blurFadeIn 1s forwards;animation-delay:3s}.replay-blur-overlay span{font-size:.8rem;font-weight:700;color:#fff;background:#0009;padding:4px 8px;border-radius:4px}@keyframes blurFadeIn{to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a99}}.teaser-text{font-size:.8rem;color:#94a3b8;margin-top:8px}.cta-button{background:var(--primary-gradient);color:#fff;border:none;padding:16px 32px;border-radius:12px;font-size:1.1rem;font-weight:700;width:100%;cursor:pointer;box-shadow:0 10px 15px -3px #a855f766;transition:transform .2s;text-decoration:none;display:inline-block}.cta-button:active{transform:scale(.98)}.login-wall-text{margin-top:15px;font-size:.9rem;color:var(--text-secondary)}.login-link{color:#a855f7;text-decoration:none;font-weight:600}.raw-data-toggle{background:none;border:none;color:var(--text-secondary);text-decoration:underline;margin-top:10px;font-size:.8rem;cursor:pointer}.raw-data-box{text-align:left;background:#00000080;padding:10px;margin-top:10px;border-radius:8px;font-size:.8rem;max-height:100px;overflow-y:auto;color:#cbd5e1}@media (max-width: 600px){.scanner-title{font-size:2rem}.scanner-card{padding:20px}}.legal-page-container{min-height:100vh;background:#0f172a;display:flex;flex-direction:column}.legal-card{max-width:900px;margin:4rem auto;background:#1e293b;border-radius:12px;box-shadow:0 10px 25px -5px #0000004d;padding:3rem;color:#cbd5e1;flex:1}.legal-nav{margin-bottom:2rem}.back-link{color:#94a3b8;text-decoration:none;font-size:.95rem;display:inline-flex;align-items:center;transition:color .2s,transform .2s}.back-link:hover{color:#38bdf8;transform:translate(-4px)}.back-arrow{margin-right:.5rem;font-size:1.2rem}.legal-header{margin-bottom:2.5rem}.legal-header h1{font-size:2.5rem;color:#f8fafc;margin:0}.accent-line{width:60px;height:4px;background:#38bdf8;margin-top:1rem;border-radius:2px}.legal-content section{margin-bottom:2.5rem}.legal-content h3{color:#38bdf8;font-size:1.25rem;margin-bottom:1rem}.legal-content p,.legal-content li{line-height:1.7;font-size:1.05rem}.legal-content ul{padding-left:1.5rem}.legal-content li{margin-bottom:.75rem}@media (max-width: 768px){.legal-card{margin:2rem 1rem;padding:2rem 1.5rem}.legal-header h1{font-size:1.75rem}}.change-password-container{display:flex;justify-content:center;align-items:center;min-height:80vh;padding:20px;background:#0f172a}.change-password-card{background:#1e293b;padding:40px;border-radius:16px;box-shadow:0 10px 25px #0000004d;width:100%;max-width:450px;color:#fff}.header-branding h1{font-size:1.8rem;margin-bottom:10px;color:#38bdf8}.header-branding p{color:#94a3b8;font-size:.95rem;margin-bottom:30px}.status-icon.success{font-size:3rem;color:#22c55e;margin-bottom:20px}.success-card{text-align:center}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#e2e8f0}.form-group input{width:100%;padding:12px;border-radius:8px;border:1px solid #334155;background:#0f172a;color:#fff;font-size:1rem}.form-group input:focus{outline:none;border-color:#38bdf8;box-shadow:0 0 0 2px #38bdf833}.btn-primary{width:100%;padding:14px;border-radius:8px;border:none;background:#38bdf8;color:#0f172a;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s;margin-top:10px}.btn-primary:hover:not(:disabled){background:#0ea5e9;transform:translateY(-1px)}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.error-message{background:#ef44441a;color:#ef4444;padding:12px;border-radius:8px;margin-bottom:20px;font-size:.9rem;border:1px solid rgba(239,68,68,.2)}
