Die rechte Hand fuehrt ihre Aufgaben, jede Karte hat denselben Fuss, und Dubletten lassen sich aufraeumen

=== 1. BEARBEITEN UND LOESCHEN, WAS SIE ANGELEGT HAT ===

Filipe: "kuemmer dich bitte auch drum dass die rechte hand, wenn sie
aufgaben an die modis oder linke hand erstellt, will ich dass sie die
moeglichkeit hat die auch zu bearbeiten und zu loeschen bitte.
perfektionier das fuer sie und fuer dogfather."

WARUM ES VORHER NICHT GING, und es sah nicht danach aus: `creator_id`
heisst nicht "wer hat sie angelegt", sondern "zu wem gehoert sie" (so
steht es am Tabellenkopf). Verteilt die rechte Hand eine Aufgabe an
einen Modi, steht dort der MODI. Sie erfuellte damit an ihrer eigenen
Aufgabe keine der drei Bedingungen von `darfAendern` und bekam 403 --
auf einen Knopf, den die Oberflaeche ihr trotzdem anbot, weil sie ihn
an `darf_verteilen` haengte: eine Auskunft ueber die PERSON, wo die
Frage der AUFGABE gilt.

Die Spalte `erstellt_von` gibt es seit jeher und wird beim Anlegen
gefuellt -- die Sichtbarkeitsregeln fragen sie an sechs Stellen ab. Sie
stand nur nie in dieser einen Zeile. Und sie fehlte in SPALTEN, kam
also in keiner Aufgabe mit: Die neue Regel waere ein Vergleich gegen
`undefined` geblieben.

DIE REGEL IST ALLGEMEIN, NICHT AUF EINE ROLLE GEMUENZT: wer etwas
angelegt hat, darf es auch aendern. Ein Rollenname waere die naechste
zweite Wahrheit -- in dieser Woche ist genau das dreimal veraltet.

LOESCHEN BEKOMMT EINE EIGENE FRAGE, weil es das Einzige ist, was sich
nicht zuruecknehmen laesst: `darfAufgabenVerteilen(person) &&
darfAendern(person, aufgabe)`. Damit darf sie ihre eigenen -- und der
Modi, bei dem die Aufgabe LIEGT, darf sie weiterhin bearbeiten, aber
nicht verschwinden lassen. Ablehnen und Abbrechen sind die Wege dafuer.

Die Loesch-Route holt die Aufgabe jetzt mit der Sichtbarkeitsregel und
antwortet mit 404 statt 403, wenn es sie fuer diese Person nicht gibt
-- sonst liesse sich durch Ausprobieren herausfinden, welche Nummern
vergeben sind. Beim Aendern stand das schon so, eine Route weiter oben.

pruef-verteilen: 19 -> 30 Punkte. Mit drei Gegenproben, ohne die "sie
darf" auch dann gruen waere, wenn jeder alles duerfte: der Modi wird
abgewiesen (403), die Aufgabe steht danach noch da, und eine FREMDE
Aufgabe loescht sie nicht.

=== 2. JEDE KARTE HAT DENSELBEN FUSS ===

Filipe: "wer hat sie soll bitte bei all diesen aufgaben stehen. bei all
diesen kategorien da. ... es soll auch immer gleich aussehen und nicht
manchmal verschoben und so."

ZWEI URSACHEN, und keine davon war Zufall:

  a) "Wer hat sie?" entstand nur, solange oben "Alle" gewaehlt war
     (`if (anAlle)`). Wer auf einen Namen tippte, verlor den Knopf an
     ALLEN zwoelf Karten, ohne dass irgendwo stand, warum. Die Auskunft
     "wer aus dem Team hat diese Vorlage" haengt aber an der VORLAGE,
     nicht an der Auswahl -- sie daran zu binden war der Fehler.

  b) Der Fuss war EINE Reihe mit `flex-wrap`, und wie viele Angaben
     darin stehen, haengt von der Karte ab: "Frist" immer, "fuer:
     Rolle" manchmal, "liegt bei 4 von 5" nur, wenn schon jemand sie
     hat. Karten ohne den dritten Text hatten noch Platz fuer einen
     Knopf, Karten mit ihm nicht -- also stand "An alle" mal neben der
     Frist und mal darunter. Zwoelf Karten, drei verschiedene Fuesse.

Jetzt zwei Reihen mit fester Aufgabe: oben, was man LIEST; unten, was
man DRUECKT. Die Knopfreihe ist immer die letzte Zeile und sitzt am
unteren Rand, also stehen die Knoepfe bei allen Karten einer Reihe auf
derselben Hoehe -- auch wenn der Text darueber verschieden lang ist.

Die Rueckseite verteilt jetzt IMMER an alle. Vorher nahm sie
`katalogZiel()`; solange sie nur bei "Alle" existierte, war das
dasselbe. Seit sie immer da ist, waere es eine Falle: Der Knopf sagt
"Nachholen - 3 fehlen" und gaebe sie einer einzigen Person.

=== 3. DUBLETTEN AUFRAEUMEN ===

Filipe zu "Diene x6 - Ghost x6 - Marina x6 - Miss x6" bei "0 von 24":
"mach aus den 6 1 mal bitte, ich hab mich da geirrt."

`tools/aufgaben-doppelte.mjs` raeumt das auf. Es TUT VON SICH AUS
NICHTS: ohne `--wirklich` zeigt es nur, was passieren wuerde. Mit
`--wirklich` legt es ZUERST eine Kopie der Datenbank an (`VACUUM INTO`,
nicht `cp` -- eine blosse Dateikopie kann das WAL verlieren) und nennt
den Befehl, mit dem man zurueckkommt.

WELCHE BLEIBT, ist nicht beliebig: eine erledigte, wenn es sie gibt
(getane Arbeit wirft man nicht weg), sonst eine begonnene, sonst die
aelteste. An einer Wegwerf-Datenbank durchgespielt: 12 Aufgaben, zwei
Menschen, einer mit einer erledigten darunter -- es blieben genau die
richtigen zwei stehen, die Einzelaufgabe blieb unberuehrt, und das
Nachzaehlen am Ende meldete null Dubletten.

