/**
 * Flottapajzs – flotta- és dokumentumnyilvántartó
 * Frontend stílus. Minden a .fp-vr alá van scope-olva, hogy ne ütközzön
 * más pluginekkel vagy a témával.
 */

.fp-vr {
	/* Flottapajzs arculat: éjkék / pajzskék / zöld pipa */
	--fp-bg: #f4f6f9;
	--fp-surface: #ffffff;
	--fp-surface-2: #eef1f5;
	--fp-border: #dde2ea;
	--fp-text: #2b3140;
	--fp-muted: #5e6878;
	--fp-primary: #2b38a8;
	--fp-primary-dark: #1f2a8a;
	--fp-primary-soft: #e6e9fb;
	--fp-ink: #0b0f2e;
	--fp-header-bg: linear-gradient(120deg, #0b0d1a 0%, #161d63 100%);

	--fp-ok: #16a34a;
	--fp-ok-bg: #dcfce7;
	--fp-warning: #d97706;
	--fp-warning-bg: #fef3c7;
	--fp-danger: #dc2626;
	--fp-danger-bg: #fee2e2;
	--fp-expired: #7f1d1d;
	--fp-expired-bg: #fecaca;
	--fp-none: #94a3b8;
	--fp-none-bg: #f1f5f9;

	--fp-radius: 14px;
	--fp-radius-sm: 10px;
	--fp-shadow: 0 1px 2px rgba(18, 21, 27, .06), 0 6px 20px rgba(18, 21, 27, .05);
	--fp-shadow-lg: 0 22px 48px rgba(18, 21, 27, .18);
	--fp-pad: 28px;

	box-sizing: border-box;
	color: var(--fp-text);
	background: var(--fp-bg);
	font-family: "Manrope", "Roboto", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
	font-size: 15px;
	line-height: 1.5;
	/* Teljes képernyő: kitör a téma tartalomkonténeréből. */
	position: relative;
	width: 100vw;
	max-width: 100vw;
	min-height: 100vh;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 0 var(--fp-pad) var(--fp-pad);
	border-radius: 0;
}

/* A 100vw a függőleges görgetősávval együtt számol – ne legyen vízszintes görgetés. */
body:has(#fp-vr-app) {
	overflow-x: hidden;
}

/* Sötét mód */
.fp-vr[data-theme="dark"] {
	--fp-bg: #12151b;
	--fp-surface: #171b22;
	--fp-surface-2: #1e232c;
	--fp-border: #2f3542;
	--fp-text: #e6e9ef;
	--fp-muted: #aeb6c4;
	--fp-primary: #5b6af0;
	--fp-primary-dark: #4452d6;
	--fp-primary-soft: #1e2560;
	--fp-header-bg: linear-gradient(120deg, #0b0d11 0%, #1e232c 100%);

	--fp-ok-bg: #14532d;
	--fp-warning-bg: #78350f;
	--fp-danger-bg: #7f1d1d;
	--fp-expired-bg: #991b1b;
	--fp-none-bg: #1e232c;
	--fp-shadow: 0 1px 3px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .3);
}

.fp-vr *,
.fp-vr *::before,
.fp-vr *::after {
	box-sizing: border-box;
}

.fp-vr h1,
.fp-vr h2 {
	margin: 0;
	color: var(--fp-text);
	line-height: 1.2;
}

/* ---------- Fejléc ---------- */
.fp-header {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 20;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin: 0 calc(-1 * var(--fp-pad)) 24px;
	padding: 14px var(--fp-pad);
	background: var(--fp-header-bg);
	color: #fff;
	box-shadow: 0 1px 0 rgba(255, 255, 255, .06), 0 18px 40px -24px rgba(0, 0, 0, .6);
}

.fp-header__brand {
	display: flex;
	align-items: center;
	gap: 18px;
}

.fp-vr .fp-header__logo {
	display: block;
	width: auto;
	height: 38px;
	max-width: none;
}

.fp-header__brand > div {
	padding-left: 18px;
	border-left: 1px solid rgba(255, 255, 255, .18);
}

.fp-vr .fp-header__title {
	font-size: 18px;
	font-weight: 800;
	color: #fff;
	letter-spacing: -.01em;
}

.fp-header__subtitle {
	margin: 2px 0 0;
	font-size: 11px;
	color: #aeb6c4;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.fp-header__actions {
	display: flex;
	align-items: center;
	gap: 12px;
}

.fp-header__user {
	font-weight: 700;
	font-size: 14px;
	color: #aeb6c4;
}

/* Fejléc gombjai sötét sávon */
.fp-vr .fp-header .fp-icon-btn,
.fp-header .fp-btn--ghost {
	background: rgba(255, 255, 255, .06);
	border-color: rgba(255, 255, 255, .16);
	color: #fff;
}

.fp-vr .fp-header .fp-icon-btn:hover,
.fp-header .fp-btn--ghost:hover {
	background: rgba(255, 255, 255, .14);
	border-color: rgba(255, 255, 255, .32);
	color: #fff;
}

/* ---------- Értesítések ---------- */
.fp-notices {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 18px;
}

.fp-notices:empty {
	display: none;
}

.fp-alert {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 16px;
	border-radius: var(--fp-radius-sm);
	font-weight: 700;
	font-size: 14px;
	border: 1px solid transparent;
}

.fp-alert--danger {
	background: var(--fp-danger-bg);
	color: var(--fp-danger);
	border-color: color-mix(in srgb, var(--fp-danger) 25%, transparent);
}

.fp-alert--warning-strong {
	background: var(--fp-danger-bg);
	color: var(--fp-danger);
	border-color: color-mix(in srgb, var(--fp-danger) 20%, transparent);
}

.fp-alert--warning {
	background: var(--fp-warning-bg);
	color: var(--fp-warning);
	border-color: color-mix(in srgb, var(--fp-warning) 25%, transparent);
}

/* ---------- Dashboard kártyák ---------- */
.fp-cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin-bottom: 22px;
}

