fix: PDF Leerseite, Button-Größen und Primärfarbe

- PDF-Export: doc.flushPages() vor doc.end() verhindert leere
  Schlussseite (PDFKit bufferPages-Bug nach Footer-Loop)
- ExpertProfileTab: height: 32px für btnPrimary/Secondary/Danger
  sowie chipInput- und headerForm-Inputs → einheitliche Höhe
- Primärfarbe #1a56db → #1040bb (dunkler, besser zum Logo passend)
- LoginPage CSS-Fallback-Gradient ebenfalls auf neue Primärfarbe

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Thomas Reitz 2026-03-14 14:07:20 +01:00
parent 1608f4e936
commit dabd36349e
4 changed files with 20 additions and 8 deletions

View file

@ -604,6 +604,8 @@ export class ProfileExportService {
} }
} }
// flushPages() vor end() verhindert leere Schlussseite bei bufferPages: true
doc.flushPages();
doc.end(); doc.end();
}); });

View file

@ -3,7 +3,7 @@
justify-content: center; justify-content: center;
align-items: center; align-items: center;
min-height: 100vh; min-height: 100vh;
background: linear-gradient(135deg, #1a56db 0%, #1e3a5f 100%); background: linear-gradient(135deg, #1040bb 0%, #0a2570 100%);
} }
.card { .card {

View file

@ -4,8 +4,8 @@
:root { :root {
/* Farben - Corporate Design */ /* Farben - Corporate Design */
--color-primary: #1a56db; --color-primary: #1040bb;
--color-primary-hover: #1e40af; --color-primary-hover: #0d33a0;
--color-primary-light: #dbeafe; --color-primary-light: #dbeafe;
--color-secondary: #6b7280; --color-secondary: #6b7280;
--color-success: #059669; --color-success: #059669;

View file

@ -79,12 +79,14 @@
.headerForm input, .headerForm input,
.headerForm select { .headerForm select {
padding: 0.3125rem 0.5rem; height: 32px;
padding: 0 0.5rem;
border: 1px solid var(--color-border); border: 1px solid var(--color-border);
border-radius: var(--radius-sm); border-radius: var(--radius-sm);
font-size: 0.8125rem; font-size: 0.8125rem;
min-width: 0; min-width: 0;
flex: 1; flex: 1;
box-sizing: border-box;
} }
.headerForm input:focus, .headerForm input:focus,
@ -143,12 +145,14 @@
} }
.chipInput input { .chipInput input {
padding: 0.3125rem 0.5rem; height: 32px;
padding: 0 0.5rem;
border: 1px solid var(--color-border); border: 1px solid var(--color-border);
border-radius: var(--radius-sm); border-radius: var(--radius-sm);
font-size: 0.8125rem; font-size: 0.8125rem;
flex: 1; flex: 1;
min-width: 0; min-width: 0;
box-sizing: border-box;
} }
.chipInput input:focus { .chipInput input:focus {
@ -274,7 +278,8 @@
/* === Buttons === */ /* === Buttons === */
.btnPrimary { .btnPrimary {
padding: 0.5rem 1rem; height: 32px;
padding: 0 1rem;
background: var(--color-primary); background: var(--color-primary);
color: white; color: white;
border: none; border: none;
@ -284,6 +289,7 @@
cursor: pointer; cursor: pointer;
transition: background 0.15s; transition: background 0.15s;
white-space: nowrap; white-space: nowrap;
box-sizing: border-box;
} }
.btnPrimary:hover:not(:disabled) { .btnPrimary:hover:not(:disabled) {
@ -296,7 +302,8 @@
} }
.btnSecondary { .btnSecondary {
padding: 0.5rem 1rem; height: 32px;
padding: 0 1rem;
background: transparent; background: transparent;
color: var(--color-text-secondary); color: var(--color-text-secondary);
border: 1px solid var(--color-border); border: 1px solid var(--color-border);
@ -306,6 +313,7 @@
cursor: pointer; cursor: pointer;
transition: all 0.15s; transition: all 0.15s;
white-space: nowrap; white-space: nowrap;
box-sizing: border-box;
} }
.btnSecondary:hover { .btnSecondary:hover {
@ -313,7 +321,8 @@
} }
.btnDanger { .btnDanger {
padding: 0.5rem 1rem; height: 32px;
padding: 0 1rem;
background: var(--color-error); background: var(--color-error);
color: white; color: white;
border: none; border: none;
@ -323,6 +332,7 @@
cursor: pointer; cursor: pointer;
transition: background 0.15s; transition: background 0.15s;
white-space: nowrap; white-space: nowrap;
box-sizing: border-box;
} }
.btnDanger:hover:not(:disabled) { .btnDanger:hover:not(:disabled) {