/* SikerSuli - tanári frontend felület
   Márkaszínek: zöld (elsődleges gombok), kék (másodlagos gombok),
   sárga (hangsúlyos szín, pl. aktív fül, jelvények). Háttér fehér,
   szegélyek halvány szürkék. A --ss- változók módosításával bármikor
   újraszínezhető a teljes felület. */

.ss-fe-wrap,
.ss-fe-wrap *,
.ss-fe-wrap *::before,
.ss-fe-wrap *::after {
	box-sizing: border-box !important;
}

/* Extra védőháló: semmilyen mező (dátum, szöveg, szám, legördülő) nem
   léphet túl a saját konténerén, függetlenül a képernyő méretétől vagy
   attól, hogy a mobil böngésző hogyan méri a nézetablakot. Ez akkor is
   megvéd a kilógástól, ha egy adott media query esetleg nem érvényesül. */
.ss-fe-wrap input,
.ss-fe-wrap select,
.ss-fe-wrap textarea {
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
}

/* Védekező reset: megakadályozza, hogy a téma / Elementor globális
   tipográfiai és gomb-stílusai (pl. Elementor Kit beállítások) átszivárogjanak
   a felületünkre. Ez a blokk minden leszármazottra vonatkozik, de mivel a
   lentebbi, konkrétabb szabályaink (pl. .ss-fe-table thead th) nagyobb
   specificitásúak, azok továbbra is felülírják, ahol szándékosan eltérünk. */
