/* SikerSuli Érettségi Gyakorló - frontend styles
   Written with !important throughout so that Elementor / theme styles
   cannot override the app's own design. */

.segy-app,
.segy-app * {
	box-sizing: border-box !important;
}

.segy-app {
	display: block !important;
	position: relative !important;
	width: 100% !important;
	max-width: 780px !important;
	margin: 24px auto !important;
	padding: 24px !important;
	background: #FDFDFD !important;
	color: #26332B !important;
	border: 1px solid #E7E7E7 !important;
	border-radius: 14px !important;
	box-shadow: 0 2px 18px rgba(0, 0, 0, 0.08) !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
	font-size: 16px !important;
	line-height: 1.5 !important;
	text-align: left !important;
	float: none !important;
}

.segy-app h3 {
	font-family: inherit !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #26332B !important;
	margin: 24px 0 10px !important;
	padding: 0 !important;
	line-height: 1.3 !important;
}

.segy-app p {
	margin: 0 0 10px !important;
	padding: 0 !important;
	color: inherit !important;
}

.segy-app a {
	color: #0087AD !important;
	text-decoration: underline !important;
	background: none !important;
}

/* Group switcher (multi-teacher membership) */
#segy-group-switcher:empty {
	display: none !important;
}

#segy-group-switcher {
	margin: 0 0 16px !important;
}

.segy-group-switcher-label {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #6B7A70 !important;
}

.segy-app select#segy-group-select {
	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #1F2D24 !important;
	background: #F4F8F5 !important;
	border: 1px solid #D3DED7 !important;
	border-radius: 8px !important;
	padding: 6px 10px !important;
	cursor: pointer !important;
}

/* Tabs */
.segy-tabs {
	display: flex !important;
	gap: 8px !important;
	margin: 0 0 20px !important;
	padding: 0 !important;
	border-bottom: 2px solid #E7E7E7 !important;
}

.segy-tab-btn {
	all: unset !important;
	box-sizing: border-box !important;
	cursor: pointer !important;
	font-family: inherit !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	color: #6B7A70 !important;
	padding: 10px 16px !important;
	margin-bottom: -2px !important;
	border-bottom: 3px solid transparent !important;
	border-radius: 0 !important;
}

.segy-tab-btn.active,
.segy-tab-btn:hover {
	color: #26332B !important;
	border-bottom-color: #7CB56D !important;
}

.segy-tab-panel {
	display: none !important;
}

.segy-tab-panel.active {
	display: block !important;
}

/* Toolbar */
.segy-toolbar {
	display: flex !important;
	align-items: flex-end !important;
	justify-content: space-between !important;
	gap: 12px !important;
	flex-wrap: wrap !important;
	margin: 0 0 18px !important;
}

.segy-toolbar-field {
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
}

.segy-toolbar-field label {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #6B7A70 !important;
	margin: 0 !important;
}

.segy-app select#segy-topic-select {
	all: revert !important;
	box-sizing: border-box !important;
	max-width: 100% !important;
	font-family: inherit !important;
	font-size: 15px !important;
	padding: 8px 12px !important;
	border: 1px solid #D8DED9 !important;
	border-radius: 8px !important;
	background: #FFFFFF !important;
	color: #26332B !important;
	min-width: 200px !important;
}

/* Buttons */
.segy-app .segy-btn {
	all: unset !important;
	box-sizing: border-box !important;
	max-width: 100% !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	font-family: inherit !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	text-align: center !important;
	border-radius: 8px !important;
	padding: 10px 18px !important;
	line-height: 1.2 !important;
	transition: opacity 0.15s ease, transform 0.05s ease !important;
	white-space: nowrap !important;
}

.segy-app .segy-btn:active {
	transform: translateY(1px) !important;
}

.segy-app .segy-btn:hover {
	opacity: 0.88 !important;
}

.segy-app .segy-btn[disabled] {
	opacity: 0.5 !important;
	cursor: not-allowed !important;
}

.segy-app .segy-btn-primary {
	background: #7CB56D !important;
	color: #FFFFFF !important;
}

.segy-app .segy-btn-secondary {
	background: #FFBF23 !important;
	color: #26332B !important;
}

.segy-app .segy-btn-outline {
	background: transparent !important;
	color: #26332B !important;
	border: 2px solid #D8DED9 !important;
}

/* Task card */
.segy-task-card {
	display: block !important;
	background: #FFFFFF !important;
	border: 1px solid #E7E7E7 !important;
	border-radius: 12px !important;
	padding: 18px !important;
}

.segy-task-meta {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 10px !important;
	flex-wrap: wrap !important;
	margin: 0 0 12px !important;
	font-size: 13px !important;
	color: #6B7A70 !important;
}

.segy-tag {
	display: inline-block !important;
	background: rgba(124, 181, 109, 0.15) !important;
	color: #4C7A3F !important;
	font-weight: 700 !important;
	font-size: 12px !important;
	padding: 3px 10px !important;
	border-radius: 999px !important;
}

.segy-remaining {
	font-size: 13px !important;
	color: #6B7A70 !important;
}

.segy-image-wrap {
	width: 100% !important;
	border: 1px solid #E7E7E7 !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	background: #FFFFFF !important;
	margin: 0 0 8px !important;
	text-align: center !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.segy-task-image {
	display: block !important;
	width: auto !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: 70vh !important;
	margin: 0 auto !important;
	border: 0 !important;
	background: #FFFFFF !important;
}

.segy-image-fallback-link {
	display: inline-block !important;
	font-size: 13px !important;
	margin: 0 0 16px !important;
}

.segy-note-box {
	background: rgba(124, 181, 109, 0.10) !important;
	border: 1px solid #7CB56D !important;
	color: #2F5F24 !important;
	font-size: 14px !important;
	padding: 10px 14px !important;
	border-radius: 8px !important;
	margin: 0 0 14px !important;
}

.segy-parts-answers {
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
	margin: 0 0 14px !important;
}

.segy-part-answer-row {
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
}

.segy-part-label {
	font-size: 13px !important;
	font-weight: 700 !important;
	color: #4C7A3F !important;
	margin: 0 !important;
}

.segy-app input.segy-answer-input {
	all: revert !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	font-family: inherit !important;
	font-size: 16px !important;
	padding: 10px 14px !important;
	border: 2px solid #D8DED9 !important;
	border-radius: 8px !important;
	background: #FFFFFF !important;
	color: #26332B !important;
}

.segy-app input.segy-answer-input:focus {
	outline: none !important;
	border-color: #7CB56D !important;
}

.segy-part-answer-row.segy-part-correct input.segy-answer-input,
.segy-part-answer-row.segy-part-correct .segy-graph-wrap {
	border-color: #7CB56D !important;
	background: rgba(124, 181, 109, 0.10) !important;
}

.segy-part-answer-row.segy-part-incorrect input.segy-answer-input,
.segy-part-answer-row.segy-part-incorrect .segy-graph-wrap {
	border-color: #D9534F !important;
	background: rgba(217, 83, 79, 0.08) !important;
}

.segy-graph-wrap {
	box-sizing: border-box !important;
	border: 2px solid transparent !important;
	border-radius: 8px !important;
	padding: 4px !important;
}

.segy-graph-svg {
	display: block !important;
	width: 100% !important;
	max-width: 420px !important;
	aspect-ratio: 100 / 60 !important;
	background: #FFFFFF !important;
	border: 2px solid #D8DED9 !important;
	border-radius: 8px !important;
	cursor: pointer !important;
	margin: 0 0 8px !important;
}

.segy-graph-point {
	fill: #7CB56D !important;
	stroke: #4C7A3F !important;
	stroke-width: 0.6 !important;
	cursor: pointer !important;
}

.segy-graph-point-selected {
	fill: #FFBF23 !important;
	stroke: #A87A00 !important;
}

.segy-graph-point-label {
	font-size: 5.5px !important;
	fill: #26332B !important;
	text-anchor: middle !important;
	pointer-events: none !important;
}

.segy-graph-edge-line {
	stroke: #4C7A3F !important;
	stroke-width: 0.9 !important;
}

.segy-graph-hint {
	font-size: 12px !important;
	color: #6B7A70 !important;
	margin: 0 0 8px !important;
}

.segy-graph-clear-btn {
	padding: 6px 12px !important;
	font-size: 13px !important;
}

.segy-func-wrap {
	box-sizing: border-box !important;
	border: 2px solid transparent !important;
	border-radius: 8px !important;
	padding: 4px !important;
}

.segy-func-svg {
	display: block !important;
	width: 100% !important;
	max-width: 340px !important;
	aspect-ratio: 1 / 1 !important;
	background: #FFFFFF !important;
	border: 2px solid #D8DED9 !important;
	border-radius: 8px !important;
	cursor: pointer !important;
	margin: 0 0 8px !important;
}

.segy-func-plot-area {
	fill: #FFFFFF !important;
	stroke: #D8DED9 !important;
	stroke-width: 1 !important;
}

.segy-func-grid-line {
	stroke: #EFEFEF !important;
	stroke-width: 0.6 !important;
}

.segy-func-axis-line {
	stroke: #6B7A70 !important;
	stroke-width: 1.1 !important;
}

.segy-func-axis-label {
	font-size: 9px !important;
	fill: #6B7A70 !important;
	text-anchor: middle !important;
}

.segy-func-axis-label-y {
	text-anchor: end !important;
}

.segy-func-polyline {
	fill: none !important;
	stroke: #4C7A3F !important;
	stroke-width: 2.2 !important;
}

.segy-func-point {
	fill: #FFBF23 !important;
	stroke: #A87A00 !important;
	stroke-width: 1 !important;
}

.segy-func-clear-btn {
	padding: 6px 12px !important;
	font-size: 13px !important;
}

.segy-boxplot-wrap {
	box-sizing: border-box !important;
	border: 2px solid transparent !important;
	border-radius: 8px !important;
	padding: 4px !important;
}

.segy-boxplot-svg {
	display: block !important;
	width: 100% !important;
	max-width: 520px !important;
	aspect-ratio: 400 / 250 !important;
	background: #FFFFFF !important;
	border: 2px solid #D8DED9 !important;
	border-radius: 8px !important;
	margin: 0 0 8px !important;
	touch-action: none !important;
}

.segy-boxplot-grid-line {
	stroke: #EFEFEF !important;
	stroke-width: 0.75 !important;
}

.segy-boxplot-axis-line {
	stroke: #6B7A70 !important;
	stroke-width: 1.2 !important;
}

.segy-boxplot-axis-label {
	font-size: 11px !important;
	fill: #6B7A70 !important;
	text-anchor: middle !important;
}

.segy-boxplot-whisker,
.segy-boxplot-cap {
	stroke: #4C7A3F !important;
	stroke-width: 1.4 !important;
}

.segy-boxplot-box {
	fill: rgba(124, 181, 109, 0.25) !important;
	stroke: #4C7A3F !important;
	stroke-width: 1.4 !important;
}

.segy-boxplot-median {
	stroke: #0087AD !important;
	stroke-width: 2 !important;
}

.segy-boxplot-handle {
	fill: #FFBF23 !important;
	stroke: #A87A00 !important;
	stroke-width: 1 !important;
	cursor: grab !important;
}

.segy-boxplot-handle:active {
	cursor: grabbing !important;
	fill: #7CB56D !important;
	stroke: #4C7A3F !important;
}

.segy-boxplot-value-label {
	font-size: 10px !important;
	font-weight: 600 !important;
	fill: #26332B !important;
	text-anchor: middle !important;
	pointer-events: none !important;
}

.segy-part-answer-row.segy-part-correct .segy-func-wrap {
	border-color: #7CB56D !important;
	background: rgba(124, 181, 109, 0.10) !important;
}

.segy-part-answer-row.segy-part-incorrect .segy-func-wrap {
	border-color: #D9534F !important;
	background: rgba(217, 83, 79, 0.08) !important;
}

.segy-char-toolbar {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 6px !important;
	margin: 6px 0 0 !important;
}

.segy-app .segy-char-btn {
	all: unset !important;
	box-sizing: border-box !important;
	cursor: pointer !important;
	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	min-width: 34px !important;
	text-align: center !important;
	padding: 6px 8px !important;
	border: 1px solid #D8DED9 !important;
	border-radius: 6px !important;
	background: #FFFFFF !important;
	color: #26332B !important;
}

.segy-app .segy-char-btn:hover {
	border-color: #7CB56D !important;
	background: rgba(124, 181, 109, 0.10) !important;
}

#segy-submit-btn {
	margin: 0 0 14px !important;
}

