/* components/cabinet-shell.css — сетка полноэкранного кабинета:
 * шапка сессии, колонка новостей, панели и вспышки сообщений.
 * Общий для дашборда и подстраниц (сотрудник, курс, коллега, тест).
 */

body.reclaim-cabinet-app-page .wp-site-blocks {
	justify-content: flex-start;
}

body.reclaim-cabinet-app-page.reclaim-screen-shell .wp-site-blocks {
	align-items: stretch;
	width: 100%;
	max-width: none;
}

body.reclaim-cabinet-app-page .reclaim-cabinet-main {
	flex: 1 1 auto;
	align-items: stretch;
	justify-content: flex-start;
	width: 100%;
	max-width: none;
	min-height: 100dvh;
	margin: 0;
	padding: 0;
}

body.reclaim-cabinet-app-page .reclaim-cabinet-main > .wp-block-group__inner-container {
	flex: 1 1 auto;
	align-items: stretch;
	justify-content: flex-start;
	width: 100%;
	min-height: 100dvh;
	margin: 0;
	padding: 0;
}

.reclaim-cabinet-app {
	--rtw-cabinet-aside: 21rem;
	--rtw-cabinet-main-pad: clamp( 1rem, 3vw, 2rem );
	--rtw-cabinet-aside-pad: 1.2rem;
	display: grid;
	grid-template-columns: minmax( 0, 1fr ) var( --rtw-cabinet-aside );
	grid-template-rows: auto minmax( 0, 1fr );
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	min-height: 100dvh;
}

.reclaim-cabinet-app > .reclaim-cabinet-session-header {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: minmax( 0, 1fr ) var( --rtw-cabinet-aside );
	align-items: stretch;
	width: 100%;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid color-mix( in srgb, var( --ink ) 10%, transparent );
	background: color-mix( in srgb, var( --surface ) 72%, transparent );
	backdrop-filter: blur( 12px );
	-webkit-backdrop-filter: blur( 12px );
}

.reclaim-cabinet-app > .reclaim-cabinet-session-header .reclaim-cabinet-session-header__inner {
	display: contents;
	max-width: none;
	padding: 0;
}

.reclaim-cabinet-app .reclaim-cabinet-session-header__start {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 0.85rem;
	min-width: 0;
	padding: 0.7rem var( --rtw-cabinet-main-pad );
}

.reclaim-cabinet-app .reclaim-cabinet-session-header__brand {
	gap: 0.7rem;
}

.reclaim-cabinet-app .reclaim-cabinet-session-header__brand .reclaim-cabinet-logo {
	width: 2.15rem;
	height: 2.15rem;
	border-radius: 10px;
}

.reclaim-cabinet-app .reclaim-cabinet-session-header__brand .reclaim-cabinet-name {
	margin: 0;
	font-size: 0.78rem;
	font-weight: 400;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-wrap: balance;
}

.reclaim-cabinet-app .reclaim-cabinet-session-header__actions {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.35rem;
	min-width: 0;
	padding: 0.7rem var( --rtw-cabinet-aside-pad );
	background: transparent;
}

.reclaim-cabinet-app .reclaim-screen-shell-theme-toggle.theme-toggle,
.reclaim-cabinet-app .reclaim-cabinet-session-action {
	min-height: 2.25rem;
	padding: 0.4rem 0.75rem;
	border: 1px solid color-mix( in srgb, var( --ink ) 12%, transparent );
	border-radius: 10px;
	background: color-mix( in srgb, var( --surface ) 92%, transparent );
	box-shadow: none;
	font-size: 0.82rem;
	font-weight: 750;
}

.reclaim-cabinet-app .reclaim-screen-shell-theme-toggle.theme-toggle:hover,
.reclaim-cabinet-app .reclaim-screen-shell-theme-toggle.theme-toggle:focus-visible,
.reclaim-cabinet-app .reclaim-cabinet-session-action:hover,
.reclaim-cabinet-app .reclaim-cabinet-session-action:focus-visible {
	transform: none;
	background: var( --highlight );
	border-color: color-mix( in srgb, var( --accent ) 28%, transparent );
	box-shadow: none;
	color: var( --ink );
}

.reclaim-cabinet-app__page-title {
	margin: 0 0 1.25rem;
	font-family: var( --font-display );
	font-size: clamp( 1.35rem, 2.8vw, 1.75rem );
	font-weight: 900;
	line-height: 1.15;
}

.reclaim-cabinet-app__workspace {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: minmax( 0, 1fr ) var( --rtw-cabinet-aside );
	grid-template-rows: minmax( 0, 1fr );
	gap: 0;
	align-items: stretch;
	width: 100%;
	max-width: none;
	min-height: 0;
}

.reclaim-cabinet-app__main {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	min-width: 0;
	min-height: 0;
	overflow: auto;
	padding: clamp( 1.1rem, 2.5vw, 1.75rem ) var( --rtw-cabinet-main-pad );
}

.reclaim-cabinet-app__aside {
	box-sizing: border-box;
	min-width: 0;
	min-height: 0;
	overflow: auto;
	padding: 1.15rem var( --rtw-cabinet-aside-pad ) 1.5rem;
	border-left: 1px solid color-mix( in srgb, var( --ink ) 10%, transparent );
	background: color-mix( in srgb, var( --ink ) 3%, transparent );
}

