
div.inline-form-fragment {
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	gap: 16px;
	align-items: center;
	justify-content: center;
}

div.inline-form {
	width: 100%;
	max-width: 640px;
	padding-bottom: 56px;
}

div.inline-form.medium {
	width: 100%;
	max-width: 512px;
	padding-bottom: 56px;
}

div.inline-form div.form-row-text {
	font-family: Roboto;
	font-size: 14px;
}

div.inline-form div.form-title {
	font-family: Roboto-SemiBold;
	font-size: 18px;
	color: var(--on-background);
	margin-bottom: 12px;
}

div.inline-form div.form-body {
	width: 100%;
	max-width: 1450px;
	padding: 16px 36px 36px 36px;
	border-radius: var(--content-radius);
	background: var(--background);
}

div.inline-form div.form-row {
	margin-bottom: 12px;
}

div.inline-form div.form-row.last {
	margin-bottom: 16px;
}

div.inline-form div.form-row-label {
	font-family: Roboto-SemiBold;
	font-size: 18px;
	color: var(--on-background);
	margin-bottom: 8px;
}

div.inline-form div.form-row-value {
	display: flex;
	flex-direction: row;
	align-items: center;
	width: 100%;
	height: 40px;
	border: 1px solid var(--on-background-variant);
	border-radius: 8px;
	padding: 0px 18px 0px 18px;
	font-family: Roboto-Light;
	font-size: 14px;
	color: var(--on-background-passive);
}

div.inline-form input[type="text"] {
	width: 100%;
	height: 40px;
	border: 1px solid var(--on-background-variant);
	border-radius: 8px;
	padding: 16px 18px 16px 18px;
	font-family: Roboto-Light;
	font-size: 14px;
	color: var(--accent);
}

div.inline-form input[type="text"]:focus {
	color: var(--accent);
	border: 1px solid var(--primary);
	background: var(--secondary-background);
	outline: none;
}

div.inline-form div.form-row.bad input[type="text"] {
	border: 1px solid var(--on-background-error);
	outline: none;
}

div.inline-form div.form-row.bad input[type="text"]:focus {
	border: 1px solid var(--on-background-error);
	background: var(--secondary-background);
	outline: none;
}

div.inline-form input[type="password"] {
	width: 100%;
	height: 40px;
	border: 1px solid var(--on-background-variant);
	border-radius: 8px;
	padding: 16px 18px 16px 18px;
	font-family: Roboto-Light;
	font-size: 14px;
	color: var(--accent);
}

div.inline-form input[type="password"]:focus {
	color: var(--accent);
	border: 1px solid var(--primary);
	background: var(--secondary-background);
	outline: none;
}

div.inline-form div.form-row.bad input[type="password"] {
	background: var(--error-background);
	border: 1px solid var(--on-background-error);
}

div.inline-form div.form-selector-wrapper {
	position: relative;
}

div.inline-form div.form-selector {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 40px;
	border: 1px solid var(--on-background-variant);
	border-radius: 8px;
	padding: 16px 18px 16px 18px;
	font-family: Roboto-Light;
	font-size: 14px;
	color: var(--accent);
	cursor: pointer;
}


div.inline-form div.form-selector img {
	width: 12px;
	height: auto;
	aspect-ratio: 1;
}

div.inline-form div.form-selector-wrapper div.form-selector-options {
	display: none;
	position: absolute;
	left: -4px;
	right: -4px;
	top: -4px;
	border: 1px solid var(--on-background-variant);
	border-radius: 8px;
	padding: 10px 0px 10px 0px;
	background: var(--background);
	box-shadow: 0 0 8px var(--shadow);
}

div.inline-form div.form-selector-wrapper.expanded div.form-selector-options {
	display: block;
}

div.inline-form div.form-selector-option {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: start;
	gap: 8px;
	height: 40px;
	padding-left: 10px;
	padding-right 10px;
	cursor: pointer;
	font-family: Roboto;
	font-size: 14px;
}

div.inline-form div.form-selector-option:hover {
	background: var(--secondary-background);
}

div.inline-form div.form-selector-option img {
	width: 20px;
	height: auto;
	visibility: hidden;
}

div.inline-form div.form-selector-option.selected img {
	visibility: visible;
}

div.inline-form div.form-row-hint {
	margin-top: 6px;
	margin-bottom: 8px;
	font-family: Roboto-Light;
	font-size: 14px;
	color: var(--on-background-variant);
}

div.inline-form div.form-row.bad div.form-row-hint {
	display: none;
}

div.inline-form div.form-data-error-row {
	margin-top: 8px;
	margin-bottom: 8px;
	font-family: Roboto-Light;
	font-size: 14px;
	color: var(--on-background-error);
	display: none;
}