.fp-card {
	display: flex;
	align-items: center;
	gap: 16px;
	background: var(--fp-surface);
	border: 1px solid var(--fp-border);
	border-radius: var(--fp-radius);
	padding: 18px 20px;
	box-shadow: var(--fp-shadow);
	transition: transform .18s ease, box-shadow .18s ease;
	position: relative;
	overflow: hidden;
}

.fp-card::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 3px;
	background: var(--fp-primary);
}

.fp-card--warning::before { background: var(--fp-warning); }
.fp-card--danger::before { background: var(--fp-danger); }
.fp-card--expired::before { background: var(--fp-expired); }

.fp-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--fp-shadow-lg);
}

.fp-card__icon {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 14px;
	font-size: 26px;
	background: var(--fp-surface-2);
	flex-shrink: 0;
}

.fp-card--total .fp-card__icon { background: var(--fp-primary-soft); }
.fp-card--warning .fp-card__icon { background: var(--fp-warning-bg); }
.fp-card--danger .fp-card__icon { background: var(--fp-danger-bg); }
.fp-card--expired .fp-card__icon { background: var(--fp-expired-bg); }

.fp-card__body {
	display: flex;
	flex-direction: column;
}

.fp-card__value {
	font-size: 30px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.02em;
}

.fp-card__label {
	font-size: 13px;
	color: var(--fp-muted);
	font-weight: 700;
	margin-top: 4px;
}

/* ---------- Eszköztár ---------- */
.fp-toolbar {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	margin-bottom: 16px;
}

.fp-toolbar__search {
	position: relative;
	flex: 1 1 260px;
	min-width: 220px;
}

.fp-toolbar__search-icon {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	opacity: .6;
	pointer-events: none;
}

.fp-input--search {
	padding-left: 40px;
}

.fp-toolbar__filters {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.fp-toolbar__actions {
	display: flex;
	gap: 10px;
	margin-left: auto;
}

/* ---------- Chip szűrők ---------- */
.fp-chip {
	border: 1px solid var(--fp-border);
	background: var(--fp-surface);
	color: var(--fp-muted);
	padding: 8px 14px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 13px;
	cursor: pointer;
	transition: all .15s ease;
	font-family: inherit;
}

.fp-chip:hover {
	border-color: var(--fp-primary);
	color: var(--fp-primary);
}

.fp-chip.is-active {
	background: var(--fp-primary);
	border-color: var(--fp-primary);
	color: #fff;
}

/* ---------- Gombok ---------- */
.fp-btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	border: 1px solid transparent;
	border-radius: var(--fp-radius-sm);
	padding: 10px 16px;
	font-weight: 700;
	font-size: 14px;
	cursor: pointer;
	text-decoration: none;
	transition: all .15s ease;
	font-family: inherit;
	line-height: 1.2;
	white-space: nowrap;
}