.reclaim-cabinet-app__aside .cabinet-news-ribbon {
	max-width: none;
	max-height: none;
	height: 100%;
	padding: 0;
}

.reclaim-cabinet-app__aside .cabinet-news-ribbon__head {
	margin: 0 0 0.9rem;
	min-height: 0;
}

.reclaim-cabinet-app__aside .cabinet-news-ribbon__heading {
	font-size: 0.78rem;
	letter-spacing: 0.06em;
	line-height: 1.35;
}

.reclaim-cabinet-app__aside .cabinet-news-ribbon__list {
	gap: 0.7rem;
	max-height: none;
	padding: 0;
}

.reclaim-cabinet-app__aside .cabinet-news-ribbon__item {
	padding: 0.85rem 0.95rem;
	border: 1px solid color-mix( in srgb, var( --ink ) 10%, transparent );
	border-radius: 12px;
	background: color-mix( in srgb, var( --surface ) 90%, transparent );
	box-shadow: 0 1px 2px color-mix( in srgb, var( --ink ) 5%, transparent );
}

.reclaim-cabinet-app__aside .cabinet-news-ribbon__date {
	margin: 0 0 0.35rem;
	font-size: 0.68rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.reclaim-cabinet-app__aside .cabinet-news-ribbon__title {
	margin: 0 0 0.25rem;
	font-size: 0.9rem;
	font-weight: 750;
	line-height: 1.35;
}

.reclaim-cabinet-app__aside .cabinet-news-ribbon__text {
	font-size: 0.82rem;
	line-height: 1.45;
}

.reclaim-cabinet-app__panels,
.reclaim-cabinet-app #cb-dashboard-content {
	width: 100%;
	max-width: none;
	margin: 0;
}

.reclaim-cabinet-app #cabinet-app.cabinet-users .cabinet-users__table-wrap {
	width: 100%;
	max-width: none;
}

.cabinet-app-panel {
	box-sizing: border-box;
	margin: 0 0 1.25rem;
	padding: clamp( 1rem, 2vw, 1.35rem );
	border: 1px solid color-mix( in srgb, var( --ink ) 10%, transparent );
	border-radius: 16px;
	background: color-mix( in srgb, var( --surface ) 90%, transparent );
	box-shadow:
		0 1px 2px color-mix( in srgb, var( --ink ) 5%, transparent ),
		0 12px 32px color-mix( in srgb, var( --ink ) 6%, transparent );
}

.reclaim-cabinet-app #cabinet-app .cabinet-app-panel__title,
.reclaim-cabinet-app #cabinet-app section h3.cabinet-app-panel__title {
	margin: 0 0 0.65rem;
	font-family: var( --font-display );
	font-size: 1.05rem;
	font-weight: 800;
	line-height: 1.25;
}

.cabinet-app-panel__body {
	margin: 0;
	line-height: 1.5;
}

.reclaim-cabinet-app #cabinet-app .cabinet-app-panel__hint {
	margin: 0 0 1rem;
	color: var( --muted );
	font-size: 0.9rem;
	line-height: 1.45;
}

.cabinet-app-panel--danger {
	border-color: color-mix( in srgb, var( --accent-rose ) 32%, transparent );
	background: color-mix( in srgb, var( --accent-rose ) 7%, var( --surface ) );
}

.reclaim-cabinet-app #cabinet-app #cb-users-manage {
	margin-top: 0.35rem;
	padding-top: 0;
	border-top: 0;
}

.reclaim-cabinet-app #cabinet-app.cabinet-users .cabinet-users__section:first-child {
	margin-top: 0;
}

.reclaim-cabinet-app #cabinet-app .cb-success {
	margin: 0 0 1rem;
	padding: 0.6rem 0.8rem;
	border: 1px solid color-mix( in srgb, var( --accent ) 28%, transparent );
	border-radius: 10px;
	background: color-mix( in srgb, var( --highlight ) 72%, var( --surface ) );
	color: var( --ink );
	font-size: 0.9rem;
	line-height: 1.4;
}


@media ( max-width: 1080px ) {
	.reclaim-cabinet-app {
		grid-template-columns: minmax( 0, 1fr );
		grid-template-rows: auto auto auto;
	}

	.reclaim-cabinet-app > .reclaim-cabinet-session-header {
		grid-template-columns: minmax( 0, 1fr );
	}

	.reclaim-cabinet-app > .reclaim-cabinet-session-header .reclaim-cabinet-session-header__inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.75rem;
		padding: 0.65rem var( --rtw-cabinet-main-pad );
	}

	.reclaim-cabinet-app .reclaim-cabinet-session-header__start,
	.reclaim-cabinet-app .reclaim-cabinet-session-header__actions {
		padding: 0;
		border: 0;
		background: transparent;
	}

	.reclaim-cabinet-app__workspace {
		grid-template-columns: minmax( 0, 1fr );
		grid-template-rows: auto auto;
	}

	.reclaim-cabinet-app__aside {
		border-left: 0;
		border-top: 1px solid color-mix( in srgb, var( --ink ) 10%, transparent );
		padding: 1.15rem var( --rtw-cabinet-main-pad ) 1.5rem;
	}

	.reclaim-cabinet-app__aside .cabinet-news-ribbon__list {
		max-height: min( 50dvh, 22rem );
	}
}
