/* Ekrany przed zalogowaniem i strony błędów (layouts/auth, authLP, empty).
   Wszystkie reguły pod body.md-auth - layout panelu klienta ładuje każdy
   plik z public/css/md/, więc nic stąd nie może wyciec do panelu. */

body.md-auth {
	--md-auth-primary: #2152FF;
	--md-auth-primary-hover: #1a44d9;
	--md-auth-primary-soft: #eef2ff;
	--md-auth-text: #344767;
	--md-auth-muted: #7b809a;
	--md-auth-border: #e9ecef;
	min-height: 100vh;
	margin: 0;
	background: #f0f2f5 none;
	color: var(--md-auth-text);
	font-family: Inter, Helvetica, Arial, sans-serif;
	font-size: .875rem;
}
body.md-auth a { color: var(--md-auth-primary); }
body.md-auth a:hover { color: var(--md-auth-primary-hover); }

/* Kolor wiodący zamiast różu wkompilowanego w material-dashboard.css. */
body.md-auth .btn-primary {
	--bs-btn-color: #fff;
	--bs-btn-bg: var(--md-auth-primary);
	--bs-btn-border-color: var(--md-auth-primary);
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: var(--md-auth-primary-hover);
	--bs-btn-hover-border-color: var(--md-auth-primary-hover);
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: var(--md-auth-primary-hover);
	--bs-btn-active-border-color: var(--md-auth-primary-hover);
	--bs-btn-disabled-color: #fff;
	--bs-btn-disabled-bg: var(--md-auth-primary);
	--bs-btn-disabled-border-color: var(--md-auth-primary);
	--bs-btn-focus-shadow-rgb: 33, 82, 255;
}
body.md-auth a.btn-primary,
body.md-auth a.btn-primary:hover { color: #fff; }
body.md-auth .btn-outline-secondary {
	--bs-btn-color: var(--md-auth-text);
	--bs-btn-border-color: #d2d6da;
	--bs-btn-hover-color: var(--md-auth-text);
	--bs-btn-hover-bg: #f0f2f5;
	--bs-btn-hover-border-color: #c3c8ce;
	--bs-btn-active-color: var(--md-auth-text);
	--bs-btn-active-bg: #e9ecef;
}
body.md-auth .btn .material-symbols-rounded { font-size: 1.125rem; }
body.md-auth .text-primary { color: var(--md-auth-primary) !important; }

/* Układ: wyśrodkowana karta na jasnym tle. */
body.md-auth .md-auth-shell {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 100vh;
	padding: 2.5rem 1rem 1.5rem;
}
body.md-auth .md-auth-card {
	width: 100%;
	max-width: 27rem;
	margin: 0 auto;
	border: 1px solid var(--md-auth-border);
	border-radius: 1rem;
	box-shadow: 0 4px 24px rgba(52, 71, 103, .08);
	background-color: #fff;
}
body.md-auth .md-auth-card > .card-body { padding: 2rem; }
body.md-auth .md-auth-card-wide { max-width: 64rem; }
body.md-auth .md-auth-card-medium { max-width: 36rem; }
body.md-auth .md-auth-card + .md-auth-card { margin-top: 1rem; }
@media (max-width: 575.98px) {
	body.md-auth .md-auth-shell { padding-top: 1.5rem; }
	body.md-auth .md-auth-card > .card-body { padding: 1.5rem 1.25rem; }
}

body.md-auth .md-auth-brand {
	display: flex;
	justify-content: center;
	margin-bottom: 1.5rem;
}
body.md-auth .md-auth-brand img {
	display: block;
	width: auto;
	max-width: 13rem;
	max-height: 3rem;
	padding: 0;
}
body.md-auth .md-auth-brand-sm img { max-width: 10rem; max-height: 2.5rem; }

body.md-auth .md-auth-title {
	margin: 0 0 .25rem;
	color: var(--md-auth-text);
	font-size: 1.375rem;
	font-weight: 700;
	text-align: center;
}
body.md-auth .md-auth-subtitle {
	margin: 0 0 1.5rem;
	color: var(--md-auth-muted);
	font-size: .875rem;
	text-align: center;
}
body.md-auth .md-auth-section-title {
	margin: 0 0 .75rem;
	color: var(--md-auth-muted);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

/* Pola formularza. */
body.md-auth .md-auth-field { margin-bottom: 1rem; }
body.md-auth .form-label {
	display: block;
	margin: 0 0 .375rem;
	color: var(--md-auth-text);
	font-size: .8125rem;
	font-weight: 600;
}
body.md-auth .form-control {
	min-height: 2.75rem;
	padding: .625rem .875rem;
	color: var(--md-auth-text);
	font-size: .875rem;
	line-height: 1.4 !important;
	background-color: #fff;
	border: 1px solid #d2d6da !important;
	border-radius: .5rem;
}
body.md-auth .form-control:focus {
	border-color: var(--md-auth-primary) !important;
	box-shadow: 0 0 0 3px rgba(33, 82, 255, .15) !important;
	outline: 0;
}
body.md-auth .form-control.is-invalid { border-color: #e53935 !important; }
body.md-auth .form-control.is-invalid:focus { box-shadow: 0 0 0 3px rgba(229, 57, 53, .15) !important; }
body.md-auth .md-auth-error {
	display: flex;
	align-items: flex-start;
	gap: .25rem;
	margin-top: .375rem;
	color: #c62828;
	font-size: .75rem;
	line-height: 1.35;
}
body.md-auth .md-auth-error .material-symbols-rounded { font-size: 1rem; line-height: 1.1; }
body.md-auth .md-auth-static {
	padding: .625rem .875rem;
	border-radius: .5rem;
	background-color: #f8f9fa;
	font-weight: 600;
	word-break: break-all;
}

/* Checkboxy: znacznik .fake_checkbox_log zostaje (klikają go testy
   i to on jest widocznym polem), prawdziwy input jest ukryty wizualnie,
   ale dostępny z klawiatury. */
body.md-auth .fake_log_checkbox {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: .625rem;
	float: none;
	width: 100%;
	margin: 0 0 .75rem;
	color: var(--md-auth-text);
	font-size: .8125rem;
	line-height: 1.45;
	cursor: pointer;
}
body.md-auth .fake_log_checkbox > input[type="checkbox"] {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	opacity: 0;
	pointer-events: none;
}
body.md-auth .fake_checkbox_log {
	display: block;
	flex: 0 0 auto;
	float: none;
	position: relative;
	top: 1px;
	width: 1.125rem;
	height: 1.125rem;
	margin: 0;
	border: 1.5px solid #b0b7c3;
	border-radius: .3125rem;
	background-color: #fff;
	transition: background-color .15s ease, border-color .15s ease;
}
body.md-auth .fake_checkbox_log:before {
	content: "";
	position: absolute;
	top: 1px;
	left: 5px;
	width: 5px;
	height: 10px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	border-radius: 0;
	background: none;
	transform: rotate(45deg);
	opacity: 0;
}
body.md-auth .fake_log_checkbox:hover .fake_checkbox_log { border-color: var(--md-auth-primary); }
body.md-auth .fake_log_checkbox:hover .fake_checkbox_log:before { opacity: 0; }
body.md-auth .fake_log_checkbox > input[type="checkbox"]:checked ~ .fake_checkbox_log {
	border-color: var(--md-auth-primary);
	background-color: var(--md-auth-primary);
}
body.md-auth .fake_log_checkbox > input[type="checkbox"]:checked ~ .fake_checkbox_log:before { opacity: 1; }
body.md-auth .fake_log_checkbox > input[type="checkbox"]:focus-visible ~ .fake_checkbox_log {
	box-shadow: 0 0 0 3px rgba(33, 82, 255, .2);
}
body.md-auth .fake_log_checkbox .agreement_desc {
	display: block;
	float: none;
	width: auto;
	flex: 1 1 auto;
}
body.md-auth .fake_log_checkbox .md-auth-error { margin-top: .25rem; }
body.md-auth .md-auth-check-body { flex: 1 1 auto; min-width: 0; }

body.md-auth .md-auth-row-between {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .5rem;
	margin-bottom: 1.25rem;
}
body.md-auth .md-auth-row-between .fake_log_checkbox { width: auto; margin: 0; }
body.md-auth .md-auth-link-sm { font-size: .8125rem; font-weight: 600; text-decoration: none; }

body.md-auth .md-auth-submit {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .375rem;
	width: 100%;
	min-height: 2.75rem;
	margin: 0;
	font-size: .875rem;
	font-weight: 600;
}
body.md-auth .md-auth-or {
	margin: .875rem 0 0;
	color: var(--md-auth-muted);
	font-size: .8125rem;
	text-align: center;
}
body.md-auth .md-auth-or a { font-weight: 600; }

/* Linki pod kartą. */
body.md-auth .md-auth-alt {
	margin: 1.25rem 0 0;
	color: var(--md-auth-muted);
	font-size: .875rem;
	text-align: center;
}
body.md-auth .md-auth-alt a { font-weight: 600; text-decoration: none; }
body.md-auth .md-auth-alt .md-auth-sep { margin: 0 .5rem; color: #c3c8ce; }

body.md-auth .md-auth-lang {
	align-self: flex-end;
	margin: -1.25rem 0 1rem;
}
body.md-auth .md-auth-lang a {
	display: inline-flex;
	align-items: center;
	gap: .375rem;
	padding: .375rem .75rem;
	border: 1px solid var(--md-auth-border);
	border-radius: 999px;
	background-color: #fff;
	color: var(--md-auth-text);
	font-size: .75rem;
	font-weight: 600;
	text-decoration: none;
}
body.md-auth .md-auth-lang img { height: .875rem; width: auto; }

body.md-auth .md-auth-version {
	margin: 1.5rem 0 0;
	color: #adb5bd;
	font-size: .6875rem;
	text-align: center;
}

/* Komunikaty zamiast pełnych, kolorowych pasków. */
body.md-auth .md-auth-alert {
	display: flex;
	align-items: flex-start;
	gap: .625rem;
	margin: 0 0 1.25rem;
	padding: .75rem 1rem;
	border: 1px solid #c9d6ff;
	border-radius: .5rem;
	background-color: var(--md-auth-primary-soft);
	color: var(--md-auth-text);
	font-size: .8125rem;
	line-height: 1.5;
	text-align: left;
}
body.md-auth .md-auth-alert > .material-symbols-rounded {
	flex: 0 0 auto;
	color: var(--md-auth-primary);
	font-size: 1.25rem;
	line-height: 1.2;
}
body.md-auth .md-auth-alert strong { font-weight: 600; }
body.md-auth .md-auth-alert a { font-weight: 600; }
body.md-auth .md-auth-alert-success { background-color: #e8f5ee; border-color: #bfe3cc; }
body.md-auth .md-auth-alert-success > .material-symbols-rounded { color: #2e7d32; }
body.md-auth .md-auth-alert-danger { background-color: #fdecec; border-color: #f8c4c4; }
body.md-auth .md-auth-alert-danger > .material-symbols-rounded { color: #d32f2f; }
body.md-auth .md-auth-alert-warning { background-color: #fff8e6; border-color: #ffe1a1; }
body.md-auth .md-auth-alert-warning > .material-symbols-rounded { color: #b7791f; }

/* Zakup licencji: podsumowanie po lewej, formularz po prawej. */
body.md-auth .md-auth-card-wide > .card-body { padding: 0; }
body.md-auth .md-auth-aside {
	padding: 2rem;
	border-right: 1px solid var(--md-auth-border);
	border-radius: 1rem 0 0 1rem;
	background-color: #f8f9fa;
}
body.md-auth .md-auth-main { padding: 2rem; }
body.md-auth .md-auth-main .md-auth-title,
body.md-auth .md-auth-main .md-auth-subtitle { text-align: left; }
body.md-auth .md-auth-aside .md-auth-brand { justify-content: flex-start; }
@media (max-width: 991.98px) {
	body.md-auth .md-auth-aside {
		border-right: 0;
		border-bottom: 1px solid var(--md-auth-border);
		border-radius: 1rem 1rem 0 0;
	}
}
@media (max-width: 575.98px) {
	body.md-auth .md-auth-aside,
	body.md-auth .md-auth-main { padding: 1.5rem 1.25rem; }
}

body.md-auth .md-auth-segmented {
	display: flex;
	flex-wrap: wrap;
	gap: .25rem;
	margin: 0 0 1rem;
	padding: .25rem;
	border-radius: .625rem;
	background-color: #e9ecef;
}
body.md-auth .md-auth-segmented > a,
body.md-auth .md-auth-segmented > span {
	flex: 1 1 auto;
	padding: .5rem .75rem;
	border-radius: .5rem;
	color: var(--md-auth-text);
	font-size: .8125rem;
	font-weight: 500;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
}
body.md-auth .md-auth-segmented > a:hover { background-color: #dde1e6; color: var(--md-auth-text); }
body.md-auth .md-auth-segmented > .is-active {
	background-color: #fff;
	color: var(--md-auth-primary);
	font-weight: 700;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .08);
}
body.md-auth .md-auth-links {
	display: flex;
	flex-wrap: wrap;
	gap: .375rem 1rem;
	margin: 0 0 1.25rem;
	padding: 0;
	list-style: none;
	font-size: .8125rem;
}
body.md-auth .md-auth-links a {
	display: inline-flex;
	align-items: center;
	gap: .25rem;
	font-weight: 600;
	text-decoration: none;
}
body.md-auth .md-auth-links .material-symbols-rounded { font-size: 1rem; }

body.md-auth .md-auth-summary {
	padding: 1.25rem;
	border: 1px solid var(--md-auth-border);
	border-radius: .75rem;
	background-color: #fff;
}
body.md-auth .md-auth-summary-label {
	margin: 0 0 .5rem;
	color: var(--md-auth-muted);
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .03em;
	text-transform: uppercase;
}
body.md-auth .md-auth-plan {
	display: inline-block;
	margin: 0 .25rem .25rem 0;
	padding: .3125rem .625rem;
	border-radius: .375rem;
	background-color: var(--md-auth-primary-soft);
	color: var(--md-auth-primary);
	font-size: .75rem;
	font-weight: 700;
	line-height: 1.4;
	white-space: normal;
}
body.md-auth .md-auth-plan-danger { background-color: #fdecec; color: #c62828; }
body.md-auth .md-auth-price {
	margin: 1rem 0 0;
	color: var(--md-auth-text);
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.2;
}
body.md-auth .md-auth-price small {
	color: var(--md-auth-muted);
	font-size: .875rem;
	font-weight: 500;
}
body.md-auth .md-auth-price-old {
	margin: .75rem 0 0;
	color: #c62828;
	font-size: .875rem;
	font-weight: 600;
	text-decoration: line-through;
}
body.md-auth .md-auth-price-meta {
	margin: .25rem 0 0;
	color: var(--md-auth-muted);
	font-size: .8125rem;
}
body.md-auth .md-auth-price-meta b { color: var(--md-auth-text); }
body.md-auth .md-auth-saving { color: #c62828; font-weight: 600; }
body.md-auth .md-auth-discount {
	display: flex;
	align-items: center;
	gap: .375rem;
	margin: .75rem 0 0;
	padding: .5rem .75rem;
	border-radius: .5rem;
	background-color: #e8f5ee;
	color: #1a6b3c;
	font-size: .8125rem;
}
body.md-auth .md-auth-discount .material-symbols-rounded { font-size: 1.125rem; }
body.md-auth .md-auth-summary-link {
	display: inline-flex;
	align-items: center;
	gap: .25rem;
	margin-top: 1rem;
	font-size: .8125rem;
	font-weight: 600;
	text-decoration: none;
}
body.md-auth .md-auth-summary-link .material-symbols-rounded { font-size: 1rem; }
body.md-auth .md-auth-note {
	margin: 1rem 0 0;
	color: var(--md-auth-muted);
	font-size: .8125rem;
}
body.md-auth .md-auth-clause {
	margin: .25rem 0 1.25rem;
	font-size: .8125rem;
}
body.md-auth .md-auth-clause a { display: inline-flex; align-items: center; gap: .25rem; font-weight: 600; text-decoration: none; }
body.md-auth .md-auth-clause .material-symbols-rounded { font-size: 1rem; }

/* Pod kartą zakupu: inne systemy i partner merytoryczny. */
body.md-auth .md-auth-extras {
	width: 100%;
	max-width: 64rem;
	margin: 1rem auto 0;
}
body.md-auth .md-auth-extras .card {
	height: 100%;
	padding: 1.5rem;
	border: 1px solid var(--md-auth-border);
	border-radius: 1rem;
	box-shadow: none;
	text-align: center;
}
body.md-auth .md-auth-extras p { margin: 0 0 .75rem; color: var(--md-auth-muted); font-size: .8125rem; }
body.md-auth .md-auth-logos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1.25rem;
}
body.md-auth .md-auth-logos img { display: block; width: auto; max-width: 9rem; max-height: 2rem; }
body.md-auth .md-auth-partner img { display: block; width: auto; max-width: 100%; max-height: 4.5rem; margin: 0 auto; }

/* Strony błędów i potwierdzeń. */
body.md-auth .md-auth-status { text-align: center; }
body.md-auth .md-auth-status-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 4rem;
	height: 4rem;
	margin: 0 auto 1rem;
	border-radius: 50%;
	background-color: var(--md-auth-primary-soft);
	color: var(--md-auth-primary);
}
body.md-auth .md-auth-status-icon .material-symbols-rounded { font-size: 2rem; }
body.md-auth .md-auth-status-icon-danger { background-color: #fdecec; color: #d32f2f; }
body.md-auth .md-auth-status-icon-warning { background-color: #fff8e6; color: #b7791f; }
body.md-auth .md-auth-status-icon-success { background-color: #e8f5ee; color: #2e7d32; }
body.md-auth .md-auth-code {
	margin: 0 0 .25rem;
	color: var(--md-auth-primary);
	font-size: 3.5rem;
	font-weight: 800;
	letter-spacing: -.02em;
	line-height: 1;
}
body.md-auth .md-auth-status .md-auth-subtitle { margin-bottom: 1.5rem; }
body.md-auth .md-auth-pixel { position: absolute; width: 1px; height: 1px; opacity: 0; }

/* Portal pracownika: nazwa firmy pod logo. */
body.md-auth .md-auth-company {
	margin: -.75rem 0 1.25rem;
	color: var(--md-auth-muted);
	font-size: .8125rem;
	font-weight: 600;
	text-align: center;
}

/* Strona sprzedażowa (authLP): treść marketingowa w karcie. */
body.md-auth .md-auth-lp {
	width: 100%;
	max-width: 64rem;
	margin: 0 auto 1rem;
	padding: 2rem;
	text-align: center;
}
body.md-auth .md-auth-lp h1 { font-size: 1.75rem; font-weight: 700; color: var(--md-auth-text); }
body.md-auth .md-auth-lp h2 { font-size: 1.375rem; font-weight: 700; color: var(--md-auth-text); }
body.md-auth .md-auth-lp h3,
body.md-auth .md-auth-lp h4 { font-size: 1.0625rem; color: var(--md-auth-text); }
body.md-auth .md-auth-lp .md-auth-lp-guarantee {
	margin: 1.5rem auto;
	padding: 1.25rem;
	max-width: 44rem;
	border-radius: .75rem;
	background-color: var(--md-auth-primary);
	color: #fff;
}
body.md-auth .md-auth-lp .md-auth-lp-guarantee h2,
body.md-auth .md-auth-lp .md-auth-lp-guarantee h3 { color: #fff; }
body.md-auth .md-auth-lp .md-auth-lp-count {
	display: inline-block;
	padding: .125rem .5rem;
	border-radius: .375rem;
	background-color: #e53935;
	color: #fff;
	font-size: 1.75rem;
	font-weight: 700;
}
body.md-auth .md-auth-lp iframe { max-width: 100%; border-radius: .75rem; }
body.md-auth .md-auth-lp img { max-width: 100%; height: auto; }
body.md-auth .md-auth-lp-body { font-size: 1.0625rem; line-height: 1.6; }
body.md-auth .md-auth-lp-body .md-auth-alert { justify-content: center; margin: 1.5rem auto 0; max-width: 32rem; }
/* Klasy treści sprzedażowej (dawniej loginstyleLP.css). */
body.md-auth .md-auth-lp .iconLP_xlarge { font-size: 1.5rem; margin-bottom: .75rem; }
body.md-auth .md-auth-lp .iconLP_xxlarge { font-size: 1.75rem; line-height: 1.4; }
body.md-auth .md-auth-lp .iconLP_xxlarge.im-angle-right-circle,
body.md-auth .md-auth-lp .iconLP_xxlarge.im-check-mark-circle,
body.md-auth .md-auth-lp .iconLP_xxlarge.im-note-o,
body.md-auth .md-auth-lp .iconLP_xxlarge.im-wrench,
body.md-auth .md-auth-lp .iconLP_xxlarge.im-graduation-hat { font-size: 1.125rem; font-style: normal; }
body.md-auth .md-auth-lp .iconLP_xxxlarge { font-size: 2.25rem; }
/* Ikony z tekstem w środku: tekst krojem strony, sam znak krojem ikon. */
body.md-auth .md-auth-lp .im { font-family: Inter, Helvetica, Arial, sans-serif; line-height: 1.4; }
body.md-auth .md-auth-lp .im:before { font-family: 'iconmonstr-iconic-font'; margin-right: .375rem; vertical-align: -.125em; }
body.md-auth .md-auth-lp .green { color: #2e7d32; }
body.md-auth .md-auth-lp .red { color: #d32f2f; }
body.md-auth .md-auth-lp .yellow { color: #f9a825; }
body.md-auth .md-auth-lp .blue { color: var(--md-auth-primary); }
body.md-auth .md-auth-lp .imgScreen1Col { width: 50%; }
body.md-auth .md-auth-lp .imgScreen2Col { width: 30%; margin: .5rem; border: 1px solid var(--md-auth-border); border-radius: .5rem; }
body.md-auth .md-auth-lp .imgCert { max-width: 20rem; margin-top: 1rem; }
@media (max-width: 575.98px) {
	body.md-auth .md-auth-lp { padding: 1.5rem 1rem; }
	body.md-auth .md-auth-lp .imgScreen1Col,
	body.md-auth .md-auth-lp .imgScreen2Col { width: 100%; margin: .5rem 0; }
}
body.md-auth .md-auth-lp-partner { margin-top: 1rem; text-align: center; }
body.md-auth .md-auth-lp-partner > .card-body { padding: 1.5rem 2rem; }
body.md-auth .md-auth-lp-partner img { max-height: 4.5rem; width: auto; max-width: 100%; }
body.md-auth .md-auth-lp-partner p { color: var(--md-auth-muted); font-size: .8125rem; }

/* Nakładka ładowania z register.js - kolory motywu. */
body.md-auth #loaderspin {
	border-color: #e9ecef;
	border-top-color: var(--md-auth-primary);
}
body.md-auth #loadertext { color: var(--md-auth-text); font-weight: 500; }

/* Material Dashboard: różowe tło i cień .btn-primary przy najechaniu. */
body.md-auth .btn-primary { box-shadow: 0 2px 6px rgba(33, 82, 255, .22); }
body.md-auth .btn-primary:hover,
body.md-auth .btn-primary:focus-visible {
	background-color: #1a41cc;
	border-color: #1a41cc;
	color: #fff;
	box-shadow: 0 4px 12px rgba(33, 82, 255, .3);
}
body.md-auth .btn-primary:not(:disabled):not(.disabled):active { background-color: #173aba; border-color: #173aba; color: #fff; }

img[src^="/branding/logo/"], img[src*="/branding/logo/"] { width: auto !important; max-width: 100%; max-height: 64px; object-fit: contain; }