.fp-btn--primary {
	background: var(--fp-primary);
	color: #fff;
}

.fp-btn--primary:hover {
	background: var(--fp-primary-dark);
	transform: translateY(-1px);
	box-shadow: 0 6px 16px color-mix(in srgb, var(--fp-primary) 40%, transparent);
}

.fp-btn--ghost {
	background: var(--fp-surface);
	color: var(--fp-text);
	border-color: var(--fp-border);
}

.fp-btn--ghost:hover {
	border-color: var(--fp-primary);
	color: var(--fp-primary);
}

.fp-btn--block { width: 100%; justify-content: center; }
.fp-btn--sm { padding: 7px 12px; font-size: 13px; }

/* ---------- Ikon gombok ---------- */
/* A téma button-stílusait (padding, min-width stb.) explicit felülírjuk,
   különben az ikon nem középen ül a fix méretű gombban. */
.fp-vr .fp-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	min-width: 36px;
	min-height: 36px;
	padding: 0;
	margin: 0;
	box-sizing: border-box;
	border-radius: 10px;
	border: 1px solid var(--fp-border);
	background: var(--fp-surface);
	color: var(--fp-muted);
	cursor: pointer;
	font-size: 16px;
	transition: all .15s ease;
	line-height: 1;
	vertical-align: middle;
}

.fp-vr .fp-icon-btn svg {
	display: block;
	width: 18px;
	height: 18px;
	flex: 0 0 auto;
	margin: 0;
}

.fp-icon-btn:hover {
	border-color: var(--fp-primary);
	background: var(--fp-surface-2);
	color: var(--fp-primary);
	transform: translateY(-1px);
}

.fp-icon-btn--danger:hover {
	border-color: var(--fp-danger);
	background: var(--fp-danger-bg);
	color: var(--fp-danger);
}

/* Dark mode ikon váltó */
.fp-icon-moon { display: none; }
.fp-vr[data-theme="dark"] .fp-icon-sun { display: none; }
.fp-vr[data-theme="dark"] .fp-icon-moon { display: inline; }

/* ---------- Dropdown ---------- */
.fp-dropdown {
	position: relative;
}

.fp-dropdown__menu {
	position: absolute;
	right: 0;
	top: calc(100% + 6px);
	min-width: 190px;
	background: var(--fp-surface);
	border: 1px solid var(--fp-border);
	border-radius: var(--fp-radius-sm);
	box-shadow: var(--fp-shadow-lg);
	padding: 6px;
	display: none;
	z-index: 30;
}

.fp-dropdown__menu.is-open { display: block; }

.fp-dropdown__menu a,
.fp-dropdown__menu button {
	display: block;
	width: 100%;
	text-align: left;
	padding: 9px 12px;
	border-radius: 8px;
	color: var(--fp-text);
	text-decoration: none;
	font-size: 14px;
	font-weight: 600;
	border: none;
	background: none;
	cursor: pointer;
	font-family: inherit;
}

.fp-dropdown__menu a:hover,
.fp-dropdown__menu button:hover {
	background: var(--fp-surface-2);
	color: var(--fp-primary);
}

/* ---------- Táblázat ---------- */
.fp-table-wrap {
	background: var(--fp-surface);
	border: 1px solid var(--fp-border);
	border-radius: var(--fp-radius);
	box-shadow: var(--fp-shadow);
	overflow-x: auto;
}

.fp-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}

.fp-table thead th {
	text-align: left;
	padding: 14px 16px;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--fp-muted);
	background: var(--fp-surface-2);
	border-bottom: 1px solid var(--fp-border);
	white-space: nowrap;
}

.fp-table thead th[data-sort] {
	cursor: pointer;
	user-select: none;
}

.fp-table thead th[data-sort]:hover {
	color: var(--fp-primary);
}

.fp-table thead th[data-sort][data-sort-dir] {
	color: var(--fp-primary);
}

.fp-table thead th[data-sort][data-sort-dir="asc"]::after {
	content: " ↑";
	font-size: 11px;
}

.fp-table thead th[data-sort][data-sort-dir="desc"]::after {
	content: " ↓";
	font-size: 11px;
}

.fp-table tbody td {
	padding: 14px 16px;
	border-bottom: 1px solid var(--fp-border);
	vertical-align: middle;
}

