feat: Rechtsseiten (Impressum/AGB/Datenschutz) + Footer + Menü-Fix

- content/impressum.md, agb.md, datenschutz.md (Einzelfirma Karim, CH-Recht,
  [PLATZHALTER] für Adresse/UID/Datum — vor Produktiv juristisch prüfen)
- custom/footer.html: 4-spaltiger Footer (Produkt/Ressourcen/Rechtliches/
  Hosting-CH-Hinweis) + Styling
- hugo.yaml: 'Anmelden' im Menü; doppeltes params bei Gitea entfernt
  (icon:github wurde von type:search überschrieben → Icon war kaputt)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-05-31 00:21:01 +02:00
parent 45bb22ea14
commit cf0b1869d4
43 changed files with 3326 additions and 98 deletions
+32 -3
View File
@@ -54,8 +54,8 @@
<meta name="twitter:description" content="Vom Erstkontakt mit dem Kunden bis zur Schlussrechnung — der typische Weg eines Projekts durch Rapport.
Übersicht Kunde → Offerte → Projekt → Zeit → Akonto → Schluss anlegen erstellen (aus Offerte) erfassen -Rechnung -Rechnung ↓ QR-Schein 1 · Kunde anlegen Kunden → Neu — siehe Einrichtung § 3.">
<link rel="preload" href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" as="style" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
<link href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" rel="stylesheet" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" />
@@ -906,7 +906,36 @@
</article>
</div>
<footer class="hextra-footer hx:bg-gray-100 hx:pb-[env(safe-area-inset-bottom)] hx:dark:bg-neutral-900 hx:print:bg-transparent"><div class="hextra-custom-footer hextra-max-footer-width hx:mx-auto hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400"></div><div
<footer class="hextra-footer hx:bg-gray-100 hx:pb-[env(safe-area-inset-bottom)] hx:dark:bg-neutral-900 hx:print:bg-transparent"><div class="hextra-custom-footer hextra-max-footer-width hx:mx-auto hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400">
<div class="rapport-footer-links">
<div class="rapport-footer-col">
<div class="rapport-footer-head">Produkt</div>
<a href="/features/">Funktionen</a>
<a href="/hosting/">Hosting</a>
<a href="/hosting-preise/">Preise</a>
<a href="/downloads/">Downloads</a>
</div>
<div class="rapport-footer-col">
<div class="rapport-footer-head">Ressourcen</div>
<a href="/docs/">Dokumentation</a>
<a href="/faq/">FAQ</a>
<a href="https://git.kgva.ch/karim/RAPPORT" target="_blank" rel="noopener">Quellcode ↗</a>
</div>
<div class="rapport-footer-col">
<div class="rapport-footer-head">Rechtliches</div>
<a href="/impressum/">Impressum</a>
<a href="/agb/">AGB</a>
<a href="/datenschutz/">Datenschutz</a>
<a href="/lizenz/">Lizenz (AGPL-3.0)</a>
</div>
<div class="rapport-footer-col">
<div class="rapport-footer-head">RAPPORT Hosting</div>
<div class="rapport-footer-note">🇨🇭 Gehostet in der Schweiz</div>
<div class="rapport-footer-note">Tägliche Backups</div>
<div class="rapport-footer-note">Studio-Management für Architekturbüros</div>
</div>
</div>
</div><div
class="hextra-max-footer-width hx:mx-auto hx:flex hx:justify-center hx:py-12 hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400 hx:md:justify-start"
>
<div class="hx:flex hx:w-full hx:flex-col hx:items-center hx:sm:items-start"><div class="hx:mt-6 hx:text-xs">© 2026 <a href="https://git.kgva.ch/karim/RAPPORT"target="_blank" rel="noopener">RAPPORT<svg class="hx:inline hx:rtl:rotate-270 hx:align-baseline" height="1em" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+32 -3
View File
@@ -67,8 +67,8 @@ Neu / Verbessert
Diverse Verbesserungen und Bugfixes (Details werden im Release auf Gitea gepflegt) Bekannte Einschränkungen
Builds sind Tauri-signiert, aber noch nicht Apple-notarisiert — siehe Installation § Gatekeeper Linux- und Windows-Builds noch nicht verfügbar 0.8.00.8.1 — Patch-Releases Patch-Reihe mit kleineren Verbesserungen und Bugfixes. Details siehe Releases auf Gitea .">
<link rel="preload" href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" as="style" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
<link href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" rel="stylesheet" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" />
@@ -828,7 +828,36 @@ Builds sind Tauri-signiert, aber noch nicht Apple-notarisiert — siehe Installa
</article>
</div>
<footer class="hextra-footer hx:bg-gray-100 hx:pb-[env(safe-area-inset-bottom)] hx:dark:bg-neutral-900 hx:print:bg-transparent"><div class="hextra-custom-footer hextra-max-footer-width hx:mx-auto hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400"></div><div
<footer class="hextra-footer hx:bg-gray-100 hx:pb-[env(safe-area-inset-bottom)] hx:dark:bg-neutral-900 hx:print:bg-transparent"><div class="hextra-custom-footer hextra-max-footer-width hx:mx-auto hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400">
<div class="rapport-footer-links">
<div class="rapport-footer-col">
<div class="rapport-footer-head">Produkt</div>
<a href="/features/">Funktionen</a>
<a href="/hosting/">Hosting</a>
<a href="/hosting-preise/">Preise</a>
<a href="/downloads/">Downloads</a>
</div>
<div class="rapport-footer-col">
<div class="rapport-footer-head">Ressourcen</div>
<a href="/docs/">Dokumentation</a>
<a href="/faq/">FAQ</a>
<a href="https://git.kgva.ch/karim/RAPPORT" target="_blank" rel="noopener">Quellcode ↗</a>
</div>
<div class="rapport-footer-col">
<div class="rapport-footer-head">Rechtliches</div>
<a href="/impressum/">Impressum</a>
<a href="/agb/">AGB</a>
<a href="/datenschutz/">Datenschutz</a>
<a href="/lizenz/">Lizenz (AGPL-3.0)</a>
</div>
<div class="rapport-footer-col">
<div class="rapport-footer-head">RAPPORT Hosting</div>
<div class="rapport-footer-note">🇨🇭 Gehostet in der Schweiz</div>
<div class="rapport-footer-note">Tägliche Backups</div>
<div class="rapport-footer-note">Studio-Management für Architekturbüros</div>
</div>
</div>
</div><div
class="hextra-max-footer-width hx:mx-auto hx:flex hx:justify-center hx:py-12 hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400 hx:md:justify-start"
>
<div class="hx:flex hx:w-full hx:flex-col hx:items-center hx:sm:items-start"><div class="hx:mt-6 hx:text-xs">© 2026 <a href="https://git.kgva.ch/karim/RAPPORT"target="_blank" rel="noopener">RAPPORT<svg class="hx:inline hx:rtl:rotate-270 hx:align-baseline" height="1em" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+32 -3
View File
@@ -62,8 +62,8 @@ Diese Seite beschreibt die Desktop-App (Single-User). Wer im Team arbeitet und R
Speicherort (Desktop-App) Die Desktop-App speichert alles lokal — keine Cloud, kein Server.
macOS ~/Library/Application Support/com.rapport.app/ Dort liegt eine einzelne localStorage-Datenbank des WebView, in der alle Rapport-Daten als JSON unter dem Key studio_data_v1 gespeichert sind:">
<link rel="preload" href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" as="style" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
<link href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" rel="stylesheet" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" />
@@ -969,7 +969,36 @@ macOS ~/Library/Application Support/com.rapport.app/ Dort liegt eine einzelne lo
</article>
</div>
<footer class="hextra-footer hx:bg-gray-100 hx:pb-[env(safe-area-inset-bottom)] hx:dark:bg-neutral-900 hx:print:bg-transparent"><div class="hextra-custom-footer hextra-max-footer-width hx:mx-auto hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400"></div><div
<footer class="hextra-footer hx:bg-gray-100 hx:pb-[env(safe-area-inset-bottom)] hx:dark:bg-neutral-900 hx:print:bg-transparent"><div class="hextra-custom-footer hextra-max-footer-width hx:mx-auto hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400">
<div class="rapport-footer-links">
<div class="rapport-footer-col">
<div class="rapport-footer-head">Produkt</div>
<a href="/features/">Funktionen</a>
<a href="/hosting/">Hosting</a>
<a href="/hosting-preise/">Preise</a>
<a href="/downloads/">Downloads</a>
</div>
<div class="rapport-footer-col">
<div class="rapport-footer-head">Ressourcen</div>
<a href="/docs/">Dokumentation</a>
<a href="/faq/">FAQ</a>
<a href="https://git.kgva.ch/karim/RAPPORT" target="_blank" rel="noopener">Quellcode ↗</a>
</div>
<div class="rapport-footer-col">
<div class="rapport-footer-head">Rechtliches</div>
<a href="/impressum/">Impressum</a>
<a href="/agb/">AGB</a>
<a href="/datenschutz/">Datenschutz</a>
<a href="/lizenz/">Lizenz (AGPL-3.0)</a>
</div>
<div class="rapport-footer-col">
<div class="rapport-footer-head">RAPPORT Hosting</div>
<div class="rapport-footer-note">🇨🇭 Gehostet in der Schweiz</div>
<div class="rapport-footer-note">Tägliche Backups</div>
<div class="rapport-footer-note">Studio-Management für Architekturbüros</div>
</div>
</div>
</div><div
class="hextra-max-footer-width hx:mx-auto hx:flex hx:justify-center hx:py-12 hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400 hx:md:justify-start"
>
<div class="hx:flex hx:w-full hx:flex-col hx:items-center hx:sm:items-start"><div class="hx:mt-6 hx:text-xs">© 2026 <a href="https://git.kgva.ch/karim/RAPPORT"target="_blank" rel="noopener">RAPPORT<svg class="hx:inline hx:rtl:rotate-270 hx:align-baseline" height="1em" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+32 -3
View File
@@ -59,8 +59,8 @@ Reihenfolge Die Reihenfolge ist wichtig — jede Stufe baut auf der vorherigen a
Reihenfolge Die Reihenfolge ist wichtig — jede Stufe baut auf der vorherigen auf:
1. Bürodaten → 2. Mitarbeiter → 3. Kunden → 4. Projekte ▼ ▼ ▼ ▼ Briefbogen, Zeiterfassung, Adressen, Zeiterfassung, QR-Schein, Lohn Rechnungen Rechnungen Login 1 · Bürodaten Einstellungen → Bürodaten">
<link rel="preload" href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" as="style" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
<link href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" rel="stylesheet" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" />
@@ -930,7 +930,36 @@ Reihenfolge Die Reihenfolge ist wichtig — jede Stufe baut auf der vorherigen a
</article>
</div>
<footer class="hextra-footer hx:bg-gray-100 hx:pb-[env(safe-area-inset-bottom)] hx:dark:bg-neutral-900 hx:print:bg-transparent"><div class="hextra-custom-footer hextra-max-footer-width hx:mx-auto hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400"></div><div
<footer class="hextra-footer hx:bg-gray-100 hx:pb-[env(safe-area-inset-bottom)] hx:dark:bg-neutral-900 hx:print:bg-transparent"><div class="hextra-custom-footer hextra-max-footer-width hx:mx-auto hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400">
<div class="rapport-footer-links">
<div class="rapport-footer-col">
<div class="rapport-footer-head">Produkt</div>
<a href="/features/">Funktionen</a>
<a href="/hosting/">Hosting</a>
<a href="/hosting-preise/">Preise</a>
<a href="/downloads/">Downloads</a>
</div>
<div class="rapport-footer-col">
<div class="rapport-footer-head">Ressourcen</div>
<a href="/docs/">Dokumentation</a>
<a href="/faq/">FAQ</a>
<a href="https://git.kgva.ch/karim/RAPPORT" target="_blank" rel="noopener">Quellcode ↗</a>
</div>
<div class="rapport-footer-col">
<div class="rapport-footer-head">Rechtliches</div>
<a href="/impressum/">Impressum</a>
<a href="/agb/">AGB</a>
<a href="/datenschutz/">Datenschutz</a>
<a href="/lizenz/">Lizenz (AGPL-3.0)</a>
</div>
<div class="rapport-footer-col">
<div class="rapport-footer-head">RAPPORT Hosting</div>
<div class="rapport-footer-note">🇨🇭 Gehostet in der Schweiz</div>
<div class="rapport-footer-note">Tägliche Backups</div>
<div class="rapport-footer-note">Studio-Management für Architekturbüros</div>
</div>
</div>
</div><div
class="hextra-max-footer-width hx:mx-auto hx:flex hx:justify-center hx:py-12 hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400 hx:md:justify-start"
>
<div class="hx:flex hx:w-full hx:flex-col hx:items-center hx:sm:items-start"><div class="hx:mt-6 hx:text-xs">© 2026 <a href="https://git.kgva.ch/karim/RAPPORT"target="_blank" rel="noopener">RAPPORT<svg class="hx:inline hx:rtl:rotate-270 hx:align-baseline" height="1em" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+32 -3
View File
@@ -125,8 +125,8 @@ macOS: Xcode Command Line Tools (xcode-select --install) Windows: Microsoft C&#4
Voraussetzungen Tool Version Node.js ≥ 20 (für Vite 8) npm ≥ 10 Rust toolchain ≥ 1.77.2 (via rustup) Plattform-Tools siehe Tauri Prerequisites Plattform-spezifisch:
macOS: Xcode Command Line Tools (xcode-select --install) Windows: Microsoft C&#43;&#43; Build Tools &#43; WebView2 Linux: webkit2gtk-4.1, librsvg2-dev, libayatana-appindicator3-dev, build-essential Setup git clone https://git.kgva.ch/karim/RAPPORT.git cd RAPPORT/APP npm install Entwicklung Web-Modus (HMR, schnellster Loop) npm run dev # http://localhost:3000 Hot-Module-Replacement Schnellster Iteration-Loop für UI-Arbeit Datenpersistierung: Browser-localStorage Native Window (Tauri-Fenster mit Desktop-Integration) npx tauri dev Echtes Tauri-Fenster System-Tray, Updater, native APIs verfügbar Erster Start dauert lange (Rust-Compile) Architektur in einem Absatz RAPPORT ist eine monolithische SPA: ein React-Root in App.jsx hält den gesamten App-State in einem useState({...}), persistiert ihn synchron in localStorage unter studio_data_v1, und übergibt ihn als Props an lazy-geladene Views. Kein Routing-Framework, kein State-Library, kein TypeScript, kein CSS-Framework. Der Rust-Teil ist 109 Zeilen und macht nur drei Dinge: System-Tray, Window-Hide-on-Close, Plugin-Registrierung (Updater, Process, Log). Keine #[tauri::command] — Frontend ↔ Backend kommuniziert nur über das Event rapport:navigate (Tray → Frontend).">
<link rel="preload" href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" as="style" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
<link href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" rel="stylesheet" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" />
@@ -1029,7 +1029,36 @@ macOS: Xcode Command Line Tools (xcode-select --install) Windows: Microsoft C&#4
</article>
</div>
<footer class="hextra-footer hx:bg-gray-100 hx:pb-[env(safe-area-inset-bottom)] hx:dark:bg-neutral-900 hx:print:bg-transparent"><div class="hextra-custom-footer hextra-max-footer-width hx:mx-auto hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400"></div><div
<footer class="hextra-footer hx:bg-gray-100 hx:pb-[env(safe-area-inset-bottom)] hx:dark:bg-neutral-900 hx:print:bg-transparent"><div class="hextra-custom-footer hextra-max-footer-width hx:mx-auto hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400">
<div class="rapport-footer-links">
<div class="rapport-footer-col">
<div class="rapport-footer-head">Produkt</div>
<a href="/features/">Funktionen</a>
<a href="/hosting/">Hosting</a>
<a href="/hosting-preise/">Preise</a>
<a href="/downloads/">Downloads</a>
</div>
<div class="rapport-footer-col">
<div class="rapport-footer-head">Ressourcen</div>
<a href="/docs/">Dokumentation</a>
<a href="/faq/">FAQ</a>
<a href="https://git.kgva.ch/karim/RAPPORT" target="_blank" rel="noopener">Quellcode ↗</a>
</div>
<div class="rapport-footer-col">
<div class="rapport-footer-head">Rechtliches</div>
<a href="/impressum/">Impressum</a>
<a href="/agb/">AGB</a>
<a href="/datenschutz/">Datenschutz</a>
<a href="/lizenz/">Lizenz (AGPL-3.0)</a>
</div>
<div class="rapport-footer-col">
<div class="rapport-footer-head">RAPPORT Hosting</div>
<div class="rapport-footer-note">🇨🇭 Gehostet in der Schweiz</div>
<div class="rapport-footer-note">Tägliche Backups</div>
<div class="rapport-footer-note">Studio-Management für Architekturbüros</div>
</div>
</div>
</div><div
class="hextra-max-footer-width hx:mx-auto hx:flex hx:justify-center hx:py-12 hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400 hx:md:justify-start"
>
<div class="hx:flex hx:w-full hx:flex-col hx:items-center hx:sm:items-start"><div class="hx:mt-6 hx:text-xs">© 2026 <a href="https://git.kgva.ch/karim/RAPPORT"target="_blank" rel="noopener">RAPPORT<svg class="hx:inline hx:rtl:rotate-270 hx:align-baseline" height="1em" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+32 -3
View File
@@ -47,8 +47,8 @@ Die Pre-Release-Builds sind signiert über Tauri, aber (noch) nicht über die Ap
01 · Installation DMG von Gitea Releases herunterladen. Rapport in den Programme-Ordner ziehen. Beim ersten Start: Systemeinstellungen → Datenschutz &amp; Sicherheit öffnen und Rapport zulassen.
Die Pre-Release-Builds sind signiert über Tauri, aber (noch) nicht über die Apple-Notarisierung gegangen — daher der manuelle Freigabe-Schritt.">
<link rel="preload" href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" as="style" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
<link href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" rel="stylesheet" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" />
@@ -724,7 +724,36 @@ Die Pre-Release-Builds sind signiert über Tauri, aber (noch) nicht über die Ap
</article>
</div>
<footer class="hextra-footer hx:bg-gray-100 hx:pb-[env(safe-area-inset-bottom)] hx:dark:bg-neutral-900 hx:print:bg-transparent"><div class="hextra-custom-footer hextra-max-footer-width hx:mx-auto hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400"></div><div
<footer class="hextra-footer hx:bg-gray-100 hx:pb-[env(safe-area-inset-bottom)] hx:dark:bg-neutral-900 hx:print:bg-transparent"><div class="hextra-custom-footer hextra-max-footer-width hx:mx-auto hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400">
<div class="rapport-footer-links">
<div class="rapport-footer-col">
<div class="rapport-footer-head">Produkt</div>
<a href="/features/">Funktionen</a>
<a href="/hosting/">Hosting</a>
<a href="/hosting-preise/">Preise</a>
<a href="/downloads/">Downloads</a>
</div>
<div class="rapport-footer-col">
<div class="rapport-footer-head">Ressourcen</div>
<a href="/docs/">Dokumentation</a>
<a href="/faq/">FAQ</a>
<a href="https://git.kgva.ch/karim/RAPPORT" target="_blank" rel="noopener">Quellcode ↗</a>
</div>
<div class="rapport-footer-col">
<div class="rapport-footer-head">Rechtliches</div>
<a href="/impressum/">Impressum</a>
<a href="/agb/">AGB</a>
<a href="/datenschutz/">Datenschutz</a>
<a href="/lizenz/">Lizenz (AGPL-3.0)</a>
</div>
<div class="rapport-footer-col">
<div class="rapport-footer-head">RAPPORT Hosting</div>
<div class="rapport-footer-note">🇨🇭 Gehostet in der Schweiz</div>
<div class="rapport-footer-note">Tägliche Backups</div>
<div class="rapport-footer-note">Studio-Management für Architekturbüros</div>
</div>
</div>
</div><div
class="hextra-max-footer-width hx:mx-auto hx:flex hx:justify-center hx:py-12 hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400 hx:md:justify-start"
>
<div class="hx:flex hx:w-full hx:flex-col hx:items-center hx:sm:items-start"><div class="hx:mt-6 hx:text-xs">© 2026 <a href="https://git.kgva.ch/karim/RAPPORT"target="_blank" rel="noopener">RAPPORT<svg class="hx:inline hx:rtl:rotate-270 hx:align-baseline" height="1em" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+32 -3
View File
@@ -37,8 +37,8 @@ Erste Schritte Quick-StartIn sechs Schritten von Null zur ersten Rechnung. Insta
<meta name="twitter:description" content="Vollständige Anleitung zu RAPPORT — von der Installation über den täglichen Arbeitsablauf bis zur Cloud-Variante und Eigen-Builds.
Erste Schritte Quick-StartIn sechs Schritten von Null zur ersten Rechnung. InstallationmacOS, Gatekeeper, Signatur, geplante Plattformen. EinrichtungBürodaten, Mitarbeiter, Kunden, Projekte initial anlegen. Im Alltag Typischer ArbeitsablaufKunde → Offerte → Projekt → Zeit → Rechnung. Datenhaltung &amp; BackupWo die Daten liegen, wie du sie sicherst und wiederherstellst. TroubleshootingApp startet nicht, Daten weg, Update hängt. Für Fortgeschrittene Web-Modus (Multi-User)Rapport im Browser via Supabase — für Studios mit mehreren Nutzern. Entwicklung &amp; BuildAus dem Quellcode kompilieren, beitragen, eigenes Release. ChangelogVersionsgeschichte und Breaking Changes. Hilfe &amp; Support Bei Bugs oder weiteren Fragen → Issue auf Gitea . Siehe auch die FAQ für häufige Fragen.">
<link rel="preload" href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" as="style" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
<link href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" rel="stylesheet" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" />
@@ -683,7 +683,36 @@ Erste Schritte Quick-StartIn sechs Schritten von Null zur ersten Rechnung. Insta
</article>
</div>
<footer class="hextra-footer hx:bg-gray-100 hx:pb-[env(safe-area-inset-bottom)] hx:dark:bg-neutral-900 hx:print:bg-transparent"><div class="hextra-custom-footer hextra-max-footer-width hx:mx-auto hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400"></div><div
<footer class="hextra-footer hx:bg-gray-100 hx:pb-[env(safe-area-inset-bottom)] hx:dark:bg-neutral-900 hx:print:bg-transparent"><div class="hextra-custom-footer hextra-max-footer-width hx:mx-auto hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400">
<div class="rapport-footer-links">
<div class="rapport-footer-col">
<div class="rapport-footer-head">Produkt</div>
<a href="/features/">Funktionen</a>
<a href="/hosting/">Hosting</a>
<a href="/hosting-preise/">Preise</a>
<a href="/downloads/">Downloads</a>
</div>
<div class="rapport-footer-col">
<div class="rapport-footer-head">Ressourcen</div>
<a href="/docs/">Dokumentation</a>
<a href="/faq/">FAQ</a>
<a href="https://git.kgva.ch/karim/RAPPORT" target="_blank" rel="noopener">Quellcode ↗</a>
</div>
<div class="rapport-footer-col">
<div class="rapport-footer-head">Rechtliches</div>
<a href="/impressum/">Impressum</a>
<a href="/agb/">AGB</a>
<a href="/datenschutz/">Datenschutz</a>
<a href="/lizenz/">Lizenz (AGPL-3.0)</a>
</div>
<div class="rapport-footer-col">
<div class="rapport-footer-head">RAPPORT Hosting</div>
<div class="rapport-footer-note">🇨🇭 Gehostet in der Schweiz</div>
<div class="rapport-footer-note">Tägliche Backups</div>
<div class="rapport-footer-note">Studio-Management für Architekturbüros</div>
</div>
</div>
</div><div
class="hextra-max-footer-width hx:mx-auto hx:flex hx:justify-center hx:py-12 hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400 hx:md:justify-start"
>
<div class="hx:flex hx:w-full hx:flex-col hx:items-center hx:sm:items-start"><div class="hx:mt-6 hx:text-xs">© 2026 <a href="https://git.kgva.ch/karim/RAPPORT"target="_blank" rel="noopener">RAPPORT<svg class="hx:inline hx:rtl:rotate-270 hx:align-baseline" height="1em" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+32 -3
View File
@@ -74,8 +74,8 @@ Voraussetzungen Plattform Status Versionen macOS Apple Silicon (M1 M4) ✅ U
<meta name="twitter:description" content="Schritt-für-Schritt-Anleitung für die Installation der Desktop-App.
Voraussetzungen Plattform Status Versionen macOS Apple Silicon (M1 M4) ✅ Unterstützt macOS 12&#43; macOS Intel ⚠ Build auf Anfrage macOS 12&#43; Linux 🕐 Geplant — Windows 🕐 Geplant — Eine Portierung auf Linux und Windows ist mit Tauri 2 möglich. Issue erstellen , wenn du eine Plattform brauchst.">
<link rel="preload" href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" as="style" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
<link href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" rel="stylesheet" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" />
@@ -878,7 +878,36 @@ Voraussetzungen Plattform Status Versionen macOS Apple Silicon (M1 M4) ✅ U
</article>
</div>
<footer class="hextra-footer hx:bg-gray-100 hx:pb-[env(safe-area-inset-bottom)] hx:dark:bg-neutral-900 hx:print:bg-transparent"><div class="hextra-custom-footer hextra-max-footer-width hx:mx-auto hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400"></div><div
<footer class="hextra-footer hx:bg-gray-100 hx:pb-[env(safe-area-inset-bottom)] hx:dark:bg-neutral-900 hx:print:bg-transparent"><div class="hextra-custom-footer hextra-max-footer-width hx:mx-auto hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400">
<div class="rapport-footer-links">
<div class="rapport-footer-col">
<div class="rapport-footer-head">Produkt</div>
<a href="/features/">Funktionen</a>
<a href="/hosting/">Hosting</a>
<a href="/hosting-preise/">Preise</a>
<a href="/downloads/">Downloads</a>
</div>
<div class="rapport-footer-col">
<div class="rapport-footer-head">Ressourcen</div>
<a href="/docs/">Dokumentation</a>
<a href="/faq/">FAQ</a>
<a href="https://git.kgva.ch/karim/RAPPORT" target="_blank" rel="noopener">Quellcode ↗</a>
</div>
<div class="rapport-footer-col">
<div class="rapport-footer-head">Rechtliches</div>
<a href="/impressum/">Impressum</a>
<a href="/agb/">AGB</a>
<a href="/datenschutz/">Datenschutz</a>
<a href="/lizenz/">Lizenz (AGPL-3.0)</a>
</div>
<div class="rapport-footer-col">
<div class="rapport-footer-head">RAPPORT Hosting</div>
<div class="rapport-footer-note">🇨🇭 Gehostet in der Schweiz</div>
<div class="rapport-footer-note">Tägliche Backups</div>
<div class="rapport-footer-note">Studio-Management für Architekturbüros</div>
</div>
</div>
</div><div
class="hextra-max-footer-width hx:mx-auto hx:flex hx:justify-center hx:py-12 hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400 hx:md:justify-start"
>
<div class="hx:flex hx:w-full hx:flex-col hx:items-center hx:sm:items-start"><div class="hx:mt-6 hx:text-xs">© 2026 <a href="https://git.kgva.ch/karim/RAPPORT"target="_blank" rel="noopener">RAPPORT<svg class="hx:inline hx:rtl:rotate-270 hx:align-baseline" height="1em" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+32 -3
View File
@@ -62,8 +62,8 @@ App startet nicht “Rapport ist beschädigt” beim ersten Start Ursache: macOS
Lösung: siehe Installation § 3. Kurz:
xattr -d com.apple.quarantine /Applications/Rapport.app App startet, zeigt aber schwarzen Bildschirm Ursache: WebView-Cache korrupt.">
<link rel="preload" href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" as="style" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
<link href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" rel="stylesheet" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" />
@@ -1003,7 +1003,36 @@ App neu starten → erstellt frische Daten. Anschliessend Setup-Screen.</li>
</article>
</div>
<footer class="hextra-footer hx:bg-gray-100 hx:pb-[env(safe-area-inset-bottom)] hx:dark:bg-neutral-900 hx:print:bg-transparent"><div class="hextra-custom-footer hextra-max-footer-width hx:mx-auto hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400"></div><div
<footer class="hextra-footer hx:bg-gray-100 hx:pb-[env(safe-area-inset-bottom)] hx:dark:bg-neutral-900 hx:print:bg-transparent"><div class="hextra-custom-footer hextra-max-footer-width hx:mx-auto hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400">
<div class="rapport-footer-links">
<div class="rapport-footer-col">
<div class="rapport-footer-head">Produkt</div>
<a href="/features/">Funktionen</a>
<a href="/hosting/">Hosting</a>
<a href="/hosting-preise/">Preise</a>
<a href="/downloads/">Downloads</a>
</div>
<div class="rapport-footer-col">
<div class="rapport-footer-head">Ressourcen</div>
<a href="/docs/">Dokumentation</a>
<a href="/faq/">FAQ</a>
<a href="https://git.kgva.ch/karim/RAPPORT" target="_blank" rel="noopener">Quellcode ↗</a>
</div>
<div class="rapport-footer-col">
<div class="rapport-footer-head">Rechtliches</div>
<a href="/impressum/">Impressum</a>
<a href="/agb/">AGB</a>
<a href="/datenschutz/">Datenschutz</a>
<a href="/lizenz/">Lizenz (AGPL-3.0)</a>
</div>
<div class="rapport-footer-col">
<div class="rapport-footer-head">RAPPORT Hosting</div>
<div class="rapport-footer-note">🇨🇭 Gehostet in der Schweiz</div>
<div class="rapport-footer-note">Tägliche Backups</div>
<div class="rapport-footer-note">Studio-Management für Architekturbüros</div>
</div>
</div>
</div><div
class="hextra-max-footer-width hx:mx-auto hx:flex hx:justify-center hx:py-12 hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400 hx:md:justify-start"
>
<div class="hx:flex hx:w-full hx:flex-col hx:items-center hx:sm:items-start"><div class="hx:mt-6 hx:text-xs">© 2026 <a href="https://git.kgva.ch/karim/RAPPORT"target="_blank" rel="noopener">RAPPORT<svg class="hx:inline hx:rtl:rotate-270 hx:align-baseline" height="1em" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+32 -3
View File
@@ -97,8 +97,8 @@ Wann brauchst du das? Anwendungsfall Empfehlung Solo-Büro, ein Mac Desktop-App
Diese Seite bleibt als Referenz erhalten, der empfohlene Weg für Multi-User-Setups ist Rapport Server.
Wann brauchst du das? Anwendungsfall Empfehlung Solo-Büro, ein Mac Desktop-App — siehe Installation 25 Personen, gleicher Standort Rapport Server auf einem Mac Mini im LAN Verteiltes Team / Home-Office Rapport Server mit SSL &#43; Reverse Proxy Hosted Backend (eigener VPS) Rapport Server auf Linux-VPS Architektur (Kurzfassung) ┌────────────┐ HTTPS ┌──────────────┐ SQL ┌────────────┐ │ Browser │ ──────────────│ nginx │ ─────────────│ Postgres │ │ / Desktop │ │ (Frontend) │ │ &#43; GoTrue │ └────────────┘ └──────────────┘ │ &#43; REST │ │ &#43; Realtime │ │ &#43; Storage │ └────────────┘ Frontend: dieselbe React-App, aber Vite-Build statt Tauri (npm run build) Backend: Postgres-Stack (Rapport Server) Auth: E-Mail / Passwort über GoTrue Storage: Belege, Logos in Object-Storage Setup Alle Setup-Schritte (Repo klonen, .env erstellen, Migrations syncen, Docker-Compose starten, Reverse-Proxy konfigurieren) sind in Rapport Server dokumentiert.">
<link rel="preload" href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" as="style" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
<link href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" rel="stylesheet" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" />
@@ -783,7 +783,36 @@ Wann brauchst du das? Anwendungsfall Empfehlung Solo-Büro, ein Mac Desktop-App
</article>
</div>
<footer class="hextra-footer hx:bg-gray-100 hx:pb-[env(safe-area-inset-bottom)] hx:dark:bg-neutral-900 hx:print:bg-transparent"><div class="hextra-custom-footer hextra-max-footer-width hx:mx-auto hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400"></div><div
<footer class="hextra-footer hx:bg-gray-100 hx:pb-[env(safe-area-inset-bottom)] hx:dark:bg-neutral-900 hx:print:bg-transparent"><div class="hextra-custom-footer hextra-max-footer-width hx:mx-auto hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400">
<div class="rapport-footer-links">
<div class="rapport-footer-col">
<div class="rapport-footer-head">Produkt</div>
<a href="/features/">Funktionen</a>
<a href="/hosting/">Hosting</a>
<a href="/hosting-preise/">Preise</a>
<a href="/downloads/">Downloads</a>
</div>
<div class="rapport-footer-col">
<div class="rapport-footer-head">Ressourcen</div>
<a href="/docs/">Dokumentation</a>
<a href="/faq/">FAQ</a>
<a href="https://git.kgva.ch/karim/RAPPORT" target="_blank" rel="noopener">Quellcode ↗</a>
</div>
<div class="rapport-footer-col">
<div class="rapport-footer-head">Rechtliches</div>
<a href="/impressum/">Impressum</a>
<a href="/agb/">AGB</a>
<a href="/datenschutz/">Datenschutz</a>
<a href="/lizenz/">Lizenz (AGPL-3.0)</a>
</div>
<div class="rapport-footer-col">
<div class="rapport-footer-head">RAPPORT Hosting</div>
<div class="rapport-footer-note">🇨🇭 Gehostet in der Schweiz</div>
<div class="rapport-footer-note">Tägliche Backups</div>
<div class="rapport-footer-note">Studio-Management für Architekturbüros</div>
</div>
</div>
</div><div
class="hextra-max-footer-width hx:mx-auto hx:flex hx:justify-center hx:py-12 hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400 hx:md:justify-start"
>
<div class="hx:flex hx:w-full hx:flex-col hx:items-center hx:sm:items-start"><div class="hx:mt-6 hx:text-xs">© 2026 <a href="https://git.kgva.ch/karim/RAPPORT"target="_blank" rel="noopener">RAPPORT<svg class="hx:inline hx:rtl:rotate-270 hx:align-baseline" height="1em" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">