<style>
/* Formular-Breiten */
.w400 {	max-width: 400px; }
.w600 {	max-width: 600px; }
.w800 { max-width: 800px; }
.w1200 { max-width: 1200px;}
.wmax { max-width: 100%; }
/* Allgemeine Forms Klassen! */
.form-area {
    /* Etwas schmaler wirkt bei Logins meist eleganter */
    margin: 40px auto; 
    font-family: sans-serif;
    display: flex;
    flex-direction: column;
    background: #000; 
    padding: 30px; 
    border: 2px solid #333;
    border-radius: 8px;	
}

.form-area h2 {
    width: 100%;
    color: #8A9A5B;
    margin: 0 0 20px 0;
    text-align: left;
	valign: middle;
    font-size: 1.5rem;
	display: flex;
    align-items: center;
    gap: 15px;	
    border-bottom: 2px solid #8A9A5B; 
    padding-bottom: 15px; 
    margin-bottom: 30px;
}


.form-area h3 {
    width: 100%;
    color: #F0EAD6;
    margin: 0 0 10px 0;
    text-align: left;
	valign: middle;
    font-size: 1.2rem;
	display: flex;
    align-items: center;
    gap: 15px;	
}

.form-area h2 img {
    height: 1.5em;
    width: auto;
}

.form-welcome {
	font-weight: bold;
	padding-bottom: 10px;
}


	
.filter-control-row, 
.member-checkbox-wrapper {
    flex: 0 0 50%;
    box-sizing: border-box;
}



/* Styling für die Checkbox */
.checkbox-line {
    display: flex !important;
    flex-direction: row !important; /* Erzwingt die Reihe */
    flex-wrap: nowrap;              /* Verhindert das Umbrechen */
    align-items: flex-start;        /* Richtet Box oben am Text aus */
    gap: 12px;
    margin: 10px 0 20px 0;
    width: 100%;
    box-sizing: border-box;
}

/* Die Checkbox selbst */
.checkbox {
    appearance: none;
    -webkit-appearance: none;
    width: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    height: 20px !important;
    background-color: #111;
    border: 2px solid #8A9A5B;
    border-radius: 4px;
    cursor: pointer;
    flex-shrink: 0;           /* Ganz wichtig: Verhindert das Zusammenquetschen */
    margin: 0 !important;     /* Entfernt alle Abstände vom allgemeinen Input-Style */
    position: relative;
    display: inline-block;
}

.checkbox:checked {
    background-color: #d1c9b0;
    border-color: #8A9A5B;
}

.checkbox:checked::after {
    content: '✔';
    position: absolute;
    color: #000;               
    font-size: 14px;
    left: 3px;
    top: -1px;
}

/* Der Text daneben */
.checkbox-line label {
    margin-bottom: 0;
    color: #6d7b46;
    font-weight: normal;
    font-size: 0.85em;
    line-height: 1.4;
    cursor: pointer;
    flex: 1;
}

.checkbox-line label a {
    color: #6d7b46;
    font-weight: bold;
    text-decoration: none;
    }
    
.checkbox-line label a:hover {
    text-decoration: underline;
    }