.fp-table tbody tr:last-child td {
	border-bottom: none;
}

.fp-table tbody tr {
	transition: background .12s ease;
}

.fp-table tbody tr:hover {
	background: var(--fp-surface-2);
}

.fp-num { text-align: center; }
.fp-actions-col { text-align: center; width: 1%; white-space: nowrap; }

/* Magasabb specificitású szabályok, hogy a fejléc és a cella is biztosan középre kerüljön. */
.fp-table thead th.fp-actions-col,
.fp-table tbody td.fp-actions-col {
	text-align: center;
}

.fp-plate {
	font-weight: 800;
	font-size: 13px;
	letter-spacing: .04em;
	background: var(--fp-surface-2);
	border: 1px solid var(--fp-border);
	padding: 3px 9px;
	border-radius: 7px;
	display: inline-block;
}

.fp-count {
	display: inline-grid;
	place-items: center;
	min-width: 26px;
	height: 26px;
	padding: 0 8px;
	border-radius: 999px;
	background: var(--fp-primary-soft);
	color: var(--fp-primary-dark);
	font-weight: 800;
	font-size: 13px;
}

.fp-actions {
	display: flex;
	gap: 6px;
	justify-content: center;
	align-items: center;
}

.fp-empty-row td,
.fp-no-results {
	text-align: center;
	color: var(--fp-muted);
	padding: 40px 16px;
	font-weight: 600;
}

.fp-no-results {
	margin: 0;
}

/* ---------- Badge / állapot ---------- */
.fp-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 11px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
	white-space: nowrap;
}

.fp-badge--ok { background: var(--fp-ok-bg); color: var(--fp-ok); }
.fp-badge--warning { background: var(--fp-warning-bg); color: var(--fp-warning); }
.fp-badge--danger { background: var(--fp-danger-bg); color: var(--fp-danger); }
.fp-badge--expired {
	background: var(--fp-expired);
	color: #fff;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--fp-expired) 20%, transparent);
}
.fp-badge--none { background: var(--fp-none-bg); color: var(--fp-none); }

.fp-vr[data-theme="dark"] .fp-badge--ok { color: #86efac; }
.fp-vr[data-theme="dark"] .fp-badge--warning { color: #fcd34d; }
.fp-vr[data-theme="dark"] .fp-badge--danger { color: #fca5a5; }

/* ---------- Mezők / input ---------- */
.fp-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-bottom: 14px;
}

.fp-field__label {
	font-size: 13px;
	font-weight: 700;
	color: var(--fp-muted);
}

.fp-field__label em {
	color: var(--fp-danger);
	font-style: normal;
}

.fp-field-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}

.fp-input {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid var(--fp-border);
	border-radius: var(--fp-radius-sm);
	background: var(--fp-surface);
	color: var(--fp-text);
	font-size: 14px;
	font-family: inherit;
	transition: border-color .15s ease, box-shadow .15s ease;
}

.fp-input:focus {
	outline: none;
	border-color: var(--fp-primary);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--fp-primary) 20%, transparent);
}

textarea.fp-input { resize: vertical; }

.fp-checkbox {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 600;
	color: var(--fp-muted);
	margin-bottom: 16px;
	cursor: pointer;
}

.fp-form-error {
	background: var(--fp-danger-bg);
	color: var(--fp-danger);
	padding: 10px 14px;
	border-radius: var(--fp-radius-sm);
	font-size: 13px;
	font-weight: 700;
	margin-bottom: 12px;
}

/* ---------- Login ---------- */
.fp-login {
	min-height: 100vh;
	display: grid;
	place-items: center;
	padding: 30px 0;
}

.fp-login__card {
	width: 100%;
	max-width: 400px;
	background: var(--fp-surface);
	border: 1px solid var(--fp-border);
	border-radius: var(--fp-radius);
	box-shadow: var(--fp-shadow-lg);
	padding: 34px 30px;
	overflow: hidden;
}

.fp-login__brand {
	text-align: center;
	margin-bottom: 24px;
}

.fp-login__logo {
	display: grid;
	place-items: center;
	margin: -34px -30px 22px;
	padding: 26px 30px;
	background: var(--fp-header-bg);
	border-radius: var(--fp-radius) var(--fp-radius) 0 0;
}

