/* =====================================================
   Basislayout
   ===================================================== */
* {
	box-sizing: border-box;
	font-family: Arial, Helvetica, sans-serif;
}

body {
	margin: 0;
	background: #020617;
	color: #fff;
}

/* =====================================================
   Überschriften
   ===================================================== */
h1, h2, h3 {
	color: #fff;
}

h2 {
	margin-bottom: 20px;
}

/* =====================================================
   Globale Buttons
   ===================================================== */
.btn-primary {
	width: 100%;
	display: inline-block;
	padding: 12px;
	margin-top: 12px;
	background: #2563eb;
	border: none;
	border-radius: 8px;
	color: #ffffff !important;
	font-size: 15px;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
}

.btn-primary:hover {
	background: #1d4ed8;
}

/* Input-Buttons optisch wie normale Buttons */
input.btn-primary {
	appearance: none;
}

/* =====================================================
   Globale JSF-Meldungen
   ===================================================== */
.global-messages {
	margin: 1rem 0;
	padding: 0;
	list-style: none;
}

.global-messages li {
	list-style: none;
	padding: 10px 14px;
	border-radius: 6px;
	margin-bottom: 8px;
	font-size: 14px;
	font-weight: 500;
}

/* Info / Erfolg */
.msg-info {
	background: #dcfce7;
	color: #166534;
	border: 1px solid #86efac;
}

/* Fehler */
.msg-error {
	background: #fee2e2;
	color: #991b1b;
	border: 1px solid #fca5a5;
}

/* Warnung */
.msg-warn {
	background: #fef3c7;
	color: #92400e;
	border: 1px solid #fde68a;
}

/* Feldbezogene Fehlermeldungen */
.field-error {
	display: block;
	margin-top: 4px;
	margin-bottom: 10px;
	color: #ef4444;
	font-size: 13px;
}

/* =====================================================
   Hinweisbox / Kontextanzeige
   ===================================================== */
.hint-box {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 6px 16px;
	margin-bottom: 18px;
	padding: 14px;
	background: #020617;
	border: 1px solid #334155;
	border-radius: 10px;
	color: #e5e7eb;
}

/* Hervorhebung der Beschriftungen */
.hint-box strong {
	color: #ffffff;
	font-weight: 700;
}

/* Lange Inhalte sauber umbrechen */
.hint-box>div {
	word-break: break-word;
}