.tml {
	font-size: 1em;
}

	.tml * {
		box-sizing: border-box;
	}

	.tml .tml-field-wrap {
		margin-bottom: 1em;
	}

	.tml .tml-field-wrap:has(.tml-checkbox) {
			align-items: center;
			display: flex;
			gap: 0.5em;
		}

	.tml .tml-label {
		display: block;
		margin: 0.5em 0;
	}

	.tml .tml-checkbox {
		vertical-align: middle;
	}

	.tml .tml-checkbox + .tml-label {
			display: inline;
		}

	.tml .tml-field {
		width: 100%;
	}

	.tml .tml-description {
		display: block;
		font-size: 0.85em;
		font-style: italic;
		margin: 0.5em 0;
	}

:where(.tml .tml-field) {
	background-color: #fff;
	border: 1px solid #8c8f94;
	border-radius: 4px;
	color: #2c3338;
	padding: 0.75em 1em;
}

:where(.tml .tml-field:focus) {
	border-color: #3c434a;
	box-shadow: 0 0 0 1px #3c434a;
	outline: 2px solid transparent;
}

:where(.tml .tml-button) {
	background-color: #f6f7f7;
	border: 1px solid #8c8f94;
	border-radius: 4px;
	color: #2c3338;
	cursor: pointer;
	padding: 0.75em 1.5em;
}

:where(.tml .tml-button:hover) {
	background-color: #f0f0f1;
	border-color: #6c7079;
}

:where(.tml .tml-button:focus) {
	border-color: #3c434a;
	box-shadow: 0 0 0 1px #3c434a;
	outline: 2px solid transparent;
}

.tml .tml-errors,
	.tml .tml-messages {
		list-style: none;
		margin: 0;
		padding: 0;
	}

.tml .tml-error,
	.tml .tml-message,
	.tml .tml-success,
	.tml .tml-action-confirmaction .success {
		background: #fff;
		border: 1px solid rgba(0, 0, 0, 0.1);
		border-left-width: 4px;
		border-left-color: #c3c4c7;
		box-shadow: none;
		display: block;
		margin: 0 0 1em;
		padding: 0.75em;
	}

.tml .tml-message {
		border-color: rgba(56, 88, 233, 0.3);
		border-left-color: #3858e9;
	}

.tml .tml-error {
		border-color: rgba(204, 24, 24, 0.3);
		border-left-color: #cc1818;
		background-color: #fcf0f0;
	}

.tml .tml-success,
	.tml .tml-action-confirmaction .success {
		border-color: rgba(74, 184, 102, 0.3);
		border-left-color: #4ab866;
		background-color: #eff9f1;
	}

#pass-strength-result {
	background-color: #eee;
	border: 1px solid #ddd;
	color: #23282d;
	font-weight: bold;
	opacity: 0;
	margin-bottom: 1em;
	padding: 0.5em;
}

#pass-strength-result.strong {
		background-color: #c1e1b9;
		border-color: #83c373;
		opacity: 1;
	}

#pass-strength-result.good {
		background-color: #ffe399;
		border-color: #ffc733;
		opacity: 1;
	}

#pass-strength-result.bad {
		background-color: #fbc5a9;
		border-color: #f78b53;
		opacity: 1;
	}

#pass-strength-result.short {
		background-color: #f1adad;
		border-color: #e35b5b;
		opacity: 1;
	}

.tml-pwd {
	position: relative;
}

.tml-pwd .tml-field {
		padding-right: 2.5em;
	}

.tml-toggle-pwd {
	background: none;
	border: 0;
	cursor: pointer;
	padding: 0.5em;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

.tml-toggle-pwd .dashicons {
		color: #787c82;
	}

.tml-toggle-pwd:focus {
		box-shadow: 0 0 0 1px #3c434a;
		outline: 2px solid transparent;
	}