.ss-fe-wrap * {
	text-transform: none !important;
	letter-spacing: normal !important;
	text-shadow: none !important;
}
.ss-fe-wrap,
.ss-fe-wrap p,
.ss-fe-wrap span,
.ss-fe-wrap div,
.ss-fe-wrap label,
.ss-fe-wrap td,
.ss-fe-wrap th,
.ss-fe-wrap li,
.ss-fe-wrap input,
.ss-fe-wrap select,
.ss-fe-wrap textarea,
.ss-fe-wrap button,
.ss-fe-wrap a,
.ss-fe-wrap h1,
.ss-fe-wrap h2,
.ss-fe-wrap h3,
.ss-fe-wrap h4 {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
	line-height: 1.5 !important;
}
.ss-fe-wrap a {
	color: inherit !important;
	text-decoration: none !important;
	box-shadow: none !important;
}
.ss-fe-wrap ul,
.ss-fe-wrap ol {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.ss-fe-wrap select {
	padding: 9px 12px !important;
	border: 1px solid var(--ss-border) !important;
	border-radius: 10px !important;
	font-size: 14px !important;
	background: #fff !important;
	color: var(--ss-text) !important;
	appearance: auto !important;
	max-width: 100% !important;
}
/* A natív dátumválasztó böngésző-alapértelmezésben szürke kitöltésű —
   ez nélküle nem illeszkedik a többi (fehér hátterű, szegélyes) mezőhöz,
   és "egybefolyónak" tűnik a kerettel. Egységesítjük az összes select/
   szöveg mezővel megegyező, letisztult megjelenésre. */
.ss-fe-wrap input[type="date"] {
	background: #fff !important;
	color: var(--ss-text) !important;
	border: 1px solid var(--ss-border) !important;
	border-radius: 10px !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}
.ss-fe-wrap button {
	appearance: none !important;
	-webkit-appearance: none !important;
}

.ss-fe-wrap {
	--ss-primary: #7CB56D;
	--ss-primary-dark: #649a57;
	--ss-primary-tint: #eef6ec;
	--ss-secondary: #0087AE;
	--ss-secondary-dark: #006d8c;
	--ss-secondary-tint: #e6f5fa;
	--ss-accent: #FFBF23;
	--ss-accent-dark: #e0a800;
	--ss-accent-tint: #fff6e0;
	--ss-card-bg: #ffffff;
	--ss-border: #e2e2e2;
	--ss-text: #24292f;
	--ss-text-muted: #6b7280;
	--ss-radius: 14px;
	--ss-shadow: 0 2px 10px rgba(15, 23, 42, 0.06);

	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
	color: var(--ss-text) !important;
	max-width: 960px !important;
	margin: 0 auto !important;
	padding: 24px 16px 60px !important;
	line-height: 1.5 !important;
}

/* ---------- Bejelentkezés ---------- */

.ss-fe-login-wrap {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	min-height: 60vh !important;
	padding-top: 40px !important;
}

.ss-fe-login-card {
	background: var(--ss-card-bg) !important;
	border: 1px solid var(--ss-border) !important;
	border-radius: var(--ss-radius) !important;
	box-shadow: var(--ss-shadow) !important;
	padding: 36px 32px !important;
	width: 100% !important;
	max-width: 380px !important;
}

.ss-fe-login-header {
	text-align: center !important;
	margin-bottom: 24px !important;
}

.ss-fe-logo {
	font-size: 22px !important;
	font-weight: 700 !important;
	color: var(--ss-primary-dark) !important;
	letter-spacing: -0.02em !important;
}

.ss-fe-logo-img {
	max-width: 160px !important;
	height: auto !important;
	display: block !important;
	margin: 0 auto !important;
}

.ss-fe-login-header p {
	margin: 6px 0 0 !important;
	color: var(--ss-text-muted) !important;
	font-size: 14px !important;
}

.ss-fe-alert {
	padding: 12px 14px !important;
	border-radius: 10px !important;
	font-size: 14px !important;
	margin-bottom: 18px !important;
}

.ss-fe-alert-error {
	background: #fef2f2 !important;
	color: #b91c1c !important;
	border: 1px solid #fecaca !important;
}

.ss-fe-field {
	display: block !important;
	margin-bottom: 16px !important;
}

.ss-fe-field span {
	display: block !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	margin-bottom: 6px !important;
	color: var(--ss-text-muted) !important;
}

.ss-fe-field input {
	width: 100% !important;
	padding: 11px 13px !important;
	border: 1px solid var(--ss-border) !important;
	border-radius: 10px !important;
	font-size: 15px !important;
	background: #fff !important;
}

.ss-fe-field input:focus {
	outline: none !important;
	border-color: var(--ss-primary) !important;
	box-shadow: 0 0 0 3px rgba(124, 181, 109, 0.22) !important;
}

.ss-fe-remember {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-size: 13px !important;
	color: var(--ss-text-muted) !important;
	margin-bottom: 20px !important;
}

.ss-fe-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	padding: 11px 18px !important;
	border-radius: 10px !important;
	border: 1px solid transparent !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	text-decoration: none !important;
	transition: all 0.15s ease !important;
}

.ss-fe-btn-block {
	width: 100% !important;
}

/* Elsődleges: zöld */
.ss-fe-btn-primary {
	background: var(--ss-primary) !important;
	color: #fff !important;
}
.ss-fe-btn-primary:hover {
	background: var(--ss-primary-dark) !important;
	color: #fff !important;
}

.ss-fe-btn-secondary {
	background: #fff !important;
	border-color: var(--ss-border) !important;
	color: var(--ss-text) !important;
}
.ss-fe-btn-secondary:hover {
	border-color: var(--ss-secondary) !important;
	color: var(--ss-secondary-dark) !important;
}

/* Másodlagos: kék, halvány háttérrel ("ghost" gombok - nap navigáció) */
.ss-fe-btn-ghost {
	background: var(--ss-secondary-tint) !important;
	color: var(--ss-secondary-dark) !important;
	border-color: transparent !important;
}
.ss-fe-btn-ghost:hover {
	background: #d3edf5 !important;
}

/* ---------- Dashboard ---------- */

.ss-fe-topbar {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	margin-bottom: 22px !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
}