.fp-vr .fp-login__logo img {
	display: block;
	width: 200px;
	max-width: 100%;
	height: auto;
}

.fp-login__title {
	font-size: 24px;
	font-weight: 800;
}

.fp-login__subtitle {
	margin: 6px 0 0;
	color: var(--fp-muted);
	font-size: 14px;
	font-weight: 600;
}

.fp-login__footer {
	margin: 18px 0 0;
	text-align: center;
	font-size: 12px;
	color: var(--fp-muted);
}

/* ---------- Modál ---------- */
.fp-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: none;
	align-items: flex-start;
	justify-content: center;
	padding: 40px 16px;
	overflow-y: auto;
}

.fp-modal.is-open { display: flex; }

.fp-modal__overlay {
	position: fixed;
	inset: 0;
	background: rgba(15, 23, 42, .55);
	backdrop-filter: blur(2px);
}

.fp-modal__box {
	position: relative;
	width: 100%;
	max-width: 480px;
	background: var(--fp-surface);
	border-radius: var(--fp-radius);
	box-shadow: var(--fp-shadow-lg);
	border: 1px solid var(--fp-border);
	animation: fp-pop .18s ease;
	margin: auto 0;
}

.fp-modal--wide .fp-modal__box { max-width: 760px; }

@keyframes fp-pop {
	from { opacity: 0; transform: translateY(12px) scale(.98); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}

.fp-modal__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 22px;
	border-bottom: 1px solid var(--fp-border);
}

.fp-modal__head h2 {
	font-size: 18px;
	font-weight: 800;
}

.fp-modal__body {
	padding: 22px;
}

.fp-modal__foot {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 8px;
}

.fp-permissions-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
	gap: 12px;
}

.fp-permissions-vehicle {
	font-weight: 800;
	font-size: 16px;
}

.fp-table-wrap--inner {
	box-shadow: none;
	border-radius: var(--fp-radius-sm);
}

.fp-perm-empty td {
	text-align: center;
	color: var(--fp-muted);
	padding: 28px 16px;
	font-weight: 600;
}

/* ---------- Csatolmányok ---------- */
.fp-upload-label {
	position: relative;
	overflow: hidden;
	cursor: pointer;
}

.fp-upload-label input[type="file"] {
	position: absolute;
	inset: 0;
	opacity: 0;
	width: 100%;
	height: 100%;
	cursor: pointer;
}

.fp-upload-hint {
	margin: 0 0 12px;
	font-size: 12px;
	color: var(--fp-muted);
	font-weight: 600;
}

.fp-upload-progress {
	margin-bottom: 12px;
	padding: 10px 14px;
	border-radius: var(--fp-radius-sm);
	background: var(--fp-primary-soft);
	color: var(--fp-primary);
	font-size: 13px;
	font-weight: 700;
}

.fp-file-link {
	color: var(--fp-primary);
	font-weight: 700;
	text-decoration: none;
}

.fp-file-link:hover {
	text-decoration: underline;
}

.fp-attach-note {
	color: var(--fp-muted);
	max-width: 260px;
	white-space: normal;
	word-break: break-word;
}

.fp-attachment-note-file {
	margin: 0 0 14px;
	font-weight: 700;
	color: var(--fp-text);
	word-break: break-word;
}

.fp-service-desc {
	white-space: normal;
	word-break: break-word;
	max-width: 340px;
}

.fp-card-num,
.fp-card-pin {
	font-variant-numeric: tabular-nums;
	letter-spacing: .03em;
}

.fp-secret {
	font-family: "SFMono-Regular", ui-monospace, Menlo, Consolas, monospace;
	font-size: 13.5px;
}

/* ---------- Nézetváltó (Járművek / Alkalmazottak) ---------- */
.fp-nav {
	display: flex;
	gap: 6px;
	background: var(--fp-surface);
	border: 1px solid var(--fp-border);
	border-radius: var(--fp-radius);
	padding: 6px;
	margin-bottom: 18px;
	box-shadow: var(--fp-shadow);
	max-width: max-content;
}

.fp-nav__tab {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: none;
	background: none;
	color: var(--fp-muted);
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	padding: 9px 18px;
	border-radius: var(--fp-radius-sm);
	cursor: pointer;
	transition: all .15s ease;
	white-space: nowrap;
}

.fp-nav__tab:hover { color: var(--fp-primary); }

