/* Modernisiertes KEMP Login Styling */

body
{
	background: #2b2f36;
	text-align: center;
	font-family: system-ui, -apple-system, "Segoe UI", "Helvetica Neue", sans-serif;
	margin: 0;
	padding: 0;
	min-height: 100vh;
}

img
{
	border: 0;
	margin-bottom: -4px;
}

.nonMSIE
{
	padding: 3px 3px;
	margin: 2px 2px;
}

/* Haupt-Container */
table#tblMain
{
	margin-top: 80px;
	margin-left: auto;
	margin-right: auto;
	padding: 0;
	background: #fafaf7;
	border-radius: 12px;
	border-collapse: separate;
	overflow: hidden;
	box-shadow: 0 4px 24px rgba(0,0,0,0.25);
}

/* Mittlerer Bereich (mit Inputs) */
table.mid
{
	width: 360px;
	border-collapse: collapse;
	padding: 0;
	color: #333;
}

table.tblConn
{
	direction: ltr;
	text-align: center;
}

td.tdConnImg
{
	width: 22px;
}

td.tdCopy
{
	font-size: 80%;
}

td.tdConn
{
	padding-top: 20px;
	text-align: center;
	color: #888;
	font-size: 11px;
}

/* Linker und rechter Rand - Bilder ausblenden */
td#mdLft
{
	background: none;
	width: 0;
	padding: 0;
}

td#mdRt
{
	background: none;
	width: 0;
	padding: 0;
}

td#mdMid
{
	padding: 40px 44px;
	background: transparent;
	vertical-align: top;
}

td .txtpad
{
	padding: 6px 0;
	text-align: left;
}

select, table
{
	color: #333;
}

/* Inputfelder - kein Pisslgelb mehr */
select, .txt
{
	color: #1f2329;
	background-color: #ffffff;
	border: 1px solid #ccc;
	border-radius: 6px;
	margin: 4px 0;
	font-size: 14px;
	font-family: inherit;
	transition: border-color 0.15s, box-shadow 0.15s;
}

.txt
{
	padding: 10px 12px;
	height: auto;
	box-sizing: border-box;
}

.txt:focus, select:focus
{
	outline: none;
	border-color: #8b1f2f;
	box-shadow: 0 0 0 2px rgba(139,31,47,0.15);
}

.nowrap
{
	white-space: nowrap;
	font-size: 13px;
	color: #444;
	font-weight: 500;
	padding-right: 10px;
}

hr
{
	height: 0;
	visibility: hidden;
}

.l { text-align: left; }
.r { text-align: right; }

/* Links und Akzente */
a
{
	color: #8b1f2f;
	text-decoration: none;
}

a:hover
{
	text-decoration: underline;
}

.wrng
{
	color: #c0392b;
	font-size: 13px;
	padding: 8px 0;
}

.disBsc
{
	color: #999;
}

.expl
{
	color: #777;
	font-size: 12px;
}

.w100, .txt
{
	width: 100%;
}

.txt
{
	margin: 0;
}

.rdo
{
	margin: 0 12px 0 0;
}

tr.expl td, tr.wrng td
{
	padding: 4px 0 6px 0;
}

tr#trSec td
{
	padding: 6px 0 10px 0;
}

/* Anmelde-Button - Bordeaux */
input[type="submit"], button[type="submit"]
{
	background: #8b1f2f;
	color: #fff;
	border: none;
	border-radius: 6px;
	padding: 11px 24px;
	font-size: 14px;
	font-weight: 500;
	font-family: inherit;
	cursor: pointer;
	letter-spacing: 0.3px;
	width: 100%;
	margin-top: 8px;
	transition: background-color 0.15s;
}

input[type="submit"]:hover, button[type="submit"]:hover
{
	background: #6f1825;
}

input[type="submit"]:active, button[type="submit"]:active
{
	background: #5a131e;
}

/* Radio-Buttons (falls nicht ausgeblendet) */
input[type="radio"]
{
	margin-right: 6px;
	cursor: pointer;
	accent-color: #8b1f2f;
}

label
{
	cursor: pointer;
	color: #444;
	font-size: 13px;
}

/* Sprachseite */
td#tdLng { padding: 12px 0; }
td#tdTz { padding: 8px 0; }
select#selTz { padding: 4px; margin: 0; }
td#tdOptMsg { padding: 10px 0; }
td#tdOptChk { padding: 0 0 15px 65px; }
td#tdOptAcc { vertical-align: middle; padding: 0 0 0 3px; }
select#selLng { margin: 0 16px; }

/* Logoff-Seite */
td#tdMsg
{
	margin: 9px 0 64px;
	color: #444;
}

.dir { direction: ltr; }
.align { text-align: left; }
.padding { padding-left: 0; }

/* Fehlerbox bei deaktiviertem Javascript */
div#dvErr
{
	padding: 12px 16px;
	background-color: #fdecea;
	border: 1px solid #c0392b;
	border-radius: 6px;
	color: #6b1f1f;
	margin: 16px;
}

div#dvErr table
{
	color: #6b1f1f;
}

div#dvErr a
{
	color: #8b1f2f;
}

/* Alte Banner-Bilder oben/unten ausblenden */
td.kmgTL, td.kmgBL
{
	width: 0;
	display: none;
}

td.kmgTR, td.kmgBR
{
	width: 0;
	display: none;
}

table.tblLgn
{
	padding: 0;
	margin: 0;
	border-collapse: collapse;
	width: 100%;
	display: none;
}

/* Captcha-Box */
.g-recaptcha
{
	margin: 12px 0;
}

/* SSO-Meldung */
#ssomsg
{
	font-size: 13px;
	color: #444;
	padding: 4px 0;
}

#badmsg
{
	color: #c0392b;
	font-size: 13px;
	padding: 4px 0;
}

/* Reset-Passwort Bereich */
#reset_pass
{
	font-size: 13px;
	padding: 8px 0;
	color: #555;
}