.ss-fe-acting-bar {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	background: var(--ss-accent-tint) !important;
	border: 1px solid #ffe6a3 !important;
	border-radius: 10px !important;
	padding: 10px 14px !important;
	margin-bottom: 18px !important;
	font-size: 13px !important;
	color: #8a6100 !important;
}
.ss-fe-acting-bar select {
	padding: 6px 10px !important;
	border: 1px solid var(--ss-border) !important;
	border-radius: 8px !important;
	font-size: 13px !important;
}
.ss-fe-acting-current {
	font-size: 12px !important;
}

.ss-fe-brand {
	font-size: 19px !important;
	font-weight: 700 !important;
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
}
.ss-fe-brand-icon {
	width: 26px !important;
	height: 26px !important;
	border-radius: 6px !important;
}
.ss-fe-brand span {
	font-weight: 400 !important;
	color: var(--ss-text-muted) !important;
	font-size: 14px !important;
}

.ss-fe-user {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	font-size: 14px !important;
	color: var(--ss-text-muted) !important;
}

.ss-fe-logout {
	color: #b91c1c !important;
	text-decoration: none !important;
	font-weight: 600 !important;
}
.ss-fe-logout:hover {
	text-decoration: underline !important;
}

.ss-fe-tabs {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: 8px !important;
	border-bottom: 1px solid var(--ss-border) !important;
	margin-bottom: 24px !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	-webkit-overflow-scrolling: touch !important;
	touch-action: pan-x !important;
	overscroll-behavior-x: contain !important;
}

.ss-fe-tab {
	background: none !important;
	border: none !important;
	padding: 10px 4px !important;
	margin-right: 18px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	color: var(--ss-text-muted) !important;
	cursor: pointer !important;
	border-bottom: 3px solid transparent !important;
	margin-bottom: -1px !important;
	flex-shrink: 0 !important;
	white-space: nowrap !important;
}

/* Aktív fül: kék szöveg, sárga (hangsúly) aláhúzás */
.ss-fe-tab.is-active {
	color: var(--ss-secondary-dark) !important;
	border-bottom-color: var(--ss-accent) !important;
}

.ss-fe-panel {
	display: none !important;
}
.ss-fe-panel.is-active {
	display: block !important;
}

.ss-fe-day-nav {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	flex-wrap: wrap !important;
	margin-bottom: 14px !important;
}

.ss-fe-day-nav input[type="date"] {
	padding: 9px 12px !important;
	border: 1px solid var(--ss-border) !important;
	border-radius: 10px !important;
	font-size: 14px !important;
}

.ss-fe-day-label {
	font-weight: 600 !important;
	margin: 0 0 18px !important;
	color: var(--ss-text) !important;
}

.ss-fe-grid {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 14px !important;
}

.ss-fe-card {
	background: var(--ss-card-bg) !important;
	border: 1px solid var(--ss-border) !important;
	border-radius: var(--ss-radius) !important;
	box-shadow: var(--ss-shadow) !important;
	padding: 18px !important;
	width: 200px !important;
	text-align: center !important;
}

.ss-fe-card-name {
	font-weight: 600 !important;
	margin-bottom: 12px !important;
	font-size: 15px !important;
}

/* Jelöletlen: elsődleges zöld (cselekvésre hív); már jelölve: másodlagos kék (elvégezve) */
.ss-fe-mark-btn {
	width: 100% !important;
	padding: 10px !important;
	border-radius: 10px !important;
	border: 1px solid var(--ss-primary-dark) !important;
	background: var(--ss-primary) !important;
	color: #fff !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	cursor: pointer !important;
	transition: all 0.15s ease !important;
}
.ss-fe-mark-btn:hover {
	background: var(--ss-primary-dark) !important;
}
.ss-fe-mark-btn.is-marked {
	background: var(--ss-secondary) !important;
	border-color: var(--ss-secondary-dark) !important;
}
.ss-fe-mark-btn.is-marked:hover {
	background: var(--ss-secondary-dark) !important;
}