.fp-nav__tab.is-active {
	background: var(--fp-primary);
	color: #fff;
}

.fp-nav__ic {
	display: inline-flex;
	align-items: center;
}

.fp-muted-text { color: var(--fp-muted); }

.fp-updated {
	color: var(--fp-muted);
	font-size: 11.5px;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
	line-height: 1.3;
}

.fp-updated__d {
	display: block;
}

.fp-updated__t {
	display: block;
	font-size: 10.5px;
	opacity: .75;
}

/* Alkalmazotti dokumentum: aktuális fájlnév és fájlválasztó */
.fp-emp-doc-current {
	margin: 0 0 14px;
	font-weight: 700;
	color: var(--fp-text);
	word-break: break-word;
}

.fp-file-input {
	width: 100%;
	font-size: 13.5px;
	color: var(--fp-text);
}

/* ---------- Toast ---------- */
.fp-toast {
	position: fixed;
	bottom: 24px;
	left: 50%;
	transform: translateX(-50%) translateY(20px);
	background: var(--fp-text);
	color: var(--fp-bg);
	padding: 12px 20px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 14px;
	box-shadow: var(--fp-shadow-lg);
	opacity: 0;
	pointer-events: none;
	transition: all .25s ease;
	z-index: 100001;
}

.fp-toast.is-visible {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}

