Bisher startete die Liste mit dem Art-Filter "Auftraege", der Akquise-Tickets
ausschliesst. Neue Kunden bekommen ein Akquise-Ticket, das dann unter Tickets
nicht zu finden war. Standard ist jetzt "Alle Arten"; "Auftraege (ohne Akquise)"
bleibt als Filter waehlbar.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Die letzte Zelle (Prüfen/Ansehen) wurde bei Handybreite auf etwa 19 px gequetscht, weil
.table.table-wrap td overflow-wrap:anywhere hat. Wie im E-Mail-Speicher bekommt die
Aktionszelle nowrap (Aktion 58 px, Kunde 139/124/120 px bei 390/375/360 px, kein Überlauf).
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Die Angebotstabelle brach bei 390 px gewoehnliche Woerter mitten im Wort
("Ansprechpartne-r", "Geschaeftsfuehru-ng"): die Spalte "Angebot" hatte keine
Mindestbreite und bekam nur etwa 103 px. Jetzt hat <th>Angebot</th> die Klasse
col-offer (min-width 8rem), col-status faellt bis 600 px auf 6rem, col-name
steigt auf 7,5rem ("Anlagentechnik" brach sonst in der Kundenspalte).
Bis 600 px summieren sich die Mindestbreiten auf 344 px in 358 px.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Die Kopfzelle "Kunde" bekommt in OfferList und CreditList die Klasse col-name
(min-width 7rem, die Regel gab es schon fuer den E-Mail-Speicher). Ohne sie
gab die Tabelle der Kundenspalte am Handy fast nichts ab (td bricht ueberall),
und Namen brachen mitten im Wort ("Fahrschul/e Roth", 79 px bei 390 px).
Kommentar der Regel nennt jetzt alle drei Tabellen.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Kundenspalte mit Mindestbreite (col-name) und Erledigt/Bestellt ohne Umbruch, damit am Handy und bei 1440 px keine Woerter mitten im Wort brechen.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Reiter statt Filterknoepfe, Statusspalte mit Badge, Stripe-Links, Mail-Zeile und Aktionen (E-Mail senden als Textlink, Zurueckziehen als danger), Spalten Angelegt und Gueltig bis nach Breite ausgeblendet. Mindestbreite der Statusspalte, damit Woerter nicht mitten im Wort brechen. Neues Angebot ohne Icon in der Werkzeugleiste, Hinweis als table-foot.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Neuer Zustand busyAction (Speichert … / Sendet …) neben busy; Formularbloecke der Berechnung stehen in .form-stack (16 px) statt auf dem Altabstand .page .field.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Block 'Kunden-Unterseiten (P6)' direkt vor KOMPAT: table-wrap bricht lange Woerter, aria-current-Zeile auf --bg-subtle, .cell-actions fuer Zeilenaktionen, Dialogfuss mit flex-wrap und umbrechenden Knoepfen, .autocomplete .input mit voller Breite.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
`.admin-credential-result span { display: block }` (0,1,1) schlug `.credential` (display: flex,
gap 8 px): "Anzeigen" und "Kopieren" standen ohne Abstand nebeneinander (gemessen 0 px bei 1440
und 390 px). Die Regel gilt jetzt nur noch fuer den Hinweistext im ersten Feld
(`.admin-credential-result > div > span`); die Textlinks stehen 8 px auseinander, der Wert
hat wieder die Textfarbe.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Die Tabelle "Mitarbeiterkonten" war bei 1440 px rund 80 px breiter als die Karte, der
Loeschen-Knopf lag hinter dem inneren Rollbalken. Kopieren/Anzeigen stehen jetzt unter
dem Wert (Spalte statt Zeile), nur in .admin-table.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Das Kachelraster entfaellt, jede Art ist ein Abschnitt mit Beschreibung, Funktions-Badges und Zeilen. Der Preview-Punkt wird zum Badge "Preview: <Zustand>", Ticket und Zuordnen sind Textlinks. Zwei CSS-Zeilen (.services-stack) im Block Projekte (P5).
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Der Assistent bekommt Brotkrume und Untertitel im Seitenkopf, je Schritt einen Abschnitt, Auswahlzeilen als Knoepfe mit aria-pressed und dem Badge Ausgewaehlt, Felder mit Label-Verknuepfung und keine Icons oder Inline-Stile mehr. Logik, Zustaende und Texte bleiben unveraendert. Vier CSS-Zeilen im Block Projekte (P5) fuer Abstand der Schrittspalte und Kontrast der Kundennummer.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- Seite mit PageHeader, Reitern (Zaehler aus projectTabs), Filterzeile und Tabelle (Rollen table/row/cell/columnheader, Zeilenklick ueber isRowActivation)
- Neues Projekt und Projekt bearbeiten als Dialog mit Field/htmlFor; Speichern im Fuss ueber das Attribut form
- Ladetext "Wird geladen …" nur beim ersten Laden (loadedOnce), danach bleibt die Tabelle beim Nachladen stehen
- global.css: Ticket-Zelle bricht lange IDs um, .faint in archivierten Zeilen ohne Kontrastverlust (Block Projekte (P5))
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Der Abschnitt nutzt Card, Button und Dialog statt Altklassen und Icons. TicketProjects laedt nur noch bei einer anderen Ticket-ID neu (load haengt an ticket.$id, der neueste Ticketstand kommt ueber ein ref), damit "Suche neue Repos ..." bei Status-, Zustaendig- oder Dringend-Aenderung nicht erneut blinkt.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Zeile mit Statusbadge und Textlinks, Zustimmungsablauf im Dialog mit Fuss (Abbrechen, Einschalten), Ausschalten-Rueckfrage bleibt inline. Drei Zeilen CSS fuer die Textvorlage (details) im Dialog.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Markup auf Bausteine (Button, Badge) und die Klassen pv-*, input, select, msg, link umgestellt; keine Inline-Stile, kein btn-sm, kein Farbliteral. Fehlertexte des Runners behalten ihren Zeilenumbruch ueber .pv-block .msg.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Neuer Block Projekte (P5) direkt vor KOMPAT: Projekttabelle (unter 860 px zweispaltiges Raster), Aktionszeile, Dialog-Formular, Preview-Block, Projektzeile am Ticket, Zuordnen-Assistent. Die alten Regeln .ticket-projects und .ticket-projects-assign .form-control entfallen.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Tabs fuehrt die Leiste nach dem Laden und bei jedem Reiterwechsel waagerecht nach, wenn der aktive Reiter nicht ganz sichtbar ist (zentriert, nur die
Leiste scrollt, nicht die Seite). Betrifft alle Seiten mit Tabs; bei 390 px sah man auf der Kundenseite mit ?tab=protokoll, abo oder gutschriften
keinen aktiven Reiter.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Protokoll als Tabelle (Zeit, Mitarbeiter, Aktion) statt Liste mit festen Mindestbreiten, damit bei 390 px nichts mitten im Wort bricht. Abo-Status als dl.kv, Fehler als .msg.err. admin-areas.css: Haarlinien statt Kaesten, Kopfzeilen ohne Grossbuchstaben, Links ohne eigene Regel, Responsive-Bloecke am Dateiende.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Alle Funktionen als eine Tabelle: Projektzeile, Funktionszeilen mit Status, Ticket (ticketPath) und Textaktionen, Bestaetigung, Einbauanleitung und Zustimmung in Textform als Zeilen darunter, Webshop-Anfrage als Block unter der Tabelle. Alle .funktionen-*-Regeln aus admin-areas.css in den Block Kunden (P4), Handy mit Zweispalten-Zeilen.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Kopf mit Brotkrume, Eyebrow (Nummer, Stufe) und Abzeichen unter dem Namen, kein schwarzer Knopf. Uebersicht mit .kv-Zeilen in zwei Spalten, Rueckmeldungen als .msg, Tickets-Reiter als Tabelle mit echten Links (ticketPath) und Zeilenklick ueber isRowActivation. KundenansichtButton ohne Icon, Standard ist jetzt default. Block Kunden (P4) in global.css.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Zeilenklick nur ueber isRowActivation, Link.row-link in der ersten Zelle. CreateCustomerForm bleibt exportiert (Zuordnen-Assistent), dort entfaellt der Umschlag um den Dialog. KOMPAT-Regel .side-logo gestrichen.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>