.ss-fe-group-toggle {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	font-size: 12px !important;
	color: var(--ss-text-muted) !important;
	margin-bottom: 8px !important;
	justify-content: center !important;
}

.ss-fe-paid-toggle {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	font-size: 12px !important;
	color: var(--ss-secondary-dark) !important;
	margin-bottom: 8px !important;
	justify-content: center !important;
}

.ss-fe-empty {
	color: var(--ss-text-muted) !important;
	font-size: 14px !important;
}

.ss-fe-log-filter {
	display: flex !important;
	align-items: flex-end !important;
	gap: 14px !important;
	flex-wrap: wrap !important;
	margin-bottom: 20px !important;
	background: #fff !important;
	border: 1px solid var(--ss-border) !important;
	border-radius: var(--ss-radius) !important;
	padding: 16px !important;
}

.ss-fe-log-filter label {
	display: flex !important;
	flex-direction: column !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--ss-text-muted) !important;
	gap: 6px !important;
}

.ss-fe-log-filter input[type="date"] {
	padding: 9px 12px !important;
	border: 1px solid var(--ss-border) !important;
	border-radius: 10px !important;
	font-size: 14px !important;
}

.ss-fe-log-summary {
	font-size: 14px !important;
	margin-bottom: 14px !important;
	color: var(--ss-text-muted) !important;
}

.ss-fe-log-day {
	background: #fff !important;
	border: 1px solid var(--ss-border) !important;
	border-radius: 12px !important;
	padding: 14px 16px !important;
	margin-bottom: 10px !important;
}

.ss-fe-log-date {
	font-weight: 700 !important;
	font-size: 14px !important;
	margin-bottom: 8px !important;
}

.ss-fe-log-students {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 6px !important;
}

/* Sárga hangsúly a napló jelvényeken */
.ss-fe-badge {
	background: var(--ss-accent-tint) !important;
	color: #8a6100 !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	padding: 4px 10px !important;
	border-radius: 999px !important;
	border: 1px solid #ffe6a3 !important;
}
.ss-fe-badge.is-group {
	background: var(--ss-secondary-tint) !important;
	color: var(--ss-secondary-dark) !important;
	border: 1px solid #bfe6f0 !important;
}
.ss-fe-badge.is-paid {
	border: 2px solid var(--ss-primary) !important;
}
.ss-fe-paid-tag {
	background: var(--ss-primary) !important;
	color: #fff !important;
	border-radius: 999px !important;
	padding: 1px 6px !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	margin-left: 2px !important;
}
.ss-fe-cal-group-tag {
	background: rgba(255, 255, 255, 0.6) !important;
	border-radius: 999px !important;
	padding: 0 4px !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
}

@media (max-width: 600px) {
	.ss-fe-card {
		width: 100% !important;
	}
	.ss-fe-login-card {
		padding: 26px 20px !important;
	}
	.ss-fe-log-filter {
		flex-direction: column !important;
		align-items: stretch !important;
	}
	.ss-fe-log-filter label {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
		min-width: 0 !important;
	}
	.ss-fe-log-filter input[type="date"],
	.ss-fe-log-filter input[type="text"],
	.ss-fe-log-filter input[type="number"],
	.ss-fe-log-filter select {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		flex: 1 1 auto !important;
	}
	.ss-fe-log-filter button {
		width: 100% !important;
	}

	/* Univerzális szabály: MINDEN dátumválasztó mező, bárhol legyen is
	   (napi navigáció, űrlapok, szűrők), pontosan a saját dobozának
	   szélességét töltse ki — sosem lóghat ki a keretből. */
	.ss-fe-wrap input[type="date"] {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
		font-size: 14px !important;
		padding: 9px 8px !important;
	}
	.ss-fe-day-nav {
		flex-wrap: wrap !important;
	}
	.ss-fe-day-nav input[type="date"] {
		flex: 1 1 100% !important;
		order: 2 !important;
	}
}