div.inline-form.bad div.form-data-error-row {
	display: block;
}

div.inline-form div.form-row-error {
	margin-top: 6px;
	margin-bottom: 8px;
	font-family: Roboto-Light;
	font-size: 14px;
	color: var(--on-background-error);
	display: none;
}

div.inline-form div.form-row.bad div.form-row-error {
	display: block;
}

div.form-actions-row {
	display: flex;
	flex-direction: row;
	justify-content: end;
	gap: 8px;
}

div.inline-form div.form-actions-row button {
	background-color: var(--primary);
	border: 2px solid var(--primary);
	color: var(--on-primary); /* Text color */
	outline: none;
}

div.inline-form div.form-actions-row button:focus {
	border: 2px solid var(--primary);
	outline: none;
}

div.inline-form div.form-actions-row button:active {
	background-color: var(--on-background-passive);
	border: 2px solid var(--on-background-passive);
	outline: none;
}


div.inline-form div.form-actions-row.disabled button {
	background-color: var(--on-background-passive);
	border: 2px solid var(--on-background-passive);
	outline: none;
	cursor: auto;
}

div.form-footer-row {
	display: flex;
	flex-direction: row;
	justify-content: space-evenly;
	gap: 16px;
	margin-top: 16px;
}

div.form-footer-row a {
	color: var(--primary);
	font-family: Roboto-Light;
	font-size: 14px;
	text-decoration: none;
}

div.form-footer-row a:visited {
	color: var(--primary);
}

div.form-footer-row a:hover {
	color: var(--primary);
	text-decoration: underline;
}

div.modal-form-overlay {
	display: none; /* Hidden by default */
	position: fixed; /* Stay in place */
	z-index: 9998; /* Sit on top, leave 9999 to toast */
	left: 0;
	top: 0;
	width: 100%; /* Full width */
	height: 100%; /* Full height */
	overflow: auto; /* Enable scroll if needed */
	background-color: rgba(0, 71, 105, 0.4); /* Black w/ opacity */
	padding: 16px;
}

