.kwg-mb-open {
	background: none;
	border: 0;
	padding: 0;
	color: inherit;
	font: inherit;
	text-decoration: underline;
	cursor: pointer;
}
.kwg-mb-open:hover,
.kwg-mb-open:focus-visible { text-decoration: none; }

.kwg-mb-dialog {
	padding: 0;
	border: 0;
	border-radius: 8px;
	width: min(560px, calc(100vw - 32px));
	max-height: calc(100vh - 32px);
	box-shadow: 0 10px 40px rgba(0, 0, 0, .3);
}
.kwg-mb-dialog::backdrop { background: rgba(0, 0, 0, .5); }
.kwg-mb-dialog-inner { padding: 20px 24px 24px; }
.kwg-mb-dialog-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 12px;
}
.kwg-mb-title { margin: 0; font-size: 1.25em; }
.kwg-mb-close {
	background: none;
	border: 0;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	padding: 0 4px;
	color: inherit;
}

.kwg-mb--inline .kwg-mb-panel {
	border: 1px solid #ddd;
	border-radius: 8px;
	padding: 20px;
	max-width: 560px;
}
.kwg-mb-label { display: block; font-weight: 600; margin-bottom: 6px; }
.kwg-mb-form { display: flex; gap: 8px; }
.kwg-mb-input {
	flex: 1 1 auto;
	min-width: 0;
	box-sizing: border-box;
	padding: 10px 12px;
	font-size: 16px;
	border: 1px solid #888;
	border-radius: 4px;
}
.kwg-mb-input:focus { outline: 2px solid #005fcc; outline-offset: 1px; }
.kwg-mb-submit {
	flex: 0 0 auto;
	padding: 10px 16px;
	font-size: 16px;
	border: 0;
	border-radius: 4px;
	background: #1d4e89;
	color: #fff;
	cursor: pointer;
}
.kwg-mb-submit:hover,
.kwg-mb-submit:focus-visible { background: #153a66; }
.kwg-mb-result:not(:empty) { margin-top: 14px; }
.kwg-mb-reject,
.kwg-mb-error {
	border-left: 4px solid #b32d2e;
	background: #fcf0f1;
	padding: 10px 14px;
}
.kwg-mb-success {
	border-left: 4px solid #00a32a;
	background: #edfaef;
	padding: 10px 14px;
}
.kwg-mb-files { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.kwg-mb-file {
	display: inline-block;
	padding: 8px 14px;
	border-radius: 4px;
	background: #1d4e89;
	color: #fff !important;
	text-decoration: none !important;
}
.kwg-mb-file:hover,
.kwg-mb-file:focus-visible { background: #153a66; }
.kwg-mb-emergency {
	margin-top: 16px;
	padding-top: 12px;
	border-top: 1px solid #ddd;
	font-size: .9em;
}
.kwg-mb-emergency p { margin: 0; }
.kwg-mb-reject > :first-child,
.kwg-mb-success > :first-child { margin-top: 0; }
.kwg-mb-reject > :last-child,
.kwg-mb-success > :last-child { margin-bottom: 0; }