#segy-feedback {
	margin-top: 6px !important;
}

.segy-result {
	font-weight: 700 !important;
	font-size: 16px !important;
	padding: 12px 14px !important;
	border-radius: 8px !important;
	margin: 0 0 12px !important;
}

.segy-result-correct {
	background: rgba(124, 181, 109, 0.18) !important;
	color: #2F5F24 !important;
}

.segy-result-incorrect {
	background: rgba(217, 83, 79, 0.14) !important;
	color: #A5312B !important;
}

.segy-choice-buttons {
	display: flex !important;
	gap: 10px !important;
	flex-wrap: wrap !important;
}

.segy-solution-box {
	background: #FFF8E4 !important;
	border: 1px solid #FFBF23 !important;
	color: #6B4E00 !important;
	padding: 12px 14px !important;
	border-radius: 8px !important;
	margin: 0 0 12px !important;
}

.segy-loading,
.segy-empty,
.segy-error,
.segy-muted {
	color: #6B7A70 !important;
	font-style: italic !important;
}

.segy-error {
	color: #A5312B !important;
}

/* Review list */
.segy-review-list {
	list-style: none !important;
	margin: 0 0 8px !important;
	padding: 0 !important;
}

.segy-review-list li {
	display: block !important;
	padding: 10px 12px !important;
	border-bottom: 1px solid #EFEFEF !important;
	font-size: 14px !important;
	color: #26332B !important;
}

.segy-review-list li:last-child {
	border-bottom: 0 !important;
}

.segy-badge {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 20px !important;
	height: 20px !important;
	border-radius: 50% !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	margin-right: 6px !important;
}

.segy-badge-correct {
	background: #7CB56D !important;
	color: #FFFFFF !important;
}

.segy-badge-viewed {
	background: #FFBF23 !important;
	color: #26332B !important;
}

.segy-solution-inline {
	margin-top: 6px !important;
	font-size: 13px !important;
	color: #6B7A70 !important;
}

.segy-points-tag {
	background: rgba(255, 191, 35, 0.22) !important;
	color: #7A5900 !important;
}

.segy-part-points {
	font-weight: 400 !important;
	color: #6B7A70 !important;
}

.segy-points-feedback {
	font-weight: 700 !important;
	font-size: 14px !important;
	color: #7A5900 !important;
	margin: -6px 0 12px !important;
}

.segy-points-summary {
	background: rgba(255, 191, 35, 0.15) !important;
	border: 1px solid #FFBF23 !important;
	color: #6B4E00 !important;
	padding: 10px 14px !important;
	border-radius: 8px !important;
	margin: 0 0 18px !important;
	font-size: 14px !important;
}

.segy-submit-results-wrap {
	margin-top: 22px !important;
	padding-top: 18px !important;
	border-top: 1px solid #E7E7E7 !important;
}

.segy-submit-results-wrap #segy-submit-results-feedback {
	margin-top: 10px !important;
}

/* Login required state */
.segy-login-required {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: linear-gradient(180deg, rgba(124, 181, 109, 0.10) 0%, rgba(253, 253, 253, 1) 60%) !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 40px 24px !important;
}

.segy-login-card {
	width: 100% !important;
	max-width: 360px !important;
	margin: 0 auto !important;
	background: #FFFFFF !important;
	border: 1px solid #E7E7E7 !important;
	border-radius: 16px !important;
	box-shadow: 0 8px 28px rgba(38, 51, 43, 0.10) !important;
	padding: 32px 28px !important;
	text-align: center !important;
}

.segy-login-logo {
	display: block !important;
	width: 96px !important;
	height: auto !important;
	margin: 0 auto 14px !important;
}

.segy-login-title {
	font-family: inherit !important;
	font-size: 21px !important;
	font-weight: 800 !important;
	color: #2F5F24 !important;
	margin: 0 0 6px !important;
	padding: 0 !important;
	line-height: 1.25 !important;
}

.segy-login-required .segy-login-msg {
	font-weight: 500 !important;
	font-size: 14px !important;
	color: #6B7A70 !important;
	margin-bottom: 20px !important;
	text-align: center !important;
}

.segy-login-required form {
	text-align: left !important;
}

.segy-login-required form p {
	margin: 0 0 14px !important;
}

.segy-login-required form label {
	display: block !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #4C7A3F !important;
	margin: 0 0 4px !important;
}

.segy-login-required input[type="text"],
.segy-login-required input[type="password"] {
	all: revert !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	font-family: inherit !important;
	font-size: 15px !important;
	padding: 10px 12px !important;
	border: 2px solid #D8DED9 !important;
	border-radius: 8px !important;
	background: #FFFFFF !important;
	color: #26332B !important;
}

.segy-login-required input[type="text"]:focus,
.segy-login-required input[type="password"]:focus {
	outline: none !important;
	border-color: #7CB56D !important;
}

.segy-login-required .forgetmenot {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	font-size: 13px !important;
	color: #6B7A70 !important;
}

.segy-login-required .login-remember input[type="checkbox"] {
	all: revert !important;
	margin: 0 !important;
}

.segy-login-required .login-submit {
	margin-top: 4px !important;
}

.segy-login-required input[type="submit"] {
	all: unset !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	text-align: center !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-family: inherit !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	background: #7CB56D !important;
	color: #FFFFFF !important;
	padding: 11px 18px !important;
	border-radius: 8px !important;
	transition: opacity 0.15s ease !important;
}

.segy-login-required input[type="submit"]:hover {
	opacity: 0.9 !important;
}

@media (max-width: 600px) {
	.segy-login-required {
		padding: 24px 16px !important;
	}

	.segy-login-card {
		padding: 26px 20px !important;
	}
}

