diff --git a/src/assets/fonts/OFL-Lato.txt b/src/assets/fonts/OFL-Lato.txt deleted file mode 100644 index 4f29440..0000000 --- a/src/assets/fonts/OFL-Lato.txt +++ /dev/null @@ -1,94 +0,0 @@ -Lato Regular 1.105 (lato-regular.ttf) -Copyright (c) 2010-2013 by tyPoland Lukasz Dziedzic with Reserved Font Name "Lato". - -This Font Software is licensed under the SIL Open Font License, Version 1.1. -This license is copied below, and is also available with a FAQ at: -https://openfontlicense.org - - ------------------------------------------------------------ -SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 ------------------------------------------------------------ - -PREAMBLE -The goals of the Open Font License (OFL) are to stimulate worldwide -development of collaborative font projects, to support the font creation -efforts of academic and linguistic communities, and to provide a free and -open framework in which fonts may be shared and improved in partnership -with others. - -The OFL allows the licensed fonts to be used, studied, modified and -redistributed freely as long as they are not sold by themselves. The -fonts, including any derivative works, can be bundled, embedded, -redistributed and/or sold with any software provided that any reserved -names are not used by derivative works. The fonts and derivatives, -however, cannot be released under any other type of license. The -requirement for fonts to remain under this license does not apply -to any document created using the fonts or their derivatives. - -DEFINITIONS -"Font Software" refers to the set of files released by the Copyright -Holder(s) under this license and clearly marked as such. This may -include source files, build scripts and documentation. - -"Reserved Font Name" refers to any names specified as such after the -copyright statement(s). - -"Original Version" refers to the collection of Font Software components as -distributed by the Copyright Holder(s). - -"Modified Version" refers to any derivative made by adding to, deleting, -or substituting -- in part or in whole -- any of the components of the -Original Version, by changing formats or by porting the Font Software to a -new environment. - -"Author" refers to any designer, engineer, programmer, technical -writer or other person who contributed to the Font Software. - -PERMISSION & CONDITIONS -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Font Software, to use, study, copy, merge, embed, modify, -redistribute, and sell modified and unmodified copies of the Font -Software, subject to the following conditions: - -1) Neither the Font Software nor any of its individual components, -in Original or Modified Versions, may be sold by itself. - -2) Original or Modified Versions of the Font Software may be bundled, -redistributed and/or sold with any software, provided that each copy -contains the above copyright notice and this license. These can be -included either as stand-alone text files, human-readable headers or -in the appropriate machine-readable metadata fields within text or -binary files as long as those fields can be easily viewed by the user. - -3) No Modified Version of the Font Software may use the Reserved Font -Name(s) unless explicit written permission is granted by the corresponding -Copyright Holder. This restriction only applies to the primary font name as -presented to the users. - -4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font -Software shall not be used to promote, endorse or advertise any -Modified Version, except to acknowledge the contribution(s) of the -Copyright Holder(s) and the Author(s) or with their explicit written -permission. - -5) The Font Software, modified or unmodified, in part or in whole, -must be distributed entirely under this license, and must not be -distributed under any other license. The requirement for fonts to -remain under this license does not apply to any document created -using the Font Software. - -TERMINATION -This license becomes null and void if any of the above conditions are -not met. - -DISCLAIMER -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL -DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM -OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/src/assets/fonts/lato-regular.ttf b/src/assets/fonts/lato-regular.ttf deleted file mode 100644 index 839cd58..0000000 Binary files a/src/assets/fonts/lato-regular.ttf and /dev/null differ diff --git a/src/pages/AdminPage.css b/src/pages/AdminPage.css index 123319f..25341ba 100644 --- a/src/pages/AdminPage.css +++ b/src/pages/AdminPage.css @@ -1,6 +1,4 @@ .admin-page { - --admin-line: rgba(255, 255, 255, 0.1); - --admin-line-strong: rgba(255, 255, 255, 0.17); max-width: 1480px; padding-bottom: 48px; } diff --git a/src/styles/global.css b/src/styles/global.css index f4c6a19..94f3158 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -1,14 +1,3 @@ -/* Lato vom eigenen Server statt von Google Fonts (DSGVO): Lato 1 mit denselben Abmessungen - wie bei Google und wie bisher nur der normale Schnitt 400 (Fett rechnet der - Browser). Lizenz: assets/fonts/OFL-Lato.txt */ -@font-face { - font-family: 'Lato'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: url('../assets/fonts/lato-regular.ttf') format('truetype'); -} - * { margin: 0; padding: 0; @@ -16,94 +5,77 @@ } :root { - /* Surfaces (calm dark) */ - --bg: #0e131a; - --surface-1: #151b23; - --surface-2: #1b2430; - --surface-3: #222d3a; - --surface-hover: #243040; + --bg: #ffffff; --bg-hover: #f6f8fa; --bg-subtle: #f8f9fb; + --text: #1a1f36; --text-2: #5e6678; --text-3: #8a93a3; + --line: #ebeef1; --line-strong: #d8dde3; + --accent: #111111; --accent-hover: #2b2b2b; --accent-ink: #111111; + --accent-soft: rgba(17,17,17,.06); --accent-ring: rgba(17,17,17,.14); + --grey-bg: #ebeef1; --grey-fg: #414552; --blue-bg: #e0f2fe; --blue-fg: #075985; + --orange-bg: #fcedb9; --orange-fg: #a82c00; --violet-bg: #efeafe; --violet-fg: #5b21b6; + --green-bg: #d7f7c2; --green-fg: #006908; --red-bg: #ffe7f2; --red-fg: #b3093c; + --danger: #c0123c; --danger-ring: rgba(192,18,60,.18); + --radius: 6px; --radius-lg: 12px; + --ring: 0 0 0 1px rgba(60,66,87,.16), 0 1px 1px rgba(0,0,0,.06); + --shadow-btn: 0 1px 1px rgba(0,0,0,.12), 0 2px 5px rgba(60,66,87,.08); + --shadow-pop: 0 0 0 1px rgba(60,66,87,.06), 0 12px 32px rgba(26,31,54,.14), 0 2px 6px rgba(26,31,54,.06); + --overlay: rgba(26,31,54,.32); --scrim: rgba(26,31,54,.24); + --nav-dot: #e5a000; + --appt-akquise: #fdf4e3; --appt-akquise-hover: #fbeccd; --appt-hover: #eef1f4; + --sidebar-w: 232px; + --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; - /* Borders / lines */ - --border: rgba(255, 255, 255, 0.08); - --border-strong: rgba(255, 255, 255, 0.14); - --border-accent: rgba(16, 185, 129, 0.35); - - /* Text */ - --text: #e6edf3; - --text-muted: #9aa7b4; - --text-faint: #6b7785; - - /* Accent */ - --accent: #10b981; - --accent-2: #059669; - --accent-soft: rgba(16, 185, 129, 0.14); - - /* Semantic */ - --info: #3b82f6; - --warn: #f59e0b; - --danger: #ef4444; - --ok: #10b981; - - /* Spacing */ + /* Abstaende (unveraendert) */ --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px; --sp-5: 24px; --sp-6: 32px; - /* Radius */ - --r-sm: 8px; --r-md: 12px; --r-lg: 16px; --r-pill: 999px; - - /* Elevation */ - --shadow-1: 0 1px 2px rgba(0,0,0,0.3); - --shadow-2: 0 4px 14px rgba(0,0,0,0.3); - --shadow-3: 0 12px 32px rgba(0,0,0,0.4); - - /* Legacy aliases (Rueckwaertskompatibilitaet) */ - --dark-bg: var(--bg); - --dark-card-bg: var(--surface-2); - --dark-text: var(--text); + /* Alte Token-Namen als Aliase bis P10: Fremd-CSS und JSX nutzen sie noch, so wird Bestandscode sofort weiss. */ + --surface-1: var(--bg); --surface-3: var(--bg); --surface: var(--bg); + --dark-bg: var(--bg); --dark-card-bg: var(--bg); + --surface-2: var(--bg-hover); --surface-hover: var(--bg-hover); + --border: var(--line); --gray-700: var(--line); --admin-line: var(--line); + --border-strong: var(--line-strong); --admin-line-strong: var(--line-strong); + --border-accent: var(--accent-ring); + --text-muted: var(--text-2); --text-faint: var(--text-2); --gray-800: var(--text-2); + --dark-text: var(--text); --gray-900: var(--text); + --accent-2: var(--accent-hover); --green-secondary: var(--accent-hover); --green-primary: var(--accent); - --green-secondary: var(--accent-2); - --gray-700: #374151; - --gray-800: #1f2937; - --gray-900: #111827; - - --sidebar-w: 248px; + --info: var(--blue-fg); + --warn: var(--orange-fg); + --ok: var(--green-fg); + --r-sm: var(--radius); + --r-md: var(--radius-lg); --r-lg: var(--radius-lg); + --r-pill: 4px; + --shadow-1: none; + --shadow-2: var(--shadow-btn); + --shadow-3: var(--shadow-pop); + /* Entfaellt laut Spec; bleibt bis zur Menue-Umstellung (P1 Task 5), weil .side.collapsed es noch nutzt. */ --sidebar-w-collapsed: 72px; } +html { color-scheme: light; } + body { - font-family: 'Lato', system-ui, -apple-system, sans-serif; - background: radial-gradient(1200px 700px at 80% -10%, rgba(16,185,129,0.06), transparent 60%), - radial-gradient(900px 600px at -10% 110%, rgba(59,130,246,0.05), transparent 55%), - var(--bg); - background-attachment: fixed; + font-family: var(--font); + font-size: 14px; + line-height: 20px; color: var(--text); - overflow: hidden; + background: var(--bg); -webkit-font-smoothing: antialiased; } -/* Scrollbar Styling */ -::-webkit-scrollbar { - width: 12px; -} +a { color: inherit; text-decoration: none; } +a:not([class]) { text-decoration: underline; text-decoration-color: var(--line-strong); text-underline-offset: 3px; } +a:not([class]):hover { text-decoration-color: currentColor; } +button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; } +input, select, textarea { font: inherit; color: inherit; } +:focus-visible { outline: 2px solid #111111; outline-offset: 2px; } +:disabled { opacity: .55; cursor: not-allowed; } +[readonly] { background: var(--bg-subtle); } -::-webkit-scrollbar-track { - background: rgba(26, 32, 44, 0.5); -} - -::-webkit-scrollbar-thumb { - background: var(--green-primary); - border-radius: 6px; -} - -::-webkit-scrollbar-thumb:hover { - background: var(--green-secondary); -} - -/* Text Selection */ -::selection { - background: rgba(16, 185, 129, 0.3); - color: white; -} +.link { color: var(--accent-ink); font-weight: 500; text-decoration: underline; text-decoration-color: var(--line-strong); text-underline-offset: 3px; text-decoration-thickness: 1px; } +.link:hover { text-decoration-color: currentColor; } +.link-danger { color: var(--danger); font-weight: 500; } +.link-danger:hover { text-decoration: underline; text-underline-offset: 3px; } /* Color Classes */ .bg-dark-grey { background-color: #616161 !important; } @@ -1048,8 +1020,13 @@ textarea.form-control { .footer { background: var(--surface-1); border-top: 1px solid var(--border); padding: var(--sp-4); margin-top: 0; } /* --- Utilities --- */ -.muted { color: var(--text-muted); } -.faint { color: var(--text-faint); } +.num { font-variant-numeric: tabular-nums; } +.muted { color: var(--text-2); } +.faint { color: var(--text-3); } +.small { font-size: 13px; } +.xs { font-size: 12px; line-height: 16px; } +.strong { font-weight: 600; } +.nowrap { white-space: nowrap; } .flex { display: flex; } .flex-col { display: flex; flex-direction: column; } .items-center { align-items: center; }