.app-frame
{
	width: 100%;
	height: 100%;
	border-radius: var(--ui-border-radius-md);
}

.app-frame-layout
{
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 2;
	opacity: 1;
	background-color: white;
	-webkit-transition: opacity 0.25s ease-in;
	-moz-transition: opacity 0.25s ease-in;
	-ms-transition: opacity 0.25s ease-in;
	-o-transition: opacity 0.25s ease-in;
	transition: opacity 0.25s ease-in;
	border-radius: var(--ui-border-radius-md);
}

.app-loading
{
	opacity: 0;
}

.app-loading-msg:before {
	display: inline-block;
	content: '';
	min-width: 29px;
	min-height: 29px;
	background: url(/bitrix/js/main/core/images/wait-big.gif) no-repeat scroll center center transparent;
	margin-right: 10px;
}

.app-loading-msg {
	color: #555;
	font-size: 20px;
	position: absolute;
	z-index: 1;
	left: 10px;
	right: 10px;
	top: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.app-expand-popup .app-loading-msg
{
	height: 100%;
}

.app-loading-popup
{
	background: url("/bitrix/js/main/core/images/wait-big.gif") no-repeat scroll center center transparent;;
	color: #555555;
	height: 300px;
	width: 300px;
	font-size: 20px;
	text-align: center;
	position: relative;
	z-index: 1;
}

.task-switcher-block > .app-frame-layout > .app-frame,
.crm-entity-section > .app-frame-layout > .app-frame{
	min-height: 600px;
}

.app-frame-unavailable
{
	box-sizing: border-box;
	position: absolute;
	inset: 0;
	z-index: 3;
	overflow: auto;
	padding: var(--ui-space-inset-xl);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	background-color: var(--ui-color-bg-content-primary);
	border-radius: var(--ui-border-radius-md);
	font-family: var(--ui-font-family-system);
}

.app-frame-unavailable-title
{
	max-width: 480px;
	color: var(--ui-color-base-1);
	font-size: var(--ui-font-size-2xl);
	font-weight: var(--ui-font-weight-semi-bold);
	line-height: var(--ui-font-line-height-md);
}

.app-frame-unavailable-text
{
	max-width: 480px;
	margin-top: var(--ui-space-stack-sm);
	color: var(--ui-color-base-3);
	font-size: var(--ui-font-size-md);
	font-weight: var(--ui-font-weight-regular);
	line-height: var(--ui-font-line-height-lg);
	overflow-wrap: anywhere;
}

.app-frame-unavailable-button
{
	margin-top: var(--ui-space-stack-lg);
	padding: var(--ui-space-inset-xs) var(--ui-space-inset-lg);
	color: var(--ui-color-base-white-fixed);
	background-color: var(--ui-color-accent-main-primary);
	border-radius: var(--ui-border-radius-pill);
	font-size: var(--ui-font-size-md);
	font-weight: var(--ui-font-weight-semi-bold);
	line-height: var(--ui-font-line-height-2xl);
	text-decoration: none;
	transition: background-color 200ms ease;
}

.app-frame-unavailable-button:hover
{
	color: var(--ui-color-base-white-fixed);
	background-color: var(--ui-color-accent-main-primary-alt);
}

.app-frame-unavailable-hint
{
	max-width: 480px;
	margin-top: var(--ui-space-stack-xs);
	color: var(--ui-color-base-4);
	font-size: var(--ui-font-size-sm);
	line-height: var(--ui-font-line-height-md);
}

.app-frame-unavailable-action,
.app-frame-unavailable-help
{
	margin-top: var(--ui-space-stack-md);
	color: var(--ui-color-accent-main-link);
	font-size: var(--ui-font-size-sm);
	line-height: var(--ui-font-line-height-md);
}

.app-frame-unavailable-action
{
	padding: 0;
	border: none;
	background: none;
	font-family: inherit;
	cursor: pointer;
}

.app-frame-unavailable-action[disabled]
{
	color: var(--ui-color-base-4);
	cursor: default;
}

.app-frame-unavailable-action:focus-visible,
.app-frame-unavailable-help:focus-visible,
.app-frame-unavailable-button:focus-visible
{
	outline: 2px solid var(--ui-color-accent-main-primary);
	outline-offset: 2px;
}
