diff --git a/backend/__pycache__/models.cpython-311.pyc b/backend/__pycache__/models.cpython-311.pyc index 7b19cb663..6a057a6c6 100644 Binary files a/backend/__pycache__/models.cpython-311.pyc and b/backend/__pycache__/models.cpython-311.pyc differ diff --git a/backend/backend/database/myp.db b/backend/backend/database/myp.db index 7ecd28080..16bd4d00f 100644 Binary files a/backend/backend/database/myp.db and b/backend/backend/database/myp.db differ diff --git a/backend/blueprints/__pycache__/admin_unified.cpython-311.pyc b/backend/blueprints/__pycache__/admin_unified.cpython-311.pyc index 45252a48a..ac517766a 100644 Binary files a/backend/blueprints/__pycache__/admin_unified.cpython-311.pyc and b/backend/blueprints/__pycache__/admin_unified.cpython-311.pyc differ diff --git a/backend/blueprints/__pycache__/api.cpython-311.pyc b/backend/blueprints/__pycache__/api.cpython-311.pyc index 8c4c2e9a5..b161a9b43 100644 Binary files a/backend/blueprints/__pycache__/api.cpython-311.pyc and b/backend/blueprints/__pycache__/api.cpython-311.pyc differ diff --git a/backend/blueprints/admin_unified.py b/backend/blueprints/admin_unified.py index 746717734..cf5c37359 100644 --- a/backend/blueprints/admin_unified.py +++ b/backend/blueprints/admin_unified.py @@ -27,7 +27,7 @@ from datetime import datetime, timedelta from flask import Blueprint, render_template, request, jsonify, redirect, url_for, flash, current_app from flask_login import login_required, current_user from functools import wraps -from models import User, Printer, Job, get_cached_session, Stats, SystemLog, PlugStatusLog, GuestRequest +from models import User, Printer, Job, get_cached_session, Stats, SystemLog, PlugStatusLog, GuestRequest, UserPermission from utils.logging_config import get_logger # ===== BLUEPRINT-KONFIGURATION ===== @@ -216,24 +216,46 @@ def edit_user_page(user_id): @admin_blueprint.route("/users/create", methods=["POST"]) @admin_required def create_user(): - """Erstellt einen neuen Benutzer""" + """Erstellt einen neuen Benutzer mit erweiterten Feldern und Berechtigungen""" try: - # Form-Daten aus POST-Request + # === GRUNDDATEN === username = request.form.get('username', '').strip() email = request.form.get('email', '').strip() name = request.form.get('name', '').strip() password = request.form.get('password', '') role = request.form.get('role', 'user') + + # === ERWEITERTE PROFIL-INFORMATIONEN === department = request.form.get('department', '').strip() position = request.form.get('position', '').strip() phone = request.form.get('phone', '').strip() - active = request.form.get('active') == 'on' + bio = request.form.get('bio', '').strip() - # Validierung + # === BENUTZEREINSTELLUNGEN === + theme_preference = request.form.get('theme_preference', 'auto') + language_preference = request.form.get('language_preference', 'de') + email_notifications = request.form.get('email_notifications') == 'on' + browser_notifications = request.form.get('browser_notifications') == 'on' + + # === GRANULARE BERECHTIGUNGEN === + can_start_jobs = request.form.get('can_start_jobs') == 'on' + needs_approval = request.form.get('needs_approval') == 'on' + can_approve_jobs = request.form.get('can_approve_jobs') == 'on' + can_manage_printers = request.form.get('can_manage_printers') == 'on' + can_view_all_jobs = request.form.get('can_view_all_jobs') == 'on' + can_access_admin_panel = request.form.get('can_access_admin_panel') == 'on' + can_manage_users = request.form.get('can_manage_users') == 'on' + can_access_energy_monitoring = request.form.get('can_access_energy_monitoring') == 'on' + + # === VALIDIERUNG === if not username or not email or not password: flash("Benutzername, E-Mail und Passwort sind erforderlich", "error") return redirect(url_for('admin.add_user_page')) + if len(password) < 6: + flash("Das Passwort muss mindestens 6 Zeichen lang sein", "error") + return redirect(url_for('admin.add_user_page')) + with get_cached_session() as db_session: # Prüfen ob Benutzer bereits existiert existing_user = db_session.query(User).filter( @@ -244,33 +266,77 @@ def create_user(): flash("Benutzer mit diesem Namen oder E-Mail existiert bereits", "error") return redirect(url_for('admin.add_user_page')) - # Neuen Benutzer erstellen + # === NEUEN BENUTZER ERSTELLEN === new_user = User( username=username, email=email, - name=name if name else None, + name=name if name else username, role=role, + active=True, + created_at=datetime.now(), + updated_at=datetime.now(), + + # Erweiterte Profil-Felder department=department if department else None, position=position if position else None, phone=phone if phone else None, - active=active, - created_at=datetime.now(), - updated_at=datetime.now() + bio=bio if bio else None, + + # Benutzereinstellungen + theme_preference=theme_preference, + language_preference=language_preference, + email_notifications=email_notifications, + browser_notifications=browser_notifications, + dashboard_layout='default', + compact_mode=False, + show_completed_jobs=True, + auto_refresh_interval=30, + auto_logout_timeout=0 ) # Passwort hashen new_user.set_password(password) + # User zur Session hinzufügen und committen db_session.add(new_user) + db_session.flush() # Flush um user.id zu erhalten + + # === BERECHTIGUNGEN ERSTELLEN === + # Bei Admin-Rolle automatisch alle Berechtigungen setzen + if role == 'admin': + can_approve_jobs = True + can_manage_printers = True + can_view_all_jobs = True + can_access_admin_panel = True + can_manage_users = True + can_access_energy_monitoring = True + needs_approval = False # Admins brauchen keine Genehmigung + + user_permissions = UserPermission( + user_id=new_user.id, + can_start_jobs=can_start_jobs, + needs_approval=needs_approval, + can_approve_jobs=can_approve_jobs, + can_manage_printers=can_manage_printers, + can_view_all_jobs=can_view_all_jobs, + can_access_admin_panel=can_access_admin_panel, + can_manage_users=can_manage_users, + can_access_energy_monitoring=can_access_energy_monitoring, + created_at=datetime.now(), + updated_at=datetime.now() + ) + + db_session.add(user_permissions) db_session.commit() - admin_logger.info(f"Neuer Benutzer '{username}' erstellt von {current_user.username}") - flash(f"Benutzer '{username}' erfolgreich erstellt", "success") + admin_logger.info(f"Neuer Benutzer '{username}' (Rolle: {role}) mit erweiterten Berechtigungen erstellt von {current_user.username}") + flash(f"Benutzer '{username}' erfolgreich erstellt mit allen Einstellungen und Berechtigungen", "success") return redirect(url_for('admin.users_overview')) except Exception as e: admin_logger.error(f"Fehler beim Erstellen des Benutzers: {str(e)}") + admin_logger.error(f"Traceback: {traceback.format_exc()}") flash("Fehler beim Erstellen des Benutzers", "error") return redirect(url_for('admin.add_user_page')) @@ -4053,6 +4119,142 @@ def get_users_api(): admin_api_logger.error(f"Fehler beim Abrufen der Benutzer: {str(e)}") return jsonify({"error": "Fehler beim Abrufen der Benutzer"}), 500 +# ===== BENUTZER-MANAGEMENT API ENDPOINTS ===== + +@admin_api_blueprint.route('/users//role', methods=['POST']) +@admin_required +def update_user_role_api(user_id): + """API-Endpunkt zum Aktualisieren der Benutzerrolle""" + try: + data = request.get_json() + new_role = data.get('role') + + if new_role not in ['user', 'admin']: + return jsonify({ + 'success': False, + 'error': 'Ungültige Rolle' + }), 400 + + with get_cached_session() as db_session: + user = db_session.query(User).filter(User.id == user_id).first() + + if not user: + return jsonify({ + 'success': False, + 'error': 'Benutzer nicht gefunden' + }), 404 + + # Verhindern dass der letzte Admin degradiert wird + if user.is_admin and new_role != 'admin': + admin_count = db_session.query(User).filter(User.role == 'admin').count() + if admin_count <= 1: + return jsonify({ + 'success': False, + 'error': 'Kann den letzten Administrator nicht degradieren' + }), 400 + + user.role = new_role + user.updated_at = datetime.now() + db_session.commit() + + admin_api_logger.info(f"Benutzerrolle für '{user.username}' zu '{new_role}' geändert von {current_user.username}") + + return jsonify({ + 'success': True, + 'message': f'Rolle erfolgreich zu {new_role} geändert' + }) + + except Exception as e: + admin_api_logger.error(f"Fehler beim Aktualisieren der Benutzerrolle: {str(e)}") + return jsonify({ + 'success': False, + 'error': 'Systemfehler beim Aktualisieren der Rolle' + }), 500 + +@admin_api_blueprint.route('/users//status', methods=['POST']) +@admin_required +def update_user_status_api(user_id): + """API-Endpunkt zum Aktualisieren des Benutzerstatus""" + try: + data = request.get_json() + is_active = data.get('active', False) + + with get_cached_session() as db_session: + user = db_session.query(User).filter(User.id == user_id).first() + + if not user: + return jsonify({ + 'success': False, + 'error': 'Benutzer nicht gefunden' + }), 404 + + # Verhindern dass sich der Admin selbst deaktiviert + if user.id == current_user.id and not is_active: + return jsonify({ + 'success': False, + 'error': 'Sie können sich nicht selbst deaktivieren' + }), 400 + + user.active = is_active + user.updated_at = datetime.now() + db_session.commit() + + admin_api_logger.info(f"Benutzerstatus für '{user.username}' zu {'aktiv' if is_active else 'inaktiv'} geändert von {current_user.username}") + + return jsonify({ + 'success': True, + 'message': f'Benutzer erfolgreich {"aktiviert" if is_active else "deaktiviert"}' + }) + + except Exception as e: + admin_api_logger.error(f"Fehler beim Aktualisieren des Benutzerstatus: {str(e)}") + return jsonify({ + 'success': False, + 'error': 'Systemfehler beim Aktualisieren des Status' + }), 500 + +@admin_api_blueprint.route('/users//reset-password', methods=['POST']) +@admin_required +def reset_user_password_api(user_id): + """API-Endpunkt zum Zurücksetzen des Benutzerpassworts""" + try: + data = request.get_json() + new_password = data.get('new_password') + + if not new_password or len(new_password) < 6: + return jsonify({ + 'success': False, + 'error': 'Passwort muss mindestens 6 Zeichen lang sein' + }), 400 + + with get_cached_session() as db_session: + user = db_session.query(User).filter(User.id == user_id).first() + + if not user: + return jsonify({ + 'success': False, + 'error': 'Benutzer nicht gefunden' + }), 404 + + # Passwort aktualisieren + user.set_password(new_password) + user.updated_at = datetime.now() + db_session.commit() + + admin_api_logger.info(f"Passwort für Benutzer '{user.username}' zurückgesetzt von {current_user.username}") + + return jsonify({ + 'success': True, + 'message': 'Passwort erfolgreich zurückgesetzt' + }) + + except Exception as e: + admin_api_logger.error(f"Fehler beim Zurücksetzen des Passworts: {str(e)}") + return jsonify({ + 'success': False, + 'error': 'Systemfehler beim Zurücksetzen des Passworts' + }), 500 + # ===== SYSTEM ERROR RECOVERY ENDPOINTS ===== @admin_api_blueprint.route('/error-recovery/status', methods=['GET']) diff --git a/backend/blueprints/api.py b/backend/blueprints/api.py index 9d9104420..d12549f93 100644 --- a/backend/blueprints/api.py +++ b/backend/blueprints/api.py @@ -334,6 +334,9 @@ def get_stats(): db_session.close() + # Erfolgsrate berechnen + success_rate = round((completed_jobs / total_jobs * 100), 2) if total_jobs > 0 else 0 + stats_data = { 'success': True, 'timestamp': datetime.now().isoformat(), @@ -341,12 +344,14 @@ def get_stats(): # Grundlegende Zählungen 'total_printers': total_printers, 'active_printers': active_printers, + 'online_printers': active_printers, # Alias für Frontend-Kompatibilität 'total_jobs': total_jobs, 'total_users': total_users, 'active_users': active_users, # Job-Statistiken 'completed_jobs': completed_jobs, + 'active_jobs': running_jobs, # Alias für Frontend-Kompatibilität 'running_jobs': running_jobs, 'pending_jobs': pending_jobs, 'failed_jobs': failed_jobs, @@ -354,7 +359,8 @@ def get_stats(): # Druckzeit-Statistiken 'total_print_hours': round(total_print_hours, 2), - 'completion_rate': round((completed_jobs / total_jobs * 100), 2) if total_jobs > 0 else 0 + 'completion_rate': success_rate, + 'success_rate': success_rate # Alias für Frontend-Kompatibilität } api_logger.info(f"Statistiken abgerufen von Benutzer {current_user.username}") @@ -470,6 +476,113 @@ def get_system_health(): 'message': str(e) }), 500 +@api_blueprint.route('/stats/export', methods=['GET']) +@login_required +def export_stats(): + """ + Exportiert Systemstatistiken als CSV-Datei. + + Erstellt eine herunterladbare CSV-Datei mit allen wichtigen Systemstatistiken. + """ + try: + import csv + import io + from flask import make_response + + db_session = get_db_session() + + # Umfassende Statistiken sammeln + stats_data = { + 'Gesamte_Drucker': db_session.query(Printer).count(), + 'Aktive_Drucker': db_session.query(Printer).filter(Printer.active == True).count(), + 'Gesamte_Jobs': db_session.query(Job).count(), + 'Abgeschlossene_Jobs': db_session.query(Job).filter(Job.status == 'completed').count(), + 'Laufende_Jobs': db_session.query(Job).filter(Job.status == 'running').count(), + 'Wartende_Jobs': db_session.query(Job).filter(Job.status == 'pending').count(), + 'Fehlgeschlagene_Jobs': db_session.query(Job).filter(Job.status == 'failed').count(), + 'Gesamte_Benutzer': db_session.query(User).count(), + 'Aktive_Benutzer': db_session.query(User).filter(User.active == True).count(), + } + + # Zeitbasierte Statistiken + yesterday = datetime.now() - timedelta(days=1) + week_ago = datetime.now() - timedelta(days=7) + month_ago = datetime.now() - timedelta(days=30) + + stats_data.update({ + 'Jobs_letzte_24h': db_session.query(Job).filter(Job.created_at >= yesterday).count(), + 'Jobs_letzte_Woche': db_session.query(Job).filter(Job.created_at >= week_ago).count(), + 'Jobs_letzter_Monat': db_session.query(Job).filter(Job.created_at >= month_ago).count(), + }) + + # Erfolgsrate berechnen + total_jobs = stats_data['Gesamte_Jobs'] + completed_jobs = stats_data['Abgeschlossene_Jobs'] + success_rate = round((completed_jobs / total_jobs * 100), 2) if total_jobs > 0 else 0 + stats_data['Erfolgsrate_Prozent'] = success_rate + + # Gesamtdruckzeit berechnen + completed_jobs_with_duration = db_session.query(Job).filter( + Job.status == 'completed', + Job.duration_minutes.isnot(None) + ).all() + + total_print_hours = sum(job.duration_minutes for job in completed_jobs_with_duration) / 60.0 + stats_data['Gesamtdruckzeit_Stunden'] = round(total_print_hours, 2) + + db_session.close() + + # CSV erstellen + output = io.StringIO() + writer = csv.writer(output) + + # Header + writer.writerow(['Export_Zeitstempel', datetime.now().strftime('%Y-%m-%d_%H-%M-%S')]) + writer.writerow(['Benutzer', current_user.username]) + writer.writerow([]) # Leerzeile + writer.writerow(['Statistik', 'Wert']) + + # Daten schreiben + for key, value in stats_data.items(): + writer.writerow([key.replace('_', ' '), value]) + + # Detaillierte Drucker-Informationen + writer.writerow([]) + writer.writerow(['=== Drucker Details ===']) + writer.writerow(['Drucker_Name', 'Status', 'Aktiv', 'Letzte_Nutzung']) + + db_session = get_db_session() + printers = db_session.query(Printer).all() + for printer in printers: + last_job = db_session.query(Job).filter(Job.printer_id == printer.id).order_by(Job.created_at.desc()).first() + last_usage = last_job.created_at.strftime('%Y-%m-%d %H:%M') if last_job else 'Nie' + writer.writerow([ + printer.name, + printer.status, + 'Ja' if printer.active else 'Nein', + last_usage + ]) + + db_session.close() + + # Response erstellen + output.seek(0) + response = make_response(output.getvalue()) + response.headers['Content-Type'] = 'text/csv; charset=utf-8' + response.headers['Content-Disposition'] = f'attachment; filename=MYP_Statistiken_{datetime.now().strftime("%Y%m%d_%H%M%S")}.csv' + + api_logger.info(f"Statistiken exportiert von Benutzer {current_user.username}") + + return response + + except Exception as e: + api_logger.error(f"Fehler beim Exportieren der Statistiken: {str(e)}") + return jsonify({ + 'success': False, + 'error': 'Fehler beim Exportieren der Statistiken', + 'message': str(e) + }), 500 + @api_blueprint.route('/admin/error-recovery/status', methods=['GET']) @admin_required def get_error_recovery_status(): diff --git a/backend/cookies.txt b/backend/cookies.txt index f08d202e3..213758b42 100644 --- a/backend/cookies.txt +++ b/backend/cookies.txt @@ -2,4 +2,4 @@ # https://curl.se/docs/http-cookies.html # This file was generated by libcurl! Edit at your own risk. -#HttpOnly_127.0.0.1 FALSE / FALSE 0 session .eJwNzTEKwzAQRNGrLFsbH0BdcgWXwQQlGXkFQoHZVVIY392ufvX4uz5Ly25wTY9dJa4oyC910qW-DTTU8AJrYJJbL8wb5D_4geTXhgbrMcu9RkB-oI8LdVkqBC5gx4hZ12OdrhXhpqnk5jhOdBgrow.aFKZkg.cwnEDDpGneBUAl8JOT0on2tyZGI +#HttpOnly_127.0.0.1 FALSE / FALSE 0 session .eJwNzTEKwzAQRNGrLFsbH0BdcgWXwQQlGXkFQoHZVVIY392ufvX4uz5Ly25wTY9dJa4oyC910qW-DTTU8AJrYJJbL8wb5D_4geTXhgbrMcu9RkB-oI8LdVkqBC5gx4hZ12OdrhXhpqnk5jhOdBgrow.aFSc0w.yZV4JQeY3snEYKbzk0zPgMe2--s diff --git a/backend/instance/sessions/00a89407cd9e99b0e767c7a8ec819c31_activity.pkl b/backend/instance/sessions/00a89407cd9e99b0e767c7a8ec819c31_activity.pkl new file mode 100644 index 000000000..865e965d9 Binary files /dev/null and b/backend/instance/sessions/00a89407cd9e99b0e767c7a8ec819c31_activity.pkl differ diff --git a/backend/instance/sessions/00f5b75c314b33488682b23f629678a6_activity.pkl b/backend/instance/sessions/00f5b75c314b33488682b23f629678a6_activity.pkl new file mode 100644 index 000000000..22a9a6384 Binary files /dev/null and b/backend/instance/sessions/00f5b75c314b33488682b23f629678a6_activity.pkl differ diff --git a/backend/instance/sessions/0145fc79a06e6a864f6c1b202d198aec_activity.pkl b/backend/instance/sessions/0145fc79a06e6a864f6c1b202d198aec_activity.pkl new file mode 100644 index 000000000..55de289e3 Binary files /dev/null and b/backend/instance/sessions/0145fc79a06e6a864f6c1b202d198aec_activity.pkl differ diff --git a/backend/instance/sessions/01867fa27ce46822033ff7f572dd12ad_activity.pkl b/backend/instance/sessions/01867fa27ce46822033ff7f572dd12ad_activity.pkl new file mode 100644 index 000000000..6f4efc186 Binary files /dev/null and b/backend/instance/sessions/01867fa27ce46822033ff7f572dd12ad_activity.pkl differ diff --git a/backend/instance/sessions/0194ebd3bfc2866800d603e5f8e9953f_activity.pkl b/backend/instance/sessions/0194ebd3bfc2866800d603e5f8e9953f_activity.pkl new file mode 100644 index 000000000..dbf6b5a7e Binary files /dev/null and b/backend/instance/sessions/0194ebd3bfc2866800d603e5f8e9953f_activity.pkl differ diff --git a/backend/instance/sessions/037a0336eb0f0f5654ee5dca4d5b603e_activity.pkl b/backend/instance/sessions/037a0336eb0f0f5654ee5dca4d5b603e_activity.pkl new file mode 100644 index 000000000..190ee1c56 Binary files /dev/null and b/backend/instance/sessions/037a0336eb0f0f5654ee5dca4d5b603e_activity.pkl differ diff --git a/backend/instance/sessions/04b25b076e01e9d3c485762853a37539_activity.pkl b/backend/instance/sessions/04b25b076e01e9d3c485762853a37539_activity.pkl new file mode 100644 index 000000000..a1f8523b5 Binary files /dev/null and b/backend/instance/sessions/04b25b076e01e9d3c485762853a37539_activity.pkl differ diff --git a/backend/instance/sessions/04b397473dcd88a4bea72dc68d8f7c47_activity.pkl b/backend/instance/sessions/04b397473dcd88a4bea72dc68d8f7c47_activity.pkl new file mode 100644 index 000000000..fc574b93e Binary files /dev/null and b/backend/instance/sessions/04b397473dcd88a4bea72dc68d8f7c47_activity.pkl differ diff --git a/backend/instance/sessions/05527f6bd94f927cb6f4f1feeb36ec22_activity.pkl b/backend/instance/sessions/05527f6bd94f927cb6f4f1feeb36ec22_activity.pkl new file mode 100644 index 000000000..8f4cb81a4 Binary files /dev/null and b/backend/instance/sessions/05527f6bd94f927cb6f4f1feeb36ec22_activity.pkl differ diff --git a/backend/instance/sessions/05935b35b849a69c537ae2654888e6bd_activity.pkl b/backend/instance/sessions/05935b35b849a69c537ae2654888e6bd_activity.pkl new file mode 100644 index 000000000..695e0a6f4 Binary files /dev/null and b/backend/instance/sessions/05935b35b849a69c537ae2654888e6bd_activity.pkl differ diff --git a/backend/instance/sessions/0605737bb347ec60e0476577ab9c1f2a_activity.pkl b/backend/instance/sessions/0605737bb347ec60e0476577ab9c1f2a_activity.pkl new file mode 100644 index 000000000..ceb419b54 Binary files /dev/null and b/backend/instance/sessions/0605737bb347ec60e0476577ab9c1f2a_activity.pkl differ diff --git a/backend/instance/sessions/06362196aed3e863f67026e21e25bfb7_activity.pkl b/backend/instance/sessions/06362196aed3e863f67026e21e25bfb7_activity.pkl new file mode 100644 index 000000000..3a2bf3403 Binary files /dev/null and b/backend/instance/sessions/06362196aed3e863f67026e21e25bfb7_activity.pkl differ diff --git a/backend/instance/sessions/0638acb38f1504a92c29f48fb46533d7_activity.pkl b/backend/instance/sessions/0638acb38f1504a92c29f48fb46533d7_activity.pkl new file mode 100644 index 000000000..737cd7d90 Binary files /dev/null and b/backend/instance/sessions/0638acb38f1504a92c29f48fb46533d7_activity.pkl differ diff --git a/backend/instance/sessions/06b0276b527bcb1f3249035536170498_activity.pkl b/backend/instance/sessions/06b0276b527bcb1f3249035536170498_activity.pkl new file mode 100644 index 000000000..6b3605a30 Binary files /dev/null and b/backend/instance/sessions/06b0276b527bcb1f3249035536170498_activity.pkl differ diff --git a/backend/instance/sessions/06b2f2c9f1578c7531e139101a44745f_activity.pkl b/backend/instance/sessions/06b2f2c9f1578c7531e139101a44745f_activity.pkl new file mode 100644 index 000000000..1df28e1ba Binary files /dev/null and b/backend/instance/sessions/06b2f2c9f1578c7531e139101a44745f_activity.pkl differ diff --git a/backend/instance/sessions/06cc19f5b932d2845f74a94dcdb8aab9_activity.pkl b/backend/instance/sessions/06cc19f5b932d2845f74a94dcdb8aab9_activity.pkl new file mode 100644 index 000000000..b3d59bc3f Binary files /dev/null and b/backend/instance/sessions/06cc19f5b932d2845f74a94dcdb8aab9_activity.pkl differ diff --git a/backend/instance/sessions/072459aeeed6bf56f64d38859bab24c9_activity.pkl b/backend/instance/sessions/072459aeeed6bf56f64d38859bab24c9_activity.pkl new file mode 100644 index 000000000..31f789fac Binary files /dev/null and b/backend/instance/sessions/072459aeeed6bf56f64d38859bab24c9_activity.pkl differ diff --git a/backend/instance/sessions/07421b91e286805f40ae91934b596514_activity.pkl b/backend/instance/sessions/07421b91e286805f40ae91934b596514_activity.pkl new file mode 100644 index 000000000..40c0fa85f Binary files /dev/null and b/backend/instance/sessions/07421b91e286805f40ae91934b596514_activity.pkl differ diff --git a/backend/instance/sessions/0757dd20e3ec51ca3a6fef31ad6060b1_activity.pkl b/backend/instance/sessions/0757dd20e3ec51ca3a6fef31ad6060b1_activity.pkl new file mode 100644 index 000000000..ec100496b Binary files /dev/null and b/backend/instance/sessions/0757dd20e3ec51ca3a6fef31ad6060b1_activity.pkl differ diff --git a/backend/instance/sessions/07a99037f8a6f13fe6bc4a79af8a0f5a_activity.pkl b/backend/instance/sessions/07a99037f8a6f13fe6bc4a79af8a0f5a_activity.pkl new file mode 100644 index 000000000..8da7d379d Binary files /dev/null and b/backend/instance/sessions/07a99037f8a6f13fe6bc4a79af8a0f5a_activity.pkl differ diff --git a/backend/instance/sessions/08f6fe0a2f5bcd6a13ea014015025ba3_activity.pkl b/backend/instance/sessions/08f6fe0a2f5bcd6a13ea014015025ba3_activity.pkl new file mode 100644 index 000000000..6667011c1 Binary files /dev/null and b/backend/instance/sessions/08f6fe0a2f5bcd6a13ea014015025ba3_activity.pkl differ diff --git a/backend/instance/sessions/0912715566c2358ab523f89ef782d1d2_activity.pkl b/backend/instance/sessions/0912715566c2358ab523f89ef782d1d2_activity.pkl new file mode 100644 index 000000000..d20d93e8c Binary files /dev/null and b/backend/instance/sessions/0912715566c2358ab523f89ef782d1d2_activity.pkl differ diff --git a/backend/instance/sessions/093a290d31af6dbd5da5fa0092646c94_activity.pkl b/backend/instance/sessions/093a290d31af6dbd5da5fa0092646c94_activity.pkl new file mode 100644 index 000000000..5b99a21df Binary files /dev/null and b/backend/instance/sessions/093a290d31af6dbd5da5fa0092646c94_activity.pkl differ diff --git a/backend/instance/sessions/09435716c5cf947caeaacc54a4b8c32a_activity.pkl b/backend/instance/sessions/09435716c5cf947caeaacc54a4b8c32a_activity.pkl new file mode 100644 index 000000000..8eb5c1d14 Binary files /dev/null and b/backend/instance/sessions/09435716c5cf947caeaacc54a4b8c32a_activity.pkl differ diff --git a/backend/instance/sessions/099d6df237a1bdf938c4b92f7e3453b7_activity.pkl b/backend/instance/sessions/099d6df237a1bdf938c4b92f7e3453b7_activity.pkl new file mode 100644 index 000000000..d75be36e0 Binary files /dev/null and b/backend/instance/sessions/099d6df237a1bdf938c4b92f7e3453b7_activity.pkl differ diff --git a/backend/instance/sessions/099eaa0a50b0fff4bbe1888e79fd46da_activity.pkl b/backend/instance/sessions/099eaa0a50b0fff4bbe1888e79fd46da_activity.pkl new file mode 100644 index 000000000..3f540b012 Binary files /dev/null and b/backend/instance/sessions/099eaa0a50b0fff4bbe1888e79fd46da_activity.pkl differ diff --git a/backend/instance/sessions/0a0562bcda17ae1faa4d4bb0e3cf8ab5_activity.pkl b/backend/instance/sessions/0a0562bcda17ae1faa4d4bb0e3cf8ab5_activity.pkl new file mode 100644 index 000000000..e746794b9 Binary files /dev/null and b/backend/instance/sessions/0a0562bcda17ae1faa4d4bb0e3cf8ab5_activity.pkl differ diff --git a/backend/instance/sessions/0a58473322182e8277247beec9975d29_activity.pkl b/backend/instance/sessions/0a58473322182e8277247beec9975d29_activity.pkl new file mode 100644 index 000000000..689f17480 Binary files /dev/null and b/backend/instance/sessions/0a58473322182e8277247beec9975d29_activity.pkl differ diff --git a/backend/instance/sessions/0a58e571939522fc79893545a54bb05d_activity.pkl b/backend/instance/sessions/0a58e571939522fc79893545a54bb05d_activity.pkl new file mode 100644 index 000000000..d7cbbfb61 Binary files /dev/null and b/backend/instance/sessions/0a58e571939522fc79893545a54bb05d_activity.pkl differ diff --git a/backend/instance/sessions/0a6881402b4cd88719b73b0ff83d79e1_activity.pkl b/backend/instance/sessions/0a6881402b4cd88719b73b0ff83d79e1_activity.pkl new file mode 100644 index 000000000..c85f6eea5 Binary files /dev/null and b/backend/instance/sessions/0a6881402b4cd88719b73b0ff83d79e1_activity.pkl differ diff --git a/backend/instance/sessions/0ad0258fef9df0e5ae9bb2af4b870eae_activity.pkl b/backend/instance/sessions/0ad0258fef9df0e5ae9bb2af4b870eae_activity.pkl new file mode 100644 index 000000000..d1520a47e Binary files /dev/null and b/backend/instance/sessions/0ad0258fef9df0e5ae9bb2af4b870eae_activity.pkl differ diff --git a/backend/instance/sessions/0ad104cded5cc620db451fb903011b53_activity.pkl b/backend/instance/sessions/0ad104cded5cc620db451fb903011b53_activity.pkl new file mode 100644 index 000000000..c37586cc5 Binary files /dev/null and b/backend/instance/sessions/0ad104cded5cc620db451fb903011b53_activity.pkl differ diff --git a/backend/instance/sessions/0b01eb441ac70b7efd55b95dbe9cc7a5_activity.pkl b/backend/instance/sessions/0b01eb441ac70b7efd55b95dbe9cc7a5_activity.pkl new file mode 100644 index 000000000..4616c7130 Binary files /dev/null and b/backend/instance/sessions/0b01eb441ac70b7efd55b95dbe9cc7a5_activity.pkl differ diff --git a/backend/instance/sessions/0b2316d3715c2ad783615cb026f9725a_activity.pkl b/backend/instance/sessions/0b2316d3715c2ad783615cb026f9725a_activity.pkl new file mode 100644 index 000000000..c818921b8 Binary files /dev/null and b/backend/instance/sessions/0b2316d3715c2ad783615cb026f9725a_activity.pkl differ diff --git a/backend/instance/sessions/0b48d7d0d59f7b83386a430ba64960ee_activity.pkl b/backend/instance/sessions/0b48d7d0d59f7b83386a430ba64960ee_activity.pkl new file mode 100644 index 000000000..53af3e455 Binary files /dev/null and b/backend/instance/sessions/0b48d7d0d59f7b83386a430ba64960ee_activity.pkl differ diff --git a/backend/instance/sessions/0b76c96d864a00f723d77a33209f41a9_activity.pkl b/backend/instance/sessions/0b76c96d864a00f723d77a33209f41a9_activity.pkl new file mode 100644 index 000000000..af1f1dd3d Binary files /dev/null and b/backend/instance/sessions/0b76c96d864a00f723d77a33209f41a9_activity.pkl differ diff --git a/backend/instance/sessions/0b8dc1f7e48cb4d6c5bb3bf8ad997d56_activity.pkl b/backend/instance/sessions/0b8dc1f7e48cb4d6c5bb3bf8ad997d56_activity.pkl new file mode 100644 index 000000000..6bdbdb399 Binary files /dev/null and b/backend/instance/sessions/0b8dc1f7e48cb4d6c5bb3bf8ad997d56_activity.pkl differ diff --git a/backend/instance/sessions/0b937e2a2dee841b430340684587377c_activity.pkl b/backend/instance/sessions/0b937e2a2dee841b430340684587377c_activity.pkl new file mode 100644 index 000000000..6b0c06ba2 Binary files /dev/null and b/backend/instance/sessions/0b937e2a2dee841b430340684587377c_activity.pkl differ diff --git a/backend/instance/sessions/0bc278a7a8eb1dcd788c552b90c057f2_activity.pkl b/backend/instance/sessions/0bc278a7a8eb1dcd788c552b90c057f2_activity.pkl new file mode 100644 index 000000000..7cad4da8b Binary files /dev/null and b/backend/instance/sessions/0bc278a7a8eb1dcd788c552b90c057f2_activity.pkl differ diff --git a/backend/instance/sessions/0bd5124130f8389affc863cec4f356fb_activity.pkl b/backend/instance/sessions/0bd5124130f8389affc863cec4f356fb_activity.pkl new file mode 100644 index 000000000..cb71978e4 Binary files /dev/null and b/backend/instance/sessions/0bd5124130f8389affc863cec4f356fb_activity.pkl differ diff --git a/backend/instance/sessions/0bf88acff8183957fc2ca670affc3d45_activity.pkl b/backend/instance/sessions/0bf88acff8183957fc2ca670affc3d45_activity.pkl new file mode 100644 index 000000000..4d09cc4cf Binary files /dev/null and b/backend/instance/sessions/0bf88acff8183957fc2ca670affc3d45_activity.pkl differ diff --git a/backend/instance/sessions/0c9fef01268f50cc52aeabdfe8492991_activity.pkl b/backend/instance/sessions/0c9fef01268f50cc52aeabdfe8492991_activity.pkl new file mode 100644 index 000000000..ae795f2b3 Binary files /dev/null and b/backend/instance/sessions/0c9fef01268f50cc52aeabdfe8492991_activity.pkl differ diff --git a/backend/instance/sessions/0cacac01b7f7a0578e2faf20b751e836_activity.pkl b/backend/instance/sessions/0cacac01b7f7a0578e2faf20b751e836_activity.pkl new file mode 100644 index 000000000..ffb6b4e8e Binary files /dev/null and b/backend/instance/sessions/0cacac01b7f7a0578e2faf20b751e836_activity.pkl differ diff --git a/backend/instance/sessions/0cc1d3c5855123a04fbb3b53f9560285_activity.pkl b/backend/instance/sessions/0cc1d3c5855123a04fbb3b53f9560285_activity.pkl new file mode 100644 index 000000000..3b617a44c Binary files /dev/null and b/backend/instance/sessions/0cc1d3c5855123a04fbb3b53f9560285_activity.pkl differ diff --git a/backend/instance/sessions/0d12393ffb2fe59902b1356eaa9d7cd9_activity.pkl b/backend/instance/sessions/0d12393ffb2fe59902b1356eaa9d7cd9_activity.pkl new file mode 100644 index 000000000..dd2ff6a30 Binary files /dev/null and b/backend/instance/sessions/0d12393ffb2fe59902b1356eaa9d7cd9_activity.pkl differ diff --git a/backend/instance/sessions/0e1a4018948bc1cef45643df33361cf6_activity.pkl b/backend/instance/sessions/0e1a4018948bc1cef45643df33361cf6_activity.pkl new file mode 100644 index 000000000..30a6ccac7 Binary files /dev/null and b/backend/instance/sessions/0e1a4018948bc1cef45643df33361cf6_activity.pkl differ diff --git a/backend/instance/sessions/0e6bbd1ae3198da116420a139341ba4f_activity.pkl b/backend/instance/sessions/0e6bbd1ae3198da116420a139341ba4f_activity.pkl new file mode 100644 index 000000000..75b6176d2 Binary files /dev/null and b/backend/instance/sessions/0e6bbd1ae3198da116420a139341ba4f_activity.pkl differ diff --git a/backend/instance/sessions/0ec728245f27345869703da23e681c38_activity.pkl b/backend/instance/sessions/0ec728245f27345869703da23e681c38_activity.pkl new file mode 100644 index 000000000..77d6ed793 Binary files /dev/null and b/backend/instance/sessions/0ec728245f27345869703da23e681c38_activity.pkl differ diff --git a/backend/instance/sessions/0fe442b486ef5cb2b925651631a10ba9_activity.pkl b/backend/instance/sessions/0fe442b486ef5cb2b925651631a10ba9_activity.pkl new file mode 100644 index 000000000..2d9c3c94e Binary files /dev/null and b/backend/instance/sessions/0fe442b486ef5cb2b925651631a10ba9_activity.pkl differ diff --git a/backend/instance/sessions/1044b4ca1c2c405aa69baa40042fc156_activity.pkl b/backend/instance/sessions/1044b4ca1c2c405aa69baa40042fc156_activity.pkl new file mode 100644 index 000000000..572faaffc Binary files /dev/null and b/backend/instance/sessions/1044b4ca1c2c405aa69baa40042fc156_activity.pkl differ diff --git a/backend/instance/sessions/106d6470e242c39f210eaa5c8c17883a_activity.pkl b/backend/instance/sessions/106d6470e242c39f210eaa5c8c17883a_activity.pkl new file mode 100644 index 000000000..0f5aba7de Binary files /dev/null and b/backend/instance/sessions/106d6470e242c39f210eaa5c8c17883a_activity.pkl differ diff --git a/backend/instance/sessions/109098c86122d541d8b6cdce7d3d8ea9_activity.pkl b/backend/instance/sessions/109098c86122d541d8b6cdce7d3d8ea9_activity.pkl new file mode 100644 index 000000000..cdf4370a0 Binary files /dev/null and b/backend/instance/sessions/109098c86122d541d8b6cdce7d3d8ea9_activity.pkl differ diff --git a/backend/instance/sessions/10b690f45248517d8fc13347d2cfd943_activity.pkl b/backend/instance/sessions/10b690f45248517d8fc13347d2cfd943_activity.pkl new file mode 100644 index 000000000..933888628 Binary files /dev/null and b/backend/instance/sessions/10b690f45248517d8fc13347d2cfd943_activity.pkl differ diff --git a/backend/instance/sessions/10c6e8cedf2cfbc88f77dec948107f94_activity.pkl b/backend/instance/sessions/10c6e8cedf2cfbc88f77dec948107f94_activity.pkl new file mode 100644 index 000000000..49aeea27e Binary files /dev/null and b/backend/instance/sessions/10c6e8cedf2cfbc88f77dec948107f94_activity.pkl differ diff --git a/backend/instance/sessions/110fe07583e2aeffd45b507bf29b7396_activity.pkl b/backend/instance/sessions/110fe07583e2aeffd45b507bf29b7396_activity.pkl new file mode 100644 index 000000000..a9da4c606 Binary files /dev/null and b/backend/instance/sessions/110fe07583e2aeffd45b507bf29b7396_activity.pkl differ diff --git a/backend/instance/sessions/1114bd7f21ba161ec2e4a0cd54aa2e44_activity.pkl b/backend/instance/sessions/1114bd7f21ba161ec2e4a0cd54aa2e44_activity.pkl new file mode 100644 index 000000000..ebedea4d1 Binary files /dev/null and b/backend/instance/sessions/1114bd7f21ba161ec2e4a0cd54aa2e44_activity.pkl differ diff --git a/backend/instance/sessions/1115a29d90cfcf5a4818e42a36217967_activity.pkl b/backend/instance/sessions/1115a29d90cfcf5a4818e42a36217967_activity.pkl new file mode 100644 index 000000000..3fd6c88af Binary files /dev/null and b/backend/instance/sessions/1115a29d90cfcf5a4818e42a36217967_activity.pkl differ diff --git a/backend/instance/sessions/119f9f8b0cfc7777b2144142ed80e9b9_activity.pkl b/backend/instance/sessions/119f9f8b0cfc7777b2144142ed80e9b9_activity.pkl new file mode 100644 index 000000000..1795cca28 Binary files /dev/null and b/backend/instance/sessions/119f9f8b0cfc7777b2144142ed80e9b9_activity.pkl differ diff --git a/backend/instance/sessions/1204c1c47dce4e3817ed1a3a380e0207_activity.pkl b/backend/instance/sessions/1204c1c47dce4e3817ed1a3a380e0207_activity.pkl new file mode 100644 index 000000000..785068c8a Binary files /dev/null and b/backend/instance/sessions/1204c1c47dce4e3817ed1a3a380e0207_activity.pkl differ diff --git a/backend/instance/sessions/120df565743a50d7b09c84edc6570b44_activity.pkl b/backend/instance/sessions/120df565743a50d7b09c84edc6570b44_activity.pkl new file mode 100644 index 000000000..639c164d6 Binary files /dev/null and b/backend/instance/sessions/120df565743a50d7b09c84edc6570b44_activity.pkl differ diff --git a/backend/instance/sessions/122bc110b280aedf79ad4beeb85fa899_activity.pkl b/backend/instance/sessions/122bc110b280aedf79ad4beeb85fa899_activity.pkl new file mode 100644 index 000000000..65e72c8f0 Binary files /dev/null and b/backend/instance/sessions/122bc110b280aedf79ad4beeb85fa899_activity.pkl differ diff --git a/backend/instance/sessions/1233b038d18002ae44a7828e7ed91ad7_activity.pkl b/backend/instance/sessions/1233b038d18002ae44a7828e7ed91ad7_activity.pkl new file mode 100644 index 000000000..1233c1fb4 Binary files /dev/null and b/backend/instance/sessions/1233b038d18002ae44a7828e7ed91ad7_activity.pkl differ diff --git a/backend/instance/sessions/12384cae8bbcab4aef27fd5fbb0ee9ac_activity.pkl b/backend/instance/sessions/12384cae8bbcab4aef27fd5fbb0ee9ac_activity.pkl new file mode 100644 index 000000000..0a8c37403 Binary files /dev/null and b/backend/instance/sessions/12384cae8bbcab4aef27fd5fbb0ee9ac_activity.pkl differ diff --git a/backend/instance/sessions/12dbcde3f37d25318b4051325d88d3fd_activity.pkl b/backend/instance/sessions/12dbcde3f37d25318b4051325d88d3fd_activity.pkl new file mode 100644 index 000000000..472fa0bd0 Binary files /dev/null and b/backend/instance/sessions/12dbcde3f37d25318b4051325d88d3fd_activity.pkl differ diff --git a/backend/instance/sessions/12de47eb980fa3f323ab37e56bc22ce6_activity.pkl b/backend/instance/sessions/12de47eb980fa3f323ab37e56bc22ce6_activity.pkl new file mode 100644 index 000000000..9efbd90af Binary files /dev/null and b/backend/instance/sessions/12de47eb980fa3f323ab37e56bc22ce6_activity.pkl differ diff --git a/backend/instance/sessions/12e69effd6e3e8976123ce8928c0efda_activity.pkl b/backend/instance/sessions/12e69effd6e3e8976123ce8928c0efda_activity.pkl new file mode 100644 index 000000000..8e0ac13ba Binary files /dev/null and b/backend/instance/sessions/12e69effd6e3e8976123ce8928c0efda_activity.pkl differ diff --git a/backend/instance/sessions/13999b8507b6fb0e2a34cf0f5a8fbc46_activity.pkl b/backend/instance/sessions/13999b8507b6fb0e2a34cf0f5a8fbc46_activity.pkl new file mode 100644 index 000000000..2463d9ff0 Binary files /dev/null and b/backend/instance/sessions/13999b8507b6fb0e2a34cf0f5a8fbc46_activity.pkl differ diff --git a/backend/instance/sessions/13d8ee4ac00325bbaa6b758a7eda71be_activity.pkl b/backend/instance/sessions/13d8ee4ac00325bbaa6b758a7eda71be_activity.pkl new file mode 100644 index 000000000..4bb32c1fa Binary files /dev/null and b/backend/instance/sessions/13d8ee4ac00325bbaa6b758a7eda71be_activity.pkl differ diff --git a/backend/instance/sessions/1427af4036d952d2fa5ce587cd7509be_activity.pkl b/backend/instance/sessions/1427af4036d952d2fa5ce587cd7509be_activity.pkl new file mode 100644 index 000000000..4f2a9d2c4 Binary files /dev/null and b/backend/instance/sessions/1427af4036d952d2fa5ce587cd7509be_activity.pkl differ diff --git a/backend/instance/sessions/1436bf84a0561e38fdaec9845f16c1bc_activity.pkl b/backend/instance/sessions/1436bf84a0561e38fdaec9845f16c1bc_activity.pkl new file mode 100644 index 000000000..78585cd8e Binary files /dev/null and b/backend/instance/sessions/1436bf84a0561e38fdaec9845f16c1bc_activity.pkl differ diff --git a/backend/instance/sessions/15433c47ffdba1712bb2cf25fa17687c_activity.pkl b/backend/instance/sessions/15433c47ffdba1712bb2cf25fa17687c_activity.pkl new file mode 100644 index 000000000..bcf3c8469 Binary files /dev/null and b/backend/instance/sessions/15433c47ffdba1712bb2cf25fa17687c_activity.pkl differ diff --git a/backend/instance/sessions/15c55e15830360558dc20b205b98d4b1_activity.pkl b/backend/instance/sessions/15c55e15830360558dc20b205b98d4b1_activity.pkl new file mode 100644 index 000000000..9e2663446 Binary files /dev/null and b/backend/instance/sessions/15c55e15830360558dc20b205b98d4b1_activity.pkl differ diff --git a/backend/instance/sessions/1641586bef2838f3016910ffe3af2c10_activity.pkl b/backend/instance/sessions/1641586bef2838f3016910ffe3af2c10_activity.pkl new file mode 100644 index 000000000..e4b9e8291 Binary files /dev/null and b/backend/instance/sessions/1641586bef2838f3016910ffe3af2c10_activity.pkl differ diff --git a/backend/instance/sessions/1674b0aedbffb6ec94d3a9036d576a9c_activity.pkl b/backend/instance/sessions/1674b0aedbffb6ec94d3a9036d576a9c_activity.pkl new file mode 100644 index 000000000..614063db4 Binary files /dev/null and b/backend/instance/sessions/1674b0aedbffb6ec94d3a9036d576a9c_activity.pkl differ diff --git a/backend/instance/sessions/167b8ff5caf7f65e494580c79013f8e6_activity.pkl b/backend/instance/sessions/167b8ff5caf7f65e494580c79013f8e6_activity.pkl new file mode 100644 index 000000000..d384647a5 Binary files /dev/null and b/backend/instance/sessions/167b8ff5caf7f65e494580c79013f8e6_activity.pkl differ diff --git a/backend/instance/sessions/16d74b16d881c0ebd1ed35b26bd4fde8_activity.pkl b/backend/instance/sessions/16d74b16d881c0ebd1ed35b26bd4fde8_activity.pkl new file mode 100644 index 000000000..dc9e2602e Binary files /dev/null and b/backend/instance/sessions/16d74b16d881c0ebd1ed35b26bd4fde8_activity.pkl differ diff --git a/backend/instance/sessions/17349fd762b82357c78d6d27cfece6bd_activity.pkl b/backend/instance/sessions/17349fd762b82357c78d6d27cfece6bd_activity.pkl new file mode 100644 index 000000000..0e30d478c Binary files /dev/null and b/backend/instance/sessions/17349fd762b82357c78d6d27cfece6bd_activity.pkl differ diff --git a/backend/instance/sessions/17a587762bfd2b11c010590e19cf8158_activity.pkl b/backend/instance/sessions/17a587762bfd2b11c010590e19cf8158_activity.pkl new file mode 100644 index 000000000..6d4c7712a Binary files /dev/null and b/backend/instance/sessions/17a587762bfd2b11c010590e19cf8158_activity.pkl differ diff --git a/backend/instance/sessions/17b32b13de64321d4e0174c42c18815a_activity.pkl b/backend/instance/sessions/17b32b13de64321d4e0174c42c18815a_activity.pkl new file mode 100644 index 000000000..8085b193d Binary files /dev/null and b/backend/instance/sessions/17b32b13de64321d4e0174c42c18815a_activity.pkl differ diff --git a/backend/instance/sessions/17d24afe9ed3f0ecc78b43ed1323e213_activity.pkl b/backend/instance/sessions/17d24afe9ed3f0ecc78b43ed1323e213_activity.pkl new file mode 100644 index 000000000..80f4f7c47 Binary files /dev/null and b/backend/instance/sessions/17d24afe9ed3f0ecc78b43ed1323e213_activity.pkl differ diff --git a/backend/instance/sessions/17f0aaaad13f08eaf120f913dc3c3edb_activity.pkl b/backend/instance/sessions/17f0aaaad13f08eaf120f913dc3c3edb_activity.pkl new file mode 100644 index 000000000..9e9703bd9 Binary files /dev/null and b/backend/instance/sessions/17f0aaaad13f08eaf120f913dc3c3edb_activity.pkl differ diff --git a/backend/instance/sessions/18ada5cfdb849ed0f950166385bab285_activity.pkl b/backend/instance/sessions/18ada5cfdb849ed0f950166385bab285_activity.pkl new file mode 100644 index 000000000..c1abd09c0 Binary files /dev/null and b/backend/instance/sessions/18ada5cfdb849ed0f950166385bab285_activity.pkl differ diff --git a/backend/instance/sessions/18b9519a5a9a64cf4069aca7ddfa95f9_activity.pkl b/backend/instance/sessions/18b9519a5a9a64cf4069aca7ddfa95f9_activity.pkl new file mode 100644 index 000000000..a3d037178 Binary files /dev/null and b/backend/instance/sessions/18b9519a5a9a64cf4069aca7ddfa95f9_activity.pkl differ diff --git a/backend/instance/sessions/18bd4f20cfd079d3c5c05c0bf5212660_activity.pkl b/backend/instance/sessions/18bd4f20cfd079d3c5c05c0bf5212660_activity.pkl new file mode 100644 index 000000000..fd571fe07 Binary files /dev/null and b/backend/instance/sessions/18bd4f20cfd079d3c5c05c0bf5212660_activity.pkl differ diff --git a/backend/instance/sessions/18ecf2e7b3557b7e4bb3430041b71580_activity.pkl b/backend/instance/sessions/18ecf2e7b3557b7e4bb3430041b71580_activity.pkl new file mode 100644 index 000000000..4dac6e43c Binary files /dev/null and b/backend/instance/sessions/18ecf2e7b3557b7e4bb3430041b71580_activity.pkl differ diff --git a/backend/instance/sessions/19909ef227e47fc2dffb6cf97bc96877_activity.pkl b/backend/instance/sessions/19909ef227e47fc2dffb6cf97bc96877_activity.pkl new file mode 100644 index 000000000..7660a44e0 Binary files /dev/null and b/backend/instance/sessions/19909ef227e47fc2dffb6cf97bc96877_activity.pkl differ diff --git a/backend/instance/sessions/1997c648d6230c9d48ab3fb4e4bd1cea_activity.pkl b/backend/instance/sessions/1997c648d6230c9d48ab3fb4e4bd1cea_activity.pkl new file mode 100644 index 000000000..3ec69d8d0 Binary files /dev/null and b/backend/instance/sessions/1997c648d6230c9d48ab3fb4e4bd1cea_activity.pkl differ diff --git a/backend/instance/sessions/19c2c7e3056fdcf59d2a8eb6dd5e5f91_activity.pkl b/backend/instance/sessions/19c2c7e3056fdcf59d2a8eb6dd5e5f91_activity.pkl new file mode 100644 index 000000000..70cbbcead Binary files /dev/null and b/backend/instance/sessions/19c2c7e3056fdcf59d2a8eb6dd5e5f91_activity.pkl differ diff --git a/backend/instance/sessions/19e9cb3fe6c92be168401ce43165cd9c_activity.pkl b/backend/instance/sessions/19e9cb3fe6c92be168401ce43165cd9c_activity.pkl new file mode 100644 index 000000000..0aba3375d Binary files /dev/null and b/backend/instance/sessions/19e9cb3fe6c92be168401ce43165cd9c_activity.pkl differ diff --git a/backend/instance/sessions/1a05fedba2ed45ee5cb9353cee32e404_activity.pkl b/backend/instance/sessions/1a05fedba2ed45ee5cb9353cee32e404_activity.pkl new file mode 100644 index 000000000..55799fab4 Binary files /dev/null and b/backend/instance/sessions/1a05fedba2ed45ee5cb9353cee32e404_activity.pkl differ diff --git a/backend/instance/sessions/1a20c8dffaa9bf077769149f016b5f58_activity.pkl b/backend/instance/sessions/1a20c8dffaa9bf077769149f016b5f58_activity.pkl new file mode 100644 index 000000000..781741cda Binary files /dev/null and b/backend/instance/sessions/1a20c8dffaa9bf077769149f016b5f58_activity.pkl differ diff --git a/backend/instance/sessions/1a6f18563149ebd5038df77c6cb75481_activity.pkl b/backend/instance/sessions/1a6f18563149ebd5038df77c6cb75481_activity.pkl new file mode 100644 index 000000000..30e847b7f Binary files /dev/null and b/backend/instance/sessions/1a6f18563149ebd5038df77c6cb75481_activity.pkl differ diff --git a/backend/instance/sessions/1a96a1dc9cabe27a7d3efeabe7be8ce2_activity.pkl b/backend/instance/sessions/1a96a1dc9cabe27a7d3efeabe7be8ce2_activity.pkl new file mode 100644 index 000000000..9bcd93a41 Binary files /dev/null and b/backend/instance/sessions/1a96a1dc9cabe27a7d3efeabe7be8ce2_activity.pkl differ diff --git a/backend/instance/sessions/1adfd223efe641a44b2699694b3587aa_activity.pkl b/backend/instance/sessions/1adfd223efe641a44b2699694b3587aa_activity.pkl new file mode 100644 index 000000000..c09c18fcb Binary files /dev/null and b/backend/instance/sessions/1adfd223efe641a44b2699694b3587aa_activity.pkl differ diff --git a/backend/instance/sessions/1b07422e40882c6afb81d31ebe6ebf03_activity.pkl b/backend/instance/sessions/1b07422e40882c6afb81d31ebe6ebf03_activity.pkl new file mode 100644 index 000000000..3b6059eac Binary files /dev/null and b/backend/instance/sessions/1b07422e40882c6afb81d31ebe6ebf03_activity.pkl differ diff --git a/backend/instance/sessions/1b63f6d7aedbdb452d5b89d58f7cdd00_activity.pkl b/backend/instance/sessions/1b63f6d7aedbdb452d5b89d58f7cdd00_activity.pkl new file mode 100644 index 000000000..6e8d635a4 Binary files /dev/null and b/backend/instance/sessions/1b63f6d7aedbdb452d5b89d58f7cdd00_activity.pkl differ diff --git a/backend/instance/sessions/1b643e229b5089ed7b6bd0df8ff3388d_activity.pkl b/backend/instance/sessions/1b643e229b5089ed7b6bd0df8ff3388d_activity.pkl new file mode 100644 index 000000000..3f1e83264 Binary files /dev/null and b/backend/instance/sessions/1b643e229b5089ed7b6bd0df8ff3388d_activity.pkl differ diff --git a/backend/instance/sessions/1bb697e820a9526ed184bf2e9e6440e0_activity.pkl b/backend/instance/sessions/1bb697e820a9526ed184bf2e9e6440e0_activity.pkl new file mode 100644 index 000000000..8f2fbddcc Binary files /dev/null and b/backend/instance/sessions/1bb697e820a9526ed184bf2e9e6440e0_activity.pkl differ diff --git a/backend/instance/sessions/1c33d18cc464dfe2f08f7742515589ee_activity.pkl b/backend/instance/sessions/1c33d18cc464dfe2f08f7742515589ee_activity.pkl new file mode 100644 index 000000000..0555eace7 Binary files /dev/null and b/backend/instance/sessions/1c33d18cc464dfe2f08f7742515589ee_activity.pkl differ diff --git a/backend/instance/sessions/1c43874a76d02f6f69ff99c905e0cb94_activity.pkl b/backend/instance/sessions/1c43874a76d02f6f69ff99c905e0cb94_activity.pkl new file mode 100644 index 000000000..555bd9684 Binary files /dev/null and b/backend/instance/sessions/1c43874a76d02f6f69ff99c905e0cb94_activity.pkl differ diff --git a/backend/instance/sessions/1d2874a20abe880175d3ae9edc7e2087_activity.pkl b/backend/instance/sessions/1d2874a20abe880175d3ae9edc7e2087_activity.pkl new file mode 100644 index 000000000..54f2c7333 Binary files /dev/null and b/backend/instance/sessions/1d2874a20abe880175d3ae9edc7e2087_activity.pkl differ diff --git a/backend/instance/sessions/1da61c679be46ea9c04e4ef72544cef1_activity.pkl b/backend/instance/sessions/1da61c679be46ea9c04e4ef72544cef1_activity.pkl new file mode 100644 index 000000000..baaa38b77 Binary files /dev/null and b/backend/instance/sessions/1da61c679be46ea9c04e4ef72544cef1_activity.pkl differ diff --git a/backend/instance/sessions/1dde81a5df7adcebcb50ccb1883e1c2b_activity.pkl b/backend/instance/sessions/1dde81a5df7adcebcb50ccb1883e1c2b_activity.pkl new file mode 100644 index 000000000..6afba8e3f Binary files /dev/null and b/backend/instance/sessions/1dde81a5df7adcebcb50ccb1883e1c2b_activity.pkl differ diff --git a/backend/instance/sessions/1e3922acbba483e9e1bc9f3bf0759fe0_activity.pkl b/backend/instance/sessions/1e3922acbba483e9e1bc9f3bf0759fe0_activity.pkl new file mode 100644 index 000000000..5d002cefb Binary files /dev/null and b/backend/instance/sessions/1e3922acbba483e9e1bc9f3bf0759fe0_activity.pkl differ diff --git a/backend/instance/sessions/1fc6dad03595730e3b7596234f37cb3f_activity.pkl b/backend/instance/sessions/1fc6dad03595730e3b7596234f37cb3f_activity.pkl new file mode 100644 index 000000000..631254267 Binary files /dev/null and b/backend/instance/sessions/1fc6dad03595730e3b7596234f37cb3f_activity.pkl differ diff --git a/backend/instance/sessions/1fc843f93ab7b529b98e016df16f4e9d_activity.pkl b/backend/instance/sessions/1fc843f93ab7b529b98e016df16f4e9d_activity.pkl new file mode 100644 index 000000000..d93a00360 Binary files /dev/null and b/backend/instance/sessions/1fc843f93ab7b529b98e016df16f4e9d_activity.pkl differ diff --git a/backend/instance/sessions/1fee7bcf3bd08ff894cb74bbb120b119_activity.pkl b/backend/instance/sessions/1fee7bcf3bd08ff894cb74bbb120b119_activity.pkl new file mode 100644 index 000000000..6b9c1b4fb Binary files /dev/null and b/backend/instance/sessions/1fee7bcf3bd08ff894cb74bbb120b119_activity.pkl differ diff --git a/backend/instance/sessions/2055dddd10f55a0498c92103eb281015_activity.pkl b/backend/instance/sessions/2055dddd10f55a0498c92103eb281015_activity.pkl new file mode 100644 index 000000000..91a744142 Binary files /dev/null and b/backend/instance/sessions/2055dddd10f55a0498c92103eb281015_activity.pkl differ diff --git a/backend/instance/sessions/21203ab21497ed0477feb7766fba03dd_activity.pkl b/backend/instance/sessions/21203ab21497ed0477feb7766fba03dd_activity.pkl new file mode 100644 index 000000000..2f720ed30 Binary files /dev/null and b/backend/instance/sessions/21203ab21497ed0477feb7766fba03dd_activity.pkl differ diff --git a/backend/instance/sessions/213191ecad040b12d12ceb29464c9047_activity.pkl b/backend/instance/sessions/213191ecad040b12d12ceb29464c9047_activity.pkl new file mode 100644 index 000000000..416fe084d Binary files /dev/null and b/backend/instance/sessions/213191ecad040b12d12ceb29464c9047_activity.pkl differ diff --git a/backend/instance/sessions/21772e3aa729e9060c7a96fcb553153a_activity.pkl b/backend/instance/sessions/21772e3aa729e9060c7a96fcb553153a_activity.pkl new file mode 100644 index 000000000..85e9345d3 Binary files /dev/null and b/backend/instance/sessions/21772e3aa729e9060c7a96fcb553153a_activity.pkl differ diff --git a/backend/instance/sessions/21ffb5f407c4ae3cfb050cb0fddc9339_activity.pkl b/backend/instance/sessions/21ffb5f407c4ae3cfb050cb0fddc9339_activity.pkl new file mode 100644 index 000000000..4e1bd61d2 Binary files /dev/null and b/backend/instance/sessions/21ffb5f407c4ae3cfb050cb0fddc9339_activity.pkl differ diff --git a/backend/instance/sessions/223f882910e4f4d90d0a2aadd875fcf8_activity.pkl b/backend/instance/sessions/223f882910e4f4d90d0a2aadd875fcf8_activity.pkl new file mode 100644 index 000000000..a2b114c69 Binary files /dev/null and b/backend/instance/sessions/223f882910e4f4d90d0a2aadd875fcf8_activity.pkl differ diff --git a/backend/instance/sessions/227eb95ee09cb8ca470f9dd0919966bc_activity.pkl b/backend/instance/sessions/227eb95ee09cb8ca470f9dd0919966bc_activity.pkl new file mode 100644 index 000000000..cc30a878d Binary files /dev/null and b/backend/instance/sessions/227eb95ee09cb8ca470f9dd0919966bc_activity.pkl differ diff --git a/backend/instance/sessions/22cf130d6e8ae8d5dbb448eb6ac9c6e2_activity.pkl b/backend/instance/sessions/22cf130d6e8ae8d5dbb448eb6ac9c6e2_activity.pkl new file mode 100644 index 000000000..c0ac732e7 Binary files /dev/null and b/backend/instance/sessions/22cf130d6e8ae8d5dbb448eb6ac9c6e2_activity.pkl differ diff --git a/backend/instance/sessions/23205cc6842282dbfdb6d69bce6efef1_activity.pkl b/backend/instance/sessions/23205cc6842282dbfdb6d69bce6efef1_activity.pkl new file mode 100644 index 000000000..fc5fc1fa5 Binary files /dev/null and b/backend/instance/sessions/23205cc6842282dbfdb6d69bce6efef1_activity.pkl differ diff --git a/backend/instance/sessions/2322c52c8afa5700f9da19de0b961a63_activity.pkl b/backend/instance/sessions/2322c52c8afa5700f9da19de0b961a63_activity.pkl new file mode 100644 index 000000000..4281aeb60 Binary files /dev/null and b/backend/instance/sessions/2322c52c8afa5700f9da19de0b961a63_activity.pkl differ diff --git a/backend/instance/sessions/233970a7f4bb00a8188e294647c9c6ac_activity.pkl b/backend/instance/sessions/233970a7f4bb00a8188e294647c9c6ac_activity.pkl new file mode 100644 index 000000000..0854cd0c0 Binary files /dev/null and b/backend/instance/sessions/233970a7f4bb00a8188e294647c9c6ac_activity.pkl differ diff --git a/backend/instance/sessions/233ab2f46bb4d90d90b6b94a60085fb0_activity.pkl b/backend/instance/sessions/233ab2f46bb4d90d90b6b94a60085fb0_activity.pkl new file mode 100644 index 000000000..ce46b3881 Binary files /dev/null and b/backend/instance/sessions/233ab2f46bb4d90d90b6b94a60085fb0_activity.pkl differ diff --git a/backend/instance/sessions/238ccbc600a484c9a06a43ecf3991f43_activity.pkl b/backend/instance/sessions/238ccbc600a484c9a06a43ecf3991f43_activity.pkl new file mode 100644 index 000000000..bc10a1ac1 Binary files /dev/null and b/backend/instance/sessions/238ccbc600a484c9a06a43ecf3991f43_activity.pkl differ diff --git a/backend/instance/sessions/23e0ceb2602c895137cb3696316e0f4f_activity.pkl b/backend/instance/sessions/23e0ceb2602c895137cb3696316e0f4f_activity.pkl new file mode 100644 index 000000000..6ab50bcca Binary files /dev/null and b/backend/instance/sessions/23e0ceb2602c895137cb3696316e0f4f_activity.pkl differ diff --git a/backend/instance/sessions/246a101b49844abdb23c208c980b7829_activity.pkl b/backend/instance/sessions/246a101b49844abdb23c208c980b7829_activity.pkl new file mode 100644 index 000000000..1901282d5 Binary files /dev/null and b/backend/instance/sessions/246a101b49844abdb23c208c980b7829_activity.pkl differ diff --git a/backend/instance/sessions/24a782815efce908c1169a0eff67a4fd_activity.pkl b/backend/instance/sessions/24a782815efce908c1169a0eff67a4fd_activity.pkl new file mode 100644 index 000000000..9eec4cb19 Binary files /dev/null and b/backend/instance/sessions/24a782815efce908c1169a0eff67a4fd_activity.pkl differ diff --git a/backend/instance/sessions/24a937ae5668f18b2237e4892a9ef717_activity.pkl b/backend/instance/sessions/24a937ae5668f18b2237e4892a9ef717_activity.pkl new file mode 100644 index 000000000..2cea4d20c Binary files /dev/null and b/backend/instance/sessions/24a937ae5668f18b2237e4892a9ef717_activity.pkl differ diff --git a/backend/instance/sessions/24ef4b636ceae04f7be9c36a79594345_activity.pkl b/backend/instance/sessions/24ef4b636ceae04f7be9c36a79594345_activity.pkl new file mode 100644 index 000000000..81329401b Binary files /dev/null and b/backend/instance/sessions/24ef4b636ceae04f7be9c36a79594345_activity.pkl differ diff --git a/backend/instance/sessions/25101f32dac197e99e98b3f073847d0f_activity.pkl b/backend/instance/sessions/25101f32dac197e99e98b3f073847d0f_activity.pkl new file mode 100644 index 000000000..281340e57 Binary files /dev/null and b/backend/instance/sessions/25101f32dac197e99e98b3f073847d0f_activity.pkl differ diff --git a/backend/instance/sessions/2522b1b9d59ea5f9e8aacab8ab9e98c4_activity.pkl b/backend/instance/sessions/2522b1b9d59ea5f9e8aacab8ab9e98c4_activity.pkl new file mode 100644 index 000000000..e5eddd047 Binary files /dev/null and b/backend/instance/sessions/2522b1b9d59ea5f9e8aacab8ab9e98c4_activity.pkl differ diff --git a/backend/instance/sessions/256fae08f7f1d4359e5444f3fef1484f_activity.pkl b/backend/instance/sessions/256fae08f7f1d4359e5444f3fef1484f_activity.pkl new file mode 100644 index 000000000..d04ddb1ac Binary files /dev/null and b/backend/instance/sessions/256fae08f7f1d4359e5444f3fef1484f_activity.pkl differ diff --git a/backend/instance/sessions/258877bb136b8a92f948d26059816ca3_activity.pkl b/backend/instance/sessions/258877bb136b8a92f948d26059816ca3_activity.pkl new file mode 100644 index 000000000..56c986ad2 Binary files /dev/null and b/backend/instance/sessions/258877bb136b8a92f948d26059816ca3_activity.pkl differ diff --git a/backend/instance/sessions/25b1a05842e0714982f2ccac8124b64b_activity.pkl b/backend/instance/sessions/25b1a05842e0714982f2ccac8124b64b_activity.pkl new file mode 100644 index 000000000..832e98acf Binary files /dev/null and b/backend/instance/sessions/25b1a05842e0714982f2ccac8124b64b_activity.pkl differ diff --git a/backend/instance/sessions/26b7344483d865614a4e92df0d58ab43_activity.pkl b/backend/instance/sessions/26b7344483d865614a4e92df0d58ab43_activity.pkl new file mode 100644 index 000000000..10cb19d2e Binary files /dev/null and b/backend/instance/sessions/26b7344483d865614a4e92df0d58ab43_activity.pkl differ diff --git a/backend/instance/sessions/26ef7dd0881d7431d1e95d1852d1b968_activity.pkl b/backend/instance/sessions/26ef7dd0881d7431d1e95d1852d1b968_activity.pkl new file mode 100644 index 000000000..699080f37 Binary files /dev/null and b/backend/instance/sessions/26ef7dd0881d7431d1e95d1852d1b968_activity.pkl differ diff --git a/backend/instance/sessions/270470e59a6370342a67995427aa6662_activity.pkl b/backend/instance/sessions/270470e59a6370342a67995427aa6662_activity.pkl new file mode 100644 index 000000000..cf1242d46 Binary files /dev/null and b/backend/instance/sessions/270470e59a6370342a67995427aa6662_activity.pkl differ diff --git a/backend/instance/sessions/2787819b798a1a1d2e39e4850cf2e38e_activity.pkl b/backend/instance/sessions/2787819b798a1a1d2e39e4850cf2e38e_activity.pkl new file mode 100644 index 000000000..cca511d16 Binary files /dev/null and b/backend/instance/sessions/2787819b798a1a1d2e39e4850cf2e38e_activity.pkl differ diff --git a/backend/instance/sessions/286ff3b36ce6ba07908e0b019a50659f_activity.pkl b/backend/instance/sessions/286ff3b36ce6ba07908e0b019a50659f_activity.pkl new file mode 100644 index 000000000..d3b3336db Binary files /dev/null and b/backend/instance/sessions/286ff3b36ce6ba07908e0b019a50659f_activity.pkl differ diff --git a/backend/instance/sessions/28d2a0718225aba4273688d935649ef7_activity.pkl b/backend/instance/sessions/28d2a0718225aba4273688d935649ef7_activity.pkl new file mode 100644 index 000000000..23a2a74be Binary files /dev/null and b/backend/instance/sessions/28d2a0718225aba4273688d935649ef7_activity.pkl differ diff --git a/backend/instance/sessions/28f7b693610cf222880f6f008a78b4b4_activity.pkl b/backend/instance/sessions/28f7b693610cf222880f6f008a78b4b4_activity.pkl new file mode 100644 index 000000000..496790f2d Binary files /dev/null and b/backend/instance/sessions/28f7b693610cf222880f6f008a78b4b4_activity.pkl differ diff --git a/backend/instance/sessions/294762ed21196fcbd5afe136501bfd26_activity.pkl b/backend/instance/sessions/294762ed21196fcbd5afe136501bfd26_activity.pkl new file mode 100644 index 000000000..768674bd0 Binary files /dev/null and b/backend/instance/sessions/294762ed21196fcbd5afe136501bfd26_activity.pkl differ diff --git a/backend/instance/sessions/295a54bd095c8b518130fc24f27f54e6_activity.pkl b/backend/instance/sessions/295a54bd095c8b518130fc24f27f54e6_activity.pkl new file mode 100644 index 000000000..25cd58958 Binary files /dev/null and b/backend/instance/sessions/295a54bd095c8b518130fc24f27f54e6_activity.pkl differ diff --git a/backend/instance/sessions/29a12dfa0ab6892aa63ed136ea68efce_activity.pkl b/backend/instance/sessions/29a12dfa0ab6892aa63ed136ea68efce_activity.pkl new file mode 100644 index 000000000..38e0d74c6 Binary files /dev/null and b/backend/instance/sessions/29a12dfa0ab6892aa63ed136ea68efce_activity.pkl differ diff --git a/backend/instance/sessions/29aa5e6eef44ad5d4b4edae33a1736f1_activity.pkl b/backend/instance/sessions/29aa5e6eef44ad5d4b4edae33a1736f1_activity.pkl new file mode 100644 index 000000000..cb560233d Binary files /dev/null and b/backend/instance/sessions/29aa5e6eef44ad5d4b4edae33a1736f1_activity.pkl differ diff --git a/backend/instance/sessions/29b1fc5113d8ce6c6df13f54c73b49fc_activity.pkl b/backend/instance/sessions/29b1fc5113d8ce6c6df13f54c73b49fc_activity.pkl new file mode 100644 index 000000000..f07d59fd5 Binary files /dev/null and b/backend/instance/sessions/29b1fc5113d8ce6c6df13f54c73b49fc_activity.pkl differ diff --git a/backend/instance/sessions/29b49336c9d161255d9f1d433a3ad268_activity.pkl b/backend/instance/sessions/29b49336c9d161255d9f1d433a3ad268_activity.pkl new file mode 100644 index 000000000..28f718ba9 Binary files /dev/null and b/backend/instance/sessions/29b49336c9d161255d9f1d433a3ad268_activity.pkl differ diff --git a/backend/instance/sessions/29ba6f00367d8c601d7d24ca86085fb3_activity.pkl b/backend/instance/sessions/29ba6f00367d8c601d7d24ca86085fb3_activity.pkl new file mode 100644 index 000000000..e032c8054 Binary files /dev/null and b/backend/instance/sessions/29ba6f00367d8c601d7d24ca86085fb3_activity.pkl differ diff --git a/backend/instance/sessions/29e8808303a3fa8600e92b57b4bd8a12_activity.pkl b/backend/instance/sessions/29e8808303a3fa8600e92b57b4bd8a12_activity.pkl new file mode 100644 index 000000000..8fc431d24 Binary files /dev/null and b/backend/instance/sessions/29e8808303a3fa8600e92b57b4bd8a12_activity.pkl differ diff --git a/backend/instance/sessions/29ea12a4b4ff6d0f918d4a794c654600_activity.pkl b/backend/instance/sessions/29ea12a4b4ff6d0f918d4a794c654600_activity.pkl new file mode 100644 index 000000000..140b9ec9d Binary files /dev/null and b/backend/instance/sessions/29ea12a4b4ff6d0f918d4a794c654600_activity.pkl differ diff --git a/backend/instance/sessions/2a960783731bdcf1dba139d5c62fafda_activity.pkl b/backend/instance/sessions/2a960783731bdcf1dba139d5c62fafda_activity.pkl new file mode 100644 index 000000000..e7c60f3ca Binary files /dev/null and b/backend/instance/sessions/2a960783731bdcf1dba139d5c62fafda_activity.pkl differ diff --git a/backend/instance/sessions/2aa2198210790177484b99750cce6e44_activity.pkl b/backend/instance/sessions/2aa2198210790177484b99750cce6e44_activity.pkl new file mode 100644 index 000000000..2bd320eb7 Binary files /dev/null and b/backend/instance/sessions/2aa2198210790177484b99750cce6e44_activity.pkl differ diff --git a/backend/instance/sessions/2adb01681c9e6bfdea4db65fe3d47177_activity.pkl b/backend/instance/sessions/2adb01681c9e6bfdea4db65fe3d47177_activity.pkl new file mode 100644 index 000000000..4979e09fc Binary files /dev/null and b/backend/instance/sessions/2adb01681c9e6bfdea4db65fe3d47177_activity.pkl differ diff --git a/backend/instance/sessions/2b14bba6dce1de60634564124e49f94e_activity.pkl b/backend/instance/sessions/2b14bba6dce1de60634564124e49f94e_activity.pkl new file mode 100644 index 000000000..86d4688e2 Binary files /dev/null and b/backend/instance/sessions/2b14bba6dce1de60634564124e49f94e_activity.pkl differ diff --git a/backend/instance/sessions/2b17a33f3669b8ab0063fdeef3f378ee_activity.pkl b/backend/instance/sessions/2b17a33f3669b8ab0063fdeef3f378ee_activity.pkl new file mode 100644 index 000000000..a895b09ad Binary files /dev/null and b/backend/instance/sessions/2b17a33f3669b8ab0063fdeef3f378ee_activity.pkl differ diff --git a/backend/instance/sessions/2bb12f5ff1d83c275fe49657aeae4603_activity.pkl b/backend/instance/sessions/2bb12f5ff1d83c275fe49657aeae4603_activity.pkl new file mode 100644 index 000000000..a06b41c87 Binary files /dev/null and b/backend/instance/sessions/2bb12f5ff1d83c275fe49657aeae4603_activity.pkl differ diff --git a/backend/instance/sessions/2bb5d8d8a0fe67e3716cf2f7f2e06ddd_activity.pkl b/backend/instance/sessions/2bb5d8d8a0fe67e3716cf2f7f2e06ddd_activity.pkl new file mode 100644 index 000000000..18309beb7 Binary files /dev/null and b/backend/instance/sessions/2bb5d8d8a0fe67e3716cf2f7f2e06ddd_activity.pkl differ diff --git a/backend/instance/sessions/2c4c5da6d01a762dbaba05164d9fd786_activity.pkl b/backend/instance/sessions/2c4c5da6d01a762dbaba05164d9fd786_activity.pkl new file mode 100644 index 000000000..edffdefb9 Binary files /dev/null and b/backend/instance/sessions/2c4c5da6d01a762dbaba05164d9fd786_activity.pkl differ diff --git a/backend/instance/sessions/2c5fed6341daaa81fbf6fa7dfdc55417_activity.pkl b/backend/instance/sessions/2c5fed6341daaa81fbf6fa7dfdc55417_activity.pkl new file mode 100644 index 000000000..9b9afb16a Binary files /dev/null and b/backend/instance/sessions/2c5fed6341daaa81fbf6fa7dfdc55417_activity.pkl differ diff --git a/backend/instance/sessions/2c84aa3ba00ae86707de6f1719e720ac_activity.pkl b/backend/instance/sessions/2c84aa3ba00ae86707de6f1719e720ac_activity.pkl new file mode 100644 index 000000000..b21fba00e Binary files /dev/null and b/backend/instance/sessions/2c84aa3ba00ae86707de6f1719e720ac_activity.pkl differ diff --git a/backend/instance/sessions/2d0245ee18e0bceacef5d09a3412e239_activity.pkl b/backend/instance/sessions/2d0245ee18e0bceacef5d09a3412e239_activity.pkl new file mode 100644 index 000000000..bb9833370 Binary files /dev/null and b/backend/instance/sessions/2d0245ee18e0bceacef5d09a3412e239_activity.pkl differ diff --git a/backend/instance/sessions/2da0512acd95bfc65caadd6d927478f2_activity.pkl b/backend/instance/sessions/2da0512acd95bfc65caadd6d927478f2_activity.pkl new file mode 100644 index 000000000..ec8f1f8a5 Binary files /dev/null and b/backend/instance/sessions/2da0512acd95bfc65caadd6d927478f2_activity.pkl differ diff --git a/backend/instance/sessions/2db4b7bd61a31c0d0db0b61250058430_activity.pkl b/backend/instance/sessions/2db4b7bd61a31c0d0db0b61250058430_activity.pkl new file mode 100644 index 000000000..92666b84e Binary files /dev/null and b/backend/instance/sessions/2db4b7bd61a31c0d0db0b61250058430_activity.pkl differ diff --git a/backend/instance/sessions/2df9a18850eb83cd966f6461714a41e6_activity.pkl b/backend/instance/sessions/2df9a18850eb83cd966f6461714a41e6_activity.pkl new file mode 100644 index 000000000..a699680cf Binary files /dev/null and b/backend/instance/sessions/2df9a18850eb83cd966f6461714a41e6_activity.pkl differ diff --git a/backend/instance/sessions/2e7e1f40e728d056cd05c40096ec498e_activity.pkl b/backend/instance/sessions/2e7e1f40e728d056cd05c40096ec498e_activity.pkl new file mode 100644 index 000000000..f259c804e Binary files /dev/null and b/backend/instance/sessions/2e7e1f40e728d056cd05c40096ec498e_activity.pkl differ diff --git a/backend/instance/sessions/2ecc0951df938f02dac577853c9ece73_activity.pkl b/backend/instance/sessions/2ecc0951df938f02dac577853c9ece73_activity.pkl new file mode 100644 index 000000000..d5d4c12d8 Binary files /dev/null and b/backend/instance/sessions/2ecc0951df938f02dac577853c9ece73_activity.pkl differ diff --git a/backend/instance/sessions/2efc89353fff242a08c869366865a052_activity.pkl b/backend/instance/sessions/2efc89353fff242a08c869366865a052_activity.pkl new file mode 100644 index 000000000..a5c8dc344 Binary files /dev/null and b/backend/instance/sessions/2efc89353fff242a08c869366865a052_activity.pkl differ diff --git a/backend/instance/sessions/2f27e711d11e2c4915238023c58ad7c2_activity.pkl b/backend/instance/sessions/2f27e711d11e2c4915238023c58ad7c2_activity.pkl new file mode 100644 index 000000000..ae6962fd3 Binary files /dev/null and b/backend/instance/sessions/2f27e711d11e2c4915238023c58ad7c2_activity.pkl differ diff --git a/backend/instance/sessions/2ffc3ace2d42aad410b44bd648d01539_activity.pkl b/backend/instance/sessions/2ffc3ace2d42aad410b44bd648d01539_activity.pkl new file mode 100644 index 000000000..dc7d922fc Binary files /dev/null and b/backend/instance/sessions/2ffc3ace2d42aad410b44bd648d01539_activity.pkl differ diff --git a/backend/instance/sessions/3024d5271b627674b6dff0c786e42d66_activity.pkl b/backend/instance/sessions/3024d5271b627674b6dff0c786e42d66_activity.pkl new file mode 100644 index 000000000..82f5ab21c Binary files /dev/null and b/backend/instance/sessions/3024d5271b627674b6dff0c786e42d66_activity.pkl differ diff --git a/backend/instance/sessions/3073056ee220fa8afdeba4e83233f4ae_activity.pkl b/backend/instance/sessions/3073056ee220fa8afdeba4e83233f4ae_activity.pkl new file mode 100644 index 000000000..39259c025 Binary files /dev/null and b/backend/instance/sessions/3073056ee220fa8afdeba4e83233f4ae_activity.pkl differ diff --git a/backend/instance/sessions/30c425b8972d06a8df379f1c4a762da0_activity.pkl b/backend/instance/sessions/30c425b8972d06a8df379f1c4a762da0_activity.pkl new file mode 100644 index 000000000..ff4bdada6 Binary files /dev/null and b/backend/instance/sessions/30c425b8972d06a8df379f1c4a762da0_activity.pkl differ diff --git a/backend/instance/sessions/314c5872de27900fe8e7927363add0ed_activity.pkl b/backend/instance/sessions/314c5872de27900fe8e7927363add0ed_activity.pkl new file mode 100644 index 000000000..804f98758 Binary files /dev/null and b/backend/instance/sessions/314c5872de27900fe8e7927363add0ed_activity.pkl differ diff --git a/backend/instance/sessions/32e6eb22b7e43b759fc059eca7d07691_activity.pkl b/backend/instance/sessions/32e6eb22b7e43b759fc059eca7d07691_activity.pkl new file mode 100644 index 000000000..01c9b9329 Binary files /dev/null and b/backend/instance/sessions/32e6eb22b7e43b759fc059eca7d07691_activity.pkl differ diff --git a/backend/instance/sessions/330cf575d5d402289f74ff80281b1538_activity.pkl b/backend/instance/sessions/330cf575d5d402289f74ff80281b1538_activity.pkl new file mode 100644 index 000000000..4de79d7dc Binary files /dev/null and b/backend/instance/sessions/330cf575d5d402289f74ff80281b1538_activity.pkl differ diff --git a/backend/instance/sessions/33c273cd5bb1fc74c7fc3914530a28eb_activity.pkl b/backend/instance/sessions/33c273cd5bb1fc74c7fc3914530a28eb_activity.pkl new file mode 100644 index 000000000..7127327d7 Binary files /dev/null and b/backend/instance/sessions/33c273cd5bb1fc74c7fc3914530a28eb_activity.pkl differ diff --git a/backend/instance/sessions/33cfcd531726e8fc7294c452780df91a_activity.pkl b/backend/instance/sessions/33cfcd531726e8fc7294c452780df91a_activity.pkl new file mode 100644 index 000000000..d3d418d4f Binary files /dev/null and b/backend/instance/sessions/33cfcd531726e8fc7294c452780df91a_activity.pkl differ diff --git a/backend/instance/sessions/33d5bd9378406ba42af363282f951a62_activity.pkl b/backend/instance/sessions/33d5bd9378406ba42af363282f951a62_activity.pkl new file mode 100644 index 000000000..36b869f1e Binary files /dev/null and b/backend/instance/sessions/33d5bd9378406ba42af363282f951a62_activity.pkl differ diff --git a/backend/instance/sessions/3404b73dd24c71f9e90687a9b8033bc5_activity.pkl b/backend/instance/sessions/3404b73dd24c71f9e90687a9b8033bc5_activity.pkl new file mode 100644 index 000000000..75e80866f Binary files /dev/null and b/backend/instance/sessions/3404b73dd24c71f9e90687a9b8033bc5_activity.pkl differ diff --git a/backend/instance/sessions/34090f74c369804653f7e3831f50bd41_activity.pkl b/backend/instance/sessions/34090f74c369804653f7e3831f50bd41_activity.pkl new file mode 100644 index 000000000..ab694acfe Binary files /dev/null and b/backend/instance/sessions/34090f74c369804653f7e3831f50bd41_activity.pkl differ diff --git a/backend/instance/sessions/3419d9a7b4beb0cda14779f58dd574a3_activity.pkl b/backend/instance/sessions/3419d9a7b4beb0cda14779f58dd574a3_activity.pkl new file mode 100644 index 000000000..5b970246f Binary files /dev/null and b/backend/instance/sessions/3419d9a7b4beb0cda14779f58dd574a3_activity.pkl differ diff --git a/backend/instance/sessions/341c9c292aad2a25569656151a7da48f_activity.pkl b/backend/instance/sessions/341c9c292aad2a25569656151a7da48f_activity.pkl new file mode 100644 index 000000000..7e5767199 Binary files /dev/null and b/backend/instance/sessions/341c9c292aad2a25569656151a7da48f_activity.pkl differ diff --git a/backend/instance/sessions/3421e8be11472da1734433e1c6a45da5_activity.pkl b/backend/instance/sessions/3421e8be11472da1734433e1c6a45da5_activity.pkl new file mode 100644 index 000000000..2f2f75764 Binary files /dev/null and b/backend/instance/sessions/3421e8be11472da1734433e1c6a45da5_activity.pkl differ diff --git a/backend/instance/sessions/343c54a5a156577258093d72fe3ebe05_activity.pkl b/backend/instance/sessions/343c54a5a156577258093d72fe3ebe05_activity.pkl new file mode 100644 index 000000000..6d7d81bbb Binary files /dev/null and b/backend/instance/sessions/343c54a5a156577258093d72fe3ebe05_activity.pkl differ diff --git a/backend/instance/sessions/34624aee25a054d7453a41307356e1f9_activity.pkl b/backend/instance/sessions/34624aee25a054d7453a41307356e1f9_activity.pkl new file mode 100644 index 000000000..46a1b911b Binary files /dev/null and b/backend/instance/sessions/34624aee25a054d7453a41307356e1f9_activity.pkl differ diff --git a/backend/instance/sessions/34edcd957834ac7b962e3a3f408db319_activity.pkl b/backend/instance/sessions/34edcd957834ac7b962e3a3f408db319_activity.pkl new file mode 100644 index 000000000..44b3c8901 Binary files /dev/null and b/backend/instance/sessions/34edcd957834ac7b962e3a3f408db319_activity.pkl differ diff --git a/backend/instance/sessions/34fdfc403c3bcf4c2a56c015679558be_activity.pkl b/backend/instance/sessions/34fdfc403c3bcf4c2a56c015679558be_activity.pkl new file mode 100644 index 000000000..8f1d1f055 Binary files /dev/null and b/backend/instance/sessions/34fdfc403c3bcf4c2a56c015679558be_activity.pkl differ diff --git a/backend/instance/sessions/3503c49f6b9608e3d70885d87e88fc96_activity.pkl b/backend/instance/sessions/3503c49f6b9608e3d70885d87e88fc96_activity.pkl new file mode 100644 index 000000000..7ecb4824b Binary files /dev/null and b/backend/instance/sessions/3503c49f6b9608e3d70885d87e88fc96_activity.pkl differ diff --git a/backend/instance/sessions/35dde584fde12838d50165e512095fdf_activity.pkl b/backend/instance/sessions/35dde584fde12838d50165e512095fdf_activity.pkl new file mode 100644 index 000000000..fad2ef77a Binary files /dev/null and b/backend/instance/sessions/35dde584fde12838d50165e512095fdf_activity.pkl differ diff --git a/backend/instance/sessions/36124941a92ce466969f5195979d3d37_activity.pkl b/backend/instance/sessions/36124941a92ce466969f5195979d3d37_activity.pkl new file mode 100644 index 000000000..a8726237c Binary files /dev/null and b/backend/instance/sessions/36124941a92ce466969f5195979d3d37_activity.pkl differ diff --git a/backend/instance/sessions/3613390e71efd2556de182ea507c2d61_activity.pkl b/backend/instance/sessions/3613390e71efd2556de182ea507c2d61_activity.pkl new file mode 100644 index 000000000..ff142af17 Binary files /dev/null and b/backend/instance/sessions/3613390e71efd2556de182ea507c2d61_activity.pkl differ diff --git a/backend/instance/sessions/3616d52a6eb32c467cc8b710a3afe6bf_activity.pkl b/backend/instance/sessions/3616d52a6eb32c467cc8b710a3afe6bf_activity.pkl new file mode 100644 index 000000000..82ca3d0a4 Binary files /dev/null and b/backend/instance/sessions/3616d52a6eb32c467cc8b710a3afe6bf_activity.pkl differ diff --git a/backend/instance/sessions/361ab7b0342bad0d951a79834c9066a2_activity.pkl b/backend/instance/sessions/361ab7b0342bad0d951a79834c9066a2_activity.pkl new file mode 100644 index 000000000..320414cd5 Binary files /dev/null and b/backend/instance/sessions/361ab7b0342bad0d951a79834c9066a2_activity.pkl differ diff --git a/backend/instance/sessions/364432c90e8eb75db0101a1ebe26bd9f_activity.pkl b/backend/instance/sessions/364432c90e8eb75db0101a1ebe26bd9f_activity.pkl new file mode 100644 index 000000000..aab1bcaa4 Binary files /dev/null and b/backend/instance/sessions/364432c90e8eb75db0101a1ebe26bd9f_activity.pkl differ diff --git a/backend/instance/sessions/370b6e0f4747ca9660a8614fa586eeb7_activity.pkl b/backend/instance/sessions/370b6e0f4747ca9660a8614fa586eeb7_activity.pkl new file mode 100644 index 000000000..2baef0c27 Binary files /dev/null and b/backend/instance/sessions/370b6e0f4747ca9660a8614fa586eeb7_activity.pkl differ diff --git a/backend/instance/sessions/37165ff3222d174157a9e61beb61f507_activity.pkl b/backend/instance/sessions/37165ff3222d174157a9e61beb61f507_activity.pkl new file mode 100644 index 000000000..db8ea49ff Binary files /dev/null and b/backend/instance/sessions/37165ff3222d174157a9e61beb61f507_activity.pkl differ diff --git a/backend/instance/sessions/37314506e32c0d3b6e3a11cb8e7c5e40_activity.pkl b/backend/instance/sessions/37314506e32c0d3b6e3a11cb8e7c5e40_activity.pkl new file mode 100644 index 000000000..68b295503 Binary files /dev/null and b/backend/instance/sessions/37314506e32c0d3b6e3a11cb8e7c5e40_activity.pkl differ diff --git a/backend/instance/sessions/377abea54937a96bd32f92a14c0411ef_activity.pkl b/backend/instance/sessions/377abea54937a96bd32f92a14c0411ef_activity.pkl new file mode 100644 index 000000000..28bdc52e7 Binary files /dev/null and b/backend/instance/sessions/377abea54937a96bd32f92a14c0411ef_activity.pkl differ diff --git a/backend/instance/sessions/3804f073a2ed6b0f3cea3e5b2c951fbb_activity.pkl b/backend/instance/sessions/3804f073a2ed6b0f3cea3e5b2c951fbb_activity.pkl new file mode 100644 index 000000000..57a7d34b3 Binary files /dev/null and b/backend/instance/sessions/3804f073a2ed6b0f3cea3e5b2c951fbb_activity.pkl differ diff --git a/backend/instance/sessions/381292de645633892d66d55b93e9de71_activity.pkl b/backend/instance/sessions/381292de645633892d66d55b93e9de71_activity.pkl new file mode 100644 index 000000000..82dee229f Binary files /dev/null and b/backend/instance/sessions/381292de645633892d66d55b93e9de71_activity.pkl differ diff --git a/backend/instance/sessions/38c5a940bacde00ca1c3260218efd764_activity.pkl b/backend/instance/sessions/38c5a940bacde00ca1c3260218efd764_activity.pkl new file mode 100644 index 000000000..5b7e32830 Binary files /dev/null and b/backend/instance/sessions/38c5a940bacde00ca1c3260218efd764_activity.pkl differ diff --git a/backend/instance/sessions/393374b7ef9ead874211d555724263d8_activity.pkl b/backend/instance/sessions/393374b7ef9ead874211d555724263d8_activity.pkl new file mode 100644 index 000000000..1132244f9 Binary files /dev/null and b/backend/instance/sessions/393374b7ef9ead874211d555724263d8_activity.pkl differ diff --git a/backend/instance/sessions/397090bdea59a03a30c0a10e94823ba5_activity.pkl b/backend/instance/sessions/397090bdea59a03a30c0a10e94823ba5_activity.pkl new file mode 100644 index 000000000..6ce0fc676 Binary files /dev/null and b/backend/instance/sessions/397090bdea59a03a30c0a10e94823ba5_activity.pkl differ diff --git a/backend/instance/sessions/397cd61e613e12d121d4df51c208979e_activity.pkl b/backend/instance/sessions/397cd61e613e12d121d4df51c208979e_activity.pkl new file mode 100644 index 000000000..1c4d6a0a2 Binary files /dev/null and b/backend/instance/sessions/397cd61e613e12d121d4df51c208979e_activity.pkl differ diff --git a/backend/instance/sessions/39a34fa696a255e1bbf812663cec36cb_activity.pkl b/backend/instance/sessions/39a34fa696a255e1bbf812663cec36cb_activity.pkl new file mode 100644 index 000000000..fc8c7a9aa Binary files /dev/null and b/backend/instance/sessions/39a34fa696a255e1bbf812663cec36cb_activity.pkl differ diff --git a/backend/instance/sessions/3a0abd34c0b80b9a9d018cfc61f25bfb_activity.pkl b/backend/instance/sessions/3a0abd34c0b80b9a9d018cfc61f25bfb_activity.pkl new file mode 100644 index 000000000..389117736 Binary files /dev/null and b/backend/instance/sessions/3a0abd34c0b80b9a9d018cfc61f25bfb_activity.pkl differ diff --git a/backend/instance/sessions/3aef544b2bf14adb0706d1d397585a08_activity.pkl b/backend/instance/sessions/3aef544b2bf14adb0706d1d397585a08_activity.pkl new file mode 100644 index 000000000..ecaa55a84 Binary files /dev/null and b/backend/instance/sessions/3aef544b2bf14adb0706d1d397585a08_activity.pkl differ diff --git a/backend/instance/sessions/3c32ca78e7b7b2aacff70415e3699f88_activity.pkl b/backend/instance/sessions/3c32ca78e7b7b2aacff70415e3699f88_activity.pkl new file mode 100644 index 000000000..e0d077431 Binary files /dev/null and b/backend/instance/sessions/3c32ca78e7b7b2aacff70415e3699f88_activity.pkl differ diff --git a/backend/instance/sessions/3ca008ed0186025fbe5410502b07f95b_activity.pkl b/backend/instance/sessions/3ca008ed0186025fbe5410502b07f95b_activity.pkl new file mode 100644 index 000000000..5ddd97236 Binary files /dev/null and b/backend/instance/sessions/3ca008ed0186025fbe5410502b07f95b_activity.pkl differ diff --git a/backend/instance/sessions/3cf3803ba45816d2a6a22ef742a69173_activity.pkl b/backend/instance/sessions/3cf3803ba45816d2a6a22ef742a69173_activity.pkl new file mode 100644 index 000000000..77929e96f Binary files /dev/null and b/backend/instance/sessions/3cf3803ba45816d2a6a22ef742a69173_activity.pkl differ diff --git a/backend/instance/sessions/3d108eef3995111d5252234074a3d8cc_activity.pkl b/backend/instance/sessions/3d108eef3995111d5252234074a3d8cc_activity.pkl new file mode 100644 index 000000000..7fa423425 Binary files /dev/null and b/backend/instance/sessions/3d108eef3995111d5252234074a3d8cc_activity.pkl differ diff --git a/backend/instance/sessions/3d1111f49d3c51b068ff66a0affa7855_activity.pkl b/backend/instance/sessions/3d1111f49d3c51b068ff66a0affa7855_activity.pkl new file mode 100644 index 000000000..6be656ff6 Binary files /dev/null and b/backend/instance/sessions/3d1111f49d3c51b068ff66a0affa7855_activity.pkl differ diff --git a/backend/instance/sessions/3d1798928d58d1911e5da342e36a933a_activity.pkl b/backend/instance/sessions/3d1798928d58d1911e5da342e36a933a_activity.pkl new file mode 100644 index 000000000..9e39e5547 Binary files /dev/null and b/backend/instance/sessions/3d1798928d58d1911e5da342e36a933a_activity.pkl differ diff --git a/backend/instance/sessions/3d92ff74e60264e52838a37c94179b16_activity.pkl b/backend/instance/sessions/3d92ff74e60264e52838a37c94179b16_activity.pkl new file mode 100644 index 000000000..e18660b7b Binary files /dev/null and b/backend/instance/sessions/3d92ff74e60264e52838a37c94179b16_activity.pkl differ diff --git a/backend/instance/sessions/3e39e00faf5f0e5d5d96fd8e24f11c93_activity.pkl b/backend/instance/sessions/3e39e00faf5f0e5d5d96fd8e24f11c93_activity.pkl new file mode 100644 index 000000000..6c2c80c36 Binary files /dev/null and b/backend/instance/sessions/3e39e00faf5f0e5d5d96fd8e24f11c93_activity.pkl differ diff --git a/backend/instance/sessions/3e3a427e6fc96cc5059d9ca9468b09f3_activity.pkl b/backend/instance/sessions/3e3a427e6fc96cc5059d9ca9468b09f3_activity.pkl new file mode 100644 index 000000000..97ca08783 Binary files /dev/null and b/backend/instance/sessions/3e3a427e6fc96cc5059d9ca9468b09f3_activity.pkl differ diff --git a/backend/instance/sessions/3e6d99b9f7771758ef67478ce7e097dc_activity.pkl b/backend/instance/sessions/3e6d99b9f7771758ef67478ce7e097dc_activity.pkl new file mode 100644 index 000000000..c2dbbc978 Binary files /dev/null and b/backend/instance/sessions/3e6d99b9f7771758ef67478ce7e097dc_activity.pkl differ diff --git a/backend/instance/sessions/3eac70f2314d4557b48a842d2354cceb_activity.pkl b/backend/instance/sessions/3eac70f2314d4557b48a842d2354cceb_activity.pkl new file mode 100644 index 000000000..9ed46897e Binary files /dev/null and b/backend/instance/sessions/3eac70f2314d4557b48a842d2354cceb_activity.pkl differ diff --git a/backend/instance/sessions/3eb28c64844e2f2eac0d55de78815003_activity.pkl b/backend/instance/sessions/3eb28c64844e2f2eac0d55de78815003_activity.pkl new file mode 100644 index 000000000..e5d14b084 Binary files /dev/null and b/backend/instance/sessions/3eb28c64844e2f2eac0d55de78815003_activity.pkl differ diff --git a/backend/instance/sessions/3edf2c48792b2eb9da5fb8937f255b48_activity.pkl b/backend/instance/sessions/3edf2c48792b2eb9da5fb8937f255b48_activity.pkl new file mode 100644 index 000000000..c496427da Binary files /dev/null and b/backend/instance/sessions/3edf2c48792b2eb9da5fb8937f255b48_activity.pkl differ diff --git a/backend/instance/sessions/40cf9adc6c63d75318b4869bfff61c0b_activity.pkl b/backend/instance/sessions/40cf9adc6c63d75318b4869bfff61c0b_activity.pkl new file mode 100644 index 000000000..ab54973aa Binary files /dev/null and b/backend/instance/sessions/40cf9adc6c63d75318b4869bfff61c0b_activity.pkl differ diff --git a/backend/instance/sessions/40f217ca3c174577101cb8bc3df39585_activity.pkl b/backend/instance/sessions/40f217ca3c174577101cb8bc3df39585_activity.pkl new file mode 100644 index 000000000..68dda7af8 Binary files /dev/null and b/backend/instance/sessions/40f217ca3c174577101cb8bc3df39585_activity.pkl differ diff --git a/backend/instance/sessions/415919e5009db39b5d771eb5076a47a8_activity.pkl b/backend/instance/sessions/415919e5009db39b5d771eb5076a47a8_activity.pkl new file mode 100644 index 000000000..6de819881 Binary files /dev/null and b/backend/instance/sessions/415919e5009db39b5d771eb5076a47a8_activity.pkl differ diff --git a/backend/instance/sessions/41dddc83f04b9a12e6212a49d059714c_activity.pkl b/backend/instance/sessions/41dddc83f04b9a12e6212a49d059714c_activity.pkl new file mode 100644 index 000000000..e45134a8c Binary files /dev/null and b/backend/instance/sessions/41dddc83f04b9a12e6212a49d059714c_activity.pkl differ diff --git a/backend/instance/sessions/41e32ca34c5e64063a429170b60391a5_activity.pkl b/backend/instance/sessions/41e32ca34c5e64063a429170b60391a5_activity.pkl new file mode 100644 index 000000000..ff2734850 Binary files /dev/null and b/backend/instance/sessions/41e32ca34c5e64063a429170b60391a5_activity.pkl differ diff --git a/backend/instance/sessions/42087cfa85ce41a600c217cc669b6bc5_activity.pkl b/backend/instance/sessions/42087cfa85ce41a600c217cc669b6bc5_activity.pkl new file mode 100644 index 000000000..9878509b9 Binary files /dev/null and b/backend/instance/sessions/42087cfa85ce41a600c217cc669b6bc5_activity.pkl differ diff --git a/backend/instance/sessions/42259b0d805cf329220b41a20cda9299_activity.pkl b/backend/instance/sessions/42259b0d805cf329220b41a20cda9299_activity.pkl new file mode 100644 index 000000000..6ff8c83cd Binary files /dev/null and b/backend/instance/sessions/42259b0d805cf329220b41a20cda9299_activity.pkl differ diff --git a/backend/instance/sessions/422e9496660cb481caebb20e2bae224c_activity.pkl b/backend/instance/sessions/422e9496660cb481caebb20e2bae224c_activity.pkl new file mode 100644 index 000000000..ef5ba1e28 Binary files /dev/null and b/backend/instance/sessions/422e9496660cb481caebb20e2bae224c_activity.pkl differ diff --git a/backend/instance/sessions/4244c3601d2cd90fe43287822b120ad8_activity.pkl b/backend/instance/sessions/4244c3601d2cd90fe43287822b120ad8_activity.pkl new file mode 100644 index 000000000..aa7cb0556 Binary files /dev/null and b/backend/instance/sessions/4244c3601d2cd90fe43287822b120ad8_activity.pkl differ diff --git a/backend/instance/sessions/4271ac3a39536d24efc93e63a23c1977_activity.pkl b/backend/instance/sessions/4271ac3a39536d24efc93e63a23c1977_activity.pkl new file mode 100644 index 000000000..a17f4d62c Binary files /dev/null and b/backend/instance/sessions/4271ac3a39536d24efc93e63a23c1977_activity.pkl differ diff --git a/backend/instance/sessions/4286a57a8d9449b08f0b3a7adafed0d3_activity.pkl b/backend/instance/sessions/4286a57a8d9449b08f0b3a7adafed0d3_activity.pkl new file mode 100644 index 000000000..fd414138a Binary files /dev/null and b/backend/instance/sessions/4286a57a8d9449b08f0b3a7adafed0d3_activity.pkl differ diff --git a/backend/instance/sessions/42cde0e3e01cc5fd86b796488b3dd3ea_activity.pkl b/backend/instance/sessions/42cde0e3e01cc5fd86b796488b3dd3ea_activity.pkl new file mode 100644 index 000000000..c0c94caea Binary files /dev/null and b/backend/instance/sessions/42cde0e3e01cc5fd86b796488b3dd3ea_activity.pkl differ diff --git a/backend/instance/sessions/4303b3ff045194537d4a8d3615011111_activity.pkl b/backend/instance/sessions/4303b3ff045194537d4a8d3615011111_activity.pkl new file mode 100644 index 000000000..9d8b68e95 Binary files /dev/null and b/backend/instance/sessions/4303b3ff045194537d4a8d3615011111_activity.pkl differ diff --git a/backend/instance/sessions/4352cc897be230530d0b99fab4aab493_activity.pkl b/backend/instance/sessions/4352cc897be230530d0b99fab4aab493_activity.pkl new file mode 100644 index 000000000..c5f1082c3 Binary files /dev/null and b/backend/instance/sessions/4352cc897be230530d0b99fab4aab493_activity.pkl differ diff --git a/backend/instance/sessions/4446d843b6688cf74c42ae8d7667b810_activity.pkl b/backend/instance/sessions/4446d843b6688cf74c42ae8d7667b810_activity.pkl new file mode 100644 index 000000000..b9eb87b38 Binary files /dev/null and b/backend/instance/sessions/4446d843b6688cf74c42ae8d7667b810_activity.pkl differ diff --git a/backend/instance/sessions/445f616956b0131bac7db5efd73554d0_activity.pkl b/backend/instance/sessions/445f616956b0131bac7db5efd73554d0_activity.pkl new file mode 100644 index 000000000..037a19b7c Binary files /dev/null and b/backend/instance/sessions/445f616956b0131bac7db5efd73554d0_activity.pkl differ diff --git a/backend/instance/sessions/449a9607ec80ee4fde968f5b7d8fba52_activity.pkl b/backend/instance/sessions/449a9607ec80ee4fde968f5b7d8fba52_activity.pkl new file mode 100644 index 000000000..5a425902b Binary files /dev/null and b/backend/instance/sessions/449a9607ec80ee4fde968f5b7d8fba52_activity.pkl differ diff --git a/backend/instance/sessions/44ac7368766114f04cae1b6b384a38f7_activity.pkl b/backend/instance/sessions/44ac7368766114f04cae1b6b384a38f7_activity.pkl new file mode 100644 index 000000000..c7596451b Binary files /dev/null and b/backend/instance/sessions/44ac7368766114f04cae1b6b384a38f7_activity.pkl differ diff --git a/backend/instance/sessions/44ad016b864e9a90ba29d22c9a25dd1f_activity.pkl b/backend/instance/sessions/44ad016b864e9a90ba29d22c9a25dd1f_activity.pkl new file mode 100644 index 000000000..884d80fd0 Binary files /dev/null and b/backend/instance/sessions/44ad016b864e9a90ba29d22c9a25dd1f_activity.pkl differ diff --git a/backend/instance/sessions/455eb927b793bf12a36845d0e6c9be5e_activity.pkl b/backend/instance/sessions/455eb927b793bf12a36845d0e6c9be5e_activity.pkl new file mode 100644 index 000000000..a68cbaf95 Binary files /dev/null and b/backend/instance/sessions/455eb927b793bf12a36845d0e6c9be5e_activity.pkl differ diff --git a/backend/instance/sessions/458c40131ad319e000ab1779ef6c4411_activity.pkl b/backend/instance/sessions/458c40131ad319e000ab1779ef6c4411_activity.pkl new file mode 100644 index 000000000..7a42116c6 Binary files /dev/null and b/backend/instance/sessions/458c40131ad319e000ab1779ef6c4411_activity.pkl differ diff --git a/backend/instance/sessions/4592310ebde8b0513e07f5fe1f88a6f0_activity.pkl b/backend/instance/sessions/4592310ebde8b0513e07f5fe1f88a6f0_activity.pkl new file mode 100644 index 000000000..fafb78158 Binary files /dev/null and b/backend/instance/sessions/4592310ebde8b0513e07f5fe1f88a6f0_activity.pkl differ diff --git a/backend/instance/sessions/45bdd6a07396f9c16058a523371b55ad_activity.pkl b/backend/instance/sessions/45bdd6a07396f9c16058a523371b55ad_activity.pkl new file mode 100644 index 000000000..25d95aea5 Binary files /dev/null and b/backend/instance/sessions/45bdd6a07396f9c16058a523371b55ad_activity.pkl differ diff --git a/backend/instance/sessions/460c85a29b5cf42043019185a834f9e9_activity.pkl b/backend/instance/sessions/460c85a29b5cf42043019185a834f9e9_activity.pkl new file mode 100644 index 000000000..c90ca6161 Binary files /dev/null and b/backend/instance/sessions/460c85a29b5cf42043019185a834f9e9_activity.pkl differ diff --git a/backend/instance/sessions/46101a2f84be5e04fb9cf7dd08787e2f_activity.pkl b/backend/instance/sessions/46101a2f84be5e04fb9cf7dd08787e2f_activity.pkl new file mode 100644 index 000000000..558a3df65 Binary files /dev/null and b/backend/instance/sessions/46101a2f84be5e04fb9cf7dd08787e2f_activity.pkl differ diff --git a/backend/instance/sessions/4659780f5dae1ddffec43dec7e1bd233_activity.pkl b/backend/instance/sessions/4659780f5dae1ddffec43dec7e1bd233_activity.pkl new file mode 100644 index 000000000..14456b397 Binary files /dev/null and b/backend/instance/sessions/4659780f5dae1ddffec43dec7e1bd233_activity.pkl differ diff --git a/backend/instance/sessions/465c11bd99760c371c98ed806d399114_activity.pkl b/backend/instance/sessions/465c11bd99760c371c98ed806d399114_activity.pkl new file mode 100644 index 000000000..b093c8a25 Binary files /dev/null and b/backend/instance/sessions/465c11bd99760c371c98ed806d399114_activity.pkl differ diff --git a/backend/instance/sessions/46f9451a0129bf58fe3ce3aa74efb522_activity.pkl b/backend/instance/sessions/46f9451a0129bf58fe3ce3aa74efb522_activity.pkl new file mode 100644 index 000000000..b1368ec36 Binary files /dev/null and b/backend/instance/sessions/46f9451a0129bf58fe3ce3aa74efb522_activity.pkl differ diff --git a/backend/instance/sessions/472fa8706dff12c9845ea0bf4b4f95a8_activity.pkl b/backend/instance/sessions/472fa8706dff12c9845ea0bf4b4f95a8_activity.pkl new file mode 100644 index 000000000..b6d38eb23 Binary files /dev/null and b/backend/instance/sessions/472fa8706dff12c9845ea0bf4b4f95a8_activity.pkl differ diff --git a/backend/instance/sessions/4738e0e311f43a430b59490c5ea8cc88_activity.pkl b/backend/instance/sessions/4738e0e311f43a430b59490c5ea8cc88_activity.pkl new file mode 100644 index 000000000..a6688585b Binary files /dev/null and b/backend/instance/sessions/4738e0e311f43a430b59490c5ea8cc88_activity.pkl differ diff --git a/backend/instance/sessions/477bcba8ecb5f8a21ebbf6aabfb30b26_activity.pkl b/backend/instance/sessions/477bcba8ecb5f8a21ebbf6aabfb30b26_activity.pkl new file mode 100644 index 000000000..1537ab296 Binary files /dev/null and b/backend/instance/sessions/477bcba8ecb5f8a21ebbf6aabfb30b26_activity.pkl differ diff --git a/backend/instance/sessions/47aa63cea9f279ec88625ce1e7c531bf_activity.pkl b/backend/instance/sessions/47aa63cea9f279ec88625ce1e7c531bf_activity.pkl new file mode 100644 index 000000000..9e0336c0f Binary files /dev/null and b/backend/instance/sessions/47aa63cea9f279ec88625ce1e7c531bf_activity.pkl differ diff --git a/backend/instance/sessions/47eb6570911482e2783aa31d51332e95_activity.pkl b/backend/instance/sessions/47eb6570911482e2783aa31d51332e95_activity.pkl new file mode 100644 index 000000000..728dac482 Binary files /dev/null and b/backend/instance/sessions/47eb6570911482e2783aa31d51332e95_activity.pkl differ diff --git a/backend/instance/sessions/47ef4e387c5eaf7246355a948f12d810_activity.pkl b/backend/instance/sessions/47ef4e387c5eaf7246355a948f12d810_activity.pkl new file mode 100644 index 000000000..4ebe2c04d Binary files /dev/null and b/backend/instance/sessions/47ef4e387c5eaf7246355a948f12d810_activity.pkl differ diff --git a/backend/instance/sessions/47f4c7fb07208913d1af230215ac5de2_activity.pkl b/backend/instance/sessions/47f4c7fb07208913d1af230215ac5de2_activity.pkl new file mode 100644 index 000000000..fca590ac3 Binary files /dev/null and b/backend/instance/sessions/47f4c7fb07208913d1af230215ac5de2_activity.pkl differ diff --git a/backend/instance/sessions/48165c1863e79420ff82e0aaaf41e84b_activity.pkl b/backend/instance/sessions/48165c1863e79420ff82e0aaaf41e84b_activity.pkl new file mode 100644 index 000000000..d732308a5 Binary files /dev/null and b/backend/instance/sessions/48165c1863e79420ff82e0aaaf41e84b_activity.pkl differ diff --git a/backend/instance/sessions/48478857199bf14725a91aa8ab757a88_activity.pkl b/backend/instance/sessions/48478857199bf14725a91aa8ab757a88_activity.pkl new file mode 100644 index 000000000..d8df37d5b Binary files /dev/null and b/backend/instance/sessions/48478857199bf14725a91aa8ab757a88_activity.pkl differ diff --git a/backend/instance/sessions/48c53e32fbc1bdca1726432a11df20de_activity.pkl b/backend/instance/sessions/48c53e32fbc1bdca1726432a11df20de_activity.pkl new file mode 100644 index 000000000..12d1c481e Binary files /dev/null and b/backend/instance/sessions/48c53e32fbc1bdca1726432a11df20de_activity.pkl differ diff --git a/backend/instance/sessions/48eddd42806c4a43a633779e05909472_activity.pkl b/backend/instance/sessions/48eddd42806c4a43a633779e05909472_activity.pkl new file mode 100644 index 000000000..feca5e58d Binary files /dev/null and b/backend/instance/sessions/48eddd42806c4a43a633779e05909472_activity.pkl differ diff --git a/backend/instance/sessions/48f6aa1ae3ddfaf0f2a094980c75f6fa_activity.pkl b/backend/instance/sessions/48f6aa1ae3ddfaf0f2a094980c75f6fa_activity.pkl new file mode 100644 index 000000000..779633e1f Binary files /dev/null and b/backend/instance/sessions/48f6aa1ae3ddfaf0f2a094980c75f6fa_activity.pkl differ diff --git a/backend/instance/sessions/49330eaf2a4e2b1e0d7ae99c6723ec92_activity.pkl b/backend/instance/sessions/49330eaf2a4e2b1e0d7ae99c6723ec92_activity.pkl new file mode 100644 index 000000000..5c5169a91 Binary files /dev/null and b/backend/instance/sessions/49330eaf2a4e2b1e0d7ae99c6723ec92_activity.pkl differ diff --git a/backend/instance/sessions/4935db585bde9b0864705ff8ea94f689_activity.pkl b/backend/instance/sessions/4935db585bde9b0864705ff8ea94f689_activity.pkl new file mode 100644 index 000000000..7319bbb4a Binary files /dev/null and b/backend/instance/sessions/4935db585bde9b0864705ff8ea94f689_activity.pkl differ diff --git a/backend/instance/sessions/497c61b46add56808c52aa83578ed23d_activity.pkl b/backend/instance/sessions/497c61b46add56808c52aa83578ed23d_activity.pkl new file mode 100644 index 000000000..7fd18d4b8 Binary files /dev/null and b/backend/instance/sessions/497c61b46add56808c52aa83578ed23d_activity.pkl differ diff --git a/backend/instance/sessions/49830a49a6e66bfd60b4cc5643f16775_activity.pkl b/backend/instance/sessions/49830a49a6e66bfd60b4cc5643f16775_activity.pkl new file mode 100644 index 000000000..dbd7532ea Binary files /dev/null and b/backend/instance/sessions/49830a49a6e66bfd60b4cc5643f16775_activity.pkl differ diff --git a/backend/instance/sessions/49952646f5e9ca8a17e75dfcc9258543_activity.pkl b/backend/instance/sessions/49952646f5e9ca8a17e75dfcc9258543_activity.pkl new file mode 100644 index 000000000..b5752ab33 Binary files /dev/null and b/backend/instance/sessions/49952646f5e9ca8a17e75dfcc9258543_activity.pkl differ diff --git a/backend/instance/sessions/49e4d02a1b4097e02da0e3fce49cec5b_activity.pkl b/backend/instance/sessions/49e4d02a1b4097e02da0e3fce49cec5b_activity.pkl new file mode 100644 index 000000000..b194b3b4b Binary files /dev/null and b/backend/instance/sessions/49e4d02a1b4097e02da0e3fce49cec5b_activity.pkl differ diff --git a/backend/instance/sessions/4aa06ed8bf02e92a918beef98882f987_activity.pkl b/backend/instance/sessions/4aa06ed8bf02e92a918beef98882f987_activity.pkl new file mode 100644 index 000000000..9f18f8e2c Binary files /dev/null and b/backend/instance/sessions/4aa06ed8bf02e92a918beef98882f987_activity.pkl differ diff --git a/backend/instance/sessions/4ac08ba21e7d5b29a518803c215828b1_activity.pkl b/backend/instance/sessions/4ac08ba21e7d5b29a518803c215828b1_activity.pkl new file mode 100644 index 000000000..72313fb0a Binary files /dev/null and b/backend/instance/sessions/4ac08ba21e7d5b29a518803c215828b1_activity.pkl differ diff --git a/backend/instance/sessions/4ac0dae0c976dd615dbe9e3439546bf1_activity.pkl b/backend/instance/sessions/4ac0dae0c976dd615dbe9e3439546bf1_activity.pkl new file mode 100644 index 000000000..d54525e70 Binary files /dev/null and b/backend/instance/sessions/4ac0dae0c976dd615dbe9e3439546bf1_activity.pkl differ diff --git a/backend/instance/sessions/4b385818bd73f2ce4c38fb79e9af712d_activity.pkl b/backend/instance/sessions/4b385818bd73f2ce4c38fb79e9af712d_activity.pkl new file mode 100644 index 000000000..709917cc5 Binary files /dev/null and b/backend/instance/sessions/4b385818bd73f2ce4c38fb79e9af712d_activity.pkl differ diff --git a/backend/instance/sessions/4b781f6cc0b8029a76fd1dee3170c8d9_activity.pkl b/backend/instance/sessions/4b781f6cc0b8029a76fd1dee3170c8d9_activity.pkl new file mode 100644 index 000000000..5689d48b0 Binary files /dev/null and b/backend/instance/sessions/4b781f6cc0b8029a76fd1dee3170c8d9_activity.pkl differ diff --git a/backend/instance/sessions/4ba7885fa9d5560d9b49431b986b2372_activity.pkl b/backend/instance/sessions/4ba7885fa9d5560d9b49431b986b2372_activity.pkl new file mode 100644 index 000000000..13a73face Binary files /dev/null and b/backend/instance/sessions/4ba7885fa9d5560d9b49431b986b2372_activity.pkl differ diff --git a/backend/instance/sessions/4bb0e1b226af3d6525b5a104fec2f24e_activity.pkl b/backend/instance/sessions/4bb0e1b226af3d6525b5a104fec2f24e_activity.pkl new file mode 100644 index 000000000..28b68af6e Binary files /dev/null and b/backend/instance/sessions/4bb0e1b226af3d6525b5a104fec2f24e_activity.pkl differ diff --git a/backend/instance/sessions/4bb6db18c5b6b21439eb1d68e8b7ad13_activity.pkl b/backend/instance/sessions/4bb6db18c5b6b21439eb1d68e8b7ad13_activity.pkl new file mode 100644 index 000000000..60044861e Binary files /dev/null and b/backend/instance/sessions/4bb6db18c5b6b21439eb1d68e8b7ad13_activity.pkl differ diff --git a/backend/instance/sessions/4bedf183c98e6781c7de85ef6e973770_activity.pkl b/backend/instance/sessions/4bedf183c98e6781c7de85ef6e973770_activity.pkl new file mode 100644 index 000000000..0885963a9 Binary files /dev/null and b/backend/instance/sessions/4bedf183c98e6781c7de85ef6e973770_activity.pkl differ diff --git a/backend/instance/sessions/4c0e2a2cf0d98bd11b94076dec562501_activity.pkl b/backend/instance/sessions/4c0e2a2cf0d98bd11b94076dec562501_activity.pkl new file mode 100644 index 000000000..95f306e03 Binary files /dev/null and b/backend/instance/sessions/4c0e2a2cf0d98bd11b94076dec562501_activity.pkl differ diff --git a/backend/instance/sessions/4c637c439eab6551575f385ba42cfc13_activity.pkl b/backend/instance/sessions/4c637c439eab6551575f385ba42cfc13_activity.pkl new file mode 100644 index 000000000..ce8bb94ea Binary files /dev/null and b/backend/instance/sessions/4c637c439eab6551575f385ba42cfc13_activity.pkl differ diff --git a/backend/instance/sessions/4ccfa82037d1911a0adee7af86b1658f_activity.pkl b/backend/instance/sessions/4ccfa82037d1911a0adee7af86b1658f_activity.pkl new file mode 100644 index 000000000..fdc00cb57 Binary files /dev/null and b/backend/instance/sessions/4ccfa82037d1911a0adee7af86b1658f_activity.pkl differ diff --git a/backend/instance/sessions/4cffea63464a392ee72b684f5f53dd3d_activity.pkl b/backend/instance/sessions/4cffea63464a392ee72b684f5f53dd3d_activity.pkl new file mode 100644 index 000000000..2178ca94d Binary files /dev/null and b/backend/instance/sessions/4cffea63464a392ee72b684f5f53dd3d_activity.pkl differ diff --git a/backend/instance/sessions/4dad5b84267ee53733670fda74adf491_activity.pkl b/backend/instance/sessions/4dad5b84267ee53733670fda74adf491_activity.pkl new file mode 100644 index 000000000..212978c73 Binary files /dev/null and b/backend/instance/sessions/4dad5b84267ee53733670fda74adf491_activity.pkl differ diff --git a/backend/instance/sessions/4e4d2bfa802653d209be622446c0634f_activity.pkl b/backend/instance/sessions/4e4d2bfa802653d209be622446c0634f_activity.pkl new file mode 100644 index 000000000..315b35a57 Binary files /dev/null and b/backend/instance/sessions/4e4d2bfa802653d209be622446c0634f_activity.pkl differ diff --git a/backend/instance/sessions/4e4d3c2b8e96212ed40045147a887d71_activity.pkl b/backend/instance/sessions/4e4d3c2b8e96212ed40045147a887d71_activity.pkl new file mode 100644 index 000000000..8e7efa3b1 Binary files /dev/null and b/backend/instance/sessions/4e4d3c2b8e96212ed40045147a887d71_activity.pkl differ diff --git a/backend/instance/sessions/4e635ee8976341b89793887dd8bd2f95_activity.pkl b/backend/instance/sessions/4e635ee8976341b89793887dd8bd2f95_activity.pkl new file mode 100644 index 000000000..158f313ac Binary files /dev/null and b/backend/instance/sessions/4e635ee8976341b89793887dd8bd2f95_activity.pkl differ diff --git a/backend/instance/sessions/4ea16fe9b930f846be4beeef2d3e0699_activity.pkl b/backend/instance/sessions/4ea16fe9b930f846be4beeef2d3e0699_activity.pkl new file mode 100644 index 000000000..f9bef7ca7 Binary files /dev/null and b/backend/instance/sessions/4ea16fe9b930f846be4beeef2d3e0699_activity.pkl differ diff --git a/backend/instance/sessions/4ec5d6947b53cc20612a42561d732830_activity.pkl b/backend/instance/sessions/4ec5d6947b53cc20612a42561d732830_activity.pkl new file mode 100644 index 000000000..c3332c0e9 Binary files /dev/null and b/backend/instance/sessions/4ec5d6947b53cc20612a42561d732830_activity.pkl differ diff --git a/backend/instance/sessions/4ee42cee840358eab86c6c8dadba5ff0_activity.pkl b/backend/instance/sessions/4ee42cee840358eab86c6c8dadba5ff0_activity.pkl new file mode 100644 index 000000000..a4ded672c Binary files /dev/null and b/backend/instance/sessions/4ee42cee840358eab86c6c8dadba5ff0_activity.pkl differ diff --git a/backend/instance/sessions/4fe08d4ca942297b6ce66411eae7cad7_activity.pkl b/backend/instance/sessions/4fe08d4ca942297b6ce66411eae7cad7_activity.pkl new file mode 100644 index 000000000..eb137ad83 Binary files /dev/null and b/backend/instance/sessions/4fe08d4ca942297b6ce66411eae7cad7_activity.pkl differ diff --git a/backend/instance/sessions/502f5a5994998929be997f8187ace222_activity.pkl b/backend/instance/sessions/502f5a5994998929be997f8187ace222_activity.pkl new file mode 100644 index 000000000..4a0abc8f8 Binary files /dev/null and b/backend/instance/sessions/502f5a5994998929be997f8187ace222_activity.pkl differ diff --git a/backend/instance/sessions/505804593cab16e933a34cb38781d9d8_activity.pkl b/backend/instance/sessions/505804593cab16e933a34cb38781d9d8_activity.pkl new file mode 100644 index 000000000..bf83d3f72 Binary files /dev/null and b/backend/instance/sessions/505804593cab16e933a34cb38781d9d8_activity.pkl differ diff --git a/backend/instance/sessions/510f0a163ec38fcfcb36fdfca026b14b_activity.pkl b/backend/instance/sessions/510f0a163ec38fcfcb36fdfca026b14b_activity.pkl new file mode 100644 index 000000000..ebe38197a Binary files /dev/null and b/backend/instance/sessions/510f0a163ec38fcfcb36fdfca026b14b_activity.pkl differ diff --git a/backend/instance/sessions/5111dabb962071178515af5ee366428b_activity.pkl b/backend/instance/sessions/5111dabb962071178515af5ee366428b_activity.pkl new file mode 100644 index 000000000..f1a1649c1 Binary files /dev/null and b/backend/instance/sessions/5111dabb962071178515af5ee366428b_activity.pkl differ diff --git a/backend/instance/sessions/516d0396f821e560cb7f4025ee23fb21_activity.pkl b/backend/instance/sessions/516d0396f821e560cb7f4025ee23fb21_activity.pkl new file mode 100644 index 000000000..60174cbba Binary files /dev/null and b/backend/instance/sessions/516d0396f821e560cb7f4025ee23fb21_activity.pkl differ diff --git a/backend/instance/sessions/51dfb7f105e078f019e0fdc48bae6018_activity.pkl b/backend/instance/sessions/51dfb7f105e078f019e0fdc48bae6018_activity.pkl new file mode 100644 index 000000000..4aa131fe8 Binary files /dev/null and b/backend/instance/sessions/51dfb7f105e078f019e0fdc48bae6018_activity.pkl differ diff --git a/backend/instance/sessions/528f3d1e87bd3d1bf0ee02cf2760d164_activity.pkl b/backend/instance/sessions/528f3d1e87bd3d1bf0ee02cf2760d164_activity.pkl new file mode 100644 index 000000000..317ded74a Binary files /dev/null and b/backend/instance/sessions/528f3d1e87bd3d1bf0ee02cf2760d164_activity.pkl differ diff --git a/backend/instance/sessions/535515d59cb2ef07972002f7fcb3529f_activity.pkl b/backend/instance/sessions/535515d59cb2ef07972002f7fcb3529f_activity.pkl new file mode 100644 index 000000000..261adf81b Binary files /dev/null and b/backend/instance/sessions/535515d59cb2ef07972002f7fcb3529f_activity.pkl differ diff --git a/backend/instance/sessions/53d1dacdefd816f2789a144f0a83faf4_activity.pkl b/backend/instance/sessions/53d1dacdefd816f2789a144f0a83faf4_activity.pkl new file mode 100644 index 000000000..f3a84be50 Binary files /dev/null and b/backend/instance/sessions/53d1dacdefd816f2789a144f0a83faf4_activity.pkl differ diff --git a/backend/instance/sessions/53f55e307038a9fc8c812753e8b5d646_activity.pkl b/backend/instance/sessions/53f55e307038a9fc8c812753e8b5d646_activity.pkl new file mode 100644 index 000000000..99cc0b5a4 Binary files /dev/null and b/backend/instance/sessions/53f55e307038a9fc8c812753e8b5d646_activity.pkl differ diff --git a/backend/instance/sessions/5456b588792dbe3ec0395e2a0e38cd6b_activity.pkl b/backend/instance/sessions/5456b588792dbe3ec0395e2a0e38cd6b_activity.pkl new file mode 100644 index 000000000..147f58bf6 Binary files /dev/null and b/backend/instance/sessions/5456b588792dbe3ec0395e2a0e38cd6b_activity.pkl differ diff --git a/backend/instance/sessions/54a40684dd82eb6c5417bf729161c8a1_activity.pkl b/backend/instance/sessions/54a40684dd82eb6c5417bf729161c8a1_activity.pkl new file mode 100644 index 000000000..581874b92 Binary files /dev/null and b/backend/instance/sessions/54a40684dd82eb6c5417bf729161c8a1_activity.pkl differ diff --git a/backend/instance/sessions/55693ff1e42f511aaa29dcfcafdaaed6_activity.pkl b/backend/instance/sessions/55693ff1e42f511aaa29dcfcafdaaed6_activity.pkl new file mode 100644 index 000000000..bde993e2f Binary files /dev/null and b/backend/instance/sessions/55693ff1e42f511aaa29dcfcafdaaed6_activity.pkl differ diff --git a/backend/instance/sessions/55f5d36088804d1946227c05041b16f9_activity.pkl b/backend/instance/sessions/55f5d36088804d1946227c05041b16f9_activity.pkl new file mode 100644 index 000000000..c3e50494e Binary files /dev/null and b/backend/instance/sessions/55f5d36088804d1946227c05041b16f9_activity.pkl differ diff --git a/backend/instance/sessions/55fc2ea9774c5fe5ddf8805eefaa21bf_activity.pkl b/backend/instance/sessions/55fc2ea9774c5fe5ddf8805eefaa21bf_activity.pkl new file mode 100644 index 000000000..f93a35bea Binary files /dev/null and b/backend/instance/sessions/55fc2ea9774c5fe5ddf8805eefaa21bf_activity.pkl differ diff --git a/backend/instance/sessions/564f56b6dd7c38d7f4dbc36732219697_activity.pkl b/backend/instance/sessions/564f56b6dd7c38d7f4dbc36732219697_activity.pkl new file mode 100644 index 000000000..f9588994c Binary files /dev/null and b/backend/instance/sessions/564f56b6dd7c38d7f4dbc36732219697_activity.pkl differ diff --git a/backend/instance/sessions/5688dc78d0f44306d5587e98b96fab60_activity.pkl b/backend/instance/sessions/5688dc78d0f44306d5587e98b96fab60_activity.pkl new file mode 100644 index 000000000..e6d041c3a Binary files /dev/null and b/backend/instance/sessions/5688dc78d0f44306d5587e98b96fab60_activity.pkl differ diff --git a/backend/instance/sessions/568e7fa24c399ee54ec9707dd7d681e5_activity.pkl b/backend/instance/sessions/568e7fa24c399ee54ec9707dd7d681e5_activity.pkl new file mode 100644 index 000000000..2d24e5cc9 Binary files /dev/null and b/backend/instance/sessions/568e7fa24c399ee54ec9707dd7d681e5_activity.pkl differ diff --git a/backend/instance/sessions/5723d922d7b5b25729a4c2b595e3fb22_activity.pkl b/backend/instance/sessions/5723d922d7b5b25729a4c2b595e3fb22_activity.pkl new file mode 100644 index 000000000..a27fde9c0 Binary files /dev/null and b/backend/instance/sessions/5723d922d7b5b25729a4c2b595e3fb22_activity.pkl differ diff --git a/backend/instance/sessions/573ea40760ea109684dc99970162f6d0_activity.pkl b/backend/instance/sessions/573ea40760ea109684dc99970162f6d0_activity.pkl new file mode 100644 index 000000000..104fd6da3 Binary files /dev/null and b/backend/instance/sessions/573ea40760ea109684dc99970162f6d0_activity.pkl differ diff --git a/backend/instance/sessions/584e58f5fae6ebde73cac74cef9013ac_activity.pkl b/backend/instance/sessions/584e58f5fae6ebde73cac74cef9013ac_activity.pkl new file mode 100644 index 000000000..a96ef77a1 Binary files /dev/null and b/backend/instance/sessions/584e58f5fae6ebde73cac74cef9013ac_activity.pkl differ diff --git a/backend/instance/sessions/588729aa240a20b3b259fa4d735d7d3c_activity.pkl b/backend/instance/sessions/588729aa240a20b3b259fa4d735d7d3c_activity.pkl new file mode 100644 index 000000000..e376ec864 Binary files /dev/null and b/backend/instance/sessions/588729aa240a20b3b259fa4d735d7d3c_activity.pkl differ diff --git a/backend/instance/sessions/58d96e21d2078275080cb7e1eb557a6e_activity.pkl b/backend/instance/sessions/58d96e21d2078275080cb7e1eb557a6e_activity.pkl new file mode 100644 index 000000000..cec976438 Binary files /dev/null and b/backend/instance/sessions/58d96e21d2078275080cb7e1eb557a6e_activity.pkl differ diff --git a/backend/instance/sessions/58f798e6ad607e2e2fcfdcdbc97a86af_activity.pkl b/backend/instance/sessions/58f798e6ad607e2e2fcfdcdbc97a86af_activity.pkl new file mode 100644 index 000000000..942a892c5 Binary files /dev/null and b/backend/instance/sessions/58f798e6ad607e2e2fcfdcdbc97a86af_activity.pkl differ diff --git a/backend/instance/sessions/58f9b2890df79e060ca82257b4b47565_activity.pkl b/backend/instance/sessions/58f9b2890df79e060ca82257b4b47565_activity.pkl new file mode 100644 index 000000000..6087a9dc5 Binary files /dev/null and b/backend/instance/sessions/58f9b2890df79e060ca82257b4b47565_activity.pkl differ diff --git a/backend/instance/sessions/592e3e35915d994cea9bb149d73cd59e_activity.pkl b/backend/instance/sessions/592e3e35915d994cea9bb149d73cd59e_activity.pkl new file mode 100644 index 000000000..4db3bbc05 Binary files /dev/null and b/backend/instance/sessions/592e3e35915d994cea9bb149d73cd59e_activity.pkl differ diff --git a/backend/instance/sessions/593e7ef8d2baf2835ee16ab698609581_activity.pkl b/backend/instance/sessions/593e7ef8d2baf2835ee16ab698609581_activity.pkl new file mode 100644 index 000000000..250728756 Binary files /dev/null and b/backend/instance/sessions/593e7ef8d2baf2835ee16ab698609581_activity.pkl differ diff --git a/backend/instance/sessions/59bca0a9dd88020692d6a6c9c34f7d56_activity.pkl b/backend/instance/sessions/59bca0a9dd88020692d6a6c9c34f7d56_activity.pkl new file mode 100644 index 000000000..70515708b Binary files /dev/null and b/backend/instance/sessions/59bca0a9dd88020692d6a6c9c34f7d56_activity.pkl differ diff --git a/backend/instance/sessions/59c0006e379b2056636283b1168b97ce_activity.pkl b/backend/instance/sessions/59c0006e379b2056636283b1168b97ce_activity.pkl new file mode 100644 index 000000000..b15db5f3f Binary files /dev/null and b/backend/instance/sessions/59c0006e379b2056636283b1168b97ce_activity.pkl differ diff --git a/backend/instance/sessions/59d3115170c1f55b9ea009f3e3715639_activity.pkl b/backend/instance/sessions/59d3115170c1f55b9ea009f3e3715639_activity.pkl new file mode 100644 index 000000000..71cf7a7f9 Binary files /dev/null and b/backend/instance/sessions/59d3115170c1f55b9ea009f3e3715639_activity.pkl differ diff --git a/backend/instance/sessions/5a8f061f06e5f501d7d0da2601602177_activity.pkl b/backend/instance/sessions/5a8f061f06e5f501d7d0da2601602177_activity.pkl new file mode 100644 index 000000000..8b8769d4a Binary files /dev/null and b/backend/instance/sessions/5a8f061f06e5f501d7d0da2601602177_activity.pkl differ diff --git a/backend/instance/sessions/5b1721491ba9184b2b535d4f579f35b6_activity.pkl b/backend/instance/sessions/5b1721491ba9184b2b535d4f579f35b6_activity.pkl new file mode 100644 index 000000000..a9f54c508 Binary files /dev/null and b/backend/instance/sessions/5b1721491ba9184b2b535d4f579f35b6_activity.pkl differ diff --git a/backend/instance/sessions/5b398a8b2972cca075c26ae8847d9075_activity.pkl b/backend/instance/sessions/5b398a8b2972cca075c26ae8847d9075_activity.pkl new file mode 100644 index 000000000..4c73f8741 Binary files /dev/null and b/backend/instance/sessions/5b398a8b2972cca075c26ae8847d9075_activity.pkl differ diff --git a/backend/instance/sessions/5b39ada6c023c85952ee05471b64e826_activity.pkl b/backend/instance/sessions/5b39ada6c023c85952ee05471b64e826_activity.pkl new file mode 100644 index 000000000..889bc4963 Binary files /dev/null and b/backend/instance/sessions/5b39ada6c023c85952ee05471b64e826_activity.pkl differ diff --git a/backend/instance/sessions/5bb1feb43a9d4d676625906d88c19dd4_activity.pkl b/backend/instance/sessions/5bb1feb43a9d4d676625906d88c19dd4_activity.pkl new file mode 100644 index 000000000..841b350b0 Binary files /dev/null and b/backend/instance/sessions/5bb1feb43a9d4d676625906d88c19dd4_activity.pkl differ diff --git a/backend/instance/sessions/5bb30ddd98bb6cc995b4eb192119599a_activity.pkl b/backend/instance/sessions/5bb30ddd98bb6cc995b4eb192119599a_activity.pkl new file mode 100644 index 000000000..cfbeab72d Binary files /dev/null and b/backend/instance/sessions/5bb30ddd98bb6cc995b4eb192119599a_activity.pkl differ diff --git a/backend/instance/sessions/5bf0bcf828d414b589eb131355177cd7_activity.pkl b/backend/instance/sessions/5bf0bcf828d414b589eb131355177cd7_activity.pkl new file mode 100644 index 000000000..08416d116 Binary files /dev/null and b/backend/instance/sessions/5bf0bcf828d414b589eb131355177cd7_activity.pkl differ diff --git a/backend/instance/sessions/5c3c43afac4221ae4f750131e6fd4ce8_activity.pkl b/backend/instance/sessions/5c3c43afac4221ae4f750131e6fd4ce8_activity.pkl new file mode 100644 index 000000000..81d7c625f Binary files /dev/null and b/backend/instance/sessions/5c3c43afac4221ae4f750131e6fd4ce8_activity.pkl differ diff --git a/backend/instance/sessions/5c774ea6e0959469d283d0985f6af201_activity.pkl b/backend/instance/sessions/5c774ea6e0959469d283d0985f6af201_activity.pkl new file mode 100644 index 000000000..bcc2b19c0 Binary files /dev/null and b/backend/instance/sessions/5c774ea6e0959469d283d0985f6af201_activity.pkl differ diff --git a/backend/instance/sessions/5cdb3302cfa90b1b6fdfddf8e8d491c3_activity.pkl b/backend/instance/sessions/5cdb3302cfa90b1b6fdfddf8e8d491c3_activity.pkl new file mode 100644 index 000000000..a9f2ed0a5 Binary files /dev/null and b/backend/instance/sessions/5cdb3302cfa90b1b6fdfddf8e8d491c3_activity.pkl differ diff --git a/backend/instance/sessions/5cfd7b6807c809dd28085331a7acd344_activity.pkl b/backend/instance/sessions/5cfd7b6807c809dd28085331a7acd344_activity.pkl new file mode 100644 index 000000000..7edf892b6 Binary files /dev/null and b/backend/instance/sessions/5cfd7b6807c809dd28085331a7acd344_activity.pkl differ diff --git a/backend/instance/sessions/5d7451abb16681e0d8654852d34f3711_activity.pkl b/backend/instance/sessions/5d7451abb16681e0d8654852d34f3711_activity.pkl new file mode 100644 index 000000000..1f8bbd729 Binary files /dev/null and b/backend/instance/sessions/5d7451abb16681e0d8654852d34f3711_activity.pkl differ diff --git a/backend/instance/sessions/5d7e284311e078287d5a90213b93a2be_activity.pkl b/backend/instance/sessions/5d7e284311e078287d5a90213b93a2be_activity.pkl new file mode 100644 index 000000000..4a047f213 Binary files /dev/null and b/backend/instance/sessions/5d7e284311e078287d5a90213b93a2be_activity.pkl differ diff --git a/backend/instance/sessions/5d86502d01e98ac9aad80086f4587b2a_activity.pkl b/backend/instance/sessions/5d86502d01e98ac9aad80086f4587b2a_activity.pkl new file mode 100644 index 000000000..8c0a45d2b Binary files /dev/null and b/backend/instance/sessions/5d86502d01e98ac9aad80086f4587b2a_activity.pkl differ diff --git a/backend/instance/sessions/5d985d27f03d6a7cf780db00191eb852_activity.pkl b/backend/instance/sessions/5d985d27f03d6a7cf780db00191eb852_activity.pkl new file mode 100644 index 000000000..2642dd7b7 Binary files /dev/null and b/backend/instance/sessions/5d985d27f03d6a7cf780db00191eb852_activity.pkl differ diff --git a/backend/instance/sessions/5dd770bb2a448d81421e81705bd74d9b_activity.pkl b/backend/instance/sessions/5dd770bb2a448d81421e81705bd74d9b_activity.pkl new file mode 100644 index 000000000..e38e61cd8 Binary files /dev/null and b/backend/instance/sessions/5dd770bb2a448d81421e81705bd74d9b_activity.pkl differ diff --git a/backend/instance/sessions/5e243a054a399d617f659c670ca18759_activity.pkl b/backend/instance/sessions/5e243a054a399d617f659c670ca18759_activity.pkl new file mode 100644 index 000000000..891340a9c Binary files /dev/null and b/backend/instance/sessions/5e243a054a399d617f659c670ca18759_activity.pkl differ diff --git a/backend/instance/sessions/5e6f582dc353f03dcc4a4055747e574f_activity.pkl b/backend/instance/sessions/5e6f582dc353f03dcc4a4055747e574f_activity.pkl new file mode 100644 index 000000000..208c196db Binary files /dev/null and b/backend/instance/sessions/5e6f582dc353f03dcc4a4055747e574f_activity.pkl differ diff --git a/backend/instance/sessions/5f1395565e0ae6fa7a45c92b9db9be33_activity.pkl b/backend/instance/sessions/5f1395565e0ae6fa7a45c92b9db9be33_activity.pkl new file mode 100644 index 000000000..b9a813b97 Binary files /dev/null and b/backend/instance/sessions/5f1395565e0ae6fa7a45c92b9db9be33_activity.pkl differ diff --git a/backend/instance/sessions/5f45ae10000f1cd98fb63e88652d7b2b_activity.pkl b/backend/instance/sessions/5f45ae10000f1cd98fb63e88652d7b2b_activity.pkl new file mode 100644 index 000000000..55eef4de4 Binary files /dev/null and b/backend/instance/sessions/5f45ae10000f1cd98fb63e88652d7b2b_activity.pkl differ diff --git a/backend/instance/sessions/5fb5728c4b1152f45f3813caa397b1fe_activity.pkl b/backend/instance/sessions/5fb5728c4b1152f45f3813caa397b1fe_activity.pkl new file mode 100644 index 000000000..8e6536a9c Binary files /dev/null and b/backend/instance/sessions/5fb5728c4b1152f45f3813caa397b1fe_activity.pkl differ diff --git a/backend/instance/sessions/5fbfdeb13740753a11e0d3dfa07aac9c_activity.pkl b/backend/instance/sessions/5fbfdeb13740753a11e0d3dfa07aac9c_activity.pkl new file mode 100644 index 000000000..699cdf408 Binary files /dev/null and b/backend/instance/sessions/5fbfdeb13740753a11e0d3dfa07aac9c_activity.pkl differ diff --git a/backend/instance/sessions/604dfe2901a31b309d2c429030dd517c_activity.pkl b/backend/instance/sessions/604dfe2901a31b309d2c429030dd517c_activity.pkl new file mode 100644 index 000000000..b05662431 Binary files /dev/null and b/backend/instance/sessions/604dfe2901a31b309d2c429030dd517c_activity.pkl differ diff --git a/backend/instance/sessions/6065b647835cd553bf9be3317bd845b2_activity.pkl b/backend/instance/sessions/6065b647835cd553bf9be3317bd845b2_activity.pkl new file mode 100644 index 000000000..78a3de1a2 Binary files /dev/null and b/backend/instance/sessions/6065b647835cd553bf9be3317bd845b2_activity.pkl differ diff --git a/backend/instance/sessions/60ca0e3bdbc023f60a3ebddb4d2e90cc_activity.pkl b/backend/instance/sessions/60ca0e3bdbc023f60a3ebddb4d2e90cc_activity.pkl new file mode 100644 index 000000000..f568f6bc4 Binary files /dev/null and b/backend/instance/sessions/60ca0e3bdbc023f60a3ebddb4d2e90cc_activity.pkl differ diff --git a/backend/instance/sessions/6134f3bff91cccb4d651eb3a5b56211f_activity.pkl b/backend/instance/sessions/6134f3bff91cccb4d651eb3a5b56211f_activity.pkl new file mode 100644 index 000000000..f4b9b4a19 Binary files /dev/null and b/backend/instance/sessions/6134f3bff91cccb4d651eb3a5b56211f_activity.pkl differ diff --git a/backend/instance/sessions/61427e7731b263caaa329309424092e0_activity.pkl b/backend/instance/sessions/61427e7731b263caaa329309424092e0_activity.pkl new file mode 100644 index 000000000..3a2c4c4fb Binary files /dev/null and b/backend/instance/sessions/61427e7731b263caaa329309424092e0_activity.pkl differ diff --git a/backend/instance/sessions/614766aa185c5888bae0c8372c3ed6f2_activity.pkl b/backend/instance/sessions/614766aa185c5888bae0c8372c3ed6f2_activity.pkl new file mode 100644 index 000000000..c0a37bd47 Binary files /dev/null and b/backend/instance/sessions/614766aa185c5888bae0c8372c3ed6f2_activity.pkl differ diff --git a/backend/instance/sessions/615324e4ddb7a8a827c3a417c1e07a84_activity.pkl b/backend/instance/sessions/615324e4ddb7a8a827c3a417c1e07a84_activity.pkl new file mode 100644 index 000000000..933ba9b07 Binary files /dev/null and b/backend/instance/sessions/615324e4ddb7a8a827c3a417c1e07a84_activity.pkl differ diff --git a/backend/instance/sessions/6178d587b83f401f9b300089d7f7f085_activity.pkl b/backend/instance/sessions/6178d587b83f401f9b300089d7f7f085_activity.pkl new file mode 100644 index 000000000..bf8e13237 Binary files /dev/null and b/backend/instance/sessions/6178d587b83f401f9b300089d7f7f085_activity.pkl differ diff --git a/backend/instance/sessions/61c79f54a17e234ffd34a187f4fdd733_activity.pkl b/backend/instance/sessions/61c79f54a17e234ffd34a187f4fdd733_activity.pkl new file mode 100644 index 000000000..367708db3 Binary files /dev/null and b/backend/instance/sessions/61c79f54a17e234ffd34a187f4fdd733_activity.pkl differ diff --git a/backend/instance/sessions/61d8f37168d9e83a1ffe6b08956b764f_activity.pkl b/backend/instance/sessions/61d8f37168d9e83a1ffe6b08956b764f_activity.pkl new file mode 100644 index 000000000..846e4ab94 Binary files /dev/null and b/backend/instance/sessions/61d8f37168d9e83a1ffe6b08956b764f_activity.pkl differ diff --git a/backend/instance/sessions/62077df31373ebcdf0be61a7ffc78726_activity.pkl b/backend/instance/sessions/62077df31373ebcdf0be61a7ffc78726_activity.pkl new file mode 100644 index 000000000..10c132668 Binary files /dev/null and b/backend/instance/sessions/62077df31373ebcdf0be61a7ffc78726_activity.pkl differ diff --git a/backend/instance/sessions/6214e76063fa6545c14aea5b35238736_activity.pkl b/backend/instance/sessions/6214e76063fa6545c14aea5b35238736_activity.pkl new file mode 100644 index 000000000..7b4722084 Binary files /dev/null and b/backend/instance/sessions/6214e76063fa6545c14aea5b35238736_activity.pkl differ diff --git a/backend/instance/sessions/6239907091a793f9431f78bd2159d2b8_activity.pkl b/backend/instance/sessions/6239907091a793f9431f78bd2159d2b8_activity.pkl new file mode 100644 index 000000000..de9fbaaa3 Binary files /dev/null and b/backend/instance/sessions/6239907091a793f9431f78bd2159d2b8_activity.pkl differ diff --git a/backend/instance/sessions/635fd21b1c9772cdd9d624ee73aea145_activity.pkl b/backend/instance/sessions/635fd21b1c9772cdd9d624ee73aea145_activity.pkl new file mode 100644 index 000000000..e3d5eb7c9 Binary files /dev/null and b/backend/instance/sessions/635fd21b1c9772cdd9d624ee73aea145_activity.pkl differ diff --git a/backend/instance/sessions/63a1b77947601e9627ddd47ca3e8f9a0_activity.pkl b/backend/instance/sessions/63a1b77947601e9627ddd47ca3e8f9a0_activity.pkl new file mode 100644 index 000000000..14cfee845 Binary files /dev/null and b/backend/instance/sessions/63a1b77947601e9627ddd47ca3e8f9a0_activity.pkl differ diff --git a/backend/instance/sessions/63f4b3aa6b39197bba4f1c0c816f418c_activity.pkl b/backend/instance/sessions/63f4b3aa6b39197bba4f1c0c816f418c_activity.pkl new file mode 100644 index 000000000..90bc7eb94 Binary files /dev/null and b/backend/instance/sessions/63f4b3aa6b39197bba4f1c0c816f418c_activity.pkl differ diff --git a/backend/instance/sessions/64605143e9863c8df363d28139527dbf_activity.pkl b/backend/instance/sessions/64605143e9863c8df363d28139527dbf_activity.pkl new file mode 100644 index 000000000..4620958cb Binary files /dev/null and b/backend/instance/sessions/64605143e9863c8df363d28139527dbf_activity.pkl differ diff --git a/backend/instance/sessions/651100c631229a7e16f9ad2a3f299aa4_activity.pkl b/backend/instance/sessions/651100c631229a7e16f9ad2a3f299aa4_activity.pkl new file mode 100644 index 000000000..e7132fed1 Binary files /dev/null and b/backend/instance/sessions/651100c631229a7e16f9ad2a3f299aa4_activity.pkl differ diff --git a/backend/instance/sessions/654a3b48187b7e6f395d03107c6768a5_activity.pkl b/backend/instance/sessions/654a3b48187b7e6f395d03107c6768a5_activity.pkl new file mode 100644 index 000000000..f2107ddb6 Binary files /dev/null and b/backend/instance/sessions/654a3b48187b7e6f395d03107c6768a5_activity.pkl differ diff --git a/backend/instance/sessions/654e72f03aad88597cfb4d8911406bc3_activity.pkl b/backend/instance/sessions/654e72f03aad88597cfb4d8911406bc3_activity.pkl new file mode 100644 index 000000000..83b456eae Binary files /dev/null and b/backend/instance/sessions/654e72f03aad88597cfb4d8911406bc3_activity.pkl differ diff --git a/backend/instance/sessions/6564b7f97ee47043baeb2bf1d446d56a_activity.pkl b/backend/instance/sessions/6564b7f97ee47043baeb2bf1d446d56a_activity.pkl new file mode 100644 index 000000000..d515784af Binary files /dev/null and b/backend/instance/sessions/6564b7f97ee47043baeb2bf1d446d56a_activity.pkl differ diff --git a/backend/instance/sessions/66cadc671a905d65acd95d497c1846b9_activity.pkl b/backend/instance/sessions/66cadc671a905d65acd95d497c1846b9_activity.pkl new file mode 100644 index 000000000..6a2b3f32c Binary files /dev/null and b/backend/instance/sessions/66cadc671a905d65acd95d497c1846b9_activity.pkl differ diff --git a/backend/instance/sessions/66e703322732f509639d7e4becc298fa_activity.pkl b/backend/instance/sessions/66e703322732f509639d7e4becc298fa_activity.pkl new file mode 100644 index 000000000..b3ef85aa3 Binary files /dev/null and b/backend/instance/sessions/66e703322732f509639d7e4becc298fa_activity.pkl differ diff --git a/backend/instance/sessions/673086fc6f75870457b6b466269b3e26_activity.pkl b/backend/instance/sessions/673086fc6f75870457b6b466269b3e26_activity.pkl new file mode 100644 index 000000000..941891cf6 Binary files /dev/null and b/backend/instance/sessions/673086fc6f75870457b6b466269b3e26_activity.pkl differ diff --git a/backend/instance/sessions/678457ce24926f09a9c6e4383a34b195_activity.pkl b/backend/instance/sessions/678457ce24926f09a9c6e4383a34b195_activity.pkl new file mode 100644 index 000000000..888f32074 Binary files /dev/null and b/backend/instance/sessions/678457ce24926f09a9c6e4383a34b195_activity.pkl differ diff --git a/backend/instance/sessions/67bfb297d8d3aa6ed54acd791f69ba88_activity.pkl b/backend/instance/sessions/67bfb297d8d3aa6ed54acd791f69ba88_activity.pkl new file mode 100644 index 000000000..e43099926 Binary files /dev/null and b/backend/instance/sessions/67bfb297d8d3aa6ed54acd791f69ba88_activity.pkl differ diff --git a/backend/instance/sessions/68027cd7b0563fbaeebde3fea337e660_activity.pkl b/backend/instance/sessions/68027cd7b0563fbaeebde3fea337e660_activity.pkl new file mode 100644 index 000000000..06dfd32bf Binary files /dev/null and b/backend/instance/sessions/68027cd7b0563fbaeebde3fea337e660_activity.pkl differ diff --git a/backend/instance/sessions/680e460e41c98d6ba74c5b5526d9e83d_activity.pkl b/backend/instance/sessions/680e460e41c98d6ba74c5b5526d9e83d_activity.pkl new file mode 100644 index 000000000..c964ef682 Binary files /dev/null and b/backend/instance/sessions/680e460e41c98d6ba74c5b5526d9e83d_activity.pkl differ diff --git a/backend/instance/sessions/680f3bc08a2ab2dccfd3b100ff8fa033_activity.pkl b/backend/instance/sessions/680f3bc08a2ab2dccfd3b100ff8fa033_activity.pkl new file mode 100644 index 000000000..8a91ab094 Binary files /dev/null and b/backend/instance/sessions/680f3bc08a2ab2dccfd3b100ff8fa033_activity.pkl differ diff --git a/backend/instance/sessions/685d4ee1290e021c1810bfe459e452fe_activity.pkl b/backend/instance/sessions/685d4ee1290e021c1810bfe459e452fe_activity.pkl new file mode 100644 index 000000000..345c5d35a Binary files /dev/null and b/backend/instance/sessions/685d4ee1290e021c1810bfe459e452fe_activity.pkl differ diff --git a/backend/instance/sessions/6899833585689f25eb7203f61f2affa8_activity.pkl b/backend/instance/sessions/6899833585689f25eb7203f61f2affa8_activity.pkl new file mode 100644 index 000000000..0cfce8257 Binary files /dev/null and b/backend/instance/sessions/6899833585689f25eb7203f61f2affa8_activity.pkl differ diff --git a/backend/instance/sessions/68c2a52bcca9c60c0eafd6c7ce19ca4b_activity.pkl b/backend/instance/sessions/68c2a52bcca9c60c0eafd6c7ce19ca4b_activity.pkl new file mode 100644 index 000000000..73514a7df Binary files /dev/null and b/backend/instance/sessions/68c2a52bcca9c60c0eafd6c7ce19ca4b_activity.pkl differ diff --git a/backend/instance/sessions/68d568670fa83621cff4f4442fd9fe2e_activity.pkl b/backend/instance/sessions/68d568670fa83621cff4f4442fd9fe2e_activity.pkl new file mode 100644 index 000000000..beeed9fc5 Binary files /dev/null and b/backend/instance/sessions/68d568670fa83621cff4f4442fd9fe2e_activity.pkl differ diff --git a/backend/instance/sessions/691a20a5a1d473bb0579ae454b1eed60_activity.pkl b/backend/instance/sessions/691a20a5a1d473bb0579ae454b1eed60_activity.pkl new file mode 100644 index 000000000..5a6669883 Binary files /dev/null and b/backend/instance/sessions/691a20a5a1d473bb0579ae454b1eed60_activity.pkl differ diff --git a/backend/instance/sessions/69244e5147047f87a0783ff1ce99afbe_activity.pkl b/backend/instance/sessions/69244e5147047f87a0783ff1ce99afbe_activity.pkl new file mode 100644 index 000000000..9fc2dac84 Binary files /dev/null and b/backend/instance/sessions/69244e5147047f87a0783ff1ce99afbe_activity.pkl differ diff --git a/backend/instance/sessions/6966e2a3035bfca9dabcf0f6d0feea25_activity.pkl b/backend/instance/sessions/6966e2a3035bfca9dabcf0f6d0feea25_activity.pkl new file mode 100644 index 000000000..fdb3692f7 Binary files /dev/null and b/backend/instance/sessions/6966e2a3035bfca9dabcf0f6d0feea25_activity.pkl differ diff --git a/backend/instance/sessions/69c4876ee4a4602291fb205981fe562c_activity.pkl b/backend/instance/sessions/69c4876ee4a4602291fb205981fe562c_activity.pkl new file mode 100644 index 000000000..a7416ae77 Binary files /dev/null and b/backend/instance/sessions/69c4876ee4a4602291fb205981fe562c_activity.pkl differ diff --git a/backend/instance/sessions/69ded2f182878b6220dd446241f90671_activity.pkl b/backend/instance/sessions/69ded2f182878b6220dd446241f90671_activity.pkl new file mode 100644 index 000000000..7634b9d5f Binary files /dev/null and b/backend/instance/sessions/69ded2f182878b6220dd446241f90671_activity.pkl differ diff --git a/backend/instance/sessions/6a6f7061aac1b59dc3f47ccc31fbc5b8_activity.pkl b/backend/instance/sessions/6a6f7061aac1b59dc3f47ccc31fbc5b8_activity.pkl new file mode 100644 index 000000000..5dc7d4b7d Binary files /dev/null and b/backend/instance/sessions/6a6f7061aac1b59dc3f47ccc31fbc5b8_activity.pkl differ diff --git a/backend/instance/sessions/6b23ad24236703af508b17e9386c00a8_activity.pkl b/backend/instance/sessions/6b23ad24236703af508b17e9386c00a8_activity.pkl new file mode 100644 index 000000000..ea488d3e0 Binary files /dev/null and b/backend/instance/sessions/6b23ad24236703af508b17e9386c00a8_activity.pkl differ diff --git a/backend/instance/sessions/6c0f9a842209fb23c12827c2f62677dd_activity.pkl b/backend/instance/sessions/6c0f9a842209fb23c12827c2f62677dd_activity.pkl new file mode 100644 index 000000000..5669c9d42 Binary files /dev/null and b/backend/instance/sessions/6c0f9a842209fb23c12827c2f62677dd_activity.pkl differ diff --git a/backend/instance/sessions/6c7c68af4fcf11ae094025404a8b8bf2_activity.pkl b/backend/instance/sessions/6c7c68af4fcf11ae094025404a8b8bf2_activity.pkl new file mode 100644 index 000000000..643a531a5 Binary files /dev/null and b/backend/instance/sessions/6c7c68af4fcf11ae094025404a8b8bf2_activity.pkl differ diff --git a/backend/instance/sessions/6c8ca73dd523821bbe025f03299f8192_activity.pkl b/backend/instance/sessions/6c8ca73dd523821bbe025f03299f8192_activity.pkl new file mode 100644 index 000000000..ceeae6b6c Binary files /dev/null and b/backend/instance/sessions/6c8ca73dd523821bbe025f03299f8192_activity.pkl differ diff --git a/backend/instance/sessions/6c9a67d767f63da488c8db9a0aa77e56_activity.pkl b/backend/instance/sessions/6c9a67d767f63da488c8db9a0aa77e56_activity.pkl new file mode 100644 index 000000000..fce43fca2 Binary files /dev/null and b/backend/instance/sessions/6c9a67d767f63da488c8db9a0aa77e56_activity.pkl differ diff --git a/backend/instance/sessions/6ca620f269be76183d431b7b9bb894ca_activity.pkl b/backend/instance/sessions/6ca620f269be76183d431b7b9bb894ca_activity.pkl new file mode 100644 index 000000000..5204bf9f0 Binary files /dev/null and b/backend/instance/sessions/6ca620f269be76183d431b7b9bb894ca_activity.pkl differ diff --git a/backend/instance/sessions/6ca80b31bd45e0782b4b28bec0b62d85_activity.pkl b/backend/instance/sessions/6ca80b31bd45e0782b4b28bec0b62d85_activity.pkl new file mode 100644 index 000000000..19c420b93 Binary files /dev/null and b/backend/instance/sessions/6ca80b31bd45e0782b4b28bec0b62d85_activity.pkl differ diff --git a/backend/instance/sessions/6cd04bf4dc608b6ad2b9b65158df9ece_activity.pkl b/backend/instance/sessions/6cd04bf4dc608b6ad2b9b65158df9ece_activity.pkl new file mode 100644 index 000000000..986f1ff06 Binary files /dev/null and b/backend/instance/sessions/6cd04bf4dc608b6ad2b9b65158df9ece_activity.pkl differ diff --git a/backend/instance/sessions/6dfdd2c0b640a409b679f9368ed87301_activity.pkl b/backend/instance/sessions/6dfdd2c0b640a409b679f9368ed87301_activity.pkl new file mode 100644 index 000000000..39511136d Binary files /dev/null and b/backend/instance/sessions/6dfdd2c0b640a409b679f9368ed87301_activity.pkl differ diff --git a/backend/instance/sessions/6efde3f4d165155b5a55d9bd3e7673c0_activity.pkl b/backend/instance/sessions/6efde3f4d165155b5a55d9bd3e7673c0_activity.pkl new file mode 100644 index 000000000..2aed603c2 Binary files /dev/null and b/backend/instance/sessions/6efde3f4d165155b5a55d9bd3e7673c0_activity.pkl differ diff --git a/backend/instance/sessions/6f701ae4cc2af0103915757a55d9c3b2_activity.pkl b/backend/instance/sessions/6f701ae4cc2af0103915757a55d9c3b2_activity.pkl new file mode 100644 index 000000000..9690f8890 Binary files /dev/null and b/backend/instance/sessions/6f701ae4cc2af0103915757a55d9c3b2_activity.pkl differ diff --git a/backend/instance/sessions/70097837b020df1021d3b41eceed2c77_activity.pkl b/backend/instance/sessions/70097837b020df1021d3b41eceed2c77_activity.pkl new file mode 100644 index 000000000..3b522463f Binary files /dev/null and b/backend/instance/sessions/70097837b020df1021d3b41eceed2c77_activity.pkl differ diff --git a/backend/instance/sessions/70244e75f02bead7f318e1b0cf8a4aef_activity.pkl b/backend/instance/sessions/70244e75f02bead7f318e1b0cf8a4aef_activity.pkl new file mode 100644 index 000000000..c7deea6d3 Binary files /dev/null and b/backend/instance/sessions/70244e75f02bead7f318e1b0cf8a4aef_activity.pkl differ diff --git a/backend/instance/sessions/70af951226d966e10036fa35f702762a_activity.pkl b/backend/instance/sessions/70af951226d966e10036fa35f702762a_activity.pkl new file mode 100644 index 000000000..1853542f5 Binary files /dev/null and b/backend/instance/sessions/70af951226d966e10036fa35f702762a_activity.pkl differ diff --git a/backend/instance/sessions/70fa09597f12d12006feb495713dd6d6_activity.pkl b/backend/instance/sessions/70fa09597f12d12006feb495713dd6d6_activity.pkl new file mode 100644 index 000000000..d2e503ae4 Binary files /dev/null and b/backend/instance/sessions/70fa09597f12d12006feb495713dd6d6_activity.pkl differ diff --git a/backend/instance/sessions/71116f92c2903bfe60b9656aa786afab_activity.pkl b/backend/instance/sessions/71116f92c2903bfe60b9656aa786afab_activity.pkl new file mode 100644 index 000000000..51ea76ec0 Binary files /dev/null and b/backend/instance/sessions/71116f92c2903bfe60b9656aa786afab_activity.pkl differ diff --git a/backend/instance/sessions/7126ffd50704490b05c4bafaa19f1bbd_activity.pkl b/backend/instance/sessions/7126ffd50704490b05c4bafaa19f1bbd_activity.pkl new file mode 100644 index 000000000..13039415b Binary files /dev/null and b/backend/instance/sessions/7126ffd50704490b05c4bafaa19f1bbd_activity.pkl differ diff --git a/backend/instance/sessions/71d42c2b18dd8b43c6d3d3226b9d002a_activity.pkl b/backend/instance/sessions/71d42c2b18dd8b43c6d3d3226b9d002a_activity.pkl new file mode 100644 index 000000000..3b268e7ca Binary files /dev/null and b/backend/instance/sessions/71d42c2b18dd8b43c6d3d3226b9d002a_activity.pkl differ diff --git a/backend/instance/sessions/72348de003e56fc12eed412416ee0116_activity.pkl b/backend/instance/sessions/72348de003e56fc12eed412416ee0116_activity.pkl new file mode 100644 index 000000000..ed8618b26 Binary files /dev/null and b/backend/instance/sessions/72348de003e56fc12eed412416ee0116_activity.pkl differ diff --git a/backend/instance/sessions/7247dd0b633d81f8ea3e9bc330c5c402_activity.pkl b/backend/instance/sessions/7247dd0b633d81f8ea3e9bc330c5c402_activity.pkl new file mode 100644 index 000000000..3dbc318b7 Binary files /dev/null and b/backend/instance/sessions/7247dd0b633d81f8ea3e9bc330c5c402_activity.pkl differ diff --git a/backend/instance/sessions/726c1f9d7105f94c313139b643541378_activity.pkl b/backend/instance/sessions/726c1f9d7105f94c313139b643541378_activity.pkl new file mode 100644 index 000000000..ee4b94893 Binary files /dev/null and b/backend/instance/sessions/726c1f9d7105f94c313139b643541378_activity.pkl differ diff --git a/backend/instance/sessions/72aa6b52ff6a5dfbd077060bb9623639_activity.pkl b/backend/instance/sessions/72aa6b52ff6a5dfbd077060bb9623639_activity.pkl new file mode 100644 index 000000000..bed18a45a Binary files /dev/null and b/backend/instance/sessions/72aa6b52ff6a5dfbd077060bb9623639_activity.pkl differ diff --git a/backend/instance/sessions/72cae1af7135c1ca8b8a526a2762c89c_activity.pkl b/backend/instance/sessions/72cae1af7135c1ca8b8a526a2762c89c_activity.pkl new file mode 100644 index 000000000..9752540a7 Binary files /dev/null and b/backend/instance/sessions/72cae1af7135c1ca8b8a526a2762c89c_activity.pkl differ diff --git a/backend/instance/sessions/72e3f32ae5cddeee62db3d14526057a4_activity.pkl b/backend/instance/sessions/72e3f32ae5cddeee62db3d14526057a4_activity.pkl new file mode 100644 index 000000000..0c259aeba Binary files /dev/null and b/backend/instance/sessions/72e3f32ae5cddeee62db3d14526057a4_activity.pkl differ diff --git a/backend/instance/sessions/72ea02271ee30a683ef06e1a424ceeac_activity.pkl b/backend/instance/sessions/72ea02271ee30a683ef06e1a424ceeac_activity.pkl new file mode 100644 index 000000000..b5b6a9a53 Binary files /dev/null and b/backend/instance/sessions/72ea02271ee30a683ef06e1a424ceeac_activity.pkl differ diff --git a/backend/instance/sessions/7307fd9c1976a43dd9a770324da7b92e_activity.pkl b/backend/instance/sessions/7307fd9c1976a43dd9a770324da7b92e_activity.pkl new file mode 100644 index 000000000..d76fb8ccb Binary files /dev/null and b/backend/instance/sessions/7307fd9c1976a43dd9a770324da7b92e_activity.pkl differ diff --git a/backend/instance/sessions/73a46040f53943401e719509ba6a4475_activity.pkl b/backend/instance/sessions/73a46040f53943401e719509ba6a4475_activity.pkl new file mode 100644 index 000000000..54acc2ac5 Binary files /dev/null and b/backend/instance/sessions/73a46040f53943401e719509ba6a4475_activity.pkl differ diff --git a/backend/instance/sessions/73c08d5687aed5105a75bacb551c6a30_activity.pkl b/backend/instance/sessions/73c08d5687aed5105a75bacb551c6a30_activity.pkl new file mode 100644 index 000000000..c144d5e17 Binary files /dev/null and b/backend/instance/sessions/73c08d5687aed5105a75bacb551c6a30_activity.pkl differ diff --git a/backend/instance/sessions/73e6acfae7174cb76a7819a94b396ce0_activity.pkl b/backend/instance/sessions/73e6acfae7174cb76a7819a94b396ce0_activity.pkl new file mode 100644 index 000000000..9571693e0 Binary files /dev/null and b/backend/instance/sessions/73e6acfae7174cb76a7819a94b396ce0_activity.pkl differ diff --git a/backend/instance/sessions/742c355fc8a0e0989fa19d6bfb8415ab_activity.pkl b/backend/instance/sessions/742c355fc8a0e0989fa19d6bfb8415ab_activity.pkl new file mode 100644 index 000000000..2b2bca251 Binary files /dev/null and b/backend/instance/sessions/742c355fc8a0e0989fa19d6bfb8415ab_activity.pkl differ diff --git a/backend/instance/sessions/743b07196db5ab7dd93838946e5826eb_activity.pkl b/backend/instance/sessions/743b07196db5ab7dd93838946e5826eb_activity.pkl new file mode 100644 index 000000000..387fe0be1 Binary files /dev/null and b/backend/instance/sessions/743b07196db5ab7dd93838946e5826eb_activity.pkl differ diff --git a/backend/instance/sessions/74759cbb4af798641282662b24d1c383_activity.pkl b/backend/instance/sessions/74759cbb4af798641282662b24d1c383_activity.pkl new file mode 100644 index 000000000..becaae5bf Binary files /dev/null and b/backend/instance/sessions/74759cbb4af798641282662b24d1c383_activity.pkl differ diff --git a/backend/instance/sessions/74b69ede7425b4f1a7588b30affa58af_activity.pkl b/backend/instance/sessions/74b69ede7425b4f1a7588b30affa58af_activity.pkl new file mode 100644 index 000000000..123fce198 Binary files /dev/null and b/backend/instance/sessions/74b69ede7425b4f1a7588b30affa58af_activity.pkl differ diff --git a/backend/instance/sessions/74d2696ac2d33a2c5f0d5aa2278670a4_activity.pkl b/backend/instance/sessions/74d2696ac2d33a2c5f0d5aa2278670a4_activity.pkl new file mode 100644 index 000000000..ec2fb8e70 Binary files /dev/null and b/backend/instance/sessions/74d2696ac2d33a2c5f0d5aa2278670a4_activity.pkl differ diff --git a/backend/instance/sessions/74d88d127593c638d36019aafbc40db5_activity.pkl b/backend/instance/sessions/74d88d127593c638d36019aafbc40db5_activity.pkl new file mode 100644 index 000000000..9f8fb59ba Binary files /dev/null and b/backend/instance/sessions/74d88d127593c638d36019aafbc40db5_activity.pkl differ diff --git a/backend/instance/sessions/74e11cb99171749edd7387a6906f2a2a_activity.pkl b/backend/instance/sessions/74e11cb99171749edd7387a6906f2a2a_activity.pkl new file mode 100644 index 000000000..90bf7ce14 Binary files /dev/null and b/backend/instance/sessions/74e11cb99171749edd7387a6906f2a2a_activity.pkl differ diff --git a/backend/instance/sessions/7593d9d903a64b9186d503730c038995_activity.pkl b/backend/instance/sessions/7593d9d903a64b9186d503730c038995_activity.pkl new file mode 100644 index 000000000..979d5ad23 Binary files /dev/null and b/backend/instance/sessions/7593d9d903a64b9186d503730c038995_activity.pkl differ diff --git a/backend/instance/sessions/759a207063931b1913c4234899552c89_activity.pkl b/backend/instance/sessions/759a207063931b1913c4234899552c89_activity.pkl new file mode 100644 index 000000000..c5e80fa97 Binary files /dev/null and b/backend/instance/sessions/759a207063931b1913c4234899552c89_activity.pkl differ diff --git a/backend/instance/sessions/75eb9f1250c0900c0745e6d2d81937dd_activity.pkl b/backend/instance/sessions/75eb9f1250c0900c0745e6d2d81937dd_activity.pkl new file mode 100644 index 000000000..c94d58b4c Binary files /dev/null and b/backend/instance/sessions/75eb9f1250c0900c0745e6d2d81937dd_activity.pkl differ diff --git a/backend/instance/sessions/760b68b1fb3692b6dc26fe3c60493726_activity.pkl b/backend/instance/sessions/760b68b1fb3692b6dc26fe3c60493726_activity.pkl new file mode 100644 index 000000000..1abb6054b Binary files /dev/null and b/backend/instance/sessions/760b68b1fb3692b6dc26fe3c60493726_activity.pkl differ diff --git a/backend/instance/sessions/763a924d239a9d4c52df454e478f2a60_activity.pkl b/backend/instance/sessions/763a924d239a9d4c52df454e478f2a60_activity.pkl new file mode 100644 index 000000000..a03961729 Binary files /dev/null and b/backend/instance/sessions/763a924d239a9d4c52df454e478f2a60_activity.pkl differ diff --git a/backend/instance/sessions/7650f66d85b808f7f0d3bb3d4da1ee4c_activity.pkl b/backend/instance/sessions/7650f66d85b808f7f0d3bb3d4da1ee4c_activity.pkl new file mode 100644 index 000000000..9e32557e5 Binary files /dev/null and b/backend/instance/sessions/7650f66d85b808f7f0d3bb3d4da1ee4c_activity.pkl differ diff --git a/backend/instance/sessions/7685a43cc7bf3f34c37e9094ce57b4c5_activity.pkl b/backend/instance/sessions/7685a43cc7bf3f34c37e9094ce57b4c5_activity.pkl new file mode 100644 index 000000000..757711693 Binary files /dev/null and b/backend/instance/sessions/7685a43cc7bf3f34c37e9094ce57b4c5_activity.pkl differ diff --git a/backend/instance/sessions/76c71e834696ab0ce68398a3d3a69dbc_activity.pkl b/backend/instance/sessions/76c71e834696ab0ce68398a3d3a69dbc_activity.pkl new file mode 100644 index 000000000..2299142ed Binary files /dev/null and b/backend/instance/sessions/76c71e834696ab0ce68398a3d3a69dbc_activity.pkl differ diff --git a/backend/instance/sessions/773610fa29b52d3079811fd7a4de2ac6_activity.pkl b/backend/instance/sessions/773610fa29b52d3079811fd7a4de2ac6_activity.pkl new file mode 100644 index 000000000..edde6f791 Binary files /dev/null and b/backend/instance/sessions/773610fa29b52d3079811fd7a4de2ac6_activity.pkl differ diff --git a/backend/instance/sessions/77e3c6feaf64525a4916def6a737ebc2_activity.pkl b/backend/instance/sessions/77e3c6feaf64525a4916def6a737ebc2_activity.pkl new file mode 100644 index 000000000..9c2127b5f Binary files /dev/null and b/backend/instance/sessions/77e3c6feaf64525a4916def6a737ebc2_activity.pkl differ diff --git a/backend/instance/sessions/782d4ed243f1408ec3ebd3467c05bbec_activity.pkl b/backend/instance/sessions/782d4ed243f1408ec3ebd3467c05bbec_activity.pkl new file mode 100644 index 000000000..749b742d6 Binary files /dev/null and b/backend/instance/sessions/782d4ed243f1408ec3ebd3467c05bbec_activity.pkl differ diff --git a/backend/instance/sessions/785b017cbea531c61e472991caedc075_activity.pkl b/backend/instance/sessions/785b017cbea531c61e472991caedc075_activity.pkl new file mode 100644 index 000000000..ec1c16013 Binary files /dev/null and b/backend/instance/sessions/785b017cbea531c61e472991caedc075_activity.pkl differ diff --git a/backend/instance/sessions/7899948a5070149d79e257d984964c49_activity.pkl b/backend/instance/sessions/7899948a5070149d79e257d984964c49_activity.pkl new file mode 100644 index 000000000..1dc1d4f6a Binary files /dev/null and b/backend/instance/sessions/7899948a5070149d79e257d984964c49_activity.pkl differ diff --git a/backend/instance/sessions/78ab8f16b4a5aff8abe84725bf609610_activity.pkl b/backend/instance/sessions/78ab8f16b4a5aff8abe84725bf609610_activity.pkl new file mode 100644 index 000000000..35a4b0d80 Binary files /dev/null and b/backend/instance/sessions/78ab8f16b4a5aff8abe84725bf609610_activity.pkl differ diff --git a/backend/instance/sessions/79428e83e961b975d5fd80a1f881d6c9_activity.pkl b/backend/instance/sessions/79428e83e961b975d5fd80a1f881d6c9_activity.pkl new file mode 100644 index 000000000..91172b449 Binary files /dev/null and b/backend/instance/sessions/79428e83e961b975d5fd80a1f881d6c9_activity.pkl differ diff --git a/backend/instance/sessions/7a2bff97f6446a82749f8f3001aa45b1_activity.pkl b/backend/instance/sessions/7a2bff97f6446a82749f8f3001aa45b1_activity.pkl new file mode 100644 index 000000000..522e0c46f Binary files /dev/null and b/backend/instance/sessions/7a2bff97f6446a82749f8f3001aa45b1_activity.pkl differ diff --git a/backend/instance/sessions/7afc50d4c1bfd3a7d9732539b0242e92_activity.pkl b/backend/instance/sessions/7afc50d4c1bfd3a7d9732539b0242e92_activity.pkl new file mode 100644 index 000000000..79125b1e3 Binary files /dev/null and b/backend/instance/sessions/7afc50d4c1bfd3a7d9732539b0242e92_activity.pkl differ diff --git a/backend/instance/sessions/7b294ecb10fc70cde645e6f3bb6324fb_activity.pkl b/backend/instance/sessions/7b294ecb10fc70cde645e6f3bb6324fb_activity.pkl new file mode 100644 index 000000000..ecd881e4b Binary files /dev/null and b/backend/instance/sessions/7b294ecb10fc70cde645e6f3bb6324fb_activity.pkl differ diff --git a/backend/instance/sessions/7b666bd78ed4c1d5e794067709819987_activity.pkl b/backend/instance/sessions/7b666bd78ed4c1d5e794067709819987_activity.pkl new file mode 100644 index 000000000..0ccb0d793 Binary files /dev/null and b/backend/instance/sessions/7b666bd78ed4c1d5e794067709819987_activity.pkl differ diff --git a/backend/instance/sessions/7bf9e936b9c6bbf0cf8116a0c3848966_activity.pkl b/backend/instance/sessions/7bf9e936b9c6bbf0cf8116a0c3848966_activity.pkl new file mode 100644 index 000000000..010e6a648 Binary files /dev/null and b/backend/instance/sessions/7bf9e936b9c6bbf0cf8116a0c3848966_activity.pkl differ diff --git a/backend/instance/sessions/7c2a398a9b6a588a7ef1d5b137e415fb_activity.pkl b/backend/instance/sessions/7c2a398a9b6a588a7ef1d5b137e415fb_activity.pkl new file mode 100644 index 000000000..7cf159f37 Binary files /dev/null and b/backend/instance/sessions/7c2a398a9b6a588a7ef1d5b137e415fb_activity.pkl differ diff --git a/backend/instance/sessions/7c43bed46342902a8664c631c5d08bb0_activity.pkl b/backend/instance/sessions/7c43bed46342902a8664c631c5d08bb0_activity.pkl new file mode 100644 index 000000000..c566ce248 Binary files /dev/null and b/backend/instance/sessions/7c43bed46342902a8664c631c5d08bb0_activity.pkl differ diff --git a/backend/instance/sessions/7cbca295eb16598b894192d3b8bddc4a_activity.pkl b/backend/instance/sessions/7cbca295eb16598b894192d3b8bddc4a_activity.pkl new file mode 100644 index 000000000..dd8b9fee8 Binary files /dev/null and b/backend/instance/sessions/7cbca295eb16598b894192d3b8bddc4a_activity.pkl differ diff --git a/backend/instance/sessions/7ccffe43f719579b3a96cdd6b5884f71_activity.pkl b/backend/instance/sessions/7ccffe43f719579b3a96cdd6b5884f71_activity.pkl new file mode 100644 index 000000000..6ccace060 Binary files /dev/null and b/backend/instance/sessions/7ccffe43f719579b3a96cdd6b5884f71_activity.pkl differ diff --git a/backend/instance/sessions/7d377b9786c75fa4d518e4aee3635f8a_activity.pkl b/backend/instance/sessions/7d377b9786c75fa4d518e4aee3635f8a_activity.pkl new file mode 100644 index 000000000..f894a68c9 Binary files /dev/null and b/backend/instance/sessions/7d377b9786c75fa4d518e4aee3635f8a_activity.pkl differ diff --git a/backend/instance/sessions/7daa585aea973719288ecf3951240390_activity.pkl b/backend/instance/sessions/7daa585aea973719288ecf3951240390_activity.pkl new file mode 100644 index 000000000..6e8ad358d Binary files /dev/null and b/backend/instance/sessions/7daa585aea973719288ecf3951240390_activity.pkl differ diff --git a/backend/instance/sessions/7e0d296d33fa665bc389caa481909962_activity.pkl b/backend/instance/sessions/7e0d296d33fa665bc389caa481909962_activity.pkl new file mode 100644 index 000000000..67477a34b Binary files /dev/null and b/backend/instance/sessions/7e0d296d33fa665bc389caa481909962_activity.pkl differ diff --git a/backend/instance/sessions/7e330c6442bc60b1741a99b545d01f25_activity.pkl b/backend/instance/sessions/7e330c6442bc60b1741a99b545d01f25_activity.pkl new file mode 100644 index 000000000..1a7640cf6 Binary files /dev/null and b/backend/instance/sessions/7e330c6442bc60b1741a99b545d01f25_activity.pkl differ diff --git a/backend/instance/sessions/7e78d59f2f1cba325aef51374a7d26bc_activity.pkl b/backend/instance/sessions/7e78d59f2f1cba325aef51374a7d26bc_activity.pkl new file mode 100644 index 000000000..47d5b8164 Binary files /dev/null and b/backend/instance/sessions/7e78d59f2f1cba325aef51374a7d26bc_activity.pkl differ diff --git a/backend/instance/sessions/7e8cb016fc6c93c115446ead4853fb6d_activity.pkl b/backend/instance/sessions/7e8cb016fc6c93c115446ead4853fb6d_activity.pkl new file mode 100644 index 000000000..3c3f5b5c6 Binary files /dev/null and b/backend/instance/sessions/7e8cb016fc6c93c115446ead4853fb6d_activity.pkl differ diff --git a/backend/instance/sessions/7ed1d884bc3cf2981d701a41b405d915_activity.pkl b/backend/instance/sessions/7ed1d884bc3cf2981d701a41b405d915_activity.pkl new file mode 100644 index 000000000..0aab103ee Binary files /dev/null and b/backend/instance/sessions/7ed1d884bc3cf2981d701a41b405d915_activity.pkl differ diff --git a/backend/instance/sessions/7f160d5dae959acac19c494e596ef9b7_activity.pkl b/backend/instance/sessions/7f160d5dae959acac19c494e596ef9b7_activity.pkl new file mode 100644 index 000000000..d4769915d Binary files /dev/null and b/backend/instance/sessions/7f160d5dae959acac19c494e596ef9b7_activity.pkl differ diff --git a/backend/instance/sessions/7feb73c1a77156ed32af5c7449355259_activity.pkl b/backend/instance/sessions/7feb73c1a77156ed32af5c7449355259_activity.pkl new file mode 100644 index 000000000..0bb3009e2 Binary files /dev/null and b/backend/instance/sessions/7feb73c1a77156ed32af5c7449355259_activity.pkl differ diff --git a/backend/instance/sessions/801a28ba8ab4a9f1718e747d8f6ebc10_activity.pkl b/backend/instance/sessions/801a28ba8ab4a9f1718e747d8f6ebc10_activity.pkl new file mode 100644 index 000000000..3f799f544 Binary files /dev/null and b/backend/instance/sessions/801a28ba8ab4a9f1718e747d8f6ebc10_activity.pkl differ diff --git a/backend/instance/sessions/8041fa64ddd986d6cd5a79a3cdc1868e_activity.pkl b/backend/instance/sessions/8041fa64ddd986d6cd5a79a3cdc1868e_activity.pkl new file mode 100644 index 000000000..0f67b5e2e Binary files /dev/null and b/backend/instance/sessions/8041fa64ddd986d6cd5a79a3cdc1868e_activity.pkl differ diff --git a/backend/instance/sessions/8046da1e409fe546c319df2bec5b1e9a_activity.pkl b/backend/instance/sessions/8046da1e409fe546c319df2bec5b1e9a_activity.pkl new file mode 100644 index 000000000..e05a85e27 Binary files /dev/null and b/backend/instance/sessions/8046da1e409fe546c319df2bec5b1e9a_activity.pkl differ diff --git a/backend/instance/sessions/819eeb93e1f6c641e710390ae8bb1e5e_activity.pkl b/backend/instance/sessions/819eeb93e1f6c641e710390ae8bb1e5e_activity.pkl new file mode 100644 index 000000000..c1c4d1de7 Binary files /dev/null and b/backend/instance/sessions/819eeb93e1f6c641e710390ae8bb1e5e_activity.pkl differ diff --git a/backend/instance/sessions/81cef69e695a077e287f4d047249e6cf_activity.pkl b/backend/instance/sessions/81cef69e695a077e287f4d047249e6cf_activity.pkl new file mode 100644 index 000000000..8b68956f5 Binary files /dev/null and b/backend/instance/sessions/81cef69e695a077e287f4d047249e6cf_activity.pkl differ diff --git a/backend/instance/sessions/81e1057debb1732d86041eba51e41ca6_activity.pkl b/backend/instance/sessions/81e1057debb1732d86041eba51e41ca6_activity.pkl new file mode 100644 index 000000000..4ed3a9afb Binary files /dev/null and b/backend/instance/sessions/81e1057debb1732d86041eba51e41ca6_activity.pkl differ diff --git a/backend/instance/sessions/838640a15f653c40cf01d585ee7c4853_activity.pkl b/backend/instance/sessions/838640a15f653c40cf01d585ee7c4853_activity.pkl new file mode 100644 index 000000000..214f99401 Binary files /dev/null and b/backend/instance/sessions/838640a15f653c40cf01d585ee7c4853_activity.pkl differ diff --git a/backend/instance/sessions/84afd397ccf147b7c9a80c7ab71f91c5_activity.pkl b/backend/instance/sessions/84afd397ccf147b7c9a80c7ab71f91c5_activity.pkl new file mode 100644 index 000000000..60ff39fbe Binary files /dev/null and b/backend/instance/sessions/84afd397ccf147b7c9a80c7ab71f91c5_activity.pkl differ diff --git a/backend/instance/sessions/84b9e8d932f5129614aef2b19e3e4e6e_activity.pkl b/backend/instance/sessions/84b9e8d932f5129614aef2b19e3e4e6e_activity.pkl new file mode 100644 index 000000000..39e0791c5 Binary files /dev/null and b/backend/instance/sessions/84b9e8d932f5129614aef2b19e3e4e6e_activity.pkl differ diff --git a/backend/instance/sessions/8503f190ee4a0c79567cef36893b1614_activity.pkl b/backend/instance/sessions/8503f190ee4a0c79567cef36893b1614_activity.pkl new file mode 100644 index 000000000..365646771 Binary files /dev/null and b/backend/instance/sessions/8503f190ee4a0c79567cef36893b1614_activity.pkl differ diff --git a/backend/instance/sessions/852e559b4e1594f6a1047709efc95999_activity.pkl b/backend/instance/sessions/852e559b4e1594f6a1047709efc95999_activity.pkl new file mode 100644 index 000000000..cb987e913 Binary files /dev/null and b/backend/instance/sessions/852e559b4e1594f6a1047709efc95999_activity.pkl differ diff --git a/backend/instance/sessions/85725942a10fd0cb3f0f92f8ed911cd4_activity.pkl b/backend/instance/sessions/85725942a10fd0cb3f0f92f8ed911cd4_activity.pkl new file mode 100644 index 000000000..ed6bd93ba Binary files /dev/null and b/backend/instance/sessions/85725942a10fd0cb3f0f92f8ed911cd4_activity.pkl differ diff --git a/backend/instance/sessions/85af8613e26d1887674f93d38d431771_activity.pkl b/backend/instance/sessions/85af8613e26d1887674f93d38d431771_activity.pkl new file mode 100644 index 000000000..0d2edf307 Binary files /dev/null and b/backend/instance/sessions/85af8613e26d1887674f93d38d431771_activity.pkl differ diff --git a/backend/instance/sessions/85e343a10eec637542756f46cae3f286_activity.pkl b/backend/instance/sessions/85e343a10eec637542756f46cae3f286_activity.pkl new file mode 100644 index 000000000..acca86ac7 Binary files /dev/null and b/backend/instance/sessions/85e343a10eec637542756f46cae3f286_activity.pkl differ diff --git a/backend/instance/sessions/86684b195df15f703b4ce25cba7a9d42_activity.pkl b/backend/instance/sessions/86684b195df15f703b4ce25cba7a9d42_activity.pkl new file mode 100644 index 000000000..ecd0ef02b Binary files /dev/null and b/backend/instance/sessions/86684b195df15f703b4ce25cba7a9d42_activity.pkl differ diff --git a/backend/instance/sessions/86dfd502c5930c6e9fea92d0d77e4eb7_activity.pkl b/backend/instance/sessions/86dfd502c5930c6e9fea92d0d77e4eb7_activity.pkl new file mode 100644 index 000000000..33969194f Binary files /dev/null and b/backend/instance/sessions/86dfd502c5930c6e9fea92d0d77e4eb7_activity.pkl differ diff --git a/backend/instance/sessions/87537d1bb33679a58c84f9e135c5c1f5_activity.pkl b/backend/instance/sessions/87537d1bb33679a58c84f9e135c5c1f5_activity.pkl new file mode 100644 index 000000000..e8869f3b7 Binary files /dev/null and b/backend/instance/sessions/87537d1bb33679a58c84f9e135c5c1f5_activity.pkl differ diff --git a/backend/instance/sessions/87a213b1d6e75b9e5089cf4da574d38a_activity.pkl b/backend/instance/sessions/87a213b1d6e75b9e5089cf4da574d38a_activity.pkl new file mode 100644 index 000000000..179d0998e Binary files /dev/null and b/backend/instance/sessions/87a213b1d6e75b9e5089cf4da574d38a_activity.pkl differ diff --git a/backend/instance/sessions/8821ed897e68159390eafa210b5620ff_activity.pkl b/backend/instance/sessions/8821ed897e68159390eafa210b5620ff_activity.pkl new file mode 100644 index 000000000..09e7b60d7 Binary files /dev/null and b/backend/instance/sessions/8821ed897e68159390eafa210b5620ff_activity.pkl differ diff --git a/backend/instance/sessions/889d6e3ae6aac02fb3116bf5bddf56cb_activity.pkl b/backend/instance/sessions/889d6e3ae6aac02fb3116bf5bddf56cb_activity.pkl new file mode 100644 index 000000000..0b245b151 Binary files /dev/null and b/backend/instance/sessions/889d6e3ae6aac02fb3116bf5bddf56cb_activity.pkl differ diff --git a/backend/instance/sessions/894c8c88a4f8a0f1ba5d65feb6720f54_activity.pkl b/backend/instance/sessions/894c8c88a4f8a0f1ba5d65feb6720f54_activity.pkl new file mode 100644 index 000000000..c7eeab9aa Binary files /dev/null and b/backend/instance/sessions/894c8c88a4f8a0f1ba5d65feb6720f54_activity.pkl differ diff --git a/backend/instance/sessions/8990ac7b7b0e8dd146bf3f6819416f90_activity.pkl b/backend/instance/sessions/8990ac7b7b0e8dd146bf3f6819416f90_activity.pkl new file mode 100644 index 000000000..f206b9d15 Binary files /dev/null and b/backend/instance/sessions/8990ac7b7b0e8dd146bf3f6819416f90_activity.pkl differ diff --git a/backend/instance/sessions/89b2b0c2889cdfbc416ee38bf17d8a4d_activity.pkl b/backend/instance/sessions/89b2b0c2889cdfbc416ee38bf17d8a4d_activity.pkl new file mode 100644 index 000000000..ee3255bf2 Binary files /dev/null and b/backend/instance/sessions/89b2b0c2889cdfbc416ee38bf17d8a4d_activity.pkl differ diff --git a/backend/instance/sessions/89cf80dcd2dfebcc05cdc0ac44f153d6_activity.pkl b/backend/instance/sessions/89cf80dcd2dfebcc05cdc0ac44f153d6_activity.pkl new file mode 100644 index 000000000..dca09ba4c Binary files /dev/null and b/backend/instance/sessions/89cf80dcd2dfebcc05cdc0ac44f153d6_activity.pkl differ diff --git a/backend/instance/sessions/8a781af25c516852e8cd9141dfef4fe2_activity.pkl b/backend/instance/sessions/8a781af25c516852e8cd9141dfef4fe2_activity.pkl new file mode 100644 index 000000000..26dcc327b Binary files /dev/null and b/backend/instance/sessions/8a781af25c516852e8cd9141dfef4fe2_activity.pkl differ diff --git a/backend/instance/sessions/8a9d953bfb44e6457016ac20eb2deba2_activity.pkl b/backend/instance/sessions/8a9d953bfb44e6457016ac20eb2deba2_activity.pkl new file mode 100644 index 000000000..9680782df Binary files /dev/null and b/backend/instance/sessions/8a9d953bfb44e6457016ac20eb2deba2_activity.pkl differ diff --git a/backend/instance/sessions/8ab18fc78a56f682f9832117d2631968_activity.pkl b/backend/instance/sessions/8ab18fc78a56f682f9832117d2631968_activity.pkl new file mode 100644 index 000000000..05b9eaa26 Binary files /dev/null and b/backend/instance/sessions/8ab18fc78a56f682f9832117d2631968_activity.pkl differ diff --git a/backend/instance/sessions/8affa387e1b48fc034bd3928b91e51b8_activity.pkl b/backend/instance/sessions/8affa387e1b48fc034bd3928b91e51b8_activity.pkl new file mode 100644 index 000000000..26ab0acfa Binary files /dev/null and b/backend/instance/sessions/8affa387e1b48fc034bd3928b91e51b8_activity.pkl differ diff --git a/backend/instance/sessions/8b0335d585cb6086cf8daf2e7b17c582_activity.pkl b/backend/instance/sessions/8b0335d585cb6086cf8daf2e7b17c582_activity.pkl new file mode 100644 index 000000000..2c08adb48 Binary files /dev/null and b/backend/instance/sessions/8b0335d585cb6086cf8daf2e7b17c582_activity.pkl differ diff --git a/backend/instance/sessions/8b0bd6da90befbe8927726c15e1e6a8b_activity.pkl b/backend/instance/sessions/8b0bd6da90befbe8927726c15e1e6a8b_activity.pkl new file mode 100644 index 000000000..7080f1a3d Binary files /dev/null and b/backend/instance/sessions/8b0bd6da90befbe8927726c15e1e6a8b_activity.pkl differ diff --git a/backend/instance/sessions/8b3df38bee14b2be20222715bc234649_activity.pkl b/backend/instance/sessions/8b3df38bee14b2be20222715bc234649_activity.pkl new file mode 100644 index 000000000..d1a68c213 Binary files /dev/null and b/backend/instance/sessions/8b3df38bee14b2be20222715bc234649_activity.pkl differ diff --git a/backend/instance/sessions/8b4f6c6ea9e6771d91c59b51f7338d99_activity.pkl b/backend/instance/sessions/8b4f6c6ea9e6771d91c59b51f7338d99_activity.pkl new file mode 100644 index 000000000..c5a6ce993 Binary files /dev/null and b/backend/instance/sessions/8b4f6c6ea9e6771d91c59b51f7338d99_activity.pkl differ diff --git a/backend/instance/sessions/8b5cc79f7550a1b08bee54a994f08bb4_activity.pkl b/backend/instance/sessions/8b5cc79f7550a1b08bee54a994f08bb4_activity.pkl new file mode 100644 index 000000000..2bfdaf0b0 Binary files /dev/null and b/backend/instance/sessions/8b5cc79f7550a1b08bee54a994f08bb4_activity.pkl differ diff --git a/backend/instance/sessions/8bc9e1af422ea82fff4aa638c2629b0b_activity.pkl b/backend/instance/sessions/8bc9e1af422ea82fff4aa638c2629b0b_activity.pkl new file mode 100644 index 000000000..b540e214d Binary files /dev/null and b/backend/instance/sessions/8bc9e1af422ea82fff4aa638c2629b0b_activity.pkl differ diff --git a/backend/instance/sessions/8bd5ed72bae1c09c4600986c7c400190_activity.pkl b/backend/instance/sessions/8bd5ed72bae1c09c4600986c7c400190_activity.pkl new file mode 100644 index 000000000..f2dda4b8b Binary files /dev/null and b/backend/instance/sessions/8bd5ed72bae1c09c4600986c7c400190_activity.pkl differ diff --git a/backend/instance/sessions/8c0320e7c483cc9731c0496c242c8d0d_activity.pkl b/backend/instance/sessions/8c0320e7c483cc9731c0496c242c8d0d_activity.pkl new file mode 100644 index 000000000..3a44b9739 Binary files /dev/null and b/backend/instance/sessions/8c0320e7c483cc9731c0496c242c8d0d_activity.pkl differ diff --git a/backend/instance/sessions/8c6729cc2b906dc714eec16a94182b31_activity.pkl b/backend/instance/sessions/8c6729cc2b906dc714eec16a94182b31_activity.pkl new file mode 100644 index 000000000..f35f0872f Binary files /dev/null and b/backend/instance/sessions/8c6729cc2b906dc714eec16a94182b31_activity.pkl differ diff --git a/backend/instance/sessions/8cbcc479095d7b0349249c3ebf0e09c6_activity.pkl b/backend/instance/sessions/8cbcc479095d7b0349249c3ebf0e09c6_activity.pkl new file mode 100644 index 000000000..15ace353d Binary files /dev/null and b/backend/instance/sessions/8cbcc479095d7b0349249c3ebf0e09c6_activity.pkl differ diff --git a/backend/instance/sessions/8cdf2380be2d64eab593a8fa9e83272a_activity.pkl b/backend/instance/sessions/8cdf2380be2d64eab593a8fa9e83272a_activity.pkl new file mode 100644 index 000000000..917e1e08f Binary files /dev/null and b/backend/instance/sessions/8cdf2380be2d64eab593a8fa9e83272a_activity.pkl differ diff --git a/backend/instance/sessions/8d19b5029cf57348a429d55d6c4d8b32_activity.pkl b/backend/instance/sessions/8d19b5029cf57348a429d55d6c4d8b32_activity.pkl new file mode 100644 index 000000000..909885964 Binary files /dev/null and b/backend/instance/sessions/8d19b5029cf57348a429d55d6c4d8b32_activity.pkl differ diff --git a/backend/instance/sessions/8d56cea8d99ee6ee5b483d717edbcabd_activity.pkl b/backend/instance/sessions/8d56cea8d99ee6ee5b483d717edbcabd_activity.pkl new file mode 100644 index 000000000..99af90979 Binary files /dev/null and b/backend/instance/sessions/8d56cea8d99ee6ee5b483d717edbcabd_activity.pkl differ diff --git a/backend/instance/sessions/8d61c7a36eaca80d6832cd120376f5cc_activity.pkl b/backend/instance/sessions/8d61c7a36eaca80d6832cd120376f5cc_activity.pkl new file mode 100644 index 000000000..5b8b21ba3 Binary files /dev/null and b/backend/instance/sessions/8d61c7a36eaca80d6832cd120376f5cc_activity.pkl differ diff --git a/backend/instance/sessions/8d85fb72efc78f520c3172e1079a7839_activity.pkl b/backend/instance/sessions/8d85fb72efc78f520c3172e1079a7839_activity.pkl new file mode 100644 index 000000000..662c6e3ab Binary files /dev/null and b/backend/instance/sessions/8d85fb72efc78f520c3172e1079a7839_activity.pkl differ diff --git a/backend/instance/sessions/8df5cae786de42eff7f0e0925145fd2c_activity.pkl b/backend/instance/sessions/8df5cae786de42eff7f0e0925145fd2c_activity.pkl new file mode 100644 index 000000000..db689c7e9 Binary files /dev/null and b/backend/instance/sessions/8df5cae786de42eff7f0e0925145fd2c_activity.pkl differ diff --git a/backend/instance/sessions/8eabc175005ea7d936ff7258e9846f60_activity.pkl b/backend/instance/sessions/8eabc175005ea7d936ff7258e9846f60_activity.pkl new file mode 100644 index 000000000..4b266b720 Binary files /dev/null and b/backend/instance/sessions/8eabc175005ea7d936ff7258e9846f60_activity.pkl differ diff --git a/backend/instance/sessions/8edf00b32d85fe0cdf552832234de8c6_activity.pkl b/backend/instance/sessions/8edf00b32d85fe0cdf552832234de8c6_activity.pkl new file mode 100644 index 000000000..69bc2ac00 Binary files /dev/null and b/backend/instance/sessions/8edf00b32d85fe0cdf552832234de8c6_activity.pkl differ diff --git a/backend/instance/sessions/8f3ff005334cde138fd82f09fe9b003e_activity.pkl b/backend/instance/sessions/8f3ff005334cde138fd82f09fe9b003e_activity.pkl new file mode 100644 index 000000000..8447f59cf Binary files /dev/null and b/backend/instance/sessions/8f3ff005334cde138fd82f09fe9b003e_activity.pkl differ diff --git a/backend/instance/sessions/8f60ce98e5e698e84b06cfef4276c414_activity.pkl b/backend/instance/sessions/8f60ce98e5e698e84b06cfef4276c414_activity.pkl new file mode 100644 index 000000000..1a58fd8b3 Binary files /dev/null and b/backend/instance/sessions/8f60ce98e5e698e84b06cfef4276c414_activity.pkl differ diff --git a/backend/instance/sessions/8f8545a3b70bf5c11eb3e10666c0ebec_activity.pkl b/backend/instance/sessions/8f8545a3b70bf5c11eb3e10666c0ebec_activity.pkl new file mode 100644 index 000000000..f49de3c64 Binary files /dev/null and b/backend/instance/sessions/8f8545a3b70bf5c11eb3e10666c0ebec_activity.pkl differ diff --git a/backend/instance/sessions/8f87805d48cf9eb128244591c0004728_activity.pkl b/backend/instance/sessions/8f87805d48cf9eb128244591c0004728_activity.pkl new file mode 100644 index 000000000..f1721bd2e Binary files /dev/null and b/backend/instance/sessions/8f87805d48cf9eb128244591c0004728_activity.pkl differ diff --git a/backend/instance/sessions/8fdb77256631702511dbb26c47be5c24_activity.pkl b/backend/instance/sessions/8fdb77256631702511dbb26c47be5c24_activity.pkl new file mode 100644 index 000000000..4d7a489bf Binary files /dev/null and b/backend/instance/sessions/8fdb77256631702511dbb26c47be5c24_activity.pkl differ diff --git a/backend/instance/sessions/906d28c067729813b313615fe0b9bce4_activity.pkl b/backend/instance/sessions/906d28c067729813b313615fe0b9bce4_activity.pkl new file mode 100644 index 000000000..bdf88b5bd Binary files /dev/null and b/backend/instance/sessions/906d28c067729813b313615fe0b9bce4_activity.pkl differ diff --git a/backend/instance/sessions/9198743b7538389561dbc9248fc1b0de_activity.pkl b/backend/instance/sessions/9198743b7538389561dbc9248fc1b0de_activity.pkl new file mode 100644 index 000000000..37e516e42 Binary files /dev/null and b/backend/instance/sessions/9198743b7538389561dbc9248fc1b0de_activity.pkl differ diff --git a/backend/instance/sessions/92e00921dcdc405b59aa02e430ef5ac3_activity.pkl b/backend/instance/sessions/92e00921dcdc405b59aa02e430ef5ac3_activity.pkl new file mode 100644 index 000000000..5dd0eb79e Binary files /dev/null and b/backend/instance/sessions/92e00921dcdc405b59aa02e430ef5ac3_activity.pkl differ diff --git a/backend/instance/sessions/93c03717f8fb9a863a64ac6f7d66a996_activity.pkl b/backend/instance/sessions/93c03717f8fb9a863a64ac6f7d66a996_activity.pkl new file mode 100644 index 000000000..a50bc6b8d Binary files /dev/null and b/backend/instance/sessions/93c03717f8fb9a863a64ac6f7d66a996_activity.pkl differ diff --git a/backend/instance/sessions/93ccb6316cb0b2fc0cee0745238dfa27_activity.pkl b/backend/instance/sessions/93ccb6316cb0b2fc0cee0745238dfa27_activity.pkl new file mode 100644 index 000000000..20f42af09 Binary files /dev/null and b/backend/instance/sessions/93ccb6316cb0b2fc0cee0745238dfa27_activity.pkl differ diff --git a/backend/instance/sessions/948631185ea758930ccf9c5404af42b5_activity.pkl b/backend/instance/sessions/948631185ea758930ccf9c5404af42b5_activity.pkl new file mode 100644 index 000000000..8a9beb2a8 Binary files /dev/null and b/backend/instance/sessions/948631185ea758930ccf9c5404af42b5_activity.pkl differ diff --git a/backend/instance/sessions/95127158a4b1b94307f4284b979e221b_activity.pkl b/backend/instance/sessions/95127158a4b1b94307f4284b979e221b_activity.pkl new file mode 100644 index 000000000..737700aa6 Binary files /dev/null and b/backend/instance/sessions/95127158a4b1b94307f4284b979e221b_activity.pkl differ diff --git a/backend/instance/sessions/9584a362d1927394f513b4ac9857094c_activity.pkl b/backend/instance/sessions/9584a362d1927394f513b4ac9857094c_activity.pkl new file mode 100644 index 000000000..a6d174ff6 Binary files /dev/null and b/backend/instance/sessions/9584a362d1927394f513b4ac9857094c_activity.pkl differ diff --git a/backend/instance/sessions/95cfb8b0d35f7e6613d17f4f3a8db63c_activity.pkl b/backend/instance/sessions/95cfb8b0d35f7e6613d17f4f3a8db63c_activity.pkl new file mode 100644 index 000000000..a54403981 Binary files /dev/null and b/backend/instance/sessions/95cfb8b0d35f7e6613d17f4f3a8db63c_activity.pkl differ diff --git a/backend/instance/sessions/96371cf05870261b552eefba163cd109_activity.pkl b/backend/instance/sessions/96371cf05870261b552eefba163cd109_activity.pkl new file mode 100644 index 000000000..926bb64ad Binary files /dev/null and b/backend/instance/sessions/96371cf05870261b552eefba163cd109_activity.pkl differ diff --git a/backend/instance/sessions/96803439e2f37d25bc38554e8d83d2f5_activity.pkl b/backend/instance/sessions/96803439e2f37d25bc38554e8d83d2f5_activity.pkl new file mode 100644 index 000000000..29b6884ac Binary files /dev/null and b/backend/instance/sessions/96803439e2f37d25bc38554e8d83d2f5_activity.pkl differ diff --git a/backend/instance/sessions/96c4b112ee0c2f0f8487a10b032fdda2_activity.pkl b/backend/instance/sessions/96c4b112ee0c2f0f8487a10b032fdda2_activity.pkl new file mode 100644 index 000000000..7c8e2aa00 Binary files /dev/null and b/backend/instance/sessions/96c4b112ee0c2f0f8487a10b032fdda2_activity.pkl differ diff --git a/backend/instance/sessions/9702a9537b27c90424f5160d5a937056_activity.pkl b/backend/instance/sessions/9702a9537b27c90424f5160d5a937056_activity.pkl new file mode 100644 index 000000000..d30dde72c Binary files /dev/null and b/backend/instance/sessions/9702a9537b27c90424f5160d5a937056_activity.pkl differ diff --git a/backend/instance/sessions/98bcc111e7d3681e3a488e46971e9264_activity.pkl b/backend/instance/sessions/98bcc111e7d3681e3a488e46971e9264_activity.pkl new file mode 100644 index 000000000..c362c7800 Binary files /dev/null and b/backend/instance/sessions/98bcc111e7d3681e3a488e46971e9264_activity.pkl differ diff --git a/backend/instance/sessions/992fd2d71293cfa6c4ade1c5181b42ae_activity.pkl b/backend/instance/sessions/992fd2d71293cfa6c4ade1c5181b42ae_activity.pkl new file mode 100644 index 000000000..f4515daa5 Binary files /dev/null and b/backend/instance/sessions/992fd2d71293cfa6c4ade1c5181b42ae_activity.pkl differ diff --git a/backend/instance/sessions/993834f87bb7b21437c053a8a7a4490a_activity.pkl b/backend/instance/sessions/993834f87bb7b21437c053a8a7a4490a_activity.pkl new file mode 100644 index 000000000..26c521b7a Binary files /dev/null and b/backend/instance/sessions/993834f87bb7b21437c053a8a7a4490a_activity.pkl differ diff --git a/backend/instance/sessions/99b9ba8594ffd89f149f9a5562e992a5_activity.pkl b/backend/instance/sessions/99b9ba8594ffd89f149f9a5562e992a5_activity.pkl new file mode 100644 index 000000000..909075089 Binary files /dev/null and b/backend/instance/sessions/99b9ba8594ffd89f149f9a5562e992a5_activity.pkl differ diff --git a/backend/instance/sessions/9a6ec1ebef6556e3f93a6b759b05ff03_activity.pkl b/backend/instance/sessions/9a6ec1ebef6556e3f93a6b759b05ff03_activity.pkl new file mode 100644 index 000000000..22f2e62f4 Binary files /dev/null and b/backend/instance/sessions/9a6ec1ebef6556e3f93a6b759b05ff03_activity.pkl differ diff --git a/backend/instance/sessions/9abd0e1dd29569d64d273f7a49cb72fb_activity.pkl b/backend/instance/sessions/9abd0e1dd29569d64d273f7a49cb72fb_activity.pkl new file mode 100644 index 000000000..765c3cd7b Binary files /dev/null and b/backend/instance/sessions/9abd0e1dd29569d64d273f7a49cb72fb_activity.pkl differ diff --git a/backend/instance/sessions/9acdcb8ad5567de041963030a6cce46d_activity.pkl b/backend/instance/sessions/9acdcb8ad5567de041963030a6cce46d_activity.pkl new file mode 100644 index 000000000..5eaf9df1c Binary files /dev/null and b/backend/instance/sessions/9acdcb8ad5567de041963030a6cce46d_activity.pkl differ diff --git a/backend/instance/sessions/9bb820bd3dee50308a1254d6a37074bb_activity.pkl b/backend/instance/sessions/9bb820bd3dee50308a1254d6a37074bb_activity.pkl new file mode 100644 index 000000000..2915885a6 Binary files /dev/null and b/backend/instance/sessions/9bb820bd3dee50308a1254d6a37074bb_activity.pkl differ diff --git a/backend/instance/sessions/9c476d6224f486a4a30f7ded34621d6c_activity.pkl b/backend/instance/sessions/9c476d6224f486a4a30f7ded34621d6c_activity.pkl new file mode 100644 index 000000000..d610b9afe Binary files /dev/null and b/backend/instance/sessions/9c476d6224f486a4a30f7ded34621d6c_activity.pkl differ diff --git a/backend/instance/sessions/9c5ca21705b87f3f917f2f3d08bde002_activity.pkl b/backend/instance/sessions/9c5ca21705b87f3f917f2f3d08bde002_activity.pkl new file mode 100644 index 000000000..2d3b56376 Binary files /dev/null and b/backend/instance/sessions/9c5ca21705b87f3f917f2f3d08bde002_activity.pkl differ diff --git a/backend/instance/sessions/9c63871434e03980ce9db2e00e997a10_activity.pkl b/backend/instance/sessions/9c63871434e03980ce9db2e00e997a10_activity.pkl new file mode 100644 index 000000000..9bacc4828 Binary files /dev/null and b/backend/instance/sessions/9c63871434e03980ce9db2e00e997a10_activity.pkl differ diff --git a/backend/instance/sessions/9d1b3be2746cb6f348ef3ac0521010c4_activity.pkl b/backend/instance/sessions/9d1b3be2746cb6f348ef3ac0521010c4_activity.pkl new file mode 100644 index 000000000..c50764423 Binary files /dev/null and b/backend/instance/sessions/9d1b3be2746cb6f348ef3ac0521010c4_activity.pkl differ diff --git a/backend/instance/sessions/9d2ff6ee115a239a52a82e6b701f6a5b_activity.pkl b/backend/instance/sessions/9d2ff6ee115a239a52a82e6b701f6a5b_activity.pkl new file mode 100644 index 000000000..84dd77cfb Binary files /dev/null and b/backend/instance/sessions/9d2ff6ee115a239a52a82e6b701f6a5b_activity.pkl differ diff --git a/backend/instance/sessions/9d88ac9c28f7fde3d78f55eb0bceeaa1_activity.pkl b/backend/instance/sessions/9d88ac9c28f7fde3d78f55eb0bceeaa1_activity.pkl new file mode 100644 index 000000000..1c8dfadb5 Binary files /dev/null and b/backend/instance/sessions/9d88ac9c28f7fde3d78f55eb0bceeaa1_activity.pkl differ diff --git a/backend/instance/sessions/9dab39a0469bc1a25e3e843e4a4de14a_activity.pkl b/backend/instance/sessions/9dab39a0469bc1a25e3e843e4a4de14a_activity.pkl new file mode 100644 index 000000000..3a33cd9a7 Binary files /dev/null and b/backend/instance/sessions/9dab39a0469bc1a25e3e843e4a4de14a_activity.pkl differ diff --git a/backend/instance/sessions/9daf58a0ff964844d991ef201cb7b9d1_activity.pkl b/backend/instance/sessions/9daf58a0ff964844d991ef201cb7b9d1_activity.pkl new file mode 100644 index 000000000..daf4c5588 Binary files /dev/null and b/backend/instance/sessions/9daf58a0ff964844d991ef201cb7b9d1_activity.pkl differ diff --git a/backend/instance/sessions/9dc0f2cc93d3da5e72e0fd9f3e55220d_activity.pkl b/backend/instance/sessions/9dc0f2cc93d3da5e72e0fd9f3e55220d_activity.pkl new file mode 100644 index 000000000..21f0f494e Binary files /dev/null and b/backend/instance/sessions/9dc0f2cc93d3da5e72e0fd9f3e55220d_activity.pkl differ diff --git a/backend/instance/sessions/9dd035c65f1bc9b4df194d68b70d78c3_activity.pkl b/backend/instance/sessions/9dd035c65f1bc9b4df194d68b70d78c3_activity.pkl new file mode 100644 index 000000000..019833341 Binary files /dev/null and b/backend/instance/sessions/9dd035c65f1bc9b4df194d68b70d78c3_activity.pkl differ diff --git a/backend/instance/sessions/9de6829c416d922d76e1590c6d0397e6_activity.pkl b/backend/instance/sessions/9de6829c416d922d76e1590c6d0397e6_activity.pkl new file mode 100644 index 000000000..bc999ee10 Binary files /dev/null and b/backend/instance/sessions/9de6829c416d922d76e1590c6d0397e6_activity.pkl differ diff --git a/backend/instance/sessions/9e1f4b383b480e94c8ad413804574edf_activity.pkl b/backend/instance/sessions/9e1f4b383b480e94c8ad413804574edf_activity.pkl new file mode 100644 index 000000000..9b15825ad Binary files /dev/null and b/backend/instance/sessions/9e1f4b383b480e94c8ad413804574edf_activity.pkl differ diff --git a/backend/instance/sessions/9e42c71a7cd096bc3370aead69796ba5_activity.pkl b/backend/instance/sessions/9e42c71a7cd096bc3370aead69796ba5_activity.pkl new file mode 100644 index 000000000..3c0a30608 Binary files /dev/null and b/backend/instance/sessions/9e42c71a7cd096bc3370aead69796ba5_activity.pkl differ diff --git a/backend/instance/sessions/9e5d92a195977a51c55965afa2f1dde6_activity.pkl b/backend/instance/sessions/9e5d92a195977a51c55965afa2f1dde6_activity.pkl new file mode 100644 index 000000000..23842e746 Binary files /dev/null and b/backend/instance/sessions/9e5d92a195977a51c55965afa2f1dde6_activity.pkl differ diff --git a/backend/instance/sessions/9e756356a8fa4fa35935484a02fc9ec0_activity.pkl b/backend/instance/sessions/9e756356a8fa4fa35935484a02fc9ec0_activity.pkl new file mode 100644 index 000000000..733914943 Binary files /dev/null and b/backend/instance/sessions/9e756356a8fa4fa35935484a02fc9ec0_activity.pkl differ diff --git a/backend/instance/sessions/9ede4c94ea7756047474355ebc1ece1f_activity.pkl b/backend/instance/sessions/9ede4c94ea7756047474355ebc1ece1f_activity.pkl new file mode 100644 index 000000000..9978da6d2 Binary files /dev/null and b/backend/instance/sessions/9ede4c94ea7756047474355ebc1ece1f_activity.pkl differ diff --git a/backend/instance/sessions/9f01f2475ea33684e39cb1b96aac93ab_activity.pkl b/backend/instance/sessions/9f01f2475ea33684e39cb1b96aac93ab_activity.pkl new file mode 100644 index 000000000..fb3870e86 Binary files /dev/null and b/backend/instance/sessions/9f01f2475ea33684e39cb1b96aac93ab_activity.pkl differ diff --git a/backend/instance/sessions/9f08b2f391af7e050e6e23aff2de7a21_activity.pkl b/backend/instance/sessions/9f08b2f391af7e050e6e23aff2de7a21_activity.pkl new file mode 100644 index 000000000..5fbad7e50 Binary files /dev/null and b/backend/instance/sessions/9f08b2f391af7e050e6e23aff2de7a21_activity.pkl differ diff --git a/backend/instance/sessions/9f1f5175e11f110963a4e2f019f8f47a_activity.pkl b/backend/instance/sessions/9f1f5175e11f110963a4e2f019f8f47a_activity.pkl new file mode 100644 index 000000000..2d0efbf9f Binary files /dev/null and b/backend/instance/sessions/9f1f5175e11f110963a4e2f019f8f47a_activity.pkl differ diff --git a/backend/instance/sessions/9f8b0b229e472958c7b3751e7b5bb0c8_activity.pkl b/backend/instance/sessions/9f8b0b229e472958c7b3751e7b5bb0c8_activity.pkl new file mode 100644 index 000000000..f90a41f34 Binary files /dev/null and b/backend/instance/sessions/9f8b0b229e472958c7b3751e7b5bb0c8_activity.pkl differ diff --git a/backend/instance/sessions/9f8d49cd658da728215ee71f8c1aad19_activity.pkl b/backend/instance/sessions/9f8d49cd658da728215ee71f8c1aad19_activity.pkl new file mode 100644 index 000000000..b201f3831 Binary files /dev/null and b/backend/instance/sessions/9f8d49cd658da728215ee71f8c1aad19_activity.pkl differ diff --git a/backend/instance/sessions/9fb975bac652c71554db1626c52e922a_activity.pkl b/backend/instance/sessions/9fb975bac652c71554db1626c52e922a_activity.pkl new file mode 100644 index 000000000..ab2193d32 Binary files /dev/null and b/backend/instance/sessions/9fb975bac652c71554db1626c52e922a_activity.pkl differ diff --git a/backend/instance/sessions/a0f66a8bb491dd707317f0317cd1cac5_activity.pkl b/backend/instance/sessions/a0f66a8bb491dd707317f0317cd1cac5_activity.pkl new file mode 100644 index 000000000..f09d8806f Binary files /dev/null and b/backend/instance/sessions/a0f66a8bb491dd707317f0317cd1cac5_activity.pkl differ diff --git a/backend/instance/sessions/a14516264ea685e329a8fc66af88e541_activity.pkl b/backend/instance/sessions/a14516264ea685e329a8fc66af88e541_activity.pkl new file mode 100644 index 000000000..4d04d0f76 Binary files /dev/null and b/backend/instance/sessions/a14516264ea685e329a8fc66af88e541_activity.pkl differ diff --git a/backend/instance/sessions/a19716d7c875632fee4c8616fc98d48a_activity.pkl b/backend/instance/sessions/a19716d7c875632fee4c8616fc98d48a_activity.pkl new file mode 100644 index 000000000..99287a61a Binary files /dev/null and b/backend/instance/sessions/a19716d7c875632fee4c8616fc98d48a_activity.pkl differ diff --git a/backend/instance/sessions/a19bbcc478dd6795d27adb01fbfacc39_activity.pkl b/backend/instance/sessions/a19bbcc478dd6795d27adb01fbfacc39_activity.pkl new file mode 100644 index 000000000..6b8e9ceff Binary files /dev/null and b/backend/instance/sessions/a19bbcc478dd6795d27adb01fbfacc39_activity.pkl differ diff --git a/backend/instance/sessions/a1bf9d2b25afe32349eff5d144cabed0_activity.pkl b/backend/instance/sessions/a1bf9d2b25afe32349eff5d144cabed0_activity.pkl new file mode 100644 index 000000000..ce8ab546d Binary files /dev/null and b/backend/instance/sessions/a1bf9d2b25afe32349eff5d144cabed0_activity.pkl differ diff --git a/backend/instance/sessions/a1f4163407c47b5fed55a7256f68c86c_activity.pkl b/backend/instance/sessions/a1f4163407c47b5fed55a7256f68c86c_activity.pkl new file mode 100644 index 000000000..74859cdac Binary files /dev/null and b/backend/instance/sessions/a1f4163407c47b5fed55a7256f68c86c_activity.pkl differ diff --git a/backend/instance/sessions/a22866275a596a5bfb7a3c30cbee9c8d_activity.pkl b/backend/instance/sessions/a22866275a596a5bfb7a3c30cbee9c8d_activity.pkl new file mode 100644 index 000000000..f7eb72bf4 Binary files /dev/null and b/backend/instance/sessions/a22866275a596a5bfb7a3c30cbee9c8d_activity.pkl differ diff --git a/backend/instance/sessions/a23bf98504281250114352bdf9f27ac6_activity.pkl b/backend/instance/sessions/a23bf98504281250114352bdf9f27ac6_activity.pkl new file mode 100644 index 000000000..5ae4eff54 Binary files /dev/null and b/backend/instance/sessions/a23bf98504281250114352bdf9f27ac6_activity.pkl differ diff --git a/backend/instance/sessions/a2b9d6c35690e745fc86dca5b26dc3ac_activity.pkl b/backend/instance/sessions/a2b9d6c35690e745fc86dca5b26dc3ac_activity.pkl new file mode 100644 index 000000000..7e703ce2a Binary files /dev/null and b/backend/instance/sessions/a2b9d6c35690e745fc86dca5b26dc3ac_activity.pkl differ diff --git a/backend/instance/sessions/a30219eb575a6e4e999c213bdd05ab4f_activity.pkl b/backend/instance/sessions/a30219eb575a6e4e999c213bdd05ab4f_activity.pkl new file mode 100644 index 000000000..33a681bb9 Binary files /dev/null and b/backend/instance/sessions/a30219eb575a6e4e999c213bdd05ab4f_activity.pkl differ diff --git a/backend/instance/sessions/a30c549214c9321a8ee640314ddc2fc1_activity.pkl b/backend/instance/sessions/a30c549214c9321a8ee640314ddc2fc1_activity.pkl new file mode 100644 index 000000000..848313332 Binary files /dev/null and b/backend/instance/sessions/a30c549214c9321a8ee640314ddc2fc1_activity.pkl differ diff --git a/backend/instance/sessions/a360c4325cb05d7bc3bb292cb73960ba_activity.pkl b/backend/instance/sessions/a360c4325cb05d7bc3bb292cb73960ba_activity.pkl new file mode 100644 index 000000000..d3fb04150 Binary files /dev/null and b/backend/instance/sessions/a360c4325cb05d7bc3bb292cb73960ba_activity.pkl differ diff --git a/backend/instance/sessions/a390eda51101ade878befb250cb70a36_activity.pkl b/backend/instance/sessions/a390eda51101ade878befb250cb70a36_activity.pkl new file mode 100644 index 000000000..58a56798d Binary files /dev/null and b/backend/instance/sessions/a390eda51101ade878befb250cb70a36_activity.pkl differ diff --git a/backend/instance/sessions/a3a270360d168b91f09361df48854682_activity.pkl b/backend/instance/sessions/a3a270360d168b91f09361df48854682_activity.pkl new file mode 100644 index 000000000..d9004bf62 Binary files /dev/null and b/backend/instance/sessions/a3a270360d168b91f09361df48854682_activity.pkl differ diff --git a/backend/instance/sessions/a3d34a34da6287515d8cb49af2a5f025_activity.pkl b/backend/instance/sessions/a3d34a34da6287515d8cb49af2a5f025_activity.pkl new file mode 100644 index 000000000..c0200b7d2 Binary files /dev/null and b/backend/instance/sessions/a3d34a34da6287515d8cb49af2a5f025_activity.pkl differ diff --git a/backend/instance/sessions/a42e67c910f946114e38e6a5cff1f74d_activity.pkl b/backend/instance/sessions/a42e67c910f946114e38e6a5cff1f74d_activity.pkl new file mode 100644 index 000000000..d7dcacd8f Binary files /dev/null and b/backend/instance/sessions/a42e67c910f946114e38e6a5cff1f74d_activity.pkl differ diff --git a/backend/instance/sessions/a4889689d8f03c99d4e02e6a6f419cfd_activity.pkl b/backend/instance/sessions/a4889689d8f03c99d4e02e6a6f419cfd_activity.pkl new file mode 100644 index 000000000..f60ecebdb Binary files /dev/null and b/backend/instance/sessions/a4889689d8f03c99d4e02e6a6f419cfd_activity.pkl differ diff --git a/backend/instance/sessions/a4b48fa71ad037e2e2498f16a5583e50_activity.pkl b/backend/instance/sessions/a4b48fa71ad037e2e2498f16a5583e50_activity.pkl new file mode 100644 index 000000000..f3f1f2bac Binary files /dev/null and b/backend/instance/sessions/a4b48fa71ad037e2e2498f16a5583e50_activity.pkl differ diff --git a/backend/instance/sessions/a4b4e682bbb810c5de3b7deaa7df33c0_activity.pkl b/backend/instance/sessions/a4b4e682bbb810c5de3b7deaa7df33c0_activity.pkl new file mode 100644 index 000000000..868d36bb9 Binary files /dev/null and b/backend/instance/sessions/a4b4e682bbb810c5de3b7deaa7df33c0_activity.pkl differ diff --git a/backend/instance/sessions/a4c571ffd9964daac073c505a00872a6_activity.pkl b/backend/instance/sessions/a4c571ffd9964daac073c505a00872a6_activity.pkl new file mode 100644 index 000000000..f0d6235ff Binary files /dev/null and b/backend/instance/sessions/a4c571ffd9964daac073c505a00872a6_activity.pkl differ diff --git a/backend/instance/sessions/a50922e20264d7a4ecbd2af118d942a2_activity.pkl b/backend/instance/sessions/a50922e20264d7a4ecbd2af118d942a2_activity.pkl new file mode 100644 index 000000000..343ffba24 Binary files /dev/null and b/backend/instance/sessions/a50922e20264d7a4ecbd2af118d942a2_activity.pkl differ diff --git a/backend/instance/sessions/a51a5e5b95b8e47fcbf4f11a52c34176_activity.pkl b/backend/instance/sessions/a51a5e5b95b8e47fcbf4f11a52c34176_activity.pkl new file mode 100644 index 000000000..424a74a31 Binary files /dev/null and b/backend/instance/sessions/a51a5e5b95b8e47fcbf4f11a52c34176_activity.pkl differ diff --git a/backend/instance/sessions/a58c7f6a663c101d2f383b41f12505fe_activity.pkl b/backend/instance/sessions/a58c7f6a663c101d2f383b41f12505fe_activity.pkl new file mode 100644 index 000000000..4c74a763a Binary files /dev/null and b/backend/instance/sessions/a58c7f6a663c101d2f383b41f12505fe_activity.pkl differ diff --git a/backend/instance/sessions/a61ad62ffe99bfc3bbaec4bd4adb629e_activity.pkl b/backend/instance/sessions/a61ad62ffe99bfc3bbaec4bd4adb629e_activity.pkl new file mode 100644 index 000000000..c150eaaa7 Binary files /dev/null and b/backend/instance/sessions/a61ad62ffe99bfc3bbaec4bd4adb629e_activity.pkl differ diff --git a/backend/instance/sessions/a6996639d6f3ae540b23a37ce6688a7e_activity.pkl b/backend/instance/sessions/a6996639d6f3ae540b23a37ce6688a7e_activity.pkl new file mode 100644 index 000000000..0e4e5b13f Binary files /dev/null and b/backend/instance/sessions/a6996639d6f3ae540b23a37ce6688a7e_activity.pkl differ diff --git a/backend/instance/sessions/a70dd1439d9c02291b400f762a31d6a8_activity.pkl b/backend/instance/sessions/a70dd1439d9c02291b400f762a31d6a8_activity.pkl new file mode 100644 index 000000000..f5ad1b7b3 Binary files /dev/null and b/backend/instance/sessions/a70dd1439d9c02291b400f762a31d6a8_activity.pkl differ diff --git a/backend/instance/sessions/a7271624d1f0f0243aa02960fa8226ad_activity.pkl b/backend/instance/sessions/a7271624d1f0f0243aa02960fa8226ad_activity.pkl new file mode 100644 index 000000000..535344416 Binary files /dev/null and b/backend/instance/sessions/a7271624d1f0f0243aa02960fa8226ad_activity.pkl differ diff --git a/backend/instance/sessions/a759f6a878a244c4ff64b4d27931f1b0_activity.pkl b/backend/instance/sessions/a759f6a878a244c4ff64b4d27931f1b0_activity.pkl new file mode 100644 index 000000000..df8387f72 Binary files /dev/null and b/backend/instance/sessions/a759f6a878a244c4ff64b4d27931f1b0_activity.pkl differ diff --git a/backend/instance/sessions/a75d1737eeecee5d1cdd431b02cd40c1_activity.pkl b/backend/instance/sessions/a75d1737eeecee5d1cdd431b02cd40c1_activity.pkl new file mode 100644 index 000000000..2ebc03089 Binary files /dev/null and b/backend/instance/sessions/a75d1737eeecee5d1cdd431b02cd40c1_activity.pkl differ diff --git a/backend/instance/sessions/a7862871242c6ea6d3c7ab0fdcc8e230_activity.pkl b/backend/instance/sessions/a7862871242c6ea6d3c7ab0fdcc8e230_activity.pkl new file mode 100644 index 000000000..4ab4e490d Binary files /dev/null and b/backend/instance/sessions/a7862871242c6ea6d3c7ab0fdcc8e230_activity.pkl differ diff --git a/backend/instance/sessions/a7a151865cb70d5e3cc250267a35513d_activity.pkl b/backend/instance/sessions/a7a151865cb70d5e3cc250267a35513d_activity.pkl new file mode 100644 index 000000000..c4f457509 Binary files /dev/null and b/backend/instance/sessions/a7a151865cb70d5e3cc250267a35513d_activity.pkl differ diff --git a/backend/instance/sessions/a7e7dc308b70f8d1ac905a16016dd0ee_activity.pkl b/backend/instance/sessions/a7e7dc308b70f8d1ac905a16016dd0ee_activity.pkl new file mode 100644 index 000000000..8251adcfc Binary files /dev/null and b/backend/instance/sessions/a7e7dc308b70f8d1ac905a16016dd0ee_activity.pkl differ diff --git a/backend/instance/sessions/a7f3455b9fc69d34bb0b844583e198b8_activity.pkl b/backend/instance/sessions/a7f3455b9fc69d34bb0b844583e198b8_activity.pkl new file mode 100644 index 000000000..cb607aa1b Binary files /dev/null and b/backend/instance/sessions/a7f3455b9fc69d34bb0b844583e198b8_activity.pkl differ diff --git a/backend/instance/sessions/a89fed40748eb0e4a1776d6df2e6f1f3_activity.pkl b/backend/instance/sessions/a89fed40748eb0e4a1776d6df2e6f1f3_activity.pkl new file mode 100644 index 000000000..086f59327 Binary files /dev/null and b/backend/instance/sessions/a89fed40748eb0e4a1776d6df2e6f1f3_activity.pkl differ diff --git a/backend/instance/sessions/a8ccbf902c7fcb391ebf71bf335a73f2_activity.pkl b/backend/instance/sessions/a8ccbf902c7fcb391ebf71bf335a73f2_activity.pkl new file mode 100644 index 000000000..de1872bf5 Binary files /dev/null and b/backend/instance/sessions/a8ccbf902c7fcb391ebf71bf335a73f2_activity.pkl differ diff --git a/backend/instance/sessions/a8db2e927a63cae678fee6cdd2ab75cb_activity.pkl b/backend/instance/sessions/a8db2e927a63cae678fee6cdd2ab75cb_activity.pkl new file mode 100644 index 000000000..e662e4d93 Binary files /dev/null and b/backend/instance/sessions/a8db2e927a63cae678fee6cdd2ab75cb_activity.pkl differ diff --git a/backend/instance/sessions/a91ea91d078cdfa3b595048d2503ebe9_activity.pkl b/backend/instance/sessions/a91ea91d078cdfa3b595048d2503ebe9_activity.pkl new file mode 100644 index 000000000..b29b1c3a4 Binary files /dev/null and b/backend/instance/sessions/a91ea91d078cdfa3b595048d2503ebe9_activity.pkl differ diff --git a/backend/instance/sessions/a94f346d05ea9f02ec14a1cb080bcbc0_activity.pkl b/backend/instance/sessions/a94f346d05ea9f02ec14a1cb080bcbc0_activity.pkl new file mode 100644 index 000000000..5fee5f532 Binary files /dev/null and b/backend/instance/sessions/a94f346d05ea9f02ec14a1cb080bcbc0_activity.pkl differ diff --git a/backend/instance/sessions/aa3a2b7f9a312cd1c745750ceafd9db1_activity.pkl b/backend/instance/sessions/aa3a2b7f9a312cd1c745750ceafd9db1_activity.pkl new file mode 100644 index 000000000..c5512a27a Binary files /dev/null and b/backend/instance/sessions/aa3a2b7f9a312cd1c745750ceafd9db1_activity.pkl differ diff --git a/backend/instance/sessions/abbfd5ab064a273db4b93d3fcd05cec8_activity.pkl b/backend/instance/sessions/abbfd5ab064a273db4b93d3fcd05cec8_activity.pkl new file mode 100644 index 000000000..f95c3883c Binary files /dev/null and b/backend/instance/sessions/abbfd5ab064a273db4b93d3fcd05cec8_activity.pkl differ diff --git a/backend/instance/sessions/abe00546ac27dbf056c14bfaf3ad8ed6_activity.pkl b/backend/instance/sessions/abe00546ac27dbf056c14bfaf3ad8ed6_activity.pkl new file mode 100644 index 000000000..5e1d31696 Binary files /dev/null and b/backend/instance/sessions/abe00546ac27dbf056c14bfaf3ad8ed6_activity.pkl differ diff --git a/backend/instance/sessions/ac969b5f0d5565ac452c4ddabae3d74c_activity.pkl b/backend/instance/sessions/ac969b5f0d5565ac452c4ddabae3d74c_activity.pkl new file mode 100644 index 000000000..99c521018 Binary files /dev/null and b/backend/instance/sessions/ac969b5f0d5565ac452c4ddabae3d74c_activity.pkl differ diff --git a/backend/instance/sessions/acb10a37f7fde0c51f845efa47f423c2_activity.pkl b/backend/instance/sessions/acb10a37f7fde0c51f845efa47f423c2_activity.pkl new file mode 100644 index 000000000..a9691f908 Binary files /dev/null and b/backend/instance/sessions/acb10a37f7fde0c51f845efa47f423c2_activity.pkl differ diff --git a/backend/instance/sessions/ad104af7dff6efea937d70e4e98cf7ca_activity.pkl b/backend/instance/sessions/ad104af7dff6efea937d70e4e98cf7ca_activity.pkl new file mode 100644 index 000000000..fae243aef Binary files /dev/null and b/backend/instance/sessions/ad104af7dff6efea937d70e4e98cf7ca_activity.pkl differ diff --git a/backend/instance/sessions/ad76c1fb541c8c484ad4776285ed3afa_activity.pkl b/backend/instance/sessions/ad76c1fb541c8c484ad4776285ed3afa_activity.pkl new file mode 100644 index 000000000..7daf88c8c Binary files /dev/null and b/backend/instance/sessions/ad76c1fb541c8c484ad4776285ed3afa_activity.pkl differ diff --git a/backend/instance/sessions/ad8b21699896f142eb391d987a4d25cf_activity.pkl b/backend/instance/sessions/ad8b21699896f142eb391d987a4d25cf_activity.pkl new file mode 100644 index 000000000..606541d48 Binary files /dev/null and b/backend/instance/sessions/ad8b21699896f142eb391d987a4d25cf_activity.pkl differ diff --git a/backend/instance/sessions/ae078c704a97eaad1fa35bcea3660f28_activity.pkl b/backend/instance/sessions/ae078c704a97eaad1fa35bcea3660f28_activity.pkl new file mode 100644 index 000000000..6756c2727 Binary files /dev/null and b/backend/instance/sessions/ae078c704a97eaad1fa35bcea3660f28_activity.pkl differ diff --git a/backend/instance/sessions/ae308fe21fd4bc821148593fd4e48374_activity.pkl b/backend/instance/sessions/ae308fe21fd4bc821148593fd4e48374_activity.pkl new file mode 100644 index 000000000..69fd63b0c Binary files /dev/null and b/backend/instance/sessions/ae308fe21fd4bc821148593fd4e48374_activity.pkl differ diff --git a/backend/instance/sessions/ae83221706ca072b284bdfa4b1fc5079_activity.pkl b/backend/instance/sessions/ae83221706ca072b284bdfa4b1fc5079_activity.pkl new file mode 100644 index 000000000..4b96026f8 Binary files /dev/null and b/backend/instance/sessions/ae83221706ca072b284bdfa4b1fc5079_activity.pkl differ diff --git a/backend/instance/sessions/ae9515950f229d0a727381d9ba0c56c4_activity.pkl b/backend/instance/sessions/ae9515950f229d0a727381d9ba0c56c4_activity.pkl new file mode 100644 index 000000000..43898a3c0 Binary files /dev/null and b/backend/instance/sessions/ae9515950f229d0a727381d9ba0c56c4_activity.pkl differ diff --git a/backend/instance/sessions/af394ae2677b25d9f70b4126fa47b89e_activity.pkl b/backend/instance/sessions/af394ae2677b25d9f70b4126fa47b89e_activity.pkl new file mode 100644 index 000000000..a6e74bca1 Binary files /dev/null and b/backend/instance/sessions/af394ae2677b25d9f70b4126fa47b89e_activity.pkl differ diff --git a/backend/instance/sessions/af42ed38d923d9c30dcce691980e7d7f_activity.pkl b/backend/instance/sessions/af42ed38d923d9c30dcce691980e7d7f_activity.pkl new file mode 100644 index 000000000..d165d6b6f Binary files /dev/null and b/backend/instance/sessions/af42ed38d923d9c30dcce691980e7d7f_activity.pkl differ diff --git a/backend/instance/sessions/afd61ecccda02be78293ffa42783aab6_activity.pkl b/backend/instance/sessions/afd61ecccda02be78293ffa42783aab6_activity.pkl new file mode 100644 index 000000000..6bdf026b3 Binary files /dev/null and b/backend/instance/sessions/afd61ecccda02be78293ffa42783aab6_activity.pkl differ diff --git a/backend/instance/sessions/afdce06987692c421b63900d795455f5_activity.pkl b/backend/instance/sessions/afdce06987692c421b63900d795455f5_activity.pkl new file mode 100644 index 000000000..804e09091 Binary files /dev/null and b/backend/instance/sessions/afdce06987692c421b63900d795455f5_activity.pkl differ diff --git a/backend/instance/sessions/b0075beab4f21fe50f1339618f41adcb_activity.pkl b/backend/instance/sessions/b0075beab4f21fe50f1339618f41adcb_activity.pkl new file mode 100644 index 000000000..495821088 Binary files /dev/null and b/backend/instance/sessions/b0075beab4f21fe50f1339618f41adcb_activity.pkl differ diff --git a/backend/instance/sessions/b02221e6ddbd3f12c0277f0eaebcc159_activity.pkl b/backend/instance/sessions/b02221e6ddbd3f12c0277f0eaebcc159_activity.pkl new file mode 100644 index 000000000..a866715eb Binary files /dev/null and b/backend/instance/sessions/b02221e6ddbd3f12c0277f0eaebcc159_activity.pkl differ diff --git a/backend/instance/sessions/b053307e119a26dbf52bd64a4137afb5_activity.pkl b/backend/instance/sessions/b053307e119a26dbf52bd64a4137afb5_activity.pkl new file mode 100644 index 000000000..98d382df3 Binary files /dev/null and b/backend/instance/sessions/b053307e119a26dbf52bd64a4137afb5_activity.pkl differ diff --git a/backend/instance/sessions/b067265ae70771e9834e19d5eacced85_activity.pkl b/backend/instance/sessions/b067265ae70771e9834e19d5eacced85_activity.pkl new file mode 100644 index 000000000..e198e2dc8 Binary files /dev/null and b/backend/instance/sessions/b067265ae70771e9834e19d5eacced85_activity.pkl differ diff --git a/backend/instance/sessions/b077a2ec8c798d9e2e7176de4f2aaa57_activity.pkl b/backend/instance/sessions/b077a2ec8c798d9e2e7176de4f2aaa57_activity.pkl new file mode 100644 index 000000000..f0f4e4dfc Binary files /dev/null and b/backend/instance/sessions/b077a2ec8c798d9e2e7176de4f2aaa57_activity.pkl differ diff --git a/backend/instance/sessions/b0b0c64fd4fa81c9dcbd4788496035b1_activity.pkl b/backend/instance/sessions/b0b0c64fd4fa81c9dcbd4788496035b1_activity.pkl new file mode 100644 index 000000000..3e4d39ae6 Binary files /dev/null and b/backend/instance/sessions/b0b0c64fd4fa81c9dcbd4788496035b1_activity.pkl differ diff --git a/backend/instance/sessions/b104cab845534b18f2b9c4f82251b027_activity.pkl b/backend/instance/sessions/b104cab845534b18f2b9c4f82251b027_activity.pkl new file mode 100644 index 000000000..19503f557 Binary files /dev/null and b/backend/instance/sessions/b104cab845534b18f2b9c4f82251b027_activity.pkl differ diff --git a/backend/instance/sessions/b11cc586a773b259e176447528c36725_activity.pkl b/backend/instance/sessions/b11cc586a773b259e176447528c36725_activity.pkl new file mode 100644 index 000000000..86f49f751 Binary files /dev/null and b/backend/instance/sessions/b11cc586a773b259e176447528c36725_activity.pkl differ diff --git a/backend/instance/sessions/b12d1e4a3b71998fcb1cd88d2b99f525_activity.pkl b/backend/instance/sessions/b12d1e4a3b71998fcb1cd88d2b99f525_activity.pkl new file mode 100644 index 000000000..8ef7e97d1 Binary files /dev/null and b/backend/instance/sessions/b12d1e4a3b71998fcb1cd88d2b99f525_activity.pkl differ diff --git a/backend/instance/sessions/b1a47a0e25b0c487b3fecca5ee224b11_activity.pkl b/backend/instance/sessions/b1a47a0e25b0c487b3fecca5ee224b11_activity.pkl new file mode 100644 index 000000000..aa3b9bd7d Binary files /dev/null and b/backend/instance/sessions/b1a47a0e25b0c487b3fecca5ee224b11_activity.pkl differ diff --git a/backend/instance/sessions/b1c008f5cb9c72b378e31de81429aae6_activity.pkl b/backend/instance/sessions/b1c008f5cb9c72b378e31de81429aae6_activity.pkl new file mode 100644 index 000000000..681756bdf Binary files /dev/null and b/backend/instance/sessions/b1c008f5cb9c72b378e31de81429aae6_activity.pkl differ diff --git a/backend/instance/sessions/b209fa5124e5bf0fa940cecfc85cd6bf_activity.pkl b/backend/instance/sessions/b209fa5124e5bf0fa940cecfc85cd6bf_activity.pkl new file mode 100644 index 000000000..92c606c19 Binary files /dev/null and b/backend/instance/sessions/b209fa5124e5bf0fa940cecfc85cd6bf_activity.pkl differ diff --git a/backend/instance/sessions/b32acbffdc11c7603ef62c6d42eda245_activity.pkl b/backend/instance/sessions/b32acbffdc11c7603ef62c6d42eda245_activity.pkl new file mode 100644 index 000000000..3c7fc1c2e Binary files /dev/null and b/backend/instance/sessions/b32acbffdc11c7603ef62c6d42eda245_activity.pkl differ diff --git a/backend/instance/sessions/b34d04e80035a4f68abcbce4902a5fce_activity.pkl b/backend/instance/sessions/b34d04e80035a4f68abcbce4902a5fce_activity.pkl new file mode 100644 index 000000000..250fbd211 Binary files /dev/null and b/backend/instance/sessions/b34d04e80035a4f68abcbce4902a5fce_activity.pkl differ diff --git a/backend/instance/sessions/b3569794300c38541cdaadf57d9a012d_activity.pkl b/backend/instance/sessions/b3569794300c38541cdaadf57d9a012d_activity.pkl new file mode 100644 index 000000000..7bf714ebd Binary files /dev/null and b/backend/instance/sessions/b3569794300c38541cdaadf57d9a012d_activity.pkl differ diff --git a/backend/instance/sessions/b45d8f1e973b9b2aac66f3bb389b7f67_activity.pkl b/backend/instance/sessions/b45d8f1e973b9b2aac66f3bb389b7f67_activity.pkl new file mode 100644 index 000000000..9bf7755fc Binary files /dev/null and b/backend/instance/sessions/b45d8f1e973b9b2aac66f3bb389b7f67_activity.pkl differ diff --git a/backend/instance/sessions/b4996c1e7792ef37f8bc0bbc32e59154_activity.pkl b/backend/instance/sessions/b4996c1e7792ef37f8bc0bbc32e59154_activity.pkl new file mode 100644 index 000000000..4c9fa246e Binary files /dev/null and b/backend/instance/sessions/b4996c1e7792ef37f8bc0bbc32e59154_activity.pkl differ diff --git a/backend/instance/sessions/b5d019f4488598f1c20094e7f4141ff2_activity.pkl b/backend/instance/sessions/b5d019f4488598f1c20094e7f4141ff2_activity.pkl new file mode 100644 index 000000000..f6a6d542b Binary files /dev/null and b/backend/instance/sessions/b5d019f4488598f1c20094e7f4141ff2_activity.pkl differ diff --git a/backend/instance/sessions/b604adb1b68549bf1af97d275fd053fb_activity.pkl b/backend/instance/sessions/b604adb1b68549bf1af97d275fd053fb_activity.pkl new file mode 100644 index 000000000..d00e9e47f Binary files /dev/null and b/backend/instance/sessions/b604adb1b68549bf1af97d275fd053fb_activity.pkl differ diff --git a/backend/instance/sessions/b6381889e6959bb04a9cd30cdcbf5c7b_activity.pkl b/backend/instance/sessions/b6381889e6959bb04a9cd30cdcbf5c7b_activity.pkl new file mode 100644 index 000000000..752b9ab9b Binary files /dev/null and b/backend/instance/sessions/b6381889e6959bb04a9cd30cdcbf5c7b_activity.pkl differ diff --git a/backend/instance/sessions/b67771ef68874b0298441c8d7a925065_activity.pkl b/backend/instance/sessions/b67771ef68874b0298441c8d7a925065_activity.pkl new file mode 100644 index 000000000..15070286a Binary files /dev/null and b/backend/instance/sessions/b67771ef68874b0298441c8d7a925065_activity.pkl differ diff --git a/backend/instance/sessions/b6aaaca4a313ceced4ec8d7baeb7e492_activity.pkl b/backend/instance/sessions/b6aaaca4a313ceced4ec8d7baeb7e492_activity.pkl new file mode 100644 index 000000000..599c48c40 Binary files /dev/null and b/backend/instance/sessions/b6aaaca4a313ceced4ec8d7baeb7e492_activity.pkl differ diff --git a/backend/instance/sessions/b6c4fb00c3d81d97e74983d13b3b4a64_activity.pkl b/backend/instance/sessions/b6c4fb00c3d81d97e74983d13b3b4a64_activity.pkl new file mode 100644 index 000000000..aff6be2c1 Binary files /dev/null and b/backend/instance/sessions/b6c4fb00c3d81d97e74983d13b3b4a64_activity.pkl differ diff --git a/backend/instance/sessions/b6c6354a3704366c86221a04440f8a8e_activity.pkl b/backend/instance/sessions/b6c6354a3704366c86221a04440f8a8e_activity.pkl new file mode 100644 index 000000000..98f312fb0 Binary files /dev/null and b/backend/instance/sessions/b6c6354a3704366c86221a04440f8a8e_activity.pkl differ diff --git a/backend/instance/sessions/b742f948a750b4b69cc236b0830c9e34_activity.pkl b/backend/instance/sessions/b742f948a750b4b69cc236b0830c9e34_activity.pkl new file mode 100644 index 000000000..0badc4800 Binary files /dev/null and b/backend/instance/sessions/b742f948a750b4b69cc236b0830c9e34_activity.pkl differ diff --git a/backend/instance/sessions/b7548c678590f2846b922eb86237a74a_activity.pkl b/backend/instance/sessions/b7548c678590f2846b922eb86237a74a_activity.pkl new file mode 100644 index 000000000..ac4a056be Binary files /dev/null and b/backend/instance/sessions/b7548c678590f2846b922eb86237a74a_activity.pkl differ diff --git a/backend/instance/sessions/b7badb931aa52bc987ea58999e7cdefa_activity.pkl b/backend/instance/sessions/b7badb931aa52bc987ea58999e7cdefa_activity.pkl new file mode 100644 index 000000000..34bee46ff Binary files /dev/null and b/backend/instance/sessions/b7badb931aa52bc987ea58999e7cdefa_activity.pkl differ diff --git a/backend/instance/sessions/b7bfe4b2c46f42dbd26d1d37a24d7185_activity.pkl b/backend/instance/sessions/b7bfe4b2c46f42dbd26d1d37a24d7185_activity.pkl new file mode 100644 index 000000000..dcfa82b1a Binary files /dev/null and b/backend/instance/sessions/b7bfe4b2c46f42dbd26d1d37a24d7185_activity.pkl differ diff --git a/backend/instance/sessions/b7ee7954eadcaa01c7dd0df53e4a4af9_activity.pkl b/backend/instance/sessions/b7ee7954eadcaa01c7dd0df53e4a4af9_activity.pkl new file mode 100644 index 000000000..1fc60194d Binary files /dev/null and b/backend/instance/sessions/b7ee7954eadcaa01c7dd0df53e4a4af9_activity.pkl differ diff --git a/backend/instance/sessions/b8204615d2768f4823c2193bef8da61c_activity.pkl b/backend/instance/sessions/b8204615d2768f4823c2193bef8da61c_activity.pkl new file mode 100644 index 000000000..23d5ca1a4 Binary files /dev/null and b/backend/instance/sessions/b8204615d2768f4823c2193bef8da61c_activity.pkl differ diff --git a/backend/instance/sessions/b87441f17af5515ed2d827792fef8769_activity.pkl b/backend/instance/sessions/b87441f17af5515ed2d827792fef8769_activity.pkl new file mode 100644 index 000000000..538a11f51 Binary files /dev/null and b/backend/instance/sessions/b87441f17af5515ed2d827792fef8769_activity.pkl differ diff --git a/backend/instance/sessions/b9243f1a39712b3e5de47b2ff76933c4_activity.pkl b/backend/instance/sessions/b9243f1a39712b3e5de47b2ff76933c4_activity.pkl new file mode 100644 index 000000000..a0c461fd5 Binary files /dev/null and b/backend/instance/sessions/b9243f1a39712b3e5de47b2ff76933c4_activity.pkl differ diff --git a/backend/instance/sessions/b99e749d7c0e3fc66425737baadfce40_activity.pkl b/backend/instance/sessions/b99e749d7c0e3fc66425737baadfce40_activity.pkl new file mode 100644 index 000000000..1b2b5a96e Binary files /dev/null and b/backend/instance/sessions/b99e749d7c0e3fc66425737baadfce40_activity.pkl differ diff --git a/backend/instance/sessions/b9fad50fe449a47cd5a3358d15a239da_activity.pkl b/backend/instance/sessions/b9fad50fe449a47cd5a3358d15a239da_activity.pkl new file mode 100644 index 000000000..bc7bcd773 Binary files /dev/null and b/backend/instance/sessions/b9fad50fe449a47cd5a3358d15a239da_activity.pkl differ diff --git a/backend/instance/sessions/b9fb524be61ca9a78422857cc8439417_activity.pkl b/backend/instance/sessions/b9fb524be61ca9a78422857cc8439417_activity.pkl new file mode 100644 index 000000000..cd5540a56 Binary files /dev/null and b/backend/instance/sessions/b9fb524be61ca9a78422857cc8439417_activity.pkl differ diff --git a/backend/instance/sessions/ba04cfd5d9ee226a8e08e841c5029ec0_activity.pkl b/backend/instance/sessions/ba04cfd5d9ee226a8e08e841c5029ec0_activity.pkl new file mode 100644 index 000000000..0882644a8 Binary files /dev/null and b/backend/instance/sessions/ba04cfd5d9ee226a8e08e841c5029ec0_activity.pkl differ diff --git a/backend/instance/sessions/bb7a99705dbbe12ac7207cffca06b8c4_activity.pkl b/backend/instance/sessions/bb7a99705dbbe12ac7207cffca06b8c4_activity.pkl new file mode 100644 index 000000000..c6b815319 Binary files /dev/null and b/backend/instance/sessions/bb7a99705dbbe12ac7207cffca06b8c4_activity.pkl differ diff --git a/backend/instance/sessions/bb7c1f83616ccc079b120429b24cbf97_activity.pkl b/backend/instance/sessions/bb7c1f83616ccc079b120429b24cbf97_activity.pkl new file mode 100644 index 000000000..42eecaffa Binary files /dev/null and b/backend/instance/sessions/bb7c1f83616ccc079b120429b24cbf97_activity.pkl differ diff --git a/backend/instance/sessions/bbc5cfd1d6118b0ff459fb0a8484e280_activity.pkl b/backend/instance/sessions/bbc5cfd1d6118b0ff459fb0a8484e280_activity.pkl new file mode 100644 index 000000000..13783029f Binary files /dev/null and b/backend/instance/sessions/bbc5cfd1d6118b0ff459fb0a8484e280_activity.pkl differ diff --git a/backend/instance/sessions/bc8aee695c00ee5c4cff2b409ebed57a_activity.pkl b/backend/instance/sessions/bc8aee695c00ee5c4cff2b409ebed57a_activity.pkl new file mode 100644 index 000000000..27e24010b Binary files /dev/null and b/backend/instance/sessions/bc8aee695c00ee5c4cff2b409ebed57a_activity.pkl differ diff --git a/backend/instance/sessions/bcc4aadcfe35d723d5b99ba19dbf18f1_activity.pkl b/backend/instance/sessions/bcc4aadcfe35d723d5b99ba19dbf18f1_activity.pkl new file mode 100644 index 000000000..ed684b930 Binary files /dev/null and b/backend/instance/sessions/bcc4aadcfe35d723d5b99ba19dbf18f1_activity.pkl differ diff --git a/backend/instance/sessions/bd267fbd7f6adb9accaa0098ed5bdf6f_activity.pkl b/backend/instance/sessions/bd267fbd7f6adb9accaa0098ed5bdf6f_activity.pkl new file mode 100644 index 000000000..620c6dd64 Binary files /dev/null and b/backend/instance/sessions/bd267fbd7f6adb9accaa0098ed5bdf6f_activity.pkl differ diff --git a/backend/instance/sessions/bd9c28ed4cf12270e79b1150bbba1318_activity.pkl b/backend/instance/sessions/bd9c28ed4cf12270e79b1150bbba1318_activity.pkl new file mode 100644 index 000000000..5e72f7f24 Binary files /dev/null and b/backend/instance/sessions/bd9c28ed4cf12270e79b1150bbba1318_activity.pkl differ diff --git a/backend/instance/sessions/be570a9398bb8386b065178014b6ccdc_activity.pkl b/backend/instance/sessions/be570a9398bb8386b065178014b6ccdc_activity.pkl new file mode 100644 index 000000000..3b780b6c7 Binary files /dev/null and b/backend/instance/sessions/be570a9398bb8386b065178014b6ccdc_activity.pkl differ diff --git a/backend/instance/sessions/be7bff3480f34e3de2405ff2fe358ab0_activity.pkl b/backend/instance/sessions/be7bff3480f34e3de2405ff2fe358ab0_activity.pkl new file mode 100644 index 000000000..6cc583b90 Binary files /dev/null and b/backend/instance/sessions/be7bff3480f34e3de2405ff2fe358ab0_activity.pkl differ diff --git a/backend/instance/sessions/bf150e67a2245d15564430ba6cdc5f03_activity.pkl b/backend/instance/sessions/bf150e67a2245d15564430ba6cdc5f03_activity.pkl new file mode 100644 index 000000000..726f369a0 Binary files /dev/null and b/backend/instance/sessions/bf150e67a2245d15564430ba6cdc5f03_activity.pkl differ diff --git a/backend/instance/sessions/bf5b141956828653489a57c43457ebc5_activity.pkl b/backend/instance/sessions/bf5b141956828653489a57c43457ebc5_activity.pkl new file mode 100644 index 000000000..e6f021155 Binary files /dev/null and b/backend/instance/sessions/bf5b141956828653489a57c43457ebc5_activity.pkl differ diff --git a/backend/instance/sessions/bfa6327ad8bdf0d10c9085e365efaeb3_activity.pkl b/backend/instance/sessions/bfa6327ad8bdf0d10c9085e365efaeb3_activity.pkl new file mode 100644 index 000000000..03ebef6ef Binary files /dev/null and b/backend/instance/sessions/bfa6327ad8bdf0d10c9085e365efaeb3_activity.pkl differ diff --git a/backend/instance/sessions/bfbba11f4d1f9dd9cd45e39d2039fc11_activity.pkl b/backend/instance/sessions/bfbba11f4d1f9dd9cd45e39d2039fc11_activity.pkl new file mode 100644 index 000000000..d7c0b8f8c Binary files /dev/null and b/backend/instance/sessions/bfbba11f4d1f9dd9cd45e39d2039fc11_activity.pkl differ diff --git a/backend/instance/sessions/bfcbeabfed5c5909e75eb07b73599764_activity.pkl b/backend/instance/sessions/bfcbeabfed5c5909e75eb07b73599764_activity.pkl new file mode 100644 index 000000000..9110b82f6 Binary files /dev/null and b/backend/instance/sessions/bfcbeabfed5c5909e75eb07b73599764_activity.pkl differ diff --git a/backend/instance/sessions/c011cae71005088e863f55c5e66e5893_activity.pkl b/backend/instance/sessions/c011cae71005088e863f55c5e66e5893_activity.pkl new file mode 100644 index 000000000..aa9a675b1 Binary files /dev/null and b/backend/instance/sessions/c011cae71005088e863f55c5e66e5893_activity.pkl differ diff --git a/backend/instance/sessions/c04ff199958616e71fc58394cf68d178_activity.pkl b/backend/instance/sessions/c04ff199958616e71fc58394cf68d178_activity.pkl new file mode 100644 index 000000000..6526524fd Binary files /dev/null and b/backend/instance/sessions/c04ff199958616e71fc58394cf68d178_activity.pkl differ diff --git a/backend/instance/sessions/c0c4e8d2c4139865644893003ff21ee4_activity.pkl b/backend/instance/sessions/c0c4e8d2c4139865644893003ff21ee4_activity.pkl new file mode 100644 index 000000000..c417ba3c1 Binary files /dev/null and b/backend/instance/sessions/c0c4e8d2c4139865644893003ff21ee4_activity.pkl differ diff --git a/backend/instance/sessions/c0cf370035546b4841063c470b4c2235_activity.pkl b/backend/instance/sessions/c0cf370035546b4841063c470b4c2235_activity.pkl new file mode 100644 index 000000000..5c882bd4a Binary files /dev/null and b/backend/instance/sessions/c0cf370035546b4841063c470b4c2235_activity.pkl differ diff --git a/backend/instance/sessions/c13c73b22a6556a92ad4dcf577b641a2_activity.pkl b/backend/instance/sessions/c13c73b22a6556a92ad4dcf577b641a2_activity.pkl new file mode 100644 index 000000000..d685387ec Binary files /dev/null and b/backend/instance/sessions/c13c73b22a6556a92ad4dcf577b641a2_activity.pkl differ diff --git a/backend/instance/sessions/c1d36a59c89aed0963e91b37ad541fef_activity.pkl b/backend/instance/sessions/c1d36a59c89aed0963e91b37ad541fef_activity.pkl new file mode 100644 index 000000000..deb11a0cc Binary files /dev/null and b/backend/instance/sessions/c1d36a59c89aed0963e91b37ad541fef_activity.pkl differ diff --git a/backend/instance/sessions/c1d82daae355838f3ba5b5fc307139d2_activity.pkl b/backend/instance/sessions/c1d82daae355838f3ba5b5fc307139d2_activity.pkl new file mode 100644 index 000000000..674830f1c Binary files /dev/null and b/backend/instance/sessions/c1d82daae355838f3ba5b5fc307139d2_activity.pkl differ diff --git a/backend/instance/sessions/c20f20af610f9522554610ba9fdb296f_activity.pkl b/backend/instance/sessions/c20f20af610f9522554610ba9fdb296f_activity.pkl new file mode 100644 index 000000000..103fd2135 Binary files /dev/null and b/backend/instance/sessions/c20f20af610f9522554610ba9fdb296f_activity.pkl differ diff --git a/backend/instance/sessions/c2ac3c600bc66f939e06ea16a4e86cc1_activity.pkl b/backend/instance/sessions/c2ac3c600bc66f939e06ea16a4e86cc1_activity.pkl new file mode 100644 index 000000000..a40e0ff92 Binary files /dev/null and b/backend/instance/sessions/c2ac3c600bc66f939e06ea16a4e86cc1_activity.pkl differ diff --git a/backend/instance/sessions/c2cc163997501a66a9d6958e92e716eb_activity.pkl b/backend/instance/sessions/c2cc163997501a66a9d6958e92e716eb_activity.pkl new file mode 100644 index 000000000..171554986 Binary files /dev/null and b/backend/instance/sessions/c2cc163997501a66a9d6958e92e716eb_activity.pkl differ diff --git a/backend/instance/sessions/c33eb270cf8c6e3c866610209fd81669_activity.pkl b/backend/instance/sessions/c33eb270cf8c6e3c866610209fd81669_activity.pkl new file mode 100644 index 000000000..fbfa7bf4a Binary files /dev/null and b/backend/instance/sessions/c33eb270cf8c6e3c866610209fd81669_activity.pkl differ diff --git a/backend/instance/sessions/c36681ea16beed11f77cd8dc04de59ee_activity.pkl b/backend/instance/sessions/c36681ea16beed11f77cd8dc04de59ee_activity.pkl new file mode 100644 index 000000000..5df4e22c4 Binary files /dev/null and b/backend/instance/sessions/c36681ea16beed11f77cd8dc04de59ee_activity.pkl differ diff --git a/backend/instance/sessions/c36dff0c780618397315d5ea0d6373aa_activity.pkl b/backend/instance/sessions/c36dff0c780618397315d5ea0d6373aa_activity.pkl new file mode 100644 index 000000000..0f558f2c2 Binary files /dev/null and b/backend/instance/sessions/c36dff0c780618397315d5ea0d6373aa_activity.pkl differ diff --git a/backend/instance/sessions/c3b5a0a4b143ede3a848117609a6b5ea_activity.pkl b/backend/instance/sessions/c3b5a0a4b143ede3a848117609a6b5ea_activity.pkl new file mode 100644 index 000000000..a1cec0674 Binary files /dev/null and b/backend/instance/sessions/c3b5a0a4b143ede3a848117609a6b5ea_activity.pkl differ diff --git a/backend/instance/sessions/c3dbd2ba684d59cc09fb9aadbc357922_activity.pkl b/backend/instance/sessions/c3dbd2ba684d59cc09fb9aadbc357922_activity.pkl new file mode 100644 index 000000000..7b55b2a39 Binary files /dev/null and b/backend/instance/sessions/c3dbd2ba684d59cc09fb9aadbc357922_activity.pkl differ diff --git a/backend/instance/sessions/c3f79f389bf765a1ef0097c5d2402b78_activity.pkl b/backend/instance/sessions/c3f79f389bf765a1ef0097c5d2402b78_activity.pkl new file mode 100644 index 000000000..e19b161e3 Binary files /dev/null and b/backend/instance/sessions/c3f79f389bf765a1ef0097c5d2402b78_activity.pkl differ diff --git a/backend/instance/sessions/c4be7c25d883cebf172004fb38075c03_activity.pkl b/backend/instance/sessions/c4be7c25d883cebf172004fb38075c03_activity.pkl new file mode 100644 index 000000000..59a64ccbb Binary files /dev/null and b/backend/instance/sessions/c4be7c25d883cebf172004fb38075c03_activity.pkl differ diff --git a/backend/instance/sessions/c4e4f1f4238964eb1793c876a4bda36e_activity.pkl b/backend/instance/sessions/c4e4f1f4238964eb1793c876a4bda36e_activity.pkl new file mode 100644 index 000000000..f0e2b814a Binary files /dev/null and b/backend/instance/sessions/c4e4f1f4238964eb1793c876a4bda36e_activity.pkl differ diff --git a/backend/instance/sessions/c5123624b023e4a8fe587f406afdca50_activity.pkl b/backend/instance/sessions/c5123624b023e4a8fe587f406afdca50_activity.pkl new file mode 100644 index 000000000..5b80d39f2 Binary files /dev/null and b/backend/instance/sessions/c5123624b023e4a8fe587f406afdca50_activity.pkl differ diff --git a/backend/instance/sessions/c601f8aa8f5742044f7850e5d32f4b98_activity.pkl b/backend/instance/sessions/c601f8aa8f5742044f7850e5d32f4b98_activity.pkl new file mode 100644 index 000000000..ea74cb05c Binary files /dev/null and b/backend/instance/sessions/c601f8aa8f5742044f7850e5d32f4b98_activity.pkl differ diff --git a/backend/instance/sessions/c60fea416a3f8ca55d404a9b71ac72af_activity.pkl b/backend/instance/sessions/c60fea416a3f8ca55d404a9b71ac72af_activity.pkl new file mode 100644 index 000000000..e6e81c293 Binary files /dev/null and b/backend/instance/sessions/c60fea416a3f8ca55d404a9b71ac72af_activity.pkl differ diff --git a/backend/instance/sessions/c6834268929ce60e42915507170d3076_activity.pkl b/backend/instance/sessions/c6834268929ce60e42915507170d3076_activity.pkl new file mode 100644 index 000000000..fb06a62af Binary files /dev/null and b/backend/instance/sessions/c6834268929ce60e42915507170d3076_activity.pkl differ diff --git a/backend/instance/sessions/c698cfa8026fa19a6d45b1511eb80eaa_activity.pkl b/backend/instance/sessions/c698cfa8026fa19a6d45b1511eb80eaa_activity.pkl new file mode 100644 index 000000000..684644c35 Binary files /dev/null and b/backend/instance/sessions/c698cfa8026fa19a6d45b1511eb80eaa_activity.pkl differ diff --git a/backend/instance/sessions/c6aae4ea33d31cfc062dc53d1a93c8a3_activity.pkl b/backend/instance/sessions/c6aae4ea33d31cfc062dc53d1a93c8a3_activity.pkl new file mode 100644 index 000000000..74317c81f Binary files /dev/null and b/backend/instance/sessions/c6aae4ea33d31cfc062dc53d1a93c8a3_activity.pkl differ diff --git a/backend/instance/sessions/c6c272143cc3766c2805ea0bc04ed255_activity.pkl b/backend/instance/sessions/c6c272143cc3766c2805ea0bc04ed255_activity.pkl new file mode 100644 index 000000000..992e3b8f1 Binary files /dev/null and b/backend/instance/sessions/c6c272143cc3766c2805ea0bc04ed255_activity.pkl differ diff --git a/backend/instance/sessions/c7933a74928fad81c31631ea778509dd_activity.pkl b/backend/instance/sessions/c7933a74928fad81c31631ea778509dd_activity.pkl new file mode 100644 index 000000000..f79813817 Binary files /dev/null and b/backend/instance/sessions/c7933a74928fad81c31631ea778509dd_activity.pkl differ diff --git a/backend/instance/sessions/c7edd2fec82a76371899cbcfc6fa8941_activity.pkl b/backend/instance/sessions/c7edd2fec82a76371899cbcfc6fa8941_activity.pkl new file mode 100644 index 000000000..0b1e41830 Binary files /dev/null and b/backend/instance/sessions/c7edd2fec82a76371899cbcfc6fa8941_activity.pkl differ diff --git a/backend/instance/sessions/c810f0ceb833509b54594290afc33915_activity.pkl b/backend/instance/sessions/c810f0ceb833509b54594290afc33915_activity.pkl new file mode 100644 index 000000000..a9ddb328d Binary files /dev/null and b/backend/instance/sessions/c810f0ceb833509b54594290afc33915_activity.pkl differ diff --git a/backend/instance/sessions/c916b6f7c4c9a9fdb9d5a8117b6ea415_activity.pkl b/backend/instance/sessions/c916b6f7c4c9a9fdb9d5a8117b6ea415_activity.pkl new file mode 100644 index 000000000..10f257138 Binary files /dev/null and b/backend/instance/sessions/c916b6f7c4c9a9fdb9d5a8117b6ea415_activity.pkl differ diff --git a/backend/instance/sessions/c938b3af63a091629db9d8c2d98c51c3_activity.pkl b/backend/instance/sessions/c938b3af63a091629db9d8c2d98c51c3_activity.pkl new file mode 100644 index 000000000..d7a1668ce Binary files /dev/null and b/backend/instance/sessions/c938b3af63a091629db9d8c2d98c51c3_activity.pkl differ diff --git a/backend/instance/sessions/c9801242171d6e1e61198648e46164b8_activity.pkl b/backend/instance/sessions/c9801242171d6e1e61198648e46164b8_activity.pkl new file mode 100644 index 000000000..5a8e9881f Binary files /dev/null and b/backend/instance/sessions/c9801242171d6e1e61198648e46164b8_activity.pkl differ diff --git a/backend/instance/sessions/c9a143ed8b6756bf4c4f1c70dbf185f8_activity.pkl b/backend/instance/sessions/c9a143ed8b6756bf4c4f1c70dbf185f8_activity.pkl new file mode 100644 index 000000000..f10ab852c Binary files /dev/null and b/backend/instance/sessions/c9a143ed8b6756bf4c4f1c70dbf185f8_activity.pkl differ diff --git a/backend/instance/sessions/c9d60d0e6985ceff29da3b55803b9031_activity.pkl b/backend/instance/sessions/c9d60d0e6985ceff29da3b55803b9031_activity.pkl new file mode 100644 index 000000000..02ce52b58 Binary files /dev/null and b/backend/instance/sessions/c9d60d0e6985ceff29da3b55803b9031_activity.pkl differ diff --git a/backend/instance/sessions/c9ee51c7a71ae2a5fba1099a6e33f6dd_activity.pkl b/backend/instance/sessions/c9ee51c7a71ae2a5fba1099a6e33f6dd_activity.pkl new file mode 100644 index 000000000..88602e89b Binary files /dev/null and b/backend/instance/sessions/c9ee51c7a71ae2a5fba1099a6e33f6dd_activity.pkl differ diff --git a/backend/instance/sessions/c9f17bccb4e7c42d11b1d8e868c4d1af_activity.pkl b/backend/instance/sessions/c9f17bccb4e7c42d11b1d8e868c4d1af_activity.pkl new file mode 100644 index 000000000..e41b267f3 Binary files /dev/null and b/backend/instance/sessions/c9f17bccb4e7c42d11b1d8e868c4d1af_activity.pkl differ diff --git a/backend/instance/sessions/ca4fe6ccdcf96bf37df80862a62c9f13_activity.pkl b/backend/instance/sessions/ca4fe6ccdcf96bf37df80862a62c9f13_activity.pkl new file mode 100644 index 000000000..efcca6f69 Binary files /dev/null and b/backend/instance/sessions/ca4fe6ccdcf96bf37df80862a62c9f13_activity.pkl differ diff --git a/backend/instance/sessions/ca637ee3f4423cce36bfc0a078492d0c_activity.pkl b/backend/instance/sessions/ca637ee3f4423cce36bfc0a078492d0c_activity.pkl new file mode 100644 index 000000000..b6c981601 Binary files /dev/null and b/backend/instance/sessions/ca637ee3f4423cce36bfc0a078492d0c_activity.pkl differ diff --git a/backend/instance/sessions/ca7e3239812c05ead3f5d07f9f8f2e74_activity.pkl b/backend/instance/sessions/ca7e3239812c05ead3f5d07f9f8f2e74_activity.pkl new file mode 100644 index 000000000..749542ef4 Binary files /dev/null and b/backend/instance/sessions/ca7e3239812c05ead3f5d07f9f8f2e74_activity.pkl differ diff --git a/backend/instance/sessions/cb808a2fc27b4b5f8c8fbabafe7d9231_activity.pkl b/backend/instance/sessions/cb808a2fc27b4b5f8c8fbabafe7d9231_activity.pkl new file mode 100644 index 000000000..d049b6455 Binary files /dev/null and b/backend/instance/sessions/cb808a2fc27b4b5f8c8fbabafe7d9231_activity.pkl differ diff --git a/backend/instance/sessions/cb94515fe0d3c6ba6e32a6f84ef9efa6_activity.pkl b/backend/instance/sessions/cb94515fe0d3c6ba6e32a6f84ef9efa6_activity.pkl new file mode 100644 index 000000000..60d011e4f Binary files /dev/null and b/backend/instance/sessions/cb94515fe0d3c6ba6e32a6f84ef9efa6_activity.pkl differ diff --git a/backend/instance/sessions/cbe1a0db3fc0e00ab0c33b82188ad814_activity.pkl b/backend/instance/sessions/cbe1a0db3fc0e00ab0c33b82188ad814_activity.pkl new file mode 100644 index 000000000..f0d46d96c Binary files /dev/null and b/backend/instance/sessions/cbe1a0db3fc0e00ab0c33b82188ad814_activity.pkl differ diff --git a/backend/instance/sessions/cca53aef94d4af78e8bde4731bd72f0b_activity.pkl b/backend/instance/sessions/cca53aef94d4af78e8bde4731bd72f0b_activity.pkl new file mode 100644 index 000000000..8cf79d611 Binary files /dev/null and b/backend/instance/sessions/cca53aef94d4af78e8bde4731bd72f0b_activity.pkl differ diff --git a/backend/instance/sessions/ccc2456f5925b77265359d2549405a53_activity.pkl b/backend/instance/sessions/ccc2456f5925b77265359d2549405a53_activity.pkl new file mode 100644 index 000000000..477ca5421 Binary files /dev/null and b/backend/instance/sessions/ccc2456f5925b77265359d2549405a53_activity.pkl differ diff --git a/backend/instance/sessions/cd0727b54af6bc038222d2acaea60a1f_activity.pkl b/backend/instance/sessions/cd0727b54af6bc038222d2acaea60a1f_activity.pkl new file mode 100644 index 000000000..e3c721da0 Binary files /dev/null and b/backend/instance/sessions/cd0727b54af6bc038222d2acaea60a1f_activity.pkl differ diff --git a/backend/instance/sessions/cd45909b83562509027e2c7e509999b8_activity.pkl b/backend/instance/sessions/cd45909b83562509027e2c7e509999b8_activity.pkl new file mode 100644 index 000000000..fe9fda10f Binary files /dev/null and b/backend/instance/sessions/cd45909b83562509027e2c7e509999b8_activity.pkl differ diff --git a/backend/instance/sessions/cd5576c2e29a018a237cc71af87bbc09_activity.pkl b/backend/instance/sessions/cd5576c2e29a018a237cc71af87bbc09_activity.pkl new file mode 100644 index 000000000..33d1353b0 Binary files /dev/null and b/backend/instance/sessions/cd5576c2e29a018a237cc71af87bbc09_activity.pkl differ diff --git a/backend/instance/sessions/ce513d3e472d91604907e4fb8b109d74_activity.pkl b/backend/instance/sessions/ce513d3e472d91604907e4fb8b109d74_activity.pkl new file mode 100644 index 000000000..11029b4ad Binary files /dev/null and b/backend/instance/sessions/ce513d3e472d91604907e4fb8b109d74_activity.pkl differ diff --git a/backend/instance/sessions/ce96cbe598691674c2551a64b5cb15d3_activity.pkl b/backend/instance/sessions/ce96cbe598691674c2551a64b5cb15d3_activity.pkl new file mode 100644 index 000000000..0044aa360 Binary files /dev/null and b/backend/instance/sessions/ce96cbe598691674c2551a64b5cb15d3_activity.pkl differ diff --git a/backend/instance/sessions/cea39c7f3bf2d8f6e1fea7eb5fa291d0_activity.pkl b/backend/instance/sessions/cea39c7f3bf2d8f6e1fea7eb5fa291d0_activity.pkl new file mode 100644 index 000000000..f55373b80 Binary files /dev/null and b/backend/instance/sessions/cea39c7f3bf2d8f6e1fea7eb5fa291d0_activity.pkl differ diff --git a/backend/instance/sessions/cf8c6069bd25188a85a0a34a23e9c952_activity.pkl b/backend/instance/sessions/cf8c6069bd25188a85a0a34a23e9c952_activity.pkl new file mode 100644 index 000000000..6adec8af0 Binary files /dev/null and b/backend/instance/sessions/cf8c6069bd25188a85a0a34a23e9c952_activity.pkl differ diff --git a/backend/instance/sessions/cff030ae43d21e870e373a6ac8a7aca7_activity.pkl b/backend/instance/sessions/cff030ae43d21e870e373a6ac8a7aca7_activity.pkl new file mode 100644 index 000000000..5f3a95b6d Binary files /dev/null and b/backend/instance/sessions/cff030ae43d21e870e373a6ac8a7aca7_activity.pkl differ diff --git a/backend/instance/sessions/cff464c8e20b0572e60223f623d4de6b_activity.pkl b/backend/instance/sessions/cff464c8e20b0572e60223f623d4de6b_activity.pkl new file mode 100644 index 000000000..8925deec9 Binary files /dev/null and b/backend/instance/sessions/cff464c8e20b0572e60223f623d4de6b_activity.pkl differ diff --git a/backend/instance/sessions/d0255e9e4be4ced5eef8f657efe5d066_activity.pkl b/backend/instance/sessions/d0255e9e4be4ced5eef8f657efe5d066_activity.pkl new file mode 100644 index 000000000..934a92676 Binary files /dev/null and b/backend/instance/sessions/d0255e9e4be4ced5eef8f657efe5d066_activity.pkl differ diff --git a/backend/instance/sessions/d06a5eb16fcfaa1b4613ed888d31bce8_activity.pkl b/backend/instance/sessions/d06a5eb16fcfaa1b4613ed888d31bce8_activity.pkl new file mode 100644 index 000000000..87c0cb3ad Binary files /dev/null and b/backend/instance/sessions/d06a5eb16fcfaa1b4613ed888d31bce8_activity.pkl differ diff --git a/backend/instance/sessions/d0aabc825b78db36952679c99996c877_activity.pkl b/backend/instance/sessions/d0aabc825b78db36952679c99996c877_activity.pkl new file mode 100644 index 000000000..450b3177a Binary files /dev/null and b/backend/instance/sessions/d0aabc825b78db36952679c99996c877_activity.pkl differ diff --git a/backend/instance/sessions/d259ec4ebddf3519cc28cd3fecb007bc_activity.pkl b/backend/instance/sessions/d259ec4ebddf3519cc28cd3fecb007bc_activity.pkl new file mode 100644 index 000000000..c9e3fbbe4 Binary files /dev/null and b/backend/instance/sessions/d259ec4ebddf3519cc28cd3fecb007bc_activity.pkl differ diff --git a/backend/instance/sessions/d2681ce0f20922cf0c150527b9388086_activity.pkl b/backend/instance/sessions/d2681ce0f20922cf0c150527b9388086_activity.pkl new file mode 100644 index 000000000..c9fa0cd77 Binary files /dev/null and b/backend/instance/sessions/d2681ce0f20922cf0c150527b9388086_activity.pkl differ diff --git a/backend/instance/sessions/d2af9f4bb3af3c06c9530eb9f838b737_activity.pkl b/backend/instance/sessions/d2af9f4bb3af3c06c9530eb9f838b737_activity.pkl new file mode 100644 index 000000000..a703408b1 Binary files /dev/null and b/backend/instance/sessions/d2af9f4bb3af3c06c9530eb9f838b737_activity.pkl differ diff --git a/backend/instance/sessions/d2e56ea34785b208cd5736062f2e8081_activity.pkl b/backend/instance/sessions/d2e56ea34785b208cd5736062f2e8081_activity.pkl new file mode 100644 index 000000000..37a952910 Binary files /dev/null and b/backend/instance/sessions/d2e56ea34785b208cd5736062f2e8081_activity.pkl differ diff --git a/backend/instance/sessions/d2f02dd42c833a40a50ac8f62626ef63_activity.pkl b/backend/instance/sessions/d2f02dd42c833a40a50ac8f62626ef63_activity.pkl new file mode 100644 index 000000000..721552463 Binary files /dev/null and b/backend/instance/sessions/d2f02dd42c833a40a50ac8f62626ef63_activity.pkl differ diff --git a/backend/instance/sessions/d3818f9d10bc4158e51c3ca02462fe03_activity.pkl b/backend/instance/sessions/d3818f9d10bc4158e51c3ca02462fe03_activity.pkl new file mode 100644 index 000000000..5b0508523 Binary files /dev/null and b/backend/instance/sessions/d3818f9d10bc4158e51c3ca02462fe03_activity.pkl differ diff --git a/backend/instance/sessions/d39c8e5b06d55129126dcd0ee63d6160_activity.pkl b/backend/instance/sessions/d39c8e5b06d55129126dcd0ee63d6160_activity.pkl new file mode 100644 index 000000000..5c95607c5 Binary files /dev/null and b/backend/instance/sessions/d39c8e5b06d55129126dcd0ee63d6160_activity.pkl differ diff --git a/backend/instance/sessions/d3e92d368303a020a09d012854a0c80c_activity.pkl b/backend/instance/sessions/d3e92d368303a020a09d012854a0c80c_activity.pkl new file mode 100644 index 000000000..22cc7077a Binary files /dev/null and b/backend/instance/sessions/d3e92d368303a020a09d012854a0c80c_activity.pkl differ diff --git a/backend/instance/sessions/d40b4642bd127532df11b6955014505d_activity.pkl b/backend/instance/sessions/d40b4642bd127532df11b6955014505d_activity.pkl new file mode 100644 index 000000000..d079d2990 Binary files /dev/null and b/backend/instance/sessions/d40b4642bd127532df11b6955014505d_activity.pkl differ diff --git a/backend/instance/sessions/d4299ea481726fc726b366d40af08492_activity.pkl b/backend/instance/sessions/d4299ea481726fc726b366d40af08492_activity.pkl new file mode 100644 index 000000000..67943cfed Binary files /dev/null and b/backend/instance/sessions/d4299ea481726fc726b366d40af08492_activity.pkl differ diff --git a/backend/instance/sessions/d42af3ab2f0f9181824da69bd36dbf92_activity.pkl b/backend/instance/sessions/d42af3ab2f0f9181824da69bd36dbf92_activity.pkl new file mode 100644 index 000000000..c9a870373 Binary files /dev/null and b/backend/instance/sessions/d42af3ab2f0f9181824da69bd36dbf92_activity.pkl differ diff --git a/backend/instance/sessions/d5310f5a062f7f181f7a8378bfcf1e04_activity.pkl b/backend/instance/sessions/d5310f5a062f7f181f7a8378bfcf1e04_activity.pkl new file mode 100644 index 000000000..795a13e10 Binary files /dev/null and b/backend/instance/sessions/d5310f5a062f7f181f7a8378bfcf1e04_activity.pkl differ diff --git a/backend/instance/sessions/d596706543d9d58c12151c7295cef73d_activity.pkl b/backend/instance/sessions/d596706543d9d58c12151c7295cef73d_activity.pkl new file mode 100644 index 000000000..c5e4ed6d6 Binary files /dev/null and b/backend/instance/sessions/d596706543d9d58c12151c7295cef73d_activity.pkl differ diff --git a/backend/instance/sessions/d6322457245007cb6401a2dc106874cb_activity.pkl b/backend/instance/sessions/d6322457245007cb6401a2dc106874cb_activity.pkl new file mode 100644 index 000000000..7559ba855 Binary files /dev/null and b/backend/instance/sessions/d6322457245007cb6401a2dc106874cb_activity.pkl differ diff --git a/backend/instance/sessions/d6690db5993e13c0aa62129ae6bc3a1a_activity.pkl b/backend/instance/sessions/d6690db5993e13c0aa62129ae6bc3a1a_activity.pkl new file mode 100644 index 000000000..7dec81b50 Binary files /dev/null and b/backend/instance/sessions/d6690db5993e13c0aa62129ae6bc3a1a_activity.pkl differ diff --git a/backend/instance/sessions/d6dd3520c74941a0d37971021ff0cad2_activity.pkl b/backend/instance/sessions/d6dd3520c74941a0d37971021ff0cad2_activity.pkl new file mode 100644 index 000000000..8a958cde4 Binary files /dev/null and b/backend/instance/sessions/d6dd3520c74941a0d37971021ff0cad2_activity.pkl differ diff --git a/backend/instance/sessions/d7291b8b2a74b7b0aa926ced6007fec3_activity.pkl b/backend/instance/sessions/d7291b8b2a74b7b0aa926ced6007fec3_activity.pkl new file mode 100644 index 000000000..bbe8bb377 Binary files /dev/null and b/backend/instance/sessions/d7291b8b2a74b7b0aa926ced6007fec3_activity.pkl differ diff --git a/backend/instance/sessions/d732f5c6b29e81e5adbb690c20b02bd3_activity.pkl b/backend/instance/sessions/d732f5c6b29e81e5adbb690c20b02bd3_activity.pkl new file mode 100644 index 000000000..15df56681 Binary files /dev/null and b/backend/instance/sessions/d732f5c6b29e81e5adbb690c20b02bd3_activity.pkl differ diff --git a/backend/instance/sessions/d7393a1d55c16205abc1bb62fbd62a4b_activity.pkl b/backend/instance/sessions/d7393a1d55c16205abc1bb62fbd62a4b_activity.pkl new file mode 100644 index 000000000..e6e243e12 Binary files /dev/null and b/backend/instance/sessions/d7393a1d55c16205abc1bb62fbd62a4b_activity.pkl differ diff --git a/backend/instance/sessions/d7bd166d9ac81803a02908af94a57c61_activity.pkl b/backend/instance/sessions/d7bd166d9ac81803a02908af94a57c61_activity.pkl new file mode 100644 index 000000000..b52283db3 Binary files /dev/null and b/backend/instance/sessions/d7bd166d9ac81803a02908af94a57c61_activity.pkl differ diff --git a/backend/instance/sessions/d7d18bd7b31ccacaf31bdf41e975df8b_activity.pkl b/backend/instance/sessions/d7d18bd7b31ccacaf31bdf41e975df8b_activity.pkl new file mode 100644 index 000000000..e25b6f3f7 Binary files /dev/null and b/backend/instance/sessions/d7d18bd7b31ccacaf31bdf41e975df8b_activity.pkl differ diff --git a/backend/instance/sessions/d7fe2b6083f5c08778d20172843036a5_activity.pkl b/backend/instance/sessions/d7fe2b6083f5c08778d20172843036a5_activity.pkl new file mode 100644 index 000000000..e140d9061 Binary files /dev/null and b/backend/instance/sessions/d7fe2b6083f5c08778d20172843036a5_activity.pkl differ diff --git a/backend/instance/sessions/d85dff6420b0403d96092cc95776be43_activity.pkl b/backend/instance/sessions/d85dff6420b0403d96092cc95776be43_activity.pkl new file mode 100644 index 000000000..a3f2d5596 Binary files /dev/null and b/backend/instance/sessions/d85dff6420b0403d96092cc95776be43_activity.pkl differ diff --git a/backend/instance/sessions/d8e1e8d3fdd7684bd5592a63c3302b80_activity.pkl b/backend/instance/sessions/d8e1e8d3fdd7684bd5592a63c3302b80_activity.pkl new file mode 100644 index 000000000..c2e5ba708 Binary files /dev/null and b/backend/instance/sessions/d8e1e8d3fdd7684bd5592a63c3302b80_activity.pkl differ diff --git a/backend/instance/sessions/d9bd8b8457f6cddecb522b5a36526534_activity.pkl b/backend/instance/sessions/d9bd8b8457f6cddecb522b5a36526534_activity.pkl new file mode 100644 index 000000000..9a4af7997 Binary files /dev/null and b/backend/instance/sessions/d9bd8b8457f6cddecb522b5a36526534_activity.pkl differ diff --git a/backend/instance/sessions/da073d8950232ff225fa42e683309aad_activity.pkl b/backend/instance/sessions/da073d8950232ff225fa42e683309aad_activity.pkl new file mode 100644 index 000000000..aff75b5bf Binary files /dev/null and b/backend/instance/sessions/da073d8950232ff225fa42e683309aad_activity.pkl differ diff --git a/backend/instance/sessions/da688f41660a09cd5e1c539f5028e024_activity.pkl b/backend/instance/sessions/da688f41660a09cd5e1c539f5028e024_activity.pkl new file mode 100644 index 000000000..8ae5006e1 Binary files /dev/null and b/backend/instance/sessions/da688f41660a09cd5e1c539f5028e024_activity.pkl differ diff --git a/backend/instance/sessions/da8219f3a180a9e1b58233162149a01e_activity.pkl b/backend/instance/sessions/da8219f3a180a9e1b58233162149a01e_activity.pkl new file mode 100644 index 000000000..2dac95996 Binary files /dev/null and b/backend/instance/sessions/da8219f3a180a9e1b58233162149a01e_activity.pkl differ diff --git a/backend/instance/sessions/dbe2faa5ef0d95e1447c99bdc0307b6f_activity.pkl b/backend/instance/sessions/dbe2faa5ef0d95e1447c99bdc0307b6f_activity.pkl new file mode 100644 index 000000000..02d4deb1b Binary files /dev/null and b/backend/instance/sessions/dbe2faa5ef0d95e1447c99bdc0307b6f_activity.pkl differ diff --git a/backend/instance/sessions/dc3599aa5279c1d12ef22aa464b97378_activity.pkl b/backend/instance/sessions/dc3599aa5279c1d12ef22aa464b97378_activity.pkl new file mode 100644 index 000000000..784006e09 Binary files /dev/null and b/backend/instance/sessions/dc3599aa5279c1d12ef22aa464b97378_activity.pkl differ diff --git a/backend/instance/sessions/dcd17825a7ddc488d0659038cd5c70e7_activity.pkl b/backend/instance/sessions/dcd17825a7ddc488d0659038cd5c70e7_activity.pkl new file mode 100644 index 000000000..1a4731e28 Binary files /dev/null and b/backend/instance/sessions/dcd17825a7ddc488d0659038cd5c70e7_activity.pkl differ diff --git a/backend/instance/sessions/dcdb4962cbbe8926974aca4e2454b1d5_activity.pkl b/backend/instance/sessions/dcdb4962cbbe8926974aca4e2454b1d5_activity.pkl new file mode 100644 index 000000000..bf75725b7 Binary files /dev/null and b/backend/instance/sessions/dcdb4962cbbe8926974aca4e2454b1d5_activity.pkl differ diff --git a/backend/instance/sessions/dd270ac61d1c83e0fc6b3db5e1209603_activity.pkl b/backend/instance/sessions/dd270ac61d1c83e0fc6b3db5e1209603_activity.pkl new file mode 100644 index 000000000..d481c07e4 Binary files /dev/null and b/backend/instance/sessions/dd270ac61d1c83e0fc6b3db5e1209603_activity.pkl differ diff --git a/backend/instance/sessions/dd32f4d18b7cad831b6bcc3809fa4831_activity.pkl b/backend/instance/sessions/dd32f4d18b7cad831b6bcc3809fa4831_activity.pkl new file mode 100644 index 000000000..bf3347096 Binary files /dev/null and b/backend/instance/sessions/dd32f4d18b7cad831b6bcc3809fa4831_activity.pkl differ diff --git a/backend/instance/sessions/dd3ce15268b23dd15065514520fe5e83_activity.pkl b/backend/instance/sessions/dd3ce15268b23dd15065514520fe5e83_activity.pkl new file mode 100644 index 000000000..3f6bb8454 Binary files /dev/null and b/backend/instance/sessions/dd3ce15268b23dd15065514520fe5e83_activity.pkl differ diff --git a/backend/instance/sessions/dd71f7aace93ff66463f4c17cc82644a_activity.pkl b/backend/instance/sessions/dd71f7aace93ff66463f4c17cc82644a_activity.pkl new file mode 100644 index 000000000..1497cdac6 Binary files /dev/null and b/backend/instance/sessions/dd71f7aace93ff66463f4c17cc82644a_activity.pkl differ diff --git a/backend/instance/sessions/dd79b6287fb1e5cee70c5fc1e9b86dd2_activity.pkl b/backend/instance/sessions/dd79b6287fb1e5cee70c5fc1e9b86dd2_activity.pkl new file mode 100644 index 000000000..383c851e0 Binary files /dev/null and b/backend/instance/sessions/dd79b6287fb1e5cee70c5fc1e9b86dd2_activity.pkl differ diff --git a/backend/instance/sessions/de2781d709a4bd06181f673714e12869_activity.pkl b/backend/instance/sessions/de2781d709a4bd06181f673714e12869_activity.pkl new file mode 100644 index 000000000..d91870c2e Binary files /dev/null and b/backend/instance/sessions/de2781d709a4bd06181f673714e12869_activity.pkl differ diff --git a/backend/instance/sessions/de30fe0937942e791db01dd7f1d5b6f9_activity.pkl b/backend/instance/sessions/de30fe0937942e791db01dd7f1d5b6f9_activity.pkl new file mode 100644 index 000000000..e2351f8d3 Binary files /dev/null and b/backend/instance/sessions/de30fe0937942e791db01dd7f1d5b6f9_activity.pkl differ diff --git a/backend/instance/sessions/de3e33e477c97c7280f9dc1be8070cac_activity.pkl b/backend/instance/sessions/de3e33e477c97c7280f9dc1be8070cac_activity.pkl new file mode 100644 index 000000000..fa6c58f0d Binary files /dev/null and b/backend/instance/sessions/de3e33e477c97c7280f9dc1be8070cac_activity.pkl differ diff --git a/backend/instance/sessions/de83fc7745ab479688816775d676d104_activity.pkl b/backend/instance/sessions/de83fc7745ab479688816775d676d104_activity.pkl new file mode 100644 index 000000000..07d48f9e9 Binary files /dev/null and b/backend/instance/sessions/de83fc7745ab479688816775d676d104_activity.pkl differ diff --git a/backend/instance/sessions/df0649e6639a8feb54a4709718a1dfd1_activity.pkl b/backend/instance/sessions/df0649e6639a8feb54a4709718a1dfd1_activity.pkl new file mode 100644 index 000000000..ebde3d302 Binary files /dev/null and b/backend/instance/sessions/df0649e6639a8feb54a4709718a1dfd1_activity.pkl differ diff --git a/backend/instance/sessions/df561e647ffdcf0ba101412e51921dae_activity.pkl b/backend/instance/sessions/df561e647ffdcf0ba101412e51921dae_activity.pkl new file mode 100644 index 000000000..2ad2fd53b Binary files /dev/null and b/backend/instance/sessions/df561e647ffdcf0ba101412e51921dae_activity.pkl differ diff --git a/backend/instance/sessions/df764f4ad5e9446e49ce764fd5d987d1_activity.pkl b/backend/instance/sessions/df764f4ad5e9446e49ce764fd5d987d1_activity.pkl new file mode 100644 index 000000000..b4d6be579 Binary files /dev/null and b/backend/instance/sessions/df764f4ad5e9446e49ce764fd5d987d1_activity.pkl differ diff --git a/backend/instance/sessions/df9eb1a2a129f48634c4e6c2746c2f6c_activity.pkl b/backend/instance/sessions/df9eb1a2a129f48634c4e6c2746c2f6c_activity.pkl new file mode 100644 index 000000000..d9db02a45 Binary files /dev/null and b/backend/instance/sessions/df9eb1a2a129f48634c4e6c2746c2f6c_activity.pkl differ diff --git a/backend/instance/sessions/dfb5e8195a3cf0418be33abd1a6b3eda_activity.pkl b/backend/instance/sessions/dfb5e8195a3cf0418be33abd1a6b3eda_activity.pkl new file mode 100644 index 000000000..e2c843fc1 Binary files /dev/null and b/backend/instance/sessions/dfb5e8195a3cf0418be33abd1a6b3eda_activity.pkl differ diff --git a/backend/instance/sessions/e0d7e69cfdef03971072d4a1b4bae635_activity.pkl b/backend/instance/sessions/e0d7e69cfdef03971072d4a1b4bae635_activity.pkl new file mode 100644 index 000000000..e7f0b4e5a Binary files /dev/null and b/backend/instance/sessions/e0d7e69cfdef03971072d4a1b4bae635_activity.pkl differ diff --git a/backend/instance/sessions/e101804abd12c86cb93183645b10ab98_activity.pkl b/backend/instance/sessions/e101804abd12c86cb93183645b10ab98_activity.pkl new file mode 100644 index 000000000..11af201c7 Binary files /dev/null and b/backend/instance/sessions/e101804abd12c86cb93183645b10ab98_activity.pkl differ diff --git a/backend/instance/sessions/e11343e8649e33c0897b37c197e55e83_activity.pkl b/backend/instance/sessions/e11343e8649e33c0897b37c197e55e83_activity.pkl new file mode 100644 index 000000000..87433f3c7 Binary files /dev/null and b/backend/instance/sessions/e11343e8649e33c0897b37c197e55e83_activity.pkl differ diff --git a/backend/instance/sessions/e13292959bfa197e5c7700e1b2f2bdec_activity.pkl b/backend/instance/sessions/e13292959bfa197e5c7700e1b2f2bdec_activity.pkl new file mode 100644 index 000000000..f03e1fb3d Binary files /dev/null and b/backend/instance/sessions/e13292959bfa197e5c7700e1b2f2bdec_activity.pkl differ diff --git a/backend/instance/sessions/e16c282622707e3abf68e2b84cdd8706_activity.pkl b/backend/instance/sessions/e16c282622707e3abf68e2b84cdd8706_activity.pkl new file mode 100644 index 000000000..4eb5b32b2 Binary files /dev/null and b/backend/instance/sessions/e16c282622707e3abf68e2b84cdd8706_activity.pkl differ diff --git a/backend/instance/sessions/e1a79a3dd0e2db68d37b124bba712806_activity.pkl b/backend/instance/sessions/e1a79a3dd0e2db68d37b124bba712806_activity.pkl new file mode 100644 index 000000000..9a80ebd86 Binary files /dev/null and b/backend/instance/sessions/e1a79a3dd0e2db68d37b124bba712806_activity.pkl differ diff --git a/backend/instance/sessions/e1eedd7d7e2861152b8f7b405746fb14_activity.pkl b/backend/instance/sessions/e1eedd7d7e2861152b8f7b405746fb14_activity.pkl new file mode 100644 index 000000000..1ef69d753 Binary files /dev/null and b/backend/instance/sessions/e1eedd7d7e2861152b8f7b405746fb14_activity.pkl differ diff --git a/backend/instance/sessions/e20d31f3efc60890bdca6906e36a64d8_activity.pkl b/backend/instance/sessions/e20d31f3efc60890bdca6906e36a64d8_activity.pkl new file mode 100644 index 000000000..d75f228c1 Binary files /dev/null and b/backend/instance/sessions/e20d31f3efc60890bdca6906e36a64d8_activity.pkl differ diff --git a/backend/instance/sessions/e28e9611bea74d834afaf74270d1d83f_activity.pkl b/backend/instance/sessions/e28e9611bea74d834afaf74270d1d83f_activity.pkl new file mode 100644 index 000000000..a67f511e3 Binary files /dev/null and b/backend/instance/sessions/e28e9611bea74d834afaf74270d1d83f_activity.pkl differ diff --git a/backend/instance/sessions/e41570c16c49fd3c328b0770832764c6_activity.pkl b/backend/instance/sessions/e41570c16c49fd3c328b0770832764c6_activity.pkl new file mode 100644 index 000000000..4e97d2301 Binary files /dev/null and b/backend/instance/sessions/e41570c16c49fd3c328b0770832764c6_activity.pkl differ diff --git a/backend/instance/sessions/e44a502f8f483402ec1b35d6c1f23ede_activity.pkl b/backend/instance/sessions/e44a502f8f483402ec1b35d6c1f23ede_activity.pkl new file mode 100644 index 000000000..5def8d520 Binary files /dev/null and b/backend/instance/sessions/e44a502f8f483402ec1b35d6c1f23ede_activity.pkl differ diff --git a/backend/instance/sessions/e50b2a84fc6d39680ba5e3980218766e_activity.pkl b/backend/instance/sessions/e50b2a84fc6d39680ba5e3980218766e_activity.pkl new file mode 100644 index 000000000..948a1f848 Binary files /dev/null and b/backend/instance/sessions/e50b2a84fc6d39680ba5e3980218766e_activity.pkl differ diff --git a/backend/instance/sessions/e527b6dd04601ac95395b91c6930e6fd_activity.pkl b/backend/instance/sessions/e527b6dd04601ac95395b91c6930e6fd_activity.pkl new file mode 100644 index 000000000..360132e99 Binary files /dev/null and b/backend/instance/sessions/e527b6dd04601ac95395b91c6930e6fd_activity.pkl differ diff --git a/backend/instance/sessions/e5b4bdf833957668722002d0289f4af4_activity.pkl b/backend/instance/sessions/e5b4bdf833957668722002d0289f4af4_activity.pkl new file mode 100644 index 000000000..53892238e Binary files /dev/null and b/backend/instance/sessions/e5b4bdf833957668722002d0289f4af4_activity.pkl differ diff --git a/backend/instance/sessions/e6143b4daaaefb02eb4e99769ec096ac_activity.pkl b/backend/instance/sessions/e6143b4daaaefb02eb4e99769ec096ac_activity.pkl new file mode 100644 index 000000000..5599508b6 Binary files /dev/null and b/backend/instance/sessions/e6143b4daaaefb02eb4e99769ec096ac_activity.pkl differ diff --git a/backend/instance/sessions/e62640197951e0d6aaa0f45d2b80b03a_activity.pkl b/backend/instance/sessions/e62640197951e0d6aaa0f45d2b80b03a_activity.pkl new file mode 100644 index 000000000..b67d114f6 Binary files /dev/null and b/backend/instance/sessions/e62640197951e0d6aaa0f45d2b80b03a_activity.pkl differ diff --git a/backend/instance/sessions/e6430ac2e8b71bb1c11c03f4a7c8f16a_activity.pkl b/backend/instance/sessions/e6430ac2e8b71bb1c11c03f4a7c8f16a_activity.pkl new file mode 100644 index 000000000..c67b33efa Binary files /dev/null and b/backend/instance/sessions/e6430ac2e8b71bb1c11c03f4a7c8f16a_activity.pkl differ diff --git a/backend/instance/sessions/e67b036c5cdfad9dd7c049ccb1d54189_activity.pkl b/backend/instance/sessions/e67b036c5cdfad9dd7c049ccb1d54189_activity.pkl new file mode 100644 index 000000000..468a09084 Binary files /dev/null and b/backend/instance/sessions/e67b036c5cdfad9dd7c049ccb1d54189_activity.pkl differ diff --git a/backend/instance/sessions/e701675b6119a9467bac1a927861a3c0_activity.pkl b/backend/instance/sessions/e701675b6119a9467bac1a927861a3c0_activity.pkl new file mode 100644 index 000000000..e691fe82c Binary files /dev/null and b/backend/instance/sessions/e701675b6119a9467bac1a927861a3c0_activity.pkl differ diff --git a/backend/instance/sessions/e72fe0f25e571e67ddfc455daa8a5096_activity.pkl b/backend/instance/sessions/e72fe0f25e571e67ddfc455daa8a5096_activity.pkl new file mode 100644 index 000000000..f3d965097 Binary files /dev/null and b/backend/instance/sessions/e72fe0f25e571e67ddfc455daa8a5096_activity.pkl differ diff --git a/backend/instance/sessions/e74b7b43bbbca6adafa90e6a62fc29a5_activity.pkl b/backend/instance/sessions/e74b7b43bbbca6adafa90e6a62fc29a5_activity.pkl new file mode 100644 index 000000000..048dfd7bf Binary files /dev/null and b/backend/instance/sessions/e74b7b43bbbca6adafa90e6a62fc29a5_activity.pkl differ diff --git a/backend/instance/sessions/e7cd8cb12019f3b79ea8daa1243c4668_activity.pkl b/backend/instance/sessions/e7cd8cb12019f3b79ea8daa1243c4668_activity.pkl new file mode 100644 index 000000000..057f803e0 Binary files /dev/null and b/backend/instance/sessions/e7cd8cb12019f3b79ea8daa1243c4668_activity.pkl differ diff --git a/backend/instance/sessions/e831fbbe7f471340c7c113c8487bbdb1_activity.pkl b/backend/instance/sessions/e831fbbe7f471340c7c113c8487bbdb1_activity.pkl new file mode 100644 index 000000000..cec29edc1 Binary files /dev/null and b/backend/instance/sessions/e831fbbe7f471340c7c113c8487bbdb1_activity.pkl differ diff --git a/backend/instance/sessions/e89d8e25abb7684ad64575d44879a927_activity.pkl b/backend/instance/sessions/e89d8e25abb7684ad64575d44879a927_activity.pkl new file mode 100644 index 000000000..89e8619b9 Binary files /dev/null and b/backend/instance/sessions/e89d8e25abb7684ad64575d44879a927_activity.pkl differ diff --git a/backend/instance/sessions/e8bc0f9686715ea52da44719beac51dc_activity.pkl b/backend/instance/sessions/e8bc0f9686715ea52da44719beac51dc_activity.pkl new file mode 100644 index 000000000..dfcf438d9 Binary files /dev/null and b/backend/instance/sessions/e8bc0f9686715ea52da44719beac51dc_activity.pkl differ diff --git a/backend/instance/sessions/e8e053b1852d6055b89a0857ff803e22_activity.pkl b/backend/instance/sessions/e8e053b1852d6055b89a0857ff803e22_activity.pkl new file mode 100644 index 000000000..71445583f Binary files /dev/null and b/backend/instance/sessions/e8e053b1852d6055b89a0857ff803e22_activity.pkl differ diff --git a/backend/instance/sessions/e8e0fae49109a3e393f93ebd8c816914_activity.pkl b/backend/instance/sessions/e8e0fae49109a3e393f93ebd8c816914_activity.pkl new file mode 100644 index 000000000..2d69360af Binary files /dev/null and b/backend/instance/sessions/e8e0fae49109a3e393f93ebd8c816914_activity.pkl differ diff --git a/backend/instance/sessions/e927ee3485b88bd1459332d59e287c11_activity.pkl b/backend/instance/sessions/e927ee3485b88bd1459332d59e287c11_activity.pkl new file mode 100644 index 000000000..4c0aacf69 Binary files /dev/null and b/backend/instance/sessions/e927ee3485b88bd1459332d59e287c11_activity.pkl differ diff --git a/backend/instance/sessions/e943fb4c4c513eeed29eb59bd1fe5cd3_activity.pkl b/backend/instance/sessions/e943fb4c4c513eeed29eb59bd1fe5cd3_activity.pkl new file mode 100644 index 000000000..ccfefc185 Binary files /dev/null and b/backend/instance/sessions/e943fb4c4c513eeed29eb59bd1fe5cd3_activity.pkl differ diff --git a/backend/instance/sessions/e97c1979d79ad1ec16b72ba52a80175f_activity.pkl b/backend/instance/sessions/e97c1979d79ad1ec16b72ba52a80175f_activity.pkl new file mode 100644 index 000000000..4f84d5a3b Binary files /dev/null and b/backend/instance/sessions/e97c1979d79ad1ec16b72ba52a80175f_activity.pkl differ diff --git a/backend/instance/sessions/ea606cb72c2a0f028ea708b15bbcd6c9_activity.pkl b/backend/instance/sessions/ea606cb72c2a0f028ea708b15bbcd6c9_activity.pkl new file mode 100644 index 000000000..c69ab17aa Binary files /dev/null and b/backend/instance/sessions/ea606cb72c2a0f028ea708b15bbcd6c9_activity.pkl differ diff --git a/backend/instance/sessions/ea66810eac7441f27908b47c7844cec7_activity.pkl b/backend/instance/sessions/ea66810eac7441f27908b47c7844cec7_activity.pkl new file mode 100644 index 000000000..751bc1c7a Binary files /dev/null and b/backend/instance/sessions/ea66810eac7441f27908b47c7844cec7_activity.pkl differ diff --git a/backend/instance/sessions/eaa1cb26134e19c01095fe77938d40c0_activity.pkl b/backend/instance/sessions/eaa1cb26134e19c01095fe77938d40c0_activity.pkl new file mode 100644 index 000000000..b09c49d9f Binary files /dev/null and b/backend/instance/sessions/eaa1cb26134e19c01095fe77938d40c0_activity.pkl differ diff --git a/backend/instance/sessions/eb5b9bd2d247ac30f9acbc21b5819a3f_activity.pkl b/backend/instance/sessions/eb5b9bd2d247ac30f9acbc21b5819a3f_activity.pkl new file mode 100644 index 000000000..bee160986 Binary files /dev/null and b/backend/instance/sessions/eb5b9bd2d247ac30f9acbc21b5819a3f_activity.pkl differ diff --git a/backend/instance/sessions/ebb1e47ceba5421abb18081fb4c55b9a_activity.pkl b/backend/instance/sessions/ebb1e47ceba5421abb18081fb4c55b9a_activity.pkl new file mode 100644 index 000000000..cdffd6178 Binary files /dev/null and b/backend/instance/sessions/ebb1e47ceba5421abb18081fb4c55b9a_activity.pkl differ diff --git a/backend/instance/sessions/ec3ff4dc7034014a2c22490513875932_activity.pkl b/backend/instance/sessions/ec3ff4dc7034014a2c22490513875932_activity.pkl new file mode 100644 index 000000000..13ab284c8 Binary files /dev/null and b/backend/instance/sessions/ec3ff4dc7034014a2c22490513875932_activity.pkl differ diff --git a/backend/instance/sessions/ec519e77f11521d4fd2adaa6a7362cba_activity.pkl b/backend/instance/sessions/ec519e77f11521d4fd2adaa6a7362cba_activity.pkl new file mode 100644 index 000000000..f41f54d65 Binary files /dev/null and b/backend/instance/sessions/ec519e77f11521d4fd2adaa6a7362cba_activity.pkl differ diff --git a/backend/instance/sessions/ecdc14b3b54cabfc3f24d5db6b874d82_activity.pkl b/backend/instance/sessions/ecdc14b3b54cabfc3f24d5db6b874d82_activity.pkl new file mode 100644 index 000000000..6bc5973a0 Binary files /dev/null and b/backend/instance/sessions/ecdc14b3b54cabfc3f24d5db6b874d82_activity.pkl differ diff --git a/backend/instance/sessions/ee0c288ca1ef9aba5cbb676bb30e3686_activity.pkl b/backend/instance/sessions/ee0c288ca1ef9aba5cbb676bb30e3686_activity.pkl new file mode 100644 index 000000000..91b39ba47 Binary files /dev/null and b/backend/instance/sessions/ee0c288ca1ef9aba5cbb676bb30e3686_activity.pkl differ diff --git a/backend/instance/sessions/ee52478d246a44e3a77ffe92b2b7ec48_activity.pkl b/backend/instance/sessions/ee52478d246a44e3a77ffe92b2b7ec48_activity.pkl new file mode 100644 index 000000000..d80ca957e Binary files /dev/null and b/backend/instance/sessions/ee52478d246a44e3a77ffe92b2b7ec48_activity.pkl differ diff --git a/backend/instance/sessions/ee578e1d948fbf9eaee3935604bf8f05_activity.pkl b/backend/instance/sessions/ee578e1d948fbf9eaee3935604bf8f05_activity.pkl new file mode 100644 index 000000000..95b104947 Binary files /dev/null and b/backend/instance/sessions/ee578e1d948fbf9eaee3935604bf8f05_activity.pkl differ diff --git a/backend/instance/sessions/ee9f98514a8f26b890c0f3d202ddfb71_activity.pkl b/backend/instance/sessions/ee9f98514a8f26b890c0f3d202ddfb71_activity.pkl new file mode 100644 index 000000000..2ad72c0b5 Binary files /dev/null and b/backend/instance/sessions/ee9f98514a8f26b890c0f3d202ddfb71_activity.pkl differ diff --git a/backend/instance/sessions/ee9fde087d76f21650f540a407d5204d_activity.pkl b/backend/instance/sessions/ee9fde087d76f21650f540a407d5204d_activity.pkl new file mode 100644 index 000000000..86ad58cbf Binary files /dev/null and b/backend/instance/sessions/ee9fde087d76f21650f540a407d5204d_activity.pkl differ diff --git a/backend/instance/sessions/eebd0b564c19b574435a787ad45a90c4_activity.pkl b/backend/instance/sessions/eebd0b564c19b574435a787ad45a90c4_activity.pkl new file mode 100644 index 000000000..942957a1d Binary files /dev/null and b/backend/instance/sessions/eebd0b564c19b574435a787ad45a90c4_activity.pkl differ diff --git a/backend/instance/sessions/eed193374d747ed4f998a50f06243c1b_activity.pkl b/backend/instance/sessions/eed193374d747ed4f998a50f06243c1b_activity.pkl new file mode 100644 index 000000000..a5ef3cccb Binary files /dev/null and b/backend/instance/sessions/eed193374d747ed4f998a50f06243c1b_activity.pkl differ diff --git a/backend/instance/sessions/ef51bb6e85d3ee9a03df64cd0658eeaa_activity.pkl b/backend/instance/sessions/ef51bb6e85d3ee9a03df64cd0658eeaa_activity.pkl new file mode 100644 index 000000000..c0ea6325a Binary files /dev/null and b/backend/instance/sessions/ef51bb6e85d3ee9a03df64cd0658eeaa_activity.pkl differ diff --git a/backend/instance/sessions/ef60bfbee998d67dca91189de77c6b2d_activity.pkl b/backend/instance/sessions/ef60bfbee998d67dca91189de77c6b2d_activity.pkl new file mode 100644 index 000000000..5426f6820 Binary files /dev/null and b/backend/instance/sessions/ef60bfbee998d67dca91189de77c6b2d_activity.pkl differ diff --git a/backend/instance/sessions/f001e801a7404327e8f850eb55b04397_activity.pkl b/backend/instance/sessions/f001e801a7404327e8f850eb55b04397_activity.pkl new file mode 100644 index 000000000..cdf47774e Binary files /dev/null and b/backend/instance/sessions/f001e801a7404327e8f850eb55b04397_activity.pkl differ diff --git a/backend/instance/sessions/f01c8149353a03109022a2537f80fc91_activity.pkl b/backend/instance/sessions/f01c8149353a03109022a2537f80fc91_activity.pkl new file mode 100644 index 000000000..7a2d2bd5b Binary files /dev/null and b/backend/instance/sessions/f01c8149353a03109022a2537f80fc91_activity.pkl differ diff --git a/backend/instance/sessions/f051893893fadc6a14c68baa5e51b890_activity.pkl b/backend/instance/sessions/f051893893fadc6a14c68baa5e51b890_activity.pkl new file mode 100644 index 000000000..b5e41bac4 Binary files /dev/null and b/backend/instance/sessions/f051893893fadc6a14c68baa5e51b890_activity.pkl differ diff --git a/backend/instance/sessions/f053f58964a962179f832a9cba2a875b_activity.pkl b/backend/instance/sessions/f053f58964a962179f832a9cba2a875b_activity.pkl new file mode 100644 index 000000000..0f9739956 Binary files /dev/null and b/backend/instance/sessions/f053f58964a962179f832a9cba2a875b_activity.pkl differ diff --git a/backend/instance/sessions/f091206466d9b8c4ae950bcd1283b77b_activity.pkl b/backend/instance/sessions/f091206466d9b8c4ae950bcd1283b77b_activity.pkl new file mode 100644 index 000000000..860988801 Binary files /dev/null and b/backend/instance/sessions/f091206466d9b8c4ae950bcd1283b77b_activity.pkl differ diff --git a/backend/instance/sessions/f0a5be56ee728bc3e59ff7750724a904_activity.pkl b/backend/instance/sessions/f0a5be56ee728bc3e59ff7750724a904_activity.pkl new file mode 100644 index 000000000..dea5f40e2 Binary files /dev/null and b/backend/instance/sessions/f0a5be56ee728bc3e59ff7750724a904_activity.pkl differ diff --git a/backend/instance/sessions/f137f894f0de739025b4322e774dba29_activity.pkl b/backend/instance/sessions/f137f894f0de739025b4322e774dba29_activity.pkl new file mode 100644 index 000000000..431c222a3 Binary files /dev/null and b/backend/instance/sessions/f137f894f0de739025b4322e774dba29_activity.pkl differ diff --git a/backend/instance/sessions/f162f549038481c22e6ac1429eac841c_activity.pkl b/backend/instance/sessions/f162f549038481c22e6ac1429eac841c_activity.pkl new file mode 100644 index 000000000..bdcfa27dd Binary files /dev/null and b/backend/instance/sessions/f162f549038481c22e6ac1429eac841c_activity.pkl differ diff --git a/backend/instance/sessions/f18784c40e81e8ac7c306253a97b83b3_activity.pkl b/backend/instance/sessions/f18784c40e81e8ac7c306253a97b83b3_activity.pkl new file mode 100644 index 000000000..893139f3a Binary files /dev/null and b/backend/instance/sessions/f18784c40e81e8ac7c306253a97b83b3_activity.pkl differ diff --git a/backend/instance/sessions/f1962f0c7097b4e882e863f355ff99ee_activity.pkl b/backend/instance/sessions/f1962f0c7097b4e882e863f355ff99ee_activity.pkl new file mode 100644 index 000000000..8188f74d2 Binary files /dev/null and b/backend/instance/sessions/f1962f0c7097b4e882e863f355ff99ee_activity.pkl differ diff --git a/backend/instance/sessions/f1b64b17030b7d1af73d72df0d3c776c_activity.pkl b/backend/instance/sessions/f1b64b17030b7d1af73d72df0d3c776c_activity.pkl new file mode 100644 index 000000000..4b62a25d2 Binary files /dev/null and b/backend/instance/sessions/f1b64b17030b7d1af73d72df0d3c776c_activity.pkl differ diff --git a/backend/instance/sessions/f1dbcd82c01674aa16cbd46c289e8f27_activity.pkl b/backend/instance/sessions/f1dbcd82c01674aa16cbd46c289e8f27_activity.pkl new file mode 100644 index 000000000..d510e4e92 Binary files /dev/null and b/backend/instance/sessions/f1dbcd82c01674aa16cbd46c289e8f27_activity.pkl differ diff --git a/backend/instance/sessions/f2393b96d92c6b9d4d1b864930d35d5c_activity.pkl b/backend/instance/sessions/f2393b96d92c6b9d4d1b864930d35d5c_activity.pkl new file mode 100644 index 000000000..d30e7e9d1 Binary files /dev/null and b/backend/instance/sessions/f2393b96d92c6b9d4d1b864930d35d5c_activity.pkl differ diff --git a/backend/instance/sessions/f25f1ad25172f510652db7cf98f7b773_activity.pkl b/backend/instance/sessions/f25f1ad25172f510652db7cf98f7b773_activity.pkl new file mode 100644 index 000000000..efc420956 Binary files /dev/null and b/backend/instance/sessions/f25f1ad25172f510652db7cf98f7b773_activity.pkl differ diff --git a/backend/instance/sessions/f2c7656bca7418bc260f7edfe89f1868_activity.pkl b/backend/instance/sessions/f2c7656bca7418bc260f7edfe89f1868_activity.pkl new file mode 100644 index 000000000..0c8a90269 Binary files /dev/null and b/backend/instance/sessions/f2c7656bca7418bc260f7edfe89f1868_activity.pkl differ diff --git a/backend/instance/sessions/f2cd1edf221ed82f533987004f571b74_activity.pkl b/backend/instance/sessions/f2cd1edf221ed82f533987004f571b74_activity.pkl new file mode 100644 index 000000000..e2d729afe Binary files /dev/null and b/backend/instance/sessions/f2cd1edf221ed82f533987004f571b74_activity.pkl differ diff --git a/backend/instance/sessions/f2d6a093adfa79dd951b4b941a870457_activity.pkl b/backend/instance/sessions/f2d6a093adfa79dd951b4b941a870457_activity.pkl new file mode 100644 index 000000000..d6d2d99ad Binary files /dev/null and b/backend/instance/sessions/f2d6a093adfa79dd951b4b941a870457_activity.pkl differ diff --git a/backend/instance/sessions/f2fa3359dd66396bf76871f920195384_activity.pkl b/backend/instance/sessions/f2fa3359dd66396bf76871f920195384_activity.pkl new file mode 100644 index 000000000..ca432d124 Binary files /dev/null and b/backend/instance/sessions/f2fa3359dd66396bf76871f920195384_activity.pkl differ diff --git a/backend/instance/sessions/f401ece6f6c55ad0196aca722271f682_activity.pkl b/backend/instance/sessions/f401ece6f6c55ad0196aca722271f682_activity.pkl new file mode 100644 index 000000000..c895a4383 Binary files /dev/null and b/backend/instance/sessions/f401ece6f6c55ad0196aca722271f682_activity.pkl differ diff --git a/backend/instance/sessions/f4599304c90fb12499765d5b1aa77b2d_activity.pkl b/backend/instance/sessions/f4599304c90fb12499765d5b1aa77b2d_activity.pkl new file mode 100644 index 000000000..6228525b2 Binary files /dev/null and b/backend/instance/sessions/f4599304c90fb12499765d5b1aa77b2d_activity.pkl differ diff --git a/backend/instance/sessions/f51d862ff3171df2d72e2dccc1696e52_activity.pkl b/backend/instance/sessions/f51d862ff3171df2d72e2dccc1696e52_activity.pkl new file mode 100644 index 000000000..030babdf2 Binary files /dev/null and b/backend/instance/sessions/f51d862ff3171df2d72e2dccc1696e52_activity.pkl differ diff --git a/backend/instance/sessions/f539c8954ec5566e5d01f0ad7e8afff1_activity.pkl b/backend/instance/sessions/f539c8954ec5566e5d01f0ad7e8afff1_activity.pkl new file mode 100644 index 000000000..a1b6a3664 Binary files /dev/null and b/backend/instance/sessions/f539c8954ec5566e5d01f0ad7e8afff1_activity.pkl differ diff --git a/backend/instance/sessions/f55f492354a2bc1b68415609d2288c86_activity.pkl b/backend/instance/sessions/f55f492354a2bc1b68415609d2288c86_activity.pkl new file mode 100644 index 000000000..19af251ee Binary files /dev/null and b/backend/instance/sessions/f55f492354a2bc1b68415609d2288c86_activity.pkl differ diff --git a/backend/instance/sessions/f569824087dffec68f07fa65cc2ac272_activity.pkl b/backend/instance/sessions/f569824087dffec68f07fa65cc2ac272_activity.pkl new file mode 100644 index 000000000..d0bcd5806 Binary files /dev/null and b/backend/instance/sessions/f569824087dffec68f07fa65cc2ac272_activity.pkl differ diff --git a/backend/instance/sessions/f5a16002db7ced4f9f56b7d83325cc11_activity.pkl b/backend/instance/sessions/f5a16002db7ced4f9f56b7d83325cc11_activity.pkl new file mode 100644 index 000000000..240f67e1e Binary files /dev/null and b/backend/instance/sessions/f5a16002db7ced4f9f56b7d83325cc11_activity.pkl differ diff --git a/backend/instance/sessions/f65efbdb3cab6b1e18ba4593238fdce6_activity.pkl b/backend/instance/sessions/f65efbdb3cab6b1e18ba4593238fdce6_activity.pkl new file mode 100644 index 000000000..458924bd6 Binary files /dev/null and b/backend/instance/sessions/f65efbdb3cab6b1e18ba4593238fdce6_activity.pkl differ diff --git a/backend/instance/sessions/f692670635cb3332f3147855414c2cb0_activity.pkl b/backend/instance/sessions/f692670635cb3332f3147855414c2cb0_activity.pkl new file mode 100644 index 000000000..05445d0c4 Binary files /dev/null and b/backend/instance/sessions/f692670635cb3332f3147855414c2cb0_activity.pkl differ diff --git a/backend/instance/sessions/f705cd45b0943c67021e78a5621850c1_activity.pkl b/backend/instance/sessions/f705cd45b0943c67021e78a5621850c1_activity.pkl new file mode 100644 index 000000000..fc51217d4 Binary files /dev/null and b/backend/instance/sessions/f705cd45b0943c67021e78a5621850c1_activity.pkl differ diff --git a/backend/instance/sessions/f7b7e56ad571b2cb89f3e5ab96922682_activity.pkl b/backend/instance/sessions/f7b7e56ad571b2cb89f3e5ab96922682_activity.pkl new file mode 100644 index 000000000..abf716d0f Binary files /dev/null and b/backend/instance/sessions/f7b7e56ad571b2cb89f3e5ab96922682_activity.pkl differ diff --git a/backend/instance/sessions/f7db8470f6d2b21be4a8190e45a38adf_activity.pkl b/backend/instance/sessions/f7db8470f6d2b21be4a8190e45a38adf_activity.pkl new file mode 100644 index 000000000..1c83aae88 Binary files /dev/null and b/backend/instance/sessions/f7db8470f6d2b21be4a8190e45a38adf_activity.pkl differ diff --git a/backend/instance/sessions/f80f11c148bb19c0b8be081b7cfd3d28_activity.pkl b/backend/instance/sessions/f80f11c148bb19c0b8be081b7cfd3d28_activity.pkl new file mode 100644 index 000000000..cf809b2c8 Binary files /dev/null and b/backend/instance/sessions/f80f11c148bb19c0b8be081b7cfd3d28_activity.pkl differ diff --git a/backend/instance/sessions/f85fc87c1133cc938cbda6f5716b95ec_activity.pkl b/backend/instance/sessions/f85fc87c1133cc938cbda6f5716b95ec_activity.pkl new file mode 100644 index 000000000..8d4a55d85 Binary files /dev/null and b/backend/instance/sessions/f85fc87c1133cc938cbda6f5716b95ec_activity.pkl differ diff --git a/backend/instance/sessions/f8b161a19c2e0de7ab466e0e6444ee75_activity.pkl b/backend/instance/sessions/f8b161a19c2e0de7ab466e0e6444ee75_activity.pkl new file mode 100644 index 000000000..fb0c8b5d0 Binary files /dev/null and b/backend/instance/sessions/f8b161a19c2e0de7ab466e0e6444ee75_activity.pkl differ diff --git a/backend/instance/sessions/f8d913219016b0882e6c87a4dfcf16fa_activity.pkl b/backend/instance/sessions/f8d913219016b0882e6c87a4dfcf16fa_activity.pkl new file mode 100644 index 000000000..ce84b7182 Binary files /dev/null and b/backend/instance/sessions/f8d913219016b0882e6c87a4dfcf16fa_activity.pkl differ diff --git a/backend/instance/sessions/f8e5d42663185408caad7fd333d2e851_activity.pkl b/backend/instance/sessions/f8e5d42663185408caad7fd333d2e851_activity.pkl new file mode 100644 index 000000000..f4a96341c Binary files /dev/null and b/backend/instance/sessions/f8e5d42663185408caad7fd333d2e851_activity.pkl differ diff --git a/backend/instance/sessions/f9112efa17d8236bc30b0de7666044ca_activity.pkl b/backend/instance/sessions/f9112efa17d8236bc30b0de7666044ca_activity.pkl new file mode 100644 index 000000000..38b21019c Binary files /dev/null and b/backend/instance/sessions/f9112efa17d8236bc30b0de7666044ca_activity.pkl differ diff --git a/backend/instance/sessions/f960ca09ebd42d7718aad087b88cf7a0_activity.pkl b/backend/instance/sessions/f960ca09ebd42d7718aad087b88cf7a0_activity.pkl new file mode 100644 index 000000000..ccbf058d7 Binary files /dev/null and b/backend/instance/sessions/f960ca09ebd42d7718aad087b88cf7a0_activity.pkl differ diff --git a/backend/instance/sessions/f9743a18521fdb3422dcb4323e6142de_activity.pkl b/backend/instance/sessions/f9743a18521fdb3422dcb4323e6142de_activity.pkl new file mode 100644 index 000000000..5e3118ce4 Binary files /dev/null and b/backend/instance/sessions/f9743a18521fdb3422dcb4323e6142de_activity.pkl differ diff --git a/backend/instance/sessions/fa5fb7d5248ace2e4bafb87d648ae9b0_activity.pkl b/backend/instance/sessions/fa5fb7d5248ace2e4bafb87d648ae9b0_activity.pkl new file mode 100644 index 000000000..04d3f63c9 Binary files /dev/null and b/backend/instance/sessions/fa5fb7d5248ace2e4bafb87d648ae9b0_activity.pkl differ diff --git a/backend/instance/sessions/fa8f10f6f87bc15f98cacbb5cbfaee92_activity.pkl b/backend/instance/sessions/fa8f10f6f87bc15f98cacbb5cbfaee92_activity.pkl new file mode 100644 index 000000000..1a7ca9b57 Binary files /dev/null and b/backend/instance/sessions/fa8f10f6f87bc15f98cacbb5cbfaee92_activity.pkl differ diff --git a/backend/instance/sessions/faff92076ff4855959d98d8fa141acf9_activity.pkl b/backend/instance/sessions/faff92076ff4855959d98d8fa141acf9_activity.pkl new file mode 100644 index 000000000..fd3bae3c8 Binary files /dev/null and b/backend/instance/sessions/faff92076ff4855959d98d8fa141acf9_activity.pkl differ diff --git a/backend/instance/sessions/fb901913757bf5d22dc526219e6a5c11_activity.pkl b/backend/instance/sessions/fb901913757bf5d22dc526219e6a5c11_activity.pkl new file mode 100644 index 000000000..e32b7450b Binary files /dev/null and b/backend/instance/sessions/fb901913757bf5d22dc526219e6a5c11_activity.pkl differ diff --git a/backend/instance/sessions/fbbae551d1b6cdfe0cf1868cc54297f4_activity.pkl b/backend/instance/sessions/fbbae551d1b6cdfe0cf1868cc54297f4_activity.pkl new file mode 100644 index 000000000..de1522a93 Binary files /dev/null and b/backend/instance/sessions/fbbae551d1b6cdfe0cf1868cc54297f4_activity.pkl differ diff --git a/backend/instance/sessions/fbcbfef7801d42c04b00a4a80b9b8c3d_activity.pkl b/backend/instance/sessions/fbcbfef7801d42c04b00a4a80b9b8c3d_activity.pkl new file mode 100644 index 000000000..f7965e6a0 Binary files /dev/null and b/backend/instance/sessions/fbcbfef7801d42c04b00a4a80b9b8c3d_activity.pkl differ diff --git a/backend/instance/sessions/fbd322e4772b9f417c2bd5d3b4367d92_activity.pkl b/backend/instance/sessions/fbd322e4772b9f417c2bd5d3b4367d92_activity.pkl new file mode 100644 index 000000000..d62dad786 Binary files /dev/null and b/backend/instance/sessions/fbd322e4772b9f417c2bd5d3b4367d92_activity.pkl differ diff --git a/backend/instance/sessions/fc67f5d730d1b816f0b6eabdbd46e8ee_activity.pkl b/backend/instance/sessions/fc67f5d730d1b816f0b6eabdbd46e8ee_activity.pkl new file mode 100644 index 000000000..e336f1bc7 Binary files /dev/null and b/backend/instance/sessions/fc67f5d730d1b816f0b6eabdbd46e8ee_activity.pkl differ diff --git a/backend/instance/sessions/fc9dc0fe6ee20a6c9c7c8f15077ffa4f_activity.pkl b/backend/instance/sessions/fc9dc0fe6ee20a6c9c7c8f15077ffa4f_activity.pkl new file mode 100644 index 000000000..a0829b59b Binary files /dev/null and b/backend/instance/sessions/fc9dc0fe6ee20a6c9c7c8f15077ffa4f_activity.pkl differ diff --git a/backend/instance/sessions/fcb230af5e240cd1791576c6edd7cc85_activity.pkl b/backend/instance/sessions/fcb230af5e240cd1791576c6edd7cc85_activity.pkl new file mode 100644 index 000000000..d0c44bb6c Binary files /dev/null and b/backend/instance/sessions/fcb230af5e240cd1791576c6edd7cc85_activity.pkl differ diff --git a/backend/instance/sessions/fcdd04e6778150c360981663736dfb33_activity.pkl b/backend/instance/sessions/fcdd04e6778150c360981663736dfb33_activity.pkl new file mode 100644 index 000000000..1ea6606fc Binary files /dev/null and b/backend/instance/sessions/fcdd04e6778150c360981663736dfb33_activity.pkl differ diff --git a/backend/instance/sessions/fce024a393530db8242d792da4acb76b_activity.pkl b/backend/instance/sessions/fce024a393530db8242d792da4acb76b_activity.pkl new file mode 100644 index 000000000..2311e7347 Binary files /dev/null and b/backend/instance/sessions/fce024a393530db8242d792da4acb76b_activity.pkl differ diff --git a/backend/instance/sessions/fcfcbb07f89266ef246a3da40227f54e_activity.pkl b/backend/instance/sessions/fcfcbb07f89266ef246a3da40227f54e_activity.pkl new file mode 100644 index 000000000..a4a808ed4 Binary files /dev/null and b/backend/instance/sessions/fcfcbb07f89266ef246a3da40227f54e_activity.pkl differ diff --git a/backend/instance/sessions/fd62cea8fea2849e84c1eb1c404f33fa_activity.pkl b/backend/instance/sessions/fd62cea8fea2849e84c1eb1c404f33fa_activity.pkl new file mode 100644 index 000000000..7581d18d9 Binary files /dev/null and b/backend/instance/sessions/fd62cea8fea2849e84c1eb1c404f33fa_activity.pkl differ diff --git a/backend/instance/sessions/fd7005ff42ab11bf25a2a0911e0156c4_activity.pkl b/backend/instance/sessions/fd7005ff42ab11bf25a2a0911e0156c4_activity.pkl new file mode 100644 index 000000000..b53633eef Binary files /dev/null and b/backend/instance/sessions/fd7005ff42ab11bf25a2a0911e0156c4_activity.pkl differ diff --git a/backend/instance/sessions/fd842d3a90f1f6a0356149d73e4f1f50_activity.pkl b/backend/instance/sessions/fd842d3a90f1f6a0356149d73e4f1f50_activity.pkl new file mode 100644 index 000000000..959ea32f4 Binary files /dev/null and b/backend/instance/sessions/fd842d3a90f1f6a0356149d73e4f1f50_activity.pkl differ diff --git a/backend/instance/sessions/fe453ba9f9553e2f8d633eaa8cf5529a_activity.pkl b/backend/instance/sessions/fe453ba9f9553e2f8d633eaa8cf5529a_activity.pkl new file mode 100644 index 000000000..239e519e1 Binary files /dev/null and b/backend/instance/sessions/fe453ba9f9553e2f8d633eaa8cf5529a_activity.pkl differ diff --git a/backend/instance/sessions/fe6fef1a637c39deac035c5c39ad3dd7_activity.pkl b/backend/instance/sessions/fe6fef1a637c39deac035c5c39ad3dd7_activity.pkl new file mode 100644 index 000000000..1df2ff550 Binary files /dev/null and b/backend/instance/sessions/fe6fef1a637c39deac035c5c39ad3dd7_activity.pkl differ diff --git a/backend/instance/sessions/fe8e0bd74fb5fc440a44b780df0651f2_activity.pkl b/backend/instance/sessions/fe8e0bd74fb5fc440a44b780df0651f2_activity.pkl new file mode 100644 index 000000000..c863bb389 Binary files /dev/null and b/backend/instance/sessions/fe8e0bd74fb5fc440a44b780df0651f2_activity.pkl differ diff --git a/backend/instance/sessions/ff352e489474a54ad2723d559ece6502_activity.pkl b/backend/instance/sessions/ff352e489474a54ad2723d559ece6502_activity.pkl new file mode 100644 index 000000000..e52c42c51 Binary files /dev/null and b/backend/instance/sessions/ff352e489474a54ad2723d559ece6502_activity.pkl differ diff --git a/backend/instance/sessions/ff54e4f853cf96ffa7d1cee3ca75f5e6_activity.pkl b/backend/instance/sessions/ff54e4f853cf96ffa7d1cee3ca75f5e6_activity.pkl new file mode 100644 index 000000000..7ce932702 Binary files /dev/null and b/backend/instance/sessions/ff54e4f853cf96ffa7d1cee3ca75f5e6_activity.pkl differ diff --git a/backend/instance/sessions/ff7394c02c0480c108e271ad5d1cc0c0_activity.pkl b/backend/instance/sessions/ff7394c02c0480c108e271ad5d1cc0c0_activity.pkl new file mode 100644 index 000000000..f136fa4a7 Binary files /dev/null and b/backend/instance/sessions/ff7394c02c0480c108e271ad5d1cc0c0_activity.pkl differ diff --git a/backend/instance/sessions/ff7f4db23fb9224912327c18a7203a10_activity.pkl b/backend/instance/sessions/ff7f4db23fb9224912327c18a7203a10_activity.pkl new file mode 100644 index 000000000..22647778f Binary files /dev/null and b/backend/instance/sessions/ff7f4db23fb9224912327c18a7203a10_activity.pkl differ diff --git a/backend/instance/sessions/ff88c565dfa34a805a500296b9452dc5_activity.pkl b/backend/instance/sessions/ff88c565dfa34a805a500296b9452dc5_activity.pkl new file mode 100644 index 000000000..c6230c0e2 Binary files /dev/null and b/backend/instance/sessions/ff88c565dfa34a805a500296b9452dc5_activity.pkl differ diff --git a/backend/instance/sessions/ffc32abb147679cb39d338d0dfe2bd47_activity.pkl b/backend/instance/sessions/ffc32abb147679cb39d338d0dfe2bd47_activity.pkl new file mode 100644 index 000000000..239cdad29 Binary files /dev/null and b/backend/instance/sessions/ffc32abb147679cb39d338d0dfe2bd47_activity.pkl differ diff --git a/backend/logs/admin/admin.log b/backend/logs/admin/admin.log index c7f9645ff..d0bdaa987 100644 --- a/backend/logs/admin/admin.log +++ b/backend/logs/admin/admin.log @@ -1576,3 +1576,231 @@ jinja2.exceptions.UndefinedError: 'maintenance_info' is undefined 2025-06-20 01:00:27 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 1, Is Admin: True 2025-06-20 01:00:27 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 1, Is Admin: True 2025-06-20 01:00:28 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin +2025-06-20 01:01:59 - [admin] admin - [INFO] INFO - Admin-Check für Funktion admin_dashboard: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 01:01:59 - [admin] admin - [INFO] INFO - Admin-Dashboard geladen von admin +2025-06-20 01:01:59 - [admin] admin - [ERROR] ERROR - Fehler beim Laden des Admin-Dashboards: 'dict object' has no attribute 'online_printers' +2025-06-20 01:02:00 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 01:02:00 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 01:02:01 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin +2025-06-20 01:02:06 - [admin] admin - [INFO] INFO - Admin-Check für Funktion guest_requests: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 01:02:07 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_guest_requests_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 01:02:07 - [admin] admin - [INFO] INFO - Gastanfragen abgerufen: 1 Einträge für Admin Administrator +2025-06-20 01:02:13 - [admin] admin - [INFO] INFO - Admin-Check für Funktion approve_guest_request_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 01:02:13 - [admin] admin - [INFO] INFO - Gastanfrage 1 genehmigt von Admin Administrator +2025-06-20 01:02:13 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_guest_requests_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 01:02:13 - [admin] admin - [INFO] INFO - Gastanfragen abgerufen: 1 Einträge für Admin Administrator +2025-06-20 01:02:20 - [admin] admin - [INFO] INFO - Admin-Check für Funktion admin_dashboard: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 01:02:20 - [admin] admin - [INFO] INFO - Admin-Dashboard geladen von admin +2025-06-20 01:02:20 - [admin] admin - [ERROR] ERROR - Fehler beim Laden des Admin-Dashboards: 'dict object' has no attribute 'online_printers' +2025-06-20 01:02:22 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 01:02:22 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 01:02:23 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin +2025-06-20 01:02:23 - [admin] admin - [INFO] INFO - Admin-Check für Funktion guest_otps_management: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 01:02:23 - [admin] admin - [INFO] INFO - Gast-OTP-Verwaltung aufgerufen von Admin Administrator +2025-06-20 01:02:23 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_guest_requests_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 01:02:23 - [admin] admin - [INFO] INFO - Gastanfragen abgerufen: 1 Einträge für Admin Administrator +2025-06-20 01:02:23 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_pending_guest_otps_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 01:02:23 - [admin] admin - [INFO] INFO - Aktive OTP-Codes abgerufen: 1 Codes +2025-06-20 01:02:27 - [admin] admin - [INFO] INFO - Admin-Check für Funktion print_guest_credentials_api: User authenticated: True, User ID: 1, Is Admin: True +2025-06-20 01:02:27 - [admin] admin - [INFO] INFO - Ausdruck-Template erstellt für Gastanfrage 1 von Admin Administrator +2025-06-20 01:15:58 - [admin] admin - [INFO] INFO - Admin-Check für Funktion admin_dashboard: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:15:58 - [admin] admin - [INFO] INFO - Admin-Dashboard geladen von admin@example.com +2025-06-20 01:15:58 - [admin] admin - [ERROR] ERROR - Fehler beim Laden des Admin-Dashboards: 'dict object' has no attribute 'online_printers' +2025-06-20 01:15:58 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:15:58 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:15:59 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:16:01 - [admin] admin - [INFO] INFO - Admin-Check für Funktion users_overview: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:16:01 - [admin] admin - [INFO] INFO - Benutzerübersicht geladen von admin@example.com +2025-06-20 01:16:01 - [admin] admin - [ERROR] ERROR - Fehler beim Laden der Benutzerübersicht: 'dict object' has no attribute 'online_printers' +2025-06-20 01:16:02 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:16:02 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:16:06 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:16:07 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:16:11 - [admin] admin - [INFO] INFO - Admin-Check für Funktion add_user_page: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:16:26 - [admin] admin - [INFO] INFO - Admin-Check für Funktion admin_dashboard: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:16:26 - [admin] admin - [INFO] INFO - Admin-Dashboard geladen von admin@example.com +2025-06-20 01:16:26 - [admin] admin - [ERROR] ERROR - Fehler beim Laden des Admin-Dashboards: 'dict object' has no attribute 'online_printers' +2025-06-20 01:16:26 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:16:26 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:16:27 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:16:32 - [admin] admin - [INFO] INFO - Admin-Check für Funktion users_overview: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:16:32 - [admin] admin - [INFO] INFO - Benutzerübersicht geladen von admin@example.com +2025-06-20 01:16:32 - [admin] admin - [ERROR] ERROR - Fehler beim Laden der Benutzerübersicht: 'dict object' has no attribute 'online_printers' +2025-06-20 01:16:33 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:16:33 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:16:34 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:16:36 - [admin] admin - [INFO] INFO - Admin-Check für Funktion add_user_page: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:17:35 - [admin] admin - [INFO] INFO - Admin-Check für Funktion create_user: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:17:35 - [admin] admin - [INFO] INFO - Neuer Benutzer 'admi4n' erstellt von admin@example.com +2025-06-20 01:17:35 - [admin] admin - [INFO] INFO - Admin-Check für Funktion users_overview: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:17:35 - [admin] admin - [INFO] INFO - Benutzerübersicht geladen von admin@example.com +2025-06-20 01:17:35 - [admin] admin - [ERROR] ERROR - Fehler beim Laden der Benutzerübersicht: 'dict object' has no attribute 'online_printers' +2025-06-20 01:17:35 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:17:35 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:17:36 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:18:05 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_error_recovery_status: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:18:05 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:18:05 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:18:06 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:18:32 - [admin] admin - [INFO] INFO - Admin-Check für Funktion add_user_page: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:18:55 - [admin] admin - [INFO] INFO - Admin-Check für Funktion create_user: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:18:56 - [admin] admin - [INFO] INFO - Neuer Benutzer 'tilltmk' erstellt von admin@example.com +2025-06-20 01:18:56 - [admin] admin - [INFO] INFO - Admin-Check für Funktion users_overview: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:18:56 - [admin] admin - [INFO] INFO - Benutzerübersicht geladen von admin@example.com +2025-06-20 01:18:56 - [admin] admin - [ERROR] ERROR - Fehler beim Laden der Benutzerübersicht: 'dict object' has no attribute 'online_printers' +2025-06-20 01:18:56 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:18:56 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:18:57 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:19:26 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:19:26 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_error_recovery_status: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:19:26 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:19:27 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:19:28 - [admin] admin - [INFO] INFO - Admin-Check für Funktion users_overview: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:19:28 - [admin] admin - [INFO] INFO - Benutzerübersicht geladen von admin@example.com +2025-06-20 01:19:28 - [admin] admin - [ERROR] ERROR - Fehler beim Laden der Benutzerübersicht: 'dict object' has no attribute 'online_printers' +2025-06-20 01:19:29 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:19:29 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:19:30 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:19:32 - [admin] admin - [INFO] INFO - Admin-Check für Funktion users_overview: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:19:32 - [admin] admin - [INFO] INFO - Benutzerübersicht geladen von admin@example.com +2025-06-20 01:19:32 - [admin] admin - [ERROR] ERROR - Fehler beim Laden der Benutzerübersicht: 'dict object' has no attribute 'online_printers' +2025-06-20 01:19:32 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:19:32 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:19:33 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:19:36 - [admin] admin - [INFO] INFO - Admin-Check für Funktion add_user_page: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:19:47 - [admin] admin - [INFO] INFO - Admin-Check für Funktion create_user: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:19:47 - [admin] admin - [INFO] INFO - Admin-Check für Funktion add_user_page: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:20:53 - [admin] admin - [INFO] INFO - Admin-Check für Funktion add_user_page: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:20:56 - [admin] admin - [INFO] INFO - Admin-Check für Funktion admin_dashboard: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:20:56 - [admin] admin - [INFO] INFO - Admin-Dashboard geladen von admin@example.com +2025-06-20 01:20:56 - [admin] admin - [ERROR] ERROR - Fehler beim Laden des Admin-Dashboards: 'dict object' has no attribute 'online_printers' +2025-06-20 01:20:56 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:20:56 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:20:57 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:20:59 - [admin] admin - [INFO] INFO - Admin-Check für Funktion users_overview: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:20:59 - [admin] admin - [INFO] INFO - Benutzerübersicht geladen von admin@example.com +2025-06-20 01:20:59 - [admin] admin - [ERROR] ERROR - Fehler beim Laden der Benutzerübersicht: 'dict object' has no attribute 'online_printers' +2025-06-20 01:21:00 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:21:00 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:21:01 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:21:30 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_error_recovery_status: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:21:30 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:21:30 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:21:31 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:22:00 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_error_recovery_status: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:22:00 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:22:00 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:22:01 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:22:23 - [admin] admin - [INFO] INFO - Admin-Check für Funktion admin_dashboard: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:22:23 - [admin] admin - [INFO] INFO - Admin-Dashboard geladen von admin@example.com +2025-06-20 01:22:23 - [admin] admin - [ERROR] ERROR - Fehler beim Laden des Admin-Dashboards: 'dict object' has no attribute 'online_printers' +2025-06-20 01:22:23 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:22:24 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:22:25 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:22:31 - [admin] admin - [INFO] INFO - Admin-Check für Funktion users_overview: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:22:31 - [admin] admin - [INFO] INFO - Benutzerübersicht geladen von admin@example.com +2025-06-20 01:22:31 - [admin] admin - [ERROR] ERROR - Fehler beim Laden der Benutzerübersicht: 'dict object' has no attribute 'online_printers' +2025-06-20 01:22:31 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:22:31 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:22:32 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:22:35 - [admin] admin - [INFO] INFO - Admin-Check für Funktion tapo_monitoring: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:22:35 - [admin] admin - [INFO] INFO - Tapo-Monitoring aufgerufen von admin@example.com +2025-06-20 01:22:36 - [admin] admin - [INFO] INFO - Admin-Check für Funktion guest_otps_management: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:22:36 - [admin] admin - [INFO] INFO - Gast-OTP-Verwaltung aufgerufen von Admin admin@example.com +2025-06-20 01:22:36 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_guest_requests_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:22:36 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_pending_guest_otps_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:22:36 - [admin] admin - [INFO] INFO - Aktive OTP-Codes abgerufen: 1 Codes +2025-06-20 01:22:36 - [admin] admin - [INFO] INFO - Gastanfragen abgerufen: 1 Einträge für Admin admin@example.com +2025-06-20 01:22:47 - [admin] admin - [INFO] INFO - Tapo-Monitoring geladen: 6 Steckdosen, 0 online +2025-06-20 01:23:36 - [admin] admin - [INFO] INFO - Admin-Check für Funktion admin_dashboard: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:23:36 - [admin] admin - [INFO] INFO - Admin-Dashboard geladen von admin@example.com +2025-06-20 01:23:36 - [admin] admin - [ERROR] ERROR - Fehler beim Laden des Admin-Dashboards: 'dict object' has no attribute 'online_printers' +2025-06-20 01:23:36 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:23:36 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:23:37 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:23:38 - [admin] admin - [INFO] INFO - Admin-Check für Funktion users_overview: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:23:38 - [admin] admin - [INFO] INFO - Benutzerübersicht geladen von admin@example.com +2025-06-20 01:23:38 - [admin] admin - [ERROR] ERROR - Fehler beim Laden der Benutzerübersicht: 'dict object' has no attribute 'online_printers' +2025-06-20 01:23:38 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:23:38 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:23:39 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:23:40 - [admin] admin - [INFO] INFO - Admin-Check für Funktion add_user_page: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:23:44 - [admin] admin - [INFO] INFO - Admin-Check für Funktion admin_dashboard: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:23:44 - [admin] admin - [INFO] INFO - Admin-Dashboard geladen von admin@example.com +2025-06-20 01:23:44 - [admin] admin - [ERROR] ERROR - Fehler beim Laden des Admin-Dashboards: 'dict object' has no attribute 'online_printers' +2025-06-20 01:23:44 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:23:44 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:23:45 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:24:14 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:24:14 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_error_recovery_status: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:24:14 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:24:15 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:24:44 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_error_recovery_status: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:24:44 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:24:44 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:24:45 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:25:14 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_error_recovery_status: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:25:14 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:25:14 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:25:15 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:25:44 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_error_recovery_status: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:25:44 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:25:44 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:25:45 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:26:14 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_error_recovery_status: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:26:14 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:26:14 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:26:15 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:26:44 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_error_recovery_status: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:26:44 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:26:44 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:26:45 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:27:14 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:27:14 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:27:14 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_error_recovery_status: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:27:15 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:27:44 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:27:44 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:27:44 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_error_recovery_status: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:27:45 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:28:14 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_error_recovery_status: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:28:14 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:28:14 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:28:20 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:28:20 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_error_recovery_status: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:28:21 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:28:44 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:28:44 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:28:44 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_error_recovery_status: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:28:45 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:29:14 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:29:14 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_error_recovery_status: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:29:14 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:29:15 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:29:44 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:29:44 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:29:44 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_error_recovery_status: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:29:45 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:30:14 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:30:14 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:30:14 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_error_recovery_status: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:30:15 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:30:44 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_error_recovery_status: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:30:44 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:30:44 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:30:45 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:31:22 - [admin] admin - [INFO] INFO - Admin-Check für Funktion admin_dashboard: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:31:22 - [admin] admin - [INFO] INFO - Admin-Dashboard geladen von admin@example.com +2025-06-20 01:31:22 - [admin] admin - [ERROR] ERROR - Fehler beim Laden des Admin-Dashboards: 'dict object' has no attribute 'online_printers' +2025-06-20 01:31:23 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:31:23 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:31:24 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:31:24 - [admin] admin - [INFO] INFO - Admin-Check für Funktion users_overview: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:31:24 - [admin] admin - [INFO] INFO - Benutzerübersicht geladen von admin@example.com +2025-06-20 01:31:24 - [admin] admin - [ERROR] ERROR - Fehler beim Laden der Benutzerübersicht: 'dict object' has no attribute 'online_printers' +2025-06-20 01:31:25 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_live_stats: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:31:25 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_system_status_api: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:31:26 - [admin] admin - [INFO] INFO - System-Status abgerufen von admin@example.com +2025-06-20 01:31:35 - [admin] admin - [INFO] INFO - Admin-Check für Funktion advanced_settings: User authenticated: True, User ID: 2, Is Admin: True +2025-06-20 01:31:35 - [admin] admin - [INFO] INFO - Erweiterte Einstellungen werden geladen von admin@example.com +2025-06-20 01:31:35 - [admin] admin - [INFO] INFO - Template wird gerendert mit stats: {'total_users': 9, 'total_printers': 6, 'active_printers': 0, 'total_jobs': 0, 'pending_jobs': 0} diff --git a/backend/logs/admin_api/admin_api.log b/backend/logs/admin_api/admin_api.log index 0ec6fc42d..6d518c310 100644 --- a/backend/logs/admin_api/admin_api.log +++ b/backend/logs/admin_api/admin_api.log @@ -599,3 +599,95 @@ 2025-06-20 01:00:27 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin 2025-06-20 01:00:28 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check für Error-Recovery fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') 2025-06-20 01:00:28 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status abgerufen: critical +2025-06-20 01:02:00 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin +2025-06-20 01:02:22 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin +2025-06-20 01:15:58 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:16:02 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:16:26 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:16:33 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:17:35 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:18:05 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status angefordert von admin@example.com +2025-06-20 01:18:05 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:18:06 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check für Error-Recovery fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:18:06 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status abgerufen: critical +2025-06-20 01:18:56 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:19:26 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status angefordert von admin@example.com +2025-06-20 01:19:26 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:19:27 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check für Error-Recovery fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:19:27 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status abgerufen: critical +2025-06-20 01:19:29 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:19:32 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:20:56 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:21:00 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:21:30 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status angefordert von admin@example.com +2025-06-20 01:21:30 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:21:31 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check für Error-Recovery fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:21:31 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status abgerufen: critical +2025-06-20 01:22:00 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status angefordert von admin@example.com +2025-06-20 01:22:00 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:22:01 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check für Error-Recovery fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:22:01 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status abgerufen: critical +2025-06-20 01:22:23 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:22:31 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:23:36 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:23:38 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:23:44 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:24:14 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status angefordert von admin@example.com +2025-06-20 01:24:14 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:24:15 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check für Error-Recovery fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:24:15 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status abgerufen: critical +2025-06-20 01:24:44 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status angefordert von admin@example.com +2025-06-20 01:24:44 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:24:45 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check für Error-Recovery fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:24:45 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status abgerufen: critical +2025-06-20 01:25:14 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status angefordert von admin@example.com +2025-06-20 01:25:14 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:25:15 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check für Error-Recovery fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:25:15 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status abgerufen: critical +2025-06-20 01:25:44 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status angefordert von admin@example.com +2025-06-20 01:25:44 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:25:45 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check für Error-Recovery fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:25:45 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status abgerufen: critical +2025-06-20 01:26:14 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status angefordert von admin@example.com +2025-06-20 01:26:14 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:26:15 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check für Error-Recovery fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:26:15 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status abgerufen: critical +2025-06-20 01:26:44 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status angefordert von admin@example.com +2025-06-20 01:26:44 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:26:45 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check für Error-Recovery fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:26:45 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status abgerufen: critical +2025-06-20 01:27:14 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:27:14 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status angefordert von admin@example.com +2025-06-20 01:27:15 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check für Error-Recovery fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:27:15 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status abgerufen: critical +2025-06-20 01:27:44 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status angefordert von admin@example.com +2025-06-20 01:27:44 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:27:45 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check für Error-Recovery fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:27:45 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status abgerufen: critical +2025-06-20 01:28:14 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status angefordert von admin@example.com +2025-06-20 01:28:14 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:28:20 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status angefordert von admin@example.com +2025-06-20 01:28:21 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check für Error-Recovery fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:28:21 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status abgerufen: critical +2025-06-20 01:28:44 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status angefordert von admin@example.com +2025-06-20 01:28:44 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:28:45 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check für Error-Recovery fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:28:45 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status abgerufen: critical +2025-06-20 01:29:14 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status angefordert von admin@example.com +2025-06-20 01:29:14 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:29:15 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check für Error-Recovery fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:29:15 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status abgerufen: critical +2025-06-20 01:29:44 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:29:44 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status angefordert von admin@example.com +2025-06-20 01:29:45 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check für Error-Recovery fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:29:45 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status abgerufen: critical +2025-06-20 01:30:14 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:30:14 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status angefordert von admin@example.com +2025-06-20 01:30:15 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check für Error-Recovery fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:30:15 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status abgerufen: critical +2025-06-20 01:30:44 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status angefordert von admin@example.com +2025-06-20 01:30:44 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:30:45 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check für Error-Recovery fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:30:45 - [admin_api] admin_api - [INFO] INFO - Error-Recovery-Status abgerufen: critical +2025-06-20 01:31:23 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com +2025-06-20 01:31:25 - [admin_api] admin_api - [INFO] INFO - Live-Statistiken abgerufen von Admin admin@example.com diff --git a/backend/logs/api/api.log b/backend/logs/api/api.log index c661beb3e..3c4ac8109 100644 --- a/backend/logs/api/api.log +++ b/backend/logs/api/api.log @@ -109,3 +109,4 @@ 2025-06-19 22:00:45 - [api] api - [INFO] INFO - Statistiken abgerufen von Benutzer admin 2025-06-19 22:01:45 - [api] api - [INFO] INFO - Statistiken abgerufen von Benutzer admin 2025-06-19 22:39:33 - [api] api - [INFO] INFO - 2 Benachrichtigungen als gelesen markiert von Benutzer 1 +2025-06-20 01:22:41 - [api] api - [INFO] INFO - Statistiken abgerufen von Benutzer admin@example.com diff --git a/backend/logs/app/app.log b/backend/logs/app/app.log index cac9c4e24..ae99458bb 100644 --- a/backend/logs/app/app.log +++ b/backend/logs/app/app.log @@ -56372,3 +56372,1830 @@ WHERE users.role = ?] 2025-06-20 01:01:52 - [app] app - [DEBUG] DEBUG - Response: 2025-06-20 01:01:56 - [app] app - [DEBUG] DEBUG - Request: 2025-06-20 01:01:56 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:01:56 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:01:56 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:01:59 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:01:59 - [app] app - [INFO] INFO - Locating template 'admin.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin.html') +2025-06-20 01:01:59 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:02:00 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:02:00 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:02:00 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:02:00 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:02:00 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:02:01 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:02:01 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:02:01 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:02:06 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:02:06 - [app] app - [INFO] INFO - Locating template 'admin_guest_requests.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin_guest_requests.html') +2025-06-20 01:02:06 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:02:07 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:02:07 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:02:07 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:02:07 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:02:13 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:02:13 - [app] app - [INFO] INFO - 6-stelliger OTP generiert für Guest Request 1 +2025-06-20 01:02:13 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:02:13 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:02:13 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:02:17 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:02:17 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:02:20 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:02:20 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:02:21 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:02:21 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:02:21 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:02:22 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:02:22 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:02:23 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:02:23 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:02:23 - [app] app - [INFO] INFO - Locating template 'admin_guest_otps.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin_guest_otps.html') +2025-06-20 01:02:23 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:02:23 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:02:23 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:02:23 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:02:23 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:02:23 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:02:23 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:02:27 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:02:27 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:02:41 - [app] app - [ERROR] ERROR - CSRF-Fehler für : +2025-06-20 01:02:41 - [app] app - [ERROR] ERROR - Request Headers: +2025-06-20 01:02:41 - [app] app - [ERROR] ERROR - Request Form: +2025-06-20 01:02:41 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:02:41 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:02:41 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:02:41 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:02:41 - [app] app - [INFO] INFO - Locating template 'login.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/login.html') +2025-06-20 01:02:41 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:02:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:02:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:02:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:02:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:02:49 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:02:49 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:02:54 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:02:54 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:03:00 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:03:01 - [app] app - [INFO] INFO - OTP erfolgreich verifiziert für Guest Request 1 +2025-06-20 01:03:01 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:03:04 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:03:04 - [app] app - [INFO] INFO - OTP erfolgreich verifiziert für Guest Request 1 +2025-06-20 01:03:04 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:03:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:03:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:03:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:03:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:03:25 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:03:25 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:03:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:03:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:03:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:03:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:03:55 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:03:55 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:04:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:04:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:04:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:04:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:04:25 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:04:25 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:04:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:04:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:04:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:04:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:04:56 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:04:56 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:05:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:05:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:05:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:05:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:05:24 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgeführt... +2025-06-20 01:05:24 - [app] app - [INFO] INFO - [SHUTDOWN] ✅ Queue Manager gestoppt +2025-06-20 01:05:24 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler: +2025-06-20 01:05:26 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:05:27 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: +2025-06-20 01:05:27 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: +2025-06-20 01:05:27 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-20 01:05:27 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 01:05:27 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 01:05:27 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 01:05:27 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 01:05:27 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 01:05:27 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:05:27 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert +2025-06-20 01:05:27 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung +2025-06-20 01:05:27 - [app] app - [INFO] INFO - [STARTUP] 🏢 +2025-06-20 01:05:27 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: +2025-06-20 01:05:27 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-20 01:05:27 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-20 01:05:27 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert +2025-06-20 01:05:27 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin... +2025-06-20 01:05:28 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-20 01:05:28 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft +2025-06-20 01:05:28 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-20 01:05:28 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-20 01:05:28 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-20 01:05:28 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-20 01:05:28 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-20 01:05:28 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-20 01:05:28 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-20 01:05:28 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-20 01:05:28 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert +2025-06-20 01:05:28 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-20 01:05:28 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert +2025-06-20 01:05:28 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-20 01:05:28 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet +2025-06-20 01:05:28 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-20 01:05:28 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet +2025-06-20 01:05:28 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://: +2025-06-20 01:05:30 - [app] app - [INFO] INFO - Locating template 'guest_requests_overview.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/guest_requests_overview.html') +2025-06-20 01:05:30 - [app] app - [INFO] INFO - Locating template 'base.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/base.html') +2025-06-20 01:05:30 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:05:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:05:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:05:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:05:48 - [app] app - [INFO] INFO - Locating template 'login.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/login.html') +2025-06-20 01:05:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:05:54 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:05:55 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: +2025-06-20 01:05:55 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: +2025-06-20 01:05:55 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-20 01:05:55 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 01:05:55 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 01:05:55 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 01:05:55 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 01:05:55 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 01:05:56 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:05:56 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert +2025-06-20 01:06:00 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:06:00 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:06:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:06:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:06:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:06:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:06:24 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:06:24 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:06:24 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:06:24 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:06:27 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:06:27 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:06:29 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:06:29 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:06:29 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:06:29 - [app] app - [INFO] INFO - Locating template 'dashboard.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/dashboard.html') +2025-06-20 01:06:29 - [app] app - [INFO] INFO - Locating template 'macros/ui_components.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/macros/ui_components.html') +2025-06-20 01:06:29 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:06:29 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:06:29 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:06:47 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:06:47 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:06:47 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:06:47 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:06:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:06:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:06:59 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:06:59 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:07:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:07:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:07:29 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:07:29 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:07:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:07:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:07:59 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:07:59 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:08:16 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:08:16 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:08:17 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:08:17 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:08:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:08:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:08:25 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:08:25 - [app] app - [INFO] INFO - Locating template 'calendar.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/calendar.html') +2025-06-20 01:08:25 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:08:27 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:08:27 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:08:27 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:08:27 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:08:27 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:08:27 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:08:54 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:08:54 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:08:58 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:08:58 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:09:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:09:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:09:28 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:09:28 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:09:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:09:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:09:58 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:09:58 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:10:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:10:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:10:28 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:10:28 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:10:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:10:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:10:58 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:10:58 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:11:20 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:11:20 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: +2025-06-20 01:11:20 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: +2025-06-20 01:11:20 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-20 01:11:20 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 01:11:20 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 01:11:20 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 01:11:20 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 01:11:20 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 01:11:20 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:11:20 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert +2025-06-20 01:11:20 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung +2025-06-20 01:11:20 - [app] app - [INFO] INFO - [STARTUP] 🏢 +2025-06-20 01:11:20 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: +2025-06-20 01:11:20 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-20 01:11:20 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-20 01:11:20 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert +2025-06-20 01:11:20 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin... +2025-06-20 01:11:21 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-20 01:11:21 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft +2025-06-20 01:11:21 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-20 01:11:21 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-20 01:11:21 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-20 01:11:21 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-20 01:11:21 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-20 01:11:21 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-20 01:11:21 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-20 01:11:21 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-20 01:11:21 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert +2025-06-20 01:11:21 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-20 01:11:21 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert +2025-06-20 01:11:21 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-20 01:11:21 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet +2025-06-20 01:11:21 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-20 01:11:21 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet +2025-06-20 01:11:21 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://: +2025-06-20 01:11:21 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:11:22 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: +2025-06-20 01:11:22 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: +2025-06-20 01:11:22 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-20 01:11:22 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 01:11:22 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 01:11:22 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 01:11:22 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 01:11:22 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 01:11:22 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:11:22 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert +2025-06-20 01:11:22 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung +2025-06-20 01:11:22 - [app] app - [INFO] INFO - [STARTUP] 🏢 +2025-06-20 01:11:22 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: +2025-06-20 01:11:22 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-20 01:11:22 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-20 01:11:22 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert +2025-06-20 01:11:22 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin... +2025-06-20 01:11:22 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-20 01:11:22 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft +2025-06-20 01:11:22 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-20 01:11:22 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-20 01:11:22 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-20 01:11:22 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-20 01:11:22 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-20 01:11:22 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-20 01:11:22 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-20 01:11:22 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-20 01:11:22 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert +2025-06-20 01:11:22 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-20 01:11:22 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert +2025-06-20 01:11:22 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-20 01:11:22 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet +2025-06-20 01:11:22 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-20 01:11:22 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet +2025-06-20 01:11:22 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://: +2025-06-20 01:11:24 - [app] app - [INFO] INFO - Locating template 'dashboard.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/dashboard.html') +2025-06-20 01:11:24 - [app] app - [INFO] INFO - Locating template 'base.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/base.html') +2025-06-20 01:11:24 - [app] app - [INFO] INFO - Locating template 'macros/ui_components.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/macros/ui_components.html') +2025-06-20 01:11:24 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:11:24 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:11:24 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:11:26 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:11:26 - [app] app - [INFO] INFO - Locating template 'calendar.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/calendar.html') +2025-06-20 01:11:26 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:11:27 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:11:27 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:11:27 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:11:27 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:11:27 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:11:27 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:11:28 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:11:28 - [app] app - [INFO] INFO - Locating template 'energy_dashboard.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/energy_dashboard.html') +2025-06-20 01:11:28 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:11:28 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:11:28 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:11:28 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:11:28 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:11:32 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:11:32 - [app] app - [INFO] INFO - Locating template 'energy_device_details.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/energy_device_details.html') +2025-06-20 01:11:32 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:11:32 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:11:32 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:11:32 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:11:32 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:11:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:11:44 - [app] app - [INFO] INFO - Locating template 'stats.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/stats.html') +2025-06-20 01:11:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:11:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:11:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:11:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:11:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:12:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:12:14 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:12:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:12:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:12:21 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:12:21 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:12:22 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:12:22 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:12:22 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:12:22 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:12:23 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:12:23 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:12:24 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:12:24 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:12:26 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:12:26 - [app] app - [INFO] INFO - Locating template 'jobs.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/jobs.html') +2025-06-20 01:12:26 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:12:26 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:12:26 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:12:26 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:12:26 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:12:26 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:12:26 - [app] app - [INFO] INFO - ✅ API: Drucker abgerufen (include_inactive=) +2025-06-20 01:12:26 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:12:34 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:12:34 - [app] app - [INFO] INFO - Locating template 'settings.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/settings.html') +2025-06-20 01:12:34 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:12:34 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:12:34 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:12:34 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:12:34 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:12:38 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:12:38 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:12:38 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:12:38 - [app] app - [INFO] INFO - Locating template 'privacy.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/privacy.html') +2025-06-20 01:12:38 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:12:38 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:12:38 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:12:42 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:12:42 - [app] app - [INFO] INFO - Locating template 'imprint.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/imprint.html') +2025-06-20 01:12:42 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:12:43 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:12:43 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:12:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:12:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:12:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:12:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:12:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:12:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:12:51 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:12:51 - [app] app - [INFO] INFO - Locating template 'system_info.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/system_info.html') +2025-06-20 01:12:51 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:12:51 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:12:51 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:12:55 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:12:57 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 1, Status: disconnected, Quelle: system +2025-06-20 01:12:57 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker -> +2025-06-20 01:12:59 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 2, Status: disconnected, Quelle: system +2025-06-20 01:12:59 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker -> +2025-06-20 01:13:01 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 3, Status: disconnected, Quelle: system +2025-06-20 01:13:01 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker -> +2025-06-20 01:13:03 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 4, Status: disconnected, Quelle: system +2025-06-20 01:13:03 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker -> +2025-06-20 01:13:05 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 5, Status: disconnected, Quelle: system +2025-06-20 01:13:05 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker -> +2025-06-20 01:13:07 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 6, Status: disconnected, Quelle: system +2025-06-20 01:13:07 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker -> +2025-06-20 01:13:07 - [app] app - [DEBUG] DEBUG - ✅ Status-Updates für Drucker erfolgreich gespeichert +2025-06-20 01:13:07 - [app] app - [INFO] INFO - Locating template 'printers.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/printers.html') +2025-06-20 01:13:07 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:13:07 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:13:08 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:13:10 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:13:10 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:13:10 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:13:10 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:13:10 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:13:10 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:13:10 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:13:10 - [app] app - [INFO] INFO - ✅ API: Drucker abgerufen (include_inactive=) +2025-06-20 01:13:10 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:13:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:13:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:13:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:13:18 - [app] app - [INFO] INFO - Locating template 'guest_request.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/guest_request.html') +2025-06-20 01:13:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:13:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:13:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:13:22 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:13:22 - [app] app - [INFO] INFO - Locating template 'profile.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/profile.html') +2025-06-20 01:13:22 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:13:23 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:13:23 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:13:35 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:13:35 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:13:35 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:13:35 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:13:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:13:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:13:57 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:13:57 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:13:57 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:13:57 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:14:04 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:14:04 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:14:04 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:14:04 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:14:07 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:14:07 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:14:07 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:14:07 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:14:11 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:14:11 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:14:12 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:14:12 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:14:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:14:14 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:14:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:14:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:14:19 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:14:19 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:14:21 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:14:21 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:14:22 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:14:22 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:14:24 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:14:24 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:14:25 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:14:25 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:14:27 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:14:27 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:14:27 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:14:27 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:14:28 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:14:29 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: +2025-06-20 01:14:29 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: +2025-06-20 01:14:29 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-20 01:14:29 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 01:14:29 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 01:14:29 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 01:14:29 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 01:14:29 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 01:14:29 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:14:29 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert +2025-06-20 01:14:36 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:14:36 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:14:37 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:14:37 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:14:42 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:14:42 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:14:42 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:14:42 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:14:43 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:14:43 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:14:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:14:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:14:49 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:14:49 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:14:49 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:14:49 - [app] app - [INFO] INFO - Locating template 'login.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/login.html') +2025-06-20 01:14:49 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:14:52 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:14:52 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:15:10 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:15:10 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:15:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:15:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:15:33 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:15:33 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:15:40 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:15:40 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:15:42 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:15:42 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:15:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:15:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:15:45 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:15:45 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:15:45 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:15:45 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:15:45 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:15:45 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:15:45 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:15:45 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:15:47 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:15:47 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:15:47 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:15:47 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:15:47 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:15:47 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:15:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:15:48 - [app] app - [INFO] INFO - ✅ API: Drucker abgerufen (include_inactive=) +2025-06-20 01:15:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:15:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:15:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:15:50 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:15:52 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 1, Status: disconnected, Quelle: system +2025-06-20 01:15:52 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker -> +2025-06-20 01:15:54 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 2, Status: disconnected, Quelle: system +2025-06-20 01:15:54 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker -> +2025-06-20 01:15:56 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 3, Status: disconnected, Quelle: system +2025-06-20 01:15:56 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker -> +2025-06-20 01:15:58 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:15:58 - [app] app - [INFO] INFO - Locating template 'admin.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin.html') +2025-06-20 01:15:58 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:15:58 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 4, Status: disconnected, Quelle: system +2025-06-20 01:15:58 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker -> +2025-06-20 01:15:58 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:15:58 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:15:58 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:15:58 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:15:58 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:15:59 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:16:00 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 5, Status: disconnected, Quelle: system +2025-06-20 01:16:00 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker -> +2025-06-20 01:16:01 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:16:01 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:16:02 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:16:02 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:16:02 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:16:02 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:16:02 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:16:02 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgeführt... +2025-06-20 01:16:02 - [app] app - [INFO] INFO - [SHUTDOWN] ✅ Queue Manager gestoppt +2025-06-20 01:16:02 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler: +2025-06-20 01:16:03 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:16:05 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: +2025-06-20 01:16:05 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: +2025-06-20 01:16:05 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-20 01:16:05 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 01:16:05 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 01:16:05 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 01:16:05 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 01:16:05 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 01:16:05 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:16:05 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert +2025-06-20 01:16:05 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung +2025-06-20 01:16:05 - [app] app - [INFO] INFO - [STARTUP] 🏢 +2025-06-20 01:16:05 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: +2025-06-20 01:16:05 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-20 01:16:05 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-20 01:16:05 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert +2025-06-20 01:16:05 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin... +2025-06-20 01:16:05 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-20 01:16:05 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft +2025-06-20 01:16:05 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-20 01:16:05 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-20 01:16:05 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-20 01:16:05 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-20 01:16:05 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-20 01:16:05 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-20 01:16:05 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-20 01:16:05 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-20 01:16:05 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert +2025-06-20 01:16:05 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-20 01:16:05 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert +2025-06-20 01:16:05 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-20 01:16:05 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet +2025-06-20 01:16:05 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-20 01:16:05 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet +2025-06-20 01:16:05 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://: +2025-06-20 01:16:11 - [app] app - [INFO] INFO - Locating template 'admin_add_user.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin_add_user.html') +2025-06-20 01:16:11 - [app] app - [INFO] INFO - Locating template 'base.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/base.html') +2025-06-20 01:16:11 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:16:11 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:16:11 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:16:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:16:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:16:26 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:16:26 - [app] app - [INFO] INFO - Locating template 'admin.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin.html') +2025-06-20 01:16:26 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:16:26 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:16:26 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:16:26 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:16:26 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:16:26 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:16:27 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:16:29 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:16:29 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgeführt... +2025-06-20 01:16:29 - [app] app - [INFO] INFO - [SHUTDOWN] ✅ Queue Manager gestoppt +2025-06-20 01:16:29 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler: +2025-06-20 01:16:30 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: +2025-06-20 01:16:30 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: +2025-06-20 01:16:30 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-20 01:16:30 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 01:16:30 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 01:16:30 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 01:16:30 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 01:16:30 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 01:16:30 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:16:30 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert +2025-06-20 01:16:30 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:16:31 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: +2025-06-20 01:16:31 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: +2025-06-20 01:16:31 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-20 01:16:31 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 01:16:31 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 01:16:31 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 01:16:31 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 01:16:31 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 01:16:31 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:16:31 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert +2025-06-20 01:16:31 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung +2025-06-20 01:16:31 - [app] app - [INFO] INFO - [STARTUP] 🏢 +2025-06-20 01:16:31 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: +2025-06-20 01:16:31 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-20 01:16:31 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-20 01:16:31 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert +2025-06-20 01:16:31 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin... +2025-06-20 01:16:31 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-20 01:16:31 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft +2025-06-20 01:16:31 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-20 01:16:31 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-20 01:16:31 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-20 01:16:31 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-20 01:16:31 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-20 01:16:31 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-20 01:16:31 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-20 01:16:31 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-20 01:16:31 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert +2025-06-20 01:16:31 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-20 01:16:31 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert +2025-06-20 01:16:31 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-20 01:16:31 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet +2025-06-20 01:16:31 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-20 01:16:31 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet +2025-06-20 01:16:31 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://: +2025-06-20 01:16:32 - [app] app - [INFO] INFO - Locating template 'admin.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin.html') +2025-06-20 01:16:32 - [app] app - [INFO] INFO - Locating template 'base.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/base.html') +2025-06-20 01:16:32 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:16:33 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:16:33 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:16:33 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:16:33 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:16:33 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:16:34 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:16:36 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:16:36 - [app] app - [INFO] INFO - Locating template 'admin_add_user.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin_add_user.html') +2025-06-20 01:16:37 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:16:37 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:16:37 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:16:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:16:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:17:07 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:17:07 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:17:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:17:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:17:35 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:17:35 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:17:35 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:17:35 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:17:35 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:17:35 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:17:35 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:17:35 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:17:35 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:17:36 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:17:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:17:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:18:05 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:18:05 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:18:05 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:18:05 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:18:05 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:18:05 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:18:06 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:18:06 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:18:06 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:18:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:18:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:18:32 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:18:32 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:18:32 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:18:32 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:18:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:18:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:18:55 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:18:56 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:18:56 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:18:56 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:18:56 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:18:56 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:18:56 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:18:56 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:18:56 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:18:57 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:19:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:19:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:19:26 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:19:26 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:19:26 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:19:26 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:19:26 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:19:26 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:19:27 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:19:27 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:19:27 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:19:28 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:19:28 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:19:29 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:19:29 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:19:29 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:19:29 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:19:29 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:19:30 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:19:32 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:19:32 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:19:32 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:19:32 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:19:32 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:19:32 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:19:32 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:19:33 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:19:36 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:19:36 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:19:36 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:19:36 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:19:40 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:19:41 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: +2025-06-20 01:19:41 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: +2025-06-20 01:19:41 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-20 01:19:41 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 01:19:41 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 01:19:41 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 01:19:41 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 01:19:41 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 01:19:41 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:19:41 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert +2025-06-20 01:19:41 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 01:19:41 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 01:19:41 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 01:19:41 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 01:19:41 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 01:19:41 - [app] app - [INFO] INFO - [FACTORY] ✅ Development-Konfiguration angewendet +2025-06-20 01:19:41 - [app] app - [INFO] INFO - [FACTORY] ✅ Sicherheitssuite initialisiert +2025-06-20 01:19:41 - [app] app - [INFO] INFO - [FACTORY] 🏭 Flask-App erstellt () +2025-06-20 01:19:41 - [app] app - [INFO] INFO - Locating template 'stats.html': + 1: trying loader of application 'app' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/stats.html') +2025-06-20 01:19:41 - [app] app - [INFO] INFO - Locating template 'base.html': + 1: trying loader of application 'app' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/base.html') +2025-06-20 01:19:47 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:19:47 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:19:47 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:19:47 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:19:47 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:19:47 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:19:47 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:19:47 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:19:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:19:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:19:53 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:19:53 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:19:59 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:19:59 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:20:06 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:20:06 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:20:13 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:20:13 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:20:17 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:20:17 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:20:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:20:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:20:48 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:20:49 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: +2025-06-20 01:20:49 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: +2025-06-20 01:20:49 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-20 01:20:49 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 01:20:49 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 01:20:49 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 01:20:49 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 01:20:49 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 01:20:49 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:20:49 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert +2025-06-20 01:20:49 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung +2025-06-20 01:20:49 - [app] app - [INFO] INFO - [STARTUP] 🏢 +2025-06-20 01:20:49 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: +2025-06-20 01:20:49 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-20 01:20:49 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-20 01:20:49 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert +2025-06-20 01:20:49 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin... +2025-06-20 01:20:50 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-20 01:20:50 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft +2025-06-20 01:20:50 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-20 01:20:50 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-20 01:20:50 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-20 01:20:50 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-20 01:20:50 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-20 01:20:50 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-20 01:20:50 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-20 01:20:50 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-20 01:20:50 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert +2025-06-20 01:20:50 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-20 01:20:50 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert +2025-06-20 01:20:50 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-20 01:20:50 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet +2025-06-20 01:20:50 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-20 01:20:50 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet +2025-06-20 01:20:50 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://: +2025-06-20 01:20:50 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:20:51 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: +2025-06-20 01:20:51 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: +2025-06-20 01:20:51 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-20 01:20:51 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 01:20:51 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 01:20:51 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 01:20:51 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 01:20:51 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 01:20:51 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:20:51 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert +2025-06-20 01:20:51 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung +2025-06-20 01:20:51 - [app] app - [INFO] INFO - [STARTUP] 🏢 +2025-06-20 01:20:51 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: +2025-06-20 01:20:51 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-20 01:20:51 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-20 01:20:51 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert +2025-06-20 01:20:51 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin... +2025-06-20 01:20:51 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-20 01:20:51 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft +2025-06-20 01:20:51 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-20 01:20:51 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-20 01:20:51 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-20 01:20:51 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-20 01:20:51 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-20 01:20:51 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-20 01:20:51 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-20 01:20:51 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-20 01:20:51 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert +2025-06-20 01:20:51 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-20 01:20:51 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert +2025-06-20 01:20:51 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-20 01:20:51 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet +2025-06-20 01:20:51 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-20 01:20:51 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet +2025-06-20 01:20:51 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://: +2025-06-20 01:20:53 - [app] app - [INFO] INFO - Locating template 'admin_add_user.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin_add_user.html') +2025-06-20 01:20:53 - [app] app - [INFO] INFO - Locating template 'base.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/base.html') +2025-06-20 01:20:53 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:20:53 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:20:53 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:20:56 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:20:56 - [app] app - [INFO] INFO - Locating template 'admin.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin.html') +2025-06-20 01:20:56 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:20:56 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:20:56 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:20:56 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:20:56 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:20:56 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:20:57 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:20:59 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:20:59 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:21:00 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:21:00 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:21:00 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:21:00 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:21:00 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:21:01 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:21:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:21:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:21:30 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:21:30 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:21:30 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:21:30 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:21:30 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:21:30 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:21:31 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:21:31 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:21:31 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:21:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:21:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:00 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:00 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:00 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:00 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:00 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:00 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:01 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:22:01 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:01 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:04 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:04 - [app] app - [INFO] INFO - Locating template 'dashboard.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/dashboard.html') +2025-06-20 01:22:04 - [app] app - [INFO] INFO - Locating template 'macros/ui_components.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/macros/ui_components.html') +2025-06-20 01:22:04 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:05 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:05 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:16 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:16 - [app] app - [INFO] INFO - Locating template 'jobs.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/jobs.html') +2025-06-20 01:22:16 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:16 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:16 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:16 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:17 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:17 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:17 - [app] app - [INFO] INFO - ✅ API: Drucker abgerufen (include_inactive=) +2025-06-20 01:22:17 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:23 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:23 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:23 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:23 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:23 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:23 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:24 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:25 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:29 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:29 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:29 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:29 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:29 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:29 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:29 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:29 - [app] app - [INFO] INFO - ✅ API: Drucker abgerufen (include_inactive=) +2025-06-20 01:22:29 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:31 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:31 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:31 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:31 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:31 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:31 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:31 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:32 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:35 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:36 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:36 - [app] app - [INFO] INFO - Locating template 'admin_guest_otps.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin_guest_otps.html') +2025-06-20 01:22:36 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:36 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:36 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:36 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:36 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:36 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:36 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:41 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:41 - [app] app - [INFO] INFO - Locating template 'stats.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/stats.html') +2025-06-20 01:22:41 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:41 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:41 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:41 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:41 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:41 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:41 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:41 - [app] app - [INFO] INFO - Not Found (404): +2025-06-20 01:22:41 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:41 - [app] app - [INFO] INFO - Not Found (404): +2025-06-20 01:22:41 - [app] app - [INFO] INFO - Locating template 'errors/404.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/errors/404.html') +2025-06-20 01:22:41 - [app] app - [INFO] INFO - Not Found (404): +2025-06-20 01:22:41 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:41 - [app] app - [INFO] INFO - Locating template 'errors/404.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/errors/404.html') +2025-06-20 01:22:41 - [app] app - [INFO] INFO - Not Found (404): +2025-06-20 01:22:41 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:41 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:41 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:41 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:42 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:42 - [app] app - [INFO] INFO - Locating template 'energy_dashboard.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/energy_dashboard.html') +2025-06-20 01:22:42 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:42 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:42 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:42 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:42 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:44 - [app] app - [INFO] INFO - Locating template 'calendar.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/calendar.html') +2025-06-20 01:22:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:46 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:46 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:47 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:47 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:47 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:47 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:47 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:47 - [app] app - [INFO] INFO - ✅ API: Drucker abgerufen (include_inactive=) +2025-06-20 01:22:47 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:47 - [app] app - [INFO] INFO - Locating template 'admin_tapo_monitoring.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin_tapo_monitoring.html') +2025-06-20 01:22:47 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:47 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:49 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 1, Status: disconnected, Quelle: system +2025-06-20 01:22:49 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker -> +2025-06-20 01:22:50 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:50 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:50 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:50 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:51 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:51 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:51 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:51 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:52 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 2, Status: disconnected, Quelle: system +2025-06-20 01:22:52 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker -> +2025-06-20 01:22:54 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 3, Status: disconnected, Quelle: system +2025-06-20 01:22:54 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker -> +2025-06-20 01:22:56 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:56 - [app] app - [INFO] INFO - Locating template 'terms.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/terms.html') +2025-06-20 01:22:56 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:56 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 4, Status: disconnected, Quelle: system +2025-06-20 01:22:56 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker -> +2025-06-20 01:22:56 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:22:56 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:22:58 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 5, Status: disconnected, Quelle: system +2025-06-20 01:22:58 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker -> +2025-06-20 01:23:00 - [app] app - [INFO] INFO - ✅ Steckdosen-Status geloggt: Drucker 6, Status: disconnected, Quelle: system +2025-06-20 01:23:00 - [app] app - [DEBUG] DEBUG - 📊 Auto-Status protokolliert: Drucker -> +2025-06-20 01:23:00 - [app] app - [DEBUG] DEBUG - ✅ Status-Updates für Drucker erfolgreich gespeichert +2025-06-20 01:23:00 - [app] app - [INFO] INFO - Locating template 'printers.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/printers.html') +2025-06-20 01:23:00 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:23:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:23:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:23:26 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:23:26 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:23:36 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:23:36 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:23:36 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:23:36 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:23:36 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:23:36 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:23:36 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:23:37 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:23:38 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:23:38 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:23:38 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:23:38 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:23:38 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:23:38 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:23:38 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:23:39 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:23:40 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:23:40 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:23:40 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:23:40 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:23:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:23:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:23:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:23:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:23:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:23:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:23:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:23:45 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:23:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:23:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:24:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:24:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:24:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:24:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:24:14 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:24:14 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:24:15 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:24:15 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:24:15 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:24:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:24:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:24:34 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:24:34 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:24:41 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:24:41 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:24:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:24:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:24:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:24:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:24:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:24:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:24:45 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:24:45 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:24:45 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:24:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:24:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:24:51 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:24:51 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:24:51 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:24:51 - [app] app - [INFO] INFO - Locating template 'login.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/login.html') +2025-06-20 01:24:51 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:25:02 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:25:02 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:25:02 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:25:02 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:25:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:25:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:25:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:25:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:25:14 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:25:14 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:25:15 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:25:15 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:25:15 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:25:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:25:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:25:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:25:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:25:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:25:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:25:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:25:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:25:45 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:25:45 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:25:45 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:25:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:25:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:25:54 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:26:05 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:26:05 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:26:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:26:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:26:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:26:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:26:14 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:26:14 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:26:14 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:26:14 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:26:15 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:26:15 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:26:15 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:26:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:26:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:26:23 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:26:23 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:26:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:26:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:26:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:26:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:26:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:26:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:26:45 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:26:45 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:26:45 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:26:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:26:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:27:05 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:27:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:27:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:27:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:27:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:27:14 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:27:14 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:27:15 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:27:15 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:27:15 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:27:15 - [app] app - [ERROR] ERROR - CSRF-Fehler für : +2025-06-20 01:27:15 - [app] app - [ERROR] ERROR - Request Headers: +2025-06-20 01:27:15 - [app] app - [ERROR] ERROR - Request Form: +2025-06-20 01:27:15 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:27:18 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:27:18 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:27:23 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:27:23 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:27:27 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:27:27 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:27:44 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:27:44 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:27:44 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Invalid hash method ''. +2025-06-20 01:27:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:27:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:27:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:27:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:27:44 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:27:44 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:27:45 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:27:45 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:27:45 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:27:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:27:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:27:54 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:27:54 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:28:06 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:28:06 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:28:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:28:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:28:14 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:28:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:28:14 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:28:14 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:28:14 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgeführt... +2025-06-20 01:28:14 - [app] app - [INFO] INFO - [SHUTDOWN] ✅ Queue Manager gestoppt +2025-06-20 01:28:14 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler: +2025-06-20 01:28:16 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:28:18 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: +2025-06-20 01:28:18 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: +2025-06-20 01:28:18 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-20 01:28:18 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 01:28:18 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 01:28:18 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 01:28:18 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 01:28:18 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 01:28:18 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:28:18 - [app] app - [WARNING] WARNING - Fehler beim Korrigieren der Admin-Berechtigungen: +2025-06-20 01:28:18 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung +2025-06-20 01:28:18 - [app] app - [INFO] INFO - [STARTUP] 🏢 +2025-06-20 01:28:18 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: +2025-06-20 01:28:18 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-20 01:28:18 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-20 01:28:18 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert +2025-06-20 01:28:18 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin... +2025-06-20 01:28:18 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-20 01:28:18 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft +2025-06-20 01:28:18 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-20 01:28:18 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-20 01:28:18 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-20 01:28:18 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-20 01:28:18 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-20 01:28:18 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-20 01:28:18 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-20 01:28:18 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-20 01:28:18 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert +2025-06-20 01:28:18 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-20 01:28:18 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert +2025-06-20 01:28:18 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-20 01:28:18 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet +2025-06-20 01:28:18 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-20 01:28:18 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet +2025-06-20 01:28:18 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://: +2025-06-20 01:28:21 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:28:23 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgeführt... +2025-06-20 01:28:23 - [app] app - [INFO] INFO - [SHUTDOWN] ✅ Queue Manager gestoppt +2025-06-20 01:28:23 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler: +2025-06-20 01:28:25 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:28:26 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: +2025-06-20 01:28:26 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: +2025-06-20 01:28:26 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-20 01:28:26 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 01:28:26 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 01:28:26 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 01:28:26 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 01:28:26 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 01:28:26 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:28:26 - [app] app - [WARNING] WARNING - Fehler beim Korrigieren der Admin-Berechtigungen: +2025-06-20 01:28:26 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung +2025-06-20 01:28:26 - [app] app - [INFO] INFO - [STARTUP] 🏢 +2025-06-20 01:28:26 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: +2025-06-20 01:28:26 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-20 01:28:26 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-20 01:28:26 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert +2025-06-20 01:28:26 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin... +2025-06-20 01:28:26 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-20 01:28:26 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft +2025-06-20 01:28:26 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-20 01:28:26 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-20 01:28:26 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-20 01:28:26 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-20 01:28:26 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-20 01:28:26 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-20 01:28:26 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-20 01:28:26 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-20 01:28:26 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert +2025-06-20 01:28:26 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-20 01:28:26 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert +2025-06-20 01:28:26 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-20 01:28:26 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet +2025-06-20 01:28:26 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-20 01:28:26 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet +2025-06-20 01:28:26 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://: +2025-06-20 01:28:45 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:28:58 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgeführt... +2025-06-20 01:28:58 - [app] app - [INFO] INFO - [SHUTDOWN] ✅ Queue Manager gestoppt +2025-06-20 01:28:58 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler: +2025-06-20 01:28:59 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:29:01 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: +2025-06-20 01:29:01 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: +2025-06-20 01:29:01 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-20 01:29:01 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 01:29:01 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 01:29:01 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 01:29:01 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 01:29:01 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 01:29:01 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:29:01 - [app] app - [WARNING] WARNING - Fehler beim Korrigieren der Admin-Berechtigungen: +2025-06-20 01:29:01 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung +2025-06-20 01:29:01 - [app] app - [INFO] INFO - [STARTUP] 🏢 +2025-06-20 01:29:01 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: +2025-06-20 01:29:01 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-20 01:29:01 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-20 01:29:01 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert +2025-06-20 01:29:01 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin... +2025-06-20 01:29:01 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-20 01:29:01 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft +2025-06-20 01:29:01 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-20 01:29:01 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-20 01:29:01 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-20 01:29:01 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-20 01:29:01 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-20 01:29:01 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-20 01:29:01 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-20 01:29:01 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-20 01:29:01 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert +2025-06-20 01:29:01 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-20 01:29:01 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert +2025-06-20 01:29:01 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-20 01:29:01 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet +2025-06-20 01:29:01 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-20 01:29:01 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet +2025-06-20 01:29:01 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://: +2025-06-20 01:29:15 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:29:17 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:29:17 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:29:17 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-20 01:29:40 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:29:40 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:29:45 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:30:15 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:30:20 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:30:20 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:30:45 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1') +2025-06-20 01:30:46 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:30:46 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:31:02 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:31:02 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:31:14 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:31:16 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: +2025-06-20 01:31:16 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: +2025-06-20 01:31:16 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-20 01:31:16 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 01:31:16 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 01:31:16 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 01:31:16 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 01:31:16 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 01:31:16 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:31:16 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert +2025-06-20 01:31:16 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung +2025-06-20 01:31:16 - [app] app - [INFO] INFO - [STARTUP] 🏢 +2025-06-20 01:31:16 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: +2025-06-20 01:31:16 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-20 01:31:16 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-20 01:31:16 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert +2025-06-20 01:31:16 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin... +2025-06-20 01:31:16 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-20 01:31:16 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft +2025-06-20 01:31:16 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-20 01:31:17 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-20 01:31:17 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-20 01:31:17 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-20 01:31:17 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-20 01:31:17 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-20 01:31:17 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-20 01:31:17 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-20 01:31:17 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert +2025-06-20 01:31:17 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-20 01:31:17 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert +2025-06-20 01:31:17 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-20 01:31:17 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet +2025-06-20 01:31:17 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-20 01:31:17 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet +2025-06-20 01:31:17 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://: +2025-06-20 01:31:18 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-20 01:31:19 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: +2025-06-20 01:31:19 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: +2025-06-20 01:31:19 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-20 01:31:19 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-20 01:31:19 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Konfiguration aktiviert +2025-06-20 01:31:19 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: +2025-06-20 01:31:19 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: +2025-06-20 01:31:19 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: +2025-06-20 01:31:20 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-20 01:31:20 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: erstellt, aktualisiert +2025-06-20 01:31:20 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP -Umgebung +2025-06-20 01:31:20 - [app] app - [INFO] INFO - [STARTUP] 🏢 +2025-06-20 01:31:20 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: +2025-06-20 01:31:20 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-20 01:31:20 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-20 01:31:20 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert +2025-06-20 01:31:20 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin... +2025-06-20 01:31:20 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-20 01:31:20 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft +2025-06-20 01:31:20 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-20 01:31:20 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-20 01:31:20 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-20 01:31:20 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-20 01:31:20 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-20 01:31:20 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-20 01:31:20 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-20 01:31:20 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-20 01:31:20 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert +2025-06-20 01:31:20 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-20 01:31:20 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert +2025-06-20 01:31:20 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-20 01:31:20 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet +2025-06-20 01:31:20 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-20 01:31:20 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet +2025-06-20 01:31:20 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://: +2025-06-20 01:31:22 - [app] app - [INFO] INFO - Locating template 'admin.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin.html') +2025-06-20 01:31:22 - [app] app - [INFO] INFO - Locating template 'base.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/base.html') +2025-06-20 01:31:22 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:31:23 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:31:23 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:31:23 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:31:23 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:31:23 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:31:24 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:31:24 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:31:24 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:31:25 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:31:25 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:31:25 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:31:25 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:31:25 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:31:26 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:31:35 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:31:35 - [app] app - [INFO] INFO - Locating template 'admin_advanced_settings.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin_advanced_settings.html') +2025-06-20 01:31:35 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:31:35 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:31:35 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:31:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:31:48 - [app] app - [INFO] INFO - Locating template 'settings.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates + -> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/settings.html') +2025-06-20 01:31:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:31:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:31:48 - [app] app - [DEBUG] DEBUG - Response: +2025-06-20 01:31:48 - [app] app - [DEBUG] DEBUG - Request: +2025-06-20 01:31:48 - [app] app - [DEBUG] DEBUG - Response: diff --git a/backend/logs/auth/auth.log b/backend/logs/auth/auth.log index 08e3c7977..73ebf6f92 100644 --- a/backend/logs/auth/auth.log +++ b/backend/logs/auth/auth.log @@ -146,3 +146,6 @@ WHERE users.username = ? OR users.email = ? 2025-06-19 22:39:50 - [auth] auth - [WARNING] WARNING - Fehlgeschlagener Login-Versuch für Benutzer admin@example.com 2025-06-19 22:51:17 - [auth] auth - [WARNING] WARNING - JSON-Parsing fehlgeschlagen: 400 Bad Request: Failed to decode JSON object: Expecting value: line 1 column 1 (char 0) 2025-06-19 22:51:17 - [auth] auth - [INFO] INFO - Benutzer admin@mercedes-benz.com hat sich erfolgreich angemeldet +2025-06-20 01:02:41 - [auth] auth - [INFO] INFO - Benutzer admin@mercedes-benz.com hat sich abgemeldet +2025-06-20 01:06:27 - [auth] auth - [WARNING] WARNING - JSON-Parsing fehlgeschlagen: 400 Bad Request: Failed to decode JSON object: Expecting value: line 1 column 1 (char 0) +2025-06-20 01:06:27 - [auth] auth - [INFO] INFO - Benutzer admin@example.com hat sich erfolgreich angemeldet diff --git a/backend/logs/calendar/calendar.log b/backend/logs/calendar/calendar.log index c127c5fe6..40d7496b4 100644 --- a/backend/logs/calendar/calendar.log +++ b/backend/logs/calendar/calendar.log @@ -111,3 +111,7 @@ AttributeError: 'ConflictManager' object has no attribute 'detect_conflicts' 2025-06-20 00:47:17 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-14 22:00:00+00:00 bis 2025-06-21 22:00:00+00:00 2025-06-20 00:49:49 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-14 22:00:00+00:00 bis 2025-06-21 22:00:00+00:00 2025-06-20 00:53:24 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-14 22:00:00+00:00 bis 2025-06-21 22:00:00+00:00 +2025-06-20 01:08:27 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-14 22:00:00+00:00 bis 2025-06-21 22:00:00+00:00 +2025-06-20 01:11:27 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-14 22:00:00+00:00 bis 2025-06-21 22:00:00+00:00 +2025-06-20 01:15:45 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-14 22:00:00+00:00 bis 2025-06-21 22:00:00+00:00 +2025-06-20 01:22:44 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-14 22:00:00+00:00 bis 2025-06-21 22:00:00+00:00 diff --git a/backend/logs/data_management/data_management.log b/backend/logs/data_management/data_management.log index 5c223999c..8527531ba 100644 --- a/backend/logs/data_management/data_management.log +++ b/backend/logs/data_management/data_management.log @@ -901,3 +901,35 @@ 2025-06-20 00:57:46 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) 2025-06-20 01:01:00 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert 2025-06-20 01:01:00 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:05:26 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-20 01:05:26 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:05:54 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-20 01:05:54 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:11:20 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-20 01:11:20 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:11:21 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-20 01:11:21 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:14:29 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-20 01:14:29 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:16:03 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-20 01:16:03 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:16:29 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-20 01:16:29 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:16:30 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-20 01:16:30 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:19:40 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-20 01:19:40 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:20:48 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-20 01:20:48 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:20:50 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-20 01:20:50 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:28:17 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-20 01:28:17 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:28:25 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-20 01:28:25 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:28:59 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-20 01:28:59 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:31:14 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-20 01:31:14 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:31:18 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-20 01:31:18 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) diff --git a/backend/logs/drucker_steuerung/drucker_steuerung.log b/backend/logs/drucker_steuerung/drucker_steuerung.log index dbc43f878..ccb632828 100644 --- a/backend/logs/drucker_steuerung/drucker_steuerung.log +++ b/backend/logs/drucker_steuerung/drucker_steuerung.log @@ -39,3 +39,19 @@ 2025-06-20 00:54:30 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen 2025-06-20 00:57:46 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen 2025-06-20 01:01:01 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen +2025-06-20 01:05:27 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen +2025-06-20 01:05:56 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen +2025-06-20 01:11:20 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen +2025-06-20 01:11:22 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen +2025-06-20 01:14:29 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen +2025-06-20 01:16:05 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen +2025-06-20 01:16:30 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen +2025-06-20 01:16:31 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen +2025-06-20 01:19:41 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen +2025-06-20 01:20:49 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen +2025-06-20 01:20:51 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen +2025-06-20 01:28:18 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen +2025-06-20 01:28:26 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen +2025-06-20 01:29:01 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen +2025-06-20 01:31:16 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen +2025-06-20 01:31:20 - [drucker_steuerung] drucker_steuerung - [INFO] INFO - 🖨️ Drucker-Steuerungs-Blueprint (Backend-Kontrolle) geladen diff --git a/backend/logs/energy_monitoring/energy_monitoring.log b/backend/logs/energy_monitoring/energy_monitoring.log index a10c54f2b..11b3558d4 100644 --- a/backend/logs/energy_monitoring/energy_monitoring.log +++ b/backend/logs/energy_monitoring/energy_monitoring.log @@ -750,3 +750,23 @@ 2025-06-20 00:54:46 - [energy_monitoring] energy_monitoring - [INFO] INFO - 🔋 Energiemonitoring-Dashboard aufgerufen von admin 2025-06-20 00:57:46 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert 2025-06-20 01:01:01 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-20 01:05:27 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-20 01:05:56 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-20 01:11:20 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-20 01:11:22 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-20 01:11:28 - [energy_monitoring] energy_monitoring - [INFO] INFO - 🔋 Energiemonitoring-Dashboard aufgerufen von admin@example.com +2025-06-20 01:11:32 - [energy_monitoring] energy_monitoring - [INFO] INFO - 🔍 Gerätedetails für ID 1 aufgerufen von admin@example.com +2025-06-20 01:12:21 - [energy_monitoring] energy_monitoring - [INFO] INFO - 🔋 Energiemonitoring-Dashboard aufgerufen von admin@example.com +2025-06-20 01:14:29 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-20 01:16:05 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-20 01:16:30 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-20 01:16:31 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-20 01:19:41 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-20 01:20:49 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-20 01:20:51 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-20 01:22:42 - [energy_monitoring] energy_monitoring - [INFO] INFO - 🔋 Energiemonitoring-Dashboard aufgerufen von admin@example.com +2025-06-20 01:28:18 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-20 01:28:26 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-20 01:29:01 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-20 01:31:16 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-20 01:31:20 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert diff --git a/backend/logs/hardware_integration/hardware_integration.log b/backend/logs/hardware_integration/hardware_integration.log index a00e11db4..1effa0318 100644 --- a/backend/logs/hardware_integration/hardware_integration.log +++ b/backend/logs/hardware_integration/hardware_integration.log @@ -3519,3 +3519,44 @@ 2025-06-20 01:01:11 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) 2025-06-20 01:01:13 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) 2025-06-20 01:01:15 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.106: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 01:05:26 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen +2025-06-20 01:05:54 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen +2025-06-20 01:11:20 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen +2025-06-20 01:11:21 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen +2025-06-20 01:12:55 - [hardware_integration] hardware_integration - [INFO] INFO - 🎯 DruckerSteuerung initialisiert - BACKEND ÜBERNIMMT KONTROLLE +2025-06-20 01:12:57 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 01:12:59 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.101: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 01:13:01 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.102: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 01:13:03 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 01:13:05 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 01:13:07 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.106: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 01:14:29 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen +2025-06-20 01:15:52 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 01:15:54 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.101: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 01:15:56 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.102: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 01:15:58 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 01:16:00 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 01:16:03 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen +2025-06-20 01:16:29 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen +2025-06-20 01:16:30 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen +2025-06-20 01:19:40 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen +2025-06-20 01:20:48 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen +2025-06-20 01:20:50 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen +2025-06-20 01:22:35 - [hardware_integration] hardware_integration - [INFO] INFO - 🎯 DruckerSteuerung initialisiert - BACKEND ÜBERNIMMT KONTROLLE +2025-06-20 01:22:37 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 01:22:39 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.101: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 01:22:41 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.102: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 01:22:43 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 01:22:45 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 01:22:47 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.106: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 01:22:49 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.100: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 01:22:52 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.101: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 01:22:54 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.102: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 01:22:56 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 01:22:58 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 01:23:00 - [hardware_integration] hardware_integration - [ERROR] ERROR - ❌ Fehler beim Prüfen von Steckdose 192.168.0.106: HTTPConnectionPool(host='192.168.1.101', port=3128): Read timed out. (read timeout=2) +2025-06-20 01:28:17 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen +2025-06-20 01:28:25 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen +2025-06-20 01:28:59 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen +2025-06-20 01:31:14 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen +2025-06-20 01:31:18 - [hardware_integration] hardware_integration - [INFO] INFO - 🚀 Hardware Integration (Backend-Kontrolle) erfolgreich geladen diff --git a/backend/logs/job_queue_system/job_queue_system.log b/backend/logs/job_queue_system/job_queue_system.log index 416d631a7..58fba7901 100644 --- a/backend/logs/job_queue_system/job_queue_system.log +++ b/backend/logs/job_queue_system/job_queue_system.log @@ -1741,3 +1741,59 @@ 2025-06-20 01:01:00 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert 2025-06-20 01:01:00 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) 2025-06-20 01:01:01 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) +2025-06-20 01:05:24 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität) +2025-06-20 01:05:26 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-20 01:05:26 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-20 01:05:28 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) +2025-06-20 01:05:54 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-20 01:05:54 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-20 01:11:09 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität) +2025-06-20 01:11:09 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität) +2025-06-20 01:11:20 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-20 01:11:20 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-20 01:11:21 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) +2025-06-20 01:11:21 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-20 01:11:21 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-20 01:11:22 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) +2025-06-20 01:14:29 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-20 01:14:29 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-20 01:16:02 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität) +2025-06-20 01:16:03 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-20 01:16:03 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-20 01:16:05 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) +2025-06-20 01:16:29 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-20 01:16:29 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-20 01:16:29 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität) +2025-06-20 01:16:30 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-20 01:16:30 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-20 01:16:31 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) +2025-06-20 01:19:40 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-20 01:19:40 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-20 01:20:39 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität) +2025-06-20 01:20:39 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität) +2025-06-20 01:20:48 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-20 01:20:48 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-20 01:20:50 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) +2025-06-20 01:20:50 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-20 01:20:50 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-20 01:20:51 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) +2025-06-20 01:28:14 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität) +2025-06-20 01:28:17 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-20 01:28:17 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-20 01:28:18 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) +2025-06-20 01:28:23 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität) +2025-06-20 01:28:25 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-20 01:28:25 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-20 01:28:26 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) +2025-06-20 01:28:58 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität) +2025-06-20 01:28:59 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-20 01:28:59 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-20 01:29:01 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) +2025-06-20 01:31:11 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität) +2025-06-20 01:31:11 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität) +2025-06-20 01:31:14 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-20 01:31:14 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-20 01:31:17 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) +2025-06-20 01:31:18 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-20 01:31:18 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-20 01:31:20 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) diff --git a/backend/logs/jobs/jobs.log b/backend/logs/jobs/jobs.log index 2c46b642d..a6159ce47 100644 --- a/backend/logs/jobs/jobs.log +++ b/backend/logs/jobs/jobs.log @@ -1017,3 +1017,15 @@ sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) FOREIGN KEY constraint f 2025-06-20 00:58:29 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) 2025-06-20 01:00:51 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) 2025-06-20 01:00:51 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-20 01:12:26 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 2 (Admin: False) +2025-06-20 01:12:26 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-20 01:13:10 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 2 (Admin: False) +2025-06-20 01:13:10 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-20 01:15:47 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 2 (Admin: True) +2025-06-20 01:15:47 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-20 01:22:16 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 2 (Admin: True) +2025-06-20 01:22:17 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-20 01:22:29 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 2 (Admin: True) +2025-06-20 01:22:29 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-20 01:22:47 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 2 (Admin: True) +2025-06-20 01:22:47 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) diff --git a/backend/logs/monitoring_analytics/monitoring_analytics.log b/backend/logs/monitoring_analytics/monitoring_analytics.log index 8e11dad86..d46f3147a 100644 --- a/backend/logs/monitoring_analytics/monitoring_analytics.log +++ b/backend/logs/monitoring_analytics/monitoring_analytics.log @@ -891,3 +891,35 @@ 2025-06-20 00:57:46 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) 2025-06-20 01:01:01 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert 2025-06-20 01:01:01 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:05:27 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-20 01:05:27 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:05:55 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-20 01:05:55 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:11:20 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-20 01:11:20 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:11:22 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-20 01:11:22 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:14:29 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-20 01:14:29 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:16:05 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-20 01:16:05 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:16:30 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-20 01:16:30 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:16:31 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-20 01:16:31 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:19:41 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-20 01:19:41 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:20:49 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-20 01:20:49 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:20:51 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-20 01:20:51 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:28:18 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-20 01:28:18 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:28:26 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-20 01:28:26 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:29:01 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-20 01:29:01 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:31:16 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-20 01:31:16 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:31:19 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-20 01:31:19 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) diff --git a/backend/logs/permissions/permissions.log b/backend/logs/permissions/permissions.log index 8d0a51e81..49c6e4c2b 100644 --- a/backend/logs/permissions/permissions.log +++ b/backend/logs/permissions/permissions.log @@ -450,3 +450,40 @@ WHERE users.role = ?] 2025-06-20 00:54:30 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert 2025-06-20 00:57:46 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert 2025-06-20 01:01:01 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-20 01:05:27 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-20 01:05:56 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-20 01:11:20 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-20 01:11:22 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-20 01:14:29 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-20 01:16:05 - [permissions] permissions - [INFO] INFO - UserPermission für Admin admin@example.com (ID: 2) korrigiert +2025-06-20 01:16:05 - [permissions] permissions - [INFO] INFO - UserPermission für Admin admin2@example.com (ID: 3) korrigiert +2025-06-20 01:16:05 - [permissions] permissions - [INFO] INFO - UserPermission für Admin admin@example.com2 (ID: 4) korrigiert +2025-06-20 01:16:05 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 3 aktualisiert +2025-06-20 01:16:30 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-20 01:16:31 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-20 01:19:41 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-20 01:20:49 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-20 01:20:51 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-20 01:28:18 - [permissions] permissions - [ERROR] ERROR - Fehler beim Korrigieren der Admin-Berechtigungen: (sqlite3.OperationalError) no such column: user_permissions.can_manage_printers +[SQL: SELECT user_permissions.user_id AS user_permissions_user_id, user_permissions.can_start_jobs AS user_permissions_can_start_jobs, user_permissions.needs_approval AS user_permissions_needs_approval, user_permissions.can_approve_jobs AS user_permissions_can_approve_jobs, user_permissions.can_manage_printers AS user_permissions_can_manage_printers, user_permissions.can_view_all_jobs AS user_permissions_can_view_all_jobs, user_permissions.can_access_admin_panel AS user_permissions_can_access_admin_panel, user_permissions.can_manage_users AS user_permissions_can_manage_users, user_permissions.can_access_energy_monitoring AS user_permissions_can_access_energy_monitoring, user_permissions.created_at AS user_permissions_created_at, user_permissions.updated_at AS user_permissions_updated_at +FROM user_permissions +WHERE user_permissions.user_id = ? + LIMIT ? OFFSET ?] +[parameters: (1, 1, 0)] +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-20 01:28:26 - [permissions] permissions - [ERROR] ERROR - Fehler beim Korrigieren der Admin-Berechtigungen: (sqlite3.OperationalError) no such column: user_permissions.can_manage_printers +[SQL: SELECT user_permissions.user_id AS user_permissions_user_id, user_permissions.can_start_jobs AS user_permissions_can_start_jobs, user_permissions.needs_approval AS user_permissions_needs_approval, user_permissions.can_approve_jobs AS user_permissions_can_approve_jobs, user_permissions.can_manage_printers AS user_permissions_can_manage_printers, user_permissions.can_view_all_jobs AS user_permissions_can_view_all_jobs, user_permissions.can_access_admin_panel AS user_permissions_can_access_admin_panel, user_permissions.can_manage_users AS user_permissions_can_manage_users, user_permissions.can_access_energy_monitoring AS user_permissions_can_access_energy_monitoring, user_permissions.created_at AS user_permissions_created_at, user_permissions.updated_at AS user_permissions_updated_at +FROM user_permissions +WHERE user_permissions.user_id = ? + LIMIT ? OFFSET ?] +[parameters: (1, 1, 0)] +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-20 01:29:01 - [permissions] permissions - [ERROR] ERROR - Fehler beim Korrigieren der Admin-Berechtigungen: (sqlite3.OperationalError) no such column: user_permissions.can_manage_printers +[SQL: SELECT user_permissions.user_id AS user_permissions_user_id, user_permissions.can_start_jobs AS user_permissions_can_start_jobs, user_permissions.needs_approval AS user_permissions_needs_approval, user_permissions.can_approve_jobs AS user_permissions_can_approve_jobs, user_permissions.can_manage_printers AS user_permissions_can_manage_printers, user_permissions.can_view_all_jobs AS user_permissions_can_view_all_jobs, user_permissions.can_access_admin_panel AS user_permissions_can_access_admin_panel, user_permissions.can_manage_users AS user_permissions_can_manage_users, user_permissions.can_access_energy_monitoring AS user_permissions_can_access_energy_monitoring, user_permissions.created_at AS user_permissions_created_at, user_permissions.updated_at AS user_permissions_updated_at +FROM user_permissions +WHERE user_permissions.user_id = ? + LIMIT ? OFFSET ?] +[parameters: (1, 1, 0)] +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-20 01:31:16 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-20 01:31:20 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert diff --git a/backend/logs/scheduler/scheduler.log b/backend/logs/scheduler/scheduler.log index ed2c96054..8a58db27f 100644 --- a/backend/logs/scheduler/scheduler.log +++ b/backend/logs/scheduler/scheduler.log @@ -2526,3 +2526,43 @@ 2025-06-20 01:01:00 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True 2025-06-20 01:01:01 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet 2025-06-20 01:01:01 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-20 01:05:26 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-20 01:05:28 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-20 01:05:28 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-20 01:05:54 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-20 01:11:20 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-20 01:11:21 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-20 01:11:21 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-20 01:11:21 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-20 01:11:22 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-20 01:11:22 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-20 01:14:29 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-20 01:16:03 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-20 01:16:05 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-20 01:16:05 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-20 01:16:29 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-20 01:16:30 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-20 01:16:31 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-20 01:16:31 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-20 01:19:40 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-20 01:20:48 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-20 01:20:50 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-20 01:20:50 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-20 01:20:50 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-20 01:20:51 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-20 01:20:51 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-20 01:28:17 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-20 01:28:18 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-20 01:28:18 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-20 01:28:25 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-20 01:28:26 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-20 01:28:26 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-20 01:28:59 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-20 01:29:01 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-20 01:29:01 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-20 01:31:14 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-20 01:31:17 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-20 01:31:17 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-20 01:31:18 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-20 01:31:20 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-20 01:31:20 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet diff --git a/backend/logs/security_suite/security_suite.log b/backend/logs/security_suite/security_suite.log index e84144b0c..c0b3b9389 100644 --- a/backend/logs/security_suite/security_suite.log +++ b/backend/logs/security_suite/security_suite.log @@ -1346,3 +1346,52 @@ 2025-06-20 01:01:00 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert 2025-06-20 01:01:00 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) 2025-06-20 01:01:01 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 01:05:26 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-20 01:05:26 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:05:27 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 01:05:54 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-20 01:05:54 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:05:56 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 01:11:20 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-20 01:11:20 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:11:20 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 01:11:21 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-20 01:11:21 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:11:22 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 01:14:29 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-20 01:14:29 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:14:29 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 01:16:03 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-20 01:16:03 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:16:05 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 01:16:29 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-20 01:16:29 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:16:30 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 01:16:30 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-20 01:16:30 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:16:31 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 01:19:40 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-20 01:19:40 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:19:41 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 01:19:41 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 01:20:48 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-20 01:20:48 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:20:49 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 01:20:50 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-20 01:20:50 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:20:51 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 01:28:17 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-20 01:28:17 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:28:18 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 01:28:25 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-20 01:28:25 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:28:26 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 01:28:59 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-20 01:28:59 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:29:01 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 01:31:14 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-20 01:31:14 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:31:16 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-20 01:31:18 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-20 01:31:18 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-20 01:31:20 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert diff --git a/backend/logs/startup/startup.log b/backend/logs/startup/startup.log index 363209d97..df5b9f05f 100644 --- a/backend/logs/startup/startup.log +++ b/backend/logs/startup/startup.log @@ -3534,3 +3534,115 @@ 2025-06-20 01:01:01 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend 2025-06-20 01:01:01 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T01:01:01.251932 2025-06-20 01:01:01 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:05:27 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:05:27 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-20 01:05:27 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-20 01:05:27 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux) +2025-06-20 01:05:27 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend +2025-06-20 01:05:27 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T01:05:27.557644 +2025-06-20 01:05:27 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:05:55 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:05:55 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-20 01:05:55 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-20 01:05:55 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux) +2025-06-20 01:05:55 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend +2025-06-20 01:05:55 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T01:05:55.934077 +2025-06-20 01:05:55 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:11:20 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:11:20 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-20 01:11:20 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-20 01:11:20 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux) +2025-06-20 01:11:20 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend +2025-06-20 01:11:20 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T01:11:20.834359 +2025-06-20 01:11:20 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:11:22 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:11:22 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-20 01:11:22 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-20 01:11:22 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux) +2025-06-20 01:11:22 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend +2025-06-20 01:11:22 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T01:11:22.478393 +2025-06-20 01:11:22 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:14:29 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:14:29 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-20 01:14:29 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-20 01:14:29 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux) +2025-06-20 01:14:29 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend +2025-06-20 01:14:29 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T01:14:29.858193 +2025-06-20 01:14:29 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:16:05 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:16:05 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-20 01:16:05 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-20 01:16:05 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux) +2025-06-20 01:16:05 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend +2025-06-20 01:16:05 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T01:16:05.027280 +2025-06-20 01:16:05 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:16:30 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:16:30 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-20 01:16:30 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-20 01:16:30 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux) +2025-06-20 01:16:30 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend +2025-06-20 01:16:30 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T01:16:30.131493 +2025-06-20 01:16:30 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:16:31 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:16:31 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-20 01:16:31 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-20 01:16:31 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux) +2025-06-20 01:16:31 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend +2025-06-20 01:16:31 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T01:16:31.539536 +2025-06-20 01:16:31 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:19:41 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:19:41 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-20 01:19:41 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-20 01:19:41 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux) +2025-06-20 01:19:41 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend +2025-06-20 01:19:41 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T01:19:41.314109 +2025-06-20 01:19:41 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:20:49 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:20:49 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-20 01:20:49 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-20 01:20:49 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux) +2025-06-20 01:20:49 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend +2025-06-20 01:20:49 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T01:20:49.634901 +2025-06-20 01:20:49 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:20:51 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:20:51 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-20 01:20:51 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-20 01:20:51 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux) +2025-06-20 01:20:51 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend +2025-06-20 01:20:51 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T01:20:51.244177 +2025-06-20 01:20:51 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:28:18 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:28:18 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-20 01:28:18 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-20 01:28:18 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux) +2025-06-20 01:28:18 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend +2025-06-20 01:28:18 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T01:28:18.226429 +2025-06-20 01:28:18 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:28:26 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:28:26 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-20 01:28:26 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-20 01:28:26 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux) +2025-06-20 01:28:26 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend +2025-06-20 01:28:26 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T01:28:26.368606 +2025-06-20 01:28:26 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:29:01 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:29:01 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-20 01:29:01 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-20 01:29:01 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux) +2025-06-20 01:29:01 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend +2025-06-20 01:29:01 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T01:29:01.195875 +2025-06-20 01:29:01 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:31:16 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:31:16 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-20 01:31:16 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-20 01:31:16 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux) +2025-06-20 01:31:16 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend +2025-06-20 01:31:16 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T01:31:16.163733 +2025-06-20 01:31:16 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:31:19 - [startup] startup - [INFO] INFO - ================================================== +2025-06-20 01:31:19 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-20 01:31:19 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC] +2025-06-20 01:31:19 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux) +2025-06-20 01:31:19 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend +2025-06-20 01:31:19 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-20T01:31:19.953074 +2025-06-20 01:31:19 - [startup] startup - [INFO] INFO - ================================================== diff --git a/backend/logs/user/user.log b/backend/logs/user/user.log index 10e430e8e..2792d8f79 100644 --- a/backend/logs/user/user.log +++ b/backend/logs/user/user.log @@ -105,3 +105,20 @@ 2025-06-20 00:30:21 - [user] user - [INFO] INFO - User admin retrieved settings via API 2025-06-20 00:30:36 - [user] user - [INFO] INFO - User admin accessed profile page 2025-06-20 00:32:02 - [user] user - [INFO] INFO - User admin accessed settings page +2025-06-20 01:12:34 - [user] user - [INFO] INFO - User admin@example.com accessed settings page +2025-06-20 01:12:34 - [user] user - [INFO] INFO - User admin@example.com retrieved settings via API +2025-06-20 01:13:22 - [user] user - [INFO] INFO - User admin@example.com accessed profile page +2025-06-20 01:14:07 - [user] user - [INFO] INFO - User admin@example.com accessed settings page +2025-06-20 01:14:11 - [user] user - [INFO] INFO - User admin@example.com updated settings via API +2025-06-20 01:14:12 - [user] user - [INFO] INFO - User admin@example.com updated settings via API +2025-06-20 01:14:14 - [user] user - [INFO] INFO - User admin@example.com updated settings via API +2025-06-20 01:14:21 - [user] user - [INFO] INFO - User admin@example.com updated settings via API +2025-06-20 01:14:22 - [user] user - [INFO] INFO - User admin@example.com updated settings via API +2025-06-20 01:14:24 - [user] user - [INFO] INFO - User admin@example.com updated settings via API +2025-06-20 01:14:25 - [user] user - [INFO] INFO - User admin@example.com updated settings via API +2025-06-20 01:14:27 - [user] user - [INFO] INFO - User admin@example.com updated settings via API +2025-06-20 01:14:27 - [user] user - [INFO] INFO - User admin@example.com updated settings via API +2025-06-20 01:14:36 - [user] user - [INFO] INFO - User admin@example.com updated settings via API +2025-06-20 01:14:42 - [user] user - [INFO] INFO - User admin@example.com accessed profile page +2025-06-20 01:31:48 - [user] user - [INFO] INFO - User admin@example.com accessed settings page +2025-06-20 01:31:48 - [user] user - [INFO] INFO - User admin@example.com retrieved settings via API diff --git a/backend/logs/utilities_collection/utilities_collection.log b/backend/logs/utilities_collection/utilities_collection.log index 8ff6b776c..e881624dc 100644 --- a/backend/logs/utilities_collection/utilities_collection.log +++ b/backend/logs/utilities_collection/utilities_collection.log @@ -1143,3 +1143,75 @@ 2025-06-20 00:57:45 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) 2025-06-20 01:01:00 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert 2025-06-20 01:01:00 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:05:25 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:05:25 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:05:54 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:05:54 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:11:20 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:11:20 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:11:21 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:11:21 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:14:19 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:14:19 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:14:28 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:14:28 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:14:42 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:14:42 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:14:52 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:14:52 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:15:33 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:15:33 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:15:42 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:15:42 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:16:03 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:16:03 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:16:28 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:16:28 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:16:30 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:16:30 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:19:40 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:19:40 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:20:48 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:20:48 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:20:50 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:20:50 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:24:34 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:24:34 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:25:54 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:25:54 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:26:05 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:26:05 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:26:14 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:26:14 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:26:23 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:26:23 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:27:05 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:27:05 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:27:44 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:27:44 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:27:54 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:27:54 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:28:06 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:28:06 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:28:16 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:28:16 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:28:25 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:28:25 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:28:59 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:28:59 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:29:17 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:29:17 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:29:40 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:29:40 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:29:54 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:29:54 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:30:20 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:30:20 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:30:46 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:30:46 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:31:02 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:31:02 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:31:14 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:31:14 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-20 01:31:18 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-20 01:31:18 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) diff --git a/backend/models.py b/backend/models.py index d6b5a79ae..825070cd7 100644 --- a/backend/models.py +++ b/backend/models.py @@ -870,15 +870,28 @@ class SystemLog(Base): class UserPermission(Base): """ - Berechtigungen für Benutzer. + Erweiterte granulare Berechtigungen für Benutzer. """ __tablename__ = "user_permissions" user_id = Column(Integer, ForeignKey("users.id"), primary_key=True) - can_start_jobs = Column(Boolean, default=False) - needs_approval = Column(Boolean, default=True) + + # Grundlegende Job-Berechtigungen + can_start_jobs = Column(Boolean, default=True) + needs_approval = Column(Boolean, default=False) can_approve_jobs = Column(Boolean, default=False) + # Erweiterte System-Berechtigungen + can_manage_printers = Column(Boolean, default=False) + can_view_all_jobs = Column(Boolean, default=False) + can_access_admin_panel = Column(Boolean, default=False) + can_manage_users = Column(Boolean, default=False) + can_access_energy_monitoring = Column(Boolean, default=False) + + # Zeitstempel + created_at = Column(DateTime, default=datetime.now) + updated_at = Column(DateTime, default=datetime.now, onupdate=datetime.now) + user = relationship("User", back_populates="permissions") def to_dict(self) -> dict: @@ -889,7 +902,14 @@ class UserPermission(Base): "user_id": self.user_id, "can_start_jobs": self.can_start_jobs, "needs_approval": self.needs_approval, - "can_approve_jobs": self.can_approve_jobs + "can_approve_jobs": self.can_approve_jobs, + "can_manage_printers": self.can_manage_printers, + "can_view_all_jobs": self.can_view_all_jobs, + "can_access_admin_panel": self.can_access_admin_panel, + "can_manage_users": self.can_manage_users, + "can_access_energy_monitoring": self.can_access_energy_monitoring, + "created_at": self.created_at.isoformat() if self.created_at else None, + "updated_at": self.updated_at.isoformat() if self.updated_at else None } diff --git a/backend/static/css/output.css b/backend/static/css/output.css index 9ffcf1c78..6a3d0bb99 100644 --- a/backend/static/css/output.css +++ b/backend/static/css/output.css @@ -1 +1 @@ -*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Mercedes-Benz Text,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--color-bg-primary:#fff;--color-bg-secondary:#fafbfc;--color-bg-tertiary:#f3f5f7;--color-bg-accent:#fbfcfd;--color-text-primary:#111827;--color-text-secondary:#374151;--color-text-muted:#6b7280;--color-text-accent:#0073ce;--color-border-primary:#e5e7eb;--color-border-secondary:#d1d5db;--color-accent:#0073ce;--color-accent-hover:#005a9f;--color-accent-light:#eff6ff;--color-accent-text:#fff;--color-shadow:rgba(0,0,0,.06);--color-shadow-strong:rgba(0,0,0,.1);--color-shadow-accent:rgba(0,115,206,.12);--card-radius:1rem;--gradient-primary:linear-gradient(135deg,#fff,#fafbfc 30%,#f8fafc 70%,#f3f5f7);--gradient-card:linear-gradient(135deg,#fff,#fcfcfd 50%,#fafbfc);--gradient-hero:linear-gradient(135deg,#fafbfc,#f3f5f7 40%,#eef2f5 80%,#f8fafc);--gradient-accent:linear-gradient(135deg,#0073ce,#005a9f);--gradient-surface:linear-gradient(135deg,#fff,#fbfcfd 50%,#f8fafc);--glass-bg:hsla(0,0%,100%,.92);--glass-border:hsla(0,0%,100%,.3);--glass-shadow:0 8px 32px rgba(0,0,0,.04);--glass-blur:blur(20px)}.dark{--color-bg-primary:#000;--color-bg-secondary:#0a0a0a;--color-bg-tertiary:#1a1a1a;--color-text-primary:#fff;--color-text-secondary:#e2e8f0;--color-text-muted:#94a3b8;--color-border-primary:#1a1a1a;--color-border-secondary:#2a2a2a;--color-accent:#fff;--color-accent-hover:#f0f0f0;--color-accent-light:#1e3a8a;--color-accent-text:#000;--color-shadow:rgba(0,0,0,.8);--color-shadow-strong:rgba(0,0,0,.9);--mb-black:#000}body{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}body:is(.dark *){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}body{position:relative;min-height:100vh;background:var(--gradient-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-feature-settings:"cv02","cv03","cv04","cv11";line-height:1.65;font-size:15px}.dark body{background:linear-gradient(135deg,#000,#0a0a0a 50%,#000)}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 25% 25%,rgba(0,115,206,.015) 0,transparent 50%),radial-gradient(circle at 75% 75%,rgba(0,115,206,.01) 0,transparent 50%),radial-gradient(circle at 50% 10%,rgba(0,115,206,.008) 0,transparent 50%);pointer-events:none;z-index:-1}.dark body:before{background:radial-gradient(circle at 20% 50%,rgba(59,130,246,.03) 0,transparent 50%),radial-gradient(circle at 80% 20%,rgba(59,130,246,.02) 0,transparent 50%)}nav{border-bottom-width:1px;--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:linear-gradient(135deg,hsla(0,0%,100%,.95),rgba(250,251,252,.92) 30%,rgba(248,250,252,.9) 70%,hsla(0,0%,100%,.95));border-bottom:1px solid rgba(229,231,235,.7);backdrop-filter:blur(28px) saturate(200%) brightness(110%);-webkit-backdrop-filter:blur(28px) saturate(200%) brightness(110%);box-shadow:0 4px 20px rgba(0,0,0,.04),0 2px 8px rgba(0,115,206,.02),inset 0 1px 0 hsla(0,0%,100%,.9)}.dark nav{background:rgba(0,0,0,.85);border-bottom-color:hsla(0,0%,100%,.1);box-shadow:0 8px 32px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.05)}.dark .card-enhanced{background:hsla(0,0%,4%,.8);border-color:var(--color-border-primary);box-shadow:0 4px 20px var(--color-shadow)}.btn-secondary{background:var(--gradient-surface);color:var(--color-text-primary);border:1px solid var(--color-border-primary);box-shadow:0 1px 6px rgba(0,0,0,.03),inset 0 1px 0 hsla(0,0%,100%,.8)}.btn-secondary:hover{background:var(--color-bg-secondary);border-color:var(--color-accent);color:var(--color-accent);box-shadow:0 4px 12px rgba(0,115,206,.08),inset 0 1px 0 hsla(0,0%,100%,.9)}.dark .input-enhanced{background:hsla(0,0%,4%,.8);border-color:var(--color-border-primary);color:var(--color-text-primary);box-shadow:0 2px 8px var(--color-shadow),inset 0 1px 0 hsla(0,0%,100%,.05)}.dark .input-enhanced:focus{border-color:#60a5fa;box-shadow:0 4px 15px rgba(96,165,250,.2),0 0 0 3px rgba(96,165,250,.1)}.\!container{width:100%!important}.container{width:100%}@media (min-width:475px){.\!container{max-width:475px!important}.container{max-width:475px}}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}@media (min-width:1920px){.\!container{max-width:1920px!important}.container{max-width:1920px}}@media (min-width:2560px){.\!container{max-width:2560px!important}.container{max-width:2560px}}.form-input,.form-multiselect,.form-select,.form-textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}.form-input:focus,.form-multiselect:focus,.form-select:focus,.form-textarea:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}.form-input::-moz-placeholder,.form-textarea::-moz-placeholder{color:#6b7280;opacity:1}.form-input::placeholder,.form-textarea::placeholder{color:#6b7280;opacity:1}.form-input::-webkit-datetime-edit-fields-wrapper{padding:0}.form-input::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}.form-input::-webkit-datetime-edit{display:inline-flex}.form-input::-webkit-datetime-edit,.form-input::-webkit-datetime-edit-day-field,.form-input::-webkit-datetime-edit-hour-field,.form-input::-webkit-datetime-edit-meridiem-field,.form-input::-webkit-datetime-edit-millisecond-field,.form-input::-webkit-datetime-edit-minute-field,.form-input::-webkit-datetime-edit-month-field,.form-input::-webkit-datetime-edit-second-field,.form-input::-webkit-datetime-edit-year-field{padding-top:0;padding-bottom:0}.form-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}.form-select:where([size]:not([size="1"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}.btn-mercedes{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;transition:all .3s cubic-bezier(.4,0,.2,1);background:linear-gradient(135deg,#0073ce,#005ba3);color:#fff;border:none;cursor:pointer}.btn-mercedes:hover{background:linear-gradient(135deg,#005ba3,#003d82);transform:translateY(-2px);box-shadow:0 12px 20px -5px rgba(0,115,206,.4)}.btn-mercedes:focus{outline:none;box-shadow:0 0 0 3px rgba(0,115,206,.3)}.btn-mercedes:active{transform:translateY(0);box-shadow:inset 0 2px 4px rgba(0,0,0,.2)}.mercedes-form-input{padding:.75rem 1rem;border-radius:8px;border:2px solid #e5e7eb;background:hsla(0,0%,100%,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s cubic-bezier(.4,0,.2,1);font-weight:500}.mercedes-form-input:focus{border-color:#0073ce;box-shadow:0 0 0 4px rgba(0,115,206,.1),0 10px 15px -3px rgba(0,0,0,.1);transform:translateY(-2px);background:#fff}.dashboard-card{background:linear-gradient(135deg,#fff,#f8fafc);border:2px solid #f1f5f9;border-radius:16px;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dashboard-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 25px 50px -12px rgba(0,0,0,.15);border-color:#0073ce}.dark .bg-dark-card{background-color:#1e293b;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.admin-stats{margin-bottom:2rem;display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media (min-width:640px){.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.admin-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.stat-card{position:relative;overflow:hidden;border-radius:12px;border-width:1px;border-color:rgba(229,231,235,.6);background-color:hsla(0,0%,100%,.6);padding:1.25rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.stat-card,.stat-card:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.stat-card:hover{--tw-translate-y:-0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.stat-card:is(.dark *){border-color:rgba(51,65,85,.3);background-color:rgba(0,0,0,.7)}.stat-card{backdrop-filter:blur(20px) saturate(180%) brightness(110%);-webkit-backdrop-filter:blur(20px) saturate(180%) brightness(110%);box-shadow:0 25px 50px rgba(0,0,0,.15),0 0 0 1px hsla(0,0%,100%,.1)}.stat-icon{position:absolute;top:1rem;right:1rem;font-size:2.25rem;line-height:2.5rem;opacity:.15}.stat-title{margin-bottom:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:500;text-transform:uppercase;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.stat-title:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.stat-value{margin-bottom:.25rem;font-size:1.5rem;line-height:2rem;font-weight:700;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.stat-value:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.stat-desc{font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.stat-desc:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.nav-tab{cursor:pointer;white-space:nowrap;border-bottom-width:2px;border-color:transparent;padding:1rem 1.5rem;--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.nav-tab:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.nav-tab:is(.dark *){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.nav-tab:hover:is(.dark *){background-color:rgba(30,41,59,.5);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.nav-tab.active{border-bottom-width:2px;--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1));font-weight:500;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.nav-tab.active:is(.dark *){--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.tab-content{margin-top:2rem}.tab-pane{display:none}.dark-mode-toggle-new .moon-icon:not(.tab-pane),.dark-mode-toggle-new .sun-icon:not(.tab-pane){animation:spin-in .5s cubic-bezier(.25,1,.5,1) forwards}.tab-pane.active{display:block}.form-input,.form-select,.form-textarea{width:100%;border-radius:.5rem;border-width:1px;border-color:rgba(209,213,219,.6);background-color:hsla(0,0%,100%,.6);padding:.5rem .75rem;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.form-input::-moz-placeholder,.form-select::-moz-placeholder,.form-textarea::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.form-input::placeholder,.form-select::placeholder,.form-textarea::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.form-input,.form-select,.form-textarea{--tw-backdrop-blur:blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:transparent;outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(100 116 139/var(--tw-ring-opacity,1))}.form-input:is(.dark *),.form-select:is(.dark *),.form-textarea:is(.dark *){border-color:rgba(71,85,105,.6);background-color:rgba(30,41,59,.6);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.form-input,.form-select,.form-textarea{backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);box-shadow:0 10px 20px rgba(0,0,0,.1),0 0 0 1px hsla(0,0%,100%,.05)}.admin-table{min-width:100%}.admin-table>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse));--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.admin-table:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(51 65 85/var(--tw-divide-opacity,1))}.admin-table thead{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.admin-table thead:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.admin-table th{padding:.75rem 1.5rem;text-align:left;font-size:.75rem;line-height:1rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.admin-table th:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.admin-table tbody>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse));--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.admin-table tbody{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.admin-table tbody:is(.dark *){background-color:#1e293b}.admin-table tbody:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(51 65 85/var(--tw-divide-opacity,1))}.admin-table tr{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.admin-table tr:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.admin-table tr:hover:is(.dark *){background-color:rgba(51,65,85,.5)}.admin-table td{white-space:nowrap;padding:1rem 1.5rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.admin-table td:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.badge{display:inline-flex;border-radius:9999px;padding-left:.5rem;padding-right:.5rem;font-size:.75rem;font-weight:600;line-height:1.25rem}.printer-card{border-radius:12px;border-width:1px;border-color:rgba(229,231,235,.6);background-color:hsla(0,0%,100%,.6);padding:1.5rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.printer-card,.printer-card:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.printer-card:hover{--tw-translate-y:-0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.printer-card:is(.dark *){border-color:rgba(51,65,85,.3);background-color:rgba(0,0,0,.7)}.printer-card{backdrop-filter:blur(20px) saturate(180%) brightness(110%);-webkit-backdrop-filter:blur(20px) saturate(180%) brightness(110%);box-shadow:0 25px 50px rgba(0,0,0,.15),0 0 0 1px hsla(0,0%,100%,.1)}.printer-name{font-size:1.25rem;line-height:1.75rem;font-weight:700;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.printer-name:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.printer-status{margin-top:1rem;display:flex;align-items:center}.status-indicator{margin-right:.5rem;height:.75rem;width:.75rem;border-radius:9999px}.status-running{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1));animation:pulse 2s infinite}.log-entry{margin-bottom:.5rem;border-top-right-radius:.5rem;border-bottom-right-radius:.5rem;border-left-width:4px;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.75rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.log-entry:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.log-entry:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.log-entry:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.scheduler-status{display:flex;align-items:center;border-radius:.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:1rem;--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.scheduler-status:is(.dark *){--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.progress-bar{height:.5rem;width:100%;overflow:hidden;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.progress-bar:is(.dark *){--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.progress-bar-fill{height:100%;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.\!notification,.notification{position:fixed;top:1rem;right:1rem;z-index:50;max-width:28rem;--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:16px;padding:1rem;opacity:0;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s}.\!notification{background:hsla(0,0%,100%,.08)!important;backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%)!important;-webkit-backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%)!important;border:1px solid hsla(0,0%,100%,.25)!important;box-shadow:0 32px 64px rgba(0,0,0,.25),0 12px 24px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px hsla(0,0%,100%,.1)!important;animation:notification-slide-in .6s cubic-bezier(.4,0,.2,1)!important}.notification{background:hsla(0,0%,100%,.08);backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%);-webkit-backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%);border:1px solid hsla(0,0%,100%,.25);box-shadow:0 32px 64px rgba(0,0,0,.25),0 12px 24px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px hsla(0,0%,100%,.1);animation:notification-slide-in .6s cubic-bezier(.4,0,.2,1)}.dark .notification{background:rgba(0,0,0,.2);backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 32px 64px rgba(0,0,0,.6),0 12px 24px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)}.dark .\!notification{background:rgba(0,0,0,.2)!important;backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%)!important;-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%)!important;border:1px solid hsla(0,0%,100%,.15)!important;box-shadow:0 32px 64px rgba(0,0,0,.6),0 12px 24px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)!important}.\!notification.show,.notification.\!show,.notification.show{--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));opacity:1}.\!notification:hover{transform:translateY(-2px) scale(1.02)!important;box-shadow:0 40px 80px rgba(0,0,0,.3),0 16px 32px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.5),0 0 0 1px hsla(0,0%,100%,.15)!important}.notification:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 40px 80px rgba(0,0,0,.3),0 16px 32px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.5),0 0 0 1px hsla(0,0%,100%,.15)}.dark .notification:hover{box-shadow:0 40px 80px rgba(0,0,0,.7),0 16px 32px rgba(0,0,0,.5),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.1)}.dark .\!notification:hover{box-shadow:0 40px 80px rgba(0,0,0,.7),0 16px 32px rgba(0,0,0,.5),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.1)!important}.notification-success{--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(34,197,94,.25),rgba(134,239,172,.18) 50%,rgba(34,197,94,.12));border:1px solid rgba(34,197,94,.4);box-shadow:0 32px 64px rgba(34,197,94,.2),0 12px 24px rgba(34,197,94,.1),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px rgba(34,197,94,.3)}.notification-error{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(239,68,68,.25),hsla(0,94%,82%,.18) 50%,rgba(239,68,68,.12));border:1px solid rgba(239,68,68,.4);box-shadow:0 32px 64px rgba(239,68,68,.2),0 12px 24px rgba(239,68,68,.1),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px rgba(239,68,68,.3)}.notification-warning{--tw-text-opacity:1;color:rgb(254 249 195/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(245,158,11,.25),rgba(252,211,77,.18) 50%,rgba(245,158,11,.12));border:1px solid rgba(245,158,11,.4);box-shadow:0 32px 64px rgba(245,158,11,.2),0 12px 24px rgba(245,158,11,.1),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px rgba(245,158,11,.3)}.notification-info{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(59,130,246,.25),rgba(147,197,253,.18) 50%,rgba(59,130,246,.12));border:1px solid rgba(59,130,246,.4);box-shadow:0 32px 64px rgba(59,130,246,.2),0 12px 24px rgba(59,130,246,.1),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px rgba(59,130,246,.3)}.dark .toast-notification{background:rgba(0,0,0,.2);backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 32px 64px rgba(0,0,0,.6),0 12px 24px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)}.alert{margin-bottom:1.5rem;border-radius:16px;border-width:1px;padding:1.5rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);background:hsla(0,0%,100%,.12);backdrop-filter:blur(30px) saturate(200%) brightness(120%) contrast(110%);-webkit-backdrop-filter:blur(30px) saturate(200%) brightness(120%) contrast(110%);border:1px solid hsla(0,0%,100%,.25);box-shadow:0 25px 50px rgba(0,0,0,.15),0 8px 16px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.1);animation:alert-fade-in .5s ease-out}.dark .alert{background:rgba(0,0,0,.3);backdrop-filter:blur(30px) saturate(180%) brightness(110%) contrast(120%);-webkit-backdrop-filter:blur(30px) saturate(180%) brightness(110%) contrast(120%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 25px 50px rgba(0,0,0,.4),0 8px 16px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.15),0 0 0 1px hsla(0,0%,100%,.05)}.dark .browser-notification{background:rgba(0,0,0,.2);backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 32px 64px rgba(0,0,0,.6),0 12px 24px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)}@keyframes notification-slide-in{0%{opacity:0;transform:translateX(100%) translateY(-20px) scale(.9);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}50%{opacity:.8;transform:translateX(20px) translateY(-10px) scale(1.05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}to{opacity:1;transform:translateX(0) translateY(0) scale(1);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px)}}@keyframes notification-slide-out{0%{opacity:1;transform:translateX(0) translateY(0) scale(1)}to{opacity:0;transform:translateX(100%) translateY(-20px) scale(.9)}}@keyframes notification-slide-left{0%{opacity:0;transform:translateX(-100%) translateY(-20px) scale(.9);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}50%{opacity:.8;transform:translateX(-20px) translateY(-10px) scale(1.05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}to{opacity:1;transform:translateX(0) translateY(0) scale(1);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px)}}@keyframes alert-fade-in{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.\!notification.hiding{animation:notification-slide-out .4s cubic-bezier(.4,0,.2,1) forwards!important}.notification.hiding{animation:notification-slide-out .4s cubic-bezier(.4,0,.2,1) forwards}.notification-icon{margin-right:.75rem;display:flex;height:2rem;width:2rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;background:hsla(0,0%,100%,.2);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 8px 16px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.4)}.notification-content{flex:1 1 0%}.notification-title{margin-bottom:.25rem;font-size:.875rem;line-height:1.25rem;font-weight:600}.notification-message{font-size:.875rem;line-height:1.25rem;opacity:.9}.notification-close{margin-left:.75rem;border-radius:.5rem;padding:.25rem;opacity:.7;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.notification-close:hover{opacity:1}.notification-close{background:hsla(0,0%,100%,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.2)}.notification-close:hover{background:hsla(0,0%,100%,.2);transform:scale(1.1)}.notifications-container{position:fixed;top:1rem;right:1rem;z-index:50;max-width:28rem}.notifications-container>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.flash-message-light.success{border-left:4px solid #10b981;background:linear-gradient(135deg,rgba(236,253,245,.95),rgba(209,250,229,.9))}.flash-message-light.error{border-left:4px solid #ef4444;background:linear-gradient(135deg,hsla(0,86%,97%,.95),hsla(0,94%,82%,.9))}.flash-message-light.\!warning{border-left:4px solid #fbbf24!important;background:linear-gradient(135deg,rgba(255,251,235,.95),hsla(48,96%,89%,.9))!important}.flash-message-light.warning{border-left:4px solid #fbbf24;background:linear-gradient(135deg,rgba(255,251,235,.95),hsla(48,96%,89%,.9))}.flash-message-light.info{border-left:4px solid #3b82f6;background:linear-gradient(135deg,rgba(239,246,255,.95),rgba(219,234,254,.9))}.dark .table-enhanced{background:hsla(0,0%,4%,.8);border-color:var(--color-border-primary)}.dark .table-enhanced th{background:rgba(26,26,26,.8);color:var(--color-text-primary)}.dark .table-enhanced tbody tr:hover{background:rgba(26,26,26,.6)}.dark .modal-enhanced{background:rgba(0,0,0,.95);border-color:rgba(42,42,42,.7);box-shadow:0 50px 100px rgba(0,0,0,.5),inset 0 2px 0 hsla(0,0%,100%,.05)}.dark-mode-toggle-new{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:9999px;padding:.625rem;transition:all .3s cubic-bezier(.4,0,.2,1);background:linear-gradient(135deg,rgba(248,250,252,.9),rgba(241,245,249,.8));border:1px solid rgba(226,232,240,.7);box-shadow:0 4px 12px rgba(0,0,0,.06),0 2px 4px rgba(0,115,206,.04),inset 0 1px 0 hsla(0,0%,100%,.8);color:var(--color-text-secondary)}.dark-mode-toggle-new:hover{transform:translateY(-2px) scale(1.05);background:linear-gradient(135deg,rgba(248,250,252,.95),rgba(241,245,249,.85));box-shadow:0 8px 20px rgba(0,0,0,.1),0 4px 8px rgba(0,115,206,.08),inset 0 1px 0 hsla(0,0%,100%,.9)}.dark-mode-toggle-new:active{transform:translateY(-1px) scale(.98)}.dark .dark-mode-toggle-new{background:hsla(0,0%,4%,.8);border:1px solid rgba(42,42,42,.6);box-shadow:0 4px 12px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.05);color:var(--color-text-secondary)}.dark .dark-mode-toggle-new:hover{background:hsla(0,0%,4%,.9);box-shadow:0 8px 20px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.08)}.dark-mode-toggle-new .moon-icon,.dark-mode-toggle-new .sun-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transition:all .3s cubic-bezier(.4,0,.2,1)}.dark-mode-toggle-new .moon-icon:not(.hidden),.dark-mode-toggle-new .sun-icon:not(.hidden){animation:icon-appear .5s cubic-bezier(.25,1,.5,1) forwards}@keyframes icon-appear{0%{opacity:0;transform:translate(-50%,-50%) scale(.5) rotate(-20deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}.dark .user-menu-button-new{background:hsla(0,0%,4%,.7);border-color:rgba(42,42,42,.6);box-shadow:0 2px 8px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.03)}.dark .user-menu-button-new:hover{background:hsla(0,0%,4%,.8);box-shadow:0 4px 12px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.05)}.dark .hover-lift-enhanced:hover{box-shadow:0 12px 30px var(--color-shadow)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary);border-radius:4px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--color-border-secondary) 0,var(--color-border-primary) 100%);border-radius:4px;-webkit-transition:background .2s ease;transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--color-accent) 0,var(--color-accent-hover) 100%)}.dark ::-webkit-scrollbar-track{background:var(--color-bg-secondary)}.dark ::-webkit-scrollbar-thumb{background:var(--color-border-primary)}.dark ::-webkit-scrollbar-thumb:hover{background:#60a5fa}@keyframes loading-shimmer{0%{left:-100%}to{left:100%}}.dark .focus-enhanced:focus{outline-color:#60a5fa;box-shadow:0 0 0 4px rgba(96,165,250,.15),0 4px 12px rgba(96,165,250,.2)}@media (max-width:768px){.card-enhanced{padding:1rem;border-radius:.75rem}.btn-enhanced{padding:.75rem 1.5rem;font-size:.8rem}.modal-enhanced{border-radius:1rem;margin:1rem}.dark-mode-toggle-new{padding:.5rem}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (prefers-contrast:high){:root{--color-shadow:rgba(0,0,0,.2);--color-shadow-strong:rgba(0,0,0,.3);--color-border-primary:#000}.dark{--color-border-primary:#fff}}.btn-primary{border-radius:.5rem;padding:.5rem 1rem;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.btn-primary:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-primary:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px}.btn-primary:is(.dark *){--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.btn-primary{background:rgba(0,0,0,.7);backdrop-filter:blur(20px) saturate(150%) brightness(110%);-webkit-backdrop-filter:blur(20px) saturate(150%) brightness(110%);border:1px solid hsla(0,0%,100%,.2);box-shadow:0 20px 40px rgba(0,0,0,.3),0 8px 16px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.1)}.btn-primary:hover{background:rgba(0,0,0,.9);backdrop-filter:blur(25px) saturate(180%) brightness(120%);-webkit-backdrop-filter:blur(25px) saturate(180%) brightness(120%);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 25px 50px rgba(0,0,0,.4),0 10px 20px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.3)}.dark .btn-primary{background:hsla(0,0%,100%,.7);border:1px solid rgba(0,0,0,.1);box-shadow:0 20px 40px rgba(0,0,0,.2),0 8px 16px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.8),0 0 0 1px rgba(0,0,0,.05)}.dark .btn-primary:hover{background:hsla(0,0%,100%,.9);border:1px solid rgba(0,0,0,.15);box-shadow:0 25px 50px rgba(0,0,0,.3),0 10px 20px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.9)}.btn-secondary{border-radius:.5rem;padding:.5rem 1rem;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1));--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.btn-secondary:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-secondary:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(100 116 139/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px}.btn-secondary:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.btn-secondary{background:hsla(0,0%,100%,.3);backdrop-filter:blur(20px) saturate(150%) brightness(110%);-webkit-backdrop-filter:blur(20px) saturate(150%) brightness(110%);border:1px solid hsla(0,0%,100%,.4);box-shadow:0 20px 40px rgba(0,0,0,.15),0 8px 16px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.5),0 0 0 1px hsla(0,0%,100%,.2)}.btn-secondary:hover{background:hsla(0,0%,100%,.5);backdrop-filter:blur(25px) saturate(180%) brightness(120%);-webkit-backdrop-filter:blur(25px) saturate(180%) brightness(120%);border:1px solid hsla(0,0%,100%,.6);box-shadow:0 25px 50px rgba(0,0,0,.2),0 10px 20px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.7)}.dark .btn-secondary{background:rgba(0,0,0,.4);border:1px solid hsla(0,0%,100%,.2);box-shadow:0 20px 40px rgba(0,0,0,.3),0 8px 16px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.1)}.dark .btn-secondary:hover{background:rgba(0,0,0,.6);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 25px 50px rgba(0,0,0,.4),0 10px 20px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.3)}.btn-outline{border-radius:.5rem;border-width:2px;border-color:rgba(0,0,0,.7);padding:.5rem 1rem;--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1));--tw-backdrop-blur:blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.btn-outline:hover{background-color:rgba(0,0,0,.7);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.btn-outline:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px}.btn-outline:is(.dark *){border-color:hsla(0,0%,100%,.7);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.btn-outline:hover:is(.dark *){background-color:hsla(0,0%,100%,.7);--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.btn-outline{backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);box-shadow:0 15px 30px rgba(0,0,0,.1),0 0 0 1px hsla(0,0%,100%,.05)}.glass-card{border-radius:12px;padding:1.5rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:hsla(0,0%,100%,.15);backdrop-filter:blur(30px) saturate(200%) brightness(120%) contrast(110%);-webkit-backdrop-filter:blur(30px) saturate(200%) brightness(120%) contrast(110%);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 25px 50px rgba(0,0,0,.15),0 8px 16px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.1);border-radius:var(--card-radius)}.dark .glass-card{background:rgba(0,0,0,.3);backdrop-filter:blur(30px) saturate(180%) brightness(110%) contrast(120%);-webkit-backdrop-filter:blur(30px) saturate(180%) brightness(110%) contrast(120%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 25px 50px rgba(0,0,0,.4),0 8px 16px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.15),0 0 0 1px hsla(0,0%,100%,.05)}.dashboard-card{border-radius:12px;padding:1.5rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.dashboard-card:hover{--tw-translate-y:-0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dashboard-card{background:hsla(0,0%,100%,.12);backdrop-filter:blur(35px) saturate(200%) brightness(125%) contrast(115%);-webkit-backdrop-filter:blur(35px) saturate(200%) brightness(125%) contrast(115%);border:1px solid hsla(0,0%,100%,.25);box-shadow:0 25px 50px rgba(0,0,0,.15),0 8px 16px rgba(0,0,0,.08),inset 0 1px 0 hsla(0,0%,100%,.25),0 0 0 1px hsla(0,0%,100%,.1);border-radius:var(--card-radius)}.dark .dashboard-card{background:rgba(0,0,0,.35);backdrop-filter:blur(35px) saturate(180%) brightness(115%) contrast(125%);-webkit-backdrop-filter:blur(35px) saturate(180%) brightness(115%) contrast(125%);border:1px solid hsla(0,0%,100%,.12);box-shadow:0 25px 50px rgba(0,0,0,.5),0 8px 16px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.12),0 0 0 1px hsla(0,0%,100%,.05)}.nav-link.active{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1));--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.nav-link.active:is(.dark *){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.navbar{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background:hsla(0,0%,100%,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;box-shadow:0 4px 6px rgba(0,0,0,.1);transition:all .3s ease}@media (max-width:768px){.navbar{flex-direction:column;padding:.25rem}.navbar-button{margin:.25rem 0}}.dark .navbar{background:rgba(0,0,0,.25);backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(120%);-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(120%);box-shadow:0 8px 32px rgba(0,0,0,.6),0 2px 8px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.1),0 0 0 1px hsla(0,0%,100%,.05);border-bottom:1px solid hsla(0,0%,100%,.1)}.navbar-brand{display:flex;align-items:center}.navbar-brand>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.navbar-brand{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.navbar-brand:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark .navbar-menu{background:rgba(0,0,0,.4);backdrop-filter:blur(20px) saturate(150%) brightness(110%);-webkit-backdrop-filter:blur(20px) saturate(150%) brightness(110%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 4px 16px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)}.user-avatar{display:flex;height:2.5rem;width:2.5rem;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1));font-size:.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.user-avatar,.user-avatar:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.user-avatar:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.user-avatar:is(.dark *){--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.dark .menu-item{background:rgba(0,0,0,.2);border:1px solid hsla(0,0%,100%,.1);box-shadow:0 2px 8px rgba(0,0,0,.2)}.dark .menu-item:hover{background:rgba(0,0,0,.4);border:1px solid hsla(0,0%,100%,.2);box-shadow:0 4px 16px rgba(0,0,0,.3)}.menu-item.active{font-weight:500;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.menu-item.active:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.menu-item.active{background:hsla(0,0%,100%,.5);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid hsla(0,0%,100%,.6);box-shadow:0 4px 16px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.5)}.dark .menu-item.active{background:rgba(0,0,0,.6);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 4px 16px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2)}.user-dropdown{position:absolute;right:0;z-index:50;margin-top:.5rem;width:16rem;overflow:hidden;border-radius:12px;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);background:hsla(0,0%,100%,.1);backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%);-webkit-backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 25px 50px rgba(0,0,0,.25),0 8px 16px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px hsla(0,0%,100%,.1);animation:fadeIn .2s ease-out forwards}.dark .user-dropdown{background:rgba(0,0,0,.4);backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(120%);-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(120%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 25px 50px rgba(0,0,0,.6),0 8px 16px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)}.dropdown-header{display:flex;align-items:center;border-bottom-width:1px;border-color:rgba(229,231,235,.8);padding:1rem}.dropdown-header:is(.dark *){border-color:rgba(51,65,85,.3)}.dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.dropdown-item:hover{background-color:rgba(243,244,246,.8);--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.dropdown-item:is(.dark *){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.dropdown-item:hover:is(.dark *){background-color:rgba(51,65,85,.6);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dropdown-divider{border-top-width:1px;border-color:rgba(229,231,235,.8)}.dropdown-divider:is(.dark *){border-color:rgba(51,65,85,.3)}@keyframes mercedes-rotate{0%{transform:rotate(0deg)}25%{transform:rotate(90deg)}50%{transform:rotate(180deg)}75%{transform:rotate(270deg)}to{transform:rotate(1turn)}}.navbar-brand:hover svg{animation:mercedes-rotate 5s linear infinite;transform-origin:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-bottom-2{bottom:-.5rem}.-bottom-40{bottom:-10rem}.-bottom-8{bottom:-2rem}.-left-2{left:-.5rem}.-left-32{left:-8rem}.-right-1{right:-.25rem}.-right-2{right:-.5rem}.-right-32{right:-8rem}.-top-1{top:-.25rem}.-top-2{top:-.5rem}.-top-40{top:-10rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.bottom-8{bottom:2rem}.bottom-full{bottom:100%}.end-1{inset-inline-end:.25rem}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-3{left:.75rem}.left-4{left:1rem}.right-0{right:0}.right-1{right:.25rem}.right-3{right:.75rem}.right-4{right:1rem}.right-5{right:1.25rem}.right-6{right:1.5rem}.right-8{right:2rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-20{top:5rem}.top-3{top:.75rem}.top-4{top:1rem}.top-5{top:1.25rem}.top-6{top:1.5rem}.top-8{top:2rem}.top-full{top:100%}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.col-span-1{grid-column:span 1/span 1}.col-span-full{grid-column:1/-1}.m-1{margin:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-8{margin-left:2rem;margin-right:2rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.-mb-px{margin-bottom:-1px}.-ml-1{margin-left:-.25rem}.-mt-8{margin-top:-2rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-6{margin-left:1.5rem}.ml-8{margin-left:2rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mr-6{margin-right:1.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.list-item{display:list-item}.hidden{display:none}.h-0{height:0}.h-1{height:.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-24{height:6rem}.h-28{height:7rem}.h-3{height:.75rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-80{height:20rem}.h-96{height:24rem}.h-full{height:100%}.max-h-64{max-height:16rem}.max-h-96{max-height:24rem}.max-h-\[90vh\]{max-height:90vh}.min-h-\[80vh\]{min-height:80vh}.min-h-screen{min-height:100vh}.w-0{width:0}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-96{width:24rem}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-40{min-width:10rem}.min-w-\[150px\]{min-width:150px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.translate-x-6{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-6{--tw-translate-x:1.5rem}.translate-x-full{--tw-translate-x:100%}.rotate-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-0{--tw-rotate:0deg}.rotate-90{--tw-rotate:90deg}.rotate-90,.skew-x-12{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.skew-x-12{--tw-skew-x:12deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.scale-75{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-75{--tw-scale-x:.75;--tw-scale-y:.75}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn .5s ease-in-out}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.animate-slide-up{animation:slideUp .3s ease-out}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize-none{resize:none}.resize{resize:both}.scroll-mt-8{scroll-margin-top:2rem}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem*var(--tw-space-x-reverse));margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem*var(--tw-space-x-reverse));margin-left:calc(2rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.divide-slate-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(226 232 240/var(--tw-divide-opacity,1))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:16px}.rounded-3xl{border-radius:24px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:12px}.rounded-b-3xl{border-bottom-right-radius:24px;border-bottom-left-radius:24px}.rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.rounded-t-3xl{border-top-left-radius:24px;border-top-right-radius:24px}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-r-4{border-right-width:4px}.border-t{border-top-width:1px}.border-t-4{border-top-width:4px}.border-dashed{border-style:dashed}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-200\/50{border-color:rgba(191,219,254,.5)}.border-blue-300{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.border-emerald-200\/50{border-color:rgba(167,243,208,.5)}.border-emerald-500{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-200\/50{border-color:rgba(229,231,235,.5)}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-green-200\/50{border-color:rgba(187,247,208,.5)}.border-green-300{--tw-border-opacity:1;border-color:rgb(134 239 172/var(--tw-border-opacity,1))}.border-green-400{--tw-border-opacity:1;border-color:rgb(74 222 128/var(--tw-border-opacity,1))}.border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.border-green-600{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity,1))}.border-indigo-200{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.border-indigo-200\/50{border-color:rgba(199,210,254,.5)}.border-mercedes-blue{--tw-border-opacity:1;border-color:rgb(0 115 206/var(--tw-border-opacity,1))}.border-mercedes-silver{--tw-border-opacity:1;border-color:rgb(170 169 173/var(--tw-border-opacity,1))}.border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.border-orange-200\/50{border-color:hsla(32,98%,83%,.5)}.border-orange-300{--tw-border-opacity:1;border-color:rgb(253 186 116/var(--tw-border-opacity,1))}.border-orange-400{--tw-border-opacity:1;border-color:rgb(251 146 60/var(--tw-border-opacity,1))}.border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.border-purple-200\/50{border-color:rgba(233,213,255,.5)}.border-purple-600{--tw-border-opacity:1;border-color:rgb(147 51 234/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-200\/50{border-color:hsla(0,96%,89%,.5)}.border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-slate-200\/30{border-color:rgba(226,232,240,.3)}.border-slate-200\/50{border-color:rgba(226,232,240,.5)}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-white\/10{border-color:hsla(0,0%,100%,.1)}.border-white\/20{border-color:hsla(0,0%,100%,.2)}.border-white\/30{border-color:hsla(0,0%,100%,.3)}.border-white\/50{border-color:hsla(0,0%,100%,.5)}.border-yellow-200{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.border-yellow-300{--tw-border-opacity:1;border-color:rgb(253 224 71/var(--tw-border-opacity,1))}.border-yellow-400{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity,1))}.border-yellow-500{--tw-border-opacity:1;border-color:rgb(234 179 8/var(--tw-border-opacity,1))}.border-t-slate-800{--tw-border-opacity:1;border-top-color:rgb(30 41 59/var(--tw-border-opacity,1))}.border-t-slate-900{--tw-border-opacity:1;border-top-color:rgb(15 23 42/var(--tw-border-opacity,1))}.border-t-transparent{border-top-color:transparent}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/20{background-color:rgba(0,0,0,.2)}.bg-black\/30{background-color:rgba(0,0,0,.3)}.bg-black\/50{background-color:rgba(0,0,0,.5)}.bg-black\/60{background-color:rgba(0,0,0,.6)}.bg-black\/70{background-color:rgba(0,0,0,.7)}.bg-black\/75{background-color:rgba(0,0,0,.75)}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-50\/50{background-color:rgba(239,246,255,.5)}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-cyan-100{--tw-bg-opacity:1;background-color:rgb(207 250 254/var(--tw-bg-opacity,1))}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.bg-error{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-50\/50{background-color:rgba(240,253,244,.5)}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.bg-indigo-50\/50{background-color:rgba(238,242,255,.5)}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.bg-info{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-mercedes-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-mercedes-blue{--tw-bg-opacity:1;background-color:rgb(0 115 206/var(--tw-bg-opacity,1))}.bg-mercedes-silver{--tw-bg-opacity:1;background-color:rgb(170 169 173/var(--tw-bg-opacity,1))}.bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.bg-orange-400{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-orange-50\/50{background-color:rgba(255,247,237,.5)}.bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.bg-orange-600{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.bg-purple-400{--tw-bg-opacity:1;background-color:rgb(192 132 252/var(--tw-bg-opacity,1))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.bg-purple-50\/50{background-color:rgba(250,245,255,.5)}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-50\/50{background-color:hsla(0,86%,97%,.5)}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-50\/50{background-color:rgba(248,250,252,.5)}.bg-slate-500{--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity,1))}.bg-slate-600{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.bg-slate-700{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-success{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-teal-100{--tw-bg-opacity:1;background-color:rgb(204 251 241/var(--tw-bg-opacity,1))}.bg-teal-500{--tw-bg-opacity:1;background-color:rgb(20 184 166/var(--tw-bg-opacity,1))}.bg-warning{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.bg-white\/15{background-color:hsla(0,0%,100%,.15)}.bg-white\/20{background-color:hsla(0,0%,100%,.2)}.bg-white\/30{background-color:hsla(0,0%,100%,.3)}.bg-white\/40{background-color:hsla(0,0%,100%,.4)}.bg-white\/50{background-color:hsla(0,0%,100%,.5)}.bg-white\/60{background-color:hsla(0,0%,100%,.6)}.bg-white\/80{background-color:hsla(0,0%,100%,.8)}.bg-white\/90{background-color:hsla(0,0%,100%,.9)}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-yellow-400{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity,1))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-opacity-75{--tw-bg-opacity:0.75}.bg-opacity-95{--tw-bg-opacity:0.95}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--tw-gradient-stops))}.from-amber-500{--tw-gradient-from:#f59e0b var(--tw-gradient-from-position);--tw-gradient-to:rgba(245,158,11,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-100{--tw-gradient-from:#dbeafe var(--tw-gradient-from-position);--tw-gradient-to:rgba(219,234,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-300\/10{--tw-gradient-from:rgba(147,197,253,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,197,253,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-400{--tw-gradient-from:#60a5fa var(--tw-gradient-from-position);--tw-gradient-to:rgba(96,165,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-400\/20{--tw-gradient-from:rgba(96,165,250,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(96,165,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-50{--tw-gradient-from:#eff6ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,246,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-500\/10{--tw-gradient-from:rgba(59,130,246,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-600{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:rgba(37,99,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-600\/10{--tw-gradient-from:rgba(37,99,235,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(37,99,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-400{--tw-gradient-from:#34d399 var(--tw-gradient-from-position);--tw-gradient-to:rgba(52,211,153,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-50{--tw-gradient-from:#ecfdf5 var(--tw-gradient-from-position);--tw-gradient-to:rgba(236,253,245,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-500{--tw-gradient-from:#10b981 var(--tw-gradient-from-position);--tw-gradient-to:rgba(16,185,129,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-100{--tw-gradient-from:#dcfce7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(220,252,231,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-50{--tw-gradient-from:#f0fdf4 var(--tw-gradient-from-position);--tw-gradient-to:rgba(240,253,244,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-500{--tw-gradient-from:#22c55e var(--tw-gradient-from-position);--tw-gradient-to:rgba(34,197,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-500\/10{--tw-gradient-from:rgba(34,197,94,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(34,197,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-indigo-500{--tw-gradient-from:#6366f1 var(--tw-gradient-from-position);--tw-gradient-to:rgba(99,102,241,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-50{--tw-gradient-from:#fff7ed var(--tw-gradient-from-position);--tw-gradient-to:rgba(255,247,237,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-500{--tw-gradient-from:#f97316 var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,115,22,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-500\/10{--tw-gradient-from:rgba(249,115,22,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,115,22,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-400\/20{--tw-gradient-from:rgba(192,132,252,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(192,132,252,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-50{--tw-gradient-from:#faf5ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(250,245,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-500\/10{--tw-gradient-from:rgba(168,85,247,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-500{--tw-gradient-from:#ef4444 var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-500\/10{--tw-gradient-from:rgba(239,68,68,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-100{--tw-gradient-from:#f1f5f9 var(--tw-gradient-from-position);--tw-gradient-to:rgba(241,245,249,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-50{--tw-gradient-from:#f8fafc var(--tw-gradient-from-position);--tw-gradient-to:rgba(248,250,252,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-500{--tw-gradient-from:#64748b var(--tw-gradient-from-position);--tw-gradient-to:rgba(100,116,139,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-900{--tw-gradient-from:#0f172a var(--tw-gradient-from-position);--tw-gradient-to:rgba(15,23,42,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-violet-500{--tw-gradient-from:#8b5cf6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(139,92,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-white{--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-500{--tw-gradient-from:#eab308 var(--tw-gradient-from-position);--tw-gradient-to:rgba(234,179,8,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-blue-100{--tw-gradient-to:rgba(219,234,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#dbeafe var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-blue-200{--tw-gradient-to:rgba(191,219,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#bfdbfe var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-blue-50{--tw-gradient-to:rgba(239,246,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#eff6ff var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-blue-900{--tw-gradient-to:rgba(30,58,138,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#1e3a8a var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-green-50{--tw-gradient-to:rgba(240,253,244,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#f0fdf4 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-green-500{--tw-gradient-to:rgba(34,197,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#22c55e var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-indigo-50{--tw-gradient-to:rgba(238,242,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#eef2ff var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-purple-500{--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#a855f7 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-red-50{--tw-gradient-to:hsla(0,86%,97%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#fef2f2 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-white\/20{--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),hsla(0,0%,100%,.2) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-white\/5{--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),hsla(0,0%,100%,.05) var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-amber-600{--tw-gradient-to:#d97706 var(--tw-gradient-to-position)}.to-blue-200{--tw-gradient-to:#bfdbfe var(--tw-gradient-to-position)}.to-blue-50{--tw-gradient-to:#eff6ff var(--tw-gradient-to-position)}.to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.to-emerald-50{--tw-gradient-to:#ecfdf5 var(--tw-gradient-to-position)}.to-emerald-500{--tw-gradient-to:#10b981 var(--tw-gradient-to-position)}.to-emerald-500\/10{--tw-gradient-to:rgba(16,185,129,.1) var(--tw-gradient-to-position)}.to-emerald-600{--tw-gradient-to:#059669 var(--tw-gradient-to-position)}.to-green-200{--tw-gradient-to:#bbf7d0 var(--tw-gradient-to-position)}.to-green-50{--tw-gradient-to:#f0fdf4 var(--tw-gradient-to-position)}.to-green-600{--tw-gradient-to:#16a34a var(--tw-gradient-to-position)}.to-indigo-100{--tw-gradient-to:#e0e7ff var(--tw-gradient-to-position)}.to-indigo-300\/10{--tw-gradient-to:rgba(165,180,252,.1) var(--tw-gradient-to-position)}.to-indigo-50{--tw-gradient-to:#eef2ff var(--tw-gradient-to-position)}.to-indigo-500{--tw-gradient-to:#6366f1 var(--tw-gradient-to-position)}.to-indigo-500\/10{--tw-gradient-to:rgba(99,102,241,.1) var(--tw-gradient-to-position)}.to-indigo-600{--tw-gradient-to:#4f46e5 var(--tw-gradient-to-position)}.to-indigo-600\/20{--tw-gradient-to:rgba(79,70,229,.2) var(--tw-gradient-to-position)}.to-indigo-900{--tw-gradient-to:#312e81 var(--tw-gradient-to-position)}.to-orange-50{--tw-gradient-to:#fff7ed var(--tw-gradient-to-position)}.to-orange-500{--tw-gradient-to:#f97316 var(--tw-gradient-to-position)}.to-orange-600{--tw-gradient-to:#ea580c var(--tw-gradient-to-position)}.to-pink-50{--tw-gradient-to:#fdf2f8 var(--tw-gradient-to-position)}.to-pink-500\/10{--tw-gradient-to:rgba(236,72,153,.1) var(--tw-gradient-to-position)}.to-pink-600\/20{--tw-gradient-to:rgba(219,39,119,.2) var(--tw-gradient-to-position)}.to-purple-200{--tw-gradient-to:#e9d5ff var(--tw-gradient-to-position)}.to-purple-50{--tw-gradient-to:#faf5ff var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to:#9333ea var(--tw-gradient-to-position)}.to-purple-600\/10{--tw-gradient-to:rgba(147,51,234,.1) var(--tw-gradient-to-position)}.to-red-50{--tw-gradient-to:#fef2f2 var(--tw-gradient-to-position)}.to-red-500{--tw-gradient-to:#ef4444 var(--tw-gradient-to-position)}.to-red-500\/10{--tw-gradient-to:rgba(239,68,68,.1) var(--tw-gradient-to-position)}.to-red-600{--tw-gradient-to:#dc2626 var(--tw-gradient-to-position)}.to-rose-500{--tw-gradient-to:#f43f5e var(--tw-gradient-to-position)}.to-slate-100{--tw-gradient-to:#f1f5f9 var(--tw-gradient-to-position)}.to-slate-200{--tw-gradient-to:#e2e8f0 var(--tw-gradient-to-position)}.to-slate-600{--tw-gradient-to:#475569 var(--tw-gradient-to-position)}.to-slate-700{--tw-gradient-to:#334155 var(--tw-gradient-to-position)}.to-teal-50{--tw-gradient-to:#f0fdfa var(--tw-gradient-to-position)}.to-teal-600{--tw-gradient-to:#0d9488 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.to-violet-500\/10{--tw-gradient-to:rgba(139,92,246,.1) var(--tw-gradient-to-position)}.to-white{--tw-gradient-to:#fff var(--tw-gradient-to-position)}.to-yellow-600{--tw-gradient-to:#ca8a04 var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-current{fill:currentColor}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-10{padding:2.5rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-20{padding-bottom:5rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pl-10{padding-left:2.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pr-10{padding-right:2.5rem}.pr-12{padding-right:3rem}.pr-20{padding-right:5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.font-mercedes{font-family:Mercedes-Benz Text,Arial,sans-serif}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-8xl{font-size:6rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-4{line-height:1rem}.leading-6{line-height:1.5rem}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-blue-100{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity,1))}.text-blue-200{--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-blue-900{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.text-cyan-600{--tw-text-opacity:1;color:rgb(8 145 178/var(--tw-text-opacity,1))}.text-emerald-300{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity,1))}.text-error{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-green-900{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity,1))}.text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity,1))}.text-indigo-900{--tw-text-opacity:1;color:rgb(49 46 129/var(--tw-text-opacity,1))}.text-mercedes-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-mercedes-blue{--tw-text-opacity:1;color:rgb(0 115 206/var(--tw-text-opacity,1))}.text-mercedes-gray{--tw-text-opacity:1;color:rgb(94 94 94/var(--tw-text-opacity,1))}.text-mercedes-silver{--tw-text-opacity:1;color:rgb(170 169 173/var(--tw-text-opacity,1))}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.text-pink-600{--tw-text-opacity:1;color:rgb(219 39 119/var(--tw-text-opacity,1))}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity,1))}.text-purple-900{--tw-text-opacity:1;color:rgb(88 28 135/var(--tw-text-opacity,1))}.text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-success{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-teal-600{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}.text-transparent{color:transparent}.text-warning{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-200{--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}.text-yellow-300{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-yellow-700{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.text-yellow-900{--tw-text-opacity:1;color:rgb(113 63 18/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.overline{text-decoration-line:overline}.placeholder-slate-500::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.placeholder-slate-500::placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-inner,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-mercedes-blue{--tw-ring-opacity:1;--tw-ring-color:rgb(0 115 206/var(--tw-ring-opacity,1))}.blur{--tw-blur:blur(8px)}.blur,.blur-2xl{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-2xl{--tw-blur:blur(40px)}.blur-3xl{--tw-blur:blur(64px)}.blur-3xl,.drop-shadow{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-md,.backdrop-blur-sm{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.backdrop-blur-xl,.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.delay-1000{transition-delay:1s}.delay-500{transition-delay:.5s}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.glassmorphism{background:hsla(0,0%,100%,.05);border-radius:16px;box-shadow:0 8px 32px 0 rgba(31,38,135,.37);border:1px solid hsla(0,0%,100%,.18)}.glassmorphism,.glassmorphism-dark{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.glassmorphism-dark{background:rgba(0,0,0,.05);border-radius:16px;box-shadow:0 8px 32px 0 rgba(0,0,0,.37);border:1px solid rgba(0,0,0,.18)}.text-shadow{text-shadow:0 2px 4px rgba(0,0,0,.1)}.flash-message{position:fixed;top:1rem;right:1rem;z-index:50;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:16px;border-width:1px;padding:1rem 1.5rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s;background:hsla(0,0%,100%,.08);backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%);-webkit-backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%);border:1px solid hsla(0,0%,100%,.25);box-shadow:0 32px 64px rgba(0,0,0,.25),0 12px 24px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px hsla(0,0%,100%,.1);animation:flash-slide-in .5s cubic-bezier(.4,0,.2,1);transition:all .5s cubic-bezier(.4,0,.2,1)}.dark .flash-message{background:rgba(0,0,0,.2);backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 32px 64px rgba(0,0,0,.6),0 12px 24px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)}.flash-message:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 40px 80px rgba(0,0,0,.3),0 16px 32px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.5),0 0 0 1px hsla(0,0%,100%,.15)}.dark .flash-message:hover{box-shadow:0 40px 80px rgba(0,0,0,.7),0 16px 32px rgba(0,0,0,.5),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.1)}.flash-message.info{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(59,130,246,.2),rgba(147,197,253,.15) 50%,rgba(59,130,246,.1));border:1px solid rgba(59,130,246,.3)}.flash-message.success{--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(34,197,94,.2),rgba(134,239,172,.15) 50%,rgba(34,197,94,.1));border:1px solid rgba(34,197,94,.3)}.flash-message.warning{--tw-text-opacity:1;color:rgb(254 249 195/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(245,158,11,.2),rgba(252,211,77,.15) 50%,rgba(245,158,11,.1));border:1px solid rgba(245,158,11,.3)}.flash-message.error{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(239,68,68,.2),hsla(0,94%,82%,.15) 50%,rgba(239,68,68,.1));border:1px solid rgba(239,68,68,.3)}@keyframes flash-slide-in{0%{opacity:0;transform:translateX(100%) translateY(-20px) scale(.9);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}50%{opacity:.8;transform:translateX(20px) translateY(-10px) scale(1.05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}to{opacity:1;transform:translateX(0) translateY(0) scale(1);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px)}}@keyframes flash-slide-out{0%{opacity:1;transform:translateX(0) translateY(0) scale(1)}to{opacity:0;transform:translateX(100%) translateY(-20px) scale(.9)}}.flash-message.hiding{animation:flash-slide-out .4s cubic-bezier(.4,0,.2,1) forwards}.dnd-toggle{position:relative;display:inline-flex;height:1.5rem;width:2.75rem;align-items:center;border-radius:9999px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.dnd-toggle:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px}.dnd-toggle{background:rgba(156,163,175,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(156,163,175,.2)}.dnd-toggle.active{background:rgba(239,68,68,.3);border:1px solid rgba(239,68,68,.4)}.dnd-toggle-slider{display:inline-block;height:1rem;width:1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:9999px;--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:hsla(0,0%,100%,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 4px 8px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.1);margin:.125rem}.dnd-toggle.active .dnd-toggle-slider{transform:translateX(1.25rem);background:#fff;box-shadow:0 6px 12px rgba(239,68,68,.3),0 3px 6px rgba(239,68,68,.2)}.dnd-indicator{position:fixed;top:1rem;left:1rem;z-index:50;display:flex;align-items:center;border-radius:.5rem;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:rgba(239,68,68,.1);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid rgba(239,68,68,.3);color:#ef4444;transform:translateY(-100%);opacity:0}.dnd-indicator.active{transform:translateY(0);opacity:1}.dnd-modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(0,0,0,.3);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.dnd-modal-content{width:100%;max-width:28rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:16px;padding:1.5rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background:hsla(0,0%,100%,.1);backdrop-filter:blur(40px) saturate(200%) brightness(120%);-webkit-backdrop-filter:blur(40px) saturate(200%) brightness(120%);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 25px 50px rgba(0,0,0,.25),0 8px 16px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.4)}.dark .dnd-modal-content{background:rgba(0,0,0,.3);backdrop-filter:blur(40px) saturate(180%) brightness(110%);-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(110%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 25px 50px rgba(0,0,0,.6),0 8px 16px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2)}.flash-message.dnd-suppressed{animation:flash-fade-in .3s ease-out;opacity:.3;transform:scale(.95);pointer-events:none}@keyframes flash-fade-in{0%{opacity:0;transform:scale(.9)}to{opacity:.3;transform:scale(.95)}}.dnd-counter{position:absolute;top:-.5rem;right:-.5rem;display:flex;height:1.25rem;width:1.25rem;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1));font-size:.75rem;line-height:1rem;font-weight:700;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));background:rgba(239,68,68,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.2);box-shadow:0 2px 4px rgba(0,0,0,.2);animation:dnd-counter-bounce .5s ease-out}@keyframes dnd-counter-bounce{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.mercedes-background:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' fill='currentColor' opacity='.03'%3E%3Cpath d='M58.6 4.5C53 1.6 46.7 0 40 0S27 1.6 21.4 4.5C8.7 11.2 0 24.6 0 40s8.7 28.8 21.5 35.5C27 78.3 33.3 80 40 80s12.9-1.7 18.5-4.6C71.3 68.8 80 55.4 80 40S71.3 11.2 58.6 4.5M4 40c0-13.1 7-24.5 17.5-30.9C26.6 6 32.5 4.2 39 4l-4.5 32.7-13 10.1L8.3 57.1C5.6 52 4 46.2 4 40m54.6 30.8C53.1 74.1 46.8 76 40 76s-13.2-1.9-18.6-5.2c-4.9-2.9-8.9-6.9-11.9-11.7l11.9-4.9L40 46.6l18.6 7.5 12 4.9c-3 4.9-7.2 8.9-12 11.8m0-24-12.9-10L41.1 4c6.3.2 12.3 2 17.4 5.1C69 15.4 76 26.9 76 40c0 6.2-1.5 12-4.3 17.1z'/%3E%3C/svg%3E");background-position:50%;background-repeat:repeat;background-size:120px 120px;pointer-events:none;opacity:.03;transition:opacity .3s ease}.dark .mercedes-background:before{opacity:.015;filter:invert(1) brightness(.3);background-size:150px 150px}.navbar{position:sticky!important;top:0!important;z-index:50!important;width:100%!important;left:0!important;right:0!important;--navbar-blur:40px;--navbar-opacity:0.15;background:rgba(255,255,255,var(--navbar-opacity,.15))!important;backdrop-filter:blur(var(--navbar-blur,40px)) saturate(200%) brightness(110%) contrast(105%)!important;-webkit-backdrop-filter:blur(var(--navbar-blur,40px)) saturate(200%) brightness(110%) contrast(105%)!important;box-shadow:0 8px 32px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.08),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.15)!important;border-bottom:1px solid hsla(0,0%,100%,.2)!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important}.dark .navbar{--navbar-dark-opacity:0.25;background:rgba(0,0,0,var(--navbar-dark-opacity,.25))!important;backdrop-filter:blur(calc(var(--navbar-blur, 40px) + 5px)) saturate(180%) brightness(120%) contrast(115%)!important;-webkit-backdrop-filter:blur(calc(var(--navbar-blur, 40px) + 5px)) saturate(180%) brightness(120%) contrast(115%)!important;box-shadow:0 8px 32px rgba(0,0,0,.4),0 2px 8px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.15),0 0 0 1px hsla(0,0%,100%,.08)!important;border-bottom:1px solid hsla(0,0%,100%,.1)!important}.navbar.scrolled{--navbar-blur:50px;--navbar-opacity:0.25;background:rgba(255,255,255,var(--navbar-opacity,.25))!important;backdrop-filter:blur(var(--navbar-blur,50px)) saturate(220%) brightness(115%) contrast(110%)!important;-webkit-backdrop-filter:blur(var(--navbar-blur,50px)) saturate(220%) brightness(115%) contrast(110%)!important;box-shadow:0 12px 40px rgba(0,0,0,.15),0 4px 12px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px hsla(0,0%,100%,.2)!important}.dark .navbar.scrolled{--navbar-dark-opacity:0.35;background:rgba(0,0,0,var(--navbar-dark-opacity,.35))!important;backdrop-filter:blur(calc(var(--navbar-blur, 50px) + 5px)) saturate(200%) brightness(125%) contrast(120%)!important;-webkit-backdrop-filter:blur(calc(var(--navbar-blur, 50px) + 5px)) saturate(200%) brightness(125%) contrast(120%)!important;box-shadow:0 12px 40px rgba(0,0,0,.5),0 4px 12px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.1)!important}.navbar-menu-new{display:flex;align-items:center;justify-content:center}.navbar-menu-new>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.125rem*var(--tw-space-x-reverse));margin-left:calc(.125rem*(1 - var(--tw-space-x-reverse)))}@media (min-width:768px){.navbar-menu-new>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}}.navbar-menu-new{max-width:100%;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;background:hsla(0,0%,100%,.1);backdrop-filter:blur(25px) saturate(170%) brightness(108%);-webkit-backdrop-filter:blur(25px) saturate(170%) brightness(108%);border-radius:16px;padding:8px;margin:0 16px;border:1px solid hsla(0,0%,100%,.15);box-shadow:0 6px 20px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05);transition:all .3s cubic-bezier(.4,0,.2,1)}.dark .navbar-menu-new{background:rgba(0,0,0,.2);backdrop-filter:blur(30px) saturate(150%) brightness(115%);-webkit-backdrop-filter:blur(30px) saturate(150%) brightness(115%);border:1px solid hsla(0,0%,100%,.1);box-shadow:0 6px 20px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.1),0 0 0 1px hsla(0,0%,100%,.03)}.navbar-menu-new::-webkit-scrollbar{display:none}.navbar-menu-new:hover{backdrop-filter:blur(35px) saturate(190%) brightness(112%);-webkit-backdrop-filter:blur(35px) saturate(190%) brightness(112%);box-shadow:0 8px 25px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.1);transform:translateY(-1px)}.dark .navbar-menu-new:hover{backdrop-filter:blur(40px) saturate(170%) brightness(120%);-webkit-backdrop-filter:blur(40px) saturate(170%) brightness(120%);box-shadow:0 8px 25px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.15),0 0 0 1px hsla(0,0%,100%,.05)}.nav-item{display:flex;align-items:center}.nav-item>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.375rem*var(--tw-space-x-reverse));margin-left:calc(.375rem*(1 - var(--tw-space-x-reverse)))}.nav-item{border-radius:12px;padding:.625rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;color:rgba(15,23,42,.85);background:hsla(0,0%,100%,.08);backdrop-filter:blur(15px) saturate(140%);-webkit-backdrop-filter:blur(15px) saturate(140%);border:1px solid hsla(0,0%,100%,.1);box-shadow:0 4px 12px rgba(0,0,0,.05),inset 0 1px 0 hsla(0,0%,100%,.15);position:relative;overflow:hidden;animation:nav-item-entrance .6s ease-out}.nav-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);transition:left .5s}.nav-item:hover:before{left:100%}.nav-item:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg at 50% 50%,transparent 0deg,hsla(0,0%,100%,.1) 30deg,transparent 60deg);opacity:0;transition:opacity .3s ease;pointer-events:none;animation:rotate 3s linear infinite}.nav-item:hover:after{opacity:1}.dark .nav-item{color:hsla(0,0%,100%,.85);background:rgba(0,0,0,.15);backdrop-filter:blur(20px) saturate(130%);-webkit-backdrop-filter:blur(20px) saturate(130%);border:1px solid hsla(0,0%,100%,.08);box-shadow:0 4px 12px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.08)}.nav-item:hover{color:#0f172a;background:hsla(0,0%,100%,.2);backdrop-filter:blur(25px) saturate(160%) brightness(110%);-webkit-backdrop-filter:blur(25px) saturate(160%) brightness(110%);border:1px solid hsla(0,0%,100%,.25);box-shadow:0 8px 20px rgba(0,0,0,.12),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.1);transform:translateY(-2px) scale(1.02)}.dark .nav-item:hover{color:#fff;background:rgba(0,0,0,.25);backdrop-filter:blur(30px) saturate(150%) brightness(120%);-webkit-backdrop-filter:blur(30px) saturate(150%) brightness(120%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 8px 20px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.15),0 0 0 1px hsla(0,0%,100%,.05)}.nav-item.active{color:#0f172a;background:hsla(0,0%,100%,.35);backdrop-filter:blur(35px) saturate(180%) brightness(115%);-webkit-backdrop-filter:blur(35px) saturate(180%) brightness(115%);border:1px solid hsla(0,0%,100%,.4);box-shadow:0 12px 24px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.5),0 0 0 1px rgba(59,130,246,.3);transform:translateY(-1px);animation:nav-item-active-glow 2s ease-in-out infinite alternate}.dark .nav-item.active{color:#fff;background:rgba(0,0,0,.4);backdrop-filter:blur(40px) saturate(160%) brightness(125%);-webkit-backdrop-filter:blur(40px) saturate(160%) brightness(125%);border:1px solid hsla(0,0%,100%,.2);box-shadow:0 12px 24px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px rgba(59,130,246,.2)}@keyframes nav-item-entrance{0%{opacity:0;transform:translateY(10px) scale(.95);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}to{opacity:1;transform:translateY(0) scale(1);-webkit-backdrop-filter:blur(15px) saturate(140%);backdrop-filter:blur(15px) saturate(140%)}}@keyframes nav-item-active-glow{0%{box-shadow:0 12px 24px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.5),0 0 0 1px rgba(59,130,246,.3)}to{box-shadow:0 16px 32px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.6),0 0 0 2px rgba(59,130,246,.5)}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.navbar:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,hsla(0,0%,100%,.1) 1px,transparent 0),radial-gradient(circle at 80% 50%,hsla(0,0%,100%,.1) 1px,transparent 0),radial-gradient(circle at 40% 20%,hsla(0,0%,100%,.05) 1px,transparent 0),radial-gradient(circle at 60% 80%,hsla(0,0%,100%,.05) 1px,transparent 0);opacity:0;animation:glassmorphism-particles 8s ease-in-out infinite;pointer-events:none}.dark .navbar:before{background:radial-gradient(circle at 20% 50%,hsla(0,0%,100%,.05) 1px,transparent 0),radial-gradient(circle at 80% 50%,hsla(0,0%,100%,.05) 1px,transparent 0),radial-gradient(circle at 40% 20%,hsla(0,0%,100%,.03) 1px,transparent 0),radial-gradient(circle at 60% 80%,hsla(0,0%,100%,.03) 1px,transparent 0)}@keyframes glassmorphism-particles{0%,to{opacity:0;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.dark-mode-toggle-new{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:9999px;padding:.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:rgba(241,245,249,.8);border:1px solid hsla(0,0%,100%,.7);box-shadow:0 2px 8px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.04);color:#334155;z-index:100}.dark-mode-toggle-new:hover{--tw-translate-y:-0.125rem;background:rgba(241,245,249,.9);box-shadow:0 8px 16px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.06)}.dark-mode-toggle-new:active,.dark-mode-toggle-new:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark-mode-toggle-new:active{--tw-scale-x:.95;--tw-scale-y:.95;transition:transform .1s}.dark .dark-mode-toggle-new{background:rgba(30,41,59,.8);border:1px solid hsla(0,0%,100%,.1);box-shadow:0 2px 8px rgba(0,0,0,.2),0 1px 2px rgba(0,0,0,.1);color:#e2e8f0}.dark .dark-mode-toggle-new:hover{background:rgba(30,41,59,.9);box-shadow:0 8px 16px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.15)}.dark-mode-toggle-new .moon-icon,.dark-mode-toggle-new .sun-icon{position:absolute;top:50%;left:50%;--tw-translate-x:-50%;--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.dark-mode-toggle-new .moon-icon:not(.hidden),.dark-mode-toggle-new .sun-icon:not(.hidden){animation:spin-in .5s cubic-bezier(.25,1,.5,1) forwards}@keyframes spin-in{0%{opacity:0;transform:translateY(10px) scale(.7) rotate(20deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}.dark .sun-icon{display:none}.dark .moon-icon,.sun-icon{display:block}.moon-icon{display:none}.user-menu-button-new{display:flex;align-items:center}.user-menu-button-new>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.375rem*var(--tw-space-x-reverse));margin-left:calc(.375rem*(1 - var(--tw-space-x-reverse)))}.user-menu-button-new{border-radius:.5rem;padding:.25rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:rgba(241,245,249,.6);border:1px solid hsla(0,0%,100%,.6);box-shadow:0 2px 8px rgba(0,0,0,.04),0 1px 2px rgba(0,0,0,.02)}.user-menu-button-new:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));background:rgba(241,245,249,.8);box-shadow:0 8px 16px rgba(0,0,0,.06),0 2px 4px rgba(0,0,0,.04)}.dark .user-menu-button-new{background:rgba(30,41,59,.6);border:1px solid hsla(0,0%,100%,.08);box-shadow:0 2px 8px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.1)}.dark .user-menu-button-new:hover{background:rgba(30,41,59,.8);box-shadow:0 8px 16px rgba(0,0,0,.15),0 2px 4px rgba(0,0,0,.1)}.user-avatar-new{display:flex;height:1.75rem;width:1.75rem;align-items:center;justify-content:center;border-radius:9999px;font-size:.75rem;line-height:1rem;font-weight:600;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:linear-gradient(135deg,#000,#333);box-shadow:0 2px 4px rgba(0,0,0,.2),0 1px 2px rgba(0,0,0,.1)}.dark .user-avatar-new{background:linear-gradient(135deg,#f8fafc,#e2e8f0);color:#0f172a;box-shadow:0 2px 4px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.2)}.login-button-new{display:flex;align-items:center;border-radius:.5rem;padding:.375rem .75rem;font-size:.75rem;line-height:1rem;font-weight:500;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:#000;color:#fff;border:1px solid hsla(0,0%,100%,.1);box-shadow:0 2px 8px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.08)}.login-button-new:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));background:#333;box-shadow:0 8px 16px rgba(0,0,0,.15),0 3px 4px rgba(0,0,0,.1)}.dark .login-button-new{background:#fff;color:#000;border:1px solid rgba(0,0,0,.1);box-shadow:0 2px 8px rgba(0,0,0,.2),0 1px 2px rgba(0,0,0,.15)}.dark .login-button-new:hover{background:#f1f5f9;box-shadow:0 8px 16px rgba(0,0,0,.25),0 3px 4px rgba(0,0,0,.2)}.mobile-menu-new{z-index:40;width:100%;overflow:hidden;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:hsla(0,0%,100%,.8);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 4px 20px rgba(0,0,0,.06);max-height:0;opacity:0}.mobile-menu-new,.mobile-menu-new.open{border-bottom:1px solid rgba(241,245,249,.8)}.mobile-menu-new.open{max-height:400px;opacity:1}.dark .mobile-menu-new{background:rgba(15,23,42,.8);box-shadow:0 4px 20px rgba(0,0,0,.2);border-bottom:1px solid rgba(30,41,59,.8)}.mobile-nav-item{display:flex;align-items:center}.mobile-nav-item>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.625rem*var(--tw-space-x-reverse));margin-left:calc(.625rem*(1 - var(--tw-space-x-reverse)))}.mobile-nav-item{border-radius:.5rem;padding:.625rem .75rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.mobile-nav-item:is(.dark *){--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.mobile-nav-item:hover{background:rgba(241,245,249,.8)}.dark .mobile-nav-item:hover{background:rgba(30,41,59,.6)}.mobile-nav-item.active{background:rgba(241,245,249,.9);color:#000;font-weight:500}.dark .mobile-nav-item.active{background:rgba(30,41,59,.8);color:#fff}.mb-stat-card{background:linear-gradient(135deg,rgba(240,249,255,.6),rgba(230,242,255,.6));color:#0f172a;position:relative;overflow:hidden;border:none;border-radius:var(--card-radius);backdrop-filter:blur(20px) saturate(180%) brightness(110%);-webkit-backdrop-filter:blur(20px) saturate(180%) brightness(110%);box-shadow:0 25px 50px rgba(0,0,0,.15),0 0 0 1px hsla(0,0%,100%,.1);padding:1.5rem;margin:1rem;transition:transform .3s ease,box-shadow .3s ease}.dark .mb-stat-card{background:linear-gradient(135deg,rgba(0,0,0,.7),hsla(0,0%,4%,.7));color:var(--text-primary,#f8fafc);box-shadow:0 25px 50px rgba(0,0,0,.3),0 0 0 1px hsla(0,0%,100%,.05)}.job-card,.stats-card{border-radius:12px;border-width:1px;border-color:rgba(229,231,235,.7);background-color:hsla(0,0%,100%,.6);--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-backdrop-blur:blur(40px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.job-card:is(.dark *),.stats-card:is(.dark *){border-color:rgba(51,65,85,.2);background-color:rgba(0,0,0,.8)}.job-card,.stats-card{backdrop-filter:blur(24px) saturate(200%) brightness(120%);-webkit-backdrop-filter:blur(24px) saturate(200%) brightness(120%);box-shadow:0 25px 50px rgba(0,0,0,.2),0 0 0 1px hsla(0,0%,100%,.1);border-radius:var(--card-radius)}footer{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:hsla(0,0%,100%,.1);backdrop-filter:blur(30px) saturate(180%) brightness(120%);-webkit-backdrop-filter:blur(30px) saturate(180%) brightness(120%);border-top:1px solid hsla(0,0%,100%,.2);box-shadow:0 -8px 32px rgba(0,0,0,.1),0 -2px 8px rgba(0,0,0,.05),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)}.dark footer{background:rgba(0,0,0,.3);backdrop-filter:blur(30px) saturate(160%) brightness(110%);-webkit-backdrop-filter:blur(30px) saturate(160%) brightness(110%);border-top:1px solid hsla(0,0%,100%,.1);box-shadow:0 -8px 32px rgba(0,0,0,.3),0 -2px 8px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.1),0 0 0 1px hsla(0,0%,100%,.03)}.dropdown-arrow{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.mercedes-star-bg{position:relative}.mercedes-star-bg:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' fill='currentColor' opacity='.05'%3E%3Cpath d='M58.6 4.5C53 1.6 46.7 0 40 0S27 1.6 21.4 4.5C8.7 11.2 0 24.6 0 40s8.7 28.8 21.5 35.5C27 78.3 33.3 80 40 80s12.9-1.7 18.5-4.6C71.3 68.8 80 55.4 80 40S71.3 11.2 58.6 4.5M4 40c0-13.1 7-24.5 17.5-30.9C26.6 6 32.5 4.2 39 4l-4.5 32.7-13 10.1L8.3 57.1C5.6 52 4 46.2 4 40m54.6 30.8C53.1 74.1 46.8 76 40 76s-13.2-1.9-18.6-5.2c-4.9-2.9-8.9-6.9-11.9-11.7l11.9-4.9L40 46.6l18.6 7.5 12 4.9c-3 4.9-7.2 8.9-12 11.8m0-24-12.9-10L41.1 4c6.3.2 12.3 2 17.4 5.1C69 15.4 76 26.9 76 40c0 6.2-1.5 12-4.3 17.1z'/%3E%3C/svg%3E");background-position:50%;background-repeat:repeat;background-size:40px 40px;z-index:-1;opacity:.05}.dark .mercedes-star-bg:after{opacity:.02;filter:invert(1) brightness(.4)}.glass-effect{backdrop-filter:blur(20px) saturate(180%) brightness(110%);-webkit-backdrop-filter:blur(20px) saturate(180%) brightness(110%);background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);box-shadow:0 8px 32px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.3)}.dark .glass-effect{background:rgba(0,0,0,.3);border:1px solid hsla(0,0%,100%,.1);box-shadow:0 8px 32px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.15)}.glass-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-hover:hover{transform:translateY(-2px);backdrop-filter:blur(25px) saturate(200%) brightness(120%);-webkit-backdrop-filter:blur(25px) saturate(200%) brightness(120%);box-shadow:0 20px 40px rgba(0,0,0,.15),0 8px 16px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.4)}.dark .glass-hover:hover{box-shadow:0 20px 40px rgba(0,0,0,.4),0 8px 16px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.2)}.printer-card-new{position:relative;overflow:hidden;border-radius:12px;border-width:1px;border-color:rgba(229,231,235,.7);background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from:hsla(0,0%,100%,.9) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:hsla(0,0%,100%,.7) var(--tw-gradient-to-position);padding:1.25rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-backdrop-blur:blur(40px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.printer-card-new:hover{--tw-translate-y:-0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.printer-card-new:is(.dark *){border-color:rgba(51,65,85,.3);--tw-gradient-from:rgba(30,41,59,.9) var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,41,59,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:rgba(15,23,42,.7) var(--tw-gradient-to-position)}.printer-card-new{box-shadow:0 20px 40px rgba(0,0,0,.08),0 10px 20px rgba(0,0,0,.06),0 0 0 1px hsla(0,0%,100%,.1);border-radius:var(--card-radius,1rem)}.dark .printer-card-new{box-shadow:0 20px 40px rgba(0,0,0,.4),0 10px 20px rgba(0,0,0,.3),0 0 0 1px hsla(0,0%,100%,.05)}.printer-card-new.online{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1));background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from:rgba(240,253,244,.9) var(--tw-gradient-from-position);--tw-gradient-to:rgba(240,253,244,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:rgba(236,253,245,.8) var(--tw-gradient-to-position)}.printer-card-new.online:is(.dark *){border-color:rgba(21,128,61,.5);--tw-gradient-from:rgba(20,83,45,.3) var(--tw-gradient-from-position);--tw-gradient-to:rgba(20,83,45,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:rgba(6,78,59,.2) var(--tw-gradient-to-position)}.printer-card-new.online{box-shadow:0 20px 40px rgba(0,122,85,.08),0 10px 20px rgba(0,122,85,.06),0 0 0 1px rgba(209,250,229,.4)}.dark .printer-card-new.online{box-shadow:0 20px 40px rgba(0,0,0,.3),0 10px 20px rgba(0,0,0,.2),0 0 0 1px rgba(16,185,129,.2)}.status-badge-new{display:inline-flex;align-items:center}.status-badge-new>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.status-badge-new{border-radius:9999px;padding:.25rem .625rem;font-size:.75rem;line-height:1rem;font-weight:500;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);background:hsla(0,0%,100%,.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 2px 5px rgba(0,0,0,.05)}.dark .status-badge-new{background:rgba(30,41,59,.7);box-shadow:0 2px 5px rgba(0,0,0,.2)}.status-badge-new.online{background-color:rgba(220,252,231,.9);--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.status-badge-new.online:is(.dark *){background-color:rgba(20,83,45,.6);--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.status-badge-new.offline{background-color:hsla(0,93%,94%,.9);--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.status-badge-new.offline:is(.dark *){background-color:rgba(127,29,29,.6);--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.filter-bar-new{border-radius:.5rem;border-width:1px;border-color:rgba(229,231,235,.6);background-color:hsla(0,0%,100%,.8);padding:.375rem;--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.filter-bar-new:is(.dark *){border-color:rgba(51,65,85,.3);background-color:rgba(30,41,59,.8)}.filter-bar-new{box-shadow:0 10px 25px rgba(0,0,0,.05),0 5px 10px rgba(0,0,0,.03),0 0 0 1px hsla(0,0%,100%,.2)}.dark .filter-bar-new{box-shadow:0 10px 25px rgba(0,0,0,.2),0 5px 10px rgba(0,0,0,.15),0 0 0 1px hsla(0,0%,100%,.05)}.filter-btn-new{border-radius:.375rem;padding:.5rem .875rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.filter-btn-new.active{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.filter-btn-new.active:is(.dark *){--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.filter-btn-new.active{box-shadow:0 4px 10px rgba(0,0,0,.1)}.dark .filter-btn-new.active{box-shadow:0 4px 10px rgba(0,0,0,.3)}.action-btn-new{display:flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.5rem;padding:.625rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.action-btn-new:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.action-btn-new{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.action-btn-new.primary{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.action-btn-new.primary:hover{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.action-btn-new.primary:is(.dark *){--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.action-btn-new.primary:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.action-btn-new.primary{box-shadow:0 5px 15px rgba(79,70,229,.2)}.dark .action-btn-new.primary{box-shadow:0 5px 15px rgba(79,70,229,.3)}.action-btn-new.success{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.action-btn-new.success:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.action-btn-new.success:is(.dark *){--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.action-btn-new.success:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.action-btn-new.success{box-shadow:0 5px 15px rgba(16,185,129,.2)}.dark .action-btn-new.success{box-shadow:0 5px 15px rgba(16,185,129,.3)}.action-btn-new.danger{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.action-btn-new.danger:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.action-btn-new.danger:is(.dark *){--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.action-btn-new.danger:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.action-btn-new.danger{box-shadow:0 5px 15px rgba(239,68,68,.2)}.dark .action-btn-new.danger{box-shadow:0 5px 15px rgba(239,68,68,.3)}.printer-info-row{margin-bottom:.375rem;display:flex;align-items:center;gap:.5rem;font-size:.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.printer-info-row:is(.dark *){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}@media (min-width:640px){.printer-info-row{font-size:.875rem;line-height:1.25rem}}.printer-info-icon{height:.875rem;width:.875rem;flex-shrink:0;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.printer-info-icon:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}@media (min-width:640px){.printer-info-icon{height:1rem;width:1rem}}.online-indicator{position:absolute;top:.625rem;right:.625rem;height:.75rem;width:.75rem;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1));--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:0 0 0 rgba(16,185,129,.6);animation:pulse-ring 2s cubic-bezier(.455,.03,.515,.955) infinite}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 rgba(16,185,129,.6)}70%{box-shadow:0 0 0 6px rgba(16,185,129,0)}to{box-shadow:0 0 0 0 rgba(16,185,129,0)}}.status-overview-new{display:flex;flex-wrap:wrap;gap:.75rem;border-radius:.5rem;border-width:1px;border-color:rgba(229,231,235,.6);background-color:hsla(0,0%,100%,.6);padding:.75rem;font-size:.75rem;line-height:1rem;--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.status-overview-new:is(.dark *){border-color:rgba(51,65,85,.3);background-color:rgba(30,41,59,.6)}@media (min-width:640px){.status-overview-new{font-size:.875rem;line-height:1.25rem}}.status-overview-new{box-shadow:0 10px 25px rgba(0,0,0,.04),0 5px 10px rgba(0,0,0,.02),0 0 0 1px hsla(0,0%,100%,.1)}.dark .status-overview-new{box-shadow:0 10px 25px rgba(0,0,0,.15),0 5px 10px rgba(0,0,0,.1),0 0 0 1px hsla(0,0%,100%,.03)}.status-dot{height:.625rem;width:.625rem;border-radius:9999px}.status-dot.online{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1));animation:pulse-dot 2s cubic-bezier(.455,.03,.515,.955) infinite}.status-dot.offline{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}@keyframes pulse-dot{0%{transform:scale(.95);opacity:1}50%{transform:scale(1.1);opacity:.8}to{transform:scale(.95);opacity:1}}.modal-new{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background-color:rgba(0,0,0,.4);padding:1rem;--tw-backdrop-blur:blur(4px)}.modal-content-new,.modal-new{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.modal-content-new{width:100%;max-width:28rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:16px;border-width:1px;border-color:rgba(229,231,235,.6);background-color:hsla(0,0%,100%,.9);padding:1.5rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-backdrop-blur:blur(40px);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.modal-content-new:is(.dark *){border-color:rgba(51,65,85,.3);background-color:rgba(30,41,59,.9)}.modal-content-new{box-shadow:0 25px 50px rgba(0,0,0,.15),0 15px 30px rgba(0,0,0,.1),0 20px 25px -5px rgba(0,0,0,.5),0 10px 10px -5px rgba(0,0,0,.3)}.user-dropdown-item{display:flex;cursor:pointer;align-items:center;padding:.75rem 1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.user-dropdown-item:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.user-dropdown-item:is(.dark *){--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.user-dropdown-item:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.user-dropdown-item:first-child{border-top-left-radius:12px;border-top-right-radius:12px}.user-dropdown-item:last-child{border-bottom-right-radius:12px;border-bottom-left-radius:12px}.user-dropdown-item:hover{background:rgba(248,250,252,.8);transform:translateX(2px)}.dark .user-dropdown-item:hover{background:rgba(30,41,59,.8)}.user-dropdown-icon{margin-right:.75rem;height:1rem;width:1rem;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.user-dropdown-icon:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.user-dropdown-item:hover .user-dropdown-icon{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.user-dropdown-item:hover .user-dropdown-icon:is(.dark *){--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.user-dropdown-divider{margin-top:.25rem;margin-bottom:.25rem;border-top-width:1px;--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.user-dropdown-divider:is(.dark *){--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.user-info-section{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1));padding:.75rem 1rem}.user-info-section:is(.dark *){--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.user-info-section{background:rgba(248,250,252,.5)}.dark .user-info-section{background:rgba(30,41,59,.5)}.user-info-name{font-size:.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.user-info-name:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.user-info-role{margin-top:.25rem;font-size:.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.user-info-role:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:left-\[2px\]:after{content:var(--tw-content);left:2px}.after\:top-\[2px\]:after{content:var(--tw-content);top:2px}.after\:h-5:after{content:var(--tw-content);height:1.25rem}.after\:w-5:after{content:var(--tw-content);width:1.25rem}.after\:rounded-full:after{content:var(--tw-content);border-radius:9999px}.after\:border:after{content:var(--tw-content);border-width:1px}.after\:border-gray-300:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.after\:bg-white:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem}.hover\:-translate-y-0\.5:hover,.hover\:-translate-y-1:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.hover\:-translate-y-2:hover{--tw-translate-y:-0.5rem}.hover\:-translate-y-2:hover,.hover\:scale-105:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:scale-110:hover,.hover\:transform:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-blue-600:hover{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.hover\:border-emerald-600:hover{--tw-border-opacity:1;border-color:rgb(5 150 105/var(--tw-border-opacity,1))}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.hover\:border-mercedes-blue:hover{--tw-border-opacity:1;border-color:rgb(0 115 206/var(--tw-border-opacity,1))}.hover\:bg-amber-100:hover{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.hover\:bg-black\/5:hover{background-color:rgba(0,0,0,.05)}.hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-emerald-700:hover{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.hover\:bg-gray-400:hover{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.hover\:bg-indigo-600:hover{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.hover\:bg-mercedes-blue:hover{--tw-bg-opacity:1;background-color:rgb(0 115 206/var(--tw-bg-opacity,1))}.hover\:bg-mercedes-silver:hover{--tw-bg-opacity:1;background-color:rgb(170 169 173/var(--tw-bg-opacity,1))}.hover\:bg-orange-600:hover{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.hover\:bg-orange-700:hover{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.hover\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.hover\:bg-purple-600:hover{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.hover\:bg-purple-700:hover{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.hover\:bg-red-500\/20:hover{background-color:rgba(239,68,68,.2)}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.hover\:bg-slate-100\/50:hover{background-color:rgba(241,245,249,.5)}.hover\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.hover\:bg-slate-300:hover{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.hover\:bg-slate-400:hover{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.hover\:bg-slate-600:hover{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.hover\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.hover\:bg-teal-600:hover{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.hover\:bg-white\/10:hover{background-color:hsla(0,0%,100%,.1)}.hover\:bg-white\/20:hover{background-color:hsla(0,0%,100%,.2)}.hover\:bg-white\/25:hover{background-color:hsla(0,0%,100%,.25)}.hover\:bg-white\/50:hover{background-color:hsla(0,0%,100%,.5)}.hover\:bg-yellow-100:hover{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.hover\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.hover\:bg-yellow-700:hover{--tw-bg-opacity:1;background-color:rgb(161 98 7/var(--tw-bg-opacity,1))}.hover\:from-blue-600:hover{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:rgba(37,99,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-green-600:hover{--tw-gradient-from:#16a34a var(--tw-gradient-from-position);--tw-gradient-to:rgba(22,163,74,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-orange-600:hover{--tw-gradient-from:#ea580c var(--tw-gradient-from-position);--tw-gradient-to:rgba(234,88,12,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-slate-600:hover{--tw-gradient-from:#475569 var(--tw-gradient-from-position);--tw-gradient-to:rgba(71,85,105,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:to-blue-700:hover{--tw-gradient-to:#1d4ed8 var(--tw-gradient-to-position)}.hover\:to-green-700:hover{--tw-gradient-to:#15803d var(--tw-gradient-to-position)}.hover\:to-red-600:hover{--tw-gradient-to:#dc2626 var(--tw-gradient-to-position)}.hover\:to-slate-700:hover{--tw-gradient-to:#334155 var(--tw-gradient-to-position)}.hover\:text-blue-400:hover{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.hover\:text-blue-800:hover{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.hover\:text-blue-900:hover{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.hover\:text-emerald-600:hover{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.hover\:text-green-900:hover{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity,1))}.hover\:text-mercedes-blue:hover{--tw-text-opacity:1;color:rgb(0 115 206/var(--tw-text-opacity,1))}.hover\:text-orange-900:hover{--tw-text-opacity:1;color:rgb(124 45 18/var(--tw-text-opacity,1))}.hover\:text-purple-900:hover{--tw-text-opacity:1;color:rgb(88 28 135/var(--tw-text-opacity,1))}.hover\:text-red-500:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.hover\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.hover\:text-red-900:hover{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.hover\:text-slate-600:hover{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.hover\:text-slate-700:hover{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.hover\:text-slate-800:hover{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.hover\:text-slate-900:hover{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-70:hover{opacity:.7}.hover\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.hover\:shadow-2xl:hover,.hover\:shadow-lg:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.hover\:shadow-md:hover,.hover\:shadow-xl:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.focus\:border-mercedes-blue:focus{--tw-border-opacity:1;border-color:rgb(0 115 206/var(--tw-border-opacity,1))}.focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.focus\:border-transparent:focus{border-color:transparent}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus\:ring-blue-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(37 99 235/var(--tw-ring-opacity,1))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(74 222 128/var(--tw-ring-opacity,1))}.focus\:ring-green-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(34 197 94/var(--tw-ring-opacity,1))}.focus\:ring-mercedes-blue:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 115 206/var(--tw-ring-opacity,1))}.focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity,1))}.focus\:ring-yellow-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(234 179 8/var(--tw-ring-opacity,1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:bg-gray-200:active{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-100:disabled{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.disabled\:opacity-50:disabled{opacity:.5}.group:focus-within .group-focus-within\:text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.group:hover .group-hover\:visible{visibility:visible}.group:hover .group-hover\:-translate-x-1{--tw-translate-x:-0.25rem}.group:hover .group-hover\:-translate-x-1,.group:hover .group-hover\:translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-full{--tw-translate-x:100%}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-mercedes-blue{--tw-text-opacity:1;color:rgb(0 115 206/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-100{opacity:1}.group:disabled .group-disabled\:opacity-0{opacity:0}.group:disabled .group-disabled\:opacity-100{opacity:1}.peer:checked~.peer-checked\:border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.peer:checked~.peer-checked\:border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.peer:checked~.peer-checked\:border-slate-500{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.peer:checked~.peer-checked\:bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\:bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\:bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\:bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\:after\:translate-x-full:after{content:var(--tw-content);--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.peer:checked~.peer-checked\:after\:border-white:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.peer:focus~.peer-focus\:outline-none{outline:2px solid transparent;outline-offset:2px}.peer:focus~.peer-focus\:ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.peer:focus~.peer-focus\:ring-blue-300{--tw-ring-opacity:1;--tw-ring-color:rgb(147 197 253/var(--tw-ring-opacity,1))}.dark\:rotate-0:is(.dark *){--tw-rotate:0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:rotate-90:is(.dark *){--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:scale-100:is(.dark *){--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:scale-75:is(.dark *){--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:divide-gray-700:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(55 65 81/var(--tw-divide-opacity,1))}.dark\:divide-slate-700:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(51 65 85/var(--tw-divide-opacity,1))}.dark\:border-amber-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(146 64 14/var(--tw-border-opacity,1))}.dark\:border-blue-400:is(.dark *){--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.dark\:border-blue-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.dark\:border-blue-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(29 78 216/var(--tw-border-opacity,1))}.dark\:border-blue-700\/30:is(.dark *){border-color:rgba(29,78,216,.3)}.dark\:border-blue-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.dark\:border-blue-800\/50:is(.dark *){border-color:rgba(30,64,175,.5)}.dark\:border-emerald-700\/30:is(.dark *){border-color:rgba(4,120,87,.3)}.dark\:border-gray-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.dark\:border-gray-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.dark\:border-green-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(21 128 61/var(--tw-border-opacity,1))}.dark\:border-green-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.dark\:border-green-800\/50:is(.dark *){border-color:rgba(22,101,52,.5)}.dark\:border-indigo-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity,1))}.dark\:border-indigo-800\/50:is(.dark *){border-color:rgba(55,48,163,.5)}.dark\:border-orange-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(194 65 12/var(--tw-border-opacity,1))}.dark\:border-orange-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.dark\:border-orange-800\/50:is(.dark *){border-color:rgba(154,52,18,.5)}.dark\:border-purple-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.dark\:border-purple-800\/50:is(.dark *){border-color:rgba(107,33,168,.5)}.dark\:border-red-400:is(.dark *){--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.dark\:border-red-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.dark\:border-red-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.dark\:border-red-800\/50:is(.dark *){border-color:rgba(153,27,27,.5)}.dark\:border-slate-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.dark\:border-slate-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.dark\:border-slate-700\/30:is(.dark *){border-color:rgba(51,65,85,.3)}.dark\:border-slate-700\/50:is(.dark *){border-color:rgba(51,65,85,.5)}.dark\:border-white\/20:is(.dark *){border-color:hsla(0,0%,100%,.2)}.dark\:border-yellow-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(202 138 4/var(--tw-border-opacity,1))}.dark\:border-yellow-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(161 98 7/var(--tw-border-opacity,1))}.dark\:border-yellow-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(133 77 14/var(--tw-border-opacity,1))}.dark\:border-t-slate-700:is(.dark *){--tw-border-opacity:1;border-top-color:rgb(51 65 85/var(--tw-border-opacity,1))}.dark\:bg-amber-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.dark\:bg-amber-900\/20:is(.dark *){background-color:rgba(120,53,15,.2)}.dark\:bg-black:is(.dark *){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.dark\:bg-black\/50:is(.dark *){background-color:rgba(0,0,0,.5)}.dark\:bg-black\/80:is(.dark *){background-color:rgba(0,0,0,.8)}.dark\:bg-blue-300:is(.dark *){--tw-bg-opacity:1;background-color:rgb(147 197 253/var(--tw-bg-opacity,1))}.dark\:bg-blue-500:is(.dark *){--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.dark\:bg-blue-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.dark\:bg-blue-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity,1))}.dark\:bg-blue-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.dark\:bg-blue-900\/10:is(.dark *){background-color:rgba(30,58,138,.1)}.dark\:bg-blue-900\/20:is(.dark *){background-color:rgba(30,58,138,.2)}.dark\:bg-blue-900\/30:is(.dark *){background-color:rgba(30,58,138,.3)}.dark\:bg-blue-900\/50:is(.dark *){background-color:rgba(30,58,138,.5)}.dark\:bg-cyan-900\/50:is(.dark *){background-color:rgba(22,78,99,.5)}.dark\:bg-emerald-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(6 78 59/var(--tw-bg-opacity,1))}.dark\:bg-emerald-900\/20:is(.dark *){background-color:rgba(6,78,59,.2)}.dark\:bg-emerald-900\/50:is(.dark *){background-color:rgba(6,78,59,.5)}.dark\:bg-gray-300:is(.dark *){--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.dark\:bg-gray-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.dark\:bg-gray-900\/20:is(.dark *){background-color:rgba(17,24,39,.2)}.dark\:bg-gray-900\/30:is(.dark *){background-color:rgba(17,24,39,.3)}.dark\:bg-green-300:is(.dark *){--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity,1))}.dark\:bg-green-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.dark\:bg-green-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.dark\:bg-green-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(22 101 52/var(--tw-bg-opacity,1))}.dark\:bg-green-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.dark\:bg-green-900\/10:is(.dark *){background-color:rgba(20,83,45,.1)}.dark\:bg-green-900\/20:is(.dark *){background-color:rgba(20,83,45,.2)}.dark\:bg-green-900\/30:is(.dark *){background-color:rgba(20,83,45,.3)}.dark\:bg-green-900\/50:is(.dark *){background-color:rgba(20,83,45,.5)}.dark\:bg-indigo-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.dark\:bg-indigo-900\/10:is(.dark *){background-color:rgba(49,46,129,.1)}.dark\:bg-indigo-900\/20:is(.dark *){background-color:rgba(49,46,129,.2)}.dark\:bg-indigo-900\/50:is(.dark *){background-color:rgba(49,46,129,.5)}.dark\:bg-orange-300:is(.dark *){--tw-bg-opacity:1;background-color:rgb(253 186 116/var(--tw-bg-opacity,1))}.dark\:bg-orange-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.dark\:bg-orange-900\/10:is(.dark *){background-color:rgba(124,45,18,.1)}.dark\:bg-orange-900\/20:is(.dark *){background-color:rgba(124,45,18,.2)}.dark\:bg-orange-900\/30:is(.dark *){background-color:rgba(124,45,18,.3)}.dark\:bg-orange-900\/50:is(.dark *){background-color:rgba(124,45,18,.5)}.dark\:bg-purple-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.dark\:bg-purple-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.dark\:bg-purple-900\/10:is(.dark *){background-color:rgba(88,28,135,.1)}.dark\:bg-purple-900\/20:is(.dark *){background-color:rgba(88,28,135,.2)}.dark\:bg-purple-900\/30:is(.dark *){background-color:rgba(88,28,135,.3)}.dark\:bg-purple-900\/50:is(.dark *){background-color:rgba(88,28,135,.5)}.dark\:bg-red-300:is(.dark *){--tw-bg-opacity:1;background-color:rgb(252 165 165/var(--tw-bg-opacity,1))}.dark\:bg-red-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.dark\:bg-red-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.dark\:bg-red-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity,1))}.dark\:bg-red-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.dark\:bg-red-900\/10:is(.dark *){background-color:rgba(127,29,29,.1)}.dark\:bg-red-900\/20:is(.dark *){background-color:rgba(127,29,29,.2)}.dark\:bg-red-900\/30:is(.dark *){background-color:rgba(127,29,29,.3)}.dark\:bg-red-900\/40:is(.dark *){background-color:rgba(127,29,29,.4)}.dark\:bg-red-900\/50:is(.dark *){background-color:rgba(127,29,29,.5)}.dark\:bg-slate-500:is(.dark *){--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity,1))}.dark\:bg-slate-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.dark\:bg-slate-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.dark\:bg-slate-700\/30:is(.dark *){background-color:rgba(51,65,85,.3)}.dark\:bg-slate-700\/40:is(.dark *){background-color:rgba(51,65,85,.4)}.dark\:bg-slate-700\/50:is(.dark *){background-color:rgba(51,65,85,.5)}.dark\:bg-slate-700\/60:is(.dark *){background-color:rgba(51,65,85,.6)}.dark\:bg-slate-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.dark\:bg-slate-800\/30:is(.dark *){background-color:rgba(30,41,59,.3)}.dark\:bg-slate-800\/40:is(.dark *){background-color:rgba(30,41,59,.4)}.dark\:bg-slate-800\/50:is(.dark *){background-color:rgba(30,41,59,.5)}.dark\:bg-slate-800\/60:is(.dark *){background-color:rgba(30,41,59,.6)}.dark\:bg-slate-800\/80:is(.dark *){background-color:rgba(30,41,59,.8)}.dark\:bg-slate-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.dark\:bg-slate-900\/50:is(.dark *){background-color:rgba(15,23,42,.5)}.dark\:bg-slate-900\/60:is(.dark *){background-color:rgba(15,23,42,.6)}.dark\:bg-slate-900\/80:is(.dark *){background-color:rgba(15,23,42,.8)}.dark\:bg-slate-900\/90:is(.dark *){background-color:rgba(15,23,42,.9)}.dark\:bg-teal-900\/50:is(.dark *){background-color:rgba(19,78,74,.5)}.dark\:bg-white\/10:is(.dark *){background-color:hsla(0,0%,100%,.1)}.dark\:bg-yellow-300:is(.dark *){--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity,1))}.dark\:bg-yellow-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(113 63 18/var(--tw-bg-opacity,1))}.dark\:bg-yellow-900\/20:is(.dark *){background-color:rgba(113,63,18,.2)}.dark\:bg-yellow-900\/30:is(.dark *){background-color:rgba(113,63,18,.3)}.dark\:bg-yellow-900\/50:is(.dark *){background-color:rgba(113,63,18,.5)}.dark\:bg-opacity-95:is(.dark *){--tw-bg-opacity:0.95}.dark\:from-blue-400:is(.dark *){--tw-gradient-from:#60a5fa var(--tw-gradient-from-position);--tw-gradient-to:rgba(96,165,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-blue-400\/20:is(.dark *){--tw-gradient-from:rgba(96,165,250,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(96,165,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-blue-400\/5:is(.dark *){--tw-gradient-from:rgba(96,165,250,.05) var(--tw-gradient-from-position);--tw-gradient-to:rgba(96,165,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-blue-900\/10:is(.dark *){--tw-gradient-from:rgba(30,58,138,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,58,138,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-blue-900\/20:is(.dark *){--tw-gradient-from:rgba(30,58,138,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,58,138,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-blue-900\/30:is(.dark *){--tw-gradient-from:rgba(30,58,138,.3) var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,58,138,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-emerald-900\/20:is(.dark *){--tw-gradient-from:rgba(6,78,59,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(6,78,59,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-gray-900:is(.dark *){--tw-gradient-from:#111827 var(--tw-gradient-from-position);--tw-gradient-to:rgba(17,24,39,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-green-400:is(.dark *){--tw-gradient-from:#4ade80 var(--tw-gradient-from-position);--tw-gradient-to:rgba(74,222,128,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-green-400\/20:is(.dark *){--tw-gradient-from:rgba(74,222,128,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(74,222,128,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-green-900\/10:is(.dark *){--tw-gradient-from:rgba(20,83,45,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(20,83,45,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-green-900\/20:is(.dark *){--tw-gradient-from:rgba(20,83,45,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(20,83,45,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-green-900\/30:is(.dark *){--tw-gradient-from:rgba(20,83,45,.3) var(--tw-gradient-from-position);--tw-gradient-to:rgba(20,83,45,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-orange-400:is(.dark *){--tw-gradient-from:#fb923c var(--tw-gradient-from-position);--tw-gradient-to:rgba(251,146,60,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-orange-400\/20:is(.dark *){--tw-gradient-from:rgba(251,146,60,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(251,146,60,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-orange-900\/10:is(.dark *){--tw-gradient-from:rgba(124,45,18,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(124,45,18,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-purple-900\/20:is(.dark *){--tw-gradient-from:rgba(88,28,135,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(88,28,135,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-purple-900\/30:is(.dark *){--tw-gradient-from:rgba(88,28,135,.3) var(--tw-gradient-from-position);--tw-gradient-to:rgba(88,28,135,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-red-400:is(.dark *){--tw-gradient-from:#f87171 var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,91%,71%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-red-400\/20:is(.dark *){--tw-gradient-from:hsla(0,91%,71%,.2) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,91%,71%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-slate-800:is(.dark *){--tw-gradient-from:#1e293b var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,41,59,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-slate-900:is(.dark *){--tw-gradient-from:#0f172a var(--tw-gradient-from-position);--tw-gradient-to:rgba(15,23,42,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-slate-950:is(.dark *){--tw-gradient-from:#020617 var(--tw-gradient-from-position);--tw-gradient-to:rgba(2,6,23,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-white:is(.dark *){--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:via-blue-200:is(.dark *){--tw-gradient-to:rgba(191,219,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#bfdbfe var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-blue-900:is(.dark *){--tw-gradient-to:rgba(30,58,138,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#1e3a8a var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-blue-900\/20:is(.dark *){--tw-gradient-to:rgba(30,58,138,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(30,58,138,.2) var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-blue-950:is(.dark *){--tw-gradient-to:rgba(23,37,84,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#172554 var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-emerald-900\/20:is(.dark *){--tw-gradient-to:rgba(6,78,59,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(6,78,59,.2) var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-red-900\/20:is(.dark *){--tw-gradient-to:rgba(127,29,29,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(127,29,29,.2) var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-slate-800:is(.dark *){--tw-gradient-to:rgba(30,41,59,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#1e293b var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:to-blue-500:is(.dark *){--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.dark\:to-blue-800\/30:is(.dark *){--tw-gradient-to:rgba(30,64,175,.3) var(--tw-gradient-to-position)}.dark\:to-emerald-400\/20:is(.dark *){--tw-gradient-to:rgba(52,211,153,.2) var(--tw-gradient-to-position)}.dark\:to-emerald-900\/10:is(.dark *){--tw-gradient-to:rgba(6,78,59,.1) var(--tw-gradient-to-position)}.dark\:to-emerald-900\/20:is(.dark *){--tw-gradient-to:rgba(6,78,59,.2) var(--tw-gradient-to-position)}.dark\:to-gray-200:is(.dark *){--tw-gradient-to:#e5e7eb var(--tw-gradient-to-position)}.dark\:to-gray-800:is(.dark *){--tw-gradient-to:#1f2937 var(--tw-gradient-to-position)}.dark\:to-green-500:is(.dark *){--tw-gradient-to:#22c55e var(--tw-gradient-to-position)}.dark\:to-green-800\/30:is(.dark *){--tw-gradient-to:rgba(22,101,52,.3) var(--tw-gradient-to-position)}.dark\:to-green-900\/20:is(.dark *){--tw-gradient-to:rgba(20,83,45,.2) var(--tw-gradient-to-position)}.dark\:to-indigo-400\/20:is(.dark *){--tw-gradient-to:rgba(129,140,248,.2) var(--tw-gradient-to-position)}.dark\:to-indigo-400\/5:is(.dark *){--tw-gradient-to:rgba(129,140,248,.05) var(--tw-gradient-to-position)}.dark\:to-indigo-900:is(.dark *){--tw-gradient-to:#312e81 var(--tw-gradient-to-position)}.dark\:to-indigo-900\/10:is(.dark *){--tw-gradient-to:rgba(49,46,129,.1) var(--tw-gradient-to-position)}.dark\:to-indigo-900\/20:is(.dark *){--tw-gradient-to:rgba(49,46,129,.2) var(--tw-gradient-to-position)}.dark\:to-indigo-950:is(.dark *){--tw-gradient-to:#1e1b4b var(--tw-gradient-to-position)}.dark\:to-orange-500:is(.dark *){--tw-gradient-to:#f97316 var(--tw-gradient-to-position)}.dark\:to-orange-900\/20:is(.dark *){--tw-gradient-to:rgba(124,45,18,.2) var(--tw-gradient-to-position)}.dark\:to-pink-400\/20:is(.dark *){--tw-gradient-to:rgba(244,114,182,.2) var(--tw-gradient-to-position)}.dark\:to-pink-900\/20:is(.dark *){--tw-gradient-to:rgba(131,24,67,.2) var(--tw-gradient-to-position)}.dark\:to-purple-800\/30:is(.dark *){--tw-gradient-to:rgba(107,33,168,.3) var(--tw-gradient-to-position)}.dark\:to-red-400\/20:is(.dark *){--tw-gradient-to:hsla(0,91%,71%,.2) var(--tw-gradient-to-position)}.dark\:to-red-500:is(.dark *){--tw-gradient-to:#ef4444 var(--tw-gradient-to-position)}.dark\:to-red-900\/10:is(.dark *){--tw-gradient-to:rgba(127,29,29,.1) var(--tw-gradient-to-position)}.dark\:to-slate-200:is(.dark *){--tw-gradient-to:#e2e8f0 var(--tw-gradient-to-position)}.dark\:to-slate-300:is(.dark *){--tw-gradient-to:#cbd5e1 var(--tw-gradient-to-position)}.dark\:to-slate-700:is(.dark *){--tw-gradient-to:#334155 var(--tw-gradient-to-position)}.dark\:to-slate-800:is(.dark *){--tw-gradient-to:#1e293b var(--tw-gradient-to-position)}.dark\:to-slate-900:is(.dark *){--tw-gradient-to:#0f172a var(--tw-gradient-to-position)}.dark\:text-amber-200:is(.dark *){--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.dark\:text-amber-300:is(.dark *){--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.dark\:text-amber-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.dark\:text-blue-100:is(.dark *){--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity,1))}.dark\:text-blue-200:is(.dark *){--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.dark\:text-blue-300:is(.dark *){--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.dark\:text-blue-400:is(.dark *){--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.dark\:text-blue-500:is(.dark *){--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.dark\:text-cyan-400:is(.dark *){--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.dark\:text-emerald-300:is(.dark *){--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.dark\:text-emerald-400:is(.dark *){--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:text-gray-600:is(.dark *){--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.dark\:text-green-100:is(.dark *){--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity,1))}.dark\:text-green-200:is(.dark *){--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.dark\:text-green-300:is(.dark *){--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.dark\:text-indigo-200:is(.dark *){--tw-text-opacity:1;color:rgb(199 210 254/var(--tw-text-opacity,1))}.dark\:text-indigo-300:is(.dark *){--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.dark\:text-indigo-400:is(.dark *){--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.dark\:text-orange-200:is(.dark *){--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.dark\:text-orange-300:is(.dark *){--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.dark\:text-orange-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.dark\:text-purple-200:is(.dark *){--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.dark\:text-purple-300:is(.dark *){--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.dark\:text-purple-400:is(.dark *){--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.dark\:text-red-100:is(.dark *){--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.dark\:text-red-200:is(.dark *){--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.dark\:text-red-300:is(.dark *){--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:text-red-600:is(.dark *){--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.dark\:text-slate-100:is(.dark *){--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity,1))}.dark\:text-slate-200:is(.dark *){--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.dark\:text-slate-300:is(.dark *){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.dark\:text-slate-400:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.dark\:text-slate-500:is(.dark *){--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.dark\:text-slate-600:is(.dark *){--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.dark\:text-teal-400:is(.dark *){--tw-text-opacity:1;color:rgb(45 212 191/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:text-yellow-200:is(.dark *){--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}.dark\:text-yellow-300:is(.dark *){--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.dark\:text-yellow-400:is(.dark *){--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.dark\:placeholder-slate-400:is(.dark *)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(148 163 184/var(--tw-placeholder-opacity,1))}.dark\:placeholder-slate-400:is(.dark *)::placeholder{--tw-placeholder-opacity:1;color:rgb(148 163 184/var(--tw-placeholder-opacity,1))}.dark\:opacity-0:is(.dark *){opacity:0}.dark\:opacity-100:is(.dark *){opacity:1}.dark\:opacity-5:is(.dark *){opacity:.05}.dark\:shadow-2xl:is(.dark *){--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.dark\:hover\:border-blue-400:hover:is(.dark *){--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.dark\:hover\:border-emerald-400:hover:is(.dark *){--tw-border-opacity:1;border-color:rgb(52 211 153/var(--tw-border-opacity,1))}.dark\:hover\:bg-amber-900\/30:hover:is(.dark *){background-color:rgba(120,53,15,.3)}.dark\:hover\:bg-black\/10:hover:is(.dark *){background-color:rgba(0,0,0,.1)}.dark\:hover\:bg-blue-500:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.dark\:hover\:bg-blue-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.dark\:hover\:bg-blue-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.dark\:hover\:bg-blue-900\/20:hover:is(.dark *){background-color:rgba(30,58,138,.2)}.dark\:hover\:bg-blue-900\/30:hover:is(.dark *){background-color:rgba(30,58,138,.3)}.dark\:hover\:bg-gray-500:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:hover\:bg-green-500:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.dark\:hover\:bg-green-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.dark\:hover\:bg-green-900\/30:hover:is(.dark *){background-color:rgba(20,83,45,.3)}.dark\:hover\:bg-purple-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.dark\:hover\:bg-purple-900\/30:hover:is(.dark *){background-color:rgba(88,28,135,.3)}.dark\:hover\:bg-red-500:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.dark\:hover\:bg-red-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.dark\:hover\:bg-red-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.dark\:hover\:bg-red-900\/30:hover:is(.dark *){background-color:rgba(127,29,29,.3)}.dark\:hover\:bg-slate-500:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity,1))}.dark\:hover\:bg-slate-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.dark\:hover\:bg-slate-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.dark\:hover\:bg-slate-700\/50:hover:is(.dark *){background-color:rgba(51,65,85,.5)}.dark\:hover\:bg-slate-800:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.dark\:hover\:bg-slate-800\/50:hover:is(.dark *){background-color:rgba(30,41,59,.5)}.dark\:hover\:bg-white\/15:hover:is(.dark *){background-color:hsla(0,0%,100%,.15)}.dark\:hover\:bg-white\/5:hover:is(.dark *){background-color:hsla(0,0%,100%,.05)}.dark\:hover\:bg-yellow-900\/30:hover:is(.dark *){background-color:rgba(113,63,18,.3)}.dark\:hover\:text-blue-200:hover:is(.dark *){--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.dark\:hover\:text-blue-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.dark\:hover\:text-blue-400:hover:is(.dark *){--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.dark\:hover\:text-emerald-400:hover:is(.dark *){--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.dark\:hover\:text-gray-200:hover:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:hover\:text-gray-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:hover\:text-green-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.dark\:hover\:text-orange-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.dark\:hover\:text-purple-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.dark\:hover\:text-red-200:hover:is(.dark *){--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.dark\:hover\:text-red-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.dark\:hover\:text-slate-200:hover:is(.dark *){--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.dark\:hover\:text-slate-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.dark\:hover\:text-white:hover:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:hover\:shadow-slate-900\/50:hover:is(.dark *){--tw-shadow-color:rgba(15,23,42,.5);--tw-shadow:var(--tw-shadow-colored)}.dark\:focus\:ring-blue-400:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(96 165 250/var(--tw-ring-opacity,1))}.dark\:focus\:ring-blue-600:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(37 99 235/var(--tw-ring-opacity,1))}.dark\:disabled\:bg-slate-800:disabled:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.group:hover .dark\:group-hover\:text-slate-300:is(.dark *){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.group:hover .dark\:group-hover\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.peer:checked~.dark\:peer-checked\:bg-blue-900\/20:is(.dark *){background-color:rgba(30,58,138,.2)}.peer:checked~.dark\:peer-checked\:bg-green-900\/20:is(.dark *){background-color:rgba(20,83,45,.2)}.peer:checked~.dark\:peer-checked\:bg-slate-900\/20:is(.dark *){background-color:rgba(15,23,42,.2)}.peer:focus~.dark\:peer-focus\:ring-blue-800:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(30 64 175/var(--tw-ring-opacity,1))}@media (min-width:640px){.sm\:mx-0{margin-left:0;margin-right:0}.sm\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\:ml-3{margin-left:.75rem}.sm\:ml-4{margin-left:1rem}.sm\:mt-0{margin-top:0}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:h-10{height:2.5rem}.sm\:h-5{height:1.25rem}.sm\:w-10{width:2.5rem}.sm\:w-5{width:1.25rem}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-lg{max-width:32rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:items-start{align-items:flex-start}.sm\:items-center{align-items:center}.sm\:justify-center{justify-content:center}.sm\:justify-between{justify-content:space-between}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.sm\:p-0{padding:0}.sm\:p-6{padding:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pb-4{padding-bottom:1rem}.sm\:text-left{text-align:left}.sm\:align-middle{vertical-align:middle}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:ml-2{margin-left:.5rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:p-12{padding:3rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-8xl{font-size:6rem;line-height:1}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:ml-0{margin-left:0}.lg\:mt-0{margin-top:0}.lg\:block{display:block}.lg\:inline{display:inline}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-between{justify-content:space-between}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:p-12{padding:3rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:text-right{text-align:right}.lg\:text-6xl{font-size:3.75rem;line-height:1}}@media (min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}} \ No newline at end of file +*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Mercedes-Benz Text,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--color-bg-primary:#fff;--color-bg-secondary:#fafbfc;--color-bg-tertiary:#f3f5f7;--color-bg-accent:#fbfcfd;--color-text-primary:#111827;--color-text-secondary:#374151;--color-text-muted:#6b7280;--color-text-accent:#0073ce;--color-border-primary:#e5e7eb;--color-border-secondary:#d1d5db;--color-accent:#0073ce;--color-accent-hover:#005a9f;--color-accent-light:#eff6ff;--color-accent-text:#fff;--color-shadow:rgba(0,0,0,.06);--color-shadow-strong:rgba(0,0,0,.1);--color-shadow-accent:rgba(0,115,206,.12);--card-radius:1rem;--gradient-primary:linear-gradient(135deg,#fff,#fafbfc 30%,#f8fafc 70%,#f3f5f7);--gradient-card:linear-gradient(135deg,#fff,#fcfcfd 50%,#fafbfc);--gradient-hero:linear-gradient(135deg,#fafbfc,#f3f5f7 40%,#eef2f5 80%,#f8fafc);--gradient-accent:linear-gradient(135deg,#0073ce,#005a9f);--gradient-surface:linear-gradient(135deg,#fff,#fbfcfd 50%,#f8fafc);--glass-bg:hsla(0,0%,100%,.92);--glass-border:hsla(0,0%,100%,.3);--glass-shadow:0 8px 32px rgba(0,0,0,.04);--glass-blur:blur(20px)}.dark{--color-bg-primary:#000;--color-bg-secondary:#0a0a0a;--color-bg-tertiary:#1a1a1a;--color-text-primary:#fff;--color-text-secondary:#e2e8f0;--color-text-muted:#94a3b8;--color-border-primary:#1a1a1a;--color-border-secondary:#2a2a2a;--color-accent:#fff;--color-accent-hover:#f0f0f0;--color-accent-light:#1e3a8a;--color-accent-text:#000;--color-shadow:rgba(0,0,0,.8);--color-shadow-strong:rgba(0,0,0,.9);--mb-black:#000}body{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}body:is(.dark *){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}body{position:relative;min-height:100vh;background:var(--gradient-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-feature-settings:"cv02","cv03","cv04","cv11";line-height:1.65;font-size:15px}.dark body{background:linear-gradient(135deg,#000,#0a0a0a 50%,#000)}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 25% 25%,rgba(0,115,206,.015) 0,transparent 50%),radial-gradient(circle at 75% 75%,rgba(0,115,206,.01) 0,transparent 50%),radial-gradient(circle at 50% 10%,rgba(0,115,206,.008) 0,transparent 50%);pointer-events:none;z-index:-1}.dark body:before{background:radial-gradient(circle at 20% 50%,rgba(59,130,246,.03) 0,transparent 50%),radial-gradient(circle at 80% 20%,rgba(59,130,246,.02) 0,transparent 50%)}nav{border-bottom-width:1px;--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:linear-gradient(135deg,hsla(0,0%,100%,.95),rgba(250,251,252,.92) 30%,rgba(248,250,252,.9) 70%,hsla(0,0%,100%,.95));border-bottom:1px solid rgba(229,231,235,.7);backdrop-filter:blur(28px) saturate(200%) brightness(110%);-webkit-backdrop-filter:blur(28px) saturate(200%) brightness(110%);box-shadow:0 4px 20px rgba(0,0,0,.04),0 2px 8px rgba(0,115,206,.02),inset 0 1px 0 hsla(0,0%,100%,.9)}.dark nav{background:rgba(0,0,0,.85);border-bottom-color:hsla(0,0%,100%,.1);box-shadow:0 8px 32px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.05)}.dark .card-enhanced{background:hsla(0,0%,4%,.8);border-color:var(--color-border-primary);box-shadow:0 4px 20px var(--color-shadow)}.btn-secondary{background:var(--gradient-surface);color:var(--color-text-primary);border:1px solid var(--color-border-primary);box-shadow:0 1px 6px rgba(0,0,0,.03),inset 0 1px 0 hsla(0,0%,100%,.8)}.btn-secondary:hover{background:var(--color-bg-secondary);border-color:var(--color-accent);color:var(--color-accent);box-shadow:0 4px 12px rgba(0,115,206,.08),inset 0 1px 0 hsla(0,0%,100%,.9)}.dark .input-enhanced{background:hsla(0,0%,4%,.8);border-color:var(--color-border-primary);color:var(--color-text-primary);box-shadow:0 2px 8px var(--color-shadow),inset 0 1px 0 hsla(0,0%,100%,.05)}.dark .input-enhanced:focus{border-color:#60a5fa;box-shadow:0 4px 15px rgba(96,165,250,.2),0 0 0 3px rgba(96,165,250,.1)}.\!container{width:100%!important}.container{width:100%}@media (min-width:475px){.\!container{max-width:475px!important}.container{max-width:475px}}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}@media (min-width:1920px){.\!container{max-width:1920px!important}.container{max-width:1920px}}@media (min-width:2560px){.\!container{max-width:2560px!important}.container{max-width:2560px}}.form-input,.form-multiselect,.form-select,.form-textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}.form-input:focus,.form-multiselect:focus,.form-select:focus,.form-textarea:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}.form-input::-moz-placeholder,.form-textarea::-moz-placeholder{color:#6b7280;opacity:1}.form-input::placeholder,.form-textarea::placeholder{color:#6b7280;opacity:1}.form-input::-webkit-datetime-edit-fields-wrapper{padding:0}.form-input::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}.form-input::-webkit-datetime-edit{display:inline-flex}.form-input::-webkit-datetime-edit,.form-input::-webkit-datetime-edit-day-field,.form-input::-webkit-datetime-edit-hour-field,.form-input::-webkit-datetime-edit-meridiem-field,.form-input::-webkit-datetime-edit-millisecond-field,.form-input::-webkit-datetime-edit-minute-field,.form-input::-webkit-datetime-edit-month-field,.form-input::-webkit-datetime-edit-second-field,.form-input::-webkit-datetime-edit-year-field{padding-top:0;padding-bottom:0}.form-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}.form-select:where([size]:not([size="1"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}.btn-mercedes{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;transition:all .3s cubic-bezier(.4,0,.2,1);background:linear-gradient(135deg,#0073ce,#005ba3);color:#fff;border:none;cursor:pointer}.btn-mercedes:hover{background:linear-gradient(135deg,#005ba3,#003d82);transform:translateY(-2px);box-shadow:0 12px 20px -5px rgba(0,115,206,.4)}.btn-mercedes:focus{outline:none;box-shadow:0 0 0 3px rgba(0,115,206,.3)}.btn-mercedes:active{transform:translateY(0);box-shadow:inset 0 2px 4px rgba(0,0,0,.2)}.mercedes-form-input{padding:.75rem 1rem;border-radius:8px;border:2px solid #e5e7eb;background:hsla(0,0%,100%,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s cubic-bezier(.4,0,.2,1);font-weight:500}.mercedes-form-input:focus{border-color:#0073ce;box-shadow:0 0 0 4px rgba(0,115,206,.1),0 10px 15px -3px rgba(0,0,0,.1);transform:translateY(-2px);background:#fff}.dashboard-card{background:linear-gradient(135deg,#fff,#f8fafc);border:2px solid #f1f5f9;border-radius:16px;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dashboard-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 25px 50px -12px rgba(0,0,0,.15);border-color:#0073ce}.dark .bg-dark-card{background-color:#1e293b;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.admin-stats{margin-bottom:2rem;display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media (min-width:640px){.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.admin-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.stat-card{position:relative;overflow:hidden;border-radius:12px;border-width:1px;border-color:rgba(229,231,235,.6);background-color:hsla(0,0%,100%,.6);padding:1.25rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.stat-card,.stat-card:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.stat-card:hover{--tw-translate-y:-0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.stat-card:is(.dark *){border-color:rgba(51,65,85,.3);background-color:rgba(0,0,0,.7)}.stat-card{backdrop-filter:blur(20px) saturate(180%) brightness(110%);-webkit-backdrop-filter:blur(20px) saturate(180%) brightness(110%);box-shadow:0 25px 50px rgba(0,0,0,.15),0 0 0 1px hsla(0,0%,100%,.1)}.stat-icon{position:absolute;top:1rem;right:1rem;font-size:2.25rem;line-height:2.5rem;opacity:.15}.stat-title{margin-bottom:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:500;text-transform:uppercase;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.stat-title:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.stat-value{margin-bottom:.25rem;font-size:1.5rem;line-height:2rem;font-weight:700;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.stat-value:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.stat-desc{font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.stat-desc:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.nav-tab{cursor:pointer;white-space:nowrap;border-bottom-width:2px;border-color:transparent;padding:1rem 1.5rem;--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.nav-tab:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.nav-tab:is(.dark *){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.nav-tab:hover:is(.dark *){background-color:rgba(30,41,59,.5);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.nav-tab.active{border-bottom-width:2px;--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1));font-weight:500;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.nav-tab.active:is(.dark *){--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.tab-content{margin-top:2rem}.tab-pane{display:none}.dark-mode-toggle-new .moon-icon:not(.tab-pane),.dark-mode-toggle-new .sun-icon:not(.tab-pane){animation:spin-in .5s cubic-bezier(.25,1,.5,1) forwards}.tab-pane.active{display:block}.form-input,.form-select,.form-textarea{width:100%;border-radius:.5rem;border-width:1px;border-color:rgba(209,213,219,.6);background-color:hsla(0,0%,100%,.6);padding:.5rem .75rem;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.form-input::-moz-placeholder,.form-select::-moz-placeholder,.form-textarea::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.form-input::placeholder,.form-select::placeholder,.form-textarea::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.form-input,.form-select,.form-textarea{--tw-backdrop-blur:blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:transparent;outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(100 116 139/var(--tw-ring-opacity,1))}.form-input:is(.dark *),.form-select:is(.dark *),.form-textarea:is(.dark *){border-color:rgba(71,85,105,.6);background-color:rgba(30,41,59,.6);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.form-input,.form-select,.form-textarea{backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);box-shadow:0 10px 20px rgba(0,0,0,.1),0 0 0 1px hsla(0,0%,100%,.05)}.admin-table{min-width:100%}.admin-table>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse));--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.admin-table:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(51 65 85/var(--tw-divide-opacity,1))}.admin-table thead{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.admin-table thead:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.admin-table th{padding:.75rem 1.5rem;text-align:left;font-size:.75rem;line-height:1rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.admin-table th:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.admin-table tbody>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse));--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.admin-table tbody{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.admin-table tbody:is(.dark *){background-color:#1e293b}.admin-table tbody:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(51 65 85/var(--tw-divide-opacity,1))}.admin-table tr{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.admin-table tr:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.admin-table tr:hover:is(.dark *){background-color:rgba(51,65,85,.5)}.admin-table td{white-space:nowrap;padding:1rem 1.5rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.admin-table td:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.badge{display:inline-flex;border-radius:9999px;padding-left:.5rem;padding-right:.5rem;font-size:.75rem;font-weight:600;line-height:1.25rem}.printer-card{border-radius:12px;border-width:1px;border-color:rgba(229,231,235,.6);background-color:hsla(0,0%,100%,.6);padding:1.5rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.printer-card,.printer-card:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.printer-card:hover{--tw-translate-y:-0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.printer-card:is(.dark *){border-color:rgba(51,65,85,.3);background-color:rgba(0,0,0,.7)}.printer-card{backdrop-filter:blur(20px) saturate(180%) brightness(110%);-webkit-backdrop-filter:blur(20px) saturate(180%) brightness(110%);box-shadow:0 25px 50px rgba(0,0,0,.15),0 0 0 1px hsla(0,0%,100%,.1)}.printer-name{font-size:1.25rem;line-height:1.75rem;font-weight:700;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.printer-name:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.printer-status{margin-top:1rem;display:flex;align-items:center}.status-indicator{margin-right:.5rem;height:.75rem;width:.75rem;border-radius:9999px}.status-running{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1));animation:pulse 2s infinite}.log-entry{margin-bottom:.5rem;border-top-right-radius:.5rem;border-bottom-right-radius:.5rem;border-left-width:4px;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.75rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.log-entry:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.log-entry:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.log-entry:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.scheduler-status{display:flex;align-items:center;border-radius:.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:1rem;--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.scheduler-status:is(.dark *){--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.progress-bar{height:.5rem;width:100%;overflow:hidden;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.progress-bar:is(.dark *){--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.progress-bar-fill{height:100%;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.\!notification,.notification{position:fixed;top:1rem;right:1rem;z-index:50;max-width:28rem;--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:16px;padding:1rem;opacity:0;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s}.\!notification{background:hsla(0,0%,100%,.08)!important;backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%)!important;-webkit-backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%)!important;border:1px solid hsla(0,0%,100%,.25)!important;box-shadow:0 32px 64px rgba(0,0,0,.25),0 12px 24px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px hsla(0,0%,100%,.1)!important;animation:notification-slide-in .6s cubic-bezier(.4,0,.2,1)!important}.notification{background:hsla(0,0%,100%,.08);backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%);-webkit-backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%);border:1px solid hsla(0,0%,100%,.25);box-shadow:0 32px 64px rgba(0,0,0,.25),0 12px 24px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px hsla(0,0%,100%,.1);animation:notification-slide-in .6s cubic-bezier(.4,0,.2,1)}.dark .notification{background:rgba(0,0,0,.2);backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 32px 64px rgba(0,0,0,.6),0 12px 24px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)}.dark .\!notification{background:rgba(0,0,0,.2)!important;backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%)!important;-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%)!important;border:1px solid hsla(0,0%,100%,.15)!important;box-shadow:0 32px 64px rgba(0,0,0,.6),0 12px 24px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)!important}.\!notification.show,.notification.\!show,.notification.show{--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));opacity:1}.\!notification:hover{transform:translateY(-2px) scale(1.02)!important;box-shadow:0 40px 80px rgba(0,0,0,.3),0 16px 32px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.5),0 0 0 1px hsla(0,0%,100%,.15)!important}.notification:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 40px 80px rgba(0,0,0,.3),0 16px 32px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.5),0 0 0 1px hsla(0,0%,100%,.15)}.dark .notification:hover{box-shadow:0 40px 80px rgba(0,0,0,.7),0 16px 32px rgba(0,0,0,.5),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.1)}.dark .\!notification:hover{box-shadow:0 40px 80px rgba(0,0,0,.7),0 16px 32px rgba(0,0,0,.5),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.1)!important}.notification-success{--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(34,197,94,.25),rgba(134,239,172,.18) 50%,rgba(34,197,94,.12));border:1px solid rgba(34,197,94,.4);box-shadow:0 32px 64px rgba(34,197,94,.2),0 12px 24px rgba(34,197,94,.1),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px rgba(34,197,94,.3)}.notification-error{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(239,68,68,.25),hsla(0,94%,82%,.18) 50%,rgba(239,68,68,.12));border:1px solid rgba(239,68,68,.4);box-shadow:0 32px 64px rgba(239,68,68,.2),0 12px 24px rgba(239,68,68,.1),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px rgba(239,68,68,.3)}.notification-warning{--tw-text-opacity:1;color:rgb(254 249 195/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(245,158,11,.25),rgba(252,211,77,.18) 50%,rgba(245,158,11,.12));border:1px solid rgba(245,158,11,.4);box-shadow:0 32px 64px rgba(245,158,11,.2),0 12px 24px rgba(245,158,11,.1),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px rgba(245,158,11,.3)}.notification-info{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(59,130,246,.25),rgba(147,197,253,.18) 50%,rgba(59,130,246,.12));border:1px solid rgba(59,130,246,.4);box-shadow:0 32px 64px rgba(59,130,246,.2),0 12px 24px rgba(59,130,246,.1),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px rgba(59,130,246,.3)}.dark .toast-notification{background:rgba(0,0,0,.2);backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 32px 64px rgba(0,0,0,.6),0 12px 24px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)}.alert{margin-bottom:1.5rem;border-radius:16px;border-width:1px;padding:1.5rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);background:hsla(0,0%,100%,.12);backdrop-filter:blur(30px) saturate(200%) brightness(120%) contrast(110%);-webkit-backdrop-filter:blur(30px) saturate(200%) brightness(120%) contrast(110%);border:1px solid hsla(0,0%,100%,.25);box-shadow:0 25px 50px rgba(0,0,0,.15),0 8px 16px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.1);animation:alert-fade-in .5s ease-out}.dark .alert{background:rgba(0,0,0,.3);backdrop-filter:blur(30px) saturate(180%) brightness(110%) contrast(120%);-webkit-backdrop-filter:blur(30px) saturate(180%) brightness(110%) contrast(120%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 25px 50px rgba(0,0,0,.4),0 8px 16px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.15),0 0 0 1px hsla(0,0%,100%,.05)}.dark .browser-notification{background:rgba(0,0,0,.2);backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 32px 64px rgba(0,0,0,.6),0 12px 24px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)}@keyframes notification-slide-in{0%{opacity:0;transform:translateX(100%) translateY(-20px) scale(.9);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}50%{opacity:.8;transform:translateX(20px) translateY(-10px) scale(1.05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}to{opacity:1;transform:translateX(0) translateY(0) scale(1);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px)}}@keyframes notification-slide-out{0%{opacity:1;transform:translateX(0) translateY(0) scale(1)}to{opacity:0;transform:translateX(100%) translateY(-20px) scale(.9)}}@keyframes notification-slide-left{0%{opacity:0;transform:translateX(-100%) translateY(-20px) scale(.9);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}50%{opacity:.8;transform:translateX(-20px) translateY(-10px) scale(1.05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}to{opacity:1;transform:translateX(0) translateY(0) scale(1);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px)}}@keyframes alert-fade-in{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.\!notification.hiding{animation:notification-slide-out .4s cubic-bezier(.4,0,.2,1) forwards!important}.notification.hiding{animation:notification-slide-out .4s cubic-bezier(.4,0,.2,1) forwards}.notification-icon{margin-right:.75rem;display:flex;height:2rem;width:2rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;background:hsla(0,0%,100%,.2);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 8px 16px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.4)}.notification-content{flex:1 1 0%}.notification-title{margin-bottom:.25rem;font-size:.875rem;line-height:1.25rem;font-weight:600}.notification-message{font-size:.875rem;line-height:1.25rem;opacity:.9}.notification-close{margin-left:.75rem;border-radius:.5rem;padding:.25rem;opacity:.7;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.notification-close:hover{opacity:1}.notification-close{background:hsla(0,0%,100%,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.2)}.notification-close:hover{background:hsla(0,0%,100%,.2);transform:scale(1.1)}.notifications-container{position:fixed;top:1rem;right:1rem;z-index:50;max-width:28rem}.notifications-container>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.flash-message-light.success{border-left:4px solid #10b981;background:linear-gradient(135deg,rgba(236,253,245,.95),rgba(209,250,229,.9))}.flash-message-light.error{border-left:4px solid #ef4444;background:linear-gradient(135deg,hsla(0,86%,97%,.95),hsla(0,94%,82%,.9))}.flash-message-light.\!warning{border-left:4px solid #fbbf24!important;background:linear-gradient(135deg,rgba(255,251,235,.95),hsla(48,96%,89%,.9))!important}.flash-message-light.warning{border-left:4px solid #fbbf24;background:linear-gradient(135deg,rgba(255,251,235,.95),hsla(48,96%,89%,.9))}.flash-message-light.info{border-left:4px solid #3b82f6;background:linear-gradient(135deg,rgba(239,246,255,.95),rgba(219,234,254,.9))}.dark .table-enhanced{background:hsla(0,0%,4%,.8);border-color:var(--color-border-primary)}.dark .table-enhanced th{background:rgba(26,26,26,.8);color:var(--color-text-primary)}.dark .table-enhanced tbody tr:hover{background:rgba(26,26,26,.6)}.dark .modal-enhanced{background:rgba(0,0,0,.95);border-color:rgba(42,42,42,.7);box-shadow:0 50px 100px rgba(0,0,0,.5),inset 0 2px 0 hsla(0,0%,100%,.05)}.dark-mode-toggle-new{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:9999px;padding:.625rem;transition:all .3s cubic-bezier(.4,0,.2,1);background:linear-gradient(135deg,rgba(248,250,252,.9),rgba(241,245,249,.8));border:1px solid rgba(226,232,240,.7);box-shadow:0 4px 12px rgba(0,0,0,.06),0 2px 4px rgba(0,115,206,.04),inset 0 1px 0 hsla(0,0%,100%,.8);color:var(--color-text-secondary)}.dark-mode-toggle-new:hover{transform:translateY(-2px) scale(1.05);background:linear-gradient(135deg,rgba(248,250,252,.95),rgba(241,245,249,.85));box-shadow:0 8px 20px rgba(0,0,0,.1),0 4px 8px rgba(0,115,206,.08),inset 0 1px 0 hsla(0,0%,100%,.9)}.dark-mode-toggle-new:active{transform:translateY(-1px) scale(.98)}.dark .dark-mode-toggle-new{background:hsla(0,0%,4%,.8);border:1px solid rgba(42,42,42,.6);box-shadow:0 4px 12px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.05);color:var(--color-text-secondary)}.dark .dark-mode-toggle-new:hover{background:hsla(0,0%,4%,.9);box-shadow:0 8px 20px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.08)}.dark-mode-toggle-new .moon-icon,.dark-mode-toggle-new .sun-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transition:all .3s cubic-bezier(.4,0,.2,1)}.dark-mode-toggle-new .moon-icon:not(.hidden),.dark-mode-toggle-new .sun-icon:not(.hidden){animation:icon-appear .5s cubic-bezier(.25,1,.5,1) forwards}@keyframes icon-appear{0%{opacity:0;transform:translate(-50%,-50%) scale(.5) rotate(-20deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}.dark .user-menu-button-new{background:hsla(0,0%,4%,.7);border-color:rgba(42,42,42,.6);box-shadow:0 2px 8px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.03)}.dark .user-menu-button-new:hover{background:hsla(0,0%,4%,.8);box-shadow:0 4px 12px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.05)}.dark .hover-lift-enhanced:hover{box-shadow:0 12px 30px var(--color-shadow)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary);border-radius:4px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--color-border-secondary) 0,var(--color-border-primary) 100%);border-radius:4px;-webkit-transition:background .2s ease;transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--color-accent) 0,var(--color-accent-hover) 100%)}.dark ::-webkit-scrollbar-track{background:var(--color-bg-secondary)}.dark ::-webkit-scrollbar-thumb{background:var(--color-border-primary)}.dark ::-webkit-scrollbar-thumb:hover{background:#60a5fa}@keyframes loading-shimmer{0%{left:-100%}to{left:100%}}.dark .focus-enhanced:focus{outline-color:#60a5fa;box-shadow:0 0 0 4px rgba(96,165,250,.15),0 4px 12px rgba(96,165,250,.2)}@media (max-width:768px){.card-enhanced{padding:1rem;border-radius:.75rem}.btn-enhanced{padding:.75rem 1.5rem;font-size:.8rem}.modal-enhanced{border-radius:1rem;margin:1rem}.dark-mode-toggle-new{padding:.5rem}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (prefers-contrast:high){:root{--color-shadow:rgba(0,0,0,.2);--color-shadow-strong:rgba(0,0,0,.3);--color-border-primary:#000}.dark{--color-border-primary:#fff}}.btn-primary{border-radius:.5rem;padding:.5rem 1rem;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.btn-primary:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-primary:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px}.btn-primary:is(.dark *){--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.btn-primary{background:rgba(0,0,0,.7);backdrop-filter:blur(20px) saturate(150%) brightness(110%);-webkit-backdrop-filter:blur(20px) saturate(150%) brightness(110%);border:1px solid hsla(0,0%,100%,.2);box-shadow:0 20px 40px rgba(0,0,0,.3),0 8px 16px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.1)}.btn-primary:hover{background:rgba(0,0,0,.9);backdrop-filter:blur(25px) saturate(180%) brightness(120%);-webkit-backdrop-filter:blur(25px) saturate(180%) brightness(120%);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 25px 50px rgba(0,0,0,.4),0 10px 20px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.3)}.dark .btn-primary{background:hsla(0,0%,100%,.7);border:1px solid rgba(0,0,0,.1);box-shadow:0 20px 40px rgba(0,0,0,.2),0 8px 16px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.8),0 0 0 1px rgba(0,0,0,.05)}.dark .btn-primary:hover{background:hsla(0,0%,100%,.9);border:1px solid rgba(0,0,0,.15);box-shadow:0 25px 50px rgba(0,0,0,.3),0 10px 20px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.9)}.btn-secondary{border-radius:.5rem;padding:.5rem 1rem;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1));--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.btn-secondary:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-secondary:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(100 116 139/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px}.btn-secondary:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.btn-secondary{background:hsla(0,0%,100%,.3);backdrop-filter:blur(20px) saturate(150%) brightness(110%);-webkit-backdrop-filter:blur(20px) saturate(150%) brightness(110%);border:1px solid hsla(0,0%,100%,.4);box-shadow:0 20px 40px rgba(0,0,0,.15),0 8px 16px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.5),0 0 0 1px hsla(0,0%,100%,.2)}.btn-secondary:hover{background:hsla(0,0%,100%,.5);backdrop-filter:blur(25px) saturate(180%) brightness(120%);-webkit-backdrop-filter:blur(25px) saturate(180%) brightness(120%);border:1px solid hsla(0,0%,100%,.6);box-shadow:0 25px 50px rgba(0,0,0,.2),0 10px 20px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.7)}.dark .btn-secondary{background:rgba(0,0,0,.4);border:1px solid hsla(0,0%,100%,.2);box-shadow:0 20px 40px rgba(0,0,0,.3),0 8px 16px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.1)}.dark .btn-secondary:hover{background:rgba(0,0,0,.6);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 25px 50px rgba(0,0,0,.4),0 10px 20px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.3)}.btn-outline{border-radius:.5rem;border-width:2px;border-color:rgba(0,0,0,.7);padding:.5rem 1rem;--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1));--tw-backdrop-blur:blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.btn-outline:hover{background-color:rgba(0,0,0,.7);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.btn-outline:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px}.btn-outline:is(.dark *){border-color:hsla(0,0%,100%,.7);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.btn-outline:hover:is(.dark *){background-color:hsla(0,0%,100%,.7);--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.btn-outline{backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);box-shadow:0 15px 30px rgba(0,0,0,.1),0 0 0 1px hsla(0,0%,100%,.05)}.glass-card{border-radius:12px;padding:1.5rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:hsla(0,0%,100%,.15);backdrop-filter:blur(30px) saturate(200%) brightness(120%) contrast(110%);-webkit-backdrop-filter:blur(30px) saturate(200%) brightness(120%) contrast(110%);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 25px 50px rgba(0,0,0,.15),0 8px 16px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.1);border-radius:var(--card-radius)}.dark .glass-card{background:rgba(0,0,0,.3);backdrop-filter:blur(30px) saturate(180%) brightness(110%) contrast(120%);-webkit-backdrop-filter:blur(30px) saturate(180%) brightness(110%) contrast(120%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 25px 50px rgba(0,0,0,.4),0 8px 16px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.15),0 0 0 1px hsla(0,0%,100%,.05)}.dashboard-card{border-radius:12px;padding:1.5rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.dashboard-card:hover{--tw-translate-y:-0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dashboard-card{background:hsla(0,0%,100%,.12);backdrop-filter:blur(35px) saturate(200%) brightness(125%) contrast(115%);-webkit-backdrop-filter:blur(35px) saturate(200%) brightness(125%) contrast(115%);border:1px solid hsla(0,0%,100%,.25);box-shadow:0 25px 50px rgba(0,0,0,.15),0 8px 16px rgba(0,0,0,.08),inset 0 1px 0 hsla(0,0%,100%,.25),0 0 0 1px hsla(0,0%,100%,.1);border-radius:var(--card-radius)}.dark .dashboard-card{background:rgba(0,0,0,.35);backdrop-filter:blur(35px) saturate(180%) brightness(115%) contrast(125%);-webkit-backdrop-filter:blur(35px) saturate(180%) brightness(115%) contrast(125%);border:1px solid hsla(0,0%,100%,.12);box-shadow:0 25px 50px rgba(0,0,0,.5),0 8px 16px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.12),0 0 0 1px hsla(0,0%,100%,.05)}.nav-link.active{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1));--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.nav-link.active:is(.dark *){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.navbar{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background:hsla(0,0%,100%,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;box-shadow:0 4px 6px rgba(0,0,0,.1);transition:all .3s ease}@media (max-width:768px){.navbar{flex-direction:column;padding:.25rem}.navbar-button{margin:.25rem 0}}.dark .navbar{background:rgba(0,0,0,.25);backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(120%);-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(120%);box-shadow:0 8px 32px rgba(0,0,0,.6),0 2px 8px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.1),0 0 0 1px hsla(0,0%,100%,.05);border-bottom:1px solid hsla(0,0%,100%,.1)}.navbar-brand{display:flex;align-items:center}.navbar-brand>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.navbar-brand{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.navbar-brand:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark .navbar-menu{background:rgba(0,0,0,.4);backdrop-filter:blur(20px) saturate(150%) brightness(110%);-webkit-backdrop-filter:blur(20px) saturate(150%) brightness(110%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 4px 16px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)}.user-avatar{display:flex;height:2.5rem;width:2.5rem;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1));font-size:.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.user-avatar,.user-avatar:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.user-avatar:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.user-avatar:is(.dark *){--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.dark .menu-item{background:rgba(0,0,0,.2);border:1px solid hsla(0,0%,100%,.1);box-shadow:0 2px 8px rgba(0,0,0,.2)}.dark .menu-item:hover{background:rgba(0,0,0,.4);border:1px solid hsla(0,0%,100%,.2);box-shadow:0 4px 16px rgba(0,0,0,.3)}.menu-item.active{font-weight:500;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.menu-item.active:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.menu-item.active{background:hsla(0,0%,100%,.5);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid hsla(0,0%,100%,.6);box-shadow:0 4px 16px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.5)}.dark .menu-item.active{background:rgba(0,0,0,.6);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 4px 16px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2)}.user-dropdown{position:absolute;right:0;z-index:50;margin-top:.5rem;width:16rem;overflow:hidden;border-radius:12px;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);background:hsla(0,0%,100%,.1);backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%);-webkit-backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 25px 50px rgba(0,0,0,.25),0 8px 16px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px hsla(0,0%,100%,.1);animation:fadeIn .2s ease-out forwards}.dark .user-dropdown{background:rgba(0,0,0,.4);backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(120%);-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(120%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 25px 50px rgba(0,0,0,.6),0 8px 16px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)}.dropdown-header{display:flex;align-items:center;border-bottom-width:1px;border-color:rgba(229,231,235,.8);padding:1rem}.dropdown-header:is(.dark *){border-color:rgba(51,65,85,.3)}.dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.dropdown-item:hover{background-color:rgba(243,244,246,.8);--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.dropdown-item:is(.dark *){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.dropdown-item:hover:is(.dark *){background-color:rgba(51,65,85,.6);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dropdown-divider{border-top-width:1px;border-color:rgba(229,231,235,.8)}.dropdown-divider:is(.dark *){border-color:rgba(51,65,85,.3)}@keyframes mercedes-rotate{0%{transform:rotate(0deg)}25%{transform:rotate(90deg)}50%{transform:rotate(180deg)}75%{transform:rotate(270deg)}to{transform:rotate(1turn)}}.navbar-brand:hover svg{animation:mercedes-rotate 5s linear infinite;transform-origin:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-bottom-2{bottom:-.5rem}.-bottom-40{bottom:-10rem}.-bottom-8{bottom:-2rem}.-left-2{left:-.5rem}.-left-32{left:-8rem}.-right-1{right:-.25rem}.-right-2{right:-.5rem}.-right-32{right:-8rem}.-top-1{top:-.25rem}.-top-2{top:-.5rem}.-top-40{top:-10rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.bottom-8{bottom:2rem}.bottom-full{bottom:100%}.end-1{inset-inline-end:.25rem}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-3{left:.75rem}.left-4{left:1rem}.right-0{right:0}.right-1{right:.25rem}.right-3{right:.75rem}.right-4{right:1rem}.right-5{right:1.25rem}.right-6{right:1.5rem}.right-8{right:2rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-20{top:5rem}.top-3{top:.75rem}.top-4{top:1rem}.top-5{top:1.25rem}.top-6{top:1.5rem}.top-8{top:2rem}.top-full{top:100%}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.col-span-1{grid-column:span 1/span 1}.col-span-full{grid-column:1/-1}.m-1{margin:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-8{margin-left:2rem;margin-right:2rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.-mb-px{margin-bottom:-1px}.-ml-1{margin-left:-.25rem}.-mt-8{margin-top:-2rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-6{margin-left:1.5rem}.ml-8{margin-left:2rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mr-6{margin-right:1.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.list-item{display:list-item}.hidden{display:none}.h-0{height:0}.h-1{height:.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-24{height:6rem}.h-28{height:7rem}.h-3{height:.75rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-80{height:20rem}.h-96{height:24rem}.h-full{height:100%}.max-h-64{max-height:16rem}.max-h-96{max-height:24rem}.max-h-\[90vh\]{max-height:90vh}.min-h-\[80vh\]{min-height:80vh}.min-h-screen{min-height:100vh}.w-0{width:0}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-96{width:24rem}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-40{min-width:10rem}.min-w-\[150px\]{min-width:150px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.translate-x-6{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-6{--tw-translate-x:1.5rem}.translate-x-full{--tw-translate-x:100%}.rotate-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-0{--tw-rotate:0deg}.rotate-90{--tw-rotate:90deg}.rotate-90,.skew-x-12{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.skew-x-12{--tw-skew-x:12deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.scale-75{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-75{--tw-scale-x:.75;--tw-scale-y:.75}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn .5s ease-in-out}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.animate-slide-up{animation:slideUp .3s ease-out}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize-none{resize:none}.resize{resize:both}.scroll-mt-8{scroll-margin-top:2rem}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem*var(--tw-space-x-reverse));margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem*var(--tw-space-x-reverse));margin-left:calc(2rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.divide-slate-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(226 232 240/var(--tw-divide-opacity,1))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:16px}.rounded-3xl{border-radius:24px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:12px}.rounded-b-3xl{border-bottom-right-radius:24px;border-bottom-left-radius:24px}.rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.rounded-t-3xl{border-top-left-radius:24px;border-top-right-radius:24px}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-r-4{border-right-width:4px}.border-t{border-top-width:1px}.border-t-4{border-top-width:4px}.border-dashed{border-style:dashed}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-200\/50{border-color:rgba(191,219,254,.5)}.border-blue-300{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.border-emerald-200\/50{border-color:rgba(167,243,208,.5)}.border-emerald-500{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-200\/50{border-color:rgba(229,231,235,.5)}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-green-200\/50{border-color:rgba(187,247,208,.5)}.border-green-300{--tw-border-opacity:1;border-color:rgb(134 239 172/var(--tw-border-opacity,1))}.border-green-400{--tw-border-opacity:1;border-color:rgb(74 222 128/var(--tw-border-opacity,1))}.border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.border-green-600{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity,1))}.border-indigo-200{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.border-indigo-200\/50{border-color:rgba(199,210,254,.5)}.border-mercedes-blue{--tw-border-opacity:1;border-color:rgb(0 115 206/var(--tw-border-opacity,1))}.border-mercedes-silver{--tw-border-opacity:1;border-color:rgb(170 169 173/var(--tw-border-opacity,1))}.border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.border-orange-200\/50{border-color:hsla(32,98%,83%,.5)}.border-orange-300{--tw-border-opacity:1;border-color:rgb(253 186 116/var(--tw-border-opacity,1))}.border-orange-400{--tw-border-opacity:1;border-color:rgb(251 146 60/var(--tw-border-opacity,1))}.border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.border-purple-200\/50{border-color:rgba(233,213,255,.5)}.border-purple-600{--tw-border-opacity:1;border-color:rgb(147 51 234/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-200\/50{border-color:hsla(0,96%,89%,.5)}.border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-slate-200\/30{border-color:rgba(226,232,240,.3)}.border-slate-200\/50{border-color:rgba(226,232,240,.5)}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-white\/10{border-color:hsla(0,0%,100%,.1)}.border-white\/20{border-color:hsla(0,0%,100%,.2)}.border-white\/30{border-color:hsla(0,0%,100%,.3)}.border-white\/50{border-color:hsla(0,0%,100%,.5)}.border-yellow-200{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.border-yellow-300{--tw-border-opacity:1;border-color:rgb(253 224 71/var(--tw-border-opacity,1))}.border-yellow-400{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity,1))}.border-yellow-500{--tw-border-opacity:1;border-color:rgb(234 179 8/var(--tw-border-opacity,1))}.border-t-slate-800{--tw-border-opacity:1;border-top-color:rgb(30 41 59/var(--tw-border-opacity,1))}.border-t-slate-900{--tw-border-opacity:1;border-top-color:rgb(15 23 42/var(--tw-border-opacity,1))}.border-t-transparent{border-top-color:transparent}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/20{background-color:rgba(0,0,0,.2)}.bg-black\/30{background-color:rgba(0,0,0,.3)}.bg-black\/50{background-color:rgba(0,0,0,.5)}.bg-black\/60{background-color:rgba(0,0,0,.6)}.bg-black\/70{background-color:rgba(0,0,0,.7)}.bg-black\/75{background-color:rgba(0,0,0,.75)}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-50\/50{background-color:rgba(239,246,255,.5)}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-cyan-100{--tw-bg-opacity:1;background-color:rgb(207 250 254/var(--tw-bg-opacity,1))}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.bg-error{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-50\/50{background-color:rgba(240,253,244,.5)}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.bg-indigo-50\/50{background-color:rgba(238,242,255,.5)}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.bg-info{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-mercedes-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-mercedes-blue{--tw-bg-opacity:1;background-color:rgb(0 115 206/var(--tw-bg-opacity,1))}.bg-mercedes-silver{--tw-bg-opacity:1;background-color:rgb(170 169 173/var(--tw-bg-opacity,1))}.bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.bg-orange-400{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-orange-50\/50{background-color:rgba(255,247,237,.5)}.bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.bg-orange-600{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.bg-purple-400{--tw-bg-opacity:1;background-color:rgb(192 132 252/var(--tw-bg-opacity,1))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.bg-purple-50\/50{background-color:rgba(250,245,255,.5)}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-50\/50{background-color:hsla(0,86%,97%,.5)}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-50\/50{background-color:rgba(248,250,252,.5)}.bg-slate-500{--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity,1))}.bg-slate-600{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.bg-slate-700{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-success{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-teal-100{--tw-bg-opacity:1;background-color:rgb(204 251 241/var(--tw-bg-opacity,1))}.bg-teal-500{--tw-bg-opacity:1;background-color:rgb(20 184 166/var(--tw-bg-opacity,1))}.bg-warning{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.bg-white\/15{background-color:hsla(0,0%,100%,.15)}.bg-white\/20{background-color:hsla(0,0%,100%,.2)}.bg-white\/30{background-color:hsla(0,0%,100%,.3)}.bg-white\/40{background-color:hsla(0,0%,100%,.4)}.bg-white\/50{background-color:hsla(0,0%,100%,.5)}.bg-white\/60{background-color:hsla(0,0%,100%,.6)}.bg-white\/80{background-color:hsla(0,0%,100%,.8)}.bg-white\/90{background-color:hsla(0,0%,100%,.9)}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-yellow-400{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity,1))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-opacity-75{--tw-bg-opacity:0.75}.bg-opacity-95{--tw-bg-opacity:0.95}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--tw-gradient-stops))}.from-amber-500{--tw-gradient-from:#f59e0b var(--tw-gradient-from-position);--tw-gradient-to:rgba(245,158,11,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-100{--tw-gradient-from:#dbeafe var(--tw-gradient-from-position);--tw-gradient-to:rgba(219,234,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-300\/10{--tw-gradient-from:rgba(147,197,253,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,197,253,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-400{--tw-gradient-from:#60a5fa var(--tw-gradient-from-position);--tw-gradient-to:rgba(96,165,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-400\/20{--tw-gradient-from:rgba(96,165,250,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(96,165,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-50{--tw-gradient-from:#eff6ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,246,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-500\/10{--tw-gradient-from:rgba(59,130,246,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-600{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:rgba(37,99,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-600\/10{--tw-gradient-from:rgba(37,99,235,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(37,99,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-400{--tw-gradient-from:#34d399 var(--tw-gradient-from-position);--tw-gradient-to:rgba(52,211,153,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-50{--tw-gradient-from:#ecfdf5 var(--tw-gradient-from-position);--tw-gradient-to:rgba(236,253,245,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-500{--tw-gradient-from:#10b981 var(--tw-gradient-from-position);--tw-gradient-to:rgba(16,185,129,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-100{--tw-gradient-from:#dcfce7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(220,252,231,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-50{--tw-gradient-from:#f0fdf4 var(--tw-gradient-from-position);--tw-gradient-to:rgba(240,253,244,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-500{--tw-gradient-from:#22c55e var(--tw-gradient-from-position);--tw-gradient-to:rgba(34,197,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-500\/10{--tw-gradient-from:rgba(34,197,94,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(34,197,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-indigo-500{--tw-gradient-from:#6366f1 var(--tw-gradient-from-position);--tw-gradient-to:rgba(99,102,241,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-50{--tw-gradient-from:#fff7ed var(--tw-gradient-from-position);--tw-gradient-to:rgba(255,247,237,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-500{--tw-gradient-from:#f97316 var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,115,22,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-500\/10{--tw-gradient-from:rgba(249,115,22,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,115,22,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-400\/20{--tw-gradient-from:rgba(192,132,252,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(192,132,252,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-50{--tw-gradient-from:#faf5ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(250,245,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-500\/10{--tw-gradient-from:rgba(168,85,247,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-500{--tw-gradient-from:#ef4444 var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-500\/10{--tw-gradient-from:rgba(239,68,68,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-100{--tw-gradient-from:#f1f5f9 var(--tw-gradient-from-position);--tw-gradient-to:rgba(241,245,249,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-50{--tw-gradient-from:#f8fafc var(--tw-gradient-from-position);--tw-gradient-to:rgba(248,250,252,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-500{--tw-gradient-from:#64748b var(--tw-gradient-from-position);--tw-gradient-to:rgba(100,116,139,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-900{--tw-gradient-from:#0f172a var(--tw-gradient-from-position);--tw-gradient-to:rgba(15,23,42,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-violet-500{--tw-gradient-from:#8b5cf6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(139,92,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-white{--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-500{--tw-gradient-from:#eab308 var(--tw-gradient-from-position);--tw-gradient-to:rgba(234,179,8,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-blue-100{--tw-gradient-to:rgba(219,234,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#dbeafe var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-blue-200{--tw-gradient-to:rgba(191,219,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#bfdbfe var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-blue-50{--tw-gradient-to:rgba(239,246,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#eff6ff var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-blue-900{--tw-gradient-to:rgba(30,58,138,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#1e3a8a var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-green-50{--tw-gradient-to:rgba(240,253,244,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#f0fdf4 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-green-500{--tw-gradient-to:rgba(34,197,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#22c55e var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-indigo-50{--tw-gradient-to:rgba(238,242,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#eef2ff var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-purple-500{--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#a855f7 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-red-50{--tw-gradient-to:hsla(0,86%,97%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#fef2f2 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-white\/20{--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),hsla(0,0%,100%,.2) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-white\/5{--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),hsla(0,0%,100%,.05) var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-amber-600{--tw-gradient-to:#d97706 var(--tw-gradient-to-position)}.to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.to-blue-200{--tw-gradient-to:#bfdbfe var(--tw-gradient-to-position)}.to-blue-50{--tw-gradient-to:#eff6ff var(--tw-gradient-to-position)}.to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.to-emerald-50{--tw-gradient-to:#ecfdf5 var(--tw-gradient-to-position)}.to-emerald-500{--tw-gradient-to:#10b981 var(--tw-gradient-to-position)}.to-emerald-500\/10{--tw-gradient-to:rgba(16,185,129,.1) var(--tw-gradient-to-position)}.to-emerald-600{--tw-gradient-to:#059669 var(--tw-gradient-to-position)}.to-green-200{--tw-gradient-to:#bbf7d0 var(--tw-gradient-to-position)}.to-green-50{--tw-gradient-to:#f0fdf4 var(--tw-gradient-to-position)}.to-green-600{--tw-gradient-to:#16a34a var(--tw-gradient-to-position)}.to-indigo-100{--tw-gradient-to:#e0e7ff var(--tw-gradient-to-position)}.to-indigo-300\/10{--tw-gradient-to:rgba(165,180,252,.1) var(--tw-gradient-to-position)}.to-indigo-50{--tw-gradient-to:#eef2ff var(--tw-gradient-to-position)}.to-indigo-500{--tw-gradient-to:#6366f1 var(--tw-gradient-to-position)}.to-indigo-500\/10{--tw-gradient-to:rgba(99,102,241,.1) var(--tw-gradient-to-position)}.to-indigo-600{--tw-gradient-to:#4f46e5 var(--tw-gradient-to-position)}.to-indigo-600\/20{--tw-gradient-to:rgba(79,70,229,.2) var(--tw-gradient-to-position)}.to-indigo-900{--tw-gradient-to:#312e81 var(--tw-gradient-to-position)}.to-orange-50{--tw-gradient-to:#fff7ed var(--tw-gradient-to-position)}.to-orange-500{--tw-gradient-to:#f97316 var(--tw-gradient-to-position)}.to-orange-600{--tw-gradient-to:#ea580c var(--tw-gradient-to-position)}.to-pink-50{--tw-gradient-to:#fdf2f8 var(--tw-gradient-to-position)}.to-pink-500\/10{--tw-gradient-to:rgba(236,72,153,.1) var(--tw-gradient-to-position)}.to-pink-600\/20{--tw-gradient-to:rgba(219,39,119,.2) var(--tw-gradient-to-position)}.to-purple-100{--tw-gradient-to:#f3e8ff var(--tw-gradient-to-position)}.to-purple-200{--tw-gradient-to:#e9d5ff var(--tw-gradient-to-position)}.to-purple-50{--tw-gradient-to:#faf5ff var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to:#9333ea var(--tw-gradient-to-position)}.to-purple-600\/10{--tw-gradient-to:rgba(147,51,234,.1) var(--tw-gradient-to-position)}.to-red-50{--tw-gradient-to:#fef2f2 var(--tw-gradient-to-position)}.to-red-500{--tw-gradient-to:#ef4444 var(--tw-gradient-to-position)}.to-red-500\/10{--tw-gradient-to:rgba(239,68,68,.1) var(--tw-gradient-to-position)}.to-red-600{--tw-gradient-to:#dc2626 var(--tw-gradient-to-position)}.to-rose-500{--tw-gradient-to:#f43f5e var(--tw-gradient-to-position)}.to-slate-100{--tw-gradient-to:#f1f5f9 var(--tw-gradient-to-position)}.to-slate-200{--tw-gradient-to:#e2e8f0 var(--tw-gradient-to-position)}.to-slate-600{--tw-gradient-to:#475569 var(--tw-gradient-to-position)}.to-slate-700{--tw-gradient-to:#334155 var(--tw-gradient-to-position)}.to-teal-50{--tw-gradient-to:#f0fdfa var(--tw-gradient-to-position)}.to-teal-600{--tw-gradient-to:#0d9488 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.to-violet-500\/10{--tw-gradient-to:rgba(139,92,246,.1) var(--tw-gradient-to-position)}.to-white{--tw-gradient-to:#fff var(--tw-gradient-to-position)}.to-yellow-600{--tw-gradient-to:#ca8a04 var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-current{fill:currentColor}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-10{padding:2.5rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-20{padding-bottom:5rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pl-10{padding-left:2.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pr-10{padding-right:2.5rem}.pr-12{padding-right:3rem}.pr-20{padding-right:5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.font-mercedes{font-family:Mercedes-Benz Text,Arial,sans-serif}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-8xl{font-size:6rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-4{line-height:1rem}.leading-6{line-height:1.5rem}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-blue-100{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity,1))}.text-blue-200{--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-blue-900{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.text-cyan-600{--tw-text-opacity:1;color:rgb(8 145 178/var(--tw-text-opacity,1))}.text-emerald-300{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity,1))}.text-error{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-green-900{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity,1))}.text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity,1))}.text-indigo-900{--tw-text-opacity:1;color:rgb(49 46 129/var(--tw-text-opacity,1))}.text-mercedes-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-mercedes-blue{--tw-text-opacity:1;color:rgb(0 115 206/var(--tw-text-opacity,1))}.text-mercedes-gray{--tw-text-opacity:1;color:rgb(94 94 94/var(--tw-text-opacity,1))}.text-mercedes-silver{--tw-text-opacity:1;color:rgb(170 169 173/var(--tw-text-opacity,1))}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.text-pink-600{--tw-text-opacity:1;color:rgb(219 39 119/var(--tw-text-opacity,1))}.text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity,1))}.text-purple-900{--tw-text-opacity:1;color:rgb(88 28 135/var(--tw-text-opacity,1))}.text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-success{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-teal-600{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}.text-transparent{color:transparent}.text-warning{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-200{--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}.text-yellow-300{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-yellow-700{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.text-yellow-900{--tw-text-opacity:1;color:rgb(113 63 18/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.overline{text-decoration-line:overline}.placeholder-slate-500::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.placeholder-slate-500::placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-inner,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-mercedes-blue{--tw-ring-opacity:1;--tw-ring-color:rgb(0 115 206/var(--tw-ring-opacity,1))}.blur{--tw-blur:blur(8px)}.blur,.blur-2xl{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-2xl{--tw-blur:blur(40px)}.blur-3xl{--tw-blur:blur(64px)}.blur-3xl,.drop-shadow{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-md,.backdrop-blur-sm{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.backdrop-blur-xl,.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.delay-1000{transition-delay:1s}.delay-500{transition-delay:.5s}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.glassmorphism{background:hsla(0,0%,100%,.05);border-radius:16px;box-shadow:0 8px 32px 0 rgba(31,38,135,.37);border:1px solid hsla(0,0%,100%,.18)}.glassmorphism,.glassmorphism-dark{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.glassmorphism-dark{background:rgba(0,0,0,.05);border-radius:16px;box-shadow:0 8px 32px 0 rgba(0,0,0,.37);border:1px solid rgba(0,0,0,.18)}.text-shadow{text-shadow:0 2px 4px rgba(0,0,0,.1)}.flash-message{position:fixed;top:1rem;right:1rem;z-index:50;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:16px;border-width:1px;padding:1rem 1.5rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s;background:hsla(0,0%,100%,.08);backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%);-webkit-backdrop-filter:blur(40px) saturate(200%) brightness(130%) contrast(110%);border:1px solid hsla(0,0%,100%,.25);box-shadow:0 32px 64px rgba(0,0,0,.25),0 12px 24px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px hsla(0,0%,100%,.1);animation:flash-slide-in .5s cubic-bezier(.4,0,.2,1);transition:all .5s cubic-bezier(.4,0,.2,1)}.dark .flash-message{background:rgba(0,0,0,.2);backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(120%) contrast(115%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 32px 64px rgba(0,0,0,.6),0 12px 24px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)}.flash-message:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 40px 80px rgba(0,0,0,.3),0 16px 32px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.5),0 0 0 1px hsla(0,0%,100%,.15)}.dark .flash-message:hover{box-shadow:0 40px 80px rgba(0,0,0,.7),0 16px 32px rgba(0,0,0,.5),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.1)}.flash-message.info{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(59,130,246,.2),rgba(147,197,253,.15) 50%,rgba(59,130,246,.1));border:1px solid rgba(59,130,246,.3)}.flash-message.success{--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(34,197,94,.2),rgba(134,239,172,.15) 50%,rgba(34,197,94,.1));border:1px solid rgba(34,197,94,.3)}.flash-message.warning{--tw-text-opacity:1;color:rgb(254 249 195/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(245,158,11,.2),rgba(252,211,77,.15) 50%,rgba(245,158,11,.1));border:1px solid rgba(245,158,11,.3)}.flash-message.error{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1));background:linear-gradient(135deg,rgba(239,68,68,.2),hsla(0,94%,82%,.15) 50%,rgba(239,68,68,.1));border:1px solid rgba(239,68,68,.3)}@keyframes flash-slide-in{0%{opacity:0;transform:translateX(100%) translateY(-20px) scale(.9);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}50%{opacity:.8;transform:translateX(20px) translateY(-10px) scale(1.05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}to{opacity:1;transform:translateX(0) translateY(0) scale(1);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px)}}@keyframes flash-slide-out{0%{opacity:1;transform:translateX(0) translateY(0) scale(1)}to{opacity:0;transform:translateX(100%) translateY(-20px) scale(.9)}}.flash-message.hiding{animation:flash-slide-out .4s cubic-bezier(.4,0,.2,1) forwards}.dnd-toggle{position:relative;display:inline-flex;height:1.5rem;width:2.75rem;align-items:center;border-radius:9999px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.dnd-toggle:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px}.dnd-toggle{background:rgba(156,163,175,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(156,163,175,.2)}.dnd-toggle.active{background:rgba(239,68,68,.3);border:1px solid rgba(239,68,68,.4)}.dnd-toggle-slider{display:inline-block;height:1rem;width:1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:9999px;--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:hsla(0,0%,100%,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 4px 8px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.1);margin:.125rem}.dnd-toggle.active .dnd-toggle-slider{transform:translateX(1.25rem);background:#fff;box-shadow:0 6px 12px rgba(239,68,68,.3),0 3px 6px rgba(239,68,68,.2)}.dnd-indicator{position:fixed;top:1rem;left:1rem;z-index:50;display:flex;align-items:center;border-radius:.5rem;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:rgba(239,68,68,.1);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid rgba(239,68,68,.3);color:#ef4444;transform:translateY(-100%);opacity:0}.dnd-indicator.active{transform:translateY(0);opacity:1}.dnd-modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(0,0,0,.3);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.dnd-modal-content{width:100%;max-width:28rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:16px;padding:1.5rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background:hsla(0,0%,100%,.1);backdrop-filter:blur(40px) saturate(200%) brightness(120%);-webkit-backdrop-filter:blur(40px) saturate(200%) brightness(120%);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 25px 50px rgba(0,0,0,.25),0 8px 16px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.4)}.dark .dnd-modal-content{background:rgba(0,0,0,.3);backdrop-filter:blur(40px) saturate(180%) brightness(110%);-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(110%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 25px 50px rgba(0,0,0,.6),0 8px 16px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2)}.flash-message.dnd-suppressed{animation:flash-fade-in .3s ease-out;opacity:.3;transform:scale(.95);pointer-events:none}@keyframes flash-fade-in{0%{opacity:0;transform:scale(.9)}to{opacity:.3;transform:scale(.95)}}.dnd-counter{position:absolute;top:-.5rem;right:-.5rem;display:flex;height:1.25rem;width:1.25rem;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1));font-size:.75rem;line-height:1rem;font-weight:700;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));background:rgba(239,68,68,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.2);box-shadow:0 2px 4px rgba(0,0,0,.2);animation:dnd-counter-bounce .5s ease-out}@keyframes dnd-counter-bounce{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.mercedes-background:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' fill='currentColor' opacity='.03'%3E%3Cpath d='M58.6 4.5C53 1.6 46.7 0 40 0S27 1.6 21.4 4.5C8.7 11.2 0 24.6 0 40s8.7 28.8 21.5 35.5C27 78.3 33.3 80 40 80s12.9-1.7 18.5-4.6C71.3 68.8 80 55.4 80 40S71.3 11.2 58.6 4.5M4 40c0-13.1 7-24.5 17.5-30.9C26.6 6 32.5 4.2 39 4l-4.5 32.7-13 10.1L8.3 57.1C5.6 52 4 46.2 4 40m54.6 30.8C53.1 74.1 46.8 76 40 76s-13.2-1.9-18.6-5.2c-4.9-2.9-8.9-6.9-11.9-11.7l11.9-4.9L40 46.6l18.6 7.5 12 4.9c-3 4.9-7.2 8.9-12 11.8m0-24-12.9-10L41.1 4c6.3.2 12.3 2 17.4 5.1C69 15.4 76 26.9 76 40c0 6.2-1.5 12-4.3 17.1z'/%3E%3C/svg%3E");background-position:50%;background-repeat:repeat;background-size:120px 120px;pointer-events:none;opacity:.03;transition:opacity .3s ease}.dark .mercedes-background:before{opacity:.015;filter:invert(1) brightness(.3);background-size:150px 150px}.navbar{position:sticky!important;top:0!important;z-index:50!important;width:100%!important;left:0!important;right:0!important;--navbar-blur:40px;--navbar-opacity:0.15;background:rgba(255,255,255,var(--navbar-opacity,.15))!important;backdrop-filter:blur(var(--navbar-blur,40px)) saturate(200%) brightness(110%) contrast(105%)!important;-webkit-backdrop-filter:blur(var(--navbar-blur,40px)) saturate(200%) brightness(110%) contrast(105%)!important;box-shadow:0 8px 32px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.08),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.15)!important;border-bottom:1px solid hsla(0,0%,100%,.2)!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important}.dark .navbar{--navbar-dark-opacity:0.25;background:rgba(0,0,0,var(--navbar-dark-opacity,.25))!important;backdrop-filter:blur(calc(var(--navbar-blur, 40px) + 5px)) saturate(180%) brightness(120%) contrast(115%)!important;-webkit-backdrop-filter:blur(calc(var(--navbar-blur, 40px) + 5px)) saturate(180%) brightness(120%) contrast(115%)!important;box-shadow:0 8px 32px rgba(0,0,0,.4),0 2px 8px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.15),0 0 0 1px hsla(0,0%,100%,.08)!important;border-bottom:1px solid hsla(0,0%,100%,.1)!important}.navbar.scrolled{--navbar-blur:50px;--navbar-opacity:0.25;background:rgba(255,255,255,var(--navbar-opacity,.25))!important;backdrop-filter:blur(var(--navbar-blur,50px)) saturate(220%) brightness(115%) contrast(110%)!important;-webkit-backdrop-filter:blur(var(--navbar-blur,50px)) saturate(220%) brightness(115%) contrast(110%)!important;box-shadow:0 12px 40px rgba(0,0,0,.15),0 4px 12px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.4),0 0 0 1px hsla(0,0%,100%,.2)!important}.dark .navbar.scrolled{--navbar-dark-opacity:0.35;background:rgba(0,0,0,var(--navbar-dark-opacity,.35))!important;backdrop-filter:blur(calc(var(--navbar-blur, 50px) + 5px)) saturate(200%) brightness(125%) contrast(120%)!important;-webkit-backdrop-filter:blur(calc(var(--navbar-blur, 50px) + 5px)) saturate(200%) brightness(125%) contrast(120%)!important;box-shadow:0 12px 40px rgba(0,0,0,.5),0 4px 12px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.1)!important}.navbar-menu-new{display:flex;align-items:center;justify-content:center}.navbar-menu-new>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.125rem*var(--tw-space-x-reverse));margin-left:calc(.125rem*(1 - var(--tw-space-x-reverse)))}@media (min-width:768px){.navbar-menu-new>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}}.navbar-menu-new{max-width:100%;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;background:hsla(0,0%,100%,.1);backdrop-filter:blur(25px) saturate(170%) brightness(108%);-webkit-backdrop-filter:blur(25px) saturate(170%) brightness(108%);border-radius:16px;padding:8px;margin:0 16px;border:1px solid hsla(0,0%,100%,.15);box-shadow:0 6px 20px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05);transition:all .3s cubic-bezier(.4,0,.2,1)}.dark .navbar-menu-new{background:rgba(0,0,0,.2);backdrop-filter:blur(30px) saturate(150%) brightness(115%);-webkit-backdrop-filter:blur(30px) saturate(150%) brightness(115%);border:1px solid hsla(0,0%,100%,.1);box-shadow:0 6px 20px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.1),0 0 0 1px hsla(0,0%,100%,.03)}.navbar-menu-new::-webkit-scrollbar{display:none}.navbar-menu-new:hover{backdrop-filter:blur(35px) saturate(190%) brightness(112%);-webkit-backdrop-filter:blur(35px) saturate(190%) brightness(112%);box-shadow:0 8px 25px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.1);transform:translateY(-1px)}.dark .navbar-menu-new:hover{backdrop-filter:blur(40px) saturate(170%) brightness(120%);-webkit-backdrop-filter:blur(40px) saturate(170%) brightness(120%);box-shadow:0 8px 25px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.15),0 0 0 1px hsla(0,0%,100%,.05)}.nav-item{display:flex;align-items:center}.nav-item>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.375rem*var(--tw-space-x-reverse));margin-left:calc(.375rem*(1 - var(--tw-space-x-reverse)))}.nav-item{border-radius:12px;padding:.625rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;color:rgba(15,23,42,.85);background:hsla(0,0%,100%,.08);backdrop-filter:blur(15px) saturate(140%);-webkit-backdrop-filter:blur(15px) saturate(140%);border:1px solid hsla(0,0%,100%,.1);box-shadow:0 4px 12px rgba(0,0,0,.05),inset 0 1px 0 hsla(0,0%,100%,.15);position:relative;overflow:hidden;animation:nav-item-entrance .6s ease-out}.nav-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);transition:left .5s}.nav-item:hover:before{left:100%}.nav-item:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg at 50% 50%,transparent 0deg,hsla(0,0%,100%,.1) 30deg,transparent 60deg);opacity:0;transition:opacity .3s ease;pointer-events:none;animation:rotate 3s linear infinite}.nav-item:hover:after{opacity:1}.dark .nav-item{color:hsla(0,0%,100%,.85);background:rgba(0,0,0,.15);backdrop-filter:blur(20px) saturate(130%);-webkit-backdrop-filter:blur(20px) saturate(130%);border:1px solid hsla(0,0%,100%,.08);box-shadow:0 4px 12px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.08)}.nav-item:hover{color:#0f172a;background:hsla(0,0%,100%,.2);backdrop-filter:blur(25px) saturate(160%) brightness(110%);-webkit-backdrop-filter:blur(25px) saturate(160%) brightness(110%);border:1px solid hsla(0,0%,100%,.25);box-shadow:0 8px 20px rgba(0,0,0,.12),inset 0 1px 0 hsla(0,0%,100%,.3),0 0 0 1px hsla(0,0%,100%,.1);transform:translateY(-2px) scale(1.02)}.dark .nav-item:hover{color:#fff;background:rgba(0,0,0,.25);backdrop-filter:blur(30px) saturate(150%) brightness(120%);-webkit-backdrop-filter:blur(30px) saturate(150%) brightness(120%);border:1px solid hsla(0,0%,100%,.15);box-shadow:0 8px 20px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.15),0 0 0 1px hsla(0,0%,100%,.05)}.nav-item.active{color:#0f172a;background:hsla(0,0%,100%,.35);backdrop-filter:blur(35px) saturate(180%) brightness(115%);-webkit-backdrop-filter:blur(35px) saturate(180%) brightness(115%);border:1px solid hsla(0,0%,100%,.4);box-shadow:0 12px 24px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.5),0 0 0 1px rgba(59,130,246,.3);transform:translateY(-1px);animation:nav-item-active-glow 2s ease-in-out infinite alternate}.dark .nav-item.active{color:#fff;background:rgba(0,0,0,.4);backdrop-filter:blur(40px) saturate(160%) brightness(125%);-webkit-backdrop-filter:blur(40px) saturate(160%) brightness(125%);border:1px solid hsla(0,0%,100%,.2);box-shadow:0 12px 24px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px rgba(59,130,246,.2)}@keyframes nav-item-entrance{0%{opacity:0;transform:translateY(10px) scale(.95);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}to{opacity:1;transform:translateY(0) scale(1);-webkit-backdrop-filter:blur(15px) saturate(140%);backdrop-filter:blur(15px) saturate(140%)}}@keyframes nav-item-active-glow{0%{box-shadow:0 12px 24px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.5),0 0 0 1px rgba(59,130,246,.3)}to{box-shadow:0 16px 32px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.6),0 0 0 2px rgba(59,130,246,.5)}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.navbar:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,hsla(0,0%,100%,.1) 1px,transparent 0),radial-gradient(circle at 80% 50%,hsla(0,0%,100%,.1) 1px,transparent 0),radial-gradient(circle at 40% 20%,hsla(0,0%,100%,.05) 1px,transparent 0),radial-gradient(circle at 60% 80%,hsla(0,0%,100%,.05) 1px,transparent 0);opacity:0;animation:glassmorphism-particles 8s ease-in-out infinite;pointer-events:none}.dark .navbar:before{background:radial-gradient(circle at 20% 50%,hsla(0,0%,100%,.05) 1px,transparent 0),radial-gradient(circle at 80% 50%,hsla(0,0%,100%,.05) 1px,transparent 0),radial-gradient(circle at 40% 20%,hsla(0,0%,100%,.03) 1px,transparent 0),radial-gradient(circle at 60% 80%,hsla(0,0%,100%,.03) 1px,transparent 0)}@keyframes glassmorphism-particles{0%,to{opacity:0;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.dark-mode-toggle-new{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:9999px;padding:.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:rgba(241,245,249,.8);border:1px solid hsla(0,0%,100%,.7);box-shadow:0 2px 8px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.04);color:#334155;z-index:100}.dark-mode-toggle-new:hover{--tw-translate-y:-0.125rem;background:rgba(241,245,249,.9);box-shadow:0 8px 16px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.06)}.dark-mode-toggle-new:active,.dark-mode-toggle-new:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark-mode-toggle-new:active{--tw-scale-x:.95;--tw-scale-y:.95;transition:transform .1s}.dark .dark-mode-toggle-new{background:rgba(30,41,59,.8);border:1px solid hsla(0,0%,100%,.1);box-shadow:0 2px 8px rgba(0,0,0,.2),0 1px 2px rgba(0,0,0,.1);color:#e2e8f0}.dark .dark-mode-toggle-new:hover{background:rgba(30,41,59,.9);box-shadow:0 8px 16px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.15)}.dark-mode-toggle-new .moon-icon,.dark-mode-toggle-new .sun-icon{position:absolute;top:50%;left:50%;--tw-translate-x:-50%;--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.dark-mode-toggle-new .moon-icon:not(.hidden),.dark-mode-toggle-new .sun-icon:not(.hidden){animation:spin-in .5s cubic-bezier(.25,1,.5,1) forwards}@keyframes spin-in{0%{opacity:0;transform:translateY(10px) scale(.7) rotate(20deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}.dark .sun-icon{display:none}.dark .moon-icon,.sun-icon{display:block}.moon-icon{display:none}.user-menu-button-new{display:flex;align-items:center}.user-menu-button-new>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.375rem*var(--tw-space-x-reverse));margin-left:calc(.375rem*(1 - var(--tw-space-x-reverse)))}.user-menu-button-new{border-radius:.5rem;padding:.25rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:rgba(241,245,249,.6);border:1px solid hsla(0,0%,100%,.6);box-shadow:0 2px 8px rgba(0,0,0,.04),0 1px 2px rgba(0,0,0,.02)}.user-menu-button-new:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));background:rgba(241,245,249,.8);box-shadow:0 8px 16px rgba(0,0,0,.06),0 2px 4px rgba(0,0,0,.04)}.dark .user-menu-button-new{background:rgba(30,41,59,.6);border:1px solid hsla(0,0%,100%,.08);box-shadow:0 2px 8px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.1)}.dark .user-menu-button-new:hover{background:rgba(30,41,59,.8);box-shadow:0 8px 16px rgba(0,0,0,.15),0 2px 4px rgba(0,0,0,.1)}.user-avatar-new{display:flex;height:1.75rem;width:1.75rem;align-items:center;justify-content:center;border-radius:9999px;font-size:.75rem;line-height:1rem;font-weight:600;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:linear-gradient(135deg,#000,#333);box-shadow:0 2px 4px rgba(0,0,0,.2),0 1px 2px rgba(0,0,0,.1)}.dark .user-avatar-new{background:linear-gradient(135deg,#f8fafc,#e2e8f0);color:#0f172a;box-shadow:0 2px 4px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.2)}.login-button-new{display:flex;align-items:center;border-radius:.5rem;padding:.375rem .75rem;font-size:.75rem;line-height:1rem;font-weight:500;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:#000;color:#fff;border:1px solid hsla(0,0%,100%,.1);box-shadow:0 2px 8px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.08)}.login-button-new:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));background:#333;box-shadow:0 8px 16px rgba(0,0,0,.15),0 3px 4px rgba(0,0,0,.1)}.dark .login-button-new{background:#fff;color:#000;border:1px solid rgba(0,0,0,.1);box-shadow:0 2px 8px rgba(0,0,0,.2),0 1px 2px rgba(0,0,0,.15)}.dark .login-button-new:hover{background:#f1f5f9;box-shadow:0 8px 16px rgba(0,0,0,.25),0 3px 4px rgba(0,0,0,.2)}.mobile-menu-new{z-index:40;width:100%;overflow:hidden;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:hsla(0,0%,100%,.8);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 4px 20px rgba(0,0,0,.06);max-height:0;opacity:0}.mobile-menu-new,.mobile-menu-new.open{border-bottom:1px solid rgba(241,245,249,.8)}.mobile-menu-new.open{max-height:400px;opacity:1}.dark .mobile-menu-new{background:rgba(15,23,42,.8);box-shadow:0 4px 20px rgba(0,0,0,.2);border-bottom:1px solid rgba(30,41,59,.8)}.mobile-nav-item{display:flex;align-items:center}.mobile-nav-item>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.625rem*var(--tw-space-x-reverse));margin-left:calc(.625rem*(1 - var(--tw-space-x-reverse)))}.mobile-nav-item{border-radius:.5rem;padding:.625rem .75rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.mobile-nav-item:is(.dark *){--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.mobile-nav-item:hover{background:rgba(241,245,249,.8)}.dark .mobile-nav-item:hover{background:rgba(30,41,59,.6)}.mobile-nav-item.active{background:rgba(241,245,249,.9);color:#000;font-weight:500}.dark .mobile-nav-item.active{background:rgba(30,41,59,.8);color:#fff}.mb-stat-card{background:linear-gradient(135deg,rgba(240,249,255,.6),rgba(230,242,255,.6));color:#0f172a;position:relative;overflow:hidden;border:none;border-radius:var(--card-radius);backdrop-filter:blur(20px) saturate(180%) brightness(110%);-webkit-backdrop-filter:blur(20px) saturate(180%) brightness(110%);box-shadow:0 25px 50px rgba(0,0,0,.15),0 0 0 1px hsla(0,0%,100%,.1);padding:1.5rem;margin:1rem;transition:transform .3s ease,box-shadow .3s ease}.dark .mb-stat-card{background:linear-gradient(135deg,rgba(0,0,0,.7),hsla(0,0%,4%,.7));color:var(--text-primary,#f8fafc);box-shadow:0 25px 50px rgba(0,0,0,.3),0 0 0 1px hsla(0,0%,100%,.05)}.job-card,.stats-card{border-radius:12px;border-width:1px;border-color:rgba(229,231,235,.7);background-color:hsla(0,0%,100%,.6);--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-backdrop-blur:blur(40px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.job-card:is(.dark *),.stats-card:is(.dark *){border-color:rgba(51,65,85,.2);background-color:rgba(0,0,0,.8)}.job-card,.stats-card{backdrop-filter:blur(24px) saturate(200%) brightness(120%);-webkit-backdrop-filter:blur(24px) saturate(200%) brightness(120%);box-shadow:0 25px 50px rgba(0,0,0,.2),0 0 0 1px hsla(0,0%,100%,.1);border-radius:var(--card-radius)}footer{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:hsla(0,0%,100%,.1);backdrop-filter:blur(30px) saturate(180%) brightness(120%);-webkit-backdrop-filter:blur(30px) saturate(180%) brightness(120%);border-top:1px solid hsla(0,0%,100%,.2);box-shadow:0 -8px 32px rgba(0,0,0,.1),0 -2px 8px rgba(0,0,0,.05),inset 0 1px 0 hsla(0,0%,100%,.2),0 0 0 1px hsla(0,0%,100%,.05)}.dark footer{background:rgba(0,0,0,.3);backdrop-filter:blur(30px) saturate(160%) brightness(110%);-webkit-backdrop-filter:blur(30px) saturate(160%) brightness(110%);border-top:1px solid hsla(0,0%,100%,.1);box-shadow:0 -8px 32px rgba(0,0,0,.3),0 -2px 8px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.1),0 0 0 1px hsla(0,0%,100%,.03)}.dropdown-arrow{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.mercedes-star-bg{position:relative}.mercedes-star-bg:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' fill='currentColor' opacity='.05'%3E%3Cpath d='M58.6 4.5C53 1.6 46.7 0 40 0S27 1.6 21.4 4.5C8.7 11.2 0 24.6 0 40s8.7 28.8 21.5 35.5C27 78.3 33.3 80 40 80s12.9-1.7 18.5-4.6C71.3 68.8 80 55.4 80 40S71.3 11.2 58.6 4.5M4 40c0-13.1 7-24.5 17.5-30.9C26.6 6 32.5 4.2 39 4l-4.5 32.7-13 10.1L8.3 57.1C5.6 52 4 46.2 4 40m54.6 30.8C53.1 74.1 46.8 76 40 76s-13.2-1.9-18.6-5.2c-4.9-2.9-8.9-6.9-11.9-11.7l11.9-4.9L40 46.6l18.6 7.5 12 4.9c-3 4.9-7.2 8.9-12 11.8m0-24-12.9-10L41.1 4c6.3.2 12.3 2 17.4 5.1C69 15.4 76 26.9 76 40c0 6.2-1.5 12-4.3 17.1z'/%3E%3C/svg%3E");background-position:50%;background-repeat:repeat;background-size:40px 40px;z-index:-1;opacity:.05}.dark .mercedes-star-bg:after{opacity:.02;filter:invert(1) brightness(.4)}.glass-effect{backdrop-filter:blur(20px) saturate(180%) brightness(110%);-webkit-backdrop-filter:blur(20px) saturate(180%) brightness(110%);background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);box-shadow:0 8px 32px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.3)}.dark .glass-effect{background:rgba(0,0,0,.3);border:1px solid hsla(0,0%,100%,.1);box-shadow:0 8px 32px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.15)}.glass-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-hover:hover{transform:translateY(-2px);backdrop-filter:blur(25px) saturate(200%) brightness(120%);-webkit-backdrop-filter:blur(25px) saturate(200%) brightness(120%);box-shadow:0 20px 40px rgba(0,0,0,.15),0 8px 16px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.4)}.dark .glass-hover:hover{box-shadow:0 20px 40px rgba(0,0,0,.4),0 8px 16px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.2)}.printer-card-new{position:relative;overflow:hidden;border-radius:12px;border-width:1px;border-color:rgba(229,231,235,.7);background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from:hsla(0,0%,100%,.9) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:hsla(0,0%,100%,.7) var(--tw-gradient-to-position);padding:1.25rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-backdrop-blur:blur(40px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.printer-card-new:hover{--tw-translate-y:-0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.printer-card-new:is(.dark *){border-color:rgba(51,65,85,.3);--tw-gradient-from:rgba(30,41,59,.9) var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,41,59,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:rgba(15,23,42,.7) var(--tw-gradient-to-position)}.printer-card-new{box-shadow:0 20px 40px rgba(0,0,0,.08),0 10px 20px rgba(0,0,0,.06),0 0 0 1px hsla(0,0%,100%,.1);border-radius:var(--card-radius,1rem)}.dark .printer-card-new{box-shadow:0 20px 40px rgba(0,0,0,.4),0 10px 20px rgba(0,0,0,.3),0 0 0 1px hsla(0,0%,100%,.05)}.printer-card-new.online{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1));background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from:rgba(240,253,244,.9) var(--tw-gradient-from-position);--tw-gradient-to:rgba(240,253,244,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:rgba(236,253,245,.8) var(--tw-gradient-to-position)}.printer-card-new.online:is(.dark *){border-color:rgba(21,128,61,.5);--tw-gradient-from:rgba(20,83,45,.3) var(--tw-gradient-from-position);--tw-gradient-to:rgba(20,83,45,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:rgba(6,78,59,.2) var(--tw-gradient-to-position)}.printer-card-new.online{box-shadow:0 20px 40px rgba(0,122,85,.08),0 10px 20px rgba(0,122,85,.06),0 0 0 1px rgba(209,250,229,.4)}.dark .printer-card-new.online{box-shadow:0 20px 40px rgba(0,0,0,.3),0 10px 20px rgba(0,0,0,.2),0 0 0 1px rgba(16,185,129,.2)}.status-badge-new{display:inline-flex;align-items:center}.status-badge-new>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.status-badge-new{border-radius:9999px;padding:.25rem .625rem;font-size:.75rem;line-height:1rem;font-weight:500;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);background:hsla(0,0%,100%,.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 2px 5px rgba(0,0,0,.05)}.dark .status-badge-new{background:rgba(30,41,59,.7);box-shadow:0 2px 5px rgba(0,0,0,.2)}.status-badge-new.online{background-color:rgba(220,252,231,.9);--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.status-badge-new.online:is(.dark *){background-color:rgba(20,83,45,.6);--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.status-badge-new.offline{background-color:hsla(0,93%,94%,.9);--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.status-badge-new.offline:is(.dark *){background-color:rgba(127,29,29,.6);--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.filter-bar-new{border-radius:.5rem;border-width:1px;border-color:rgba(229,231,235,.6);background-color:hsla(0,0%,100%,.8);padding:.375rem;--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.filter-bar-new:is(.dark *){border-color:rgba(51,65,85,.3);background-color:rgba(30,41,59,.8)}.filter-bar-new{box-shadow:0 10px 25px rgba(0,0,0,.05),0 5px 10px rgba(0,0,0,.03),0 0 0 1px hsla(0,0%,100%,.2)}.dark .filter-bar-new{box-shadow:0 10px 25px rgba(0,0,0,.2),0 5px 10px rgba(0,0,0,.15),0 0 0 1px hsla(0,0%,100%,.05)}.filter-btn-new{border-radius:.375rem;padding:.5rem .875rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.filter-btn-new.active{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.filter-btn-new.active:is(.dark *){--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.filter-btn-new.active{box-shadow:0 4px 10px rgba(0,0,0,.1)}.dark .filter-btn-new.active{box-shadow:0 4px 10px rgba(0,0,0,.3)}.action-btn-new{display:flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.5rem;padding:.625rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.action-btn-new:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.action-btn-new{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.action-btn-new.primary{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.action-btn-new.primary:hover{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.action-btn-new.primary:is(.dark *){--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.action-btn-new.primary:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.action-btn-new.primary{box-shadow:0 5px 15px rgba(79,70,229,.2)}.dark .action-btn-new.primary{box-shadow:0 5px 15px rgba(79,70,229,.3)}.action-btn-new.success{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.action-btn-new.success:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.action-btn-new.success:is(.dark *){--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.action-btn-new.success:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.action-btn-new.success{box-shadow:0 5px 15px rgba(16,185,129,.2)}.dark .action-btn-new.success{box-shadow:0 5px 15px rgba(16,185,129,.3)}.action-btn-new.danger{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.action-btn-new.danger:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.action-btn-new.danger:is(.dark *){--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.action-btn-new.danger:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.action-btn-new.danger{box-shadow:0 5px 15px rgba(239,68,68,.2)}.dark .action-btn-new.danger{box-shadow:0 5px 15px rgba(239,68,68,.3)}.printer-info-row{margin-bottom:.375rem;display:flex;align-items:center;gap:.5rem;font-size:.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.printer-info-row:is(.dark *){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}@media (min-width:640px){.printer-info-row{font-size:.875rem;line-height:1.25rem}}.printer-info-icon{height:.875rem;width:.875rem;flex-shrink:0;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.printer-info-icon:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}@media (min-width:640px){.printer-info-icon{height:1rem;width:1rem}}.online-indicator{position:absolute;top:.625rem;right:.625rem;height:.75rem;width:.75rem;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1));--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:0 0 0 rgba(16,185,129,.6);animation:pulse-ring 2s cubic-bezier(.455,.03,.515,.955) infinite}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 rgba(16,185,129,.6)}70%{box-shadow:0 0 0 6px rgba(16,185,129,0)}to{box-shadow:0 0 0 0 rgba(16,185,129,0)}}.status-overview-new{display:flex;flex-wrap:wrap;gap:.75rem;border-radius:.5rem;border-width:1px;border-color:rgba(229,231,235,.6);background-color:hsla(0,0%,100%,.6);padding:.75rem;font-size:.75rem;line-height:1rem;--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.status-overview-new:is(.dark *){border-color:rgba(51,65,85,.3);background-color:rgba(30,41,59,.6)}@media (min-width:640px){.status-overview-new{font-size:.875rem;line-height:1.25rem}}.status-overview-new{box-shadow:0 10px 25px rgba(0,0,0,.04),0 5px 10px rgba(0,0,0,.02),0 0 0 1px hsla(0,0%,100%,.1)}.dark .status-overview-new{box-shadow:0 10px 25px rgba(0,0,0,.15),0 5px 10px rgba(0,0,0,.1),0 0 0 1px hsla(0,0%,100%,.03)}.status-dot{height:.625rem;width:.625rem;border-radius:9999px}.status-dot.online{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1));animation:pulse-dot 2s cubic-bezier(.455,.03,.515,.955) infinite}.status-dot.offline{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}@keyframes pulse-dot{0%{transform:scale(.95);opacity:1}50%{transform:scale(1.1);opacity:.8}to{transform:scale(.95);opacity:1}}.modal-new{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background-color:rgba(0,0,0,.4);padding:1rem;--tw-backdrop-blur:blur(4px)}.modal-content-new,.modal-new{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.modal-content-new{width:100%;max-width:28rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:16px;border-width:1px;border-color:rgba(229,231,235,.6);background-color:hsla(0,0%,100%,.9);padding:1.5rem;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-backdrop-blur:blur(40px);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.modal-content-new:is(.dark *){border-color:rgba(51,65,85,.3);background-color:rgba(30,41,59,.9)}.modal-content-new{box-shadow:0 25px 50px rgba(0,0,0,.15),0 15px 30px rgba(0,0,0,.1),0 20px 25px -5px rgba(0,0,0,.5),0 10px 10px -5px rgba(0,0,0,.3)}.user-dropdown-item{display:flex;cursor:pointer;align-items:center;padding:.75rem 1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.user-dropdown-item:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.user-dropdown-item:is(.dark *){--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.user-dropdown-item:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.user-dropdown-item:first-child{border-top-left-radius:12px;border-top-right-radius:12px}.user-dropdown-item:last-child{border-bottom-right-radius:12px;border-bottom-left-radius:12px}.user-dropdown-item:hover{background:rgba(248,250,252,.8);transform:translateX(2px)}.dark .user-dropdown-item:hover{background:rgba(30,41,59,.8)}.user-dropdown-icon{margin-right:.75rem;height:1rem;width:1rem;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.user-dropdown-icon:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.user-dropdown-item:hover .user-dropdown-icon{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.user-dropdown-item:hover .user-dropdown-icon:is(.dark *){--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.user-dropdown-divider{margin-top:.25rem;margin-bottom:.25rem;border-top-width:1px;--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.user-dropdown-divider:is(.dark *){--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.user-info-section{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1));padding:.75rem 1rem}.user-info-section:is(.dark *){--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.user-info-section{background:rgba(248,250,252,.5)}.dark .user-info-section{background:rgba(30,41,59,.5)}.user-info-name{font-size:.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.user-info-name:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.user-info-role{margin-top:.25rem;font-size:.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.user-info-role:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:left-\[2px\]:after{content:var(--tw-content);left:2px}.after\:top-\[2px\]:after{content:var(--tw-content);top:2px}.after\:h-5:after{content:var(--tw-content);height:1.25rem}.after\:w-5:after{content:var(--tw-content);width:1.25rem}.after\:rounded-full:after{content:var(--tw-content);border-radius:9999px}.after\:border:after{content:var(--tw-content);border-width:1px}.after\:border-gray-300:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.after\:bg-white:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem}.hover\:-translate-y-0\.5:hover,.hover\:-translate-y-1:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.hover\:-translate-y-2:hover{--tw-translate-y:-0.5rem}.hover\:-translate-y-2:hover,.hover\:scale-105:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:scale-110:hover,.hover\:transform:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-blue-300:hover{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.hover\:border-blue-600:hover{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.hover\:border-emerald-600:hover{--tw-border-opacity:1;border-color:rgb(5 150 105/var(--tw-border-opacity,1))}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(134 239 172/var(--tw-border-opacity,1))}.hover\:border-mercedes-blue:hover{--tw-border-opacity:1;border-color:rgb(0 115 206/var(--tw-border-opacity,1))}.hover\:border-orange-300:hover{--tw-border-opacity:1;border-color:rgb(253 186 116/var(--tw-border-opacity,1))}.hover\:border-purple-300:hover{--tw-border-opacity:1;border-color:rgb(216 180 254/var(--tw-border-opacity,1))}.hover\:bg-amber-100:hover{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.hover\:bg-black\/5:hover{background-color:rgba(0,0,0,.05)}.hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-emerald-700:hover{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.hover\:bg-gray-400:hover{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.hover\:bg-indigo-600:hover{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.hover\:bg-mercedes-blue:hover{--tw-bg-opacity:1;background-color:rgb(0 115 206/var(--tw-bg-opacity,1))}.hover\:bg-mercedes-silver:hover{--tw-bg-opacity:1;background-color:rgb(170 169 173/var(--tw-bg-opacity,1))}.hover\:bg-orange-600:hover{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.hover\:bg-orange-700:hover{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.hover\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.hover\:bg-purple-600:hover{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.hover\:bg-purple-700:hover{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.hover\:bg-red-500\/20:hover{background-color:rgba(239,68,68,.2)}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.hover\:bg-slate-100\/50:hover{background-color:rgba(241,245,249,.5)}.hover\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.hover\:bg-slate-300:hover{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.hover\:bg-slate-400:hover{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.hover\:bg-slate-600:hover{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.hover\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.hover\:bg-teal-600:hover{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.hover\:bg-white\/10:hover{background-color:hsla(0,0%,100%,.1)}.hover\:bg-white\/20:hover{background-color:hsla(0,0%,100%,.2)}.hover\:bg-white\/25:hover{background-color:hsla(0,0%,100%,.25)}.hover\:bg-white\/50:hover{background-color:hsla(0,0%,100%,.5)}.hover\:bg-yellow-100:hover{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.hover\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.hover\:bg-yellow-700:hover{--tw-bg-opacity:1;background-color:rgb(161 98 7/var(--tw-bg-opacity,1))}.hover\:from-blue-50:hover{--tw-gradient-from:#eff6ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,246,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-blue-600:hover{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:rgba(37,99,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-green-600:hover{--tw-gradient-from:#16a34a var(--tw-gradient-from-position);--tw-gradient-to:rgba(22,163,74,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-orange-600:hover{--tw-gradient-from:#ea580c var(--tw-gradient-from-position);--tw-gradient-to:rgba(234,88,12,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-slate-600:hover{--tw-gradient-from:#475569 var(--tw-gradient-from-position);--tw-gradient-to:rgba(71,85,105,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:to-blue-100:hover{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.hover\:to-blue-700:hover{--tw-gradient-to:#1d4ed8 var(--tw-gradient-to-position)}.hover\:to-green-700:hover{--tw-gradient-to:#15803d var(--tw-gradient-to-position)}.hover\:to-red-600:hover{--tw-gradient-to:#dc2626 var(--tw-gradient-to-position)}.hover\:to-slate-700:hover{--tw-gradient-to:#334155 var(--tw-gradient-to-position)}.hover\:text-blue-400:hover{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.hover\:text-blue-800:hover{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.hover\:text-blue-900:hover{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.hover\:text-emerald-600:hover{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.hover\:text-green-900:hover{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity,1))}.hover\:text-mercedes-blue:hover{--tw-text-opacity:1;color:rgb(0 115 206/var(--tw-text-opacity,1))}.hover\:text-orange-900:hover{--tw-text-opacity:1;color:rgb(124 45 18/var(--tw-text-opacity,1))}.hover\:text-purple-900:hover{--tw-text-opacity:1;color:rgb(88 28 135/var(--tw-text-opacity,1))}.hover\:text-red-500:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.hover\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.hover\:text-red-900:hover{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.hover\:text-slate-600:hover{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.hover\:text-slate-700:hover{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.hover\:text-slate-800:hover{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.hover\:text-slate-900:hover{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-70:hover{opacity:.7}.hover\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.hover\:shadow-2xl:hover,.hover\:shadow-lg:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.hover\:shadow-md:hover,.hover\:shadow-xl:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.focus\:border-mercedes-blue:focus{--tw-border-opacity:1;border-color:rgb(0 115 206/var(--tw-border-opacity,1))}.focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.focus\:border-transparent:focus{border-color:transparent}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus\:ring-blue-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(37 99 235/var(--tw-ring-opacity,1))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(74 222 128/var(--tw-ring-opacity,1))}.focus\:ring-green-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(34 197 94/var(--tw-ring-opacity,1))}.focus\:ring-mercedes-blue:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 115 206/var(--tw-ring-opacity,1))}.focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity,1))}.focus\:ring-yellow-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(234 179 8/var(--tw-ring-opacity,1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:bg-gray-200:active{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-100:disabled{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.disabled\:opacity-50:disabled{opacity:.5}.group:focus-within .group-focus-within\:text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.group:hover .group-hover\:visible{visibility:visible}.group:hover .group-hover\:-translate-x-1{--tw-translate-x:-0.25rem}.group:hover .group-hover\:-translate-x-1,.group:hover .group-hover\:translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-full{--tw-translate-x:100%}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-mercedes-blue{--tw-text-opacity:1;color:rgb(0 115 206/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-100{opacity:1}.group:disabled .group-disabled\:opacity-0{opacity:0}.group:disabled .group-disabled\:opacity-100{opacity:1}.peer:checked~.peer-checked\:border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.peer:checked~.peer-checked\:border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.peer:checked~.peer-checked\:border-slate-500{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.peer:checked~.peer-checked\:bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\:bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\:bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\:bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\:after\:translate-x-full:after{content:var(--tw-content);--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.peer:checked~.peer-checked\:after\:border-white:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.peer:focus~.peer-focus\:outline-none{outline:2px solid transparent;outline-offset:2px}.peer:focus~.peer-focus\:ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.peer:focus~.peer-focus\:ring-blue-300{--tw-ring-opacity:1;--tw-ring-color:rgb(147 197 253/var(--tw-ring-opacity,1))}.dark\:rotate-0:is(.dark *){--tw-rotate:0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:rotate-90:is(.dark *){--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:scale-100:is(.dark *){--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:scale-75:is(.dark *){--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:divide-gray-700:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(55 65 81/var(--tw-divide-opacity,1))}.dark\:divide-slate-700:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(51 65 85/var(--tw-divide-opacity,1))}.dark\:border-amber-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(146 64 14/var(--tw-border-opacity,1))}.dark\:border-blue-400:is(.dark *){--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.dark\:border-blue-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.dark\:border-blue-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(29 78 216/var(--tw-border-opacity,1))}.dark\:border-blue-700\/30:is(.dark *){border-color:rgba(29,78,216,.3)}.dark\:border-blue-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.dark\:border-blue-800\/50:is(.dark *){border-color:rgba(30,64,175,.5)}.dark\:border-emerald-700\/30:is(.dark *){border-color:rgba(4,120,87,.3)}.dark\:border-gray-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.dark\:border-gray-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.dark\:border-green-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(21 128 61/var(--tw-border-opacity,1))}.dark\:border-green-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.dark\:border-green-800\/50:is(.dark *){border-color:rgba(22,101,52,.5)}.dark\:border-indigo-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity,1))}.dark\:border-indigo-800\/50:is(.dark *){border-color:rgba(55,48,163,.5)}.dark\:border-orange-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(194 65 12/var(--tw-border-opacity,1))}.dark\:border-orange-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.dark\:border-orange-800\/50:is(.dark *){border-color:rgba(154,52,18,.5)}.dark\:border-purple-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.dark\:border-purple-800\/50:is(.dark *){border-color:rgba(107,33,168,.5)}.dark\:border-red-400:is(.dark *){--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.dark\:border-red-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.dark\:border-red-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.dark\:border-red-800\/50:is(.dark *){border-color:rgba(153,27,27,.5)}.dark\:border-slate-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.dark\:border-slate-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.dark\:border-slate-700\/30:is(.dark *){border-color:rgba(51,65,85,.3)}.dark\:border-slate-700\/50:is(.dark *){border-color:rgba(51,65,85,.5)}.dark\:border-white\/20:is(.dark *){border-color:hsla(0,0%,100%,.2)}.dark\:border-yellow-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(202 138 4/var(--tw-border-opacity,1))}.dark\:border-yellow-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(161 98 7/var(--tw-border-opacity,1))}.dark\:border-yellow-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(133 77 14/var(--tw-border-opacity,1))}.dark\:border-t-slate-700:is(.dark *){--tw-border-opacity:1;border-top-color:rgb(51 65 85/var(--tw-border-opacity,1))}.dark\:bg-amber-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.dark\:bg-amber-900\/20:is(.dark *){background-color:rgba(120,53,15,.2)}.dark\:bg-black:is(.dark *){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.dark\:bg-black\/50:is(.dark *){background-color:rgba(0,0,0,.5)}.dark\:bg-black\/80:is(.dark *){background-color:rgba(0,0,0,.8)}.dark\:bg-blue-300:is(.dark *){--tw-bg-opacity:1;background-color:rgb(147 197 253/var(--tw-bg-opacity,1))}.dark\:bg-blue-500:is(.dark *){--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.dark\:bg-blue-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.dark\:bg-blue-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity,1))}.dark\:bg-blue-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.dark\:bg-blue-900\/10:is(.dark *){background-color:rgba(30,58,138,.1)}.dark\:bg-blue-900\/20:is(.dark *){background-color:rgba(30,58,138,.2)}.dark\:bg-blue-900\/30:is(.dark *){background-color:rgba(30,58,138,.3)}.dark\:bg-blue-900\/50:is(.dark *){background-color:rgba(30,58,138,.5)}.dark\:bg-cyan-900\/50:is(.dark *){background-color:rgba(22,78,99,.5)}.dark\:bg-emerald-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(6 78 59/var(--tw-bg-opacity,1))}.dark\:bg-emerald-900\/20:is(.dark *){background-color:rgba(6,78,59,.2)}.dark\:bg-emerald-900\/50:is(.dark *){background-color:rgba(6,78,59,.5)}.dark\:bg-gray-300:is(.dark *){--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.dark\:bg-gray-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.dark\:bg-gray-900\/20:is(.dark *){background-color:rgba(17,24,39,.2)}.dark\:bg-gray-900\/30:is(.dark *){background-color:rgba(17,24,39,.3)}.dark\:bg-green-300:is(.dark *){--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity,1))}.dark\:bg-green-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.dark\:bg-green-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.dark\:bg-green-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(22 101 52/var(--tw-bg-opacity,1))}.dark\:bg-green-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.dark\:bg-green-900\/10:is(.dark *){background-color:rgba(20,83,45,.1)}.dark\:bg-green-900\/20:is(.dark *){background-color:rgba(20,83,45,.2)}.dark\:bg-green-900\/30:is(.dark *){background-color:rgba(20,83,45,.3)}.dark\:bg-green-900\/50:is(.dark *){background-color:rgba(20,83,45,.5)}.dark\:bg-indigo-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.dark\:bg-indigo-900\/10:is(.dark *){background-color:rgba(49,46,129,.1)}.dark\:bg-indigo-900\/20:is(.dark *){background-color:rgba(49,46,129,.2)}.dark\:bg-indigo-900\/50:is(.dark *){background-color:rgba(49,46,129,.5)}.dark\:bg-orange-300:is(.dark *){--tw-bg-opacity:1;background-color:rgb(253 186 116/var(--tw-bg-opacity,1))}.dark\:bg-orange-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.dark\:bg-orange-900\/10:is(.dark *){background-color:rgba(124,45,18,.1)}.dark\:bg-orange-900\/20:is(.dark *){background-color:rgba(124,45,18,.2)}.dark\:bg-orange-900\/30:is(.dark *){background-color:rgba(124,45,18,.3)}.dark\:bg-orange-900\/50:is(.dark *){background-color:rgba(124,45,18,.5)}.dark\:bg-purple-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.dark\:bg-purple-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.dark\:bg-purple-900\/10:is(.dark *){background-color:rgba(88,28,135,.1)}.dark\:bg-purple-900\/20:is(.dark *){background-color:rgba(88,28,135,.2)}.dark\:bg-purple-900\/30:is(.dark *){background-color:rgba(88,28,135,.3)}.dark\:bg-purple-900\/50:is(.dark *){background-color:rgba(88,28,135,.5)}.dark\:bg-red-300:is(.dark *){--tw-bg-opacity:1;background-color:rgb(252 165 165/var(--tw-bg-opacity,1))}.dark\:bg-red-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.dark\:bg-red-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.dark\:bg-red-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity,1))}.dark\:bg-red-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.dark\:bg-red-900\/10:is(.dark *){background-color:rgba(127,29,29,.1)}.dark\:bg-red-900\/20:is(.dark *){background-color:rgba(127,29,29,.2)}.dark\:bg-red-900\/30:is(.dark *){background-color:rgba(127,29,29,.3)}.dark\:bg-red-900\/40:is(.dark *){background-color:rgba(127,29,29,.4)}.dark\:bg-red-900\/50:is(.dark *){background-color:rgba(127,29,29,.5)}.dark\:bg-slate-500:is(.dark *){--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity,1))}.dark\:bg-slate-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.dark\:bg-slate-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.dark\:bg-slate-700\/30:is(.dark *){background-color:rgba(51,65,85,.3)}.dark\:bg-slate-700\/40:is(.dark *){background-color:rgba(51,65,85,.4)}.dark\:bg-slate-700\/50:is(.dark *){background-color:rgba(51,65,85,.5)}.dark\:bg-slate-700\/60:is(.dark *){background-color:rgba(51,65,85,.6)}.dark\:bg-slate-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.dark\:bg-slate-800\/30:is(.dark *){background-color:rgba(30,41,59,.3)}.dark\:bg-slate-800\/40:is(.dark *){background-color:rgba(30,41,59,.4)}.dark\:bg-slate-800\/50:is(.dark *){background-color:rgba(30,41,59,.5)}.dark\:bg-slate-800\/60:is(.dark *){background-color:rgba(30,41,59,.6)}.dark\:bg-slate-800\/80:is(.dark *){background-color:rgba(30,41,59,.8)}.dark\:bg-slate-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.dark\:bg-slate-900\/50:is(.dark *){background-color:rgba(15,23,42,.5)}.dark\:bg-slate-900\/60:is(.dark *){background-color:rgba(15,23,42,.6)}.dark\:bg-slate-900\/80:is(.dark *){background-color:rgba(15,23,42,.8)}.dark\:bg-slate-900\/90:is(.dark *){background-color:rgba(15,23,42,.9)}.dark\:bg-teal-900\/50:is(.dark *){background-color:rgba(19,78,74,.5)}.dark\:bg-white\/10:is(.dark *){background-color:hsla(0,0%,100%,.1)}.dark\:bg-yellow-300:is(.dark *){--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity,1))}.dark\:bg-yellow-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(113 63 18/var(--tw-bg-opacity,1))}.dark\:bg-yellow-900\/20:is(.dark *){background-color:rgba(113,63,18,.2)}.dark\:bg-yellow-900\/30:is(.dark *){background-color:rgba(113,63,18,.3)}.dark\:bg-yellow-900\/50:is(.dark *){background-color:rgba(113,63,18,.5)}.dark\:bg-opacity-95:is(.dark *){--tw-bg-opacity:0.95}.dark\:from-blue-400:is(.dark *){--tw-gradient-from:#60a5fa var(--tw-gradient-from-position);--tw-gradient-to:rgba(96,165,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-blue-400\/20:is(.dark *){--tw-gradient-from:rgba(96,165,250,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(96,165,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-blue-400\/5:is(.dark *){--tw-gradient-from:rgba(96,165,250,.05) var(--tw-gradient-from-position);--tw-gradient-to:rgba(96,165,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-blue-900\/10:is(.dark *){--tw-gradient-from:rgba(30,58,138,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,58,138,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-blue-900\/20:is(.dark *){--tw-gradient-from:rgba(30,58,138,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,58,138,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-blue-900\/30:is(.dark *){--tw-gradient-from:rgba(30,58,138,.3) var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,58,138,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-emerald-900\/20:is(.dark *){--tw-gradient-from:rgba(6,78,59,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(6,78,59,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-gray-900:is(.dark *){--tw-gradient-from:#111827 var(--tw-gradient-from-position);--tw-gradient-to:rgba(17,24,39,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-green-400:is(.dark *){--tw-gradient-from:#4ade80 var(--tw-gradient-from-position);--tw-gradient-to:rgba(74,222,128,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-green-400\/20:is(.dark *){--tw-gradient-from:rgba(74,222,128,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(74,222,128,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-green-900\/10:is(.dark *){--tw-gradient-from:rgba(20,83,45,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(20,83,45,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-green-900\/20:is(.dark *){--tw-gradient-from:rgba(20,83,45,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(20,83,45,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-green-900\/30:is(.dark *){--tw-gradient-from:rgba(20,83,45,.3) var(--tw-gradient-from-position);--tw-gradient-to:rgba(20,83,45,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-orange-400:is(.dark *){--tw-gradient-from:#fb923c var(--tw-gradient-from-position);--tw-gradient-to:rgba(251,146,60,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-orange-400\/20:is(.dark *){--tw-gradient-from:rgba(251,146,60,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(251,146,60,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-orange-900\/10:is(.dark *){--tw-gradient-from:rgba(124,45,18,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(124,45,18,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-purple-900\/20:is(.dark *){--tw-gradient-from:rgba(88,28,135,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(88,28,135,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-purple-900\/30:is(.dark *){--tw-gradient-from:rgba(88,28,135,.3) var(--tw-gradient-from-position);--tw-gradient-to:rgba(88,28,135,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-red-400:is(.dark *){--tw-gradient-from:#f87171 var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,91%,71%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-red-400\/20:is(.dark *){--tw-gradient-from:hsla(0,91%,71%,.2) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,91%,71%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-slate-700:is(.dark *){--tw-gradient-from:#334155 var(--tw-gradient-from-position);--tw-gradient-to:rgba(51,65,85,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-slate-800:is(.dark *){--tw-gradient-from:#1e293b var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,41,59,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-slate-900:is(.dark *){--tw-gradient-from:#0f172a var(--tw-gradient-from-position);--tw-gradient-to:rgba(15,23,42,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-slate-950:is(.dark *){--tw-gradient-from:#020617 var(--tw-gradient-from-position);--tw-gradient-to:rgba(2,6,23,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-white:is(.dark *){--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:via-blue-200:is(.dark *){--tw-gradient-to:rgba(191,219,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#bfdbfe var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-blue-900:is(.dark *){--tw-gradient-to:rgba(30,58,138,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#1e3a8a var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-blue-900\/20:is(.dark *){--tw-gradient-to:rgba(30,58,138,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(30,58,138,.2) var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-blue-950:is(.dark *){--tw-gradient-to:rgba(23,37,84,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#172554 var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-emerald-900\/20:is(.dark *){--tw-gradient-to:rgba(6,78,59,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(6,78,59,.2) var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-red-900\/20:is(.dark *){--tw-gradient-to:rgba(127,29,29,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(127,29,29,.2) var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-slate-800:is(.dark *){--tw-gradient-to:rgba(30,41,59,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#1e293b var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:to-blue-500:is(.dark *){--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.dark\:to-blue-800\/20:is(.dark *){--tw-gradient-to:rgba(30,64,175,.2) var(--tw-gradient-to-position)}.dark\:to-blue-800\/30:is(.dark *){--tw-gradient-to:rgba(30,64,175,.3) var(--tw-gradient-to-position)}.dark\:to-emerald-400\/20:is(.dark *){--tw-gradient-to:rgba(52,211,153,.2) var(--tw-gradient-to-position)}.dark\:to-emerald-900\/10:is(.dark *){--tw-gradient-to:rgba(6,78,59,.1) var(--tw-gradient-to-position)}.dark\:to-emerald-900\/20:is(.dark *){--tw-gradient-to:rgba(6,78,59,.2) var(--tw-gradient-to-position)}.dark\:to-gray-200:is(.dark *){--tw-gradient-to:#e5e7eb var(--tw-gradient-to-position)}.dark\:to-gray-800:is(.dark *){--tw-gradient-to:#1f2937 var(--tw-gradient-to-position)}.dark\:to-green-500:is(.dark *){--tw-gradient-to:#22c55e var(--tw-gradient-to-position)}.dark\:to-green-800\/30:is(.dark *){--tw-gradient-to:rgba(22,101,52,.3) var(--tw-gradient-to-position)}.dark\:to-green-900\/20:is(.dark *){--tw-gradient-to:rgba(20,83,45,.2) var(--tw-gradient-to-position)}.dark\:to-indigo-400\/20:is(.dark *){--tw-gradient-to:rgba(129,140,248,.2) var(--tw-gradient-to-position)}.dark\:to-indigo-400\/5:is(.dark *){--tw-gradient-to:rgba(129,140,248,.05) var(--tw-gradient-to-position)}.dark\:to-indigo-900:is(.dark *){--tw-gradient-to:#312e81 var(--tw-gradient-to-position)}.dark\:to-indigo-900\/10:is(.dark *){--tw-gradient-to:rgba(49,46,129,.1) var(--tw-gradient-to-position)}.dark\:to-indigo-900\/20:is(.dark *){--tw-gradient-to:rgba(49,46,129,.2) var(--tw-gradient-to-position)}.dark\:to-indigo-950:is(.dark *){--tw-gradient-to:#1e1b4b var(--tw-gradient-to-position)}.dark\:to-orange-500:is(.dark *){--tw-gradient-to:#f97316 var(--tw-gradient-to-position)}.dark\:to-orange-900\/20:is(.dark *){--tw-gradient-to:rgba(124,45,18,.2) var(--tw-gradient-to-position)}.dark\:to-pink-400\/20:is(.dark *){--tw-gradient-to:rgba(244,114,182,.2) var(--tw-gradient-to-position)}.dark\:to-pink-900\/20:is(.dark *){--tw-gradient-to:rgba(131,24,67,.2) var(--tw-gradient-to-position)}.dark\:to-purple-800\/20:is(.dark *){--tw-gradient-to:rgba(107,33,168,.2) var(--tw-gradient-to-position)}.dark\:to-purple-800\/30:is(.dark *){--tw-gradient-to:rgba(107,33,168,.3) var(--tw-gradient-to-position)}.dark\:to-red-400\/20:is(.dark *){--tw-gradient-to:hsla(0,91%,71%,.2) var(--tw-gradient-to-position)}.dark\:to-red-500:is(.dark *){--tw-gradient-to:#ef4444 var(--tw-gradient-to-position)}.dark\:to-red-900\/10:is(.dark *){--tw-gradient-to:rgba(127,29,29,.1) var(--tw-gradient-to-position)}.dark\:to-slate-200:is(.dark *){--tw-gradient-to:#e2e8f0 var(--tw-gradient-to-position)}.dark\:to-slate-300:is(.dark *){--tw-gradient-to:#cbd5e1 var(--tw-gradient-to-position)}.dark\:to-slate-700:is(.dark *){--tw-gradient-to:#334155 var(--tw-gradient-to-position)}.dark\:to-slate-800:is(.dark *){--tw-gradient-to:#1e293b var(--tw-gradient-to-position)}.dark\:to-slate-900:is(.dark *){--tw-gradient-to:#0f172a var(--tw-gradient-to-position)}.dark\:text-amber-200:is(.dark *){--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.dark\:text-amber-300:is(.dark *){--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.dark\:text-amber-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.dark\:text-blue-100:is(.dark *){--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity,1))}.dark\:text-blue-200:is(.dark *){--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.dark\:text-blue-300:is(.dark *){--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.dark\:text-blue-400:is(.dark *){--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.dark\:text-blue-500:is(.dark *){--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.dark\:text-cyan-400:is(.dark *){--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.dark\:text-emerald-300:is(.dark *){--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.dark\:text-emerald-400:is(.dark *){--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:text-gray-600:is(.dark *){--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.dark\:text-green-100:is(.dark *){--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity,1))}.dark\:text-green-200:is(.dark *){--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.dark\:text-green-300:is(.dark *){--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.dark\:text-indigo-200:is(.dark *){--tw-text-opacity:1;color:rgb(199 210 254/var(--tw-text-opacity,1))}.dark\:text-indigo-300:is(.dark *){--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.dark\:text-indigo-400:is(.dark *){--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.dark\:text-orange-200:is(.dark *){--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.dark\:text-orange-300:is(.dark *){--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.dark\:text-orange-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.dark\:text-purple-200:is(.dark *){--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.dark\:text-purple-300:is(.dark *){--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.dark\:text-purple-400:is(.dark *){--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.dark\:text-red-100:is(.dark *){--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.dark\:text-red-200:is(.dark *){--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.dark\:text-red-300:is(.dark *){--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:text-red-600:is(.dark *){--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.dark\:text-slate-100:is(.dark *){--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity,1))}.dark\:text-slate-200:is(.dark *){--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.dark\:text-slate-300:is(.dark *){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.dark\:text-slate-400:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.dark\:text-slate-500:is(.dark *){--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.dark\:text-slate-600:is(.dark *){--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.dark\:text-teal-400:is(.dark *){--tw-text-opacity:1;color:rgb(45 212 191/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:text-yellow-200:is(.dark *){--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}.dark\:text-yellow-300:is(.dark *){--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.dark\:text-yellow-400:is(.dark *){--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.dark\:placeholder-slate-400:is(.dark *)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(148 163 184/var(--tw-placeholder-opacity,1))}.dark\:placeholder-slate-400:is(.dark *)::placeholder{--tw-placeholder-opacity:1;color:rgb(148 163 184/var(--tw-placeholder-opacity,1))}.dark\:opacity-0:is(.dark *){opacity:0}.dark\:opacity-100:is(.dark *){opacity:1}.dark\:opacity-5:is(.dark *){opacity:.05}.dark\:shadow-2xl:is(.dark *){--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.dark\:hover\:border-blue-400:hover:is(.dark *){--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.dark\:hover\:border-blue-600:hover:is(.dark *){--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.dark\:hover\:border-emerald-400:hover:is(.dark *){--tw-border-opacity:1;border-color:rgb(52 211 153/var(--tw-border-opacity,1))}.dark\:hover\:border-green-600:hover:is(.dark *){--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity,1))}.dark\:hover\:border-orange-600:hover:is(.dark *){--tw-border-opacity:1;border-color:rgb(234 88 12/var(--tw-border-opacity,1))}.dark\:hover\:border-purple-600:hover:is(.dark *){--tw-border-opacity:1;border-color:rgb(147 51 234/var(--tw-border-opacity,1))}.dark\:hover\:bg-amber-900\/30:hover:is(.dark *){background-color:rgba(120,53,15,.3)}.dark\:hover\:bg-black\/10:hover:is(.dark *){background-color:rgba(0,0,0,.1)}.dark\:hover\:bg-blue-500:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.dark\:hover\:bg-blue-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.dark\:hover\:bg-blue-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.dark\:hover\:bg-blue-900\/20:hover:is(.dark *){background-color:rgba(30,58,138,.2)}.dark\:hover\:bg-blue-900\/30:hover:is(.dark *){background-color:rgba(30,58,138,.3)}.dark\:hover\:bg-gray-500:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:hover\:bg-green-500:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.dark\:hover\:bg-green-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.dark\:hover\:bg-green-900\/30:hover:is(.dark *){background-color:rgba(20,83,45,.3)}.dark\:hover\:bg-purple-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.dark\:hover\:bg-purple-900\/30:hover:is(.dark *){background-color:rgba(88,28,135,.3)}.dark\:hover\:bg-red-500:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.dark\:hover\:bg-red-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.dark\:hover\:bg-red-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.dark\:hover\:bg-red-900\/30:hover:is(.dark *){background-color:rgba(127,29,29,.3)}.dark\:hover\:bg-slate-500:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity,1))}.dark\:hover\:bg-slate-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.dark\:hover\:bg-slate-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.dark\:hover\:bg-slate-700\/50:hover:is(.dark *){background-color:rgba(51,65,85,.5)}.dark\:hover\:bg-slate-800:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.dark\:hover\:bg-slate-800\/50:hover:is(.dark *){background-color:rgba(30,41,59,.5)}.dark\:hover\:bg-white\/15:hover:is(.dark *){background-color:hsla(0,0%,100%,.15)}.dark\:hover\:bg-white\/5:hover:is(.dark *){background-color:hsla(0,0%,100%,.05)}.dark\:hover\:bg-yellow-900\/30:hover:is(.dark *){background-color:rgba(113,63,18,.3)}.dark\:hover\:from-blue-800\/20:hover:is(.dark *){--tw-gradient-from:rgba(30,64,175,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,64,175,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:hover\:to-blue-700\/20:hover:is(.dark *){--tw-gradient-to:rgba(29,78,216,.2) var(--tw-gradient-to-position)}.dark\:hover\:text-blue-200:hover:is(.dark *){--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.dark\:hover\:text-blue-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.dark\:hover\:text-blue-400:hover:is(.dark *){--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.dark\:hover\:text-emerald-400:hover:is(.dark *){--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.dark\:hover\:text-gray-200:hover:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:hover\:text-gray-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:hover\:text-green-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.dark\:hover\:text-orange-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.dark\:hover\:text-purple-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.dark\:hover\:text-red-200:hover:is(.dark *){--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.dark\:hover\:text-red-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.dark\:hover\:text-slate-200:hover:is(.dark *){--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.dark\:hover\:text-slate-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.dark\:hover\:text-white:hover:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:hover\:shadow-slate-900\/50:hover:is(.dark *){--tw-shadow-color:rgba(15,23,42,.5);--tw-shadow:var(--tw-shadow-colored)}.dark\:focus\:ring-blue-400:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(96 165 250/var(--tw-ring-opacity,1))}.dark\:focus\:ring-blue-600:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(37 99 235/var(--tw-ring-opacity,1))}.dark\:disabled\:bg-slate-800:disabled:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.group:hover .dark\:group-hover\:text-slate-300:is(.dark *){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.group:hover .dark\:group-hover\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.peer:checked~.dark\:peer-checked\:bg-blue-900\/20:is(.dark *){background-color:rgba(30,58,138,.2)}.peer:checked~.dark\:peer-checked\:bg-green-900\/20:is(.dark *){background-color:rgba(20,83,45,.2)}.peer:checked~.dark\:peer-checked\:bg-slate-900\/20:is(.dark *){background-color:rgba(15,23,42,.2)}.peer:focus~.dark\:peer-focus\:ring-blue-800:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(30 64 175/var(--tw-ring-opacity,1))}@media (min-width:640px){.sm\:mx-0{margin-left:0;margin-right:0}.sm\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\:ml-3{margin-left:.75rem}.sm\:ml-4{margin-left:1rem}.sm\:mt-0{margin-top:0}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:h-10{height:2.5rem}.sm\:h-5{height:1.25rem}.sm\:w-10{width:2.5rem}.sm\:w-5{width:1.25rem}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-lg{max-width:32rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:items-start{align-items:flex-start}.sm\:items-center{align-items:center}.sm\:justify-center{justify-content:center}.sm\:justify-between{justify-content:space-between}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.sm\:p-0{padding:0}.sm\:p-6{padding:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pb-4{padding-bottom:1rem}.sm\:text-left{text-align:left}.sm\:align-middle{vertical-align:middle}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:ml-2{margin-left:.5rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:p-12{padding:3rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-8xl{font-size:6rem;line-height:1}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:ml-0{margin-left:0}.lg\:mt-0{margin-top:0}.lg\:block{display:block}.lg\:inline{display:inline}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-between{justify-content:space-between}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:p-12{padding:3rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:text-right{text-align:right}.lg\:text-6xl{font-size:3.75rem;line-height:1}}@media (min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}} \ No newline at end of file diff --git a/backend/templates/admin.html b/backend/templates/admin.html index 90ab5d5aa..14b06a997 100644 --- a/backend/templates/admin.html +++ b/backend/templates/admin.html @@ -1697,11 +1697,324 @@ class SystemControlManager { // Globaler System-Control-Manager let systemControlManager = null; +// ===== BENUTZER-CRUD-FUNKTIONALITÄT ===== + +class UserManagement { + constructor() { + this.initializeEventListeners(); + console.log('👥 User-Management initialisiert'); + } + + initializeEventListeners() { + // Benutzer hinzufügen Button + const addUserBtn = document.getElementById('add-user-btn'); + if (addUserBtn) { + addUserBtn.addEventListener('click', () => { + window.location.href = '/admin/users/add'; + }); + } + + // Benutzer bearbeiten Buttons + document.addEventListener('click', (e) => { + if (e.target.closest('.edit-user-btn')) { + const userId = e.target.closest('.edit-user-btn').dataset.userId; + this.editUser(userId); + } + + // Benutzer löschen Buttons + if (e.target.closest('.delete-user-btn')) { + const userId = e.target.closest('.delete-user-btn').dataset.userId; + const userName = e.target.closest('.delete-user-btn').dataset.userName; + this.deleteUser(userId, userName); + } + + // Passwort zurücksetzen Buttons + if (e.target.closest('.reset-password-btn')) { + const userId = e.target.closest('.reset-password-btn').dataset.userId; + const userName = e.target.closest('.reset-password-btn').dataset.userName; + this.resetPassword(userId, userName); + } + }); + + // Rolle/Status Updates durch Inline-Editing + document.addEventListener('change', (e) => { + if (e.target.classList.contains('role-select')) { + const userId = e.target.dataset.userId; + const newRole = e.target.value; + this.updateUserRole(userId, newRole); + } + + if (e.target.classList.contains('status-toggle')) { + const userId = e.target.dataset.userId; + const isActive = e.target.checked; + this.updateUserStatus(userId, isActive); + } + }); + } + + editUser(userId) { + window.location.href = `/admin/users/${userId}/edit`; + } + + async deleteUser(userId, userName) { + const confirmed = await this.showConfirmDialog( + 'Benutzer löschen', + `Möchten Sie den Benutzer "${userName}" wirklich löschen? Diese Aktion kann nicht rückgängig gemacht werden.`, + 'Löschen', + 'danger' + ); + + if (!confirmed) return; + + try { + const form = document.createElement('form'); + form.method = 'POST'; + form.action = `/admin/users/${userId}/delete`; + + const csrfToken = document.createElement('input'); + csrfToken.type = 'hidden'; + csrfToken.name = 'csrf_token'; + csrfToken.value = getCsrfToken(); + form.appendChild(csrfToken); + + document.body.appendChild(form); + form.submit(); + + } catch (error) { + console.error('Fehler beim Löschen des Benutzers:', error); + showNotification('Fehler beim Löschen des Benutzers', 'error'); + } + } + + async resetPassword(userId, userName) { + const newPassword = await this.showPasswordDialog( + 'Passwort zurücksetzen', + `Neues Passwort für Benutzer "${userName}"` + ); + + if (!newPassword) return; + + try { + const response = await fetch(`/api/admin/users/${userId}/reset-password`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'X-CSRFToken': getCsrfToken() + }, + body: JSON.stringify({ + new_password: newPassword + }) + }); + + const data = await response.json(); + + if (data.success) { + showNotification(`Passwort für "${userName}" erfolgreich zurückgesetzt`, 'success'); + } else { + showNotification(data.error || 'Fehler beim Zurücksetzen des Passworts', 'error'); + } + + } catch (error) { + console.error('Fehler beim Zurücksetzen des Passworts:', error); + showNotification('Fehler beim Zurücksetzen des Passworts', 'error'); + } + } + + async updateUserRole(userId, newRole) { + try { + const response = await fetch(`/api/admin/users/${userId}/role`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'X-CSRFToken': getCsrfToken() + }, + body: JSON.stringify({ + role: newRole + }) + }); + + const data = await response.json(); + + if (data.success) { + showNotification('Benutzerrolle erfolgreich aktualisiert', 'success'); + // Seite nach kurzer Verzögerung neu laden für UI-Update + setTimeout(() => window.location.reload(), 1500); + } else { + showNotification(data.error || 'Fehler beim Aktualisieren der Rolle', 'error'); + // Revert auf alte Auswahl + window.location.reload(); + } + + } catch (error) { + console.error('Fehler beim Aktualisieren der Rolle:', error); + showNotification('Fehler beim Aktualisieren der Rolle', 'error'); + window.location.reload(); + } + } + + async updateUserStatus(userId, isActive) { + try { + const response = await fetch(`/api/admin/users/${userId}/status`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'X-CSRFToken': getCsrfToken() + }, + body: JSON.stringify({ + active: isActive + }) + }); + + const data = await response.json(); + + if (data.success) { + showNotification( + `Benutzer ${isActive ? 'aktiviert' : 'deaktiviert'}`, + 'success' + ); + // UI-Update für Status-Text + const statusText = document.querySelector(`[data-user-id="${userId}"] .status-toggle`).nextElementSibling; + if (statusText) { + statusText.textContent = isActive ? 'Aktiv' : 'Inaktiv'; + statusText.className = isActive ? + 'ml-2 text-xs text-green-700 dark:text-green-400' : + 'ml-2 text-xs text-red-700 dark:text-red-400'; + } + } else { + showNotification(data.error || 'Fehler beim Aktualisieren des Status', 'error'); + // Revert Checkbox + document.querySelector(`[data-user-id="${userId}"] .status-toggle`).checked = !isActive; + } + + } catch (error) { + console.error('Fehler beim Aktualisieren des Status:', error); + showNotification('Fehler beim Aktualisieren des Status', 'error'); + // Revert Checkbox + document.querySelector(`[data-user-id="${userId}"] .status-toggle`).checked = !isActive; + } + } + + showConfirmDialog(title, message, confirmText = 'Bestätigen', type = 'warning') { + return new Promise((resolve) => { + const modal = document.createElement('div'); + modal.className = 'fixed inset-0 z-50 flex items-center justify-center bg-black bg-opacity-50'; + + modal.innerHTML = ` +
+
+
+ + + +
+
+

${title}

+
+
+

${message}

+
+ + +
+
+ `; + + document.body.appendChild(modal); + + modal.querySelector('#confirm-btn').addEventListener('click', () => { + document.body.removeChild(modal); + resolve(true); + }); + + modal.querySelector('#cancel-btn').addEventListener('click', () => { + document.body.removeChild(modal); + resolve(false); + }); + + // ESC zum Abbrechen + const handleEsc = (e) => { + if (e.key === 'Escape') { + document.body.removeChild(modal); + document.removeEventListener('keydown', handleEsc); + resolve(false); + } + }; + document.addEventListener('keydown', handleEsc); + }); + } + + showPasswordDialog(title, description) { + return new Promise((resolve) => { + const modal = document.createElement('div'); + modal.className = 'fixed inset-0 z-50 flex items-center justify-center bg-black bg-opacity-50'; + + modal.innerHTML = ` +
+

${title}

+

${description}

+ +
+ + +
+
+ `; + + document.body.appendChild(modal); + + const passwordInput = modal.querySelector('#password-input'); + passwordInput.focus(); + + modal.querySelector('#set-password-btn').addEventListener('click', () => { + const password = passwordInput.value.trim(); + document.body.removeChild(modal); + resolve(password || null); + }); + + modal.querySelector('#cancel-password-btn').addEventListener('click', () => { + document.body.removeChild(modal); + resolve(null); + }); + + // Enter zum Bestätigen + passwordInput.addEventListener('keydown', (e) => { + if (e.key === 'Enter') { + const password = passwordInput.value.trim(); + document.body.removeChild(modal); + resolve(password || null); + } + }); + + // ESC zum Abbrechen + const handleEsc = (e) => { + if (e.key === 'Escape') { + document.body.removeChild(modal); + document.removeEventListener('keydown', handleEsc); + resolve(null); + } + }; + document.addEventListener('keydown', handleEsc); + }); + } +} + +// Globaler User-Manager +let userManagement = null; + // Initialisierung beim DOM-Laden document.addEventListener('DOMContentLoaded', function() { if (!systemControlManager) { systemControlManager = new SystemControlManager(); } + + if (!userManagement) { + userManagement = new UserManagement(); + } }); {% endblock %} diff --git a/backend/templates/admin_add_printer.html b/backend/templates/admin_add_printer.html index ad41d6143..28225d3b4 100644 --- a/backend/templates/admin_add_printer.html +++ b/backend/templates/admin_add_printer.html @@ -184,7 +184,7 @@ {% endblock %} -{% block extra_js %} +{% block scripts %}