/* ---------- Admin fülek (Áttekintés / Diákok / Tanárok) ---------- */

.ss-fe-alert-success {
	background: var(--ss-primary-tint) !important;
	color: var(--ss-primary-dark) !important;
	border: 1px solid #cfe8c8 !important;
}

.ss-fe-table-wrap {
	overflow-x: auto !important;
	border: 1px solid var(--ss-border) !important;
	border-radius: var(--ss-radius) !important;
	background: #fff !important;
}

.ss-fe-table {
	width: 100% !important;
	border-collapse: collapse !important;
	font-size: 14px !important;
	min-width: 640px !important;
}

.ss-fe-table th,
.ss-fe-table td {
	padding: 10px 14px !important;
	text-align: left !important;
	border-bottom: 1px solid var(--ss-border) !important;
}

.ss-fe-table thead th {
	background: #fafafa !important;
	font-size: 12px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.03em !important;
	color: var(--ss-text-muted) !important;
}

.ss-fe-table tbody tr:last-child td {
	border-bottom: none !important;
}

.ss-fe-table-actions {
	white-space: nowrap !important;
}

.ss-fe-inactive {
	color: #9ca3af !important;
	font-size: 12px !important;
}

.ss-fe-badge-active {
	color: var(--ss-primary-dark) !important;
	background: var(--ss-primary-tint) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	padding: 2px 8px !important;
	border-radius: 999px !important;
}

.ss-fe-ov-total {
	font-size: 14px !important;
	margin: 0 0 14px !important;
	color: var(--ss-text) !important;
}
.ss-fe-ov-total strong {
	color: var(--ss-primary-dark) !important;
}

.ss-fe-theoretical-box {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
	margin-bottom: 18px !important;
}
.ss-fe-theoretical-item {
	background: var(--ss-primary-tint) !important;
	border: 1px solid #cfe8c8 !important;
	border-radius: 10px !important;
	padding: 12px 16px !important;
	min-width: 220px !important;
	flex: 1 1 220px !important;
}
.ss-fe-theoretical-item span {
	display: block !important;
	font-size: 12px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.03em !important;
	color: var(--ss-text-muted) !important;
	margin-bottom: 4px !important;
}
.ss-fe-theoretical-item strong {
	display: block !important;
	font-size: 20px !important;
	color: var(--ss-primary-dark) !important;
}
.ss-fe-theoretical-item small {
	display: block !important;
	font-size: 11px !important;
	color: var(--ss-text-muted) !important;
	margin-top: 4px !important;
}
.ss-fe-theoretical-gabor {
	background: var(--ss-secondary-tint) !important;
	border-color: #bfe6f0 !important;
}
.ss-fe-theoretical-gabor strong {
	color: var(--ss-secondary-dark) !important;
}
.ss-fe-theoretical-gabor-wide {
	flex-basis: 100% !important;
}
.ss-fe-gabor-row {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 20px !important;
	margin: 6px 0 8px !important;
}
.ss-fe-gabor-col small {
	display: block !important;
	font-size: 11px !important;
	color: var(--ss-text-muted) !important;
	margin-bottom: 2px !important;
}
.ss-fe-gabor-col strong {
	display: block !important;
	font-size: 18px !important;
}
.ss-fe-gabor-debt {
	display: block !important;
	color: #b91c1c !important;
	font-weight: 600 !important;
	margin-bottom: 4px !important;
}
.ss-fe-theoretical-expense strong {
	color: #b91c1c !important;
}
.ss-fe-theoretical-net {
	background: var(--ss-accent-tint) !important;
	border-color: #ffe6a3 !important;
}
.ss-fe-theoretical-net strong {
	color: #8a6100 !important;
}

