:root { /* Farbpalette */ --primary-color: #3498db; /* Ein lebhaftes Blau für Akzente */ --secondary-color: #2c3e50; /* Dunkles Grau für Text und Hover */ --accent-color: #e74c3c; /* Ein Akzent-Rot für wichtige Elemente */ --background-light: ; /* Helles Grau für Hintergründe (Kontrast zum helleren Blauton) */ --text-color-dark: #333333; /* Dunklerer Text für gute Lesbarkeit */ --text-color-light: #ffffff; /* Weißer Text für dunkle Hintergründe */ /* Abstände und Größen */ --spacing-x-small: 4px; /* Sehr kleiner Abstand für Buttons etc. */ --spacing-small: 8px; --spacing-medium: 16px; --spacing-large: 24px; --border-radius: 8px; /* Leicht abgerundete Ecken */ --shadow-small: 0 4px 6px rgba(0, 0, 0, 0.1); /* Subtiler Schatten */ --shadow-medium: 4px 4px 8px rgba(0, 0, 0, 0.4); /* Mittlerer Schatten */ /* Typografie */ /* --font-family-sans: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; */ --font-family-sans: Verdana, Arial, Helvetica, sans-serif; --font-size-small: 8px; --font-size-medium: 10px; --font-size-large: 12px; --font-size-x-large: 14px; --font-size-xx-large: 16px; --line-height-base: 1.6; /* Variablen für page header */ --page-header-background-color: #2488fb; /* Variablen für Input-Felder */ --input-field-height: 20px; /* Standardhöhe für Textfelder */ --input-field-max-width-10: 10ch; /* Maximale Breite auf 10 Zeichen gesetzt */ --input-field-max-width-20: 20ch; /* Maximale Breite auf 20 Zeichen gesetzt */ --input-field-max-width-50: 50ch; /* Maximale Breite auf 50 Zeichen gesetzt */ /* Variablen für Select-Felder */ --select-background-color: #54b8fb; /* Variablen für Textareas */ --textarea-min-height: calc(1.5 * var(--font-size-large) * var(--line-height-base) + (2 * var(--spacing-small))); /* Erläuterung: 1.5 Zeilenhöhe + 2x Padding-Top/Bottom (da padding: var(--spacing-small) verwendet wird) */ } .mc_page-header { background-color: var(--page-header-background-color); height: 30px; width: 100%; display: flex; align-items: center; color: var(--text-color-light); font-family: var(--font-family-sans); font-size: var(--font-size-xx-large); padding: 0 var(--spacing-medium); /* box-sizing: border-box; margin-bottom: var(--spacing-large); */ } .mc_table-header { background-color: var(--page-header-background-color); text-align: left; color: var(--text-color-light); font-family: var(--font-family-sans); font-size: var(--font-size-large); padding: 0 var(--spacing-small); } .mc_input_type_10 { width: var(--input-field-max-width-10); min-width: 100px;; } /* Die "moderne Box"-Definition für einzelne Abschnitte ODER den Hauptcontainer */ .mc_elem { background-color: var(--background-light); /* Hintergrundfarbe für die "Karten" */ padding: var(--spacing-medium); /* margin-bottom: var(--spacing-large); border: 1px solid rgba(0, 0, 0, 0.05); box-sizing: border-box; */ } /* Einheitliche Stile für typische HTML-Elemente INNERHALB JEDES .mc_elem */ .mc_elem h1, .mc_elem h2, .mc_elem h3, .mc_elem h4, .mc_elem h5, .mc_elem h6 { color: var(--primary-color); margin-top: 0; margin-bottom: var(--spacing-small); font-weight: 600; } .mc_elem p { margin-top: 0; margin-bottom: var(--spacing-small); } /* Allgemeine Link-Stile innerhalb von .mc_elem (NICHT für Button-Links) */ .mc_elem a { color: #1b12b9; text-decoration: none; transition: color 0.2s ease-in-out; } .mc_elem a:hover { color: var(--accent-color); } /* Stile für Text-, E-Mail-, Passwort-Inputs und Textareas */ .mc_elem input[type="text"], .mc_elem input[type="email"], .mc_elem input[type="password"] { height: var(--input-field-height); max-width: var(--input-field-max-width-50); padding: var(--spacing-small); border: 1px solid rgba(0, 0, 0, 0.1); border-radius: var(--border-radius); box-sizing: border-box; font-size: var(--font-size-large); color: var(--text-color-dark); } /* Stile für Textareas */ .mc_elem textarea { min-height: var(--textarea-min-height); /* Minimale Höhe basierend auf 1.5 Zeilen */ padding: var(--spacing-small); border: 1px solid rgba(0, 0, 0, 0.1); border-radius: var(--border-radius); box-sizing: border-box; font-size: var(--font-size-large); color: var(--text-color-dark); resize: both; /* Erlaube vertikales und horizontales Resizing */ overflow: auto; /* Scrollbalken nur bei Bedarf anzeigen */ } /* Stile für Select-Boxen */ .mc_elem select { background-color: var(--select-background-color); padding: var(--spacing-x-small); margin-left: var(--spacing-small); border: 1px solid rgba(0, 0, 0, 0.1); border-radius: var(--border-radius); box-sizing: border-box; color: var(--text-color-dark); } /* Fokus-Stile für alle Formularfelder (Inputs, Textareas, Selects) */ .mc_elem input[type="text"]:focus, .mc_elem input[type="email"]:focus, .mc_elem input[type="password"]:focus, .mc_elem textarea:focus, .mc_elem select:focus { outline: none; border-color: var(--primary-color); box-shadow: 0 0 0 2px rgba(52, 152, 219, 0.2); } /* Styling für benutzerdefinierte Checkboxen innerhalb von .mc_elem */ .mc_elem .custom-checkbox-wrapper { display: flex; align-items: center; margin-bottom: var(--spacing-small); cursor: pointer; user-select: none; } .mc_elem .custom-checkbox-wrapper input[type="checkbox"] { position: absolute; opacity: 0; width: 0; height: 0; } .mc_elem .custom-checkbox-wrapper .checkbox-visual { border: 2px solid var(--primary-color); border-radius: 4px; background-color: var(--background-light); margin-right: var(--spacing-small); display: inline-block; position: relative; transition: all 0.2s ease-in-out; } .mc_elem .custom-checkbox-wrapper:hover .checkbox-visual { border-color: var(--secondary-color); box-shadow: 0 0 0 2px rgba(52, 152, 219, 0.2); } .mc_elem .custom-checkbox-wrapper .checkbox-visual::after { content: ''; position: absolute; top: 50%; left: 50%; width: 8px; height: 12px; border: solid var(--text-color-light); border-width: 0 3px 3px 0; transform: translate(-50%, -50%) rotate(45deg); opacity: 0; transition: opacity 0.2s ease-in-out; } .mc_elem .custom-checkbox-wrapper input[type="checkbox"]:checked + .checkbox-visual { background-color: var(--primary-color); border-color: var(--primary-color); } .mc_elem .custom-checkbox-wrapper input[type="checkbox"]:checked + .checkbox-visual::after { opacity: 1; } .mc_elem .custom-checkbox-wrapper input[type="checkbox"]:focus-visible + .checkbox-visual { outline: 2px solid var(--primary-color); outline-offset: 2px; } /* Elemente für Dateisuche und Upload-Button [BEGIN] */ .file-upload-wrapper { position: relative; display: flex; align-items: center; gap: 12px; margin-bottom: 20px; } .file-upload-wrapper input[type="file"] { position: absolute; left: -9999px; } .file-upload-label { display: inline-flex; align-items: center; /* Zentriert den Inhalt vertikal */ justify-content: center; /* Zentriert den Inhalt horizontal */ gap: 8px; padding: 0; /* Padding wird entfernt, da Größe fix ist */ background-color: ; color: black; border-radius: 0; /* Entfernt abgerundete Ecken */ width: 200px; /* Feste Breite (Wert anpassbar) */ height: 30px; /* Feste Höhe (Wert anpassbar) */ cursor: pointer; transition: background-color 0.2s ease-in-out; font-weight: 500; } .file-upload-label:hover { background-color: #0056b3; box-shadow: 0 4px 8px rgba(0, 123, 255, 0.3); } .file-name { color: #555; font-style: italic; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex-grow: 1; } /* Elemente für Dateisuche und Upload-Button [END] */