/* Login*/
* {
	margin: 0;
	padding: 0;
	border: 0;
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0;
	list-style-type: none;
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
}

:root {
	color-scheme: only light dark;

	--background-color: #e5eff9;
	--text-color: #838383;

	--card-background: #fff;
	--card-border: #fff;
	--card-shadow: rgba(2, 56, 81, 0.2);

	--input-background: #fafafa;
	--input-border: #ededed;
	--checkbox-border: #dcdcdc;

	--frontier-blue: #068ccb;
	--frontier-grey: #636363;

	--footer-text: #035479;

	--error-background: #fde8e8;
	--error-color: #cc3300;
	--success-background: #d4edda;
	--success-color: #008000;
}

@media (prefers-color-scheme: dark) {
	:root {
		--background-color: #111d2b;
		--text-color: #b8c4d1;

		--card-background: #1b2b3b;
		--card-border: #2a3d50;
		--card-shadow: rgba(0, 0, 0, 0.25);

		--input-background: #152333;
		--input-border: #304254;
		--checkbox-border: #526579;

		--frontier-blue: #42b8eb;
		--frontier-grey: var(--frontier-blue);

		--footer-text: #6ccbf0;

		--error-background: #422527;
		--error-color: #ff8278;
		--success-background: #1d3b30;
		--success-color: #69d99a;
	}
}

@font-face {
	font-display: swap;
	font-family: 'Inter';
	font-style: normal;
	font-weight: normal;
	src: url('/files/fonts/inter/InterVariable.woff2') format('woff2');
}

body {
	background-color: var(--background-color);
	line-height: 1.5;
}

body, input, select, textarea, p, ul, ol {
	font-family: 'Inter', -apple-system, sans-serif;
	font-size: 16px;
	color: var(--text-color);
}

a {
	text-decoration: none;
	color: var(--frontier-blue);
}

p {
	margin-bottom: 24px;
}

/* Containers & Layout */
.login-container {
	padding: 10% 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.login-box, .global-message {
	border-radius: 15px;
}

.login-box {
	background: var(--card-background);
	padding: 30px 30px 36px 30px;
	width: 100%;
	max-width: 380px;
	box-shadow: 0 10px 20px 0 var(--card-shadow);
	margin: 0 auto;
}

.login-box svg {
	margin: 0 auto;
}

.login-box .logo {
	margin: 0 auto 30px auto;
	display: block;
	width: 100px;
	height: 100px;
}

/* Logo */
.grey { fill: var(--frontier-grey); }
.blue { fill: var(--frontier-blue); }

/* Form Fields */
.input-field {
	position: relative;
	margin-bottom: 18px;
}

.input-check {
	margin-bottom: 18px;
}

.input-field input, .submit-login input {
	width: 100%;
	height: 48px;
	background-color: var(--input-background);
	border: 1px solid var(--input-border);
	border-radius: 8px;
}

.input-field input {
	padding-left: 44px;
}

.input-password input {
	padding-right: 44px;
}

.input-field input:focus, .input-field input:hover {
	outline: 2px solid var(--frontier-blue);
	outline-offset: -2px;
}


.input-field svg, .box-link svg, .input-check svg, .close svg {
	width: 20px;
	height: 20px;
}

.input-field svg:not(.eye, .eye-slash), .box-link svg, .input-check svg, .close svg {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5px;
	stroke-linecap: round;
	stroke-linejoin: round;
	pointer-events: none;
}

.eye, .eye-slash { fill: currentColor; }
.eye-slash { opacity: .6; }

.input-field label, .input-field svg {
	position: absolute;
}

.input-field label, .toggle-password {
	width: 44px;
	height: 48px;
	z-index: 5;
}

.input-field svg {
	top: 50%;
	transform: translateY(-50%);
	left: 12px;
}

.toggle-password {
	position: absolute;
	right: 0;
	top: 0;
}

.submit-login input {
	background-color: var(--frontier-blue);
	border-color: var(--frontier-blue);
	color: var(--card-background);
}

label, .submit-login input, .close, .cover, .toggle-password {
	cursor: pointer;
}

.box-link {
	margin-top: 24px;
}

.box-link a {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: var(--frontier-blue);
}

.box-link svg {
	stroke: currentColor;
	fill: none;
	flex-shrink: 0;
}


input[type="checkbox"] + label {
	display: inline-flex;
	align-items: center;
	text-align: left;
	position: relative;
}

input[type="checkbox"] + label:before {
	content: "";
	display: block;
	border: 1px solid var(--checkbox-border);
	background-color: var(--input-background);
	border-radius: 5px;
	margin-right: 8px;
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}

input[type="checkbox"] + label svg {
	position: absolute;
	stroke: transparent;
	left: 2px;
	top: 50%;
	transform: translateY(-50%);
	width: 22px;
	height: 22px;
}

input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}

input[type="checkbox"]:checked + label svg {
	stroke: var(--card-background);
}

input[type="checkbox"]:checked + label:before {
	border-color: var(--frontier-blue);
	background-color: var(--frontier-blue);
}

input[type="checkbox"]:focus-visible + label:before {
	outline: 2px solid var(--frontier-blue);
	outline-offset: 2px;
}

/* Placeholders */
input:focus::placeholder {
	color: transparent;
}

::placeholder {
	color: currentColor;
	opacity: .7;
}

/* MS opruiming */
input[type="password"]::-ms-reveal,
input::-ms-clear { 
	display: none; 
}

/* Footer */
footer {
	font-size: 13px;
	text-align: center;
	padding: 100px 24px 50px 24px;
	line-height: 1.8;
	opacity: .35;
	color: var(--footer-text);
}

/* Responsive Styles */
@media screen and (max-width: 460px) {
	body {
		background: var(--card-background);
	}

	.login-box {
		box-shadow: none;
	}

	.input-field input, .submit-login input, .input-field label, .toggle-password {
		height: 52px;
	}
}

/* Utility / Universal Classes */
.global-message, .close svg, .viewer-navigation svg, .image-text:after {
	pointer-events: none;
}

.close {
	display: block;
	width: 24px;
	height: 24px;
	float: right;
}

.close svg {
	margin: 2px;
}

.error, .warning, .success, .global-message {
	padding: 20px;
	border-radius: 8px;
}

.error {
	background-color: var(--error-background);
	color: var(--error-color);
}

.error li, .warning li {
	list-style-type: disc;
	margin-left: 22px;
}

.success {
	background-color: var(--success-background);
	color: var(--success-color);
}

.popup, .global-message, .cover, .eye .eye-slash, .eye-slash .eye {
	display: none;
}

.global-message, .cover {
	position: fixed;
}

.global-message {
	top: 100px;
	width: 600px;
	max-width: 90%;
	left: 50%;
	transform: translate(-50%, 0);
	z-index: 31;
}

.cover {
	z-index: 29;
	background-color: rgba(255, 255, 255, 0.5);
	opacity: .5;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}