.ss-fe-quick-range {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	flex-wrap: wrap !important;
	width: 100% !important;
	margin-top: 8px !important;
	padding-top: 8px !important;
	border-top: 1px solid var(--ss-border) !important;
}
.ss-fe-quick-range-label {
	font-size: 12px !important;
	color: var(--ss-text-muted) !important;
	margin-right: 4px !important;
}
.ss-fe-quick-range-btn {
	font-size: 12px !important;
	padding: 4px 12px !important;
}

.ss-fe-exp-add-form {
	max-width: 640px !important;
}

.ss-fe-divider {
	border: none !important;
	border-top: 1px solid var(--ss-border) !important;
	margin: 32px 0 !important;
}

.ss-fe-export-row {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	flex-wrap: wrap !important;
	margin-bottom: 18px !important;
	font-size: 13px !important;
	color: var(--ss-text-muted) !important;
}

.ss-fe-form {
	background: #fff !important;
	border: 1px solid var(--ss-border) !important;
	border-radius: var(--ss-radius) !important;
	padding: 20px !important;
	max-width: 520px !important;
	margin-bottom: 26px !important;
}

.ss-fe-form-wide {
	max-width: none !important;
}

.ss-fe-checkline {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-size: 14px !important;
	margin-bottom: 8px !important;
}

.ss-fe-form-actions {
	display: flex !important;
	gap: 10px !important;
	margin-top: 18px !important;
}

.ss-fe-hint {
	font-size: 13px !important;
	color: var(--ss-text-muted) !important;
	margin: 4px 0 0 !important;
}

.ss-fe-link {
	color: var(--ss-secondary-dark) !important;
	text-decoration: none !important;
	font-weight: 600 !important;
	font-size: 13px !important;
}
.ss-fe-link:hover {
	text-decoration: underline !important;
}
.ss-fe-link-danger {
	color: #b91c1c !important;
}

.ss-fe-wrap h3 {
	font-size: 16px !important;
	margin: 28px 0 12px !important;
}
.ss-fe-wrap h3:first-of-type {
	margin-top: 6px !important;
}

@media (max-width: 600px) {
	.ss-fe-export-row {
		flex-direction: column !important;
		align-items: flex-start !important;
	}
}

.ss-pay-delete-btn {
	background: none !important;
	border: 1px solid #f3c2c2 !important;
	color: #b91c1c !important;
	border-radius: 6px !important;
	padding: 3px 10px !important;
	font-size: 12px !important;
	cursor: pointer !important;
}
.ss-pay-delete-btn:hover {
	background: #fef2f2 !important;
}

.ss-fe-teacher-commission-row {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 8px 16px !important;
	margin-bottom: 10px !important;
	padding: 10px 12px !important;
	background: #fafafa !important;
	border: 1px solid var(--ss-border) !important;
	border-radius: 10px !important;
}
.ss-fe-teacher-commission-row .ss-fe-checkline {
	flex: 1 1 100% !important;
	margin-bottom: 6px !important;
	font-weight: 600 !important;
	min-width: 0 !important;
	flex-wrap: wrap !important;
	word-break: break-word !important;
}
.ss-fe-commission-field {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	font-size: 12px !important;
	color: var(--ss-text-muted) !important;
	white-space: nowrap !important;
}
.ss-fe-commission-input {
	width: 110px !important;
	padding: 7px 10px !important;
	border: 1px solid var(--ss-border) !important;
	border-radius: 8px !important;
	font-size: 13px !important;
}

.ss-fe-log-earnings {
	background: var(--ss-primary-tint) !important;
	color: var(--ss-primary-dark) !important;
	border: 1px solid #cfe8c8 !important;
	border-radius: 10px !important;
	padding: 12px 16px !important;
	font-size: 15px !important;
	margin-bottom: 16px !important;
}
.ss-fe-log-earnings strong {
	font-size: 17px !important;
}

