/* Sdílené základy */
html, body { height: 100%; }
body {
	margin: 0;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: #222;
}

/* Přihlašovací stránka (front-page.php) */
body.fkt-login-page {
	background: linear-gradient(180deg, #16301f, #2c5b3f);
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100vh;
}
.fkt-login-card {
	width: 100%;
	max-width: 340px;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 10px 30px rgba(0,0,0,.25);
	padding: 32px 28px;
	box-sizing: border-box;
	margin: 20px;
}
.fkt-login-card h1 { font-size: 17px; margin: 0 0 22px; text-align: center; color: #1f3d2c; }
.fkt-field { margin-bottom: 14px; }
.fkt-field label { display: block; font-size: 13px; font-weight: 600; color: #444; margin-bottom: 4px; }
.fkt-field input[type=text], .fkt-field input[type=password] {
	width: 100%; box-sizing: border-box; padding: 9px 10px; border: 1px solid #ccc; border-radius: 6px; font-size: 15px;
}
.fkt-remember { display: flex; align-items: center; gap: 6px; font-size: 13px; color: #555; margin-bottom: 18px; }
.fkt-submit {
	width: 100%; padding: 10px; border: none; border-radius: 6px; background: #2c5b3f; color: #fff;
	font-size: 15px; font-weight: 600; cursor: pointer;
}
.fkt-submit:hover { background: #23492f; }
.fkt-error { background: #fdecea; color: #a12a2a; border: 1px solid #f3c1bd; border-radius: 6px; padding: 9px 12px; font-size: 13px; margin-bottom: 16px; }
.fkt-hp-field { position: absolute; left: -9999px; top: -9999px; }

/* Obecné stránky (page.php, index.php) */
body.fkt-page, body.fkt-fallback { background: #eef1ef; }
.fkt-bar { background: #1f3d2c; color: #fff; padding: 12px 24px; display: flex; align-items: center; justify-content: space-between; }
.fkt-bar a { color: #fff; text-decoration: none; }
.fkt-bar .fkt-site { font-weight: 600; }
.fkt-bar .fkt-logout { font-size: 13px; opacity: .85; }
.fkt-bar .fkt-logout:hover { opacity: 1; text-decoration: underline; }
.fkt-content { max-width: 900px; margin: 28px auto; padding: 0 20px 60px; box-sizing: border-box; }
.fkt-page-card { background: #fff; border-radius: 10px; box-shadow: 0 1px 3px rgba(0,0,0,.08); padding: 28px; }

/* 404 */
body.fkt-404-page { background: #eef1ef; min-height: 100vh; display: flex; align-items: center; justify-content: center; }
.fkt-404 { text-align: center; }
.fkt-404 a { color: #2c5b3f; font-weight: 600; }
