Files
kantinen-wrapper/dist/install.html

311 lines
172 KiB
HTML
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>Kantine Wrapper Installer (v1.6.14)</title>
<link rel="icon" type="image/png" href="data:image/png;base64,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">
<style>
body { font-family: 'Inter', sans-serif; max-width: 600px; margin: 40px auto; padding: 20px; background: #1a1a2e; color: #eee; }
h1 { color: #029AA8; } /* Knapp Teal */
.instructions { background: #16213e; padding: 20px; border-radius: 12px; margin: 20px 0; }
.instructions ol li { margin: 10px 0; }
a.bookmarklet { display: inline-block; background: #029AA8; color: white; padding: 12px 24px; border-radius: 8px; text-decoration: none; font-weight: 600; font-size: 18px; cursor: grab; }
a.bookmarklet:hover { background: #006269; }
code { background: #0f3460; padding: 2px 6px; border-radius: 4px; }
/* Collapsible Changelog */
details.styled-details { background: rgba(0,0,0,0.2); border-radius: 8px; overflow: hidden; }
summary.styled-summary { padding: 15px; cursor: pointer; font-weight: bold; list-style: none; display: flex; justify-content: space-between; align-items: center; user-select: none; }
summary.styled-summary:hover { background: rgba(255,255,255,0.05); }
summary.styled-summary::-webkit-details-marker { display: none; }
summary.styled-summary::after { content: '▼'; font-size: 0.8em; transition: transform 0.2s; }
details.styled-details[open] summary.styled-summary::after { transform: rotate(180deg); transition: transform 0.2s; }
.changelog-container { padding: 0 15px 15px 15px; border-top: 1px solid rgba(255,255,255,0.05); }
</style>
</head>
<body>
<!-- Banner Video: plays once, collapses after ending -->
<div id="banner-video-wrap" style="width: 100%; max-width: 600px; margin: 0 auto 20px auto; border-radius: 12px; overflow: hidden; pointer-events: none; user-select: none; max-height: 400px; opacity: 1; transition: max-height 0.8s ease-in-out, opacity 0.6s ease-in-out, margin 0.8s ease-in-out;">
<video id="banner-video" autoplay muted playsinline disablepictureinpicture style="width: 100%; display: block;" src="https://github.com/TauNeutrino/kantine-overview/raw/main/dist/Arrow_and_fork_fly_away_bd43310bea.mp4"></video>
</div>
<script>
document.getElementById('banner-video').addEventListener('ended', function() {
var w = document.getElementById('banner-video-wrap');
w.style.maxHeight = '0';
w.style.opacity = '0';
w.style.marginBottom = '0';
});
</script>
<div style="text-align: center; margin-bottom: 30px;">
<h1 style="margin-bottom: 5px; display: flex; align-items: center; justify-content: center; gap: 10px;">
<img src="data:image/png;base64,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" alt="Logo" style="width: 40px; height: 40px;">
Kantine Wrapper
<span style="font-size:0.5em; opacity:0.6; font-weight:400; margin-left:5px;">v1.6.14</span>
</h1>
<p style="font-size: 1.2rem; color: #a0aec0; margin-top: 0; font-style: italic;">"Mahlzeit! Jetzt bessa einfach."</p>
</div>
<!-- 1. BUTTON (Top Priority) -->
<div class="card" style="text-align: center; border: 2px solid #029AA8;">
<p style="margin-bottom:15px; font-weight:bold;">👇 Diesen Button in die Lesezeichen-Leiste ziehen:</p>
<p><a class="bookmarklet" id="bookmarklet-link" href="#" onclick="event.preventDefault(); return false;" title="Nicht klicken! Ziehe mich in deine Lesezeichen-Leiste.">⏳ Wird generiert...</a></p>
</div>
<!-- 2. INSTRUCTIONS -->
<div class="card">
<h2>So funktioniert's</h2>
<ol>
<li>Ziehe den Button oben in deine <strong>Lesezeichen-Leiste</strong> (Drag & Drop)</li>
<li>Navigiere zu <a href="https://web.bessa.app/knapp-kantine" style="color:#029AA8">web.bessa.app/knapp-kantine</a></li>
<li>Klicke auf das Lesezeichen <code>Kantine v1.6.14</code></li>
</ol>
</div>
<!-- 3. FEATURES -->
<div class="card">
<h2>✨ Features</h2>
<ul>
<li>📅 <strong>Wochenübersicht:</strong> Die ganze Woche auf einen Blick.</li>
<li><strong>Order Countdown:</strong> Roter Alarm 1h vor Bestellschluss.</li>
<li>🌟 <strong>Smart Highlights:</strong> Markiere deine Favoriten (z.B. "Schnitzel").</li>
<li>💰 <strong>Kostenkontrolle:</strong> Automatische Berechnung der Wochensumme.</li>
<li>🔑 <strong>Auto-Login:</strong> Nutzt deine bestehende Session.</li>
<li>🏷️ <strong>Badges & Status:</strong> Menü-Codes (M1, M2) und Bestellstatus direkt sichtbar.</li>
</ul>
<div style="margin-top: 30px; padding: 15px; background: rgba(233, 69, 96, 0.1); border: 1px solid rgba(233, 69, 96, 0.3); border-radius: 8px; font-size: 0.85em; color: #ddd;">
<strong>⚠️ Haftungsausschluss:</strong><br>
Die Verwendung dieses Bookmarklets erfolgt auf eigene Verantwortung. Der Entwickler übernimmt keine Haftung für Schäden, Datenverlust oder ungewollte Bestellungen, die durch die Nutzung dieser Software entstehen.
</div>
</div>
<!-- 4. CHANGELOG (Bottom) -->
<div class="card">
<details class="styled-details">
<summary class="styled-summary">Changelog & Version History</summary>
<div class="changelog-container">
<h3>v1.6.14 (2026-03-10)</h3>
<ul>
<li>🐛 **Bugfix**: Die globale "Aktualisiert am"-Zeit im Header wird bei einer manuellen Prüfung der geflaggten Menüs nicht mehr zurückgesetzt.</li>
</ul>
<h3>v1.6.13 (2026-03-10)</h3>
<ul>
<li>✨ **Feature**: Manueller Refresh der geflaggten Menüs durch Klick auf das Alarm-Icon im Header ([FR-093](REQUIREMENTS.md#FR-093)).</li>
<li>🔄 **UI**: Visuelle Rückmeldung während der Prüfung durch Rotation des Icons.</li>
<li>🔔 **Notification**: Toast-Benachrichtigung zeigt die Anzahl der geprüften Menüs an.</li>
</ul>
<h3>v1.6.12 (2026-03-10)</h3>
<ul>
<li>🔄 **Refactor**: Modularisierung von `kantine.js` in ES6-Module (`api.js`, `state.js`, `utils.js`, `ui.js`, etc.).</li>
<li>📦 **Build**: Integration von Webpack in den Build-Prozess zur Unterstützung der modularen Struktur.</li>
<li>🛡️ **Security**: XSS-Schutz durch Escaping dynamischer Inhalte in `innerHTML`.</li>
<li>⚡ **Performance**:</li>
- Optimierte Tag-Badge-Generierung und UI-Render-Loops (Verwendung von `reduce`).
- Nutzung von `insertAdjacentHTML` statt `innerHTML` für effizienteres Rendering.
- Batch-Fetching von `availableDates` zur Reduzierung der API-Calls.
- Performance-Fixes in `ui_helpers.js`.
<li>🧪 **Testing**: Unit-Tests für GitHub API-Header Generierung hinzugefügt.</li>
<li>🧹 **Cleanup**: Entfernung verwaister `console.log` Statements.</li>
<li>🐛 **Bugfix**: Korrektur des Tooltips beim Alarm-Icon (Polling-Zeit vs. globale Aktualisierungszeit).</li>
</ul>
<h3>v1.6.11 (2026-03-09)</h3>
<ul>
<li>🔄 **Refactor**: Trennung der Zeitstempel für die Hauptaktualisierung (Header) und die Benachrichtigungsprüfung (Bell-Icon). Das Polling aktualisiert nun nicht mehr fälschlicherweise die "Aktualisiert am"-Zeit im Header.</li>
<li>🏷️ **Metadata**: Version auf v1.6.11 angehoben.</li>
</ul>
<h3>v1.6.10 (2026-03-09)</h3>
<ul>
<li>**Feature**: Robuste Kurs-Erkennung in zweisprachigen Menüs ([FR-121](REQUIREMENTS.md#FR-121)).</li>
<li>**Fix**: Verhindert das Verschieben von Gängen bei fehlenden englischen Übersetzungen.</li>
<li>**Improved**: Heuristik-Split erkennt nun zuverlässiger den Übergang von Englisch zurück zu Deutsch (z.B. bei "Achtung"-Hinweisen)</li>
</ul>
<h3>v1.6.9 (2026-03-09)</h3>
<ul>
<li>🐛 **Bugfix**: Fehlerhafte Zeitangabe beim Bell-Icon ("vor 291h") behoben. Der Tooltip wird nun minütlich aktualisiert und nach jeder Menü-Prüfung korrekt neu gesetzt.</li>
<li>🔄 **Refactor**: Zeitstempel-Management für die letzte Aktualisierung vereinheitlicht und im `localStorage` persistiert.</li>
</ul>
<h3>v1.6.8 (2026-03-06)</h3>
<ul>
<li>⚡ **Performance**: Das JavaScript für das Kantinen-Bookmarklet wird nun beim Build-Prozess (via Terser) minimiert, was die Länge der injizierten URL spürbar reduziert.</li>
</ul>
<h3>v1.6.7 (2026-03-06)</h3>
<ul>
<li>🎨 **Style**: Das neue Header-Logo (`favicon_base.png`) wird nun konsequent auf 40x40px generiert und gerendert.</li>
</ul>
<h3>v1.6.6 (2026-03-06)</h3>
<ul>
<li>🎨 **Style**: Den Schatten und den hervorstehenden Karten-Effekt für bestellte Menüs an vergangenen Tagen komplett entfernt - verbleiben nun visuell flach und unaufdringlich wie nicht-bestellte Menüs.</li>
</ul>
<h3>v1.6.5 (2026-03-06)</h3>
<ul>
<li>✨ **Feature**: Das `restaurant_menu` Icon im Header wurde durch das neue `favicon_base.png` Logo ersetzt, passend zur Textgröße skaliert.</li>
<li>🎨 **Style**: Violette Umrahmung (Bestellt-Markierung) an vergangenen Tagen entfernt, um den Fokus auf aktuelle und zukünftige Bestellungen zu lenken.</li>
<li>🎨 **Style**: Der Glow-Effekt für am heutigen Tag bestellte Menüs wurde intensiviert.</li>
</ul>
<h3>v1.6.4 (2026-03-05)</h3>
<ul>
<li>✨ **Feature**: Sprach-Lexikon (DE/EN) massiv erweitert um österreichische Begriffe (Nockerl, Fleckerl, Topfen, Mohn, Most etc.) und gängige Tippfehler aus dem Bessa-System (trukey, coffe, oveb etc.).</li>
<li>🧹 **Cleanup**: Sprach-Lexikon dedupliziert und alphabetisch sortiert für bessere Performance und Wartbarkeit.</li>
<li>🐛 **Bugfix**: Trennung von zweisprachigen Menüs (`splitLanguage`) verbessert: Erfasst nun auch Schrägstriche ohne Leerzeichen (z.B. `Suppe/Soup`).</li>
<li>🐛 **Bugfix**: Fehlerhafte Badge-Anzeige korrigiert (Variable `count` vs `orderCount`).</li>
</ul>
<h3>v1.6.3 (2026-03-05)</h3>
<ul>
<li>✨ **Chore**: Slogan im Footer aktualisiert ("Jetzt Bessa Einfach! • Knapp-Kantine Wrapper • 2026 by Kaufis-Kitchen") und Footer-Höhe für mehr Platzierung optimiert.</li>
</ul>
<h3>v1.6.2 (2026-03-05)</h3>
<ul>
<li>✨ **Feature**: Wochentags-Header (Montag, Dienstag etc.) scrollen nun als "Sticky Header" mit und bleiben am oberen Bildschirmrand haften.</li>
- Das Layout clippt scrollende Speisen ordentlich darunter weg.
- Vollständiges Viewport-Scrolling: Das Layout nutzt nun die ganze Höhe aus (`100dvh`), wodurch Scrollbalken sauber am Rand positioniert sind.
<li>🐛 **Bugfix**: Probleme mit Bessa's default `overflow` Verhalten behoben, das `position: sticky` auf iOS/WebKit-Browsern blockierte.</li>
</ul>
<h3>v1.6.0 (2026-03-04)</h3>
<ul>
<li>✨ **Feature**: Sprachfilter für zweisprachige Menübeschreibungen. Neuer DE/EN/ALL Toggle im Header ermöglicht das Umschalten zwischen Deutsch, Englisch und dem vollen Originaltext. Allergen-Codes werden in allen Modi angezeigt. Einstellung wird persistent gespeichert.</li>
</ul>
<h3>v1.5.1 (2026-03-04)</h3>
<ul>
<li>🐛 **Bugfix**: Freitagsbestellungen schlugen fehl ("Onlinebestellung sind nicht verfügbar"). Ursache: Der Order-Payload verwendete `preorder: false` und eine falsche Uhrzeit (`T10:00:00.000Z` statt `T10:30:00Z`). Beides wurde anhand der originalen Bessa-API korrigiert.</li>
</ul>
<h3>v1.5.0 (2026-02-26)</h3>
Das große "Quality of Life"-Update! Zusammenfassung aller Features und Fixes seit v1.4.0:
<li>✨ **Bestellhistorie**: Übersichtliche Historie direkt in der App gruppiert nach Jahr/Monat, inklusive Summen, Stati (Offen/Abgeschlossen/Storniert) und Delta-Cache für rasantes Laden.</li>
<li>⚡ **Smart Cache & Performance**: Massive Reduzierung von API-Calls und Ladezeiten durch intelligenten lokalen Cache. Das Bookmarklet startet nun praktisch verzögerungsfrei.</li>
<li>🔄 **GitHub Release Management**: In-App Versions-Menü mit Auto-Update Check (`🆕` Icon). Umschalten zwischen "Stable" und "Dev" Versionen sowie Downgrade-Möglichkeit direkt über die GitHub API.</li>
<li>🌟 **Smart Highlights & UX**: Speisen-Favoriten leuchten nun im Design-Violett und erhalten Feature-Badges. Der Bestell-Badge für nächste Woche filtert nun intelligent personalisierte Highlights voraus.</li>
<li>🔔 **Bestell-Warnung & Notifications**: Der System-Alarm berücksichtigt nun Sessions korrekt, zeigt dynamische Farbwechsel (gelb/grün/rot) und warnt verlässlich vor dem Bestellschluss (10:00 Uhr). Altlasten von Vortagen werden automatisch geputzt.</li>
<li>🎨 **Eigenes Favicon**: Das Bookmarklet und der Installer haben nun ein eigenes Icon (Dreieck mit Besteck), das beim Hineinziehen in die Lesezeichenleiste übernommen wird (dynamisch generiert als lokales PNG).</li>
<li>🧹 **Lokaler Cache-Clear**: Ein in das Versions-Menü eingebauter "Papierkorb", der ausschließlich fehlerhafte Kantinen-Caches putzt, ohne dabei versehentlich die aktive Bessa-Host-Session zu zerstören.</li>
<li>🔒 **Sitzungs-Persistenz**: Die Login-Session überdauert jetzt neue Tabs, Fenster und Version-Upgrades reibungslos durch den Wechsel auf `localStorage`.</li>
<li>🛡️ **Testing & Stabilität**: Vollautomatische DOM- und Logik-Testing-Suites in der Release-Pipeline integriert. Fehlerhafte UI-Buttons gehören der Vergangenheit an.</li>
</ul>
<h3>v1.4.0 (2026-02-22)</h3>
<ul>
<li>**Feature**: Bestellhistorie per Knopfdruck abrufbar. Übersichtliche Darstellung, gruppiert nach Monaten und Kalenderwochen, inklusive Stornos. 📜✨</li>
</ul>
<h3>v1.3.2 (2026-02-19)</h3>
<ul>
<li>**Fix**: Falsche Anzahl an Highlight-Menüs im "Nächste Woche"-Badge korrigiert (zählte alle Menüs statt nur Highlights). 🐛</li>
</ul>
<h3>v1.3.1 (2026-02-17)</h3>
<ul>
<li>**Feature**: Smart Cache API-Refresh beim Start wird übersprungen wenn Daten für die aktuelle KW vorhanden und Cache < 1h alt ist. </li>
</ul>
<h3>v1.3.0 (2026-02-16)</h3>
<ul>
<li>**Feature**: GitHub Release Management 📦</li>
- Version-Menü: Klick auf Versionsnummer zeigt alle verfügbaren Versionen
- Dev-Mode Toggle: Zwischen Releases (stabil) und Tags (dev) wechseln
- Downgrade-Support: Jede Version hat einen eigenen Installer-Link
- Update-Check nutzt jetzt die GitHub API statt `version.txt`
- GitHub PAT für höheres API-Rate-Limit (5000/h)
- SemVer-Check: Update-Icon nur bei wirklich neuerer Version
<h3>v1.2.9 (2026-02-16)</h3>
<h3>v1.2.8 (2026-02-16)</h3>
<ul>
<li>**Debug**: Weiteres Logging (Fetch-Status, Start-Log) zur Fehlersuche. 🔎</li>
</ul>
<h3>v1.2.7 (2026-02-16)</h3>
<ul>
<li>**Debug**: Verbose Logging für Update-Check eingebaut. 🐞</li>
</ul>
<h3>v1.2.6 (2026-02-16)</h3>
<ul>
<li>**Test**: Version Bump zum Testen der Live-Update-Erkennung. 🧪</li>
</ul>
<h3>v1.2.5 (2026-02-16)</h3>
<ul>
<li>**Refactor**: Update-Erkennung komplett überarbeitet (stündlicher Check, diskretes 🆕 Icon im Header, kein Banner mehr). 🔄</li>
<li>**Cleanup**: Ungenutzter CSS-Code und Netzwerk-Traffic reduziert. 🧹</li>
<li>**Fix**: Highlight-Logik stabilisiert (keine falschen Matches bei leeren Tags). 🏷️</li>
</ul>
<h3>v1.2.4 (2026-02-16)</h3>
<ul>
<li>**Feature**: Gefundene Highlights werden jetzt direkt im Menü als Badge angezeigt. 🏷️</li>
</ul>
<h3>v1.2.3 (2026-02-16)</h3>
<ul>
<li>**Fix**: Update-Icon ist jetzt klickbar und führt direkt zum Installer. 🔗</li>
<li>**Dev**: Unit-Tests für Update-Logik im Build integriert. 🛡️</li>
</ul>
<h3>v1.2.2 (2026-02-16)</h3>
<ul>
<li>**UX**: Installer-Changelog jetzt einklappbar für mehr Übersicht. 📂</li>
</ul>
<h3>v1.2.1 (2026-02-16)</h3>
<ul>
<li>**Fix**: Smart Highlights werden jetzt korrekt auf Menü-Items angewendet (`checkHighlight` in `createDayCard`). 🌟</li>
<li>**Feature**: Mock-Daten (`mock-data.js`) für Standalone-Tests eingebaut. 🧪</li>
<li>**Style**: Highlight-Glow mit blauer Puls-Animation (`blue-pulse`) überarbeitet. 💎</li>
<li>**Style**: Tag-Badges konsistent mit Badge-System gestaltet. 🏷️</li>
<li>**Style**: "Hinzufügen"-Button (`#btn-add-tag`) als Primary-Button gestylt. 🎨</li>
<li>**Style**: Modal-Body Padding und Input-Font korrigiert. 🔧</li>
<li>**Docs**: README Projektstruktur mit Tabelle für `dist/`-Artefakte ergänzt. 📖</li>
</ul>
<h3>v1.2.0 (2026-02-16)</h3>
<ul>
<li>**Feature**: Bessere UX im Installer (Button oben, Log unten, Features aktualisiert). 💅</li>
<li>**Tech**: Build-Tests hinzugefügt. 🧪</li>
<li>**Fix**: Encoding-Probleme final behoben (dank Python Buildlogic). 🐍</li>
</ul>
<h3>v1.1.2 (2026-02-16)</h3>
<ul>
<li>**Fix**: Encoding-Problem beim Bookmarklet behoben (URL Malformed Error). 🔗</li>
</ul>
<h3>v1.1.1 (2026-02-16)</h3>
<ul>
<li>**Fix**: Kritischer Fehler behoben, der das Laden des Wrappers verhinderte. 🐛</li>
</ul>
<h3>v1.1.0 (2026-02-16)</h3>
<ul>
<li>**Feature: Bestell-Countdown**: Zeigt 1 Stunde vor Bestellschluss einen roten Countdown an. ⏳</li>
<li>**Feature: Smart Highlights**: Markiere deine Lieblingsspeisen (z.B. "Schnitzel", "Vegetarisch"), damit sie leuchten. 🌟</li>
<li>**Feature: Changelog**: Diese Übersicht der Änderungen. 📜</li>
<li>**Verbesserung**: Live-Check der Version beim Update.</li>
</ul>
<h3>v1.0.3 (2026-02-13)</h3>
<ul>
<li>**Fix**: Update-Link öffnet nun den Installer direkt als Webseite (via htmlpreview).</li>
</ul>
<h3>v1.0.2 (2026-02-13)</h3>
<ul>
<li>**Sync**: Version mit GitHub synchronisiert.</li>
</ul>
<h3>v1.0.1 (2026-02-12)</h3>
<ul>
<li>**UI**: Besseres Design für "Nächste Woche" (Badges).</li>
<li>**Core**: Grundlegende Funktionen (Bestellen, Guthaben, Token-Store).</li>
</div>
</details>
</div>
<div style="text-align: center; margin-top: 40px; color: #5c6b7f; font-size: 0.8rem;">
<p>Powered by <strong>Kaufis-Kitchen</strong> 👨‍🍳</p>
</div>
<script>
document.getElementById('bookmarklet-link').href =
"javascript:(function()%7Bvar%20s=document.createElement(%27style%27);s.textContent=%27:root%20%7B%20%20%20/%2A%20Premium%20Slate/Gray-Blue%20Palette%20-%20Light%20Mode%20%2A/%20%20%20--bg-body:%20%23f1f5f9;%20%20%20/%2A%20Slate%20100%20%2A/%20%20%20--bg-card:%20%23ffffff;%20%20%20--text-primary:%20%23334155;%20%20%20/%2A%20Slate%20700%20%2A/%20%20%20--text-secondary:%20%2364748b;%20%20%20--accent-color:%20%230f172a;%20%20%20/%2A%20Slate%20900%20(High%20contrast)%20%2A/%20%20%20--border-color:%20%23cbd5e1;%20%20%20/%2A%20Slate%20300%20%2A/%20%20%20--banner-bg:%20%23e2e8f0;%20%20%20--banner-text:%20%231e293b;%20%20%20--success-color:%20%23059669;%20%20%20--error-color:%20%23dc2626;%20%20%20--card-shadow:%200%204px%206px%20-1px%20rgb(0%200%200%20/%200.05),%200%202px%204px%20-2px%20rgb(0%200%200%20/%200.05);%20%20%20--header-bg:%20rgba(255,%20255,%20255,%200.9);%20%20%20--header-border:%201px%20solid%20rgba(203,%20213,%20225,%200.6);%20%7D%20%5Bdata-theme=%5C%22dark%5C%22%5D%20%7B%20%20%20/%2A%20Premium%20Slate/Gray-Blue%20Palette%20-%20Dark%20Mode%20%2A/%20%20%20--bg-body:%20%231e293b;%20%20%20/%2A%20Deep%20Slate%20Gray%20(Requested)%20%2A/%20%20%20--bg-card:%20%23334155;%20%20%20/%2A%20Slate%20700%20%2A/%20%20%20--text-primary:%20%23f8fafc;%20%20%20/%2A%20Slate%2050%20%2A/%20%20%20--text-secondary:%20%23cbd5e1;%20%20%20/%2A%20Slate%20300%20%2A/%20%20%20--accent-color:%20%2360a5fa;%20%20%20/%2A%20Blue%20400%20%2A/%20%20%20--border-color:%20%23475569;%20%20%20/%2A%20Slate%20600%20%2A/%20%20%20--banner-bg:%20%23475569;%20%20%20--banner-text:%20%23e2e8f0;%20%20%20--header-bg:%20rgba(30,%2041,%2059,%200.9);%20%20%20--header-border:%201px%20solid%20rgba(71,%2085,%20105,%200.6);%20%20%20--card-shadow:%200%2010px%2015px%20-3px%20rgb(0%200%200%20/%200.4);%20%7D%20%2A%20%7B%20%20%20box-sizing:%20border-box;%20%20%20margin:%200;%20%20%20padding:%200;%20%7D%20body%20%7B%20%20%20font-family:%20%5C%27Inter%5C%27,%20system-ui,%20-apple-system,%20sans-serif;%20%20%20background-color:%20var(--bg-body);%20%20%20color:%20var(--text-primary);%20%20%20transition:%20background-color%200.3s%20ease,%20color%200.3s%20ease;%20%20%20line-height:%201.5;%20%20%20-webkit-font-smoothing:%20antialiased;%20%7D%20/%2A%20Fix%20scrolling%20bug:%20Reset%20html/body%20styles%20from%20host%20page%20%2A/%20/%2A%20IMPORTANT:%20html%20must%20NOT%20have%20overflow%20set,%20or%20it%20creates%20a%20scroll%20container%20that%20breaks%20position:%20sticky%20%2A/%20html%20%7B%20%20%20height:%20auto%20!important;%20%20%20min-height:%20100%25%20!important;%20%20%20overflow:%20visible%20!important;%20%20%20position:%20static%20!important;%20%20%20margin:%200%20!important;%20%20%20padding:%200%20!important;%20%7D%20body%20%7B%20%20%20height:%20auto%20!important;%20%20%20min-height:%20100%25%20!important;%20%20%20overflow-x:%20clip%20!important;%20%20%20/%2A%20clip%20prevents%20horizontal%20overflow%20without%20breaking%20sticky%20%2A/%20%20%20overflow-y:%20visible%20!important;%20%20%20position:%20static%20!important;%20%20%20margin:%200%20!important;%20%20%20padding:%200%20!important;%20%7D%20/%2A%20Header%20%2A/%20.app-header%20%7B%20%20%20flex-shrink:%200;%20%20%20z-index:%20100;%20%20%20backdrop-filter:%20blur(12px);%20%20%20background-color:%20var(--header-bg);%20%20%20border-bottom:%20var(--header-border);%20%20%20padding:%201rem%200;%20%7D%20.header-content%20%7B%20%20%20width:%20100%25;%20%20%20/%2A%20Full%20width%20%2A/%20%20%20padding:%200%202rem;%20%20%20/%2A%20Comfortable%20padding%20%2A/%20%20%20display:%20grid;%20%20%20grid-template-columns:%201fr%20auto%201fr;%20%20%20align-items:%20center;%20%20%20gap:%201rem;%20%7D%20.brand%20%7B%20%20%20display:%20flex;%20%20%20align-items:%20center;%20%20%20gap:%200.75rem;%20%7D%20.brand-text%20%7B%20%20%20display:%20flex;%20%20%20flex-direction:%20column;%20%7D%20.brand%20h1%20%7B%20%20%20font-size:%201.25rem;%20%20%20font-weight:%20700;%20%20%20letter-spacing:%20-0.025em;%20%20%20margin-bottom:%200;%20%7D%20.subtitle%20%7B%20%20%20font-size:%200.85rem;%20%20%20color:%20var(--text-secondary);%20%20%20font-weight:%20400;%20%20%20margin-left:%202px;%20%7D%20.logo-icon%20%7B%20%20%20font-size:%201.5rem;%20%20%20color:%20var(--accent-color);%20%7D%20/%2A%20Controls%20%2A/%20.controls%20%7B%20%20%20display:%20flex;%20%20%20align-items:%20center;%20%20%20gap:%201.5rem;%20%20%20justify-self:%20end;%20%7D%20/%2A%20Header%20Week%20Info%20(centered)%20%2A/%20.header-week-info%20%7B%20%20%20text-align:%20center;%20%20%20line-height:%201.3;%20%7D%20.header-center-wrapper%20%7B%20%20%20display:%20flex;%20%20%20flex-direction:%20row;%20%20%20align-items:%20center;%20%20%20gap:%201.5rem;%20%20%20justify-content:%20center;%20%7D%20%20.header-week-title%20%7B%20%20%20font-size:%201.1rem;%20%20%20font-weight:%20600;%20%20%20color:%20var(--text-primary);%20%7D%20.header-week-subtitle%20%7B%20%20%20font-size:%200.85rem;%20%20%20color:%20var(--text-secondary);%20%7D%20/%2A%20Language%20Toggle%20(FR-100)%20%2A/%20.lang-toggle%20%7B%20%20%20display:%20inline-flex;%20%20%20gap:%200;%20%20%20border-radius:%206px;%20%20%20overflow:%20hidden;%20%20%20border:%201px%20solid%20var(--border-color);%20%20%20background:%20var(--bg-card);%20%7D%20.lang-btn%20%7B%20%20%20padding:%203px%2010px;%20%20%20font-size:%200.7rem;%20%20%20font-weight:%20600;%20%20%20letter-spacing:%200.03em;%20%20%20background:%20transparent;%20%20%20color:%20var(--text-secondary);%20%20%20border:%20none;%20%20%20cursor:%20pointer;%20%20%20transition:%20all%200.2s;%20%7D%20.lang-btn:hover%20%7B%20%20%20color:%20var(--text-primary);%20%20%20background:%20rgba(100,%20116,%20139,%200.1);%20%7D%20.lang-btn.active%20%7B%20%20%20background:%20var(--accent-color);%20%20%20color:%20white;%20%7D%20.nav-group%20%7B%20%20%20display:%20flex;%20%20%20background-color:%20var(--bg-card);%20%20%20border:%201px%20solid%20var(--border-color);%20%20%20padding:%200.25rem;%20%20%20border-radius:%208px;%20%7D%20.nav-btn%20%7B%20%20%20background:%20none;%20%20%20border:%20none;%20%20%20padding:%200.5rem%201rem;%20%20%20font-size:%200.875rem;%20%20%20font-weight:%20500;%20%20%20color:%20var(--text-secondary);%20%20%20cursor:%20pointer;%20%20%20border-radius:%206px;%20%20%20transition:%20all%200.2s;%20%20%20display:%20flex;%20%20%20align-items:%20center;%20%20%20gap:%200.5rem;%20%7D%20.nav-btn:hover%20%7B%20%20%20color:%20var(--text-primary);%20%20%20background-color:%20rgba(100,%20116,%20139,%200.1);%20%7D%20.nav-btn.active%20%7B%20%20%20background-color:%20var(--accent-color);%20%20%20color:%20white;%20%7D%20/%2A%20Notification%20state%20for%20Next%20Week%20%2A/%20.nav-btn.new-week-available%20%7B%20%20%20animation:%20goldPulse%202s%20infinite;%20%20%20border-color:%20%23f59e0b;%20%20%20color:%20var(--accent-color);%20%7D%20.nav-btn.new-week-available.active%20%7B%20%20%20color:%20white;%20%7D%20%40keyframes%20goldPulse%20%7B%20%20%200%25%20%7B%20%20%20%20%20box-shadow:%200%200%200%200%20rgba(245,%20158,%2011,%200.7);%20%20%20%7D%20%20%2070%25%20%7B%20%20%20%20%20box-shadow:%200%200%200%2010px%20rgba(245,%20158,%2011,%200);%20%20%20%7D%20%20%20100%25%20%7B%20%20%20%20%20box-shadow:%200%200%200%200%20rgba(245,%20158,%2011,%200);%20%20%20%7D%20%7D%20%20/%2A%20Badge%20for%20nav%20buttons%20(day%20count%20indicator)%20%2A/%20.nav-badge%20%7B%20%20%20background-color:%20var(--error-color);%20%20%20color:%20white;%20%20%20font-size:%200.75rem;%20%20%20font-weight:%20600;%20%20%20padding:%200%206px;%20%20%20border-radius:%2010px;%20%20%20min-width:%2018px;%20%20%20height:%2018px;%20%20%20display:%20inline-flex;%20%20%20align-items:%20center;%20%20%20justify-content:%20center;%20%20%20margin-left:%208px;%20%20%20gap:%203px;%20%20%20line-height:%201;%20%7D%20.nav-badge%20.orderable%20%7B%20%20%20color:%20%23fff;%20%20%20font-weight:%20800;%20%7D%20.nav-badge%20.separator%20%7B%20%20%20opacity:%200.6;%20%20%20font-weight:%20400;%20%7D%20.nav-badge%20.total%20%7B%20%20%20opacity:%200.8;%20%20%20font-weight:%20400;%20%7D%20.nav-btn.active%20.nav-badge%20%7B%20%20%20background:%20rgba(255,%20255,%20255,%200.3);%20%7D%20/%2A%20Primary%20style%20for%20Login%20Button%20to%20match%20header%20%2A/%20%23btn-login-open%20%7B%20%20%20background-color:%20var(--accent-color);%20%20%20color:%20white;%20%20%20padding:%200.5rem%201.25rem;%20%20%20border-radius:%208px;%20%20%20font-weight:%20600;%20%20%20letter-spacing:%200.025em;%20%20%20box-shadow:%200%202px%204px%20rgba(0,%200,%200,%200.1);%20%7D%20%23btn-login-open:hover%20%7B%20%20%20background-color:%20%23334155;%20%20%20/%2A%20Slightly%20lighter%20than%20slate-900%20%2A/%20%20%20transform:%20translateY(-1px);%20%20%20box-shadow:%200%204px%206px%20rgba(0,%200,%200,%200.1);%20%7D%20/%2A%20User%20Badge%20Button%20(Login)%20%2A/%20.user-badge-btn%20%7B%20%20%20display:%20flex;%20%20%20align-items:%20center;%20%20%20gap:%208px;%20%20%20padding:%206px%2012px;%20%20%20background:%20var(--bg-card);%20%20%20border:%201px%20solid%20var(--border-color);%20%20%20border-radius:%2020px;%20%20%20font-size:%200.9rem;%20%20%20font-weight:%20500;%20%20%20color:%20var(--text-primary);%20%20%20cursor:%20pointer;%20%20%20transition:%20all%200.2s;%20%7D%20.user-badge-btn:hover%20%7B%20%20%20background:%20rgba(100,%20116,%20139,%200.1);%20%20%20border-color:%20var(--accent-color);%20%7D%20.user-badge-btn%20.material-icons-round%20%7B%20%20%20font-size:%201.25rem;%20%20%20color:%20var(--accent-color);%20%7D%20.icon-btn%20%7B%20%20%20background:%20none;%20%20%20border:%20none;%20%20%20color:%20var(--text-primary);%20%20%20cursor:%20pointer;%20%20%20padding:%200.5rem;%20%20%20border-radius:%2050%25;%20%20%20transition:%20background-color%200.2s;%20%20%20display:%20flex;%20%20%20align-items:%20center;%20%20%20justify-content:%20center;%20%7D%20.icon-btn:hover%20%7B%20%20%20background-color:%20rgba(100,%20116,%20139,%200.1);%20%7D%20/%2A%20Refresh%20button%20animation%20%2A/%20%23btn-refresh.refreshing%20.material-icons-round,%20%23alarm-bell.refreshing%20.material-icons-round%20%7B%20%20%20animation:%20rotate%201s%20linear%20infinite;%20%7D%20%40keyframes%20rotate%20%7B%20%20%20from%20%7B%20%20%20%20%20transform:%20rotate(0deg);%20%20%20%7D%20%20%20to%20%7B%20%20%20%20%20transform:%20rotate(360deg);%20%20%20%7D%20%7D%20/%2A%20Progress%20Modal%20%2A/%20.progress-container%20%7B%20%20%20margin-bottom:%201.5rem;%20%7D%20.progress-bar%20%7B%20%20%20width:%20100%25;%20%20%20height:%208px;%20%20%20background-color:%20var(--border-color);%20%20%20border-radius:%204px;%20%20%20overflow:%20hidden;%20%20%20margin-bottom:%200.75rem;%20%7D%20.progress-fill%20%7B%20%20%20height:%20100%25;%20%20%20background:%20linear-gradient(90deg,%20var(--accent-color)%200%25,%20%2360a5fa%20100%25);%20%20%20width:%200%25;%20%20%20transition:%20width%200.3s%20ease;%20%20%20border-radius:%204px;%20%7D%20.progress-percent%20%7B%20%20%20text-align:%20center;%20%20%20font-size:%201.5rem;%20%20%20font-weight:%20700;%20%20%20color:%20var(--text-primary);%20%20%20margin-bottom:%200.5rem;%20%7D%20.progress-message%20%7B%20%20%20text-align:%20center;%20%20%20color:%20var(--text-secondary);%20%20%20font-size:%200.9rem;%20%20%20font-weight:%20500;%20%7D%20.weekly-cost%20%7B%20%20%20background-color:%20rgba(59,%20130,%20246,%200.1);%20%20%20/%2A%20Blue%20tint%20%2A/%20%20%20color:%20var(--accent-color);%20%20%20padding:%200.4rem%200.8rem;%20%20%20border-radius:%208px;%20%20%20font-weight:%20600;%20%20%20font-size:%200.9rem;%20%20%20display:%20flex;%20%20%20align-items:%20center;%20%20%20gap:%200.5rem;%20%20%20border:%201px%20solid%20rgba(59,%20130,%20246,%200.2);%20%7D%20.weekly-cost%20.material-icons-round%20%7B%20%20%20font-size:%2018px;%20%7D%20/%2A%20Container%20-%20flex%20column,%20full%20width%20so%20child%20scrollbar%20is%20at%20edge%20%2A/%20.container%20%7B%20%20%20flex:%201;%20%20%20width:%20100%25;%20%20%20overflow:%20hidden;%20%20%20padding:%200%200%200%200;%20%20%20/%2A%20Only%20top%20padding,%20no%20horizontal%20so%20child%20fills%20width%20%2A/%20%20%20display:%20flex;%20%20%20flex-direction:%20column;%20%7D%20/%2A%20Add%20horizontal%20padding%20to%20direct%20children%20of%20container%20to%20maintain%20layout%20%2A/%20.container%3E%2A:not(.menu-grid)%20%7B%20%20%20padding-left:%202rem;%20%20%20padding-right:%202rem;%20%7D%20/%2A%20Banner%20%2A/%20.banner%20%7B%20%20%20background-color:%20var(--banner-bg);%20%20%20color:%20var(--banner-text);%20%20%20padding:%200.75rem%201rem;%20%20%20border-radius:%208px;%20%20%20display:%20flex;%20%20%20align-items:%20center;%20%20%20gap:%200.5rem;%20%20%20margin-bottom:%202rem;%20%20%20font-size:%200.875rem;%20%20%20font-weight:%20500;%20%20%20border:%201px%20solid%20var(--border-color);%20%20%20max-width:%20fit-content;%20%7D%20/%2A%20User%20Badge%20%2A/%20.user-badge%20%7B%20%20%20display:%20flex;%20%20%20align-items:%20center;%20%20%20gap:%208px;%20%20%20padding:%206px%2012px;%20%20%20background:%20var(--bg-card);%20%20%20/%2A%20Changed%20from%20--surface%20%2A/%20%20%20border:%201px%20solid%20var(--border-color);%20%20%20/%2A%20Changed%20from%20--border%20%2A/%20%20%20border-radius:%2020px;%20%20%20font-size:%200.9rem;%20%20%20font-weight:%20500;%20%7D%20.icon-btn-small%20%7B%20%20%20background:%20none;%20%20%20border:%20none;%20%20%20padding:%204px;%20%20%20cursor:%20pointer;%20%20%20color:%20var(--text-secondary);%20%20%20/%2A%20Changed%20from%20--text-muted%20%2A/%20%20%20display:%20flex;%20%20%20align-items:%20center;%20%20%20justify-content:%20center;%20%20%20border-radius:%2050%25;%20%20%20transition:%20all%200.2s;%20%7D%20.icon-btn-small:hover%20%7B%20%20%20color:%20var(--error-color);%20%20%20/%2A%20Changed%20from%20--danger%20%2A/%20%20%20background:%20rgba(239,%2068,%2068,%200.1);%20%7D%20/%2A%20Modal%20%2A/%20.modal%20%7B%20%20%20position:%20fixed;%20%20%20top:%200;%20%20%20left:%200;%20%20%20width:%20100%25;%20%20%20height:%20100%25;%20%20%20background:%20rgba(0,%200,%200,%200.5);%20%20%20backdrop-filter:%20blur(4px);%20%20%20display:%20flex;%20%20%20align-items:%20center;%20%20%20justify-content:%20center;%20%20%20z-index:%201000;%20%20%20transition:%20all%200.3s;%20%7D%20.modal.hidden%20%7B%20%20%20opacity:%200;%20%20%20pointer-events:%20none;%20%7D%20.modal-content%20%7B%20%20%20background:%20var(--bg-card);%20%20%20width:%2090%25;%20%20%20max-width:%20400px;%20%20%20border-radius:%2016px;%20%20%20box-shadow:%200%2020px%2025px%20-5px%20rgba(0,%200,%200,%200.1),%200%2010px%2010px%20-5px%20rgba(0,%200,%200,%200.04);%20%20%20overflow:%20hidden;%20%20%20animation:%20modalSlide%200.3s%20ease-out;%20%7D%20/%2A%20History%20Modal%20specific%20%2A/%20.history-modal-content%20%7B%20%20%20max-width:%20600px;%20%20%20max-height:%2085vh;%20%20%20display:%20flex;%20%20%20flex-direction:%20column;%20%7D%20.history-modal-content%20.modal-body%20%7B%20%20%20overflow-y:%20auto;%20%20%20padding:%200;%20%20%20/%2A%20Padding%20is%20handled%20by%20inner%20elements%20%2A/%20%7D%20/%2A%20History%20Styles%20%2A/%20.history-year-group%20%7B%20%20%20margin-bottom:%2016px;%20%7D%20.history-year-header%20%7B%20%20%20background:%20var(--bg-card);%20%20%20padding:%2012px%2020px;%20%20%20margin:%200;%20%20%20font-size:%201.2rem;%20%20%20font-weight:%20700;%20%20%20color:%20var(--text-primary);%20%20%20border-bottom:%202px%20solid%20var(--border-color);%20%20%20position:%20sticky;%20%20%20top:%200;%20%20%20z-index:%2012;%20%7D%20.history-month-group%20%7B%20%20%20border-bottom:%201px%20solid%20var(--border-color);%20%7D%20.history-month-header%20%7B%20%20%20display:%20flex;%20%20%20justify-content:%20space-between;%20%20%20align-items:%20center;%20%20%20padding:%2014px%2020px;%20%20%20margin:%200;%20%20%20font-size:%201.05rem;%20%20%20font-weight:%20600;%20%20%20color:%20var(--text-primary);%20%20%20background:%20var(--bg-body);%20%20%20cursor:%20pointer;%20%20%20transition:%20background%200.2s;%20%7D%20.history-month-header:hover%20%7B%20%20%20background:%20var(--border-color);%20%20%20/%2A%20Slight%20hover%20effect%20%2A/%20%7D%20.history-month-summary%20%7B%20%20%20display:%20flex;%20%20%20align-items:%20center;%20%20%20gap:%2012px;%20%20%20font-size:%200.95rem;%20%20%20color:%20var(--text-secondary);%20%7D%20.history-month-content%20%7B%20%20%20display:%20none;%20%20%20/%2A%20Collapsed%20by%20default%20%2A/%20%20%20background:%20var(--bg-card);%20%7D%20.history-month-group.open%20.history-month-content%20%7B%20%20%20display:%20block;%20%20%20/%2A%20Expanded%20when%20open%20class%20is%20present%20%2A/%20%7D%20.history-month-group.open%20.history-month-header%20.material-icons-round%20%7B%20%20%20transform:%20rotate(180deg);%20%7D%20.history-month-header%20.material-icons-round%20%7B%20%20%20transition:%20transform%200.3s;%20%20%20font-size:%2020px;%20%7D%20.history-week-group%20%7B%20%20%20padding:%2012px%2020px;%20%20%20border-bottom:%201px%20dashed%20var(--border-color);%20%7D%20.history-week-group:last-child%20%7B%20%20%20border-bottom:%20none;%20%7D%20.history-week-header%20%7B%20%20%20display:%20flex;%20%20%20justify-content:%20space-between;%20%20%20align-items:%20center;%20%20%20font-size:%200.9rem;%20%20%20font-weight:%20600;%20%20%20color:%20var(--text-secondary);%20%20%20margin-bottom:%2010px;%20%7D%20.history-week-summary%20%7B%20%20%20font-size:%200.85rem;%20%20%20font-weight:%20500;%20%20%20background:%20rgba(100,%20116,%20139,%200.1);%20%20%20padding:%204px%2010px;%20%20%20border-radius:%2012px;%20%7D%20.history-items%20%7B%20%20%20display:%20flex;%20%20%20flex-direction:%20column;%20%20%20gap:%208px;%20%7D%20.history-item%20%7B%20%20%20display:%20grid;%20%20%20grid-template-columns:%2050px%201fr%20auto;%20%20%20align-items:%20center;%20%20%20gap:%2012px;%20%20%20padding:%2010px%2012px;%20%20%20background:%20var(--bg-body);%20%20%20border-radius:%208px;%20%20%20border:%201px%20solid%20var(--border-color);%20%7D%20.history-item-date%20%7B%20%20%20font-size:%200.85rem;%20%20%20color:%20var(--text-secondary);%20%20%20font-weight:%20500;%20%7D%20.history-item-details%20%7B%20%20%20display:%20flex;%20%20%20flex-direction:%20column;%20%20%20gap:%204px;%20%7D%20.history-item-name%20%7B%20%20%20font-size:%200.95rem;%20%20%20font-weight:%20500;%20%20%20color:%20var(--text-primary);%20%7D%20.history-item-price%20%7B%20%20%20font-weight:%20600;%20%20%20color:%20var(--text-primary);%20%7D%20.history-item-status%20%7B%20%20%20font-size:%200.8rem;%20%20%20font-weight:%20600;%20%20%20color:%20var(--text-primary);%20%20%20text-transform:%20uppercase;%20%20%20letter-spacing:%200.5px;%20%7D%20.history-item-cancelled%20%7B%20%20%20opacity:%200.5;%20%20%20filter:%20grayscale(1);%20%7D%20.history-item-price-cancelled%20%7B%20%20%20text-decoration:%20line-through;%20%20%20color:%20var(--text-secondary);%20%7D%20%40keyframes%20modalSlide%20%7B%20%20%20from%20%7B%20%20%20%20%20transform:%20translateY(20px);%20%20%20%20%20opacity:%200;%20%20%20%7D%20%20%20to%20%7B%20%20%20%20%20transform:%20translateY(0);%20%20%20%20%20opacity:%201;%20%20%20%7D%20%7D%20.modal-header%20%7B%20%20%20display:%20flex;%20%20%20align-items:%20center;%20%20%20justify-content:%20space-between;%20%20%20padding:%2020px;%20%20%20border-bottom:%201px%20solid%20var(--border-color);%20%7D%20.modal-header%20h2%20%7B%20%20%20margin:%200;%20%20%20font-size:%201.25rem;%20%7D%20.modal-body%20%7B%20%20%20padding:%2020px;%20%7D%20%23login-form%20%7B%20%20%20padding:%2020px;%20%7D%20.form-group%20%7B%20%20%20margin-bottom:%2020px;%20%7D%20.form-group%20label%20%7B%20%20%20display:%20block;%20%20%20margin-bottom:%206px;%20%20%20font-weight:%20500;%20%20%20font-size:%200.9rem;%20%7D%20.form-group%20input%20%7B%20%20%20width:%20100%25;%20%20%20padding:%2010px%2012px;%20%20%20border:%201px%20solid%20var(--border-color);%20%20%20/%2A%20Changed%20from%20--border%20%2A/%20%20%20border-radius:%208px;%20%20%20background:%20var(--bg-body);%20%20%20/%2A%20Changed%20from%20--bg%20%2A/%20%20%20color:%20var(--text-primary);%20%20%20/%2A%20Changed%20from%20--text%20%2A/%20%20%20font-family:%20inherit;%20%20%20transition:%20border-color%200.2s;%20%7D%20.form-group%20input:focus%20%7B%20%20%20outline:%20none;%20%20%20border-color:%20var(--accent-color);%20%20%20/%2A%20Changed%20from%20--primary%20%2A/%20%7D%20.help-text%20%7B%20%20%20display:%20block;%20%20%20margin-top:%204px;%20%20%20color:%20var(--text-secondary);%20%20%20/%2A%20Changed%20from%20--text-muted%20%2A/%20%20%20font-size:%200.75rem;%20%7D%20.error-msg%20%7B%20%20%20margin-bottom:%2016px;%20%20%20padding:%2010px;%20%20%20background:%20rgba(239,%2068,%2068,%200.1);%20%20%20color:%20var(--error-color);%20%20%20/%2A%20Changed%20from%20--danger%20%2A/%20%20%20border-radius:%208px;%20%20%20font-size:%200.85rem;%20%20%20text-align:%20center;%20%7D%20.modal-actions%20%7B%20%20%20margin-top:%2024px;%20%7D%20.btn-primary.wide%20%7B%20%20%20width:%20100%25;%20%20%20justify-content:%20center;%20%7D%20.hidden%20%7B%20%20%20display:%20none%20!important;%20%7D%20/%2A%20Menu%20Grid%20Container%20%2A/%20.menu-grid%20%7B%20%20%20display:%20flex;%20%20%20flex-direction:%20column;%20%20%20flex:%201;%20%20%20overflow:%20hidden;%20%20%20gap:%201rem;%20%7D%20.week-section%20%7B%20%20%20margin-bottom:%202rem;%20%7D%20.week-header%20%7B%20%20%20margin-bottom:%201.5rem;%20%20%20border-bottom:%201px%20solid%20var(--border-color);%20%20%20padding-bottom:%201rem;%20%20%20text-align:%20center;%20%7D%20.week-title%20%7B%20%20%20font-size:%201.75rem;%20%20%20font-weight:%20700;%20%20%20color:%20var(--text-primary);%20%7D%20.week-range%20%7B%20%20%20color:%20var(--text-secondary);%20%20%20font-size:%200.9rem;%20%20%20margin-top:%200.25rem;%20%7D%20/%2A%20Full-viewport%20layout:%20header%20+%20scrollable%20content%20+%20footer%20%2A/%20%23kantine-wrapper%20%7B%20%20%20display:%20flex;%20%20%20flex-direction:%20column;%20%20%20height:%20100vh;%20%20%20height:%20100dvh;%20%20%20/%2A%20Dynamic%20viewport%20height%20for%20mobile%20browsers%20%2A/%20%20%20overflow:%20hidden;%20%7D%20.days-grid%20%7B%20%20%20display:%20grid;%20%20%20grid-template-columns:%20repeat(auto-fit,%20minmax(180px,%201fr));%20%20%20gap:%200.75rem;%20%20%20flex:%201;%20%20%20overflow-y:%20auto;%20%20%20/%2A%20This%20is%20the%20scroll%20container%20at%20the%20window%20edge%20%2A/%20%20%20align-content:%20start;%20%20%20padding:%200%202rem%202rem%202rem;%20%7D%20/%2A%20Card%20%2A/%20.menu-card%20%7B%20%20%20background-color:%20var(--bg-card);%20%20%20border-radius:%2012px;%20%20%20border:%201px%20solid%20var(--border-color);%20%20%20box-shadow:%20var(--card-shadow);%20%20%20overflow:%20clip;%20%20%20/%2A%20Clips%20scrolling%20content%20behind%20sticky%20header%20%2A/%20%20%20transition:%20box-shadow%200.2s%20ease;%20%20%20display:%20flex;%20%20%20flex-direction:%20column;%20%7D%20/%2A%20Past%20Day%20Styling%20-%20Target%20specific%20elements%20so%20ordered%20items%20can%20remain%20visible%20AND%20preserve%20sticky%20context%20%2A/%20/%2A%20We%20MUST%20apply%20filter/opacity%20to%20children,%20not%20the%20parent%20.menu-card,%20or%20else%20position:%20sticky%20breaks%20%2A/%20/%2A%20Header%20keeps%20fully%20opaque%20background%20to%20hide%20scrolling%20items,%20only%20grayscales%20%2A/%20.menu-card.past-day%20.card-header%20%7B%20%20%20filter:%20grayscale(0.8);%20%20%20transition:%20filter%200.3s;%20%7D%20/%2A%20Items%20become%20semi-transparent%20%2A/%20.menu-card.past-day%20.menu-item:not(.ordered)%20%7B%20%20%20opacity:%200.6;%20%20%20filter:%20grayscale(0.8);%20%20%20transition:%20opacity%200.3s,%20filter%200.3s;%20%7D%20.menu-card.past-day:hover%20.card-header%20%7B%20%20%20filter:%20grayscale(0.4);%20%7D%20.menu-card.past-day:hover%20.menu-item:not(.ordered)%20%7B%20%20%20opacity:%200.8;%20%20%20filter:%20grayscale(0.4);%20%7D%20/%2A%20Past%20ordered%20items%20get%20no%20special%20frame%20or%20shadow,%20but%20remain%20visually%20distinct%20by%20staying%20fully%20opaque%20(via%20the%20:not(.ordered)%20selector%20above)%20%2A/%20.menu-item.today-ordered%20%7B%20%20%20border:%202px%20solid%20%238b5cf6;%20%20%20box-shadow:%200%200%2030px%20rgba(139,%2092,%20246,%200.6);%20%20%20border-radius:%208px;%20%20%20padding:%201rem;%20%20%20margin:%200%20-1rem%201.5rem%20-1rem;%20%20%20background:%20var(--bg-card);%20%20%20position:%20relative;%20%20%20z-index:%205;%20%20%20animation:%20pulse-glow-strong%203s%20infinite;%20%7D%20%40keyframes%20pulse-glow-strong%20%7B%20%20%200%25%20%7B%20%20%20%20%20box-shadow:%200%200%2020px%20rgba(139,%2092,%20246,%200.4);%20%20%20%7D%20%20%2050%25%20%7B%20%20%20%20%20box-shadow:%200%200%2040px%20rgba(139,%2092,%20246,%200.8);%20%20%20%7D%20%20%20100%25%20%7B%20%20%20%20%20box-shadow:%200%200%2020px%20rgba(139,%2092,%20246,%200.4);%20%20%20%7D%20%7D%20%20.menu-card:hover%20%7B%20%20%20box-shadow:%200%2020px%2025px%20-5px%20rgb(0%200%200%20/%200.1),%200%208px%2010px%20-6px%20rgb(0%200%200%20/%200.1);%20%7D%20.card-header%20%7B%20%20%20padding:%201rem%201.25rem;%20%20%20border-bottom:%201px%20solid%20var(--border-color);%20%20%20display:%20flex;%20%20%20justify-content:%20space-between;%20%20%20align-items:%20baseline;%20%20%20background-color:%20var(--bg-card);%20%20%20/%2A%20Removed%20border-radius:%2012px%2012px%200%200;%20%20%20%20.menu-card%5C%27s%20overflow:%20clip%20will%20round%20the%20corners%20initially.%20%20%20%20When%20sticky%20at%20the%20top,%20it%20will%20be%20square%20and%20perfectly%20hide%20scrolling%20content!%20%2A/%20%20%20/%2A%20Sticky%20within%20.container%20scroll%20area%20%2A/%20%20%20position:%20sticky;%20%20%20top:%200;%20%20%20z-index:%2090;%20%7D%20.card-body%20%7B%20%20%20padding:%201.25rem;%20%20%20display:%20grid;%20%20%20grid-template-rows:%20auto;%20%20%20align-content:%20start;%20%7D%20.day-name%20%7B%20%20%20font-size:%201.125rem;%20%20%20font-weight:%20600;%20%7D%20.day-date%20%7B%20%20%20font-size:%200.875rem;%20%20%20color:%20var(--text-secondary);%20%7D%20%20.empty-state%20%7B%20%20%20color:%20var(--text-secondary);%20%20%20font-style:%20italic;%20%20%20text-align:%20center;%20%20%20padding:%201rem;%20%7D%20/%2A%20Menu%20Items%20%2A/%20.menu-item%20%7B%20%20%20margin-bottom:%201.5rem;%20%20%20padding-bottom:%201.5rem;%20%20%20border-bottom:%201px%20solid%20var(--border-color);%20%7D%20.menu-item:last-child%20%7B%20%20%20margin-bottom:%200;%20%20%20padding-bottom:%200;%20%20%20border-bottom:%20none;%20%7D%20.item-header%20%7B%20%20%20display:%20flex;%20%20%20justify-content:%20space-between;%20%20%20align-items:%20flex-start;%20%20%20margin-bottom:%200.5rem;%20%20%20gap:%201rem;%20%7D%20.item-name%20%7B%20%20%20font-weight:%20600;%20%20%20color:%20var(--text-primary);%20%20%20font-size:%201rem;%20%7D%20.item-price%20%7B%20%20%20font-weight:%20700;%20%20%20color:%20var(--accent-color);%20%20%20white-space:%20nowrap;%20%7D%20.item-desc%20%7B%20%20%20font-size:%200.875rem;%20%20%20color:%20var(--text-secondary);%20%20%20line-height:%201.6;%20%20%20margin-bottom:%200.75rem;%20%20%20white-space:%20pre-wrap;%20%7D%20.badges%20%7B%20%20%20display:%20flex;%20%20%20gap:%200.5rem;%20%20%20margin-left:%20auto;%20%7D%20.item-status-row%20%7B%20%20%20display:%20flex;%20%20%20align-items:%20center;%20%20%20gap:%200.5rem;%20%20%20margin-bottom:%200.75rem;%20%7D%20.badge%20%7B%20%20%20display:%20inline-flex;%20%20%20align-items:%20center;%20%20%20justify-content:%20center;%20%20%20height:%2024px;%20%20%20font-size:%200.75rem;%20%20%20padding:%200%2010px;%20%20%20border-radius:%204px;%20%20%20font-weight:%20600;%20%20%20text-transform:%20uppercase;%20%20%20letter-spacing:%200.05em;%20%20%20line-height:%20normal;%20%20%20white-space:%20nowrap;%20%7D%20.badge.available%20%7B%20%20%20background-color:%20rgba(16,%20185,%20129,%200.1);%20%20%20/%2A%20Emerald%20500%20/%2010%25%20%2A/%20%20%20color:%20var(--success-color);%20%20%20border:%201px%20solid%20rgba(16,%20185,%20129,%200.2);%20%7D%20.badge.sold-out%20%7B%20%20%20background-color:%20rgba(239,%2068,%2068,%200.1);%20%20%20/%2A%20Red%20500%20/%2010%25%20%2A/%20%20%20color:%20var(--error-color);%20%20%20border:%201px%20solid%20rgba(239,%2068,%2068,%200.2);%20%7D%20.badge.ordered%20%7B%20%20%20background-color:%20rgba(139,%2092,%20246,%200.1);%20%20%20/%2A%20Violet%20500%20/%2010%25%20%2A/%20%20%20color:%20%238b5cf6;%20%20%20border:%201px%20solid%20rgba(139,%2092,%20246,%200.2);%20%20%20gap:%204px;%20%7D%20.badge.ordered%20.material-icons-round%20%7B%20%20%20font-size:%201rem;%20%7D%20/%2A%20Loading%20%2A/%20.loading-state%20%7B%20%20%20text-align:%20center;%20%20%20padding:%204rem;%20%20%20color:%20var(--text-secondary);%20%7D%20.spinner%20%7B%20%20%20width:%2040px;%20%20%20height:%2040px;%20%20%20border:%203px%20solid%20var(--border-color);%20%20%20border-top-color:%20var(--accent-color);%20%20%20border-radius:%2050%25;%20%20%20margin:%200%20auto%201rem;%20%20%20animation:%20spin%201s%20linear%20infinite;%20%7D%20%40keyframes%20spin%20%7B%20%20%20to%20%7B%20%20%20%20%20transform:%20rotate(360deg);%20%20%20%7D%20%7D%20/%2A%20Footer%20%2A/%20.app-footer%20%7B%20%20%20flex-shrink:%200;%20%20%20text-align:%20center;%20%20%20padding:%200.4rem%202rem;%20%20%20color:%20var(--text-secondary);%20%20%20font-size:%200.8rem;%20%20%20border-top:%201px%20solid%20var(--border-color);%20%7D%20/%2A%20===%20Order%20/%20Cancel%20Buttons%20(inline%20in%20status%20row)%20===%20%2A/%20.btn-order%20%7B%20%20%20display:%20inline-flex;%20%20%20align-items:%20center;%20%20%20gap:%204px;%20%20%20padding:%204px%2010px;%20%20%20border:%20none;%20%20%20border-radius:%206px;%20%20%20background:%20var(--success-color);%20%20%20color:%20white;%20%20%20font-size:%200.75rem;%20%20%20font-weight:%20600;%20%20%20cursor:%20pointer;%20%20%20transition:%20all%200.2s%20ease;%20%20%20font-family:%20inherit;%20%7D%20.btn-order%20.material-icons-round%20%7B%20%20%20font-size:%2016px;%20%7D%20.btn-order:hover:not(:disabled)%20%7B%20%20%20filter:%20brightness(1.15);%20%20%20transform:%20translateY(-1px);%20%7D%20.btn-order:disabled%20%7B%20%20%20opacity:%200.5;%20%20%20cursor:%20not-allowed;%20%7D%20.btn-order.loading%20%7B%20%20%20pointer-events:%20none;%20%20%20opacity:%200.6;%20%7D%20.btn-order-compact%20%7B%20%20%20padding:%202px%204px;%20%20%20gap:%200;%20%7D%20.btn-order-compact%20.material-icons-round%20%7B%20%20%20font-size:%2016px;%20%7D%20.btn-cancel%20%7B%20%20%20display:%20inline-flex;%20%20%20align-items:%20center;%20%20%20justify-content:%20center;%20%20%20padding:%204px%206px;%20%20%20border:%20none;%20%20%20border-radius:%206px;%20%20%20background:%20var(--error-color);%20%20%20color:%20white;%20%20%20font-size:%200.75rem;%20%20%20cursor:%20pointer;%20%20%20transition:%20all%200.2s%20ease;%20%20%20font-family:%20inherit;%20%7D%20.btn-cancel%20.material-icons-round%20%7B%20%20%20font-size:%2016px;%20%7D%20.btn-cancel:hover:not(:disabled)%20%7B%20%20%20filter:%20brightness(1.15);%20%20%20transform:%20translateY(-1px);%20%7D%20.btn-cancel:disabled%20%7B%20%20%20opacity:%200.5;%20%20%20cursor:%20not-allowed;%20%7D%20/%2A%20Past%20days:%20hide%20action%20buttons%20%2A/%20.past-day%20.item-actions%20%7B%20%20%20display:%20none;%20%7D%20/%2A%20Order%20count%20badge%20(for%20multi-orders)%20%2A/%20.order-count-badge%20%7B%20%20%20display:%20inline-flex;%20%20%20align-items:%20center;%20%20%20justify-content:%20center;%20%20%20background:%20rgba(255,%20255,%20255,%200.3);%20%20%20color:%20white;%20%20%20font-size:%200.65rem;%20%20%20font-weight:%20700;%20%20%20min-width:%2016px;%20%20%20height:%2016px;%20%20%20padding:%200%204px;%20%20%20border-radius:%208px;%20%20%20margin-left:%204px;%20%20%20line-height:%201;%20%7D%20/%2A%20===%20Toast%20Notifications%20===%20%2A/%20%23toast-container%20%7B%20%20%20position:%20fixed;%20%20%20bottom:%2020px;%20%20%20right:%2020px;%20%20%20z-index:%2010000;%20%20%20display:%20flex;%20%20%20flex-direction:%20column;%20%20%20gap:%208px;%20%20%20pointer-events:%20none;%20%7D%20.toast%20%7B%20%20%20display:%20flex;%20%20%20align-items:%20center;%20%20%20gap:%208px;%20%20%20padding:%2010px%2016px;%20%20%20border-radius:%208px;%20%20%20font-size:%200.85rem;%20%20%20font-weight:%20500;%20%20%20font-family:%20%5C%27Inter%5C%27,%20sans-serif;%20%20%20color:%20white;%20%20%20backdrop-filter:%20blur(10px);%20%20%20box-shadow:%200%204px%2012px%20rgba(0,%200,%200,%200.3);%20%20%20pointer-events:%20auto;%20%20%20transform:%20translateX(120%25);%20%20%20opacity:%200;%20%20%20transition:%20transform%200.3s%20ease,%20opacity%200.3s%20ease;%20%7D%20.toast.show%20%7B%20%20%20transform:%20translateX(0);%20%20%20opacity:%201;%20%7D%20.toast%20.material-icons-round%20%7B%20%20%20font-size:%2018px;%20%7D%20.toast-success%20%7B%20%20%20background:%20rgba(5,%20150,%20105,%200.95);%20%7D%20.toast-error%20%7B%20%20%20background:%20rgba(220,%2038,%2038,%200.95);%20%7D%20.toast-info%20%7B%20%20%20background:%20rgba(59,%20130,%20246,%200.95);%20%7D%20/%2A%20===%20Mobile%20Responsiveness%20===%20%2A/%20%40media%20(max-width:%20600px)%20%7B%20%20%20.header-content%20%7B%20%20%20%20%20flex-direction:%20column;%20%20%20%20%20gap:%201rem;%20%20%20%20%20padding:%200.75rem;%20%20%20%7D%20%20%20.week-nav%20%7B%20%20%20%20%20width:%20100%25;%20%20%20%20%20justify-content:%20center;%20%20%20%7D%20%20%20.nav-pills%20%7B%20%20%20%20%20width:%20100%25;%20%20%20%20%20justify-content:%20space-between;%20%20%20%7D%20%20%20.nav-btn%20%7B%20%20%20%20%20flex:%201;%20%20%20%20%20justify-content:%20center;%20%20%20%20%20padding:%200.5rem;%20%20%20%20%20font-size:%200.85rem;%20%20%20%7D%20%20%20.days-grid%20%7B%20%20%20%20%20grid-template-columns:%201fr;%20%20%20%20%20/%2A%20Force%20single%20column%20%2A/%20%20%20%7D%20%20%20.main-content%20%7B%20%20%20%20%20padding:%201rem;%20%20%20%7D%20%20%20.week-title%20%7B%20%20%20%20%20font-size:%201.5rem;%20%20%20%7D%20%20%20/%2A%20Adjust%20toast%20position%20for%20mobile%20%2A/%20%20%20.toast-container%20%7B%20%20%20%20%20bottom:%201rem;%20%20%20%20%20right:%201rem;%20%20%20%20%20left:%201rem;%20%20%20%20%20/%2A%20Center%20on%20mobile%20%2A/%20%20%20%20%20width:%20auto;%20%20%20%7D%20%20%20.menu-card%20%7B%20%20%20%20%20margin-bottom:%201rem;%20%20%20%7D%20%7D%20/%2A%20===%20Flagging%20%26%20Notification%20Styles%20===%20%2A/%20.btn-flag%20%7B%20%20%20display:%20inline-flex;%20%20%20align-items:%20center;%20%20%20justify-content:%20center;%20%20%20background:%20transparent;%20%20%20border:%201px%20solid%20var(--text-secondary);%20%20%20color:%20var(--text-secondary);%20%20%20border-radius:%206px;%20%20%20padding:%204px;%20%20%20cursor:%20pointer;%20%20%20transition:%20all%200.2s;%20%20%20margin-right:%200.5rem;%20%20%20width:%2028px;%20%20%20height:%2028px;%20%7D%20.btn-flag:hover%20%7B%20%20%20background:%20rgba(234,%20179,%208,%200.1);%20%20%20/%2A%20Yellow-500%20/%2010%25%20%2A/%20%20%20color:%20%23eab308;%20%20%20border-color:%20%23eab308;%20%7D%20.btn-flag.active%20%7B%20%20%20background:%20rgba(234,%20179,%208,%200.1);%20%20%20color:%20%23eab308;%20%20%20border-color:%20%23eab308;%20%7D%20.btn-flag%20.material-icons-round%20%7B%20%20%20font-size:%201.1rem;%20%7D%20/%2A%20Flagged%20%26%20Sold%20Out%20(Yellow%20Glow)%20%2A/%20.menu-item.flagged-sold-out%20%7B%20%20%20border:%201px%20solid%20%23eab308;%20%20%20box-shadow:%200%200%2010px%20rgba(234,%20179,%208,%200.2);%20%20%20border-radius:%208px;%20%20%20padding:%201rem;%20%20%20margin:%200%20-1rem%201.5rem%20-1rem;%20%20%20background:%20var(--bg-card);%20%20%20position:%20relative;%20%20%20z-index:%205;%20%20%20animation:%20yellow-pulse%203s%20infinite;%20%7D%20%40keyframes%20yellow-pulse%20%7B%20%20%200%25%20%7B%20%20%20%20%20box-shadow:%200%200%208px%20rgba(234,%20179,%208,%200.2);%20%20%20%7D%20%20%2050%25%20%7B%20%20%20%20%20box-shadow:%200%200%2016px%20rgba(234,%20179,%208,%200.5);%20%20%20%7D%20%20%20100%25%20%7B%20%20%20%20%20box-shadow:%200%200%208px%20rgba(234,%20179,%208,%200.2);%20%20%20%7D%20%7D%20/%2A%20Flagged%20%26%20Available%20(Green%20Glow)%20%2A/%20.menu-item.flagged-available%20%7B%20%20%20border:%202px%20solid%20var(--success-color);%20%20%20box-shadow:%200%200%2015px%20rgba(16,%20185,%20129,%200.3);%20%20%20border-radius:%208px;%20%20%20padding:%201rem;%20%20%20margin:%200%20-1rem%201.5rem%20-1rem;%20%20%20background:%20var(--bg-card);%20%20%20position:%20relative;%20%20%20z-index:%205;%20%20%20animation:%20green-pulse%203s%20infinite;%20%7D%20%40keyframes%20green-pulse%20%7B%20%20%200%25%20%7B%20%20%20%20%20box-shadow:%200%200%2010px%20rgba(16,%20185,%20129,%200.3);%20%20%20%7D%20%20%2050%25%20%7B%20%20%20%20%20box-shadow:%200%200%2020px%20rgba(16,%20185,%20129,%200.6);%20%20%20%7D%20%20%20100%25%20%7B%20%20%20%20%20box-shadow:%200%200%2010px%20rgba(16,%20185,%20129,%200.3);%20%20%20%7D%20%7D%20/%2A%20Day%20Header%20Badges%20%2A/%20.day-header-left%20%7B%20%20%20display:%20flex;%20%20%20align-items:%20center;%20%20%20gap:%200.75rem;%20%7D%20.menu-code-badge%20%7B%20%20%20font-size:%200.75rem;%20%20%20font-weight:%20700;%20%20%20color:%20%238b5cf6;%20%20%20/%2A%20Violet%20500%20%2A/%20%20%20background-color:%20rgba(139,%2092,%20246,%200.15);%20%20%20border:%201px%20solid%20rgba(139,%2092,%20246,%200.3);%20%20%20padding:%202px%206px;%20%20%20border-radius:%206px;%20%20%20line-height:%20normal;%20%20%20display:%20inline-block;%20%7D%20/%2A%20Detailed%20Badge%20Colors%20%2A/%20.nav-badge.badge-violet%20%7B%20%20%20background-color:%20%238b5cf6;%20%7D%20.nav-badge.badge-green%20%7B%20%20%20background-color:%20var(--success-color);%20%7D%20.nav-badge.badge-red%20%7B%20%20%20background-color:%20var(--error-color);%20%7D%20.nav-badge.badge-blue%20%7B%20%20%20background-color:%20var(--accent-color);%20%7D%20/%2A%20Day%20Header%20Status%20Colors%20(User%20Request)%20%2A/%20.card-header.header-violet%20%7B%20%20%20background-color:%20var(--bg-card);%20%20%20background-image:%20linear-gradient(rgba(139,%2092,%20246,%200.15),%20rgba(139,%2092,%20246,%200.15));%20%20%20border-bottom:%202px%20solid%20%238b5cf6;%20%7D%20.card-header.header-green%20%7B%20%20%20background-color:%20var(--bg-card);%20%20%20background-image:%20linear-gradient(rgba(16,%20185,%20129,%200.15),%20rgba(16,%20185,%20129,%200.15));%20%20%20border-bottom:%202px%20solid%20var(--success-color);%20%7D%20.card-header.header-red%20%7B%20%20%20background-color:%20var(--bg-card);%20%20%20background-image:%20linear-gradient(rgba(239,%2068,%2068,%200.15),%20rgba(239,%2068,%2068,%200.15));%20%20%20border-bottom:%202px%20solid%20var(--error-color);%20%7D%20.card-header.header-violet%20.day-name,%20.card-header.header-green%20.day-name,%20.card-header.header-red%20.day-name%20%7B%20%20%20font-weight:%20700;%20%20%20color:%20var(--text-primary);%20%20%20/%2A%20Ensure%20text%20remains%20standard%20color%20%2A/%20%7D%20/%2A%20Update%20Icon%20%2A/%20.update-icon%20%7B%20%20%20display:%20inline-flex;%20%20%20align-items:%20center;%20%20%20justify-content:%20center;%20%20%20margin-left:%208px;%20%20%20background-color:%20rgba(16,%20185,%20129,%200.2);%20%20%20/%2A%20Green%20tint%20%2A/%20%20%20color:%20var(--success-color);%20%20%20border-radius:%2050%25;%20%20%20width:%2024px;%20%20%20height:%2024px;%20%20%20cursor:%20pointer;%20%20%20font-size:%2014px;%20%20%20transition:%20all%200.2s;%20%20%20text-decoration:%20none;%20%20%20animation:%20pulse%202s%20infinite;%20%7D%20.update-icon:hover%20%7B%20%20%20background-color:%20var(--success-color);%20%20%20color:%20white;%20%20%20transform:%20scale(1.1);%20%7D%20%40keyframes%20pulse%20%7B%20%20%200%25%20%7B%20%20%20%20%20box-shadow:%200%200%200%200%20rgba(16,%20185,%20129,%200.4);%20%20%20%7D%20%20%2070%25%20%7B%20%20%20%20%20box-shadow:%200%200%200%206px%20rgba(16,%20185,%20129,%200);%20%20%20%7D%20%20%20100%25%20%7B%20%20%20%20%20box-shadow:%200%200%200%200%20rgba(16,%20185,%20129,%200);%20%20%20%7D%20%7D%20/%2A%20Order%20Countdown%20%2A/%20%23order-countdown%20%7B%20%20%20background:%20rgba(255,%20255,%20255,%200.1);%20%20%20padding:%200.25rem%200.75rem;%20%20%20border-radius:%2099px;%20%20%20font-size:%200.85rem;%20%20%20display:%20flex;%20%20%20align-items:%20center;%20%20%20gap:%200.5rem;%20%20%20white-space:%20nowrap;%20%20%20border:%201px%20solid%20var(--border-color);%20%7D%20%23order-countdown%20span%20%7B%20%20%20opacity:%200.7;%20%20%20font-size:%200.75rem;%20%20%20text-transform:%20uppercase;%20%20%20letter-spacing:%200.5px;%20%7D%20%23order-countdown.urgent%20%7B%20%20%20background:%20rgba(239,%2068,%2068,%200.2);%20%20%20border-color:%20rgba(239,%2068,%2068,%200.5);%20%20%20color:%20%23ef4444;%20%20%20animation:%20pulse-red%202s%20infinite;%20%7D%20%40keyframes%20pulse-red%20%7B%20%20%200%25%20%7B%20%20%20%20%20box-shadow:%200%200%200%200%20rgba(239,%2068,%2068,%200.4);%20%20%20%7D%20%20%2070%25%20%7B%20%20%20%20%20box-shadow:%200%200%200%206px%20rgba(239,%2068,%2068,%200);%20%20%20%7D%20%20%20100%25%20%7B%20%20%20%20%20box-shadow:%200%200%200%200%20rgba(239,%2068,%2068,%200);%20%20%20%7D%20%7D%20/%2A%20Smart%20Highlights%20(Blue%20Glow%20-%20matches%20today-ordered/flagged%20pattern)%20%2A/%20.menu-item.highlight-glow%20%7B%20%20%20border:%202px%20solid%20rgba(59,%20130,%20246,%200.7);%20%20%20box-shadow:%200%200%2020px%20rgba(59,%20130,%20246,%200.4);%20%20%20border-radius:%208px;%20%20%20padding:%201rem;%20%20%20margin:%200%20-1rem%201.5rem%20-1rem;%20%20%20background:%20var(--bg-card);%20%20%20position:%20relative;%20%20%20z-index:%205;%20%20%20animation:%20blue-pulse%203s%20infinite;%20%7D%20%40keyframes%20blue-pulse%20%7B%20%20%200%25%20%7B%20%20%20%20%20box-shadow:%200%200%2015px%20rgba(59,%20130,%20246,%200.3);%20%20%20%7D%20%20%2050%25%20%7B%20%20%20%20%20box-shadow:%200%200%2025px%20rgba(59,%20130,%20246,%200.6);%20%20%20%7D%20%20%20100%25%20%7B%20%20%20%20%20box-shadow:%200%200%2015px%20rgba(59,%20130,%20246,%200.3);%20%20%20%7D%20%7D%20/%2A%20Nav%20Badge%20with%20Count%20%2A/%20.nav-badge.has-highlights%20%7B%20%20%20background-color:%20var(--bg-card);%20%20%20/%2A%20Neutral%20background%20%2A/%20%20%20color:%20var(--text-primary);%20%20%20border:%201px%20solid%20var(--border-color);%20%20%20padding:%202px%206px;%20%7D%20.nav-badge%20.highlight-count%20%7B%20%20%20color:%20%233b82f6;%20%20%20/%2A%20Blue%20500%20%2A/%20%20%20font-weight:%20700;%20%20%20margin-left:%204px;%20%7D%20/%2A%20Tag%20Management%20Modal%20%2A/%20%23tags-list%20%7B%20%20%20display:%20flex;%20%20%20flex-wrap:%20wrap;%20%20%20gap:%200.5rem;%20%20%20margin-top:%201rem;%20%20%20min-height:%2050px;%20%7D%20/%2A%20Tag%20badges%20styled%20consistently%20with%20.badge%20(verf%C3%BCgbar/ausverkauft)%20%2A/%20.tag-badge%20%7B%20%20%20display:%20inline-flex;%20%20%20align-items:%20center;%20%20%20justify-content:%20center;%20%20%20height:%2024px;%20%20%20font-size:%200.75rem;%20%20%20padding:%200%2010px;%20%20%20border-radius:%204px;%20%20%20font-weight:%20600;%20%20%20text-transform:%20uppercase;%20%20%20letter-spacing:%200.05em;%20%20%20line-height:%20normal;%20%20%20white-space:%20nowrap;%20%20%20background-color:%20rgba(59,%20130,%20246,%200.1);%20%20%20color:%20%233b82f6;%20%20%20border:%201px%20solid%20rgba(59,%20130,%20246,%200.2);%20%20%20gap:%204px;%20%7D%20.tag-remove%20%7B%20%20%20cursor:%20pointer;%20%20%20opacity:%200.7;%20%20%20font-size:%201.1em;%20%20%20line-height:%201;%20%20%20transition:%20all%200.2s;%20%7D%20.tag-remove:hover%20%7B%20%20%20opacity:%201;%20%20%20color:%20%23ef4444;%20%7D%20.input-group%20%7B%20%20%20display:%20flex;%20%20%20gap:%200.5rem;%20%7D%20.input-group%20input%20%7B%20%20%20flex:%201;%20%20%20padding:%200.75rem;%20%20%20background:%20var(--bg-body);%20%20%20border:%201px%20solid%20var(--border-color);%20%20%20color:%20var(--text-primary);%20%20%20border-radius:%208px;%20%20%20font-family:%20inherit;%20%7D%20/%2A%20Add%20tag%20button%20-%20styled%20like%20.btn-order%20with%20nav-btn.active%20color%20%2A/%20%23btn-add-tag%20%7B%20%20%20display:%20inline-flex;%20%20%20align-items:%20center;%20%20%20gap:%204px;%20%20%20padding:%200.5rem%201rem;%20%20%20border:%20none;%20%20%20border-radius:%206px;%20%20%20background:%20var(--accent-color);%20%20%20color:%20white;%20%20%20font-size:%200.8rem;%20%20%20font-weight:%20600;%20%20%20cursor:%20pointer;%20%20%20transition:%20all%200.2s%20ease;%20%20%20font-family:%20inherit;%20%20%20white-space:%20nowrap;%20%7D%20%23btn-add-tag:hover%20%7B%20%20%20filter:%20brightness(1.15);%20%20%20transform:%20translateY(-1px);%20%7D%20%20.matched-tags%20%7B%20%20%20display:%20flex;%20%20%20flex-wrap:%20wrap;%20%20%20gap:%206px;%20%20%20margin-bottom:%208px;%20%20%20/%2A%20Space%20between%20tags%20and%20title%20%2A/%20%20%20margin-top:%20-5px;%20%20%20/%2A%20Pull%20closer%20to%20header%20%2A/%20%7D%20.tag-badge-small%20%7B%20%20%20display:%20inline-flex;%20%20%20align-items:%20center;%20%20%20font-size:%200.7rem;%20%20%20padding:%202px%208px;%20%20%20border-radius:%204px;%20%20%20background:%20rgba(59,%20130,%20246,%200.15);%20%20%20color:%20%2360a5fa;%20%20%20border:%201px%20solid%20rgba(59,%20130,%20246,%200.3);%20%20%20font-weight:%20600;%20%20%20text-transform:%20uppercase;%20%20%20letter-spacing:%200.05em;%20%7D%20%5Bdata-theme=%5C%22light%5C%22%5D%20.tag-badge-small%20%7B%20%20%20background:%20rgba(37,%2099,%20235,%200.1);%20%20%20color:%20%232563eb;%20%20%20border:%201px%20solid%20rgba(37,%2099,%20235,%200.2);%20%7D%20%20/%2A%20Installer%20Changelog%20%2A/%20.changelog-container%20ul%20%7B%20%20%20padding-left:%201.5rem;%20%20%20margin:%200.5rem%200;%20%7D%20.changelog-container%20li%20%7B%20%20%20margin-bottom:%200.4rem;%20%20%20line-height:%201.5;%20%7D%20.changelog-container%20h3%20%7B%20%20%20margin-top:%201.5rem;%20%20%20margin-bottom:%200.5rem;%20%20%20font-size:%201.1em;%20%20%20color:%20var(--accent-color);%20%7D%20/%2A%20===%20Version%20Menu%20===%20%2A/%20.version-tag%20%7B%20%20%20cursor:%20pointer;%20%20%20transition:%20opacity%200.2s%20ease,%20text-decoration%200.2s%20ease;%20%7D%20.version-tag:hover%20%7B%20%20%20opacity:%201%20!important;%20%20%20text-decoration:%20underline;%20%7D%20.version-list%20%7B%20%20%20list-style:%20none;%20%20%20padding:%200;%20%20%20margin:%200;%20%7D%20.version-item%20%7B%20%20%20display:%20flex;%20%20%20justify-content:%20space-between;%20%20%20align-items:%20center;%20%20%20padding:%2010px%2014px;%20%20%20border-radius:%208px;%20%20%20margin-bottom:%204px;%20%20%20transition:%20background%200.2s;%20%7D%20.version-item:hover%20%7B%20%20%20background:%20rgba(100,%20116,%20139,%200.08);%20%7D%20.version-item.current%20%7B%20%20%20background:%20rgba(2,%20154,%20168,%200.1);%20%20%20border:%201px%20solid%20rgba(2,%20154,%20168,%200.25);%20%7D%20%5Bdata-theme=%5C%22dark%5C%22%5D%20.version-item:hover%20%7B%20%20%20background:%20rgba(255,%20255,%20255,%200.05);%20%7D%20%5Bdata-theme=%5C%22dark%5C%22%5D%20.version-item.current%20%7B%20%20%20background:%20rgba(96,%20165,%20250,%200.12);%20%20%20border:%201px%20solid%20rgba(96,%20165,%20250,%200.25);%20%7D%20.version-info%20%7B%20%20%20display:%20flex;%20%20%20align-items:%20center;%20%20%20gap:%2010px;%20%7D%20.badge-current%20%7B%20%20%20font-size:%200.75rem;%20%20%20font-weight:%20600;%20%20%20color:%20var(--success-color);%20%20%20padding:%202px%208px;%20%20%20border-radius:%204px;%20%20%20background:%20rgba(5,%20150,%20105,%200.1);%20%7D%20.badge-new%20%7B%20%20%20font-size:%200.75rem;%20%20%20font-weight:%20600;%20%20%20color:%20%23029aa8;%20%20%20padding:%202px%208px;%20%20%20border-radius:%204px;%20%20%20background:%20rgba(2,%20154,%20168,%200.1);%20%7D%20%5Bdata-theme=%5C%22dark%5C%22%5D%20.badge-new%20%7B%20%20%20color:%20%2360a5fa;%20%20%20background:%20rgba(96,%20165,%20250,%200.12);%20%7D%20.install-link%20%7B%20%20%20font-size:%200.8rem;%20%20%20font-weight:%20500;%20%20%20padding:%204px%2012px;%20%20%20border-radius:%206px;%20%20%20background:%20rgba(2,%20154,%20168,%200.1);%20%20%20color:%20%23029aa8;%20%20%20text-decoration:%20none;%20%20%20border:%201px%20solid%20rgba(2,%20154,%20168,%200.25);%20%20%20transition:%20all%200.2s;%20%20%20white-space:%20nowrap;%20%7D%20.install-link:hover%20%7B%20%20%20background:%20rgba(2,%20154,%20168,%200.2);%20%20%20border-color:%20rgba(2,%20154,%20168,%200.4);%20%7D%20%5Bdata-theme=%5C%22dark%5C%22%5D%20.install-link%20%7B%20%20%20color:%20%2360a5fa;%20%20%20background:%20rgba(96,%20165,%20250,%200.12);%20%20%20border:%201px%20solid%20rgba(96,%20165,%20250,%200.25);%20%7D%20%5Bdata-theme=%5C%22dark%5C%22%5D%20.install-link:hover%20%7B%20%20%20background:%20rgba(96,%20165,%20250,%200.2);%20%20%20border-color:%20rgba(96,%20165,%20250,%200.4);%20%7D%20.dev-toggle%20%7B%20%20%20padding:%2010px%2014px;%20%20%20border-radius:%208px;%20%20%20background:%20rgba(100,%20116,%20139,%200.05);%20%20%20border:%201px%20solid%20var(--border-color);%20%7D%20.dev-toggle%20input%5Btype=%5C%22checkbox%5C%22%5D%20%7B%20%20%20accent-color:%20%23029aa8;%20%20%20width:%2016px;%20%20%20height:%2016px;%20%7D%20%5Bdata-theme=%5C%22dark%5C%22%5D%20.dev-toggle%20input%5Btype=%5C%22checkbox%5C%22%5D%20%7B%20%20%20accent-color:%20%2360a5fa;%20%7D%27;document.head.appendChild(s);(()=%3E%7B%22use%20strict%22;var%20e=%7B367(e,t,n)%7Bn.d(t,%7BA0:()=%3Ef,Aq:()=%3Em,BM:()=%3EL,Et:()=%3Ew,Gb:()=%3Ed,H:()=%3Ey,KG:()=%3ED,N4:()=%3Eh,P0:()=%3ET,PQ:()=%3Ev,VL:()=%3Ex,Y1:()=%3EE,g8:()=%3Eb,i_:()=%3Ec,m9:()=%3EO,oL:()=%3EA,wH:()=%3Eg%7D);var%20a=n(901),s=n(413),o=n(521),i=n(672),r=n(842);let%20l=null;function%20c()%7Bif(!a.gX)try%7Bconst%20e=localStorage.getItem(%22AkitaStores%22);if(e)%7Bconst%20t=JSON.parse(e);t.auth%26%26t.auth.token%26%26((0,a.O5)(t.auth.token),localStorage.setItem(%22kantine_authToken%22,t.auth.token),t.auth.user%26%26((0,a.lt)(t.auth.user.id%7C%7C%22unknown%22),localStorage.setItem(%22kantine_currentUser%22,t.auth.user.id%7C%7C%22unknown%22),t.auth.user.firstName%26%26localStorage.setItem(%22kantine_firstName%22,t.auth.user.firstName),t.auth.user.lastName%26%26localStorage.setItem(%22kantine_lastName%22,t.auth.user.lastName)))%7D%7Dcatch(e)%7Bconsole.warn(%22Failed%20to%20parse%20AkitaStores:%22,e)%7D(0,a.O5)(localStorage.getItem(%22kantine_authToken%22)),(0,a.lt)(localStorage.getItem(%22kantine_currentUser%22));const%20e=localStorage.getItem(%22kantine_firstName%22),t=document.getElementById(%22btn-login-open%22),n=document.getElementById(%22user-info%22),s=document.getElementById(%22user-id-display%22);a.gX%3F(t.classList.add(%22hidden%22),n.classList.remove(%22hidden%22),s.textContent=e%7C%7C(a.Ny%3F%60User%20%24%7Ba.Ny%7D%60:%22Angemeldet%22),d()):(t.classList.remove(%22hidden%22),n.classList.add(%22hidden%22),s.textContent=%22%22),(0,r.OR)()%7Dasync%20function%20d()%7Bif(a.gX)try%7Bconst%20e=await%20fetch(%60%24%7Bo.tE%7D/user/orders/%3Fvenue=%24%7Bo.eW%7D%26ordering=-created%26limit=50%60,%7Bheaders:(0,i.H)(a.gX)%7D),t=await%20e.json();if(e.ok)%7Bconst%20e=new%20Map,n=t.results%7C%7C%5B%5D;for(const%20t%20of%20n)%7Bif(9===t.order_state)continue;const%20n=t.date.split(%22T%22)%5B0%5D;for(const%20a%20of%20t.items%7C%7C%5B%5D)%7Bconst%20s=%60%24%7Bn%7D_%24%7Ba.article%7D%60;e.has(s)%7C%7Ce.set(s,%5B%5D),e.get(s).push(t.id)%7D%7D(0,a.di)(e),(0,r.OR)(),(0,r.gJ)()%7D%7Dcatch(e)%7Bconsole.error(%22Error%20fetching%20orders:%22,e)%7D%7Dasync%20function%20m()%7Bconst%20e=document.getElementById(%22history-loading%22),t=document.getElementById(%22history-content%22),n=document.getElementById(%22history-progress-fill%22),s=document.getElementById(%22history-progress-text%22);let%20r=%5B%5D;if(l)r=l;else%7Bconst%20e=localStorage.getItem(%22kantine_history_cache%22);if(e)try%7Br=JSON.parse(e),l=r%7Dcatch(e)%7Bconsole.warn(%22History%20cache%20parse%20error%22,e)%7D%7Dif(r.length%3E0%26%26u(r),!a.gX)return;0===r.length%26%26(t.innerHTML=%22%22,e.classList.remove(%22hidden%22)),n.style.width=%220%25%22,s.textContent=r.length%3E0%3F%22Suche%20nach%20neuen%20Bestellungen...%22:%22Lade%20Bestellhistorie...%22,r.length%3E0%26%26e.classList.remove(%22hidden%22);let%20c=r.length%3E0%3F%60%24%7Bo.tE%7D/user/orders/%3Fvenue=%24%7Bo.eW%7D%26ordering=-created%26limit=5%60:%60%24%7Bo.tE%7D/user/orders/%3Fvenue=%24%7Bo.eW%7D%26ordering=-created%26limit=50%60,d=%5B%5D,m=0,g=0===r.length,h=!1;try%7Bfor(;c%26%26!h;)%7Bconst%20e=await%20fetch(c,%7Bheaders:(0,i.H)(a.gX)%7D);if(!e.ok)throw%20new%20Error(%60Fetch%20failed:%20%24%7Be.status%7D%60);const%20t=await%20e.json();t.count%26%260===m%26%26(m=t.count);const%20o=t.results%7C%7C%5B%5D;for(const%20e%20of%20o)%7Bconst%20t=r.findIndex(t=%3Et.id===e.id);if(!g%26%26-1!==t)%7Bconst%20n=r%5Bt%5D;if(n.updated===e.updated%26%26n.order_state===e.order_state)%7Bh=!0;break%7D%7Dd.push(e)%7Dif(!h%26%26g)if(m%3E0)%7Bconst%20e=Math.round(d.length/m%2A100);n.style.width=%60%24%7Be%7D%25%60,s.textContent=%60Lade%20Bestellung%20%24%7Bd.length%7D%20von%20%24%7Bm%7D...%60%7Delse%20s.textContent=%60Lade%20Bestellung%20%24%7Bd.length%7D...%60;else%20h%7C%7C(s.textContent=%60%24%7Bd.length%7D%20neue/ge%C3%A4nderte%20Bestellungen%20gefunden...%60);c=h%3Fnull:t.next%7Dif(d.length%3E0)%7Bconst%20e=new%20Map(r.map(e=%3E%5Be.id,e%5D));for(const%20t%20of%20d)e.set(t.id,t);const%20t=Array.from(e.values());t.sort((e,t)=%3Enew%20Date(t.created)-new%20Date(e.created)),l=t;try%7BlocalStorage.setItem(%22kantine_history_cache%22,JSON.stringify(t))%7Dcatch(e)%7Bconsole.warn(%22History%20cache%20write%20error%22,e)%7Du(l)%7D%7Dcatch(e)%7Bconsole.error(%22Error%20in%20history%20sync:%22,e),0===r.length%3Ft.innerHTML=%27%3Cp%20style=%22color:var(--error-color);text-align:center;%22%3EFehler%20beim%20Laden%20der%20Historie.%3C/p%3E%27:T(%22Hintergrund-Synchronisation%20fehlgeschlagen%22,%22error%22)%7Dfinally%7Be.classList.add(%22hidden%22)%7D%7Dfunction%20u(e)%7Bconst%20t=document.getElementById(%22history-content%22);if(!e%7C%7C0===e.length)return%20void(t.innerHTML=%27%3Cp%20style=%22text-align:center;color:var(--text-secondary);padding:20px;%22%3EKeine%20Bestellungen%20gefunden.%3C/p%3E%27);const%20n=%7B%7D;e.forEach(e=%3E%7Bconst%20t=new%20Date(e.date),a=t.getFullYear(),o=t.getMonth(),i=%60%24%7Ba%7D-%24%7Bo.toString().padStart(2,%220%22)%7D%60,r=t.toLocaleString(%22de-AT%22,%7Bmonth:%22long%22%7D),l=(0,s.sn)(t);n%5Ba%5D%7C%7C(n%5Ba%5D=%7Byear:a,months:%7B%7D%7D),n%5Ba%5D.months%5Bi%5D%7C%7C(n%5Ba%5D.months%5Bi%5D=%7Bname:r,year:a,monthIndex:o,count:0,total:0,weeks:%7B%7D%7D),n%5Ba%5D.months%5Bi%5D.weeks%5Bl%5D%7C%7C(n%5Ba%5D.months%5Bi%5D.weeks%5Bl%5D=%7Blabel:%60KW%20%24%7Bl%7D%60,items:%5B%5D,count:0,total:0%7D);(e.items%7C%7C%5B%5D).forEach(t=%3E%7Bconst%20s=parseFloat(t.price%7C%7Ce.total%7C%7C0);n%5Ba%5D.months%5Bi%5D.weeks%5Bl%5D.items.push(%7Bdate:e.date,name:t.name%7C%7C%22Men%C3%BC%22,price:s,state:e.order_state%7D),9!==e.order_state%26%26(n%5Ba%5D.months%5Bi%5D.weeks%5Bl%5D.count++,n%5Ba%5D.months%5Bi%5D.weeks%5Bl%5D.total+=s,n%5Ba%5D.months%5Bi%5D.count++,n%5Ba%5D.months%5Bi%5D.total+=s)%7D)%7D);const%20a=Object.keys(n).sort((e,t)=%3Et-e);let%20o=%22%22;a.forEach(e=%3E%7Bconst%20t=n%5Be%5D;o+=%60%3Cdiv%20class=%22history-year-group%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3Ch2%20class=%22history-year-header%22%3E%24%7Bt.year%7D%3C/h2%3E%60;Object.keys(t.months).sort((e,t)=%3Et.localeCompare(e)).forEach(e=%3E%7Bconst%20n=t.months%5Be%5D;o+=%60%3Cdiv%20class=%22history-month-group%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22history-month-header%22%20tabindex=%220%22%20role=%22button%22%20aria-expanded=%22false%22%20title=%22Klicken,%20um%20die%20Bestellungen%20f%C3%BCr%20diesen%20Monat%20ein-/auszublenden%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20style=%22display:flex;%20flex-direction:column;%20gap:4px;%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%3E%24%7Bn.name%7D%3C/span%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22history-month-summary%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%3E%24%7Bn.count%7D%20Bestellungen%20%26bull;%20%3Cstrong%3E%E2%82%AC%24%7Bn.total.toFixed(2)%7D%3C/strong%3E%3C/span%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20class=%22material-icons-round%22%3Eexpand_more%3C/span%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22history-month-content%22%3E%60;Object.keys(n.weeks).sort((e,t)=%3EparseInt(t)-parseInt(e)).forEach(e=%3E%7Bconst%20t=n.weeks%5Be%5D;o+=%60%3Cdiv%20class=%22history-week-group%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22history-week-header%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cstrong%3E%24%7Bt.label%7D%3C/strong%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%3E%24%7Bt.count%7D%20Bestellungen%20%26bull;%20%3Cstrong%3E%E2%82%AC%24%7Bt.total.toFixed(2)%7D%3C/strong%3E%3C/span%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%60,t.items.forEach(e=%3E%7Bconst%20t=new%20Date(e.date).toLocaleDateString(%22de-AT%22,%7Bweekday:%22short%22,day:%222-digit%22,month:%222-digit%22%7D);let%20n=%22%22;n=9===e.state%3F%27%3Cspan%20class=%22history-item-status%22%3EStorniert%3C/span%3E%27:8===e.state%3F%27%3Cspan%20class=%22history-item-status%22%3EAbgeschlossen%3C/span%3E%27:%27%3Cspan%20class=%22history-item-status%22%3E%C3%9Cbertragen%3C/span%3E%27,o+=%60%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22history-item%20%24%7B9===e.state%3F%22history-item-cancelled%22:%22%22%7D%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20style=%22font-size:%200.85rem;%20color:%20var(--text-secondary);%22%3E%24%7Bt%7D%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22history-item-details%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20class=%22history-item-name%22%3E%24%7B(0,s.ZD)(e.name)%7D%3C/span%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%3E%24%7Bn%7D%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22history-item-price%20%24%7B9===e.state%3F%22history-item-price-cancelled%22:%22%22%7D%22%3E%E2%82%AC%24%7Be.price.toFixed(2)%7D%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%60%7D),o+=%22%3C/div%3E%22%7D),o+=%22%3C/div%3E%3C/div%3E%22%7D),o+=%22%3C/div%3E%22%7D),t.innerHTML=o;t.querySelectorAll(%22.history-month-header%22).forEach(e=%3E%7Be.addEventListener(%22click%22,()=%3E%7Bconst%20t=e.parentElement;t.classList.contains(%22open%22)%3F(t.classList.remove(%22open%22),e.setAttribute(%22aria-expanded%22,%22false%22)):(t.classList.add(%22open%22),e.setAttribute(%22aria-expanded%22,%22true%22))%7D)%7D)%7Dasync%20function%20g(e,t,n,s,r)%7Bif(a.gX)try%7Bconst%20c=await%20fetch(%60%24%7Bo.tE%7D/auth/user/%60,%7Bheaders:(0,i.H)(a.gX)%7D);if(!c.ok)return%20void%20T(%22Fehler:%20Benutzerdaten%20konnten%20nicht%20geladen%20werden%22,%22error%22);const%20m=await%20c.json(),u=(new%20Date).toISOString(),g=%7Buuid:crypto.randomUUID(),created:u,updated:u,order_type:7,items:%5B%7Barticle:t,course_group:null,modifiers:%5B%5D,uuid:crypto.randomUUID(),name:n,description:r%7C%7C%22%22,price:String(parseFloat(s)),amount:1,vat:%2210.00%22,comment:%22%22%7D%5D,table:null,total:parseFloat(s),tip:0,currency:%22EUR%22,venue:o.eW,states:%5B%5D,order_state:1,date:%60%24%7Be%7DT10:30:00Z%60,payment_method:%22payroll%22,customer:%7Bfirst_name:m.first_name,last_name:m.last_name,email:m.email,newsletter:!1%7D,preorder:!0,delivery_fee:0,cash_box_table_name:null,take_away:!1%7D,h=await%20fetch(%60%24%7Bo.tE%7D/user/orders/%60,%7Bmethod:%22POST%22,headers:(0,i.H)(a.gX),body:JSON.stringify(g)%7D);if(h.ok%7C%7C201===h.status)T(%60Bestellt:%20%24%7Bn%7D%60,%22success%22),l=null,await%20d();else%7Bconst%20e=await%20h.json();T(%60Fehler:%20%24%7Be.detail%7C%7Ce.non_field_errors%3F.%5B0%5D%7C%7C%22Bestellung%20fehlgeschlagen%22%7D%60,%22error%22)%7D%7Dcatch(e)%7Bconsole.error(%22Order%20error:%22,e),T(%22Netzwerkfehler%20bei%20Bestellung%22,%22error%22)%7D%7Dasync%20function%20h(e,t,n)%7Bif(!a.gX)return;const%20s=%60%24%7Be%7D_%24%7Bt%7D%60,r=a.L.get(s);if(!r%7C%7C0===r.length)return;const%20c=r%5Br.length-1%5D;try%7Bconst%20e=await%20fetch(%60%24%7Bo.tE%7D/user/orders/%24%7Bc%7D/cancel/%60,%7Bmethod:%22PATCH%22,headers:(0,i.H)(a.gX),body:JSON.stringify(%7B%7D)%7D);if(e.ok)T(%60Storniert:%20%24%7Bn%7D%60,%22success%22),l=null,await%20d();else%7BT(%60Fehler:%20%24%7B(await%20e.json()).detail%7C%7C%22Stornierung%20fehlgeschlagen%22%7D%60,%22error%22)%7D%7Dcatch(e)%7Bconsole.error(%22Cancel%20error:%22,e),T(%22Netzwerkfehler%20bei%20Stornierung%22,%22error%22)%7D%7Dfunction%20p()%7BlocalStorage.setItem(%22kantine_flags%22,JSON.stringify(%5B...a.BY%5D))%7Dasync%20function%20f()%7Bif(0===a.BY.size)return;const%20e=a.gX%7C%7Co.f9,t=new%20Set;for(const%20e%20of%20a.BY)%7Bconst%5Bn%5D=e.split(%22_%22);t.add(n)%7Dlet%20n=!1;const%20s=document.getElementById(%22alarm-bell%22);s%26%26s.classList.add(%22refreshing%22);try%7Bfor(const%20s%20of%20t)try%7Bconst%20t=await%20fetch(%60%24%7Bo.tE%7D/venues/%24%7Bo.eW%7D/menu/%24%7Bo.YU%7D/%24%7Bs%7D/%60,%7Bheaders:(0,i.H)(e)%7D);if(!t.ok)continue;const%20r=(await%20t.json()).results%7C%7C%5B%5D;let%20l=%5B%5D;for(const%20e%20of%20r)e.items%26%26Array.isArray(e.items)%26%26(l=l.concat(e.items));for(let%20e%20of%20a.p_)%7Bif(!e.days)continue;let%20t=e.days.find(e=%3Ee.date===s);t%26%26(t.items=l.map(e=%3E%7Bconst%20t=!1===e.amount_tracking,n=parseInt(e.available_amount)%3E0;return%7Bid:%60%24%7Bs%7D_%24%7Be.id%7D%60,articleId:e.id,name:e.name%7C%7C%22Unknown%22,description:e.description%7C%7C%22%22,price:parseFloat(e.price)%7C%7C0,available:t%7C%7Cn,availableAmount:parseInt(e.available_amount)%7C%7C0,amountTracking:!1!==e.amount_tracking%7D%7D),n=!0)%7D%7Dcatch(e)%7Bconsole.error(%22Error%20refreshing%20flag%20date%22,s,e)%7Dn%26%26(S(),localStorage.setItem(%22kantine_flagged_items_last_checked%22,(new%20Date).toISOString()),(0,r.Mb)(),(0,r.OR)()),T(%60%24%7Ba.BY.size%7D%20%24%7B1===a.BY.size%3F%22Men%C3%BC%22:%22Men%C3%BCs%22%7D%20gepr%C3%BCft%60,%22info%22)%7Dfinally%7Bs%26%26s.classList.remove(%22refreshing%22)%7D%7Dfunction%20v(e,t,n,s)%7Bconst%20o=%60%24%7Be%7D_%24%7Bt%7D%60;let%20i=!1;a.BY.has(o)%3F(a.BY.delete(o),T(%60Flag%20entfernt%20f%C3%BCr%20%24%7Bn%7D%60,%22success%22)):(a.BY.add(o),i=!0,T(%60Benachrichtigung%20aktiviert%20f%C3%BCr%20%24%7Bn%7D%60,%22success%22),%22default%22===Notification.permission%26%26Notification.requestPermission()),p(),(0,r.Mb)(),(0,r.OR)(),i%26%26f()%7Dfunction%20y()%7Bconst%20e=new%20Date,t=e.toISOString().split(%22T%22)%5B0%5D;let%20n=!1;for(const%20s%20of%5B...a.BY%5D)%7Bconst%5Bo%5D=s.split(%22_%22);let%20i=!1;if(o%3Ct)i=!0;else%20if(o===t)%7Bconst%20t=new%20Date(o);t.setHours(10,0,0,0),e%3E=t%26%26(i=!0)%7Di%26%26(a.BY.delete(s),n=!0)%7Dn%26%26p()%7Dfunction%20b()%7Ba.K8%7C%7Ca.gX%26%26(0,a.cc)(setInterval(()=%3Easync%20function()%7Bif(0===a.BY.size%7C%7C!a.gX)return;for(const%20e%20of%20a.BY)%7Bconst%5Bt,n%5D=e.split(%22_%22),s=parseInt(n);try%7Bconst%20e=await%20fetch(%60%24%7Bo.tE%7D/venues/%24%7Bo.eW%7D/menu/%24%7Bo.YU%7D/%24%7Bt%7D/%60,%7Bheaders:(0,i.H)(a.gX)%7D);if(!e.ok)continue;const%20n=(await%20e.json()).results%7C%7C%5B%5D;let%20r=null;for(const%20e%20of%20n)if(e.items%26%26(r=e.items.find(e=%3Ee.id===s%7C%7Ce.article===s),r))break;if(r)%7Bif(!1===r.amount_tracking%7C%7CparseInt(r.available_amount)%3E0)%7Bconst%20e=r.name%7C%7C%22Unbekannt%22;T(%60%24%7Be%7D%20ist%20jetzt%20verf%C3%BCgbar!%60,%22success%22),%22granted%22===Notification.permission%26%26new%20Notification(%22Kantine%20Wrapper%22,%7Bbody:%60%24%7Be%7D%20ist%20jetzt%20verf%C3%BCgbar!%60,icon:%22%F0%9F%8D%BD%EF%B8%8F%22%7D),O()%7D%7D%7Dcatch(t)%7Bconsole.error(%60Poll%20error%20for%20%24%7Be%7D:%60,t),await%20new%20Promise(e=%3EsetTimeout(e,200))%7D%7DlocalStorage.setItem(%22kantine_flagged_items_last_checked%22,(new%20Date).toISOString()),(0,r.Mb)()%7D(),o.fv))%7Dfunction%20w()%7Ba.K8%26%26(clearInterval(a.K8),(0,a.cc)(null))%7Dfunction%20k()%7BlocalStorage.setItem(%22kantine_highlightTags%22,JSON.stringify(a.yz)),(0,r.OR)(),(0,r.gJ)()%7Dfunction%20A(e)%7Bif((e=e.trim().toLowerCase())%26%26!a.yz.includes(e))%7Bconst%20t=%5B...a.yz,e%5D;return(0,a.iw)(t),k(),!0%7Dreturn!1%7Dfunction%20E()%7Bconst%20e=document.getElementById(%22tags-list%22);e.innerHTML=%22%22,a.yz.forEach(t=%3E%7Bconst%20n=document.createElement(%22span%22);n.className=%22tag-badge%22,n.innerHTML=%60%24%7Bt%7D%20%3Cspan%20class=%22tag-remove%22%20data-tag=%22%24%7Bt%7D%22%20title=%22Schlagwort%20entfernen%22%3E%26times;%3C/span%3E%60,e.appendChild(n)%7D),e.querySelectorAll(%22.tag-remove%22).forEach(e=%3E%7Be.addEventListener(%22click%22,e=%3E%7B!function(e)%7Bconst%20t=a.yz.filter(t=%3Et!==e);(0,a.iw)(t),k()%7D(e.target.dataset.tag),E()%7D)%7D)%7Dfunction%20L(e)%7Breturn%20e%3F(e=e.toLowerCase(),a.yz.filter(t=%3Ee.includes(t))):%5B%5D%7Dconst%20I=%22kantine_menuCache%22,B=%22kantine_menuCacheTs%22;function%20S()%7Btry%7BlocalStorage.setItem(I,JSON.stringify(a.p_)),localStorage.setItem(B,(new%20Date).toISOString())%7Dcatch(e)%7Bconsole.warn(%22Failed%20to%20cache%20menu%20data:%22,e)%7D%7Dfunction%20D()%7Btry%7Bconst%20e=localStorage.getItem(I),t=localStorage.getItem(B);if(e)%7B(0,a.tn)(JSON.parse(e)),(0,a.Xt)((0,s.sn)(new%20Date)),(0,a.pK)((new%20Date).getFullYear()),(0,r.OR)(),(0,r.gJ)(),(0,r.Mb)(),t%26%26N(t);try%7Bconst%20e=new%20Set;a.p_.forEach(t=%3E%7B(t.days%7C%7C%5B%5D).forEach(t=%3E%7B(t.items%7C%7C%5B%5D).forEach(t=%3E%7Blet%20n=(t.description%7C%7C%22%22).replace(/%5Cs+/g,%22%20%22).trim();n%26%26n.includes(%22%20/%20%22)%26%26e.add(n)%7D)%7D)%7D)%7Dcatch(e)%7B%7Dreturn!0%7D%7Dcatch(e)%7Bconsole.warn(%22Failed%20to%20load%20cached%20menu:%22,e)%7Dreturn!1%7Dfunction%20x()%7Bconst%20e=localStorage.getItem(B);if(!e)return!1;if(Date.now()-new%20Date(e).getTime()%3E36e5)return!1;const%20t=(0,s.sn)(new%20Date),n=(0,s.Ao)(new%20Date);return%20a.p_.some(e=%3Ee.weekNumber===t%26%26e.year===n%26%26e.days%26%26e.days.length%3E0)%7Dasync%20function%20O()%7Bconst%20e=document.getElementById(%22loading%22),t=document.getElementById(%22progress-modal%22),l=document.getElementById(%22progress-fill%22),d=document.getElementById(%22progress-percent%22),m=document.getElementById(%22progress-message%22);e.classList.remove(%22hidden%22);const%20u=a.gX%7C%7Co.f9;try%7Bt.classList.remove(%22hidden%22),m.textContent=%22Hole%20verf%C3%BCgbare%20Daten...%22,l.style.width=%220%25%22,d.textContent=%220%25%22;const%20e=await%20fetch(%60%24%7Bo.tE%7D/venues/%24%7Bo.eW%7D/menu/dates/%60,%7Bheaders:(0,i.H)(u)%7D);if(!e.ok)throw%20new%20Error(%60Failed%20to%20fetch%20dates:%20%24%7Be.status%7D%60);let%20n=(await%20e.json()).results%7C%7C%5B%5D;const%20g=new%20Date;g.setDate(g.getDate()-7);const%20h=g.toISOString().split(%22T%22)%5B0%5D;n=n.filter(e=%3Ee.date%3E=h).sort((e,t)=%3Ee.date.localeCompare(t.date)).slice(0,30);const%20p=n.length;m.textContent=%60%24%7Bp%7D%20Tage%20gefunden.%20Lade%20Details...%60;const%20f=%5B%5D;let%20v=0;const%20y=5;for(let%20e=0;e%3Cp;e+=y)%7Bconst%20t=n.slice(e,e+y),a=await%20Promise.all(t.map(async%20e=%3E%7Bconst%20t=e.date;let%20n=null;try%7Bconst%20a=await%20fetch(%60%24%7Bo.tE%7D/venues/%24%7Bo.eW%7D/menu/%24%7Bo.YU%7D/%24%7Bt%7D/%60,%7Bheaders:(0,i.H)(u)%7D);if(a.ok)%7Bconst%20s=(await%20a.json()).results%7C%7C%5B%5D;let%20o=%5B%5D;for(const%20e%20of%20s)e.items%26%26Array.isArray(e.items)%26%26(o=o.concat(e.items));o.length%3E0%26%26(n=%7Bdate:t,menu_items:o,orders:e.orders%7C%7C%5B%5D%7D)%7D%7Dcatch(e)%7Bconsole.error(%60Failed%20to%20fetch%20details%20for%20%24%7Bt%7D:%60,e)%7Dfinally%7Bv++;const%20e=Math.round(v/p%2A100);l.style.width=%60%24%7Be%7D%25%60,d.textContent=%60%24%7Be%7D%25%60,m.textContent=%60Lade%20Men%C3%BC%20f%C3%BCr%20%24%7Bt%7D...%60%7Dreturn%20n%7D));for(const%20e%20of%20a)e%26%26f.push(e)%7Dconst%20b=new%20Map;a.p_%26%26a.p_.length%3E0%26%26a.p_.forEach(e=%3E%7Bconst%20t=%60%24%7Be.year%7D-%24%7Be.weekNumber%7D%60;try%7Bb.set(t,%7Byear:e.year,weekNumber:e.weekNumber,days:e.days%3Fe.days.map(e=%3E(%7B...e,items:e.items%3F%5B...e.items%5D:%5B%5D%7D)):%5B%5D%7D)%7Dcatch(e)%7Bconsole.warn(%22Error%20hydrating%20week:%22,e)%7D%7D);for(const%20e%20of%20f)%7Bconst%20t=new%20Date(e.date),n=(0,s.sn)(t),a=(0,s.Ao)(t),o=%60%24%7Ba%7D-%24%7Bn%7D%60;b.has(o)%7C%7Cb.set(o,%7Byear:a,weekNumber:n,days:%5B%5D%7D);const%20i=b.get(o),r=t.toLocaleDateString(%22en-US%22,%7Bweekday:%22long%22%7D),l=new%20Date(e.date);l.setHours(10,0,0,0);const%20c=%7Bdate:e.date,weekday:r,orderCutoff:l.toISOString(),items:e.menu_items.map(t=%3E%7Bconst%20n=!1===t.amount_tracking,a=parseInt(t.available_amount)%3E0;return%7Bid:%60%24%7Be.date%7D_%24%7Bt.id%7D%60,articleId:t.id,name:t.name%7C%7C%22Unknown%22,description:t.description%7C%7C%22%22,price:parseFloat(t.price)%7C%7C0,available:n%7C%7Ca,availableAmount:parseInt(t.available_amount)%7C%7C0,amountTracking:!1!==t.amount_tracking%7D%7D)%7D,d=i.days.findIndex(t=%3Et.date===e.date);d%3E=0%3Fi.days%5Bd%5D=c:i.days.push(c)%7Dconst%20w=Array.from(b.values()).sort((e,t)=%3Ee.year!==t.year%3Fe.year-t.year:e.weekNumber-t.weekNumber);w.forEach(e=%3E%7Be.days%26%26e.days.sort((e,t)=%3Ee.date.localeCompare(t.date))%7D),(0,a.tn)(w),S(),N((new%20Date).toISOString()),(0,a.Xt)((0,s.sn)(new%20Date)),(0,a.pK)((new%20Date).getFullYear()),c(),(0,r.OR)(),(0,r.gJ)(),(0,r.Mb)(),m.textContent=%22Fertig!%22,setTimeout(()=%3Et.classList.add(%22hidden%22),500)%7Dcatch(e)%7Bconsole.error(%22Error%20fetching%20menu:%22,e),t.classList.add(%22hidden%22),Promise.resolve().then(n.bind(n,842)).then(t=%3E%7Bt.showErrorModal(%22Keine%20Verbindung%22,%60Die%20Men%C3%BCdaten%20konnten%20nicht%20geladen%20werden.%20M%C3%B6glicherweise%20besteht%20keine%20Verbindung%20zur%20API%20oder%20zur%20Bessa-Webseite.%3Cbr%3E%3Cbr%3E%3Csmall%20style=%22color:var(--text-secondary)%22%3E%24%7B(0,s.ZD)(e.message)%7D%3C/small%3E%60,%22Zur%20Original-Seite%22,%22https://web.bessa.app/knapp-kantine%22)%7D)%7Dfinally%7Be.classList.add(%22hidden%22)%7D%7Dlet%20C=null,M=null;function%20N(e)%7Bconst%20t=document.getElementById(%22last-updated-subtitle%22);if(e)%7BC=e,localStorage.setItem(%22kantine_last_updated%22,e),localStorage.setItem(%22kantine_last_checked%22,e);try%7Bconst%20n=new%20Date(e),a=n.toLocaleTimeString(%22de-DE%22,%7Bhour:%222-digit%22,minute:%222-digit%22%7D),o=n.toLocaleDateString(%22de-DE%22,%7Bday:%222-digit%22,month:%222-digit%22%7D),i=(0,s.gs)(n);t.textContent=%60Aktualisiert:%20%24%7Bo%7D%20%24%7Ba%7D%20(%24%7Bi%7D)%60%7Dcatch(e)%7Bt.textContent=%22%22%7DM%7C%7C(M=setInterval(()=%3E%7BC%26%26(N(C),(0,r.Mb)())%7D,6e4))%7D%7Dfunction%20T(e,t=%22info%22)%7Blet%20n=document.getElementById(%22toast-container%22);n%7C%7C(n=document.createElement(%22div%22),n.id=%22toast-container%22,document.body.appendChild(n));const%20a=document.createElement(%22div%22);a.className=%60toast%20toast-%24%7Bt%7D%60;const%20o=%22success%22===t%3F%22check_circle%22:%22error%22===t%3F%22error%22:%22info%22;a.innerHTML=%60%3Cspan%20class=%22material-icons-round%22%3E%24%7Bo%7D%3C/span%3E%3Cspan%3E%24%7B(0,s.ZD)(e)%7D%3C/span%3E%60,n.appendChild(a),requestAnimationFrame(()=%3Ea.classList.add(%22show%22)),setTimeout(()=%3E%7Ba.classList.remove(%22show%22),setTimeout(()=%3Ea.remove(),300)%7D,3e3)%7D%7D,672(e,t,n)%7Bn.d(t,%7BH:()=%3Es,O:()=%3Eo%7D);var%20a=n(521);function%20s(e)%7Breturn%7BAuthorization:%60Token%20%24%7Be%7C%7Ca.f9%7D%60,Accept:%22application/json%22,%22Content-Type%22:%22application/json%22,%22X-Client-Version%22:a.fZ%7D%7Dfunction%20o()%7Breturn%7BAccept:%22application/vnd.github.v3+json%22%7D%7D%7D,521(e,t,n)%7Bn.d(t,%7BYU:()=%3Er,d_:()=%3Em,eW:()=%3Ei,f9:()=%3Es,fZ:()=%3Eo,fv:()=%3El,pe:()=%3Ed,tE:()=%3Ea%7D);const%20a=%22https://api.bessa.app/v1%22,s=%22c3418725e95a9f90e3645cbc846b4d67c7c66131%22,o=%22v1.6.11%22,i=591,r=7,l=3e5,c=%22TauNeutrino/kantine-overview%22,d=%60https://api.github.com/repos/%24%7Bc%7D%60,m=%60https://htmlpreview.github.io/%3Fhttps://github.com/%24%7Bc%7D/blob%60%7D,901(e,t,n)%7Bn.d(t,%7BBT:()=%3Eo,BY:()=%3Em,K8:()=%3Eu,Kl:()=%3Eg,L:()=%3Ed,Ny:()=%3Ec,O5:()=%3Eb,UD:()=%3EE,Xt:()=%3Ef,cc:()=%3EA,di:()=%3Ek,gX:()=%3El,iw:()=%3EL,lt:()=%3Ew,pK:()=%3Ev,p_:()=%3Es,qo:()=%3Ey,sw:()=%3Er,tn:()=%3Ep,vW:()=%3Ei,yz:()=%3Eh%7D);var%20a=n(413);let%20s=%5B%5D,o=(0,a.sn)(new%20Date),i=(new%20Date).getFullYear(),r=%22this-week%22,l=localStorage.getItem(%22kantine_authToken%22),c=localStorage.getItem(%22kantine_currentUser%22),d=new%20Map,m=new%20Set(JSON.parse(localStorage.getItem(%22kantine_flags%22)%7C%7C%22%5B%5D%22)),u=null,g=localStorage.getItem(%22kantine_lang%22)%7C%7C%22de%22,h=JSON.parse(localStorage.getItem(%22kantine_highlightTags%22)%7C%7C%22%5B%5D%22);function%20p(e)%7Bs=e%7Dfunction%20f(e)%7Bo=e%7Dfunction%20v(e)%7Bi=e%7Dfunction%20y(e)%7Br=e%7Dfunction%20b(e)%7Bl=e%7Dfunction%20w(e)%7Bc=e%7Dfunction%20k(e)%7Bd=e%7Dfunction%20A(e)%7Bu=e%7Dfunction%20E(e)%7Bg=e%7Dfunction%20L(e)%7Bh=e%7D%7D,842(e,t,n)%7Bn.d(t,%7BGk:()=%3Eu,Mb:()=%3Ef,OR:()=%3Ec,Ux:()=%3Em,gJ:()=%3El,showErrorModal:()=%3Ep%7D);var%20a=n(901),s=n(413),o=n(521),i=n(672),r=n(367);function%20l()%7Bconst%20e=document.getElementById(%22btn-next-week%22);let%20t=a.BT+1,n=a.vW;t%3E52%26%26(t=1,n++);const%20s=a.p_.find(e=%3Ee.weekNumber===t%26%26e.year===n);let%20o=0,i=0,l=0,c=0;s%26%26s.days%26%26s.days.forEach(e=%3E%7Bif(e.items%26%26e.items.length%3E0)%7Bo++;const%20t=e.items.some(e=%3Ee.available);t%26%26i++;let%20n=!1;e.items.forEach(t=%3E%7Bconst%20s=t.articleId%7C%7CparseInt(t.id.split(%22_%22)%5B1%5D),o=%60%24%7Be.date%7D_%24%7Bs%7D%60;a.L.has(o)%26%26a.L.get(o).length%3E0%26%26(n=!0)%7D),n%26%26l++,t%26%26!n%26%26c++%7D%7D);let%20d=e.querySelector(%22.nav-badge%22);if(o%3E0)%7Bd%7C%7C(d=document.createElement(%22span%22),d.className=%22nav-badge%22,e.appendChild(d)),d.title=%60%24%7Bl%7D%20bestellt%20/%20%24%7Bi%7D%20bestellbar%20/%20%24%7Bo%7D%20gesamt%60,d.innerHTML=%60%3Cspan%20class=%22ordered%22%3E%24%7Bl%7D%3C/span%3E%3Cspan%20class=%22separator%22%3E/%3C/span%3E%3Cspan%20class=%22orderable%22%3E%24%7Bi%7D%3C/span%3E%3Cspan%20class=%22separator%22%3E/%3C/span%3E%3Cspan%20class=%22total%22%3E%24%7Bo%7D%3C/span%3E%60,d.classList.remove(%22badge-violet%22,%22badge-green%22,%22badge-red%22,%22badge-blue%22),l%3E0%26%260===c%3Fd.classList.add(%22badge-violet%22):c%3E0%3Fd.classList.add(%22badge-green%22):0===i%3Fd.classList.add(%22badge-red%22):d.classList.add(%22badge-blue%22);let%20a=0;if(s%26%26s.days%26%26s.days.forEach(e=%3E%7Be.items.forEach(e=%3E%7Bconst%20t=(0,r.BM)(e.name),n=(0,r.BM)(e.description);(t.length%3E0%7C%7Cn.length%3E0)%26%26a++%7D)%7D),a%3E0%26%26(d.insertAdjacentHTML(%22beforeend%22,%60%3Cspan%20class=%22highlight-count%22%20title=%22%24%7Ba%7D%20Highlight%20Men%C3%BCs%22%3E(%24%7Ba%7D)%3C/span%3E%60),d.title+=%60%20%E2%80%A2%20%24%7Ba%7D%20Highlights%20gefunden%60,d.classList.add(%22has-highlights%22)),0===l)%7Be.classList.add(%22new-week-available%22);const%20a=%60kantine_notified_nextweek_%24%7Bn%7D_%24%7Bt%7D%60;localStorage.getItem(a)%7C%7C(localStorage.setItem(a,%22true%22),(0,r.P0)(%22Neue%20Men%C3%BCdaten%20f%C3%BCr%20n%C3%A4chste%20Woche%20verf%C3%BCgbar!%22,%22info%22))%7Delse%20e.classList.remove(%22new-week-available%22)%7Delse%20d%26%26d.remove()%7Dfunction%20c()%7Bconst%20e=document.getElementById(%22menu-container%22);if(!e)return;e.innerHTML=%22%22;let%20t=a.BT,n=a.vW;%22next-week%22===a.sw%26%26(t++,t%3E52%26%26(t=1,n++));const%20o=a.p_.flatMap(e=%3Ee.days%7C%7C%5B%5D).filter(e=%3E%7Bconst%20a=new%20Date(e.date);return(0,s.sn)(a)===t%26%26(0,s.Ao)(a)===n%7D);if(0===o.length)return%20e.innerHTML=%60%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22empty-state%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cp%3EKeine%20Men%C3%BCdaten%20f%C3%BCr%20KW%20%24%7Bt%7D%20(%24%7Bn%7D)%20verf%C3%BCgbar.%3C/p%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csmall%3EVersuchen%20Sie%20eine%20andere%20Woche%20oder%20schauen%20Sie%20sp%C3%A4ter%20vorbei.%3C/small%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%60,void%20document.getElementById(%22weekly-cost-display%22).classList.add(%22hidden%22);!function(e)%7Blet%20t=0;e%26%26e.length%3E0%26%26e.forEach(e=%3E%7Be.items%26%26e.items.forEach(n=%3E%7Bconst%20s=n.articleId%7C%7CparseInt(n.id.split(%22_%22)%5B1%5D),o=%60%24%7Be.date%7D_%24%7Bs%7D%60,i=a.L.get(o)%7C%7C%5B%5D;i.length%3E0%26%26(t+=n.price%2Ai.length)%7D)%7D);const%20n=document.getElementById(%22weekly-cost-display%22);t%3E0%3F(n.innerHTML=%60%3Cspan%20class=%22material-icons-round%22%3Eshopping_bag%3C/span%3E%20%3Cspan%3EGesamt:%20%24%7Bt.toFixed(2).replace(%22.%22,%22,%22)%7D%20%E2%82%AC%3C/span%3E%60,n.classList.remove(%22hidden%22)):n.classList.add(%22hidden%22)%7D(o);const%20i=document.getElementById(%22header-week-info%22),l=%22this-week%22===a.sw%3F%22Diese%20Woche%22:%22N%C3%A4chste%20Woche%22;i.innerHTML=%60%5Cn%20%20%20%20%20%20%20%20%3Cdiv%20class=%22header-week-title%22%3E%24%7Bl%7D%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%3Cdiv%20class=%22header-week-subtitle%22%3EWeek%20%24%7Bt%7D%20%E2%80%A2%20%24%7Bn%7D%3C/div%3E%60;const%20c=document.createElement(%22div%22);c.className=%22days-grid%22,o.sort((e,t)=%3Ee.date.localeCompare(t.date));o.filter(e=%3E%7Bconst%20t=new%20Date(e.date).getDay();return%200!==t%26%266!==t%7D).forEach(e=%3E%7Bconst%20t=function(e)%7Bif(!e.items%7C%7C0===e.items.length)return%20null;const%20t=document.createElement(%22div%22);t.className=%22menu-card%22;const%20n=new%20Date,o=new%20Date(e.date);let%20i=!1;if(e.orderCutoff)i=n%3E=new%20Date(e.orderCutoff);else%7Bconst%20t=new%20Date;t.setHours(0,0,0,0);const%20n=new%20Date(e.date);n.setHours(0,0,0,0),i=n%3Ct%7Di%26%26t.classList.add(%22past-day%22);const%20l=%5B%5D;e.items%26%26e.items.forEach(t=%3E%7Bconst%20n=t.articleId%7C%7CparseInt(t.id.split(%22_%22)%5B1%5D),s=%60%24%7Be.date%7D_%24%7Bn%7D%60,o=(a.L.get(s)%7C%7C%5B%5D).length;if(o%3E0)%7Bconst%20e=t.name.match(/(%5BM%5D%5B1-9%5D%5BFf%5D%3F)/);if(e)%7Blet%20t=e%5B1%5D;o%3E1%26%26(t+=%22+%22),l.push(t)%7D%7D%7D);const%20c=document.createElement(%22div%22);c.className=%22card-header%22;const%20d=o.toLocaleDateString(%22de-DE%22,%7Bday:%222-digit%22,month:%222-digit%22%7D),m=l.reduce((e,t)=%3Ee+%60%3Cspan%20class=%22menu-code-badge%22%3E%24%7Bt%7D%3C/span%3E%60,%22%22);let%20u=%22%22;const%20g=e.items%26%26e.items.some(t=%3E%7Bconst%20n=t.articleId%7C%7CparseInt(t.id.split(%22_%22)%5B1%5D),s=%60%24%7Be.date%7D_%24%7Bn%7D%60;return%20a.L.has(s)%26%26a.L.get(s).length%3E0%7D),h=e.items%26%26e.items.some(e=%3Ee.available);u=g%3F%22header-violet%22:h%26%26!i%3F%22header-green%22:%22header-red%22;u%26%26c.classList.add(u);c.innerHTML=%60%5Cn%20%20%20%20%20%20%20%20%3Cdiv%20class=%22day-header-left%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20class=%22day-name%22%3E%24%7B(0,s.FS)(e.weekday)%7D%3C/span%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22day-badges%22%3E%24%7Bm%7D%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%3Cspan%20class=%22day-date%22%3E%24%7Bd%7D%3C/span%3E%60,t.appendChild(c);const%20p=document.createElement(%22div%22);p.className=%22card-body%22;const%20f=(new%20Date).toISOString().split(%22T%22)%5B0%5D,v=e.date===f,y=%5B...e.items%5D.sort((t,n)=%3E%7Bif(v)%7Bconst%20s=t.articleId%7C%7CparseInt(t.id.split(%22_%22)%5B1%5D),o=n.articleId%7C%7CparseInt(n.id.split(%22_%22)%5B1%5D),i=a.L.has(%60%24%7Be.date%7D_%24%7Bs%7D%60),r=a.L.has(%60%24%7Be.date%7D_%24%7Bo%7D%60);if(i%26%26!r)return-1;if(!i%26%26r)return%201%7Dreturn%20t.name.localeCompare(n.name)%7D);return%20y.forEach(t=%3E%7Bconst%20o=document.createElement(%22div%22);o.className=%22menu-item%22;const%20l=t.articleId%7C%7CparseInt(t.id.split(%22_%22)%5B1%5D),c=%60%24%7Be.date%7D_%24%7Bl%7D%60,d=(a.L.get(c)%7C%7C%5B%5D).length;let%20m=%22%22;m=t.available%3Ft.amountTracking%3F%60%3Cspan%20class=%22badge%20available%22%3EVerf%C3%BCgbar%20(%24%7Bt.availableAmount%7D)%3C/span%3E%60:%27%3Cspan%20class=%22badge%20available%22%3EVerf%C3%BCgbar%3C/span%3E%27:%27%3Cspan%20class=%22badge%20sold-out%22%3EAusverkauft%3C/span%3E%27;let%20u=%22%22;if(d%3E0)%7Bu=%60%3Cspan%20class=%22badge%20ordered%22%3E%3Cspan%20class=%22material-icons-round%22%3Echeck_circle%3C/span%3E%20Bestellt%24%7Bd%3E1%3F%60%3Cspan%20class=%22order-count-badge%22%3E%24%7Bd%7D%3C/span%3E%60:%22%22%7D%3C/span%3E%60,o.classList.add(%22ordered%22),new%20Date(e.date).toDateString()===n.toDateString()%26%26o.classList.add(%22today-ordered%22)%7Dconst%20g=%60%24%7Be.date%7D_%24%7Bl%7D%60,h=a.BY.has(g);h%26%26o.classList.add(t.available%3F%22flagged-available%22:%22flagged-sold-out%22);const%20f=%5B...new%20Set(%5B...(0,r.BM)(t.name),...(0,r.BM)(t.description)%5D)%5D;f.length%3E0%26%26o.classList.add(%22highlight-glow%22);let%20v=%22%22,y=%22%22,b=%22%22;if(a.gX%26%26!i)%7Bconst%20n=h%3F%22notifications_active%22:%22notifications_none%22,a=h%3F%22btn-flag%20active%22:%22btn-flag%22,o=h%3F%22Benachrichtigung%20deaktivieren%22:%22Benachrichtigen%20wenn%20verf%C3%BCgbar%22;if(t.available%26%26!h%7C%7C(b=%60%3Cbutton%20class=%22%24%7Ba%7D%22%20data-date=%22%24%7Be.date%7D%22%20data-article=%22%24%7Bl%7D%22%20data-name=%22%24%7B(0,s.ZD)(t.name)%7D%22%20data-cutoff=%22%24%7Be.orderCutoff%7D%22%20title=%22%24%7Bo%7D%22%3E%3Cspan%20class=%22material-icons-round%22%3E%24%7Bn%7D%3C/span%3E%3C/button%3E%60),t.available%26%26(v=d%3E0%3F%60%3Cbutton%20class=%22btn-order%20btn-order-compact%22%20data-date=%22%24%7Be.date%7D%22%20data-article=%22%24%7Bl%7D%22%20data-name=%22%24%7B(0,s.ZD)(t.name)%7D%22%20data-price=%22%24%7Bt.price%7D%22%20data-desc=%22%24%7B(0,s.ZD)(t.description%7C%7C%22%22)%7D%22%20title=%22%24%7B(0,s.ZD)(t.name)%7D%20nochmal%20bestellen%22%3E%3Cspan%20class=%22material-icons-round%22%3Eadd%3C/span%3E%3C/button%3E%60:%60%3Cbutton%20class=%22btn-order%22%20data-date=%22%24%7Be.date%7D%22%20data-article=%22%24%7Bl%7D%22%20data-name=%22%24%7B(0,s.ZD)(t.name)%7D%22%20data-price=%22%24%7Bt.price%7D%22%20data-desc=%22%24%7B(0,s.ZD)(t.description%7C%7C%22%22)%7D%22%20title=%22%24%7B(0,s.ZD)(t.name)%7D%20bestellen%22%3E%3Cspan%20class=%22material-icons-round%22%3Eadd_shopping_cart%3C/span%3E%20Bestellen%3C/button%3E%60),d%3E0)%7Bconst%20n=1===d%3F%22close%22:%22remove%22,a=1===d%3F%22Bestellung%20stornieren%22:%22Eine%20Bestellung%20stornieren%22;y=%60%3Cbutton%20class=%22btn-cancel%22%20data-date=%22%24%7Be.date%7D%22%20data-article=%22%24%7Bl%7D%22%20data-name=%22%24%7B(0,s.ZD)(t.name)%7D%22%20title=%22%24%7Ba%7D%22%3E%3Cspan%20class=%22material-icons-round%22%3E%24%7Bn%7D%3C/span%3E%3C/button%3E%60%7D%7Dlet%20w=%22%22;if(f.length%3E0)%7Bw=%60%3Cdiv%20class=%22matched-tags%22%3E%24%7Bf.reduce((e,t)=%3Ee+%60%3Cspan%20class=%22tag-badge-small%22%3E%3Cspan%20class=%22material-icons-round%22%20style=%22font-size:10px;margin-right:2px%22%3Estar%3C/span%3E%24%7B(0,s.ZD)(t)%7D%3C/span%3E%60,%22%22)%7D%3C/div%3E%60%7Do.innerHTML=%60%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22item-header%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20class=%22item-name%22%3E%24%7B(0,s.ZD)(t.name)%7D%3C/span%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20class=%22item-price%22%3E%24%7Bt.price.toFixed(2)%7D%20%E2%82%AC%3C/span%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22item-status-row%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24%7Bu%7D%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24%7By%7D%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24%7Bv%7D%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24%7Bb%7D%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22badges%22%3E%24%7Bm%7D%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%24%7Bw%7D%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3Cp%20class=%22item-desc%22%3E%24%7B(0,s.ZD)((0,s.PC)(t.description))%7D%3C/p%3E%60;const%20k=o.querySelector(%22.btn-order%22);k%26%26k.addEventListener(%22click%22,e=%3E%7Be.stopPropagation();const%20t=e.currentTarget;t.disabled=!0,t.classList.add(%22loading%22),(0,r.wH)(t.dataset.date,parseInt(t.dataset.article),t.dataset.name,parseFloat(t.dataset.price),t.dataset.desc%7C%7C%22%22).finally(()=%3E%7Bt.disabled=!1,t.classList.remove(%22loading%22)%7D)%7D);const%20A=o.querySelector(%22.btn-cancel%22);A%26%26A.addEventListener(%22click%22,e=%3E%7Be.stopPropagation();const%20t=e.currentTarget;t.disabled=!0,(0,r.N4)(t.dataset.date,parseInt(t.dataset.article),t.dataset.name).finally(()=%3E%7Bt.disabled=!1%7D)%7D);const%20E=o.querySelector(%22.btn-flag%22);E%26%26E.addEventListener(%22click%22,e=%3E%7Be.stopPropagation();const%20t=e.currentTarget;(0,r.PQ)(t.dataset.date,parseInt(t.dataset.article),t.dataset.name,t.dataset.cutoff)%7D),p.appendChild(o)%7D),t.appendChild(p),t%7D(e);t%26%26c.appendChild(t)%7D),e.appendChild(c),setTimeout(()=%3Efunction(e)%7Bconst%20t=e.querySelectorAll(%22.menu-card%22);if(0===t.length)return;let%20n=0;t.forEach(e=%3E%7Bn=Math.max(n,e.querySelectorAll(%22.menu-item%22).length)%7D);for(let%20e=0;e%3Cn;e++)%7Blet%20n=0;const%20a=%5B%5D;t.forEach(t=%3E%7Bconst%20s=t.querySelectorAll(%22.menu-item%22);s%5Be%5D%26%26(s%5Be%5D.style.height=%22auto%22,n=Math.max(n,s%5Be%5D.offsetHeight),a.push(s%5Be%5D))%7D),a.forEach(e=%3E%7Be.style.height=%60%24%7Bn%7Dpx%60%7D)%7D%7D(c),0)%7Dasync%20function%20d(e)%7Bconst%20t=e%3F%60%24%7Bo.pe%7D/tags%3Fper_page=20%60:%60%24%7Bo.pe%7D/releases%3Fper_page=20%60,n=await%20fetch(t,%7Bheaders:(0,i.O)()%7D);if(!n.ok)%7Bif(403===n.status)throw%20new%20Error(%22API%20Rate%20Limit%20erreicht%20(403).%20Bitte%20sp%C3%A4ter%20erneut%20versuchen.%22);throw%20new%20Error(%60GitHub%20API%20%24%7Bn.status%7D%60)%7Dreturn(await%20n.json()).map(t=%3E%7Bconst%20n=e%3Ft.name:t.tag_name;return%7Btag:n,name:e%3Fn:t.name%7C%7Cn,url:%60%24%7Bo.d_%7D/%24%7Bn%7D/dist/install.html%60,body:t.body%7C%7C%22%22%7D%7D)%7Dasync%20function%20m()%7Bconst%20e=%22true%22===localStorage.getItem(%22kantine_dev_mode%22);try%7Bconst%20t=await%20d(e);if(!t.length)return;localStorage.setItem(%22kantine_version_cache%22,JSON.stringify(%7Btimestamp:Date.now(),devMode:e,versions:t%7D));const%20n=t%5B0%5D.tag;if(!(0,s.U4)(n,%22v1.6.14%22))return;const%20a=document.querySelector(%22.header-left%20h1%22);if(a%26%26!a.querySelector(%22.update-icon%22))%7Bconst%20e=document.createElement(%22a%22);e.className=%22update-icon%22,e.href=t%5B0%5D.url,e.target=%22_blank%22,e.innerHTML=%22%F0%9F%86%95%22,e.title=%60Update:%20%24%7Bn%7D%20%E2%80%94%20Klick%20zum%20Installieren%60,e.style.cssText=%22margin-left:8px;font-size:1em;text-decoration:none;cursor:pointer;vertical-align:middle;%22,a.appendChild(e)%7D%7Dcatch(e)%7Bconsole.warn(%22%5BKantine%5D%20Version%20check%20failed:%22,e)%7D%7Dfunction%20u()%7Bconst%20e=document.getElementById(%22version-modal%22),t=document.getElementById(%22version-list-container%22),n=document.getElementById(%22dev-mode-toggle%22),a=%22v1.6.14%22;if(!e)return;e.classList.remove(%22hidden%22);const%20o=document.getElementById(%22version-current%22);o%26%26(o.textContent=a);const%20i=%22true%22===localStorage.getItem(%22kantine_dev_mode%22);async%20function%20r(e)%7Bconst%20o=n.checked;function%20i(e)%7Bif(!e%7C%7C!e.length)return%20void(t.innerHTML=%27%3Cp%20style=%22color:var(--text-secondary);%22%3EKeine%20Versionen%20gefunden.%3C/p%3E%27);t.innerHTML=%27%3Cul%20class=%22version-list%22%3E%3C/ul%3E%27;const%20n=t.querySelector(%22.version-list%22);e.forEach(e=%3E%7Bconst%20t=e.tag===a,o=(0,s.U4)(e.tag,a),i=document.createElement(%22li%22);i.className=%22version-item%22+(t%3F%22%20current%22:%22%22);let%20r=%22%22;t%3Fr=%27%3Cspan%20class=%22badge-current%22%3E%E2%9C%93%20Installiert%3C/span%3E%27:o%26%26(r=%27%3Cspan%20class=%22badge-new%22%3E%E2%AC%86%20Neu!%3C/span%3E%27);let%20l=%22%22;t%7C%7C(l=%60%3Ca%20href=%22%24%7B(0,s.ZD)(e.url)%7D%22%20target=%22_blank%22%20class=%22install-link%22%20title=%22%24%7B(0,s.ZD)(e.tag)%7D%20installieren%22%3EInstallieren%3C/a%3E%60),i.innerHTML=%60%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22version-info%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cstrong%3E%24%7B(0,s.ZD)(e.tag)%7D%3C/strong%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24%7Br%7D%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24%7Bl%7D%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%60,n.appendChild(i)%7D)%7Dt.innerHTML=%27%3Cp%20style=%22color:var(--text-secondary);%22%3ELade%20Versionen...%3C/p%3E%27;try%7Bconst%20e=localStorage.getItem(%22kantine_version_cache%22);let%20t=null;if(e)try%7Bt=JSON.parse(e)%7Dcatch(e)%7B%7Dt%26%26t.devMode===o%26%26t.versions%26%26i(t.versions);const%20n=await%20d(o),a=JSON.stringify(n);a!==(t%3FJSON.stringify(t.versions):%22%22)%26%26(localStorage.setItem(%22kantine_version_cache%22,JSON.stringify(%7Btimestamp:Date.now(),devMode:o,versions:n%7D)),i(n))%7Dcatch(e)%7Bt.innerHTML=%60%3Cp%20style=%22color:%23e94560;%22%3EFehler:%20%24%7B(0,s.ZD)(e.message)%7D%3C/p%3E%60%7D%7Dn.checked=i,r(),n.onchange=()=%3E%7BlocalStorage.setItem(%22kantine_dev_mode%22,n.checked),localStorage.removeItem(%22kantine_version_cache%22),r()%7D%7Dfunction%20g()%7Bif(!a.gX%7C%7C!a.Ny)return%20void%20h();const%20e=new%20Date,t=e.getDay();if(0===t%7C%7C6===t)return%20void%20h();const%20n=e.toISOString().split(%22T%22)%5B0%5D;let%20s=!1;for(const%20e%20of%20a.L.keys())if(e.startsWith(n))%7Bs=!0;break%7Dif(s)return%20void%20h();const%20o=new%20Date;o.setHours(10,0,0,0);const%20i=o-e;if(i%3C=0)return%20void%20h();const%20r=Math.floor(i/36e5),l=Math.floor(i%2536e5/6e4),c=document.querySelector(%22.header-center-wrapper%22);if(!c)return;let%20d=document.getElementById(%22order-countdown%22);if(d%7C%7C(d=document.createElement(%22div%22),d.id=%22order-countdown%22,c.insertBefore(d,c.firstChild)),d.innerHTML=%60%3Cspan%3EBestellschluss:%3C/span%3E%20%3Cstrong%3E%24%7Br%7Dh%20%24%7Bl%7Dm%3C/strong%3E%60,i%3C36e5)%7Bd.classList.add(%22urgent%22);const%20e=%60kantine_notified_%24%7Bn%7D%60;localStorage.getItem(e)%7C%7C(%22granted%22===Notification.permission%3Fnew%20Notification(%22Kantine:%20Bestellschluss%20naht!%22,%7Bbody:%22Du%20hast%20heute%20noch%20nichts%20bestellt.%20Nur%20noch%201%20Stunde!%22,icon:%22%E2%8F%B3%22%7D):%22default%22===Notification.permission%26%26Notification.requestPermission(),localStorage.setItem(e,%22true%22))%7Delse%20d.classList.remove(%22urgent%22)%7Dfunction%20h()%7Bconst%20e=document.getElementById(%22order-countdown%22);e%26%26e.remove()%7Dfunction%20p(e,t,n,a)%7Bconst%20o=%22error-modal%22;let%20i=document.getElementById(o);i%26%26i.remove(),i=document.createElement(%22div%22),i.id=o,i.className=%22modal%20hidden%22,i.innerHTML=%60%5Cn%20%20%20%20%20%20%20%20%3Cdiv%20class=%22modal-content%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22modal-header%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ch2%20style=%22color:%20var(--error-color);%20display:%20flex;%20align-items:%20center;%20gap:%2010px;%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20class=%22material-icons-round%22%3Esignal_wifi_off%3C/span%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24%7B(0,s.ZD)(e)%7D%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/h2%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20style=%22padding:%2020px;%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cp%20style=%22margin-bottom:%2015px;%20color:%20var(--text-primary);%22%3E%24%7Bt%7D%3C/p%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20style=%22margin-top:%2020px;%20display:%20flex;%20justify-content:%20center;%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20id=%22btn-error-redirect%22%20style=%22%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20background-color:%20var(--accent-color);%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20color:%20white;%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20padding:%2012px%2024px;%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20border-radius:%208px;%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20border:%20none;%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20font-weight:%20600;%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20cursor:%20pointer;%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20display:%20flex;%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20align-items:%20center;%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20gap:%208px;%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20width:%20100%25;%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20justify-content:%20center;%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20transition:%20transform%200.1s;%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24%7B(0,s.ZD)(n)%7D%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20class=%22material-icons-round%22%3Eopen_in_new%3C/span%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/button%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%60,document.body.appendChild(i),document.getElementById(%22btn-error-redirect%22).addEventListener(%22click%22,()=%3E%7Bwindow.location.href=a%7D),requestAnimationFrame(()=%3E%7Bi.classList.remove(%22hidden%22)%7D)%7Dfunction%20f()%7Bconst%20e=document.getElementById(%22alarm-bell%22),t=document.getElementById(%22alarm-bell-icon%22);if(!e%7C%7C!t)return;if(0===a.BY.size)return%20e.classList.add(%22hidden%22),e.style.display=%22none%22,t.style.color=%22var(--text-secondary)%22,void(t.style.textShadow=%22none%22);e.classList.remove(%22hidden%22),e.style.display=%22inline-flex%22;let%20n=!1;for(const%20e%20of%20a.p_)if(e.days)%7Bfor(const%20t%20of%20e.days)if(t.items)%7Bfor(const%20e%20of%20t.items)if(e.available%26%26a.BY.has(e.id))%7Bn=!0;break%7Dif(n)break%7Dif(n)break%7Dconst%20o=localStorage.getItem(%22kantine_last_checked%22),i=localStorage.getItem(%22kantine_flagged_items_last_checked%22);let%20r=0;o%26%26(r=Math.max(r,new%20Date(o).getTime())),i%26%26(r=Math.max(r,new%20Date(i).getTime()));let%20l=%22gerade%20eben%22;if(0===r)%7Bconst%20e=(new%20Date).toISOString();localStorage.setItem(%22kantine_last_checked%22,e),r=new%20Date(e).getTime()%7Dl=(0,s.gs)(new%20Date(r)),e.title=%60Zuletzt%20gepr%C3%BCft:%20%24%7Bl%7D%60,n%3F(t.style.color=%22%2310b981%22,t.style.textShadow=%220%200%2010px%20rgba(16,%20185,%20129,%200.4)%22):(t.style.color=%22%23f59e0b%22,t.style.textShadow=%220%200%2010px%20rgba(245,%20158,%2011,%200.4)%22)%7DsetInterval(g,6e4),setTimeout(g,1e3)%7D,413(e,t,n)%7Bn.d(t,%7BAo:()=%3Eo,FS:()=%3Ei,PC:()=%3Eu,U4:()=%3El,ZD:()=%3Er,gs:()=%3Ec,sn:()=%3Es%7D);var%20a=n(901);function%20s(e)%7Bconst%20t=new%20Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())),n=t.getUTCDay()%7C%7C7;t.setUTCDate(t.getUTCDate()+4-n);const%20a=new%20Date(Date.UTC(t.getUTCFullYear(),0,1));return%20Math.ceil(((t-a)/864e5+1)/7)%7Dfunction%20o(e)%7Bconst%20t=new%20Date(e.getTime());return%20t.setDate(t.getDate()+3-(t.getDay()+6)%257),t.getFullYear()%7Dfunction%20i(e)%7Breturn%7BMonday:%22Montag%22,Tuesday:%22Dienstag%22,Wednesday:%22Mittwoch%22,Thursday:%22Donnerstag%22,Friday:%22Freitag%22,Saturday:%22Samstag%22,Sunday:%22Sonntag%22%7D%5Be%5D%7C%7Ce%7Dfunction%20r(e)%7Bconst%20t=document.createElement(%22div%22);return%20t.textContent=e%7C%7C%22%22,t.innerHTML%7Dfunction%20l(e,t)%7Bif(!e%7C%7C!t)return!1;const%20n=e.replace(/%5Ev/,%22%22).split(%22.%22).map(Number),a=t.replace(/%5Ev/,%22%22).split(%22.%22).map(Number);for(let%20e=0;e%3CMath.max(n.length,a.length);e++)%7Bif((n%5Be%5D%7C%7C0)%3E(a%5Be%5D%7C%7C0))return!0;if((n%5Be%5D%7C%7C0)%3C(a%5Be%5D%7C%7C0))return!1%7Dreturn!1%7Dfunction%20c(e)%7Bconst%20t=Date.now()-e.getTime(),n=Math.floor(t/6e4);if(n%3C1)return%22gerade%20eben%22;if(1===n)return%22vor%201%20min.%22;if(n%3C60)return%60vor%20%24%7Bn%7D%20min.%60;const%20a=Math.floor(n/60);return%201===a%3F%22vor%201%20Std.%22:%60vor%20%24%7Ba%7D%20Std.%60%7Dconst%20d=%5B%22apfel%22,%22achtung%22,%22aubergine%22,%22auflauf%22,%22beere%22,%22blumenkohl%22,%22bohne%22,%22braten%22,%22brokkoli%22,%22brot%22,%22brust%22,%22br%C3%B6tchen%22,%22butter%22,%22chili%22,%22dessert%22,%22dip%22,%22eier%22,%22eintopf%22,%22eis%22,%22erbse%22,%22erdbeer%22,%22essig%22,%22filet%22,%22fisch%22,%22fisole%22,%22fleckerl%22,%22fleisch%22,%22fl%C3%BCgel%22,%22frucht%22,%22f%C3%BCr%22,%22gebraten%22,%22gem%C3%BCse%22,%22gew%C3%BCrz%22,%22gratin%22,%22grie%C3%9F%22,%22gulasch%22,%22gurke%22,%22himbeer%22,%22honig%22,%22huhn%22,%22h%C3%A4hnchen%22,%22jambalaya%22,%22joghurt%22,%22karotte%22,%22kartoffel%22,%22keule%22,%22kirsch%22,%22knacker%22,%22knoblauch%22,%22kn%C3%B6del%22,%22kompott%22,%22kraut%22,%22kr%C3%A4uter%22,%22kuchen%22,%22k%C3%A4se%22,%22k%C3%BCrbis%22,%22lauch%22,%22mandel%22,%22milch%22,%22mild%22,%22mit%22,%22mohn%22,%22most%22,%22m%C3%B6hre%22,%22natur%22,%22nockerl%22,%22nudel%22,%22nuss%22,%22nu%C3%9F%22,%22obst%22,%22oder%22,%22olive%22,%22paprika%22,%22pfanne%22,%22pfannkuchen%22,%22pfeffer%22,%22pikant%22,%22pilz%22,%22plunder%22,%22p%C3%BCree%22,%22ragout%22,%22rahm%22,%22reis%22,%22rind%22,%22sahne%22,%22salami%22,%22salat%22,%22salz%22,%22sauer%22,%22scharf%22,%22schinken%22,%22schnitte%22,%22schnitzel%22,%22schoko%22,%22schupf%22,%22schwein%22,%22sellerie%22,%22senf%22,%22sosse%22,%22so%C3%9Fe%22,%22spargel%22,%22sp%C3%A4tzle%22,%22speck%22,%22spie%C3%9F%22,%22spinat%22,%22steak%22,%22suppe%22,%22s%C3%BC%C3%9F%22,%22tofu%22,%22tomate%22,%22topfen%22,%22torte%22,%22tr%C3%BCffel%22,%22und%22,%22vanille%22,%22vogerl%22,%22vom%22,%22wien%22,%22wurst%22,%22zucchini%22,%22zum%22,%22zur%22,%22zwiebel%22,%22%C3%B6l%22%5D,m=%5B%22almond%22,%22and%22,%22apple%22,%22asparagus%22,%22bacon%22,%22baked%22,%22ball%22,%22bean%22,%22beef%22,%22berry%22,%22bread%22,%22breast%22,%22broccoli%22,%22bun%22,%22butter%22,%22cabbage%22,%22cake%22,%22caper%22,%22carrot%22,%22casserole%22,%22cauliflower%22,%22celery%22,%22cheese%22,%22cherry%22,%22chicken%22,%22chili%22,%22choco%22,%22chocolate%22,%22cider%22,%22cilantro%22,%22coffee%22,%22compote%22,%22cream%22,%22cucumber%22,%22curd%22,%22danish%22,%22dessert%22,%22dip%22,%22dumpling%22,%22egg%22,%22eggplant%22,%22filet%22,%22fish%22,%22for%22,%22fried%22,%22from%22,%22fruit%22,%22garlic%22,%22goulash%22,%22gratin%22,%22ham%22,%22herb%22,%22honey%22,%22hot%22,%22ice%22,%22jambalaya%22,%22leek%22,%22leg%22,%22mash%22,%22meat%22,%22mexican%22,%22mild%22,%22milk%22,%22mint%22,%22mushroom%22,%22mustard%22,%22noodle%22,%22nut%22,%22oat%22,%22oil%22,%22olive%22,%22onion%22,%22or%22,%22oven%22,%22pan%22,%22pancake%22,%22pea%22,%22pepper%22,%22plain%22,%22plate%22,%22poppy%22,%22pork%22,%22potato%22,%22pumpkin%22,%22radish%22,%22ragout%22,%22raspberry%22,%22rice%22,%22roast%22,%22roll%22,%22salad%22,%22salami%22,%22salt%22,%22sauce%22,%22sausage%22,%22shrimp%22,%22skewer%22,%22slice%22,%22soup%22,%22sour%22,%22spice%22,%22spicy%22,%22spinach%22,%22steak%22,%22stew%22,%22strawberr%22,%22strawberry%22,%22strudel%22,%22sweet%22,%22tart%22,%22thyme%22,%22to%22,%22tofu%22,%22tomat%22,%22tomato%22,%22truffle%22,%22trukey%22,%22turkey%22,%22vanilla%22,%22vegan%22,%22vegetable%22,%22vinegar%22,%22wedge%22,%22wing%22,%22with%22,%22wok%22,%22yogurt%22,%22zucchini%22%5D;function%20u(e)%7Bif(%22all%22===a.Kl)return%20e%7C%7C%22%22;const%20t=function(e)%7Bif(!e)return%7Bde:%22%22,en:%22%22,raw:%22%22%7D;let%20t=e.replace(/(%3F:%5C(%7C(%3F:%5C/%7C%5Cs%7C%5E))(%5BA-Z,%5D+)%5C)%5Cs%2A(%3F=%5CS)(%3F!%5Cs%2A%5C/)/g,%22(%241)%5Cn%E2%80%A2%20%22);function%20n(e)%7Blet%20t=0,n=0;return%20e.forEach(e=%3E%7Bconst%20a=e.toLowerCase().replace(/%5B%5Ea-z%C3%A4%C3%B6%C3%BC%C3%9F%5D/g,%22%22);if(a)%7Blet%20s=0,o=0;d.includes(a)%3Fs=a.length:d.forEach(e=%3E%7Ba.includes(e)%26%26e.length%3Es%26%26(s=e.length)%7D),m.includes(a)%3Fo=a.length:m.forEach(e=%3E%7Ba.includes(e)%26%26e.length%3Eo%26%26(o=e.length)%7D),s%3E0%26%26(t+=s/a.length),o%3E0%26%26(n+=o/a.length),/%5E%5BA-Z%C3%84%C3%96%C3%9C%5D/.test(e)%26%26(t+=.5)%7D%7D),%7Bde:t,en:n%7D%7Dfunction%20a(e)%7Bconst%20t=e.trim().split(/%5Cs+/);if(t.length%3C2)return%7BenPart:e,nextDe:%22%22%7D;let%20a=-1,s=-9999;for(let%20e=1;e%3Ct.length;e++)%7Bconst%20o=t.slice(0,e),i=t.slice(e),r=n(o),l=n(i),c=i%5B0%5D;let%20d=0;/%5E%5BA-Z%C3%84%C3%96%C3%9C%5D/.test(c)%26%26(d=1);const%20m=r.en-r.de+(l.de-l.en)+d,u=r.en%3Er.de%7C%7Cr.en%3E0,g=l.de+d%3El.en;u%26%26g%26%26m%3Es%26%26(s=m,a=e)%7Dreturn-1!==a%3F%7BenPart:t.slice(0,a).join(%22%20%22),nextDe:t.slice(a).join(%22%20%22)%7D:%7BenPart:e,nextDe:%22%22%7D%7Dt.startsWith(%22%E2%80%A2%20%22)%7C%7C(t=%22%E2%80%A2%20%22+t);const%20s=/(.%2A%3F)(%3F:%5C(%7C(%3F:%5C/%7C%5Cs%7C%5E))(%5BA-Z,%5D+)%5C)%5Cs%2A(%3F!%5Cs%2A%5B/%5D)/g;let%20o;const%20i=%5B%5D;let%20r=0;for(;null!==(o=s.exec(e));)o.index%3Er%26%26i.push(e.substring(r,o.index).trim()),i.push(o%5B0%5D.trim()),r=s.lastIndex;r%3Ce.length%26%26i.push(e.substring(r).trim()),0===i.length%26%26%22%22!==e.trim()%26%26i.push(e.trim());const%20l=%5B%5D,c=%5B%5D;for(let%20e%20of%20i)%7Blet%20t=e.match(/(.%2A%3F)(%3F:%5C(%7C(%3F:%5C/%7C%5Cs%7C%5E))(%5BA-Z,%5D+)%5C)%5Cs%2A%24/),n=e,s=%22%22,o=%22%22;t%26%26(n=t%5B1%5D.trim(),o=t%5B2%5D,s=%60%20(%24%7Bo%7D)%60);const%20i=n.split(/%5Cs%2A%5C/%5Cs%2A(%3F!%5BA-Z,%5D+%24)/);if(i.length%3E=2)%7Bconst%20e=i%5B0%5D.trim();let%20t=i.slice(1).join(%22%20/%20%22).trim();const%20n=a(t);if(n.nextDe)%7Bl.push(e+s),c.push(n.enPart+s);const%20t=n.nextDe+s;l.push(t),c.push(t)%7Delse%7Bconst%20n=t+s,a=e.includes(s.trim())%3Fe:e+s;l.push(a),c.push(n)%7D%7Delse%7Bconst%20e=a(n);e.nextDe%3F(c.push(e.enPart+s),l.push(e.nextDe+s)):(l.push(n+s),c.push(n+s))%7D%7Dlet%20u=l.join(%22%5Cn%E2%80%A2%20%22);l.length%3E0%26%26!u.startsWith(%22%E2%80%A2%20%22)%26%26(u=%22%E2%80%A2%20%22+u);let%20g=c.join(%22%5Cn%E2%80%A2%20%22);return%20c.length%3E0%26%26!g.startsWith(%22%E2%80%A2%20%22)%26%26(g=%22%E2%80%A2%20%22+g),%7Bde:u,en:g,raw:t%7D%7D(e);return%22en%22===a.Kl%3Ft.en%7C%7Ct.raw:t.de%7C%7Ct.raw%7D%7D%7D,t=%7B%7D;function%20n(a)%7Bvar%20s=t%5Ba%5D;if(void%200!==s)return%20s.exports;var%20o=t%5Ba%5D=%7Bexports:%7B%7D%7D;return%20e%5Ba%5D(o,o.exports,n),o.exports%7Dn.d=(e,t)=%3E%7Bfor(var%20a%20in%20t)n.o(t,a)%26%26!n.o(e,a)%26%26Object.defineProperty(e,a,%7Benumerable:!0,get:t%5Ba%5D%7D)%7D,n.o=(e,t)=%3EObject.prototype.hasOwnProperty.call(e,t);var%20a=n(901);var%20s=n(367),o=n(842),i=n(521),r=n(672);if(!window.__KANTINE_LOADED)%7Bwindow.__KANTINE_LOADED=!0,function()%7Bdocument.title=%22Kantine%20Weekly%20Menu%22,document.querySelectorAll%26%26document.querySelectorAll(%27link%5Brel%2A=%22icon%22%5D%27).forEach(e=%3Ee.remove());const%20e=document.createElement(%22link%22);if(e.rel=%22icon%22,e.type=%22image/png%22,e.href=%22data:image/png;base64,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%22,document.head.appendChild(e),!document.querySelector(%27link%5Bhref%2A=%22fonts.googleapis.com/css2%3Ffamily=Inter%22%5D%27))%7Bconst%20e=document.createElement(%22link%22);e.rel=%22stylesheet%22,e.href=%22https://fonts.googleapis.com/css2%3Ffamily=Inter:wght%40300;400;500;600;700%26display=swap%22,document.head.appendChild(e)%7Dif(!document.querySelector(%27link%5Bhref%2A=%22Material+Icons+Round%22%5D%27))%7Bconst%20e=document.createElement(%22link%22);e.rel=%22stylesheet%22,e.href=%22https://fonts.googleapis.com/icon%3Ffamily=Material+Icons+Round%22,document.head.appendChild(e)%7Dconst%20t=%60%5Cn%20%20%20%20%3Cdiv%20id=%22kantine-wrapper%22%3E%5Cn%20%20%20%20%20%20%20%20%3Cheader%20class=%22app-header%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22header-content%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22brand%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cimg%20src=%22data:image/png;base64,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%22%20alt=%22Logo%22%20class=%22logo-img%22%20style=%22height:%202em;%20width:%202em;%20object-fit:%20contain;%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22header-left%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ch1%3EKantinen%20%C3%9Cbersicht%20%3Csmall%20class=%22version-tag%22%20style=%22font-size:%200.6em;%20opacity:%200.7;%20font-weight:%20400;%20cursor:%20pointer;%22%20title=%22Klick%20f%C3%BCr%20Versionsmen%C3%BC%22%3Ev1.6.14%3C/small%3E%3C/h1%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20id=%22last-updated-subtitle%22%20class=%22subtitle%22%3E%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22nav-group%22%20style=%22margin-left:%201rem;%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20id=%22btn-this-week%22%20class=%22nav-btn%20active%22%20title=%22Men%C3%BC%20dieser%20Woche%20anzeigen%22%3EDiese%20Woche%3C/button%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20id=%22btn-next-week%22%20class=%22nav-btn%22%20title=%22Men%C3%BC%20n%C3%A4chster%20Woche%20anzeigen%22%3EN%C3%A4chste%20Woche%3C/button%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20id=%22alarm-bell%22%20class=%22icon-btn%20hidden%22%20aria-label=%22Benachrichtigungen%22%20title=%22Keine%20beobachteten%20Men%C3%BCs%22%20style=%22margin-left:%20-0.5rem;%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20class=%22material-icons-round%22%20id=%22alarm-bell-icon%22%20style=%22color:var(--text-secondary);%20transition:%20color%200.3s;%22%3Enotifications%3C/span%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/button%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22header-center-wrapper%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20id=%22lang-toggle%22%20class=%22lang-toggle%22%20title=%22Sprache%20der%20Men%C3%BCbeschreibung%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20class=%22lang-btn%24%7B%22de%22===a.Kl%3F%22%20active%22:%22%22%7D%22%20data-lang=%22de%22%3EDE%3C/button%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20class=%22lang-btn%24%7B%22en%22===a.Kl%3F%22%20active%22:%22%22%7D%22%20data-lang=%22en%22%3EEN%3C/button%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20class=%22lang-btn%24%7B%22all%22===a.Kl%3F%22%20active%22:%22%22%7D%22%20data-lang=%22all%22%3EALL%3C/button%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20id=%22header-week-info%22%20class=%22header-week-info%22%3E%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20id=%22weekly-cost-display%22%20class=%22weekly-cost%20hidden%22%3E%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22controls%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20id=%22btn-refresh%22%20class=%22icon-btn%22%20aria-label=%22Men%C3%BCdaten%20aktualisieren%22%20title=%22Men%C3%BCdaten%20neu%20laden%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20class=%22material-icons-round%22%3Erefresh%3C/span%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/button%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20id=%22btn-history%22%20class=%22icon-btn%22%20aria-label=%22Bestellhistorie%22%20title=%22Bestellhistorie%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20class=%22material-icons-round%22%3Ereceipt_long%3C/span%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/button%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20id=%22btn-highlights%22%20class=%22icon-btn%22%20aria-label=%22Pers%C3%B6nliche%20Highlights%20verwalten%22%20title=%22Pers%C3%B6nliche%20Highlights%20verwalten%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20class=%22material-icons-round%22%3Elabel%3C/span%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/button%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20id=%22theme-toggle%22%20class=%22icon-btn%22%20aria-label=%22Toggle%20Theme%22%20title=%22Erscheinungsbild%20(Hell/Dunkel)%20wechseln%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20class=%22material-icons-round%20theme-icon%22%3Elight_mode%3C/span%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/button%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20id=%22btn-login-open%22%20class=%22user-badge-btn%20icon-btn-small%22%20title=%22Mit%20Bessa.app%20Account%20anmelden%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20class=%22material-icons-round%22%3Elogin%3C/span%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%3EAnmelden%3C/span%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/button%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20id=%22user-info%22%20class=%22user-badge%20hidden%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20class=%22material-icons-round%22%3Eperson%3C/span%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20id=%22user-id-display%22%3E%3C/span%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20id=%22btn-logout%22%20class=%22icon-btn-small%22%20aria-label=%22Logout%22%20title=%22Von%20Bessa.app%20abmelden%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20class=%22material-icons-round%22%3Elogout%3C/span%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/button%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%3C/header%3E%5Cn%5Cn%20%20%20%20%20%20%20%20%3Cdiv%20id=%22login-modal%22%20class=%22modal%20hidden%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22modal-content%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22modal-header%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ch2%3ELogin%3C/h2%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20id=%22btn-login-close%22%20class=%22icon-btn%22%20aria-label=%22Close%22%20title=%22Schlie%C3%9Fen%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20class=%22material-icons-round%22%3Eclose%3C/span%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/button%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cform%20id=%22login-form%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22form-group%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Clabel%20for=%22employee-id%22%3EMitarbeiternummer%3C/label%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cinput%20type=%22text%22%20id=%22employee-id%22%20name=%22employee-id%22%20placeholder=%22z.B.%202041%22%20required%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csmall%20class=%22help-text%22%3EDeine%20offizielle%20Knapp%20Mitarbeiternummer.%3C/small%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22form-group%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Clabel%20for=%22password%22%3EPasswort%3C/label%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cinput%20type=%22password%22%20id=%22password%22%20name=%22password%22%20placeholder=%22Bessa%20Passwort%22%20required%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csmall%20class=%22help-text%22%3EDas%20Passwort%20f%C3%BCr%20deinen%20Bessa%20Account.%3C/small%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20id=%22login-error%22%20class=%22error-msg%20hidden%22%3E%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22modal-actions%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20type=%22submit%22%20class=%22btn-primary%20wide%22%3EEinloggen%3C/button%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/form%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%5Cn%20%20%20%20%20%20%20%20%3Cdiv%20id=%22progress-modal%22%20class=%22modal%20hidden%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22modal-content%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22modal-header%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ch2%3EMen%C3%BCdaten%20aktualisieren%3C/h2%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22modal-body%22%20style=%22padding:%2020px;%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22progress-container%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22progress-bar%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20id=%22progress-fill%22%20class=%22progress-fill%22%3E%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20id=%22progress-percent%22%20class=%22progress-percent%22%3E0%25%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cp%20id=%22progress-message%22%20class=%22progress-message%22%3EInitialisierung...%3C/p%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%5Cn%20%20%20%20%20%20%20%20%3Cdiv%20id=%22highlights-modal%22%20class=%22modal%20hidden%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22modal-content%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22modal-header%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ch2%3EMeine%20Highlights%3C/h2%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20id=%22btn-highlights-close%22%20class=%22icon-btn%22%20aria-label=%22Close%22%20title=%22Schlie%C3%9Fen%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20class=%22material-icons-round%22%3Eclose%3C/span%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/button%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22modal-body%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cp%20style=%22margin-bottom:%201rem;%20color:%20var(--text-secondary);%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Markiere%20Men%C3%BCs%20automatisch,%20wenn%20sie%20diese%20Schlagw%C3%B6rter%20enthalten.%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/p%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22input-group%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cinput%20type=%22text%22%20id=%22tag-input%22%20placeholder=%22z.B.%20Schnitzel,%20Vegetarisch...%22%20title=%22Neues%20Schlagwort%20zum%20Hervorheben%20eingeben%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20id=%22btn-add-tag%22%20class=%22btn-primary%22%20title=%22Schlagwort%20zur%20Liste%20hinzuf%C3%BCgen%22%3EHinzuf%C3%BCgen%3C/button%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20id=%22tags-list%22%3E%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%5Cn%20%20%20%20%20%20%20%20%3Cdiv%20id=%22history-modal%22%20class=%22modal%20hidden%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22modal-content%20history-modal-content%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22modal-header%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ch2%3EBestellhistorie%3C/h2%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20id=%22btn-history-close%22%20class=%22icon-btn%22%20aria-label=%22Close%22%20title=%22Schlie%C3%9Fen%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20class=%22material-icons-round%22%3Eclose%3C/span%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/button%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22modal-body%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20id=%22history-loading%22%20class=%22hidden%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cp%20id=%22history-progress-text%22%20style=%22text-align:%20center;%20margin-bottom:%201rem;%20color:%20var(--text-secondary);%22%3ELade%20Historie...%3C/p%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22progress-container%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22progress-bar%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20id=%22history-progress-fill%22%20class=%22progress-fill%22%3E%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20id=%22history-content%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%5Cn%20%20%20%20%20%20%20%20%3Cdiv%20id=%22version-modal%22%20class=%22modal%20hidden%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22modal-content%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22modal-header%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ch2%3E%F0%9F%93%A6%20Versionen%3C/h2%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20id=%22btn-version-close%22%20class=%22icon-btn%22%20aria-label=%22Close%22%20title=%22Schlie%C3%9Fen%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20class=%22material-icons-round%22%3Eclose%3C/span%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/button%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22modal-body%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20style=%22margin-bottom:%201rem;%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cstrong%3EAktuell:%3C/strong%3E%20%3Cspan%20id=%22version-current%22%3Ev1.6.14%3C/span%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22dev-toggle%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Clabel%20style=%22display:flex;align-items:center;gap:8px;cursor:pointer;%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cinput%20type=%22checkbox%22%20id=%22dev-mode-toggle%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%3EDev-Mode%20(alle%20Tags%20anzeigen)%3C/span%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/label%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20id=%22version-list-container%22%20style=%22margin-top:1rem;%20max-height:%20250px;%20overflow-y:%20auto;%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cp%20style=%22color:var(--text-secondary);%22%3ELade%20Versionen...%3C/p%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20style=%22margin-top:%201.5rem;%20padding-top:%201rem;%20border-top:%201px%20solid%20var(--border-color);%20display:%20flex;%20flex-direction:%20column;%20gap:%200.75rem;%20font-size:%200.9em;%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%20href=%22https://github.com/TauNeutrino/kantine-overview/issues%22%20target=%22_blank%22%20rel=%22noopener%20noreferrer%22%20style=%22color:%20var(--primary-color);%20text-decoration:%20none;%20display:%20flex;%20align-items:%20center;%20gap:%200.5rem;%22%20title=%22Melde%20einen%20Fehler%20auf%20GitHub%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20class=%22material-icons-round%22%20style=%22font-size:%201.2em;%22%3Ebug_report%3C/span%3E%20Fehler%20melden%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/a%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%20href=%22https://github.com/TauNeutrino/kantine-overview/discussions/categories/ideas%22%20target=%22_blank%22%20rel=%22noopener%20noreferrer%22%20style=%22color:%20var(--primary-color);%20text-decoration:%20none;%20display:%20flex;%20align-items:%20center;%20gap:%200.5rem;%22%20title=%22Schlage%20ein%20neues%20Feature%20auf%20GitHub%20vor%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20class=%22material-icons-round%22%20style=%22font-size:%201.2em;%22%3Elightbulb%3C/span%3E%20Feature%20vorschlagen%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/a%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20id=%22btn-clear-cache%22%20style=%22background:%20none;%20border:%20none;%20padding:%200;%20color:%20var(--error-color);%20text-decoration:%20none;%20display:%20flex;%20align-items:%20center;%20gap:%200.5rem;%20cursor:%20pointer;%20text-align:%20left;%20font-size:%20inherit;%20font-family:%20inherit;%22%20title=%22L%C3%B6scht%20alle%20lokalen%20Daten%20%26%20erzwingt%20einen%20Neuladen%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20class=%22material-icons-round%22%20style=%22font-size:%201.2em;%22%3Edelete_forever%3C/span%3E%20Lokalen%20Cache%20leeren%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/button%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%5Cn%20%20%20%20%20%20%20%20%3Cmain%20class=%22container%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20id=%22last-updated-banner%22%20class=%22banner%20hidden%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20class=%22material-icons-round%22%3Eupdate%3C/span%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20id=%22last-updated-text%22%3EGerade%20aktualisiert%3C/span%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20id=%22loading%22%20class=%22loading-state%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22spinner%22%3E%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cp%3ELade%20Men%C3%BCdaten...%3C/p%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20id=%22menu-container%22%20class=%22menu-grid%22%3E%3C/div%3E%5Cn%20%20%20%20%20%20%20%20%3C/main%3E%5Cn%5Cn%20%20%20%20%20%20%20%20%3Cfooter%20class=%22app-footer%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3Cp%3EJetzt%20Bessa%20Einfach!%20%26bull;%20Knapp-Kantine%20Wrapper%20%26bull;%20%3Cspan%20id=%22current-year%22%3E%24%7B(new%20Date).getFullYear()%7D%3C/span%3E%20by%20Kaufi%20%F0%9F%98%83%F0%9F%91%8D%20mit%20Hilfe%20von%20KI%20%F0%9F%A4%96%3C/p%3E%5Cn%20%20%20%20%20%20%20%20%3C/footer%3E%5Cn%20%20%20%20%3C/div%3E%60;document.body.innerHTML=t%7D(),function()%7Bconst%20e=document.getElementById(%22btn-this-week%22),t=document.getElementById(%22btn-next-week%22),n=document.getElementById(%22btn-refresh%22),l=document.getElementById(%22theme-toggle%22),c=document.getElementById(%22btn-login-open%22),d=document.getElementById(%22btn-login-close%22),m=document.getElementById(%22btn-logout%22),u=document.getElementById(%22login-form%22),g=document.getElementById(%22login-modal%22),h=document.getElementById(%22btn-highlights%22),p=document.getElementById(%22highlights-modal%22),f=document.getElementById(%22btn-highlights-close%22),v=document.getElementById(%22btn-add-tag%22),y=document.getElementById(%22tag-input%22),b=document.getElementById(%22btn-history%22),w=document.getElementById(%22history-modal%22),k=document.getElementById(%22btn-history-close%22);document.querySelectorAll(%22.lang-btn%22).forEach(e=%3E%7Be.addEventListener(%22click%22,()=%3E%7B(0,a.UD)(e.dataset.lang),localStorage.setItem(%22kantine_lang%22,e.dataset.lang),document.querySelectorAll(%22.lang-btn%22).forEach(e=%3Ee.classList.remove(%22active%22)),e.classList.add(%22active%22),(0,o.OR)()%7D)%7D),h%26%26h.addEventListener(%22click%22,()=%3E%7Bp.classList.remove(%22hidden%22)%7D),f%26%26f.addEventListener(%22click%22,()=%3E%7Bp.classList.add(%22hidden%22)%7D),b.addEventListener(%22click%22,()=%3E%7Ba.gX%3F(w.classList.remove(%22hidden%22),(0,s.Aq)()):g.classList.remove(%22hidden%22)%7D),k.addEventListener(%22click%22,()=%3E%7Bw.classList.add(%22hidden%22)%7D),window.addEventListener(%22click%22,e=%3E%7Be.target===w%26%26w.classList.add(%22hidden%22),e.target===p%26%26p.classList.add(%22hidden%22)%7D);const%20A=document.querySelector(%22.version-tag%22),E=document.getElementById(%22version-modal%22),L=document.getElementById(%22btn-version-close%22);A%26%26A.addEventListener(%22click%22,e=%3E%7Be.preventDefault(),e.stopPropagation(),(0,o.Gk)()%7D),L%26%26L.addEventListener(%22click%22,()=%3E%7BE.classList.add(%22hidden%22)%7D);const%20I=document.getElementById(%22btn-clear-cache%22);I%26%26I.addEventListener(%22click%22,()=%3E%7Bconfirm(%22M%C3%B6chtest%20du%20wirklich%20alle%20lokalen%20Daten%20(inkl.%20Login-Session,%20Cache%20und%20Einstellungen)%20l%C3%B6schen%3F%20Die%20Seite%20wird%20danach%20neu%20geladen.%22)%26%26(Object.keys(localStorage).forEach(e=%3E%7Be.startsWith(%22kantine_%22)%26%26localStorage.removeItem(e)%7D),window.location.reload())%7D),window.addEventListener(%22click%22,e=%3E%7Be.target===E%26%26E.classList.add(%22hidden%22)%7D),v.addEventListener(%22click%22,()=%3E%7Bconst%20e=y.value;(0,s.oL)(e)%26%26(y.value=%22%22,(0,s.Y1)())%7D),y.addEventListener(%22keypress%22,e=%3E%7B%22Enter%22===e.key%26%26v.click()%7D);const%20B=localStorage.getItem(%22theme%22),S=window.matchMedia(%22(prefers-color-scheme:%20dark)%22).matches,D=l.querySelector(%22.theme-icon%22);%22dark%22===B%7C%7C!B%26%26S%3F(document.documentElement.setAttribute(%22data-theme%22,%22dark%22),D.textContent=%22dark_mode%22):(document.documentElement.setAttribute(%22data-theme%22,%22light%22),D.textContent=%22light_mode%22),l.addEventListener(%22click%22,()=%3E%7Bconst%20e=%22dark%22===document.documentElement.getAttribute(%22data-theme%22)%3F%22light%22:%22dark%22;document.documentElement.setAttribute(%22data-theme%22,e),localStorage.setItem(%22theme%22,e),D.textContent=%22dark%22===e%3F%22dark_mode%22:%22light_mode%22%7D),e.addEventListener(%22click%22,()=%3E%7B%22this-week%22!==a.sw%26%26((0,a.qo)(%22this-week%22),e.classList.add(%22active%22),t.classList.remove(%22active%22),(0,o.OR)())%7D),t.addEventListener(%22click%22,()=%3E%7Bt.classList.remove(%22new-week-available%22),%22next-week%22!==a.sw%26%26((0,a.qo)(%22next-week%22),t.classList.add(%22active%22),e.classList.remove(%22active%22),(0,o.OR)())%7D),n.addEventListener(%22click%22,()=%3E%7Ba.gX%3F(0,s.m9)():g.classList.remove(%22hidden%22)%7D);const%20x=document.getElementById(%22alarm-bell%22);x%26%26x.addEventListener(%22click%22,()=%3E%7B(0,s.A0)()%7D),c.addEventListener(%22click%22,()=%3E%7Bg.classList.remove(%22hidden%22),document.getElementById(%22login-error%22).classList.add(%22hidden%22),u.reset()%7D),d.addEventListener(%22click%22,()=%3E%7Bg.classList.add(%22hidden%22)%7D),window.addEventListener(%22click%22,e=%3E%7Be.target===g%26%26g.classList.add(%22hidden%22)%7D),u.addEventListener(%22submit%22,async%20e=%3E%7Be.preventDefault();const%20t=document.getElementById(%22employee-id%22).value.trim(),n=document.getElementById(%22password%22).value,o=document.getElementById(%22login-error%22),l=u.querySelector(%27button%5Btype=%22submit%22%5D%27),c=l.textContent;l.disabled=!0,l.textContent=%22Wird%20eingeloggt...%22;try%7Bconst%20e=%60knapp-%24%7Bt%7D%40bessa.app%60,l=await%20fetch(%60%24%7Bi.tE%7D/auth/login/%60,%7Bmethod:%22POST%22,headers:(0,r.H)(i.f9),body:JSON.stringify(%7Bemail:e,password:n%7D)%7D),c=await%20l.json();if(l.ok)%7B(0,a.O5)(c.key),(0,a.lt)(t),localStorage.setItem(%22kantine_authToken%22,c.key),localStorage.setItem(%22kantine_currentUser%22,t);try%7Bconst%20e=await%20fetch(%60%24%7Bi.tE%7D/auth/user/%60,%7Bheaders:(0,r.H)(c.key)%7D);if(e.ok)%7Bconst%20t=await%20e.json();t.first_name%26%26localStorage.setItem(%22kantine_firstName%22,t.first_name),t.last_name%26%26localStorage.setItem(%22kantine_lastName%22,t.last_name)%7D%7Dcatch(e)%7Bconsole.error(%22Failed%20to%20fetch%20user%20info:%22,e)%7D(0,s.i_)(),g.classList.add(%22hidden%22),(0,s.Gb)(),u.reset(),(0,s.g8)(),(0,s.m9)()%7Delse%20o.textContent=c.non_field_errors%3F.%5B0%5D%7C%7Cc.error%7C%7C%22Login%20fehlgeschlagen%22,o.classList.remove(%22hidden%22)%7Dcatch(e)%7Bconsole.error(%22Login%20error:%22,e),o.textContent=%22Ein%20Fehler%20ist%20aufgetreten%22,o.classList.remove(%22hidden%22)%7Dfinally%7Bl.disabled=!1,l.textContent=c%7D%7D),m.addEventListener(%22click%22,()=%3E%7BlocalStorage.removeItem(%22kantine_authToken%22),localStorage.removeItem(%22kantine_currentUser%22),localStorage.removeItem(%22kantine_firstName%22),localStorage.removeItem(%22kantine_lastName%22),(0,a.O5)(null),(0,a.lt)(null),(0,a.di)(new%20Map),(0,s.Et)(),(0,s.i_)(),(0,o.OR)()%7D)%7D(),(0,s.i_)(),(0,s.H)();(0,s.KG)()%3F(document.getElementById(%22loading%22).classList.add(%22hidden%22),(0,s.VL)()%7C%7C(0,s.m9)()):(0,s.m9)(),a.gX%26%26(0,s.g8)(),(0,o.Ux)(),setInterval(o.Ux,36e5)%7D%7D)();%0A%7D)();";
// Dynamic favicon injection — setTimeout ensures it runs AFTER
// htmlpreview.github.io's document.write() processing completes
setTimeout(function() {
document.querySelectorAll('link[rel*="icon"]').forEach(function(el) { el.remove(); });
var fi = document.createElement('link');
fi.rel = 'icon';
fi.type = 'image/png';
fi.href = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAOUElEQVR4nNWYaXRVRbbH//tMd0xITAISyASBAGGSOYJP6fdEhAAiMjiAAxDoVsCWtpu0jdcrrUQFGYI2CQg8RIYwCQiCtjIIChImISASSJgTSYiZ7niqdn+4AQEbaIcP7+21zqqzzqmq86tdtXf96wD/x41+gz4UANylS5dE5mDU3r0H8uueyas1XC6l7tntLTWVgZXAkJXiN2ADAKhEhIg7IpaGhYWdZGYCoOIXDJ6uua6Y9mvhAIjOnTu3y8/Pf0RKqSckJDwD4L26d5IAbrtofs9LJOJVnxcCZGeGBcRWgKwsySpIWAXDQlAsDLZrBLVdzB3PfjpoxPe/FhCqpuLIkSPTwsPD9fDwcFlSUvLapEmT1mRlZVXi3ntV3r5dsCKp2uud57NadcUfBLTQbBOHhsFQwWAQQutClxI+gT8D/+m6uAkbAJHaNjXd4/H8T2bmJLFq1UoZCAQaLFy4cDIRSWzfznC56JsRGZ8319WOVr//ogwEGLW1fng8Jtdd8NSa8HhNeDxB8vpMGQjUBj21gZ8LSDfcMzMbxwuOvxnbKJbHjh1LnTt3Ufv37ydLS0uf7devXysAEm434HJp+54Zd7iFrvax6XoZGxYLGAoAjcGaCdYAaGBoADQCVNht+LmAXBeNV9rJpKSk3/v9/pavv/Z3GR5eT5FS0syZs9hqtRpbt259W9M0BkBwu024XNrep5872FzVHrABhawqBGYmEFQoodETIdSAYL/mQ7fBYgoVTHC7Je69VwMgMzMzY86cOTO5Y6cOcvjwJxUhBIQQSEpKUidOnCiqq6sfaNOmVT8AAoBaB2nsG/WHAw6FtsEwCAQJuiHciUBgGfSr8vaALpcCIr5r3rzk6AXvnmm28N1h2L7dJFXlhQsXTpZSRs2aOUsSEQkhQASYpolJkyZR47jGfPTo8beY2VLnfU1xuwMNc2e/Xk40Cj6/hKKEogPMVyiJADCkrvpuA1jnsYy8vHr7R406yVLsv2BYliW8P/+Z6Y2aNSwpKRn38MMDZffuPVQigmEY0DQdmqbB6XQqWVOzpN/vT0lISpgAIklut9lwXvYr5aqWKb0+wcwKJMAAsaJSKIx/zIQOOELAN4Uj4r4ffBC5q6r0lFXXZpaPGu+ul5v9vveOek/EnP9+evLy1W1yli7pFR+XIE+eLFRKS0ohhED9BvWRmJAIh8PB/Qf05w0bPqKcO++s75r68lM/SH5LeDwmARqYmUmBBpACeAKaaleDQSFVTdVZVt0TE5e8eciQS/8+DxJxv6VLG3z82GOlkTmz3qtyhr8SmTvLWpExbrj1HzMqizk48Ymc7EvVlyvQ7eFHyOP3w2qxAAT4fX4IIdC6TWtu2769svuTT9e/MemPf6wQ8q/S4zPBUgWIWVGkZrOqMVKOjrPY9x7y1mz1a3okCcEMljK0dm/YSeo8l5eXZ4y9dPZwZG72moqMcWOj5s7kmpjoScac6Vpx+86nXvPW8t83rI85mNwc8xctohbNmsFqs13t5vjx41i6YgVdPn2aB29co7xbcORFq8/PBKiAAkmQutWqNhBy/OmMcfPPAOg8f26v4/B/7FGNaAoEgvVQiZ8CEjFcLmXw4MHBF3JmT6kIc8yOzM3G5YxxY6NyZhkluvqnzKoKzOmUhsYR9fiFf24hpV44lrRMwf5du+DxeRHXuDGSU1rA/fLLtOpcMZ7ctD5dV1RIliCAhQKpWS1qAynHn84Yl80ul4b7gL09x+Z3zp1z/1GWnwnAHl8v3v9TQABwuyUBiuJ2ZzeeO8N6KTLyzbB/zKKLGePH9lmx5J7cQ/vbC0XhB5OaKobNjvUH98Ol62hy8CgulpfjYmkpurVOha33/Rjx4WroNrskVVXq5geaYVHrm3L86bETQnButwk3AJdL25vx3MGU+dkPlAtlWX5ZmQ1A7c0VRygtmHE5s6act1n/1pnp6y8GDE51HzvsmLLtc8CwwGrRETBNNI2IxHdPZlxturjgEJ7ashG6ZoAolEYlgdnQzcTI6LEnhzy+8CrctZaXp2LIEDF02bJEr81Wvv6hh6pvJYkILpequt1m7PJFr56tqJj8fGob9E9qigfXroKiKmBm+KRAQ7sdB4eOQITFhhWF32Lkp5tD6UGhkAAQUioOm9Lph9plF17MXFasqRvYFNdrxh8do8Dtvvr8VomaXa+8IgURHv54qzkqsWlw5hfbZa/VeSCFAMnQiEBSItbuRH1nOHws4f5yJ4LBIAxdD6kVyTCFUBb+d29e3LvvgHOGsb5Du/ZtANRpmRvM7ZbXbKm3FJUqABEZHd3H0NSNhceOyb8c2qe8u3c3oGqhllJC03UYRPhrlzS81KU7jpZdQt8P81BcXQOHocFjBjGlbQf8pWt3aHYHp6Wl0Z49e7bput4zEAioqEsnN7ObefCKWtErysreTE5Ols6ISH6tXUe4O3RC99hYpEREIL1pM8TYbPBIE3/buQ0Ttn2CVtEx2DJoGOLDHKitqsSygUPQ4lwJchYvBjNT9+53CwD3paQkP4Yr+/QvAFQAyObNk8cQUWqTpCbMzOrq1WuQXHQeO4eOQP6wEdgwYDDWpg9EpGbAolswe18+Ht+0Ds0jo/DRQ0OQ22cAhsY3gaNBA5w9fRpEhORmzYiZuaj4zFsTJkyIAOoEzM8AVADwo48+Gn3+wkUXM0u7w05EBI/XgxqWkMxwGlb4hYmudzbCugGPQFcAm8WCpceO4MG1y9E8Mgqj23WEKSXqhYUhGAyGemco9evHSCFk7KJFi14lInkLR/3bF0REctOmTS6FlOgnhj/OpaWlCgBER0ehrKwMChFqzCB6rVmBiTv+iXsaxWN1+iBACtgtVmw+dRI9VizG6apKaIqC0rIyOB0OMDNOnTqJoUOHKBmjR4rKyso/9OzZswNuMdU3AqoAZHp6emplZeWYJ4Y/Ll/660vKkcOHAQAdO3bGt0cOw2MG0f/DldhRfApv5+/BS19uQ6+EJKzqNwjCNOGwWJFfWoLfLV+MMz4PThw8iJatW4OIcPjIETRp2pRee30qHA6HumfPnuy6k+B/ZGqdXPrY4XTw+fPnTCEEx8fH8d59+czMvPPLnfy7lUsY06Zw+DvT2TlnGuOtV3nCtk+YmfnDwm9ZmzGVHXOmszJjKjd+7x1evP0zNr1e/qGqihvHNeZ9+0N9vT1jugmAU1KSn7nGQTf1oApAtG7duk9NTU3vF198UcTGNlIVRUHvB/tgissFE8DU8lJ8XlyEMJsdJjMkh/RmjNUGU0oMaJqC9x9Ih8fvhV03UFJdjQlHv8FuXy22rFqFiDsi0eGujggGgxg/fgK1b99OFhYWZblcrmiEAua6WaVrSmJm1TCMgw0b3tny2LFjbLXaFBBwuqgYWz7Zgs0JsVh36ADCwsMhZAjMKwVye6djVErqdSNfXVSIR9asgNNmQyAQhGax4IXGcRjZrBXimqdACBOGbmD37q9EWtrdalRM1LyK8ooMKeV1ufGGQ1DC2GAw2CorK0va7Q7FFAIEQlyTJHzePBHrjnwDZ71wmCwBlvAIE5NSWiLNE0DJ99+jrLwMBQUFmDF7Fs4uy8P8B/qgpqYGuq5BmkFknS7CRzIAVVGgajqCZhDduqWpo0aNEuWXykf16NEjDTcEDF2BzMzMjHrjjTeOde3aJfLLL79CwAwquqrBLwUGrF+FT747jrDwcJhCAmB4g0HM7Z2O3qqBN7Oz4fN6AWZYLBakpKRgwMCBSIxPwIqzpzBs5XI4LFYwS3i8Hvw57R680aMnhBRgBqoqK0VKSopaU1Oz3+v1dqkTGBJA6D8KEYmoqKg5ZeVlz369Z4/ZsVNnjYVAkICBG1Zjc+EJOO0OCCFBxPAEg3C17YDJ3e+FarXeNOL+d8kSHNr5BRo98yT+9MU2OKxWKESorq3BU+3uwvz7+wCSoaoqFixYIEaOHKkmJiZOKC4unn0lJggA9e3bN3Xjxo0Hhj06TFm2dBmxlORniYEb1mBz4XdwOuwQpgQR4KmqQs7Dg6F+uhXuadPRo3t3dOvWFQmJidBUDRcunMfevfnYtWsnQITxzz+PMU8/jaz8r5C57XM4nE6oRKiqrUXfZs2xvO9AOHUDADjt7jTe/dXu6jFjxqTm5ORcAECk6xoMw7Le6XSmF54sNJ0Op1oT8CuDN63D5sLvEO5wQAiBoBAiIAUtHDAITzVJAQCcOHEC69Z9iP37D+Dy5cuQLBEeFo4WLVugb5++SEtLu86jc747jHEb1sNmWFhXFbXKU4u0uASs7vsQGjrD+ey5c8HWqakGES2rqal5TAihUnx8/ONnzpxZEhsbi65du+L+nvfhWMe2nL19K4XXi0BQmCCG1Jx2ZXLrdihbsgKHi4qhqQrsNjscDgdM00QgEAAzwzAM6LoOv9+PyqpKCFNA0zQIKdGpVQsogwbg9QP7oAZNqSuKUlldhf9q0ZInWsJoUe487NixA+Xl5UhKSupfVFS0QfP7/cPtdntBxQ8/8Nq1a9G0VQvrZxcik1WrRZhSgBWiILMyslnKx6ULlzSYNjfHWpevfrZt/OgjyrJagsN63uP7oOBIV0gh7Dab/Pr7Uv2A03dx7dq15RarFXannbw+7xP5+fmbr+Q+AQIURYXP69XvzM3eUWmzdIPXC9UwECPly8Ujn5sCANZbBMXtjAH4fT7oRIiaOzO3ymoZzULC6vN7erVskbruwYHFXq+XDMPgQCCgEpG8cQ9UAMge773X5AR7p5ng2AjGgqLR43JlXp7KgwdLIvpF3rsKyUxEBBXguPnvTPAbets7/GJBwejf70KdDr1tB6ireTVbXiPBf6XRDeWPNz8Khuuc9pNjJ9WdjRmAcLsZeXkKhgz5rX5o83VlXp7KBQWhH6shXXhtnf8f9i8ccK5KeMWwRQAAAABJRU5ErkJggg==';
document.head.appendChild(fi);
}, 0);
document.getElementById('bookmarklet-link').textContent = 'Kantine v1.6.14';
</script>
</body>
</html>