/* Unified portal landing (role choice: "Diák vagyok" / "Tanár vagyok") */
.segy-portal-card {
	max-width: 400px !important;
}

.segy-portal-role-buttons {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	margin-top: 4px !important;
}

.segy-portal-role-buttons .segy-btn {
	width: 100% !important;
}

.segy-portal-login-panel {
	display: none !important;
	text-align: left !important;
}

.segy-portal-login-panel.segy-portal-visible {
	display: block !important;
}

.segy-portal-back {
	margin: 0 0 10px !important;
	text-align: left !important;
}

.segy-portal-back-link {
	font-size: 13px !important;
	font-weight: 600 !important;
}

.segy-portal-login-heading {
	font-family: inherit !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #2F5F24 !important;
	margin: 0 0 14px !important;
	padding: 0 !important;
	text-align: left !important;
}

/* Mock exam ("Próbavizsga") */

.segy-exam-list {
	display: flex !important;
	flex-direction: column !important;
	gap: 14px !important;
}

.segy-exam-list-item {
	background: #FFFFFF !important;
	border: 1px solid #E7E7E7 !important;
	border-radius: 12px !important;
	padding: 16px !important;
}

.segy-exam-list-head {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 10px !important;
	margin: 0 0 6px !important;
}

.segy-exam-list-meta {
	font-size: 13px !important;
	color: #6B7A70 !important;
	margin: 0 0 10px !important;
}

.segy-exam-attempts-list {
	list-style: none !important;
	margin: 0 0 12px !important;
	padding: 0 !important;
	font-size: 14px !important;
}

.segy-exam-attempts-list li {
	padding: 4px 0 !important;
	border-bottom: 1px solid #EFEFEF !important;
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 8px !important;
}

.segy-exam-review-btn {
	padding: 4px 10px !important;
	font-size: 12px !important;
}

.segy-exam-review-wrap {
	max-width: 720px !important;
	margin: 0 auto !important;
}

.segy-exam-review-back-btn {
	margin: 0 0 14px !important;
}

.segy-review-task-card {
	margin-bottom: 16px !important;
}

.segy-review-parts {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	margin-top: 10px !important;
}

.segy-review-part {
	border-radius: 10px !important;
	padding: 10px 12px !important;
	border: 2px solid transparent !important;
}

.segy-review-part-correct {
	background: rgba(124, 181, 109, 0.12) !important;
	border-color: rgba(124, 181, 109, 0.4) !important;
}

.segy-review-part-incorrect {
	background: rgba(217, 83, 79, 0.08) !important;
	border-color: rgba(217, 83, 79, 0.35) !important;
}

.segy-review-part-label {
	margin-bottom: 4px !important;
}

.segy-review-your-answer {
	font-size: 14px !important;
	color: #26332B !important;
}

.segy-review-correct-answer {
	font-size: 14px !important;
	color: #4C7A3F !important;
	margin-top: 4px !important;
	font-weight: 600 !important;
}

.segy-exam-wrap {
	display: flex !important;
	gap: 18px !important;
	align-items: flex-start !important;
}

.segy-exam-nav {
	position: sticky !important;
	top: 12px !important;
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 6px !important;
	flex: 0 0 130px !important;
	background: #FFFFFF !important;
	border: 1px solid #E7E7E7 !important;
	border-radius: 10px !important;
	padding: 10px !important;
}

.segy-app .segy-exam-nav-item {
	all: unset !important;
	box-sizing: border-box !important;
	cursor: pointer !important;
	text-align: center !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	padding: 8px 0 !important;
	border-radius: 6px !important;
	background: #F1F3F1 !important;
	color: #6B7A70 !important;
}

.segy-app .segy-exam-nav-item.segy-exam-nav-answered {
	background: rgba(124, 181, 109, 0.25) !important;
	color: #2F5F24 !important;
}

.segy-exam-main {
	flex: 1 1 auto !important;
	min-width: 0 !important;
}

.segy-exam-deadline-note {
	font-size: 13px !important;
	color: #6B7A70 !important;
	margin: 0 0 12px !important;
}

.segy-exam-task-card {
	margin-bottom: 16px !important;
}

#segy-exam-submit-btn {
	margin: 6px 0 14px !important;
	width: 100% !important;
}

.segy-exam-result-box {
	background: #FFFFFF !important;
	border: 1px solid #E7E7E7 !important;
	border-radius: 12px !important;
	padding: 20px !important;
	text-align: center !important;
}

.segy-exam-self-box {
	background: #FFFFFF !important;
	border: 1px solid #E7E7E7 !important;
	border-radius: 12px !important;
	padding: 16px !important;
	margin: 0 0 16px !important;
}

.segy-exam-self-box h3 {
	margin: 0 0 6px !important;
}

.segy-exam-self-box p {
	font-size: 13px !important;
	color: #6B7A70 !important;
	margin: 0 0 12px !important;
}

.segy-exam-self-quota {
	font-size: 13px !important;
	color: #3A4A40 !important;
	background: #F3F7F4 !important;
	border-radius: 8px !important;
	padding: 8px 12px !important;
	margin: 0 0 12px !important;
	display: inline-block !important;
}

.segy-exam-timer {
	grid-column: 1 / -1 !important;
	text-align: center !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	color: #2F5F24 !important;
	background: rgba(124, 181, 109, 0.18) !important;
	border-radius: 6px !important;
	padding: 8px 4px !important;
	margin-bottom: 4px !important;
}

.segy-exam-timer.segy-exam-timer-warning {
	color: #A32424 !important;
	background: rgba(211, 47, 47, 0.15) !important;
}

/* "Profilom" tab (XP / szint / jutalmak) */

.segy-profile-summary {
	background: #FFFFFF !important;
	border: 1px solid #E7E7E7 !important;
	border-radius: 12px !important;
	padding: 20px !important;
	text-align: center !important;
	margin-bottom: 18px !important;
}

.segy-profile-level-badge {
	display: inline-block !important;
	background: #7CB56D !important;
	color: #FFFFFF !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	padding: 6px 16px !important;
	border-radius: 999px !important;
	margin-bottom: 8px !important;
}

.segy-profile-level-name {
	font-size: 20px !important;
	font-weight: 700 !important;
	color: #2F5F24 !important;
	margin-bottom: 10px !important;
}

.segy-profile-level-note {
	font-size: 13px !important;
	font-style: italic !important;
	color: #6B7A70 !important;
	margin-bottom: 12px !important;
}

.segy-profile-xp {
	font-size: 15px !important;
	margin-bottom: 12px !important;
}

.segy-profile-progress-wrap {
	background: #F1F3F1 !important;
	border-radius: 999px !important;
	height: 14px !important;
	overflow: hidden !important;
	margin-bottom: 8px !important;
}

.segy-profile-progress-bar {
	background: linear-gradient(90deg, #7CB56D, #0087AD) !important;
	height: 100% !important;
	border-radius: 999px !important;
	transition: width 0.3s ease !important;
}

.segy-profile-progress-label {
	font-size: 13px !important;
	color: #6B7A70 !important;
}

.segy-profile-pending-wrap {
	margin-bottom: 20px !important;
}

.segy-reward-pending {
	background: rgba(255, 191, 35, 0.15) !important;
	border: 1px solid #FFBF23 !important;
	border-radius: 10px !important;
	padding: 14px !important;
	margin-bottom: 12px !important;
	text-align: center !important;
}

.segy-reward-pending-note {
	font-size: 13px !important;
	font-style: italic !important;
	color: #6B7A70 !important;
	margin: 0 0 10px !important;
}

.segy-reward-options {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	justify-content: center !important;
}

.segy-app .segy-reward-pick-btn {
	all: unset !important;
	box-sizing: border-box !important;
	cursor: pointer !important;
	background: #FFFFFF !important;
	border: 1px solid #E7E7E7 !important;
	border-radius: 8px !important;
	padding: 10px 14px !important;
	min-width: 140px !important;
	text-align: center !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
}

.segy-app .segy-reward-pick-btn:hover {
	border-color: #7CB56D !important;
}

.segy-app .segy-reward-pick-btn:disabled {
	opacity: 0.6 !important;
	cursor: default !important;
}

.segy-reward-name {
	font-weight: 700 !important;
	color: #2F5F24 !important;
}

.segy-reward-desc {
	font-size: 12px !important;
	color: #6B7A70 !important;
}

.segy-xp-result-box {
	background: rgba(124, 181, 109, 0.12) !important;
	border: 1px solid #7CB56D !important;
	border-radius: 10px !important;
	padding: 14px !important;
	margin: 14px 0 !important;
	text-align: center !important;
}

.segy-xp-earned {
	font-size: 15px !important;
	margin: 0 0 6px !important;
}

.segy-level-up-title {
	font-size: 17px !important;
	font-weight: 700 !important;
	color: #2F5F24 !important;
	margin: 0 0 10px !important;
}

.segy-profile-table {
	width: 100% !important;
	border-collapse: collapse !important;
	margin-bottom: 20px !important;
	background: #FFFFFF !important;
	border: 1px solid #E7E7E7 !important;
	border-radius: 8px !important;
	overflow: hidden !important;
}

.segy-profile-table th,
.segy-profile-table td {
	padding: 8px 10px !important;
	border-bottom: 1px solid #EFEFEF !important;
	font-size: 13px !important;
	text-align: left !important;
}

.segy-profile-table th {
	background: #F1F3F1 !important;
	font-weight: 700 !important;
}

@media (max-width: 700px) {
	.segy-exam-wrap {
		flex-direction: column !important;
	}

	.segy-exam-nav {
		position: static !important;
		width: 100% !important;
		flex: 1 1 auto !important;
		grid-template-columns: repeat(6, 1fr) !important;
	}
}

/* Mobile */
@media (max-width: 600px) {
	.segy-app {
		margin: 0 !important;
		padding: 14px !important;
		border-radius: 0 !important;
		border-left: 0 !important;
		border-right: 0 !important;
		font-size: 15px !important;
	}

	.segy-tabs {
		gap: 4px !important;
	}

	.segy-tab-btn {
		flex: 1 1 auto !important;
		text-align: center !important;
		padding: 10px 8px !important;
		font-size: 14px !important;
	}

	.segy-toolbar {
		flex-direction: column !important;
		align-items: stretch !important;
	}

	.segy-toolbar-field,
	.segy-app select#segy-topic-select {
		width: 100% !important;
	}

	#segy-reset-btn {
		width: 100% !important;
	}

	.segy-task-card {
		padding: 12px !important;
	}

	.segy-task-image {
		max-height: 52vh !important;
	}

	#segy-submit-btn {
		width: 100% !important;
	}

	.segy-choice-buttons {
		flex-direction: column !important;
	}

	.segy-choice-buttons .segy-btn {
		width: 100% !important;
	}
}