/* Bild Bearbeitung */
.bild-bearbeiten-container { max-width: 100%; margin: 20px auto; font-family: sans-serif; line-height: 1.6; color: #F0EAD6; background-color: #000; }
.bild-row { display: flex; gap: 20px; border-bottom: 1px solid #ccc; padding: 15px 0; align-items: center; }
.vorschau-img { width: 150px; height: 150px; object-fit: cover; border-radius: 8px; background: #eee; }
.inputs { flex-grow: 1; display: flex; flex-direction: column; gap: 8px; }
.info-badge { font-size: 0.8em; background: #e8f5e9; color: #2e7d32; padding: 2px 8px; border-radius: 4px; align-self: flex-start; }
.pic-edit {
	display: none;
} 	

/* Allgemeine Form-Klassen */    
.form-text { 
    background: #111; 
    border: 1px solid #5B574C; 
    color: #F0EAD6; 
    width: 100%; 
    margin-bottom: 15px; 
    padding: 12px;
    border-radius: 4px;
    box-sizing: border-box;
}

.form-text:focus {
    border-color: #F0EAD6;
    outline: none;
}

.upload-form { 
    width: 25%; 
    padding: 12px; 
    background: #8A9A5B;
    color: #000; 
    border: none; 
    border-radius: 4px; 
    cursor: pointer; 
    font-weight: bold;
    text-transform: uppercase;
}

.form-submit { 
    width: 100%; 
    padding: 12px; 
    background: #8A9A5B;
    color: #000; 
    border: none; 
    border-radius: 4px; 
    cursor: pointer; 
    font-weight: bold;
    text-transform: uppercase;
}

.form-submit:hover {
    background: #6d7b46;
}

.icon-circle { 
	width: 60px; 
	height: 60px; 
	background: #6d7b46; 
	color: #F0EAD6; 
	border-radius: 50%; 
	display: flex; 
	align-items: center; 
	justify-content: center; 
	font-size: 30px; 
	margin: 0 auto 20px; 
	border: 2px solid #111;
}

/* Die Fehlermeldung (Eigene Zeile darunter) */
.form-error {
    color: #ff4444;
    background: rgba(255, 0, 0, 0.1);
    border: 1px solid #ff4444;
    padding: 10px;
    margin-bottom: 20px;
    width: 100%;
    text-align: center;
    border-radius: 4px;
    box-sizing: border-box;
}

.form-info {
	color: #111;
	padding-bottom: 25px;
}



.success-msg { 
	color: #2ecc71; 
	font-weight: bold; 
	}
	
.error-msg { 
	color: #D2691E; 
	font-weight: bold; 
	}


.form-group {
    margin-bottom: 15px;
}

.form-group label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
    color: #444;
}

.form-group input {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.input-disabled {
    background-color: #e9e9e9;
    cursor: not-allowed;
	color: #666;
}

.btn-save {
    background-color: #8A9A5B;
    color: white;
    padding: 12px 20px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
    transition: background 0.3s;
    
    background: #8A9A5B; 
    color: #000; 
    border: none; 
    padding: 10px 20px; 
    cursor: pointer; 
    font-weight: bold; 
    width: 20%; 
    min-width: 100px; 
    border-radius: 4px; 
    flex-shrink: 0;
}

.btn-save:hover {
    background-color: #6d7b46;
}

/* Modal Hintergrund */
.modal {
    display: none; 
    position: fixed; z-index: 1000; left: 0; top: 0;
    width: 100%; height: 100%; background-color: rgba(0,0,0,0.7);
}
/* Modal Fenster */
.modal-content {
    background-color: #F0EAD6;
    margin: 5% auto; padding: 20px;
    border-radius: 8px; width: 320px; text-align: center;
}
.modal-buttons { 
	display: flex; 
	justify-content: space-between; 
	margin-top: 15px; 
	}
	
.btn-alt { 
	background: #ccc; 
	border: none; 
	padding: 10px; 
	border-radius: 4px; 
	cursor: pointer; 
	}

.infotext {
    color: #8A9A5B;
}

/* Ergänzung für die Logbuch-Tabelle */
table {
    background: #fff; /* Kontrast zum Eggshell Hintergrund */
    border-radius: 6px;
}

table td {
    padding: 12px;
    border-bottom: 1px solid #d1c9b0;
}

table tr:nth-child(even) {
    background-color: rgba(138, 154, 91, 0.05); /* Dezentes Salbei-Zebra-Muster */
}

table tr:hover {
    background-color: rgba(138, 154, 91, 0.15); /* Hover-Effekt für bessere Lesbarkeit */
}
/* Inplace-Edit Styling */
.table-input {
    width: 100%;
    border: 1px solid transparent;
    background: transparent;
    padding: 5px;
    font-family: inherit;
    font-size: inherit;
    border-radius: 4px;
}
.table-input:hover {
    border-color: #8A9A5B;
    background: #fdfdfd;
}
.table-input:focus {
    outline: none;
    border-color: #333;
    background: #fff;
}

/* Kalender-Icon Steuerung */
input[type="date"]::-webkit-calendar-picker-indicator {
    display: none;
}
input[type="date"]:focus::-webkit-calendar-picker-indicator {
    display: block;
    cursor: pointer;
}

.btn-delete {
    color: #ff4444;
    cursor: pointer;
    font-size: 1.2em;
    text-decoration: none;
}
.btn-delete:hover {
    color: #cc0000;
    transform: scale(1.1);
}

.star-rating {
    display: flex;
    flex-direction: row-reverse; /* Wichtig für die Logik der "vorherigen" Sterne */
    justify-content: center;
    gap: 5px;
}

.star-rating input {
    display: none; /* Radio-Buttons verstecken */
}

.star-rating label {
    font-size: 40px; /* Schön groß */
    color: transparent; /* Versteckt die Standardfüllung */
    -webkit-text-stroke: 2px #ccc; /* Erzeugt die "leere" Stern-Optik (Outline) */
    cursor: pointer;
    transition: all 0.2s ease-in-out;
}

/* Hover-Effekt: Der Stern und alle links davon (im Code danach) werden farbig */
.star-rating label:hover,
.star-rating label:hover ~ label {
    color: #D2691E; /* Deine Akzentfarbe */
    -webkit-text-stroke: 1px #D2691E;
}

/* Klick-Effekt (Checked): Wenn ausgewählt, dauerhaft füllen */
.star-rating input:checked ~ label {
    color: #8A9A5B; /* Deine Primärfarbe (z.B. das Grün) */
    -webkit-text-stroke: 1px #8A9A5B;
}

/* Wenn ein Stern ausgewählt ist, sollen die Sterne beim Hovern trotzdem noch reagieren */
.star-rating label:hover ~ label {
    color: #D2691E;
}
/*********************/
/* Media Anpassungen */
/*********************/

@media (max-width: 768px) {
    .profile-info-grid { grid-template-columns: 1fr; }
}
</style>