.fp-toast--error { background: var(--fp-danger); color: #fff; }
.fp-toast--success { background: var(--fp-ok); color: #fff; }

/* ---------- Reszponzív ---------- */
@media (max-width: 900px) {
	.fp-cards { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 680px) {
	.fp-vr { --fp-pad: 14px; }
	.fp-header__brand > div { display: none; }
	.fp-vr .fp-header__logo { height: 30px; }

	.fp-toolbar__actions { margin-left: 0; width: 100%; }
	.fp-toolbar__search { flex-basis: 100%; }

	/* Táblázat kártyás nézet mobilon */
	.fp-table thead { display: none; }
	.fp-table,
	.fp-table tbody,
	.fp-table tr,
	.fp-table td { display: block; width: 100%; }

	.fp-table tr {
		border: 1px solid var(--fp-border);
		border-radius: var(--fp-radius-sm);
		margin: 12px;
		padding: 6px 0;
	}

	.fp-table tbody td {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 12px;
		border-bottom: 1px solid var(--fp-border);
		padding: 10px 14px;
	}

	.fp-table tbody td::before {
		content: attr(data-label);
		font-weight: 800;
		font-size: 12px;
		text-transform: uppercase;
		color: var(--fp-muted);
	}

	.fp-actions-col { text-align: left; }
	.fp-actions { justify-content: flex-start; }
	.fp-field-row { grid-template-columns: 1fr; }
}

@media (max-width: 460px) {
	.fp-cards { grid-template-columns: 1fr; }
	.fp-header__user { display: none; }
}

/* ---------- Nyomtatás ---------- */
@media print {
	body * { visibility: hidden; }
	.fp-vr, .fp-vr * { visibility: visible; }
	.fp-vr {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		margin: 0;
		min-height: 0;
		padding: 0;
		background: #fff;
	}
	.fp-header__actions,
	.fp-toolbar,
	.fp-actions,
	.fp-actions-col,
	.fp-notices,
	.fp-toast,
	.fp-modal { display: none !important; }
	.fp-card, .fp-table-wrap { box-shadow: none; break-inside: avoid; }
}

/* ---------- Hover / focus: a téma (Hello Elementor) rózsaszín gombszínének felülírása,
   az aktív gombhoz illeszkedő grafit színnel ---------- */
.fp-vr .fp-btn--ghost:hover,
.fp-vr .fp-btn--ghost:focus,
.fp-vr .fp-chip:hover,
.fp-vr .fp-chip:focus,
.fp-vr .fp-nav__tab:hover,
.fp-vr .fp-nav__tab:focus,
.fp-vr .fp-icon-btn:hover,
.fp-vr .fp-icon-btn:focus {
	background: var(--fp-primary);
	border-color: var(--fp-primary);
	color: #fff;
}

.fp-vr .fp-btn--primary:focus {
	background: var(--fp-primary);
	color: #fff;
}

.fp-vr .fp-icon-btn--danger:hover,
.fp-vr .fp-icon-btn--danger:focus {
	background: var(--fp-danger);
	border-color: var(--fp-danger);
	color: #fff;
}

.fp-vr .fp-header .fp-icon-btn:hover,
.fp-vr .fp-header .fp-icon-btn:focus,
.fp-vr .fp-header .fp-btn--ghost:hover,
.fp-vr .fp-header .fp-btn--ghost:focus {
	background: rgba(255, 255, 255, .14);
	border-color: rgba(255, 255, 255, .32);
	color: #fff;
}

.fp-vr .fp-table--services td:nth-child(3) { white-space: nowrap; }

/* ---------- Leltár ---------- */
.fp-vr [hidden] { display: none !important; }

.fp-vr .fp-inv-head-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-end;
}

.fp-vr #fp-inv-modal .fp-permissions-head { flex-wrap: wrap; }

.fp-vr .fp-inv-log {
	margin-top: 18px;
}

.fp-vr .fp-inv-log summary {
	cursor: pointer;
	font-weight: 700;
	padding: 8px 0;
	color: var(--fp-text);
}

.fp-vr .fp-inv-log[open] summary { margin-bottom: 8px; }

.fp-vr .fp-invop-info {
	margin: 0 0 14px;
	padding: 10px 12px;
	border-radius: var(--fp-radius-sm);
	background: var(--fp-primary-soft);
	color: var(--fp-text);
	font-weight: 600;
	font-size: 14px;
}

.fp-vr .fp-inv-act {
	display: inline-block;
	padding: 3px 9px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	background: var(--fp-none-bg);
	color: var(--fp-text);
	white-space: nowrap;
}

.fp-vr .fp-inv-act--in { background: var(--fp-ok-bg); color: var(--fp-ok); }
.fp-vr .fp-inv-act--out { background: var(--fp-danger-bg); color: var(--fp-danger); }
.fp-vr .fp-inv-act--adjust { background: var(--fp-warning-bg); color: var(--fp-warning); }

.fp-vr .fp-nowrap { white-space: nowrap; }

.fp-vr #fp-wh-table td:nth-child(2),
.fp-vr #fp-wh-table td:nth-child(3),
.fp-vr #fp-wh-table td:nth-child(4),
.fp-vr #fp-as-table td:nth-child(3) {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}
.fp-vr .fp-nav { flex-wrap: wrap; }

/* ---------- Beállítások ---------- */
.fp-vr .fp-settings__title { margin: 0 0 4px; font-size: 16px; font-weight: 800; }
.fp-vr .fp-settings__help { margin: 0 0 14px; color: var(--fp-muted); font-size: 14px; }
.fp-vr .fp-settings__emails { display: flex; flex-direction: column; gap: 8px; }
.fp-vr .fp-settings__email { display: flex; gap: 8px; align-items: center; }
.fp-vr .fp-settings__email .fp-input { flex: 1 1 auto; min-width: 0; }
.fp-vr .fp-settings__row-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 4px; }

/* ---------- Beállítások: fülek, mezők ---------- */
.fp-vr .fp-settings__tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 18px; }
.fp-vr .fp-settings__panel .fp-settings__title { margin-top: 18px; }
.fp-vr .fp-settings__panel .fp-settings__title:first-child { margin-top: 0; }
.fp-vr .fp-settings__narrow { max-width: 340px; }
.fp-vr .fp-settings__checks { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 6px 16px; }
.fp-vr .fp-check { display: flex; align-items: center; gap: 8px; margin: 6px 0; font-weight: 600; cursor: pointer; }
.fp-vr .fp-check input { width: 17px; height: 17px; margin: 0; accent-color: var(--fp-primary); }
.fp-vr .fp-settings__box { margin-top: 18px; padding: 16px; border: 1px solid var(--fp-border); border-radius: var(--fp-radius-sm); background: var(--fp-surface); }
.fp-vr #fp-settings-modal .fp-modal__box { max-width: 860px; }

/* ---------- Leltár: kevés készlet ---------- */
.fp-vr .fp-inv-low td:first-child { box-shadow: inset 3px 0 0 var(--fp-danger); }