.ss-fe-log-balance {
	background: var(--ss-accent-tint) !important;
	color: #8a6100 !important;
	border: 1px solid #ffe6a3 !important;
	border-radius: 10px !important;
	padding: 10px 16px !important;
	font-size: 13px !important;
	margin: 0 0 16px !important;
}
.ss-fe-log-balance strong {
	font-size: 15px !important;
}

.ss-fe-log-payments {
	background: var(--ss-secondary-tint) !important;
	border: 1px solid #bfe6f0 !important;
	border-radius: 10px !important;
	padding: 12px 16px !important;
	margin: 0 0 16px !important;
	font-size: 13px !important;
	color: var(--ss-text) !important;
}
.ss-fe-log-payments-title {
	font-weight: 600 !important;
	color: var(--ss-secondary-dark) !important;
	margin-bottom: 6px !important;
}
.ss-fe-log-payments ul {
	margin: 0 !important;
	padding-left: 18px !important;
}
.ss-fe-log-payments li {
	margin-bottom: 3px !important;
}

.ss-fe-badge-commission {
	color: var(--ss-text-muted) !important;
	font-weight: 400 !important;
	font-size: 12px !important;
}

/* ---------- Naptár ---------- */

.ss-fe-cal-nav {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	flex-wrap: wrap !important;
	margin-bottom: 16px !important;
}
.ss-fe-cal-label {
	font-weight: 700 !important;
	font-size: 15px !important;
	min-width: 140px !important;
	text-align: center !important;
}

.ss-fe-cal-grid {
	display: grid !important;
	grid-template-columns: repeat(7, 1fr) !important;
	gap: 6px !important;
}
.ss-fe-cal-head {
	text-align: center !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	color: var(--ss-text-muted) !important;
	text-transform: uppercase !important;
	padding: 4px 0 !important;
}
.ss-fe-cal-cell {
	background: #fff !important;
	border: 1px solid var(--ss-border) !important;
	border-radius: 10px !important;
	min-height: 74px !important;
	padding: 6px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 3px !important;
}
.ss-fe-cal-cell.ss-fe-cal-empty {
	background: transparent !important;
	border: none !important;
}
.ss-fe-cal-cell.is-today {
	border: 2px solid var(--ss-primary) !important;
	background: var(--ss-primary-tint) !important;
}
.ss-fe-cal-daynum {
	font-size: 12px !important;
	font-weight: 700 !important;
	color: var(--ss-text-muted) !important;
}
.ss-fe-cal-badge {
	background: var(--ss-secondary-tint) !important;
	color: var(--ss-secondary-dark) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	padding: 2px 6px !important;
	border-radius: 999px !important;
	line-height: 1.4 !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	max-width: 100% !important;
}
.ss-fe-cal-badge.is-group {
	background: var(--ss-accent-tint) !important;
	color: #8a6100 !important;
}

@media (max-width: 700px) {
	.ss-fe-cal-grid {
		grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
		gap: 3px !important;
	}
	.ss-fe-cal-cell {
		min-height: 54px !important;
		padding: 3px !important;
	}
	.ss-fe-cal-badge {
		font-size: 9px !important;
		padding: 1px 4px !important;
	}
}

/* ---------- Órarend rács ---------- */

.ss-fe-schedule-grid {
	width: 100% !important;
	min-width: 920px !important;
	border-collapse: collapse !important;
	font-size: 13px !important;
}

.ss-fe-schedule-grid th,
.ss-fe-schedule-grid td {
	border: 1px solid var(--ss-border) !important;
	padding: 6px !important;
	vertical-align: top !important;
}

.ss-fe-schedule-grid thead th {
	background: #fafafa !important;
	text-align: center !important;
	font-size: 12px !important;
	color: var(--ss-text-muted) !important;
}

.ss-fe-sched-time-col {
	width: 100px !important;
	font-weight: 600 !important;
	text-align: center !important;
	background: #fafafa !important;
	white-space: nowrap !important;
	color: var(--ss-text-muted) !important;
}