div.modal-form-overlay.active {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

div.modal-form-overlay.topgravity {
	justify-content: start;
	padding-top: 48px;
}

div.modal-form-body {
	width: 100%;
	padding: 16px 36px 20px 36px;
	border-radius: var(--content-radius);
	background: var(--background);
}

div.modal-form-overlay div.modal-form-body {
	box-shadow: 0 0 8px rgba(0, 71, 105, 0.5);
}

div.modal-form-body div.form-title-row {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 18px;
}

div.modal-form-body div.form-title-row img {
	width: 30px;
	heiht: 30px;
	cursor: pointer;
}

div.modal-form-body div.form-title {
	font-family: Roboto-SemiBold;
	font-size: 18px;
	color: var(--primary);
}

div.modal-form-body div.form-row {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-bottom: 12px;
}

div.modal-form-body div.form-row.hidden {
	display: none;
}

div.modal-form-body div.form-row.last {
	margin-bottom: 18px;
}

div.modal-form-body div.form-compact-row {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-top: 20px;
	margin-bottom: 20px;
}

div.modal-form-body div.form-compact-row.hidden {
	display: none;
}

div.modal-form-body div.compact-row-input {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
}

div.modal-form-body div.form-row-multi {
	display: flex;
	flex-direction: row;
	gap: 8px;
}

div.modal-form-body div.form-row-multi div {
	flex: 1;
}

div.modal-form-body div.form-row-label {
	font-family: Roboto-SemiBold;
	font-size: 18px;
	color: var(--on-background);
}

div.modal-form-body div.form-row-value {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 40px;
	border: 1px solid var(--on-background-variant);
	border-radius: 8px;
	padding: 0px 18px 0px 18px;
	font-family: Roboto-Light;
	font-size: 14px;
	color: var(--on-background-passive);
}

div.modal-form-body div.form-row-value img {
	width: 24px;
	height: 24px;
	cursor: pointer;
}

div.modal-form-body input[type="text"] {
	width: 100%;
	height: 40px;
	border: 1px solid var(--on-background-variant);
	border-radius: 8px;
	padding: 16px 18px 16px 18px;
	font-family: Roboto-Light;
	font-size: 14px;
	color: var(--accent);
}

div.modal-form-body input[type="text"]:focus {
	color: var(--accent);
	border: 1px solid var(--primary);
	background: var(--secondary-background);
	outline: none;
}

div.modal-form-body div.form-row.bad input[type="text"] {
	border: 1px solid var(--on-background-error);
}

div.modal-form-body div.form-row.bad input[type="text"]:focus {
	border: 1px solid var(--on-background-error);
	outline: none;
}

div.modal-form-body div.form-row.good input[type="text"] {
	border: 1px solid var(--on-background-success);
}

div.modal-form-body div.form-row.good input[type="text"]:focus {
	border: 1px solid var(--on-background-success);
	outline: none;
}

div.modal-form-body div.form-actions-row button {
	background-color: var(--primary);
	color: var(--on-primary); /* Text color */
	outline: none;
}

div.modal-form-body div.form-actions-row button:focus {
	outline: none;
}

div.modal-form-body div.form-actions-row button:active {
	background-color: var(--on-background-passive);
	border: 2px solid var(--on-background-passive);
	outline: none;
}

div.modal-form-body div.form-actions-row button.secondary {
	background-color: var(--on-primary);
	border: 2px solid var(--primary);
	color: var(--primary); /* Text color */
	outline: none;
}

div.modal-form-body div.form-actions-row button.secondary:focus {
	border: 2px solid var(--primary);
	outline: none;
}

div.modal-form-body div.form-actions-row button.secondary:active {
	background-color: var(--on-background-passive);
	border: 2px solid var(--on-background-passive);
	outline: none;
}

div.modal-form-body div.form-actions-row.disabled button {
	background-color: var(--on-background-passive);
	border: 2px solid var(--on-background-passive);
	cursor: auto;
}

div.modal-form-body div.form-selector-wrapper {
	position: relative;
}

div.modal-form-body div.form-selector {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 40px;
	border: 1px solid var(--on-background-variant);
	border-radius: 8px;
	padding: 16px 18px 16px 18px;
	font-family: Roboto-Light;
	font-size: 14px;
	color: var(--accent);
	cursor: pointer;
}

div.modal-form-body div.form-selector img {
	width: 12px;
	height: auto;
	aspect-ratio: 1;
}

div.modal-form-body div.form-selector-wrapper div.form-selector-options {
	display: none;
	position: absolute;
	left: -4px;
	right: -4px;
	top: -4px;
	border: 1px solid var(--on-background-variant);
	border-radius: 8px;
	padding: 10px 0px 10px 0px;
	background: var(--background);
	box-shadow: 0 0 8px var(--shadow);
}

div.modal-form-body div.form-selector-wrapper.expanded div.form-selector-options {
	display: block;
}

div.modal-form-body div.form-selector-option {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: start;
	gap: 8px;
	height: 40px;
	padding-left: 10px;
	padding-right 10px;
	cursor: pointer;
	font-family: Roboto;
	font-size: 14px;
}

div.modal-form-body div.form-selector-option:hover {
	background: var(--secondary-background);
}

div.modal-form-body div.form-selector-option img {
	width: 20px;
	height: auto;
	visibility: hidden;
}

div.modal-form-body div.form-selector-option.selected img {
	visibility: visible;
}

div.modal-form-body div.form-row-hint {
	margin-bottom: 8px;
	font-family: Roboto-Light;
	font-size: 14px;
	color: var(--on-background-variant);
}

div.modal-form-body div.form-row.bad div.form-row-hint {
	display: none;
}

div.modal-form-body div.form-row.good div.form-row-hint {
	display: none;
}

/*
 * Row-wise success
 */
div.modal-form-body div.form-row-success {
	margin-top: 6px;
	margin-bottom: 8px;
	font-family: Roboto-Light;
	font-size: 14px;
	color: var(--on-background-success);
	display: none;
}

div.modal-form-body div.form-row.good div.form-row-success {
	display: block;
}

/*
 * Row-wise error
 */
div.modal-form-body div.form-row-error {
	font-family: Roboto-Light;
	font-size: 14px;
	color: var(--on-background-error);
	display: none;
}

div.modal-form-body div.form-row.bad div.form-row-error {
	display: block;
}

/*
 * Form-wise error
 */
div.modal-form-body div.form-data-error-row {
	margin-top: 8px;
	margin-bottom: 8px;
	font-family: Roboto-Light;
	font-size: 14px;
	color: var(--on-background-error);
	display: none;
}

div.modal-form-body.bad div.form-data-error-row {
	display: block;
}

div.toast {
	position: fixed;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	background: #333;
	color: #fff;
	padding: 10px 20px;
	border-radius: 5px;
	opacity: 0.9;
	z-index: 9999;
	display: none;
}

div.toast.active {
	display: block;
}

/* Medium and small size */
@media (width <= 700px) {
	div.modal-form-body div.form-row-multi {
		flex-direction: column;
		gap: 0px;
	}
}