Geprueft: pruef-verteilen (30), pruef-vorlagen (24),
pruef-aufgaben-vorlagen, pruef-aufgabenbrett, pruef-modi-katalog (150),
pruef-bewerbung-aufgaben (101).

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-09-25 03:20:04 +02:00
co-authored by Claude Opus 5
parent c64732b16d
commit 1a14eb7449
47 changed files with 1121 additions and 653 deletions
+96
View File
@@ -263,6 +263,102 @@ ok(vonModi.code === 403,
"der leere Wert heisst „noch niemand“ und nicht nur „—“");
}
/* =====================================================================
BEARBEITEN UND LOESCHEN, WAS SIE ANGELEGT HAT (25.09.2026)
=====================================================================
Filipe: „kuemmer dich bitte auch drum dass die rechte hand, wenn sie
aufgaben an die modis oder linke hand erstellt, will ich dass sie
die moeglichkeit hat die auch zu bearbeiten und zu loeschen bitte.
perfektionier das fuer sie und fuer dogfather."
WARUM ES VORHER NICHT GING, und es sah nicht danach aus:
`creator_id` heisst nicht „wer hat sie angelegt", sondern „zu wem
gehoert sie". Verteilt die rechte Hand an einen Modi, steht dort der
MODI. Sie erfuellte damit an ihrer eigenen Aufgabe keine der drei
Bedingungen von `darfAendern` und bekam 403 -- auf einen Knopf, den
die Oberflaeche ihr trotzdem zeigte. Die Spalte `erstellt_von` gibt
es seit jeher; sie stand nur nie in dieser Regel.
GEPRUEFT WIRD BEIDES: dass sie darf -- und dass ein Modi es NICHT
darf. Ohne die zweite Haelfte waere „sie darf" auch dann gruen, wenn
jeder alles duerfte.
===================================================================== */
melde("\n=== 5. Die rechte Hand an ihren eigenen Aufgaben ===");
{
const neu = await ruf("/workspace/api/aufgaben", kHand, "POST",
{ titel: "Von der rechten Hand, zum Aendern", verantwortlich_id: idModi,
prioritaet: "mittel" });
const id = json(neu).id;
ok(neu.code === 201 && Number.isInteger(id),
`die rechte Hand legt eine Aufgabe fuer Diene an (${neu.code}, #${id})`);
/* DIE AUSKUNFT AN DIE OBERFLAECHE ZUERST. Sie entscheidet, ob der
Knopf ueberhaupt erscheint -- und genau sie hat gefehlt: Bisher
fragte die Seite `darf_verteilen` (eine Auskunft ueber die
PERSON), waehrend Loeschen an der AUFGABE haengt. */
const ihre = (json(await ruf("/workspace/api/aufgaben", kHand)).aufgaben || [])
.find((a) => a.id === id);
ok(!!ihre && ihre.darf_aendern === true,
`sie bekommt gesagt, dass sie sie aendern darf (${ihre?.darf_aendern})`);
ok(!!ihre && ihre.darf_loeschen === true,
`und dass sie sie loeschen darf (${ihre?.darf_loeschen})`);
const geaendert = await ruf(`/workspace/api/aufgaben/${id}`, kHand, "PATCH",
{ titel: "Von der rechten Hand, geaendert" });
ok(geaendert.code === 200, `und sie aendert sie wirklich (${geaendert.code})`);
/* GEGENPROBE 1: Der Modi, bei dem sie LIEGT, darf sie aendern (das
ist sein Arbeitsstand) -- aber nicht loeschen. Verschwinden lassen
ist keine Antwort auf eine Aufgabe; ablehnen und abbrechen sind
die Wege dafuer. */
const beiModi = (json(await ruf("/workspace/api/aufgaben", kModi)).aufgaben || [])
.find((a) => a.id === id);
ok(!!beiModi && beiModi.darf_loeschen === false,
`Gegenprobe: dem Modi wird Loeschen NICHT angeboten (${beiModi?.darf_loeschen})`);
const modiWeg = await ruf(`/workspace/api/aufgaben/${id}`, kModi, "DELETE");
ok(modiWeg.code === 403,
` und der Server lehnt es auch ab (${modiWeg.code})`);
/* GEGENPROBE 2: Die Aufgabe steht danach noch da. Ein abgelehnter
Versuch, der trotzdem etwas aendert, waere der schlimmste Ausgang. */
const d2 = new DatabaseSync(process.env.WORKSPACE_DB);
const nochDa = d2.prepare("SELECT titel FROM aufgaben WHERE id = ?").get(id);
d2.close();
ok(!!nochDa, ` und die Aufgabe steht noch ("${nochDa?.titel}")`);
/* UND JETZT SIE SELBST. */
const handWeg = await ruf(`/workspace/api/aufgaben/${id}`, kHand, "DELETE");
ok(handWeg.code === 200, `die rechte Hand loescht ihre eigene (${handWeg.code})`);
const d3 = new DatabaseSync(process.env.WORKSPACE_DB);
const weg = d3.prepare("SELECT 1 AS x FROM aufgaben WHERE id = ?").get(id);
d3.close();
ok(!weg, " und sie ist wirklich weg");
/* UND DOGFATHER UNVERAENDERT -- „perfektionier das fuer sie UND fuer
dogfather". Seine Rechte kamen aus `istLeitung` und bleiben, wo
sie waren; das hier ist der Nachweis, dass der Umbau sie nicht
nebenbei mitgenommen hat. */
const seine = await ruf("/workspace/api/aufgaben", kDogi, "POST",
{ titel: "Von DogFather, zum Loeschen", verantwortlich_id: idModi2,
prioritaet: "mittel" });
const id2 = json(seine).id;
const dogiWeg = await ruf(`/workspace/api/aufgaben/${id2}`, kDogi, "DELETE");
ok(seine.code === 201 && dogiWeg.code === 200,
`DogFather legt an und loescht wie bisher (${seine.code} / ${dogiWeg.code})`);
/* UND EINE FREMDE: Die rechte Hand an einer Aufgabe, die DogFather
fuer sich selbst angelegt hat. Sie hat sie nicht angelegt, sie
liegt nicht bei ihr -- also nein. Ohne diese Zeile hiesse „sie
darf ihre eigenen" in Wahrheit vielleicht „sie darf alle". */
const fremd = await ruf("/workspace/api/aufgaben", kDogi, "POST",
{ titel: "Nur fuer DogFather", verantwortlich_id: idDogi, prioritaet: "mittel" });
const id3 = json(fremd).id;
const handFremd = await ruf(`/workspace/api/aufgaben/${id3}`, kHand, "DELETE");
ok(fremd.code === 201 && handFremd.code === 403,
`Gegenprobe: eine fremde Aufgabe loescht sie nicht (${handFremd.code})`);
}
console.log(`\n${fehler ? fehler + " FEHLER" : "Alles in Ordnung"} — ${geprueft} Prüfungen\n`);
try { rmSync(ordner, { recursive: true, force: true }); } catch { /* egal */ }
process.exit(fehler ? 1 : 0);
+88 -4
View File
@@ -327,7 +327,53 @@ function sichtbarRoh(person) {
function darfAendern(person, aufgabe) {
if (istLeitung(person)) return true;
return aufgabe.creator_id === person.id || aufgabe.verantwortlich_id === person.id;
/* WER SIE ANGELEGT HAT, DARF SIE AUCH AENDERN (25.09.2026).
Filipe: „kuemmer dich bitte auch drum dass die rechte hand, wenn
sie aufgaben an die modis oder linke hand erstellt, will ich dass
sie die moeglichkeit hat die auch zu bearbeiten und zu loeschen."
WARUM DAS VORHER NICHT GING, obwohl es so aussah: `creator_id`
sagt nicht, WER die Aufgabe angelegt hat -- es sagt, ZU WEM sie
gehoert (so steht es am Tabellenkopf). Verteilt die rechte Hand
eine Aufgabe an einen Modi, steht dort der Modi. Sie hatte damit
an ihrer eigenen Aufgabe keine einzige der drei Bedingungen
erfuellt und bekam vom Server ein 403 -- auf einen Knopf, den die
Oberflaeche ihr trotzdem zeigte.
`erstellt_von` GIBT ES SEIT JEHER und wird beim Anlegen gefuellt;
die Sichtbarkeitsregeln fragen sie an sechs Stellen ab. Sie stand
nur nie in dieser Zeile.
DIE REGEL IST ALLGEMEIN, nicht auf eine Rolle gemuenzt: Wer etwas
angelegt hat, darf es auch wieder anfassen. Ein Rollenname hier
waere die naechste zweite Wahrheit -- und in diesem Haus ist genau
das in derselben Woche schon dreimal veraltet. */
return aufgabe.creator_id === person.id
|| aufgabe.verantwortlich_id === person.id
|| aufgabe.erstellt_von === person.id;
}
/* ===== UND LOESCHEN? =================================================
Loeschen ist das Einzige, was sich nicht zuruecknehmen laesst --
deshalb eine eigene Frage und nicht einfach `darfAendern`.
ZWEI BEDINGUNGEN, UND BEIDE MUESSEN STIMMEN:
1. Die Person darf Aufgaben ueberhaupt VERTEILEN. Damit ist
ausgeschlossen, dass jemand, dem eine Aufgabe nur zugeteilt
wurde, sie loescht statt sie abzulehnen -- ein Modi soll sie
ablehnen oder abbrechen, nicht verschwinden lassen.
2. Die Person darf sie aendern (siehe oben). Damit ist es genau
das, was Filipe gesagt hat: ihre eigenen.
DOGFATHER UND DIE MANAGER bleiben unveraendert: `istLeitung` macht
`darfAendern` fuer sie immer wahr, und verteilen duerfen sie
ohnehin. Die Zeile ist damit eine Erweiterung, keine Einschraenkung
-- nachgewiesen in pruef-aufgaben-loeschen mit einer Gegenprobe. */
function darfLoeschen(person, aufgabe) {
return darfAufgabenVerteilen(person) && darfAendern(person, aufgabe);
}
const SPALTEN = `
@@ -346,6 +392,16 @@ const SPALTEN = `
daran haengt, ob eine uebernommene Aufgabe fuer die anderen noch
offen ist. */
a.verteilart,
/* WER SIE ANGELEGT HAT (25.09.2026). Sie stand in den
Sichtbarkeitsregeln laengst, fehlte aber in dieser Spaltenliste --
und damit in jeder Aufgabe, die darfAendern zu sehen bekam. Ohne
sie waere die neue Regel eine Zeile, die nie zutrifft: ein
Vergleich gegen undefined.
KEINE RUECKSTRICHE IN DIESEM KOMMENTAR: Die Liste ist ein
Vorlagentext (Backticks), und ein Rueckstrich darin beendet ihn
mitten im Satz. Beim ersten Anlauf hat node genau das gemeldet. */
a.erstellt_von,
/* Die Vorlage, aus der sie entstanden ist (09.09.2026) -- damit das
Vorlagenbrett zeigen kann, was schon geholt wurde. */
a.vorlage,
@@ -423,7 +479,16 @@ aufgabenRouter.get("/workspace/api/aufgaben", (req, res) => {
Schreiben. Zwei Stellen, die dieselbe Frage beantworten, geben
irgendwann zwei Antworten -- und die falsche ist dann die
sichtbare. */
for (const r of reihen) r.darf_aendern = darfAendern(req.person, r);
for (const r of reihen) {
r.darf_aendern = darfAendern(req.person, r);
/* DIE OBERFLAECHE SOLL DEN KNOPF NUR ZEIGEN, WENN ER GEHT.
Bisher entschied sie es an `darf_verteilen` -- einer Auskunft
ueber die PERSON. Loeschen haengt aber an der AUFGABE: Die
rechte Hand darf verteilen, sah also den Knopf an jeder
Aufgabe, und der Server sagte bei fremden 403. Ein Knopf, der
eine Absage holt, ist schlimmer als keiner. */
r.darf_loeschen = darfLoeschen(req.person, r);
}
/* WER HAT DIESE AUFGABE -- UND WIE STEHT SIE BEI IHM (21.09.2026).
In EINER Abfrage fuer alle Zeilen; eine je Aufgabe waeren bei
@@ -1124,12 +1189,31 @@ aufgabenRouter.post("/workspace/api/aufgaben/:id/wiederaufnehmen", gleicheHerkun
aufgabenRouter.delete("/workspace/api/aufgaben/:id", gleicheHerkunft, (req, res) => {
try {
if (!istLeitung(req.person)) return res.status(403).json({ fehler: "nicht_erlaubt" });
const id = Number(req.params.id);
if (!Number.isInteger(id)) return res.status(400).json({ fehler: "ungueltig" });
const aufgabe = db().prepare("SELECT id, titel FROM aufgaben WHERE id = ?").get(id);
/* ERST MIT DER SICHTBARKEITSREGEL HOLEN, dann fragen, ob sie
geloescht werden darf (25.09.2026).
Vorher stand hier `if (!istLeitung) 403` und danach ein
ungefiltertes `SELECT ... WHERE id = ?`. Zwei Dinge sind daran
jetzt anders:
* Die rechte Hand darf ihre eigenen loeschen -- das ist der
Auftrag. Die Rollenfrage allein konnte das nicht
beantworten, weil sie die AUFGABE nicht ansieht.
* Was jemand nicht sehen darf, gibt es fuer ihn nicht: 404
statt 403. Sonst liesse sich durch Ausprobieren
herausfinden, welche Nummern vergeben sind -- dieselbe
Ueberlegung wie beim Aendern eine Route weiter oben, wo sie
schon stand. */
const { wo, werte } = sichtbar(req.person);
const aufgabe = db().prepare(
`SELECT a.* ${VERBUND} WHERE ${wo} AND a.id = ?`).get(...werte, id);
if (!aufgabe) return res.status(404).json({ fehler: "nicht_gefunden" });
if (!darfLoeschen(req.person, aufgabe)) {
return res.status(403).json({ fehler: "nicht_erlaubt" });
}
db().prepare("DELETE FROM aufgaben WHERE id = ?").run(id);
protokolliere("aufgabe_geloescht", {
+185
View File
@@ -0,0 +1,185 @@
/* =====================================================================
DOPPELT VERTEILTE AUFGABEN AUFRAEUMEN
=====================================================================
Filipe, 25.09.2026, zu einer Karte mit „Diene ×6 · Ghost ×6 ·
Marina ×6 · Miss ×6" und „0 von 24":
„mach aus den 6 1 mal bitte, ich hab mich da geirrt."
WAS PASSIERT IST: Dieselbe Vorlage wurde mehrfach an dieselben
Menschen verteilt. Das Brett zeigt das seit dem 22.09. selbst an
(das Band „N Aufgaben stehen doppelt im Brett" und das „×N" an den
Namen) -- es konnte es bisher nur nicht aufraeumen.
---------------------------------------------------------------------
WAS DIESES WERKZEUG TUT
Es sucht Gruppen aus derselben VORLAGE bei derselben PERSON und
laesst von jeder Gruppe genau EINE Aufgabe stehen.
WELCHE BLEIBT, und das ist nicht beliebig:
1. eine erledigte, wenn es sie gibt -- getane Arbeit wirft man
nicht weg, auch nicht versehentlich;
2. sonst eine begonnene;
3. sonst die aelteste (kleinste Nummer) -- die, an der die
Frist und die Vorgeschichte haengen.
---------------------------------------------------------------------
ES TUT VON SICH AUS NICHTS
Ohne `--wirklich` wird nur gezeigt, was passieren WUERDE. Das ist
Absicht: Dies ist ein laufendes System, und Loeschen ist das
Einzige, was sich nicht zuruecknehmen laesst.
MIT `--wirklich` wird ZUERST eine Kopie der Datenbank angelegt und
ihr Pfad ausgegeben, und erst dann geloescht. Geht etwas schief,
steht in einer Zeile, wie man zurueckkommt.
`PRAGMA foreign_keys = ON` ist keine Foermlichkeit: Ohne sie bleiben
die Zuteilungs-Zeilen (`aufgaben_zuteilung`) als Reste zurueck, die
auf eine Aufgabe zeigen, die es nicht mehr gibt.
---------------------------------------------------------------------
AUFRUFEN
node tools/aufgaben-doppelte.mjs (nur ansehen)
node tools/aufgaben-doppelte.mjs --wirklich (aufraeumen)
Mit WORKSPACE_DB laesst sich eine andere Datenbank angeben -- so
probiert man es zuerst auf einer Kopie aus.
===================================================================== */
import { DatabaseSync } from "node:sqlite";
import { existsSync } from "node:fs";
import { dirname, join } from "node:path";
import { fileURLToPath } from "node:url";
const HIER = dirname(fileURLToPath(import.meta.url));
const PFAD = process.env.WORKSPACE_DB
|| join(HIER, "..", "..", "workspace-daten", "workspace.db");
if (!existsSync(PFAD)) {
console.error(`ABBRUCH: Datenbank nicht gefunden: ${PFAD}`);
console.error("Mit WORKSPACE_DB=<pfad> den richtigen Ort angeben.");
process.exit(2);
}
const wirklich = process.argv.includes("--wirklich");
console.log(`Datenbank: ${PFAD}`);
console.log(wirklich ? "Modus: AUFRAEUMEN" : "Modus: nur ansehen (--wirklich fehlt)");
console.log("");
const d = new DatabaseSync(PFAD);
d.exec("PRAGMA foreign_keys = ON");
/* Nur Aufgaben AUS EINER VORLAGE und nur mit einer verantwortlichen
Person. Zwei frei getippte Aufgaben mit demselben Titel sind keine
Dublette -- vielleicht macht jemand dasselbe zweimal mit Absicht.
Die Vorlage ist der Beleg, dass es derselbe Handgriff war. */
const reihen = d.prepare(`
SELECT a.id, a.vorlage, a.verantwortlich_id, a.status, a.titel, a.erstellt,
p.name AS wer
FROM aufgaben a
LEFT JOIN personen p ON p.id = a.verantwortlich_id
WHERE a.vorlage IS NOT NULL AND a.verantwortlich_id IS NOT NULL
ORDER BY a.vorlage, a.verantwortlich_id, a.id`).all();
const gruppen = new Map();
for (const r of reihen) {
const schluessel = `${r.vorlage} ${r.verantwortlich_id}`;
if (!gruppen.has(schluessel)) gruppen.set(schluessel, []);
gruppen.get(schluessel).push(r);
}
/* Je weiter eine Aufgabe ist, desto eher bleibt sie stehen. */
const RANG = { erledigt: 0, in_arbeit: 1, angenommen: 2, offen: 3 };
const rangVon = (r) => (RANG[r.status] ?? 4);
const weg = [];
let betroffen = 0;
for (const [, liste] of gruppen) {
if (liste.length < 2) continue;
betroffen++;
const sortiert = [...liste].sort((a, b) => rangVon(a) - rangVon(b) || a.id - b.id);
const bleibt = sortiert[0];
for (const r of sortiert.slice(1)) weg.push({ ...r, statt: bleibt.id, stattStatus: bleibt.status });
}
if (!weg.length) {
console.log("Nichts doppelt. Es gibt nichts aufzuraeumen.");
d.close();
process.exit(0);
}
/* Nach Mensch und Vorlage zusammengefasst -- eine Liste mit 92 Zeilen
liest niemand, „Diene: 5 von 6 weg" schon. */
/* DER SCHLUESSEL IST EIN PAAR, KEIN ZUSAMMENGEKLEBTER TEXT. Beim
ersten Anlauf stand hier Name + Leerzeichen + Titel und unten ein
split(" ") -- damit endete jeder Titel beim ersten Leerzeichen.
Ein Trennzeichen, das im Inhalt vorkommt, ist keins. */
const proMensch = new Map();
for (const r of weg) {
const k = JSON.stringify([r.wer || "?", r.titel]);
proMensch.set(k, (proMensch.get(k) || 0) + 1);
}
console.log(`${betroffen} Vorlage/Person-Paare haben Dubletten.`);
console.log(`${weg.length} Aufgaben wuerden geloescht, je eine bleibt stehen:\n`);
for (const [k, n] of [...proMensch].sort((a, b) => b[1] - a[1])) {
const [wer, titel] = JSON.parse(k);
console.log(` ${String(n).padStart(3)}x weg ${wer.padEnd(12)} ${titel.slice(0, 60)}`);
}
console.log("");
if (!wirklich) {
console.log("Nichts geaendert. Zum Aufraeumen denselben Befehl mit --wirklich");
d.close();
process.exit(0);
}
/* ---- Erst sichern, dann loeschen ---------------------------------- */
const stempel = new Date().toISOString().replace(/[:.]/g, "-").slice(0, 19);
const sicherung = `${PFAD}.vor-doppelte-${stempel}`;
/* `VACUUM INTO` statt `copyFileSync`: Es schreibt eine in sich
geschlossene Kopie, auch wenn gerade ein WAL danebenliegt. Eine
blosse Dateikopie kann die letzten Schreibvorgaenge verlieren --
genau die, die man im Ernstfall braucht. */
try {
d.exec(`VACUUM INTO '${sicherung.replace(/'/g, "''")}'`);
} catch (f) {
console.error("ABBRUCH: Sicherung fehlgeschlagen --", f?.message);
console.error("Es wurde NICHTS geloescht.");
d.close();
process.exit(3);
}
console.log(`Sicherung: ${sicherung}`);
const loeschen = d.prepare("DELETE FROM aufgaben WHERE id = ?");
let n = 0;
d.exec("BEGIN");
try {
for (const r of weg) { loeschen.run(r.id); n++; }
d.exec("COMMIT");
} catch (f) {
d.exec("ROLLBACK");
console.error("ABBRUCH beim Loeschen --", f?.message);
console.error("Es wurde nichts geaendert (Rollback).");
d.close();
process.exit(4);
}
/* NACHZAEHLEN, NICHT GLAUBEN. Die Zahl aus der Schleife sagt, wie oft
der Befehl lief -- nicht, wie es danach aussieht. */
const nachher = d.prepare(`
SELECT COUNT(*) AS n FROM (
SELECT vorlage, verantwortlich_id
FROM aufgaben
WHERE vorlage IS NOT NULL AND verantwortlich_id IS NOT NULL
GROUP BY vorlage, verantwortlich_id
HAVING COUNT(*) > 1)`).get().n;
console.log(`\n${n} Aufgaben geloescht.`);
console.log(nachher === 0
? "Nachgezaehlt: keine Dublette mehr uebrig."
: `ACHTUNG: es stehen noch ${nachher} Paare doppelt -- bitte melden.`);
console.log(`\nZurueck geht es mit: cp "${sicherung}" "${PFAD}"`);
d.close();
process.exit(nachher === 0 ? 0 : 5);
+5 -5
View File
@@ -16,15 +16,15 @@
verdeckt. Gefunden hat es pruef-struktur.
Richtig sind `gate.css` (die Farbwerte des Hauses) und `haus.css`. -->
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
<!-- Ohne diese drei nimmt ein iPhone einen Bildschirmausschnitt als
Symbol, Android zeichnet die Leiste weiss, und die Seite oeffnet
ausserhalb der App -- auf einer Seite, die genau erklaeren soll,
WARUM das Telefon nicht klingelt, ist das besonders unpassend. -->
<link rel="manifest" href="/workspace/crew.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<style>
/* Bewusst in der Seite und nicht in einer eigenen Datei: Diese Seite
soll auch dann noch etwas anzeigen, wenn genau das schiefgeht,
@@ -126,7 +126,7 @@
<script src="assets/js/anruf-probe.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/anruf-probe.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
</body>
</html>
+4 -4
View File
@@ -23,25 +23,25 @@
},
"icons": [
{
"src": "/assets/img/app-symbole/workspace-192.png?v=202609250306",
"src": "/assets/img/app-symbole/workspace-192.png?v=202609250319",
"sizes": "192x192",
"type": "image/png",
"purpose": "any"
},
{
"src": "/assets/img/app-symbole/workspace-512.png?v=202609250306",
"src": "/assets/img/app-symbole/workspace-512.png?v=202609250319",
"sizes": "512x512",
"type": "image/png",
"purpose": "any"
},
{
"src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202609250306",
"src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202609250319",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202609250306",
"src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202609250319",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
+35 -2
View File
@@ -1036,10 +1036,43 @@
`nowrap` haelt zusammen, was ein Begriff ist: "in 2 Tagen" mitten
im Wort zu trennen sagt weniger als dieselbe Angabe eine Zeile
tiefer. */
/* ZWEI FESTE REIHEN STATT EINER, DIE UMBRICHT (25.09.2026).
Filipe: „es soll auch immer gleich aussehen und nicht manchmal
verschoben und so."
Die alte Reihe hielt Angaben UND Knoepfe zusammen und brach um, wenn
der Platz nicht reichte. Wie viele Angaben es gibt, haengt aber von
der Karte ab: „Frist" immer, „fuer: Rolle" manchmal, „liegt bei 4
von 5" nur, wenn schon jemand sie hat. Karten ohne den dritten Text
hatten in Reihe eins noch Platz fuer einen Knopf, Karten mit ihm
nicht -- also stand „An alle" mal neben der Frist und mal darunter.
Zwoelf Karten, drei verschiedene Fuesse.
JETZT: oben, was man LIEST; unten, was man DRUECKT. Der Fuss sitzt
weiterhin am unteren Rand (`margin-top: auto`), und weil die
Knopfreihe jetzt IMMER die letzte Zeile ist, stehen die Knoepfe bei
allen Karten einer Reihe auf derselben Hoehe. */
.vorlagenbrett__fuss {
display: flex; align-items: center; justify-content: space-between;
flex-wrap: wrap; gap: 8px 12px; margin-top: auto; padding-top: 6px;
display: grid; gap: 10px;
margin-top: auto; padding-top: 8px;
}
.vorlagenbrett__fuss-info {
display: flex; align-items: center; flex-wrap: wrap; gap: 4px 12px;
min-height: 1.2em; /* leer bleibt die Zeile gleich hoch */
}
/* Die Knoepfe stehen links und in fester Reihenfolge: erst verteilen,
dann nachsehen. `space-between` haette sie bei zwei Knoepfen an die
Raender gezogen und bei einem allein nach links -- wieder ein Bild,
das von der Anzahl abhaengt. */
.vorlagenbrett__fuss-tun {
display: flex; align-items: center; flex-wrap: wrap; gap: 8px;
}
/* Beide Knoepfe gleich breit halten, damit die Reihe bei zwoelf Karten
nicht zwoelfmal anders aussieht. `flex: 1 1 0` teilt den Platz; die
Mindestbreite verhindert, dass „Zurück" neben „Nachholen – 3 fehlen"
zu einem Streifen wird. */
.vorlagenbrett__fuss-tun > .knopf { flex: 1 1 0; min-width: 7.5rem; }
.vorlagenbrett__frist {
font-size: .78rem; font-weight: 700; letter-spacing: .04em;
color: var(--text-still); white-space: nowrap;
+15 -1
View File
@@ -1547,8 +1547,22 @@
if (ich.darf_verteilen ?? LEITUNG.has(ich.rolle)) {
$('b-creator').value = a.creator_id ? String(a.creator_id) : '';
$('b-verant').value = a.verantwortlich_id ? String(a.verantwortlich_id) : '';
$('b-loeschen').hidden = false;
}
/* LOESCHEN HAENGT AN DER AUFGABE, NICHT AN DER PERSON (25.09.2026).
Hier stand der Knopf in derselben Bedingung wie die zwei Felder
darueber -- also an `darf_verteilen`. Das ist eine Auskunft
ueber die PERSON, und Loeschen ist eine Frage an die AUFGABE:
Die rechte Hand darf verteilen und sah den Knopf deshalb an
jeder Aufgabe, auch an fremden. Der Server hat dort mit 403
geantwortet -- ein Knopf, der eine Absage holt, ist schlimmer
als keiner.
`?? true` als Rueckfall: Kommt die Auskunft nicht mit (alte
Auslieferung im Zwischenspeicher), bleibt es beim alten
Verhalten, statt den Knopf ueberall zu verstecken. Die Schranke
steht ohnehin im Server. */
$('b-loeschen').hidden = !(a.darf_loeschen ?? true);
kategorieFeldZeigen('b');
if ($('b-kategorie')) $('b-kategorie').value = a.kategorie || '';
if ($('b-kanal')) $('b-kanal').value = a.kanal || '';
+72 -16
View File
@@ -759,7 +759,26 @@
Marke je Mensch und nicht nur ein Zaehler. */
const schonDa = new Map();
const schonWer = new Map(); // Vorlage -> Map(Personennummer -> Aufgabe)
if (anAlle) {
/* ==== WER SIE HAT, WIRD IMMER AUSGERECHNET (25.09.2026) =========
Filipe: „wer hat sie soll bitte bei all diesen aufgaben stehen.
bei all diesen kategorien da. … es soll auch immer gleich
aussehen und nicht manchmal verschoben und so."
Hier stand `if (anAlle)`. Die Rueckseite der Karte -- und damit
der Knopf „Wer hat sie?" -- entstand deshalb nur, solange oben
„Alle" gewaehlt war. Wer auf einen Namen tippte, verlor den
Knopf an ALLEN zwoelf Karten, ohne dass irgendwo stand, warum.
DIE AUSKUNFT IST DIESELBE, egal wen man oben gewaehlt hat: „wer
aus dem Team hat diese Vorlage schon". Sie haengt an der
Vorlage, nicht an der Auswahl. Sie deshalb an die Auswahl zu
binden war der Fehler.
`schonDa` BLEIBT, WIE ES WAR: Das ist die andere Frage („liegt
sie bei DER Person, die ich gerade meine") und die gehoert
weiterhin zur Auswahl. Zwei Fragen, zwei Karten. */
{
const zielIds = new Set(zielbar.map((p) => String(p.id)));
for (const a of U.aufgaben()) {
if (!a.vorlage) continue;
@@ -775,9 +794,10 @@
if (!bisher || (nochOffen(a) && !nochOffen(bisher))) {
schonWer.get(a.vorlage).set(werHats, a);
}
schonDa.set(a.vorlage, a);
if (anAlle) schonDa.set(a.vorlage, a);
}
} else if (wem || !darfVerteilenV) {
}
if (!anAlle && (wem || !darfVerteilenV)) {
for (const a of U.aufgaben()) {
if (!a.vorlage) continue;
if (wem && String(a.verantwortlich_id) !== String(wem)) continue;
@@ -906,24 +926,47 @@
/* WER SIE HAT -- je Mensch, nicht als Zahl. Bei EINER gewaehlten
Person bleibt es beim alten Weg: Dort ist `schon` bereits die
individuelle Auskunft. */
const werHat = anAlle ? (schonWer.get(v.schluessel) || new Map()) : null;
const alleHabenSie = anAlle && zielbar.length > 0 && werHat.size >= zielbar.length;
const werHat = schonWer.get(v.schluessel) || new Map();
const alleHabenSie = zielbar.length > 0 && werHat.size >= zielbar.length;
/* DIE KARTE TRITT ERST ZURUECK, WENN SIE WIRKLICH DURCH IST.
Bei "alle" heisst `schon` ab EINEM Menschen -- eine Vorlage,
die einer von fuenf hat, halb auszublenden waere das Gegenteil
der Auskunft: Sie ist die, die noch Arbeit macht. */
/* ==== ZWEI FESTE REIHEN STATT EINER, DIE UMBRICHT =============
(25.09.2026)
Filipe: „es soll auch immer gleich aussehen und nicht manchmal
verschoben und so."
WORAN ES LAG, und es war kein Zufall: Im Fuss standen Angaben
und Knoepfe in EINER Reihe mit `flex-wrap`. Wie viele Angaben
es gibt, haengt aber von der Karte ab -- „Frist", manchmal
„fuer: Rolle", manchmal „liegt bei 4 von 5". Karten ohne den
dritten Text hatten in der ersten Reihe noch Platz fuer einen
Knopf, Karten mit ihm nicht. Also stand „An alle" mal neben
der Frist und mal darunter, und „Wer hat sie?" rutschte
hinterher. Zwoelf Karten, drei verschiedene Fuesse.
JETZT ZWEI REIHEN MIT FESTER AUFGABE: oben, was man LIEST,
unten, was man DRUECKT. Die Knopfreihe sitzt am unteren Rand
der Karte (`margin-top: auto` im Stilblatt), damit sie bei
allen Karten einer Zeile auf derselben Hoehe steht -- auch
wenn der Text darueber verschieden lang ist. */
if (anAlle ? alleHabenSie : !!schon) karte.dataset.schon = 'ja';
karte.append(el('h3', 'vorlagenbrett__titel', v.titel));
karte.append(el('p', 'vorlagenbrett__text', v.text));
const fuss = el('div', 'vorlagenbrett__fuss');
fuss.append(el('span', 'vorlagenbrett__frist',
const fussInfo = el('div', 'vorlagenbrett__fuss-info');
const fussTun = el('div', 'vorlagenbrett__fuss-tun');
fuss.append(fussInfo, fussTun);
fussInfo.append(el('span', 'vorlagenbrett__frist',
v.tage === 1 ? 'Frist: morgen' : `Frist: in ${v.tage} Tagen`));
/* Die empfohlene Rolle steht im Dokument neben jeder Aufgabe und
ist die halbe Auskunft: "Technik-Check" heisst etwas anderes,
je nachdem, wer ihn macht. */
if (v.rolle) fuss.append(el('span', 'vorlagenbrett__frist', `für: ${v.rolle}`));
if (v.rolle) fussInfo.append(el('span', 'vorlagenbrett__frist', `für: ${v.rolle}`));
if (schon && !anAlle) {
fuss.append(el('span', 'vorlagenbrett__schon',
fussInfo.append(el('span', 'vorlagenbrett__schon',
`schon übernommen · ${U.statusName[schon.status] || schon.status}`));
} else if (anAlle && werHat.size) {
/* BEI "ALLE" IST EIN FREMDER STATUS KEINE AUSKUNFT: Fuenf
@@ -931,7 +974,7 @@
einzigen -- welcher, haengt von der Reihenfolge der Daten ab.
Der Fuss sagt deshalb nur, WIE WEIT es ist; WER, steht eine
Zeile tiefer namentlich. */
fuss.append(el('span', 'vorlagenbrett__schon', alleHabenSie
fussInfo.append(el('span', 'vorlagenbrett__schon', alleHabenSie
? `liegt bei allen ${zielbar.length}`
: `liegt bei ${werHat.size} von ${zielbar.length}`));
}
@@ -986,22 +1029,22 @@
person_id: katalogZiel(), nochmal: wirklichNochmal,
});
});
fuss.append(k);
fussTun.append(k);
} else if (meine) {
/* SCHON BEWORBEN. Der Satz sagt, WER antwortet -- sonst wartet
man auf niemanden und fragt am nächsten Tag im Chat. */
fuss.append(el('span', 'vorlagenbrett__warte',
fussInfo.append(el('span', 'vorlagenbrett__warte',
'beworben – DogFather oder die rechte Hand antworten'));
const zurueck = el('button', 'knopf knopf--klein', 'Zurückziehen');
zurueck.type = 'button';
zurueck.addEventListener('click', () => bewerbungZurueck(zurueck, meine));
fuss.append(zurueck);
fussTun.append(zurueck);
} else if (!schon) {
const k = el('button', 'knopf knopf--klein', 'Bewerben');
k.type = 'button';
k.title = 'DogFather oder die rechte Hand entscheiden, ob du sie bekommst.';
k.addEventListener('click', () => bewerben(k, v));
fuss.append(k);
fussTun.append(k);
}
/* WER SIE SCHON HAT, BEKOMMT KEINEN BEWERBEN-KNOPF. Der Server
lehnt das ohnehin ab (liegt_schon_bei_dir) -- ein Knopf, der
@@ -1030,7 +1073,7 @@
sogar. Wer nur die auffuehrt, die sie haben, beantwortet
„wie weit sind wir", aber nicht „wen muss ich noch fragen".
Die Fehlenden stehen deshalb mit da, gedaempft, aber lesbar. */
if (anAlle && darfVerteilenV && zielbar.length) {
if (darfVerteilenV && zielbar.length) {
const reihe = el('div', 'vorlagenbrett__wer');
reihe.setAttribute('role', 'list');
reihe.setAttribute('aria-label', `Wer „${v.titel}“ schon hat`);
@@ -1102,9 +1145,18 @@
: 'Nur die, die sie noch nicht haben. Niemand bekommt sie doppelt.';
nachholen.addEventListener('click', () => {
zuletztVerteilt = v.schluessel;
/* DIE RUECKSEITE GEHT IMMER AN ALLE (25.09.2026).
Hier stand `katalogZiel()` -- also die Person, die oben
gewaehlt ist. Solange die Rueckseite nur bei „Alle"
existierte, war das dasselbe. Seit sie immer da ist,
waere es eine Falle: Der Knopf sagt „Nachholen – 3
fehlen" und gaebe sie einer einzigen Person. Die
Rueckseite beantwortet eine Frage ueber das TEAM, also
handelt ihr Knopf auch am Team. */
uebernehmen(nachholen, {
art: 'katalog', nr: v.nr, gruppe: kGruppe,
person_id: katalogZiel(), nochmal: alleHabenSie,
person_id: 'alle', nochmal: alleHabenSie,
});
});
fussH.append(nachholen);
@@ -1126,7 +1178,11 @@
'Wer hat sie?');
umdrehen.type = 'button';
umdrehen.addEventListener('click', () => { karte.dataset.gedreht = 'ja'; });
vorn.querySelector('.vorlagenbrett__fuss')?.append(umdrehen);
/* IMMER AN DERSELBEN STELLE: in der Knopfreihe, hinter dem
Verteilen-Knopf. Vorher ging er an den Fuss als Ganzes und
landete damit hinter dem letzten TEXT -- auf Karten ohne
„liegt bei" war das eine Zeile hoeher als auf Karten mit. */
vorn.querySelector('.vorlagenbrett__fuss-tun')?.append(umdrehen);
/* Und wenn gerade DIESE Karte verteilt wurde: gedreht zeigen. */
if (zuletztVerteilt === v.schluessel) {
+19 -19
View File
@@ -12,19 +12,19 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -391,22 +391,22 @@
<!-- TEXTFORM ZUERST (21.09.2026): Die Seite fragt beim Zeichnen nach
`window.Textform`. Kaeme sie spaeter, waere der erste Eintrag ohne
Gestaltung. Kein `defer`, damit sie wirklich vorher dasteht. -->
<script src="assets/js/textform.js?v=202609250306"></script>
<script src="assets/js/meldung.js?v=202609250306" defer></script>
<script src="assets/js/hochladen.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/textform.js?v=202609250319"></script>
<script src="assets/js/meldung.js?v=202609250319" defer></script>
<script src="assets/js/hochladen.js?v=202609250319" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/zuteilung.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/zuteilung.js?v=202609250319" defer></script>
<!-- Der Vorlagenkatalog stand bis zum 23.09.2026 mitten in
aufgaben.js. Er bedient jetzt zwei Seiten und hat deshalb eine
eigene Datei; hier zeigt er den Creator-Katalog.
Vor aufgaben.js, weil die Seite ihn beim Start einrichtet. -->
<script src="assets/js/vorlagenbrett.js?v=202609250306" defer></script>
<script src="assets/js/aufgaben.js?v=202609250306" defer></script>
<script src="assets/js/vorlagenbrett.js?v=202609250319" defer></script>
<script src="assets/js/aufgaben.js?v=202609250319" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/automation.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/automation.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -168,15 +168,15 @@
</main>
<script src="assets/js/meldung.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/meldung.js?v=202609250319" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/automation.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/automation.js?v=202609250319" defer></script>
</body>
</html>
+17 -17
View File
@@ -7,14 +7,14 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -197,16 +197,16 @@
</main>
<script src="assets/js/meldung.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/meldung.js?v=202609250319" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/holen.js?v=202609250306" defer></script>
<script src="assets/js/befinden.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/holen.js?v=202609250319" defer></script>
<script src="assets/js/befinden.js?v=202609250319" defer></script>
</body>
</html>
+22 -22
View File
@@ -12,24 +12,24 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609250319" />
<!-- Wegen des Blocks „Willst du dazugehoeren?" auf dem Brett
„Mitmachen". Eine eigene Kopie der Regel hier waere die zweite
Stelle, an der dieselbe Sache anders aussieht. -->
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -304,19 +304,19 @@
<!-- TEXTFORM ZUERST (21.09.2026): Die Seite fragt beim Zeichnen nach
`window.Textform`. Kaeme sie spaeter, waere der erste Eintrag ohne
Gestaltung. Kein `defer`, damit sie wirklich vorher dasteht. -->
<script src="assets/js/textform.js?v=202609250306"></script>
<script src="assets/js/meldung.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/textform.js?v=202609250319"></script>
<script src="assets/js/meldung.js?v=202609250319" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/checkliste.js?v=202609250306" defer></script>
<script src="assets/js/ampel.js?v=202609250306" defer></script>
<script src="assets/js/schulung.js?v=202609250306" defer></script>
<script src="assets/js/holen.js?v=202609250306" defer></script>
<script src="assets/js/bereich.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/checkliste.js?v=202609250319" defer></script>
<script src="assets/js/ampel.js?v=202609250319" defer></script>
<script src="assets/js/schulung.js?v=202609250319" defer></script>
<script src="assets/js/holen.js?v=202609250319" defer></script>
<script src="assets/js/bereich.js?v=202609250319" defer></script>
</body>
</html>
+19 -19
View File
@@ -7,17 +7,17 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -108,15 +108,15 @@
</main>
<!-- Der Fuß gehört zu jeder Seite - siehe pruef-css-klassen. -->
<script src="assets/js/meldung.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/meldung.js?v=202609250319" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/auskunft.js?v=202609250306" defer></script>
<script src="assets/js/bewerben.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/auskunft.js?v=202609250319" defer></script>
<script src="assets/js/bewerben.js?v=202609250319" defer></script>
</body>
</html>
+18 -18
View File
@@ -7,16 +7,16 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -80,16 +80,16 @@
</main>
<script src="assets/js/meldung.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/meldung.js?v=202609250319" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/auskunft.js?v=202609250306" defer></script>
<script src="assets/js/bewerbungen.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/auskunft.js?v=202609250319" defer></script>
<script src="assets/js/bewerbungen.js?v=202609250319" defer></script>
</body>
</html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/calls.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/calls.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -89,15 +89,15 @@
</main>
<script src="assets/js/meldung.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/meldung.js?v=202609250319" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/ki.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/calls.js?v=202609250306" defer></script>
<script src="assets/js/ki.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/calls.js?v=202609250319" defer></script>
</body>
</html>
+19 -19
View File
@@ -12,26 +12,26 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<!-- aufgaben.css bringt die Dialog- und Formularstile mit (.dialog,
.neu__zeile, .dialog__knoepfe). Sie stehen dort seit dem
Aufgabenbrett; sie hierher zu kopieren hiesse, sie an zwei Stellen
zu pflegen. Dieselbe Lösung nutzen kalender.html und content.html.
Gemeldet von pruef-css-klassen.mjs, bevor jemand einen ungestylten
Dialog zu sehen bekam. -->
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/chat.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/chat.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -668,25 +668,25 @@
</form>
</dialog>
<script src="assets/js/bereiche.js?v=202609250306"></script>
<script src="assets/js/bereiche.js?v=202609250319"></script>
<!-- TEXTFORM VOR ALLEM ANDEREN (21.09.2026): chat.js und bereich.js
fragen beim Zeichnen nach `window.Textform`. Kaeme sie spaeter,
waere die erste gezeichnete Nachricht ohne Gestaltung -- und das
faellt nur dem auf, der genau hinsieht. KEIN `defer`, damit sie
wirklich vor den anderen dasteht. -->
<script src="assets/js/textform.js?v=202609250306"></script>
<script src="assets/js/meldung.js?v=202609250306" defer></script>
<script src="assets/js/hochladen.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306"></script>
<script src="assets/js/glocke.js?v=202609250306"></script>
<script src="assets/js/textform.js?v=202609250319"></script>
<script src="assets/js/meldung.js?v=202609250319" defer></script>
<script src="assets/js/hochladen.js?v=202609250319" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319"></script>
<script src="assets/js/glocke.js?v=202609250319"></script>
<!-- ANRUF VOR CHAT (18.09.2026): anruf.js stellt `window.anrufStarten`
bereit, und chat.js baut die Knoepfe nur, wenn es das gibt.
Andersherum waere die Reihenfolge eine stille Abhaengigkeit --
die Knoepfe fehlten, und niemand wuesste warum. -->
<script src="assets/js/anruf.js?v=202609250306"></script>
<script src="assets/js/chat.js?v=202609250306"></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/anruf.js?v=202609250319"></script>
<script src="assets/js/chat.js?v=202609250319"></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
</body>
</html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/content.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/content.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -179,15 +179,15 @@
</main>
<script src="assets/js/meldung.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/meldung.js?v=202609250319" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/checkliste.js?v=202609250306" defer></script>
<script src="assets/js/content.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/checkliste.js?v=202609250319" defer></script>
<script src="assets/js/content.js?v=202609250319" defer></script>
</body>
</html>
+6 -6
View File
@@ -36,15 +36,15 @@
<link rel="preload" as="image" href="assets/img/buehne/crew-gate-hoch-580.webp"
type="image/webp" media="(max-width: 899px)" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/crew-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/crew-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/crew-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/crew-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<!-- Diese Wand steht NUR auf der Adresse von Team Dogi (ueberall sonst
404, siehe crewWeiche). Sie darf das Haus deshalb direkt nennen
statt ueber den Platzhalter haus.css zu gehen -- und sie MUSS es:
Eine Zugangswand, die sich erst nach dem Umbiegen faerbt, waere
die eine Seite, auf der man das Umfaerben sieht. -->
<link rel="stylesheet" href="assets/css/crew-haus.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/crew-haus.css?v=202609250319" />
</head>
<body class="gate gate--crew">
@@ -459,7 +459,7 @@
<script src="assets/js/gate.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/gate.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
</body>
</html>
+4 -4
View File
@@ -23,25 +23,25 @@
},
"icons": [
{
"src": "/assets/img/app-symbole/crew-192.png?v=202609250306",
"src": "/assets/img/app-symbole/crew-192.png?v=202609250319",
"sizes": "192x192",
"type": "image/png",
"purpose": "any"
},
{
"src": "/assets/img/app-symbole/crew-512.png?v=202609250306",
"src": "/assets/img/app-symbole/crew-512.png?v=202609250319",
"sizes": "512x512",
"type": "image/png",
"purpose": "any"
},
{
"src": "/assets/img/app-symbole/crew-192-maskable.png?v=202609250306",
"src": "/assets/img/app-symbole/crew-192-maskable.png?v=202609250319",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "/assets/img/app-symbole/crew-512-maskable.png?v=202609250306",
"src": "/assets/img/app-symbole/crew-512-maskable.png?v=202609250319",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/dateien.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/dateien.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -108,15 +108,15 @@
</main>
<script src="assets/js/meldung.js?v=202609250306" defer></script>
<script src="assets/js/hochladen.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/meldung.js?v=202609250319" defer></script>
<script src="assets/js/hochladen.js?v=202609250319" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/dateien.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/dateien.js?v=202609250319" defer></script>
</body>
</html>
+18 -18
View File
@@ -7,14 +7,14 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -297,20 +297,20 @@
</main>
<script src="assets/js/meldung.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/meldung.js?v=202609250319" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/holen.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/holen.js?v=202609250319" defer></script>
<!-- VOR entwicklung.js: Die Seite richtet den Katalog beim Start ein,
also muss es ihn zu dem Zeitpunkt geben. Mit "defer" laufen beide
in Dokumentreihenfolge. -->
<script src="assets/js/vorlagenbrett.js?v=202609250306" defer></script>
<script src="assets/js/entwicklung.js?v=202609250306" defer></script>
<script src="assets/js/vorlagenbrett.js?v=202609250319" defer></script>
<script src="assets/js/entwicklung.js?v=202609250319" defer></script>
</body>
</html>
+15 -15
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/hilfe.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/hilfe.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -146,14 +146,14 @@
</main>
<script src="assets/js/meldung.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/meldung.js?v=202609250319" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/hilfe.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/hilfe.js?v=202609250319" defer></script>
</body>
</html>
+5 -5
View File
@@ -30,9 +30,9 @@
<link rel="preload" as="image" href="assets/img/buehne/gate-hoch-580.webp"
type="image/webp" media="(max-width: 899px)" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
</head>
<body class="gate">
@@ -427,7 +427,7 @@
<script src="assets/js/gate.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/gate.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
</body>
</html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/kalender.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/kalender.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -383,15 +383,15 @@
</main>
<script src="assets/js/meldung.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/meldung.js?v=202609250319" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/kalender.js?v=202609250306" defer></script>
<script src="assets/js/kalender-abo.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/kalender.js?v=202609250319" defer></script>
<script src="assets/js/kalender-abo.js?v=202609250319" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/leistung.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/leistung.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -444,13 +444,13 @@
</form>
</dialog>
<script src="assets/js/meldung.js?v=202609250306"></script>
<script src="assets/js/nachfrage.js?v=202609250306"></script>
<script src="assets/js/wahl.js?v=202609250306"></script>
<script src="assets/js/bereiche.js?v=202609250306"></script>
<script src="assets/js/kopf.js?v=202609250306"></script>
<script src="assets/js/glocke.js?v=202609250306"></script>
<script src="assets/js/leistung.js?v=202609250306"></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/meldung.js?v=202609250319"></script>
<script src="assets/js/nachfrage.js?v=202609250319"></script>
<script src="assets/js/wahl.js?v=202609250319"></script>
<script src="assets/js/bereiche.js?v=202609250319"></script>
<script src="assets/js/kopf.js?v=202609250319"></script>
<script src="assets/js/glocke.js?v=202609250319"></script>
<script src="assets/js/leistung.js?v=202609250319"></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,13 +12,13 @@
vergessen wird. -->
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/material.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/material.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start" data-ton="42" data-buehne="studio">
@@ -138,14 +138,14 @@
<p class="m-laedt" id="laedt">Einen Moment …</p>
</main>
<script src="assets/js/meldung.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/hochladen.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/material.js?v=202609250306" defer></script>
<script src="assets/js/meldung.js?v=202609250319" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/hochladen.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/material.js?v=202609250319" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/personen.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/personen.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -453,14 +453,14 @@
</main>
<script src="assets/js/meldung.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/meldung.js?v=202609250319" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/personen.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/personen.js?v=202609250319" defer></script>
</body>
</html>
+18 -18
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/profil.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/profil.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -214,16 +214,16 @@
</main>
<script src="assets/js/meldung.js?v=202609250306" defer></script>
<script src="assets/js/hochladen.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/meldung.js?v=202609250319" defer></script>
<script src="assets/js/hochladen.js?v=202609250319" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/steckbrief.js?v=202609250306" defer></script>
<script src="assets/js/profil.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/steckbrief.js?v=202609250319" defer></script>
<script src="assets/js/profil.js?v=202609250319" defer></script>
</body>
</html>
+17 -17
View File
@@ -7,14 +7,14 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -134,14 +134,14 @@
Beim ersten Anlauf fehlte die Zeile auf genau diesen beiden neuen
Seiten. Gefunden hat das nicht das Auge, sondern pruef-css-klassen,
die seit dem 07.09. jede Seite danach absucht. -->
<script src="assets/js/meldung.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/holen.js?v=202609250306" defer></script>
<script src="assets/js/rechte.js?v=202609250306" defer></script>
<script src="assets/js/meldung.js?v=202609250319" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/holen.js?v=202609250319" defer></script>
<script src="assets/js/rechte.js?v=202609250319" defer></script>
</body>
</html>
+18 -18
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/report.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/report.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -106,17 +106,17 @@
</main>
<script src="assets/js/meldung.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/meldung.js?v=202609250319" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/ki.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/holen.js?v=202609250306" defer></script>
<script src="assets/js/report.js?v=202609250306" defer></script>
<script src="assets/js/ki.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/holen.js?v=202609250319" defer></script>
<script src="assets/js/report.js?v=202609250319" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/scouting.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/scouting.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -173,14 +173,14 @@
</div>
</div>
<script src="assets/js/meldung.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/meldung.js?v=202609250319" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/scouting.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/scouting.js?v=202609250319" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,21 +12,21 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<!-- Nur die Startseite: Begrüßungskachel, Uhr, Glockenmulde. Siehe
den Hinweis in start.css -- dort stand es bis zum 07.09.2026. -->
<link rel="stylesheet" href="assets/css/heim.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/heim.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -700,16 +700,16 @@
</p>
</main>
<script src="assets/js/meldung.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/meldung.js?v=202609250319" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/live.js?v=202609250306" defer></script>
<script src="assets/js/start.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/live.js?v=202609250319" defer></script>
<script src="assets/js/start.js?v=202609250319" defer></script>
</body>
</html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/startcheck.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/startcheck.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -85,16 +85,16 @@
</main>
<script src="assets/js/meldung.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/meldung.js?v=202609250319" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/ki.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/startcheck.js?v=202609250306" defer></script>
<script src="assets/js/ki.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/startcheck.js?v=202609250319" defer></script>
</body>
</html>
+18 -18
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/profil.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/profil.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -150,16 +150,16 @@
</main>
<script src="assets/js/meldung.js?v=202609250306" defer></script>
<script src="assets/js/hochladen.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/meldung.js?v=202609250319" defer></script>
<script src="assets/js/hochladen.js?v=202609250319" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/auskunft.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/steckbrief.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/auskunft.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/steckbrief.js?v=202609250319" defer></script>
</body>
</html>
+14 -14
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/support.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/support.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -123,16 +123,16 @@
(reading 'LEITUNG')" ab -- gemessen am 24.09.2026, als diese
Zeile beim Anlegen der Seite fehlte. Die Kopfleiste kam
trotzdem, deshalb sah man es nur in der Browserkonsole. -->
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<!-- wahl.js gehoert zu kopf.js: Der Sicht-Umschalter in der
Kopfleiste baut daraus seine Liste. pruef-css-klassen setzt das
seit dem 07.09.2026 durch -- damals fehlte es auf chat.html und
uebersicht.html, und heute hier. -->
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/support.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/support.js?v=202609250319" defer></script>
</body>
</html>
+18 -18
View File
@@ -7,18 +7,18 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609250319" />
<!-- Wegen des Kastens „Anfragen“ ueber der Liste. Eine eigene Kopie
der Regel hier waere die zweite Stelle, an der dieselbe Sache
anders aussieht. -->
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -111,15 +111,15 @@
</main>
<script src="assets/js/meldung.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/meldung.js?v=202609250319" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/holen.js?v=202609250306" defer></script>
<script src="assets/js/talente.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/holen.js?v=202609250319" defer></script>
<script src="assets/js/talente.js?v=202609250319" defer></script>
</body>
</html>
+16 -16
View File
@@ -7,20 +7,20 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/team.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/team.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -110,15 +110,15 @@
</main>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/holen.js?v=202609250306" defer></script>
<script src="assets/js/team.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/holen.js?v=202609250319" defer></script>
<script src="assets/js/team.js?v=202609250319" defer></script>
</body>
</html>
+17 -17
View File
@@ -7,20 +7,20 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/team.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/team.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<!-- `data-buehne` steht hier fest und nicht im Skript: Die Kachel zu
@@ -84,15 +84,15 @@
Kaputt ist dabei nichts -- er funktioniert. Genau deshalb faellt
es niemandem auf, und deshalb prueft pruef-css-klassen die
ABHAENGIGKEIT statt der Optik. Hier hat sie angeschlagen. -->
<script src="assets/js/meldung.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/meldung.js?v=202609250319" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/holen.js?v=202609250306" defer></script>
<script src="assets/js/teamlage.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/holen.js?v=202609250319" defer></script>
<script src="assets/js/teamlage.js?v=202609250319" defer></script>
</body>
</html>
+15 -15
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -112,15 +112,15 @@
</main>
<script src="assets/js/meldung.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/meldung.js?v=202609250319" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/teilen.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/teilen.js?v=202609250319" defer></script>
</body>
</html>
+16 -16
View File
@@ -7,14 +7,14 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -126,14 +126,14 @@
</main>
<script src="assets/js/meldung.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/meldung.js?v=202609250319" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/treff-moderation.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/treff-moderation.js?v=202609250319" defer></script>
</body>
</html>
+16 -16
View File
@@ -7,18 +7,18 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<!-- haus.css MUSS die letzte Stilvorlage sein. Auf der Adresse des
Rudels biegt der Server genau diesen Dateinamen auf crew-haus.css
um, und die Seite kommt schon beim ERSTEN Abruf in Lila und
Babyblau an -- ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -248,14 +248,14 @@
Beim ersten Anlauf fehlte die Zeile auf genau diesen beiden neuen
Seiten. Gefunden hat das nicht das Auge, sondern pruef-css-klassen,
die seit dem 07.09. jede Seite danach absucht. -->
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/auskunft.js?v=202609250306" defer></script>
<script src="assets/js/treff-regeln.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/auskunft.js?v=202609250319" defer></script>
<script src="assets/js/treff-regeln.js?v=202609250319" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,22 +12,22 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<!-- Formular- und Dialogstile: seit dem 07.09.2026 steht hier der
Dialog "Creator anlegen". -->
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -149,16 +149,16 @@
</main>
<script src="assets/js/meldung.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/meldung.js?v=202609250319" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/uebersicht.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/uebersicht.js?v=202609250319" defer></script>
</body>
</html>
+15 -15
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/unsere-seiten.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/unsere-seiten.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -335,14 +335,14 @@
</main>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/live.js?v=202609250306" defer></script>
<script src="assets/js/unsere-seiten.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/live.js?v=202609250319" defer></script>
<script src="assets/js/unsere-seiten.js?v=202609250319" defer></script>
</body>
</html>
+16 -16
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/unterstuetzen.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/unterstuetzen.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -106,17 +106,17 @@
<!-- bereiche.js VOR kopf.js: Dort steht `window.Bereiche`, und kopf.js
liest daraus die Leitungsrollen. Ohne sie stürzt jede Seite mit
„Cannot read properties of undefined (reading 'LEITUNG')" ab. -->
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/holen.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/holen.js?v=202609250319" defer></script>
<!-- Die Satz-Tafel. Ohne sie stand auf dieser Seite das Maschinenwort
des Servers (z.B. "nicht_gefunden") statt eines Satzes -- gemeldet
von pruef-meldungen, nicht beim Ansehen. -->
<script src="assets/js/meldung.js?v=202609250306" defer></script>
<script src="assets/js/unterstuetzen.js?v=202609250306" defer></script>
<script src="assets/js/meldung.js?v=202609250319" defer></script>
<script src="assets/js/unterstuetzen.js?v=202609250319" defer></script>
</body>
</html>
+16 -16
View File
@@ -7,15 +7,15 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/werdegang.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/werdegang.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -144,14 +144,14 @@
</main>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/werdegang.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/werdegang.js?v=202609250319" defer></script>
</body>
</html>
+15 -15
View File
@@ -12,13 +12,13 @@
vergessen wird. -->
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/willkommen.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/willkommen.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<!-- KOERPERKLASSE "start", NICHT "gate" (berichtigt 21.09.2026).
`body.gate` ist die Anmeldewand: `display:flex; align-items:center`,
@@ -75,13 +75,13 @@
<p class="fehler" id="fehler" hidden></p>
</main>
<script src="assets/js/meldung.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/willkommen.js?v=202609250306" defer></script>
<script src="assets/js/meldung.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/willkommen.js?v=202609250319" defer></script>
</body>
</html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250306" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250306" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/wissen.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250306" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250319" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250319" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/wissen.css?v=202609250319" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250319" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250306" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250319" />
</head>
<body class="start">
@@ -190,15 +190,15 @@
</main>
<script src="assets/js/meldung.js?v=202609250306" defer></script>
<script src="assets/js/hochladen.js?v=202609250306" defer></script>
<script src="assets/js/nachfrage.js?v=202609250306" defer></script>
<script src="assets/js/meldung.js?v=202609250319" defer></script>
<script src="assets/js/hochladen.js?v=202609250319" defer></script>
<script src="assets/js/nachfrage.js?v=202609250319" defer></script>
<script src="assets/js/wahl.js?v=202609250306" defer></script>
<script src="assets/js/bereiche.js?v=202609250306" defer></script>
<script src="assets/js/installieren.js?v=202609250306" defer></script>
<script src="assets/js/kopf.js?v=202609250306" defer></script>
<script src="assets/js/glocke.js?v=202609250306" defer></script>
<script src="assets/js/wissen.js?v=202609250306" defer></script>
<script src="assets/js/wahl.js?v=202609250319" defer></script>
<script src="assets/js/bereiche.js?v=202609250319" defer></script>
<script src="assets/js/installieren.js?v=202609250319" defer></script>
<script src="assets/js/kopf.js?v=202609250319" defer></script>
<script src="assets/js/glocke.js?v=202609250319" defer></script>
<script src="assets/js/wissen.js?v=202609250319" defer></script>
</body>
</html>