.ss-fe-sched-day-cell {
	min-width: 110px !important;
	height: 48px !important;
}

.ss-fe-sched-entry {
	position: relative !important;
	background: var(--ss-primary-tint) !important;
	border-radius: 6px !important;
	padding: 4px 20px 4px 6px !important;
	margin-bottom: 4px !important;
	font-size: 12px !important;
	line-height: 1.3 !important;
}
.ss-fe-sched-entry strong {
	display: block !important;
	font-size: 12px !important;
}
.ss-fe-sched-note {
	color: var(--ss-text-muted) !important;
	font-size: 11px !important;
}
.ss-fe-sched-del {
	position: absolute !important;
	top: 2px !important;
	right: 5px !important;
	color: #b91c1c !important;
	text-decoration: none !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	line-height: 1 !important;
}
.ss-fe-sched-del:hover {
	text-decoration: underline !important;
}

@media (max-width: 700px) {
	.ss-fe-schedule-grid {
		font-size: 11px !important;
	}
}

/* ---------- App mód (PWA) telepítési súgó ---------- */

.ss-fe-install-help {
	text-align: center !important;
	margin-top: 14px !important;
}

.ss-fe-install-help-toggle {
	background: none !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	box-shadow: none !important;
	color: var(--ss-secondary-dark) !important;
	text-decoration: underline !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	font-family: inherit !important;
	line-height: 1.4 !important;
}
.ss-fe-install-help-toggle:hover {
	color: var(--ss-secondary) !important;
}

.ss-fe-install-help-content {
	text-align: left !important;
	background: var(--ss-secondary-tint) !important;
	border: 1px solid #bfe6f0 !important;
	border-radius: 10px !important;
	padding: 14px 16px !important;
	margin-top: 10px !important;
	font-size: 13px !important;
	color: var(--ss-text) !important;
	line-height: 1.5 !important;
}
.ss-fe-install-help-content p {
	margin: 0 0 10px !important;
	color: var(--ss-text) !important;
}
.ss-fe-install-help-content p:last-child {
	margin-bottom: 0 !important;
}
.ss-fe-install-help-content strong {
	color: var(--ss-secondary-dark) !important;
	font-weight: 700 !important;
}

/* ---------- Utalások / számlázás-figyelő ---------- */

.ss-fe-billing-row.ss-fe-billing-warning {
	background: #ffe9a8 !important;
	box-shadow: inset 4px 0 0 #e0a800 !important;
}
.ss-fe-billing-row.ss-fe-billing-warning td {
	color: #6b4e00 !important;
}
.ss-fe-billing-row.ss-fe-billing-overdue {
	background: #f5b8bc !important;
	box-shadow: inset 4px 0 0 #b91c1c !important;
}
.ss-fe-billing-row.ss-fe-billing-overdue td {
	color: #7a1418 !important;
	font-weight: 600 !important;
}
.ss-fe-billing-row.ss-fe-billing-cash {
	background: #cdeac0 !important;
	box-shadow: inset 4px 0 0 var(--ss-primary-dark) !important;
}
.ss-fe-billing-row.ss-fe-billing-cash td {
	color: #235c1a !important;
}

.ss-fe-billing-badge {
	display: inline-block !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	padding: 3px 10px !important;
	border-radius: 999px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.02em !important;
}
.ss-fe-billing-badge.ok {
	background: var(--ss-primary-tint) !important;
	color: var(--ss-primary-dark) !important;
}
.ss-fe-billing-badge.warning {
	background: #e0a800 !important;
	color: #fff !important;
}
.ss-fe-billing-badge.overdue {
	background: #b91c1c !important;
	color: #fff !important;
}
.ss-fe-billing-badge.cash {
	background: var(--ss-primary-dark) !important;
	color: #fff !important;
}

.ss-fe-settle-remaining {
	font-weight: 700 !important;
	margin: 8px 0 16px !important;
}