/* ---------------------------------------------------------------------
 * Teacher panel ([sikersuli_erettsegi_tanar]) - reuses the same wp-admin
 * PHP renderers (form-table, widefat/striped tables, button classes,
 * notices, the levels/rewards builder markup + its JS) as the wp-admin
 * "Szintek és jutalmak" page, so those WordPress-core class names are
 * given minimal styling here, scoped to .segy-tp so nothing leaks out.
 * ------------------------------------------------------------------- */

.segy-tp {
	max-width: 980px !important;
}

.segy-tp h1 {
	font-size: 22px !important;
	margin: 0 0 6px !important;
}

.segy-tp h2 {
	font-size: 17px !important;
	margin: 22px 0 8px !important;
}

.segy-tp .description {
	color: #6B7A70 !important;
	font-size: 13px !important;
}

.segy-tp .segy-tp-nav {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin: 0 0 20px !important;
	padding: 0 0 12px !important;
	border-bottom: 2px solid #E7E7E7 !important;
}

.segy-tp .segy-tp-nav a {
	text-decoration: none !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	color: #6B7A70 !important;
	padding: 8px 14px !important;
	border-radius: 8px !important;
}

.segy-tp .segy-tp-nav a.active,
.segy-tp .segy-tp-nav a:hover {
	color: #FFFFFF !important;
	background: #7CB56D !important;
}

.segy-tp .notice {
	padding: 10px 14px !important;
	border-radius: 8px !important;
	margin: 0 0 16px !important;
	border-left: 4px solid #7CB56D !important;
	background: #F3F7F4 !important;
}

.segy-tp .notice-error {
	border-left-color: #B32D2E !important;
	background: #FBEDED !important;
}

.segy-tp table.widefat,
.segy-tp table.form-table {
	width: 100% !important;
	border-collapse: collapse !important;
	margin: 0 0 12px !important;
}

.segy-tp table.widefat th,
.segy-tp table.widefat td {
	border: 1px solid #E7E7E7 !important;
	padding: 8px 10px !important;
	text-align: left !important;
	font-size: 14px !important;
}

.segy-tp table.widefat.striped tbody tr:nth-child(odd) {
	background: #F7F9F7 !important;
}

.segy-tp table.form-table th {
	text-align: left !important;
	padding: 8px 10px 8px 0 !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	vertical-align: top !important;
	width: 260px !important;
}

.segy-tp table.form-table td {
	padding: 8px 0 !important;
}

.segy-tp input[type="text"],
.segy-tp input[type="email"],
.segy-tp input[type="number"],
.segy-tp input[type="password"],
.segy-tp select,
.segy-tp textarea {
	font-family: inherit !important;
	font-size: 14px !important;
	padding: 7px 10px !important;
	border: 1px solid #D8DED9 !important;
	border-radius: 8px !important;
	background: #FFFFFF !important;
	color: #26332B !important;
}

.segy-tp .regular-text,
.segy-tp .widefat {
	width: 100% !important;
}

.segy-tp .button,
.segy-tp button {
	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	border-radius: 8px !important;
	border: 1px solid #D8DED9 !important;
	background: #FFFFFF !important;
	color: #26332B !important;
	padding: 7px 14px !important;
}

.segy-tp .button-primary {
	background: #7CB56D !important;
	border-color: #7CB56D !important;
	color: #FFFFFF !important;
}

.segy-tp .button-secondary {
	background: #F3F7F4 !important;
}

.segy-tp .button-small {
	padding: 4px 10px !important;
	font-size: 13px !important;
}

.segy-tp .button-link,
.segy-tp .button-link-delete {
	background: none !important;
	border: none !important;
	padding: 2px 4px !important;
	color: #6B7A70 !important;
	text-decoration: underline !important;
}

.segy-tp .button-link-delete {
	color: #B32D2E !important;
}

.segy-tp .segy-level-box {
	border: 1px solid #E7E7E7 !important;
	border-radius: 10px !important;
	padding: 14px !important;
	margin: 0 0 14px !important;
}

.segy-tp .segy-part-fields-row {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
	margin: 10px 0 !important;
}

.segy-tp .segy-part-fields-row > p {
	flex: 1 1 220px !important;
	margin: 0 !important;
}

.segy-tp .segy-part-fields-row label,
.segy-tp .segy-part-label-field label {
	display: block !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	margin-bottom: 4px !important;
}

.segy-tp .segy-reward-row {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	align-items: center !important;
	margin: 6px 0 !important;
}

.segy-tp .segy-reward-row input {
	flex: 1 1 160px !important;
}

/* =====================================================================
   Visual refresh - animated background blobs, glassy modern card shell,
   gradient buttons, entrance animations, celebratory XP/level-up state.
   Appended after every rule above so it wins the cascade (same
   specificity + !important, later source order wins) without needing
   to touch the sections above. Works identically on phone/tablet/desktop
   since .segy-app is the same element in every context (student app,
   teacher panel, login/portal screens).
   ===================================================================== */

@media (prefers-reduced-motion: reduce) {
	.segy-blob,
	.segy-app::after,
	.segy-tab-btn,
	.segy-app .segy-btn,
	.segy-task-card,
	.segy-exam-list-item,
	.segy-exam-self-box,
	.segy-exam-result-box,
	.segy-profile-summary,
	.segy-profile-progress-bar,
	.segy-profile-level-badge,
	.segy-xp-result-box,
	.segy-xp-result-box::before,
	.segy-level-up-title,
	.segy-reward-pending,
	.segy-app .segy-reward-pick-btn,
	.segy-portal-login-panel,
	.segy-loading::before {
		animation: none !important;
		transition: none !important;
	}
}

/* --- App shell: rounder, softer, roomier shadow, subtle tinted wash so
   the background blobs read nicely in the empty space between cards --- */
