.login-container[data-v-f19ce98d]{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-card[data-v-f19ce98d]{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 10px 25px #0003;width:100%;max-width:400px;text-align:center}.login-card h1[data-v-f19ce98d]{color:#333;margin-bottom:.5rem;font-size:1.8rem}.login-card p[data-v-f19ce98d]{color:#666;margin-bottom:2rem}.login-form[data-v-f19ce98d]{display:flex;flex-direction:column;gap:1rem}.form-group[data-v-f19ce98d]{text-align:left}.password-input[data-v-f19ce98d]{width:100%;padding:12px;border:2px solid #ddd;border-radius:8px;font-size:16px;transition:border-color .3s;box-sizing:border-box}.password-input[data-v-f19ce98d]:focus{outline:none;border-color:#667eea}.password-input[data-v-f19ce98d]:disabled{background-color:#f5f5f5;cursor:not-allowed}.login-button[data-v-f19ce98d]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,opacity .3s}.login-button[data-v-f19ce98d]:hover:not(:disabled){transform:translateY(-2px)}.login-button[data-v-f19ce98d]:disabled{opacity:.6;cursor:not-allowed;transform:none}.error-message[data-v-f19ce98d]{color:#e53e3e;background-color:#fed7d7;padding:10px;border-radius:6px;font-size:14px;margin-top:1rem}.onboarding-overlay[data-v-bd74e61e]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.onboarding-container[data-v-bd74e61e]{background:#1a1a1a;border-radius:16px;max-width:400px;width:100%;max-height:80vh;overflow-y:auto}.onboarding-content[data-v-bd74e61e]{padding:30px;text-align:center}h2[data-v-bd74e61e]{color:#d92959;margin-bottom:10px;font-size:24px}.subtitle[data-v-bd74e61e]{color:#ccc;margin-bottom:30px;font-size:16px}.permission-step[data-v-bd74e61e]{margin-bottom:30px}.step-icon[data-v-bd74e61e]{font-size:48px;margin-bottom:15px}h3[data-v-bd74e61e]{color:#d92959;margin-bottom:15px;font-size:20px}ul[data-v-bd74e61e],ol[data-v-bd74e61e]{text-align:left;margin:15px 0;color:#ccc}li[data-v-bd74e61e]{margin:8px 0;line-height:1.4}.step-instructions[data-v-bd74e61e]{background:#2a2a2a;padding:20px;border-radius:8px;margin:20px 0;text-align:left}.step-instructions p[data-v-bd74e61e]{margin-bottom:10px;color:#fff;font-weight:700}.button-group[data-v-bd74e61e]{margin:20px 0}.permission-button[data-v-bd74e61e]{background:#d92959;color:#fff;border:none;padding:15px 30px;border-radius:8px;font-size:18px;cursor:pointer;transition:background .3s;min-width:200px}.permission-button[data-v-bd74e61e]:hover:not(:disabled){background:#c41e4a}.permission-button[data-v-bd74e61e]:disabled{opacity:.6;cursor:not-allowed}.error-message[data-v-bd74e61e]{background:#3a1a1a;border:1px solid #dc143c;border-radius:8px;padding:20px;margin-top:20px;color:#dc143c}.error-content p[data-v-bd74e61e]{margin:5px 0}.error-details[data-v-bd74e61e]{white-space:pre-line;font-size:14px;line-height:1.4;margin:10px 0}.error-actions[data-v-bd74e61e]{display:flex;gap:10px;margin:15px 0;flex-wrap:wrap}.ios-note[data-v-bd74e61e]{background:#2a4a3a;border:1px solid #4a8a5a;color:#5fb85f;padding:12px;border-radius:6px;margin-top:15px;font-size:14px}.ios-help[data-v-bd74e61e]{background:#2a3a4a;border:1px solid #5a7a8a;border-radius:8px;padding:20px;margin-top:15px;color:#ccc}.ios-help h4[data-v-bd74e61e]{color:#5fb8ff;margin-bottom:15px}.ios-help ol[data-v-bd74e61e]{margin:10px 0;padding-left:20px}.ios-help li[data-v-bd74e61e]{margin:8px 0;line-height:1.4}.help-note[data-v-bd74e61e]{background:#4a4a2a;padding:10px;border-radius:4px;margin-top:15px;font-style:italic;color:#ffeb3b}.retry-button[data-v-bd74e61e],.skip-button[data-v-bd74e61e],.help-button[data-v-bd74e61e]{background:#666;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px}.retry-button[data-v-bd74e61e]:hover{background:#777}.help-button[data-v-bd74e61e]{background:#5a7a8a}.help-button[data-v-bd74e61e]:hover{background:#6a8a9a}.skip-button[data-v-bd74e61e]{background:#b8860b}.skip-button[data-v-bd74e61e]:hover{background:#daa520}.feature-summary[data-v-bd74e61e]{background:#2a2a2a;padding:20px;border-radius:8px;margin:20px 0}.feature-item[data-v-bd74e61e]{display:flex;align-items:center;justify-content:center;margin:10px 0;color:#ccc}.feature-icon[data-v-bd74e61e]{margin-right:10px;font-size:20px}.progress-bar[data-v-bd74e61e]{display:flex;align-items:center;justify-content:center;margin-top:30px}.progress-step[data-v-bd74e61e]{width:30px;height:30px;border-radius:50%;background:#333;color:#666;display:flex;align-items:center;justify-content:center;font-weight:700;transition:all .3s}.progress-step.active[data-v-bd74e61e]{background:#d92959;color:#fff}.progress-line[data-v-bd74e61e]{width:50px;height:2px;background:#333;transition:all .3s}.progress-line.completed[data-v-bd74e61e]{background:#d92959}.photo-tab[data-v-8dfd22bf]{width:100%}.camera-canvas[data-v-8dfd22bf]{width:100%;height:100%;object-fit:cover}.camera-placeholder[data-v-8dfd22bf]{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;color:#666;background:#222}.controls[data-v-8dfd22bf]{margin:15px 0;display:flex;flex-wrap:wrap;gap:10px}.camera-controls[data-v-8dfd22bf]{margin:20px 0}.race-number-input[data-v-8dfd22bf]{text-align:center;margin-bottom:20px}.race-number-input label[data-v-8dfd22bf]{display:block;color:#fff;margin-bottom:8px;font-size:14px}.number-input[data-v-8dfd22bf]{width:80px;padding:8px;border:2px solid #666;border-radius:6px;background:#333;color:#fff;text-align:center;font-size:16px}.number-input[data-v-8dfd22bf]:focus{outline:none;border-color:#d92959}.main-photo-control[data-v-8dfd22bf]{text-align:center;margin-bottom:15px}.main-photo-button[data-v-8dfd22bf]{background:#d92959;color:#fff;border:none;padding:15px 30px;border-radius:8px;font-size:18px;font-weight:700;cursor:pointer;width:100%;max-width:250px;transition:background .3s}.main-photo-button[data-v-8dfd22bf]:hover:not(:disabled){background:#c41e4a}.main-photo-button[data-v-8dfd22bf]:disabled{opacity:.6;cursor:not-allowed}.secondary-controls[data-v-8dfd22bf]{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.control-button[data-v-8dfd22bf]{background:#666;color:#fff;border:none;padding:10px 15px;border-radius:6px;font-size:14px;cursor:pointer;transition:background .3s}.control-button[data-v-8dfd22bf]:hover{background:#777}.upload-btn[data-v-8dfd22bf]{cursor:pointer}.processing-container[data-v-8dfd22bf]{background:#1a1a1a;padding:20px;border-radius:12px;margin:20px 0;text-align:center}.processing-actions[data-v-8dfd22bf]{margin-top:20px;display:flex;justify-content:center;gap:10px}.qr-not-detected[data-v-8dfd22bf]{padding:10px;background:#3a1a1a;color:#dc143c;border-radius:6px;margin:10px 0}.manual-entry[data-v-8dfd22bf]{background:#1a1a1a;padding:20px;border-radius:12px;margin:20px 0;text-align:center}.manual-entry-actions[data-v-8dfd22bf]{margin-top:15px;display:flex;justify-content:center;gap:10px}.location-details[data-v-8dfd22bf]{font-size:12px;margin-top:5px;opacity:.8}.modal-overlay[data-v-8dfd22bf]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.success-modal[data-v-8dfd22bf]{background:#1a1a1a;border-radius:12px;padding:30px;max-width:400px;width:90%;text-align:center;border:2px solid #228b22}.success-modal h3[data-v-8dfd22bf]{color:#228b22;margin:0 0 20px;font-size:24px}.success-details[data-v-8dfd22bf]{margin:20px 0;padding:15px;background:#2a2a2a;border-radius:8px}.success-details p[data-v-8dfd22bf]{margin:8px 0;font-size:16px;color:#fff}.modal-buttons[data-v-8dfd22bf]{display:flex;justify-content:center;margin-top:25px}.modal-button[data-v-8dfd22bf]{padding:15px 30px;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s ease}.continue-button[data-v-8dfd22bf]{background:#228b22;color:#fff}.continue-button[data-v-8dfd22bf]:hover{background:#1e7b1e}.scan-tab[data-v-faffb854]{width:100%}.camera-placeholder[data-v-faffb854]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#666}.scanning-overlay[data-v-faffb854]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.scan-frame[data-v-faffb854]{width:200px;height:200px;border:3px solid #D92959;border-radius:8px;box-shadow:0 0 0 2000px #00000080;animation:pulse-faffb854 2s infinite}@keyframes pulse-faffb854{0%{box-shadow:0 0 0 2000px #00000080,0 0 0 3px #d92959}50%{box-shadow:0 0 0 2000px #0000004d,0 0 0 3px #d92959cc}to{box-shadow:0 0 0 2000px #00000080,0 0 0 3px #d92959}}.scan-instruction[data-v-faffb854]{margin-top:20px;color:#fff;background:#000000b3;padding:8px 16px;border-radius:4px;font-size:14px}.controls[data-v-faffb854]{margin:15px 0}.qr-result[data-v-faffb854]{margin:15px 0;padding:15px;background:#1a1a1a;border-radius:8px}.qr-data[data-v-faffb854]{font-family:Courier New,monospace;font-size:16px;font-weight:700;margin:10px 0;padding:10px;background:#2a2a2a;border-radius:4px;word-break:break-all}.validation-success[data-v-faffb854]{color:#228b22;font-weight:700;margin-top:10px}.validation-error[data-v-faffb854]{color:#dc143c;font-weight:700;margin-top:10px}.location-valid[data-v-faffb854]{padding:10px;background:#228b22;color:#fff;border-radius:6px;margin:10px 0}.location-invalid[data-v-faffb854]{padding:10px;background:#dc143c;color:#fff;border-radius:6px;margin:10px 0}.location-help[data-v-faffb854]{margin-top:8px;font-size:14px;opacity:.9}.override-active[data-v-faffb854]{padding:10px;background:#ff8c00;color:#fff;border-radius:6px;margin:10px 0;display:flex;justify-content:space-between;align-items:center}.disable-override-btn[data-v-faffb854]{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:5px 10px;border-radius:4px;font-size:12px;cursor:pointer}.disable-override-btn[data-v-faffb854]:hover{background:#ffffff4d}.override-details[data-v-faffb854]{margin:20px 0;padding:15px;background:#2a2a2a;border-radius:8px}.override-details p[data-v-faffb854]{margin:8px 0;font-size:16px;color:#fff}.cancel-button[data-v-faffb854]{background:#666;color:#fff}.cancel-button[data-v-faffb854]:hover{background:#555}.confirm-button[data-v-faffb854]{background:#ff8c00;color:#fff}.confirm-button[data-v-faffb854]:hover{background:#e67e00}.save-button[data-v-faffb854]{margin-top:20px;background:#228b22;font-size:18px;padding:15px}.error-message[data-v-faffb854]{padding:10px;margin:10px 0;border-radius:6px;text-align:center;background:#dc143c;color:#fff}.modal-overlay[data-v-faffb854]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.confirmation-modal[data-v-faffb854]{background:#1a1a1a;border-radius:12px;padding:30px;max-width:400px;width:90%;text-align:center;border:2px solid #D92959}.confirmation-modal h3[data-v-faffb854]{color:#d92959;margin:0 0 20px;font-size:24px}.scan-details[data-v-faffb854]{margin:20px 0;padding:15px;background:#2a2a2a;border-radius:8px}.scan-details p[data-v-faffb854]{margin:8px 0;font-size:16px;color:#fff}.scan-details strong[data-v-faffb854]{color:#d92959}.modal-buttons[data-v-faffb854]{display:flex;gap:15px;margin-top:25px}.modal-button[data-v-faffb854]{flex:1;padding:15px 20px;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s ease}.undo-button[data-v-faffb854]{background:#dc143c;color:#fff}.undo-button[data-v-faffb854]:hover{background:#b12332}.continue-button[data-v-faffb854]{background:#228b22;color:#fff}.continue-button[data-v-faffb854]:hover{background:#1e7b1e}.scan-history[data-v-faffb854]{margin-top:20px;padding-top:20px;border-top:1px solid #444}.scan-history h4[data-v-faffb854]{color:#d92959;margin:0 0 15px;font-size:18px}.history-list[data-v-faffb854]{display:flex;flex-direction:column;gap:8px}.history-item[data-v-faffb854]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#333;border-radius:6px;font-size:14px;color:#fff}.history-item.alternate[data-v-faffb854]{background:#444}.lap-number[data-v-faffb854]{font-weight:700;color:#d92959}.lap-time[data-v-faffb854]{color:#fff}.error-modal[data-v-faffb854]{background:#1a1a1a;border-radius:12px;padding:30px;max-width:400px;width:90%;text-align:center;border:2px solid #dc143c}.error-modal h3[data-v-faffb854]{color:#dc143c;margin:0 0 20px;font-size:24px}.error-details[data-v-faffb854]{margin:20px 0;padding:15px;background:#2a2a2a;border-radius:8px}.error-details p[data-v-faffb854]{margin:0;font-size:16px;color:#fff}.dismiss-button[data-v-faffb854]{background:#dc143c;color:#fff;width:100%}.dismiss-button[data-v-faffb854]:hover{background:#b12332}.app-container[data-v-4b9790a6]{min-height:100vh}.tab-content[data-v-4b9790a6]{margin-top:20px}.pending-details[data-v-4b9790a6]{margin-top:10px;padding:15px;background:#1a1a1a;border-radius:8px;border:1px solid #b8860b}.pending-item[data-v-4b9790a6]{padding:8px;margin:5px 0;background:#2a2a2a;border-radius:4px;font-size:14px}.sync-button[data-v-4b9790a6]{padding:12px 24px;background:#d92959;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:16px}.sync-button[data-v-4b9790a6]:hover{background:#c41e4a}*{margin:0;padding:0;box-sizing:border-box}body{background:#0f0f0f;color:#d92959;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6}#app{min-height:100vh;width:100%}.container{max-width:400px;margin:0 auto;padding:20px}.tab-container{display:flex;background:#1a1a1a;border-radius:8px;margin-bottom:20px}.tab{flex:1;padding:12px;text-align:center;background:transparent;border:none;color:#666;cursor:pointer;border-radius:8px;transition:all .3s ease}.tab.active{background:#d92959;color:#fff}.tab:disabled{opacity:.5;cursor:not-allowed}.action-button{padding:12px 24px;background:#d92959;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:16px;margin:5px}.action-button:hover{background:#c41e4a}.action-button:disabled{opacity:.6;cursor:not-allowed}.text-input{width:100%;padding:12px;margin:10px 0;background:#2a2a2a;border:1px solid #333;border-radius:6px;color:#fff}.camera-container{position:relative;width:100%;height:300px;background:#000;border-radius:8px;overflow:hidden;margin:20px 0}.camera-view{width:100%;height:100%;object-fit:cover}.capture-button{position:absolute;bottom:20px;left:50%;transform:translate(-50%);width:60px;height:60px;border-radius:50%;background:#d92959;border:3px solid white;cursor:pointer}.sync-status{padding:10px;margin:10px 0;border-radius:6px;text-align:center}.sync-pending{background:#b8860b;color:#fff}.sync-complete{background:#228b22;color:#fff}.sync-error{background:#dc143c;color:#fff}