/* ---------- Csak olvasó mód: szerkesztő gombok elrejtése ---------- */
.fp-vr--readonly #fp-add-vehicle,
.fp-vr--readonly #fp-add-employee,
.fp-vr--readonly [id$="-add"],
.fp-vr--readonly .fp-upload-label,
.fp-vr--readonly .fp-upload-hint,
.fp-vr--readonly #fp-inv-issue,
.fp-vr--readonly #fp-inv-new,
.fp-vr--readonly #fp-inv-return-all,
.fp-vr--readonly #fp-wh-receive,
.fp-vr--readonly .fp-act-edit,
.fp-vr--readonly .fp-act-delete,
.fp-vr--readonly .fp-emp-edit,
.fp-vr--readonly .fp-emp-delete,
.fp-vr--readonly .fp-perm-edit,
.fp-vr--readonly .fp-perm-delete,
.fp-vr--readonly .fp-attach-delete,
.fp-vr--readonly .fp-attach-note-edit,
.fp-vr--readonly .fp-card-edit,
.fp-vr--readonly .fp-card-delete,
.fp-vr--readonly .fp-service-edit,
.fp-vr--readonly .fp-service-delete,
.fp-vr--readonly .fp-vignette-edit,
.fp-vr--readonly .fp-vignette-delete,
.fp-vr--readonly .fp-empdoc-edit,
.fp-vr--readonly .fp-empdoc-delete,
.fp-vr--readonly .fp-emppermit-edit,
.fp-vr--readonly .fp-emppermit-delete,
.fp-vr--readonly [class*="fp-inv-act-"] {
	display: none !important;
}

/* ---------- Kereső: az ikon ne lógjon a szövegbe (a téma input-paddingje felülírta) ---------- */
.fp-vr .fp-toolbar__search .fp-input.fp-input--search { padding-left: 44px; }
.fp-vr .fp-toolbar__search-icon { z-index: 1; line-height: 1; }

/* ---------- Rendezhető oszlopok (minden táblázat) ---------- */
.fp-vr .fp-table thead th:not(.fp-actions-col) { cursor: pointer; user-select: none; }
.fp-vr .fp-table thead th:not(.fp-actions-col):hover { color: var(--fp-primary); }
.fp-vr .fp-table thead th[data-sort-dir] { color: var(--fp-primary); }
.fp-vr .fp-table thead th[data-sort-dir="asc"]::after { content: " ↑"; font-size: 11px; }
.fp-vr .fp-table thead th[data-sort-dir="desc"]::after { content: " ↓"; font-size: 11px; }

/* ---------- Flottapajzs arculat: logó, lábléc, licencsáv ---------- */
.fp-vr .fp-brand__logo { display: block; width: auto; height: 40px; max-width: 220px; object-fit: contain; }
.fp-vr .fp-brand__default { display: inline-flex; align-items: center; gap: 10px; }
.fp-vr .fp-brand__word { font-size: 24px; font-weight: 800; letter-spacing: -.03em; color: #fff; line-height: 1; }
.fp-vr .fp-mark { display: block; flex: 0 0 auto; }
.fp-vr .fp-login__logo .fp-brand__logo { height: 48px; max-width: 240px; }
.fp-vr .fp-license-banner { margin-bottom: 14px; }
.fp-vr .fp-footer { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 28px 0 8px; font-size: 12px; color: var(--fp-muted); }
.fp-vr .fp-footer a { color: inherit; font-weight: 700; text-decoration: none; }
.fp-vr .fp-footer a:hover { color: var(--fp-primary); }
.fp-vr .fp-footer .fp-mark { display: inline-block; }
.fp-vr .fp-brand-preview { display: flex; align-items: center; min-height: 64px; margin: 6px 0 4px; padding: 12px 16px; border-radius: var(--fp-radius-sm); background: var(--fp-header-bg); }
.fp-vr .fp-brand-preview img { height: 40px; width: auto; max-width: 220px; object-fit: contain; }
.fp-vr .fp-brand-preview .fp-muted-text { color: #c9cff5; }
@media (max-width: 640px) {
	.fp-vr .fp-brand__word { font-size: 20px; }
	.fp-vr .fp-brand__logo { height: 30px; }
}

/* ---------- Mobil: a Műveletek cellában csak az ikonok (felirat nélkül), több sorba törve ---------- */
@media (max-width: 680px) {
	.fp-vr .fp-table tbody td.fp-actions-col { display: block; padding: 10px 14px; }
	.fp-vr .fp-table tbody td.fp-actions-col::before { content: none; display: none; }
	.fp-vr .fp-table tbody td.fp-actions-col .fp-actions { flex-wrap: wrap; justify-content: flex-start; white-space: normal; }
}