.segy-app {
	border-radius: 22px !important;
	background: linear-gradient(180deg, rgba(124, 181, 109, 0.07) 0%, #FDFDFD 280px) !important;
	box-shadow: 0 1px 2px rgba(38, 51, 43, 0.04), 0 16px 40px -14px rgba(38, 51, 43, 0.22) !important;
	border-color: rgba(231, 231, 231, 0.7) !important;
}

/* The login/portal hero variant stays intentionally flat and borderless
   (it's a full-bleed section wrapping its own smaller, already-shadowed
   .segy-login-card) - restore that after the generic card shadow above. */
.segy-app.segy-login-required {
	box-shadow: none !important;
	border: 0 !important;
}

/* Thin animated gradient accent line along the top edge - radius matches
   the card's own so it doesn't need overflow:hidden on .segy-app itself
   (which would risk fighting the sticky exam-nav sidebar). */
.segy-app::after {
	content: "" !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	height: 4px !important;
	border-radius: 22px 22px 0 0 !important;
	background: linear-gradient(90deg, #7CB56D, #0087AD, #FFBF23, #7CB56D) !important;
	background-size: 300% 100% !important;
	animation: segy-gradient-slide 8s linear infinite !important;
	z-index: 2 !important;
	pointer-events: none !important;
}

@keyframes segy-gradient-slide {
	0% { background-position: 0% 0%; }
	100% { background-position: 300% 0%; }
}

/* --- Animated background blobs (own overflow:hidden wrapper, so
   .segy-app itself never needs overflow changes) --- */
.segy-bg-blobs {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	z-index: -1 !important;
	overflow: hidden !important;
	pointer-events: none !important;
	border-radius: inherit !important;
}

.segy-blob {
	position: absolute !important;
	border-radius: 50% !important;
	filter: blur(60px) !important;
	opacity: 0.4 !important;
	will-change: transform !important;
}

.segy-blob-1 {
	width: 280px !important;
	height: 280px !important;
	top: -70px !important;
	left: -60px !important;
	background: radial-gradient(circle at 35% 35%, #7CB56D, transparent 70%) !important;
	animation: segy-float-1 21s ease-in-out infinite !important;
}

.segy-blob-2 {
	width: 240px !important;
	height: 240px !important;
	top: 8% !important;
	right: -70px !important;
	background: radial-gradient(circle at 55% 45%, #0087AD, transparent 70%) !important;
	animation: segy-float-2 26s ease-in-out infinite !important;
}

.segy-blob-3 {
	width: 260px !important;
	height: 260px !important;
	bottom: -80px !important;
	left: 18% !important;
	background: radial-gradient(circle at 50% 50%, #FFBF23, transparent 70%) !important;
	animation: segy-float-3 29s ease-in-out infinite !important;
}

.segy-blob-4 {
	width: 200px !important;
	height: 200px !important;
	bottom: 4% !important;
	right: 8% !important;
	background: radial-gradient(circle at 45% 55%, #7CB56D, transparent 70%) !important;
	animation: segy-float-4 24s ease-in-out infinite !important;
}

@keyframes segy-float-1 {
	0%, 100% { transform: translate(0, 0) scale(1); }
	50% { transform: translate(35px, 40px) scale(1.12); }
}

@keyframes segy-float-2 {
	0%, 100% { transform: translate(0, 0) scale(1); }
	50% { transform: translate(-30px, 35px) scale(0.92); }
}

@keyframes segy-float-3 {
	0%, 100% { transform: translate(0, 0) scale(1); }
	50% { transform: translate(25px, -35px) scale(1.08); }
}

@keyframes segy-float-4 {
	0%, 100% { transform: translate(0, 0) scale(1); }
	50% { transform: translate(-20px, -25px) scale(1.06); }
}

/* --- Buttons: gradient fill, lift-on-hover, press feedback --- */
.segy-app .segy-btn {
	border-radius: 12px !important;
	padding: 12px 20px !important;
	letter-spacing: 0.2px !important;
	transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease, border-color 0.18s ease, background 0.18s ease !important;
	box-shadow: 0 2px 6px rgba(38, 51, 43, 0.08) !important;
}

.segy-app .segy-btn:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 10px 22px rgba(38, 51, 43, 0.16) !important;
	opacity: 1 !important;
}

.segy-app .segy-btn:active {
	transform: translateY(0) scale(0.97) !important;
	box-shadow: 0 2px 6px rgba(38, 51, 43, 0.10) !important;
}

.segy-app .segy-btn-primary {
	background: linear-gradient(135deg, #8BC97C 0%, #7CB56D 55%, #5C9A4D 100%) !important;
	box-shadow: 0 4px 14px rgba(124, 181, 109, 0.4) !important;
}

.segy-app .segy-btn-primary:hover {
	box-shadow: 0 12px 26px rgba(124, 181, 109, 0.45) !important;
}

.segy-app .segy-btn-secondary {
	background: linear-gradient(135deg, #FFD262 0%, #FFBF23 60%, #F0A800 100%) !important;
	box-shadow: 0 4px 14px rgba(255, 191, 35, 0.35) !important;
}

.segy-app .segy-btn-secondary:hover {
	box-shadow: 0 12px 26px rgba(255, 191, 35, 0.4) !important;
}

.segy-app .segy-btn-outline {
	background: #FFFFFF !important;
	border-width: 2px !important;
}

.segy-app .segy-btn-outline:hover {
	border-color: #7CB56D !important;
	background: rgba(124, 181, 109, 0.06) !important;
}

/* --- Tabs: soft pill highlight behind the active tab --- */
.segy-tab-btn {
	border-radius: 10px 10px 0 0 !important;
	transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease !important;
}

.segy-tab-btn.active {
	background: rgba(124, 181, 109, 0.10) !important;
}

.segy-tp-nav a {
	transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
}

/* --- Loading state: small spinning ring instead of plain italic text --- */
.segy-loading {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-style: normal !important;
}

.segy-loading::before {
	content: "" !important;
	display: inline-block !important;
	width: 16px !important;
	height: 16px !important;
	border: 2px solid rgba(124, 181, 109, 0.25) !important;
	border-top-color: #7CB56D !important;
	border-radius: 50% !important;
	animation: segy-spin 0.7s linear infinite !important;
	flex: 0 0 auto !important;
}

@keyframes segy-spin {
	to { transform: rotate(360deg); }
}

/* --- Entrance animation + hover lift for card-like surfaces --- */
@keyframes segy-fade-up {
	from { opacity: 0; transform: translateY(14px); }
	to { opacity: 1; transform: translateY(0); }
}

.segy-task-card,
.segy-exam-list-item,
.segy-exam-self-box,
.segy-exam-result-box,
.segy-profile-summary {
	border-radius: 16px !important;
	animation: segy-fade-up 0.45s ease both !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.segy-task-card:hover,
.segy-exam-list-item:hover {
	transform: translateY(-3px) !important;
	box-shadow: 0 12px 26px rgba(38, 51, 43, 0.10) !important;
}

.segy-exam-list-item:nth-child(1) { animation-delay: 0s !important; }
.segy-exam-list-item:nth-child(2) { animation-delay: 0.05s !important; }
.segy-exam-list-item:nth-child(3) { animation-delay: 0.1s !important; }
.segy-exam-list-item:nth-child(4) { animation-delay: 0.15s !important; }
.segy-exam-list-item:nth-child(5) { animation-delay: 0.2s !important; }
.segy-exam-list-item:nth-child(n+6) { animation-delay: 0.25s !important; }

/* --- Progress bar: gradient shimmer fill --- */
.segy-profile-progress-wrap {
	height: 16px !important;
	background: #EEF2EE !important;
	box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.08) !important;
}

.segy-profile-progress-bar {
	background: linear-gradient(90deg, #7CB56D, #0087AD, #7CB56D) !important;
	background-size: 200% 100% !important;
	box-shadow: 0 0 8px rgba(0, 135, 173, 0.35) !important;
	animation: segy-shimmer 2.4s linear infinite !important;
}

@keyframes segy-shimmer {
	0% { background-position: 0% 0%; }
	100% { background-position: 200% 0%; }
}

/* --- Level badge: gradient + soft pulsing glow --- */
.segy-profile-summary {
	background: linear-gradient(160deg, #FFFFFF 0%, #F6FBF4 100%) !important;
}

.segy-profile-level-badge {
	background: linear-gradient(135deg, #8BC97C, #5C9A4D) !important;
	box-shadow: 0 4px 14px rgba(124, 181, 109, 0.45) !important;
	font-size: 15px !important;
	padding: 8px 20px !important;
	animation: segy-badge-pulse 3s ease-in-out infinite !important;
}

@keyframes segy-badge-pulse {
	0%, 100% { box-shadow: 0 4px 14px rgba(124, 181, 109, 0.45); }
	50% { box-shadow: 0 4px 22px rgba(124, 181, 109, 0.7); }
}

/* --- XP earned / level-up: celebratory gradient card with a drifting
   sparkle-dot pattern behind the text --- */
.segy-xp-result-box {
	background: linear-gradient(135deg, rgba(124, 181, 109, 0.16), rgba(255, 191, 35, 0.16)) !important;
	border: 1px solid rgba(124, 181, 109, 0.4) !important;
	border-radius: 16px !important;
	position: relative !important;
	overflow: hidden !important;
}

.segy-xp-result-box::before {
	content: "" !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	background-image:
		radial-gradient(circle, #7CB56D 2px, transparent 2.5px),
		radial-gradient(circle, #0087AD 2px, transparent 2.5px),
		radial-gradient(circle, #FFBF23 2px, transparent 2.5px) !important;
	background-size: 40px 40px, 55px 55px, 32px 32px !important;
	background-position: 0 0, 20px 30px, 35px 10px !important;
	opacity: 0.25 !important;
	animation: segy-sparkle-drift 6s linear infinite !important;
	pointer-events: none !important;
}

.segy-xp-result-box > * {
	position: relative !important;
	z-index: 1 !important;
}

@keyframes segy-sparkle-drift {
	from { background-position: 0 0, 20px 30px, 35px 10px; }
	to { background-position: 40px 40px, -35px -25px, 67px 42px; }
}

.segy-level-up-title {
	font-size: 19px !important;
	animation: segy-pop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both !important;
}

@keyframes segy-pop {
	0% { transform: scale(0.6); opacity: 0; }
	70% { transform: scale(1.08); opacity: 1; }
	100% { transform: scale(1); }
}

/* --- Reward cards: rounder, gradient tint, lift on hover --- */
.segy-reward-pending {
	border-radius: 14px !important;
	background: linear-gradient(135deg, rgba(255, 191, 35, 0.14), rgba(255, 210, 98, 0.06)) !important;
}

.segy-app .segy-reward-pick-btn {
	border-radius: 12px !important;
	transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease !important;
}

.segy-app .segy-reward-pick-btn:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 18px rgba(124, 181, 109, 0.2) !important;
	border-color: #7CB56D !important;
}

/* --- Unified portal landing: smooth crossfade between the intro choice
   and whichever login form was picked, instead of an instant swap --- */
#segy-portal-intro {
	transition: opacity 0.2s ease !important;
}

#segy-portal-intro.segy-portal-intro-hidden {
	display: none !important;
}

.segy-portal-login-panel.segy-portal-visible {
	animation: segy-fade-up 0.35s ease both !important;
}

.segy-portal-role-buttons .segy-btn {
	animation: segy-fade-up 0.4s ease both !important;
}

.segy-portal-role-buttons .segy-btn:nth-child(2) {
	animation-delay: 0.06s !important;
}

/* --- Mobile: keep the edge-to-edge full-bleed feel but tune the new
   decorative bits down so they stay tasteful on small screens --- */
@media (max-width: 600px) {
	.segy-app {
		border-radius: 0 !important;
		margin: 0 !important;
	}

	.segy-app::after {
		border-radius: 0 !important;
	}

	.segy-bg-blobs {
		border-radius: 0 !important;
	}

	.segy-blob {
		filter: blur(40px) !important;
	}

	.segy-blob-1,
	.segy-blob-3 {
		width: 190px !important;
		height: 190px !important;
	}

	.segy-blob-2,
	.segy-blob-4 {
		width: 150px !important;
		height: 150px !important;
	}

	.segy-app .segy-btn {
		padding: 13px 18px !important;
		font-size: 16px !important;
	}

	.segy-task-card:hover,
	.segy-exam-list-item:hover {
		transform: none !important;
	}
}

/* =====================================================================
   Teacher panel polish - the reused wp-admin markup (form-table,
   widefat tables, .button) previously had almost no visual grouping,
   which read as disjointed, and the wide tables/label+input rows had
   no mobile handling and could overflow the card on narrow screens.
   This section groups each block into a proper card, makes wide
   tables scroll within themselves instead of pushing the page wide,
   and stacks label/input rows on narrow screens. Appended after the
   base .segy-tp rules above so it wins the cascade.
   ===================================================================== */

.segy-tp-section {
	background: #FFFFFF !important;
	border: 1px solid #E7E7E7 !important;
	border-radius: 16px !important;
	padding: 18px 20px !important;
	margin: 0 0 18px !important;
	box-shadow: 0 2px 10px rgba(38, 51, 43, 0.05) !important;
	animation: segy-fade-up 0.4s ease both !important;
	max-width: 100% !important;
	overflow: hidden !important;
}

.segy-tp-section > h2:first-child,
.segy-tp-section > p.description:first-child + h2 {
	margin-top: 0 !important;
}

.segy-tp-section table.form-table,
.segy-tp-section table.widefat {
	margin-bottom: 0 !important;
}

.segy-tp-section + .segy-tp-section {
	margin-top: 0 !important;
}

/* Wide tables scroll within their own box instead of overflowing the
   card (and therefore the phone screen) - the classic responsive-table
   fix, applied without changing the table markup itself. */
.segy-tp-table-scroll {
	width: 100% !important;
	max-width: 100% !important;
	overflow-x: auto !important;
	-webkit-overflow-scrolling: touch !important;
	border-radius: 10px !important;
	border: 1px solid #E7E7E7 !important;
}

.segy-tp-table-scroll table.widefat {
	margin: 0 !important;
	border: 0 !important;
	min-width: 480px !important;
}

.segy-tp-table-scroll table.widefat th,
.segy-tp-table-scroll table.widefat td {
	border: 0 !important;
	border-bottom: 1px solid #EFEFEF !important;
	white-space: nowrap !important;
}

.segy-tp-table-scroll table.widefat thead th {
	background: #F3F7F4 !important;
	font-weight: 700 !important;
	color: #2F5F24 !important;
}

.segy-tp-table-scroll table.widefat tbody tr:last-child td {
	border-bottom: 0 !important;
}

/* Buttons: bring the wp-admin-style .button family visually in line
   with the rest of the app's gradient/lift buttons. */
.segy-tp .button,
.segy-tp button {
	border-radius: 10px !important;
	box-shadow: 0 2px 6px rgba(38, 51, 43, 0.08) !important;
	transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease !important;
}

.segy-tp .button:hover,
.segy-tp button:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 18px rgba(38, 51, 43, 0.14) !important;
}

.segy-tp .button:active,
.segy-tp button:active {
	transform: translateY(0) scale(0.97) !important;
}

.segy-tp .button-primary {
	background: linear-gradient(135deg, #8BC97C 0%, #7CB56D 55%, #5C9A4D 100%) !important;
	border-color: transparent !important;
	box-shadow: 0 4px 14px rgba(124, 181, 109, 0.35) !important;
}

.segy-tp .button-secondary {
	background: linear-gradient(135deg, #FFFFFF, #EFF6F0) !important;
	border-color: #CFE3D2 !important;
}

.segy-tp .button-link-delete:hover {
	opacity: 0.75 !important;
}

/* Section nav + headings: a little more breathing room and weight so
   the panel reads as designed rather than a raw list of admin forms. */
.segy-tp h1 {
	letter-spacing: 0.1px !important;
}

.segy-tp h2 {
	color: #2F5F24 !important;
}

.segy-tp .notice {
	animation: segy-fade-up 0.35s ease both !important;
}

/* Mobile: stack the wp-admin-style label/input rows instead of letting
   the fixed 260px label column push the row wider than the screen -
   this is the concrete fix for fields "sliding out of frame" on phones. */
@media (max-width: 640px) {
	.segy-tp-section {
		padding: 14px 16px !important;
		border-radius: 12px !important;
	}

	.segy-tp table.form-table,
	.segy-tp table.form-table tbody,
	.segy-tp table.form-table tr,
	.segy-tp table.form-table th,
	.segy-tp table.form-table td {
		display: block !important;
		width: 100% !important;
	}

	.segy-tp table.form-table tr {
		margin-bottom: 12px !important;
	}

	.segy-tp table.form-table th {
		padding: 0 0 6px !important;
	}

	.segy-tp table.form-table td {
		padding: 0 !important;
	}

	.segy-tp table.form-table input,
	.segy-tp table.form-table select,
	.segy-tp table.form-table textarea {
		width: 100% !important;
		max-width: 100% !important;
	}

	.segy-tp .segy-tp-nav {
		gap: 6px !important;
	}

	.segy-tp .segy-tp-nav a {
		flex: 1 1 auto !important;
		text-align: center !important;
		padding: 8px 6px !important;
		font-size: 13px !important;
	}
}

/* =====================================================================
   Logout link inside the app itself - once the WP admin toolbar is
   hidden for students/teachers, this is their only way to log out.
   ===================================================================== */
.segy-app-topbar {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin: 0 0 12px !important;
}

.segy-theme-switcher-label {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #6B7A70 !important;
}

.segy-app select#segy-theme-select {
	font-size: 13px !important;
	padding: 5px 10px !important;
	border-radius: 999px !important;
	border: 1px solid #D8DED9 !important;
	background: #FFFFFF !important;
	color: #26332B !important;
}

.segy-app .segy-logout-link {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #6B7A70 !important;
	text-decoration: none !important;
	background: rgba(107, 122, 112, 0.08) !important;
	padding: 6px 14px !important;
	border-radius: 999px !important;
	transition: background 0.15s ease, color 0.15s ease !important;
}

.segy-app .segy-logout-link::before {
	content: "\2192" !important;
	display: inline-block !important;
	transform: scaleX(-1) !important;
}

.segy-app .segy-logout-link:hover {
	background: rgba(179, 45, 46, 0.12) !important;
	color: #A5312B !important;
}

@media (max-width: 600px) {
	.segy-app-topbar {
		margin: 0 0 10px !important;
	}

	.segy-app .segy-logout-link {
		font-size: 12px !important;
		padding: 5px 12px !important;
	}
}

/* ==========================================================================
   Star Wars téma
   Csak színpaletta + animált csillagos háttér - nem a valódi Star Wars
   logó/betűtípus/karakterek másolata, saját, generikus sci-fi kinézet.
   Minden szabály ".segy-app.segy-theme-starwars ..." előtaggal indul, így
   a specifikusságuk mindig felülírja az alap (általában egy osztályos)
   szabályokat, forrássorrendtől függetlenül.
   ========================================================================== */

.segy-app.segy-theme-starwars {
	background-color: #05070d !important;
	background-image:
		radial-gradient(1.6px 1.6px at 8% 18%, rgba(255, 255, 255, 0.9) 1px, transparent 1.6px),
		radial-gradient(1.2px 1.2px at 22% 62%, rgba(255, 255, 255, 0.7) 1px, transparent 1.6px),
		radial-gradient(1.8px 1.8px at 38% 30%, rgba(255, 255, 255, 0.85) 1px, transparent 1.8px),
		radial-gradient(1.2px 1.2px at 54% 82%, rgba(255, 255, 255, 0.6) 1px, transparent 1.6px),
		radial-gradient(1.5px 1.5px at 68% 12%, rgba(255, 255, 255, 0.8) 1px, transparent 1.6px),
		radial-gradient(1.2px 1.2px at 82% 55%, rgba(255, 255, 255, 0.65) 1px, transparent 1.6px),
		radial-gradient(1.6px 1.6px at 92% 78%, rgba(255, 255, 255, 0.75) 1px, transparent 1.8px),
		radial-gradient(1.2px 1.2px at 12% 92%, rgba(255, 255, 255, 0.55) 1px, transparent 1.6px),
		linear-gradient(160deg, #060912 0%, #0b1730 55%, #05070d 100%) !important;
	background-repeat: repeat, repeat, repeat, repeat, repeat, repeat, repeat, repeat, no-repeat !important;
	background-size: 220px 220px, 220px 220px, 220px 220px, 220px 220px, 220px 220px, 220px 220px, 220px 220px, 220px 220px, 100% 100% !important;
	animation: segy-sw-drift 140s linear infinite !important;
	color: #E9EDF7 !important;
	border-color: rgba(255, 209, 63, 0.3) !important;
	box-shadow: 0 0 0 1px rgba(79, 195, 247, 0.12), 0 8px 34px rgba(0, 0, 0, 0.6) !important;
}

@keyframes segy-sw-drift {
	from { background-position: 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0; }
	to   { background-position: -220px -140px, 180px -220px, -160px 200px, 220px 160px, -200px -180px, 160px 220px, -180px -160px, 200px -200px, 0 0; }
}

.segy-app.segy-theme-starwars h3,
.segy-app.segy-theme-starwars h1,
.segy-app.segy-theme-starwars h2,
.segy-app.segy-theme-starwars p,
.segy-app.segy-theme-starwars label {
	color: #E9EDF7 !important;
}

.segy-app.segy-theme-starwars a {
	color: #4FC3F7 !important;
}

.segy-app.segy-theme-starwars .segy-loading,
.segy-app.segy-theme-starwars .segy-empty,
.segy-app.segy-theme-starwars .segy-muted,
.segy-app.segy-theme-starwars .segy-remaining,
.segy-app.segy-theme-starwars .segy-toolbar-field label,
.segy-app.segy-theme-starwars .segy-group-switcher-label,
.segy-app.segy-theme-starwars .segy-theme-switcher-label,
.segy-app.segy-theme-starwars .segy-task-meta,
.segy-app.segy-theme-starwars .segy-exam-list-meta,
.segy-app.segy-theme-starwars .segy-tp .description {
	color: #9AA9CC !important;
}

.segy-app.segy-theme-starwars .segy-error {
	color: #FF6B6B !important;
}

/* Fülek */
.segy-app.segy-theme-starwars .segy-tabs {
	border-bottom-color: rgba(255, 209, 63, 0.25) !important;
}

.segy-app.segy-theme-starwars .segy-tab-btn {
	color: #9AA9CC !important;
}

.segy-app.segy-theme-starwars .segy-tab-btn.active,
.segy-app.segy-theme-starwars .segy-tab-btn:hover {
	color: #FFE81F !important;
	border-bottom-color: #FFE81F !important;
}

/* Kártyák / dobozok */
.segy-app.segy-theme-starwars .segy-task-card,
.segy-app.segy-theme-starwars .segy-exam-list-item,
.segy-app.segy-theme-starwars .segy-exam-self-box,
.segy-app.segy-theme-starwars .segy-exam-result-box,
.segy-app.segy-theme-starwars .segy-exam-task-card,
.segy-app.segy-theme-starwars .segy-profile-summary,
.segy-app.segy-theme-starwars .segy-review-task-card,
.segy-app.segy-theme-starwars .segy-solution-box,
.segy-app.segy-theme-starwars .segy-xp-result-box,
.segy-app.segy-theme-starwars .segy-reward-pending,
.segy-app.segy-theme-starwars .segy-portal-card,
.segy-app.segy-theme-starwars .segy-image-wrap,
.segy-app.segy-theme-starwars .segy-tp-section {
	background: rgba(14, 20, 38, 0.92) !important;
	border-color: rgba(255, 209, 63, 0.28) !important;
	box-shadow: 0 0 0 1px rgba(79, 195, 247, 0.08), 0 6px 18px rgba(0, 0, 0, 0.45) !important;
	color: #E9EDF7 !important;
}

.segy-app.segy-theme-starwars .segy-note-box {
	background: rgba(79, 195, 247, 0.1) !important;
	border-color: rgba(79, 195, 247, 0.35) !important;
	color: #CFE9FB !important;
}

.segy-app.segy-theme-starwars .segy-tag,
.segy-app.segy-theme-starwars .segy-points-tag,
.segy-app.segy-theme-starwars .segy-badge {
	background: rgba(255, 232, 31, 0.15) !important;
	color: #FFE81F !important;
}

.segy-app.segy-theme-starwars .segy-badge-correct {
	background: rgba(93, 222, 141, 0.18) !important;
	color: #5DDE8D !important;
}

.segy-app.segy-theme-starwars .segy-badge-viewed {
	background: rgba(79, 195, 247, 0.18) !important;
	color: #4FC3F7 !important;
}

/* Gombok */
.segy-app.segy-theme-starwars .segy-btn-primary,
.segy-app.segy-theme-starwars .segy-reward-pick-btn {
	background: linear-gradient(135deg, #FFE81F, #E8A200) !important;
	color: #1A1300 !important;
	box-shadow: 0 0 16px rgba(255, 232, 31, 0.45) !important;
}

.segy-app.segy-theme-starwars .segy-btn-secondary {
	background: linear-gradient(135deg, #4FC3F7, #2C7DBE) !important;
	color: #071322 !important;
}

.segy-app.segy-theme-starwars .segy-btn-outline {
	background: rgba(79, 195, 247, 0.08) !important;
	color: #CFE9FB !important;
	border-color: rgba(79, 195, 247, 0.55) !important;
}

.segy-app.segy-theme-starwars .segy-btn[disabled] {
	box-shadow: none !important;
}

.segy-app.segy-theme-starwars .segy-char-btn {
	background: rgba(79, 195, 247, 0.1) !important;
	color: #CFE9FB !important;
	border-color: rgba(79, 195, 247, 0.35) !important;
}

/* Bemeneti mezők, legördülők */
.segy-app.segy-theme-starwars select,
.segy-app.segy-theme-starwars input[type="text"],
.segy-app.segy-theme-starwars input[type="number"],
.segy-app.segy-theme-starwars input.segy-answer-input,
.segy-app.segy-theme-starwars textarea {
	background: rgba(6, 10, 20, 0.85) !important;
	border-color: rgba(79, 195, 247, 0.35) !important;
	color: #E9EDF7 !important;
}

.segy-app.segy-theme-starwars input.segy-answer-input:focus {
	border-color: #FFE81F !important;
	box-shadow: 0 0 0 3px rgba(255, 232, 31, 0.2) !important;
}

.segy-app.segy-theme-starwars .segy-part-answer-row.segy-part-correct input.segy-answer-input,
.segy-app.segy-theme-starwars .segy-part-answer-row.segy-part-correct .segy-graph-wrap,
.segy-app.segy-theme-starwars .segy-part-answer-row.segy-part-correct .segy-func-wrap,
.segy-app.segy-theme-starwars .segy-review-part-correct {
	border-color: rgba(93, 222, 141, 0.6) !important;
	background: rgba(93, 222, 141, 0.08) !important;
}

.segy-app.segy-theme-starwars .segy-part-answer-row.segy-part-incorrect input.segy-answer-input,
.segy-app.segy-theme-starwars .segy-part-answer-row.segy-part-incorrect .segy-graph-wrap,
.segy-app.segy-theme-starwars .segy-part-answer-row.segy-part-incorrect .segy-func-wrap,
.segy-app.segy-theme-starwars .segy-review-part-incorrect {
	border-color: rgba(255, 107, 107, 0.6) !important;
	background: rgba(255, 107, 107, 0.08) !important;
}

.segy-app.segy-theme-starwars .segy-result-correct {
	color: #5DDE8D !important;
}

.segy-app.segy-theme-starwars .segy-result-incorrect {
	color: #FF6B6B !important;
}

/* Grafikon / függvény / sodrófa rajzterületek */
.segy-app.segy-theme-starwars .segy-graph-wrap,
.segy-app.segy-theme-starwars .segy-func-wrap,
.segy-app.segy-theme-starwars .segy-boxplot-wrap {
	background: rgba(6, 10, 20, 0.85) !important;
	border-color: rgba(79, 195, 247, 0.3) !important;
}

.segy-app.segy-theme-starwars .segy-graph-svg,
.segy-app.segy-theme-starwars .segy-func-svg,
.segy-app.segy-theme-starwars .segy-boxplot-svg {
	background: transparent !important;
}

.segy-app.segy-theme-starwars .segy-func-grid-line,
.segy-app.segy-theme-starwars .segy-boxplot-grid-line {
	stroke: rgba(79, 195, 247, 0.15) !important;
}

.segy-app.segy-theme-starwars .segy-func-axis-line,
.segy-app.segy-theme-starwars .segy-boxplot-axis-line {
	stroke: rgba(154, 169, 204, 0.6) !important;
}

.segy-app.segy-theme-starwars .segy-func-axis-label,
.segy-app.segy-theme-starwars .segy-func-axis-label-y,
.segy-app.segy-theme-starwars .segy-boxplot-axis-label,
.segy-app.segy-theme-starwars .segy-boxplot-value-label {
	fill: #9AA9CC !important;
}

.segy-app.segy-theme-starwars .segy-graph-point,
.segy-app.segy-theme-starwars .segy-func-point {
	fill: #FFE81F !important;
	stroke: #1A1300 !important;
}

.segy-app.segy-theme-starwars .segy-graph-point-selected {
	fill: #4FC3F7 !important;
}

.segy-app.segy-theme-starwars .segy-graph-point-label {
	fill: #E9EDF7 !important;
}

.segy-app.segy-theme-starwars .segy-graph-edge-line,
.segy-app.segy-theme-starwars .segy-func-polyline {
	stroke: #4FC3F7 !important;
}

.segy-app.segy-theme-starwars .segy-boxplot-box {
	fill: rgba(79, 195, 247, 0.25) !important;
	stroke: #4FC3F7 !important;
}

.segy-app.segy-theme-starwars .segy-boxplot-whisker,
.segy-app.segy-theme-starwars .segy-boxplot-cap {
	stroke: #9AA9CC !important;
}

.segy-app.segy-theme-starwars .segy-boxplot-median {
	stroke: #FFE81F !important;
}

.segy-app.segy-theme-starwars .segy-boxplot-handle {
	fill: #FFE81F !important;
	stroke: #1A1300 !important;
}

.segy-app.segy-theme-starwars .segy-graph-clear-btn,
.segy-app.segy-theme-starwars .segy-func-clear-btn {
	color: #FF6B6B !important;
}

/* Szint jelvény / XP sáv */
.segy-app.segy-theme-starwars .segy-profile-level-badge {
	background: linear-gradient(135deg, #FFE81F, #E8A200) !important;
	color: #1A1300 !important;
	box-shadow: 0 0 18px rgba(255, 232, 31, 0.5) !important;
}

.segy-app.segy-theme-starwars .segy-profile-progress-wrap {
	background: rgba(6, 10, 20, 0.85) !important;
	border-color: rgba(79, 195, 247, 0.3) !important;
}

.segy-app.segy-theme-starwars .segy-profile-progress-bar {
	background: linear-gradient(90deg, #4FC3F7, #FFE81F) !important;
	box-shadow: 0 0 10px rgba(255, 232, 31, 0.4) !important;
}

.segy-app.segy-theme-starwars .segy-profile-table th,
.segy-app.segy-theme-starwars .segy-profile-table td {
	border-color: rgba(79, 195, 247, 0.2) !important;
	color: #E9EDF7 !important;
}

.segy-app.segy-theme-starwars .segy-profile-table th {
	background: rgba(79, 195, 247, 0.12) !important;
}

/* Vizsga nézet */
.segy-app.segy-theme-starwars .segy-exam-nav-item {
	background: rgba(6, 10, 20, 0.85) !important;
	border-color: rgba(79, 195, 247, 0.3) !important;
	color: #E9EDF7 !important;
}

.segy-app.segy-theme-starwars .segy-exam-nav-item.segy-exam-nav-answered {
	background: rgba(93, 222, 141, 0.18) !important;
	border-color: rgba(93, 222, 141, 0.5) !important;
}

.segy-app.segy-theme-starwars .segy-exam-timer {
	background: rgba(79, 195, 247, 0.12) !important;
	color: #CFE9FB !important;
	border-color: rgba(79, 195, 247, 0.35) !important;
}

.segy-app.segy-theme-starwars .segy-exam-timer.segy-exam-timer-warning {
	background: rgba(255, 107, 107, 0.18) !important;
	color: #FF6B6B !important;
	border-color: rgba(255, 107, 107, 0.5) !important;
}

/* Tanári panel */
.segy-app.segy-theme-starwars.segy-tp .segy-tp-nav a,
.segy-app.segy-theme-starwars .segy-tp .segy-tp-nav a {
	color: #9AA9CC !important;
}

.segy-app.segy-theme-starwars.segy-tp .segy-tp-nav a.active,
.segy-app.segy-theme-starwars.segy-tp .segy-tp-nav a:hover,
.segy-app.segy-theme-starwars .segy-tp .segy-tp-nav a.active,
.segy-app.segy-theme-starwars .segy-tp .segy-tp-nav a:hover {
	color: #FFE81F !important;
	border-bottom-color: #FFE81F !important;
}

.segy-app.segy-theme-starwars .segy-tp table.widefat,
.segy-app.segy-theme-starwars .segy-tp table.form-table,
.segy-app.segy-theme-starwars .segy-tp-table-scroll table.widefat {
	background: rgba(14, 20, 38, 0.92) !important;
	color: #E9EDF7 !important;
}

.segy-app.segy-theme-starwars .segy-tp table.widefat th,
.segy-app.segy-theme-starwars .segy-tp table.widefat td,
.segy-app.segy-theme-starwars .segy-tp-table-scroll table.widefat th,
.segy-app.segy-theme-starwars .segy-tp-table-scroll table.widefat td {
	border-color: rgba(79, 195, 247, 0.2) !important;
	color: #E9EDF7 !important;
}

.segy-app.segy-theme-starwars .segy-tp table.widefat.striped tbody tr:nth-child(odd) {
	background: rgba(79, 195, 247, 0.06) !important;
}

.segy-app.segy-theme-starwars .segy-tp-table-scroll table.widefat thead th {
	background: rgba(79, 195, 247, 0.15) !important;
}

.segy-app.segy-theme-starwars .segy-tp input[type="text"],
.segy-app.segy-theme-starwars .segy-tp input[type="email"],
.segy-app.segy-theme-starwars .segy-tp input[type="number"],
.segy-app.segy-theme-starwars .segy-tp input[type="password"],
.segy-app.segy-theme-starwars .segy-tp select,
.segy-app.segy-theme-starwars .segy-tp textarea {
	background: rgba(6, 10, 20, 0.85) !important;
	border-color: rgba(79, 195, 247, 0.35) !important;
	color: #E9EDF7 !important;
}

.segy-app.segy-theme-starwars .segy-tp .button,
.segy-app.segy-theme-starwars .segy-tp button,
.segy-app.segy-theme-starwars .segy-tp .button-primary {
	background: linear-gradient(135deg, #FFE81F, #E8A200) !important;
	color: #1A1300 !important;
	border-color: transparent !important;
	box-shadow: 0 0 14px rgba(255, 232, 31, 0.35) !important;
}

.segy-app.segy-theme-starwars .segy-tp .button-secondary {
	background: linear-gradient(135deg, #4FC3F7, #2C7DBE) !important;
	color: #071322 !important;
}

.segy-app.segy-theme-starwars .segy-tp .notice {
	background: rgba(79, 195, 247, 0.1) !important;
	border-left-color: #4FC3F7 !important;
	color: #E9EDF7 !important;
}

.segy-app.segy-theme-starwars .segy-tp .notice-error {
	background: rgba(255, 107, 107, 0.12) !important;
	border-left-color: #FF6B6B !important;
}

.segy-app.segy-theme-starwars .segy-tp .segy-level-box {
	background: rgba(6, 10, 20, 0.85) !important;
	border-color: rgba(79, 195, 247, 0.3) !important;
}

/* Háttér "blob" fények - a globális témára is halványan illeszkedve */
.segy-app.segy-theme-starwars .segy-blob {
	opacity: 0.35 !important;
	filter: blur(60px) !important;
}

.segy-app.segy-theme-starwars .segy-blob-1,
.segy-app.segy-theme-starwars .segy-blob-3 {
	background: #FFE81F !important;
}

.segy-app.segy-theme-starwars .segy-blob-2,
.segy-app.segy-theme-starwars .segy-blob-4 {
	background: #4FC3F7 !important;
}

.segy-app.segy-theme-starwars select#segy-theme-select,
.segy-app.segy-theme-starwars select#segy-group-select,
.segy-app.segy-theme-starwars select#segy-topic-select {
	background: rgba(6, 10, 20, 0.85) !important;
	border-color: rgba(79, 195, 247, 0.4) !important;
	color: #E9EDF7 !important;
}

.segy-app.segy-theme-starwars .segy-logout-link {
	background: rgba(255, 107, 107, 0.1) !important;
	color: #FF9E9E !important;
}

.segy-app.segy-theme-starwars .segy-logout-link:hover {
	background: rgba(255, 107, 107, 0.2) !important;
	color: #FF6B6B !important;
}

@media (prefers-reduced-motion: reduce) {
	.segy-app.segy-theme-starwars {
		animation: none !important;
	}
}
