.th-sidebar{
	position:fixed;
	top:22px;
	left:22px;
	bottom:22px;
	width:280px;
	z-index:1040;
	display:flex;
	flex-direction:column;
	border-radius:30px;
	border:1px solid var(--th-border-base);
	background:var(--th-card-bg-glass);
	box-shadow:0 24px 70px var(--th-shadow-card);
	backdrop-filter:blur(22px);
	-webkit-backdrop-filter:blur(22px);
	overflow:visible;
	transition:.28s ease;
}

.th-sidebar-header{
	padding:22px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:14px;
	border-bottom:1px solid var(--th-border-base);
}

.th-sidebar-brand{
	display:flex;
	align-items:center;
	gap:14px;
	min-width:0;
}

.th-sidebar-logo{
	width:92px;
	height:92px;
	display:flex;
	align-items:center;
	justify-content:center;
	flex:0 0 92px;
	position:relative;
	margin-left:-18px;
	margin-right:-18px;
	border-radius:0;
	background:transparent;
	border:0;
	box-shadow:none;
	overflow:visible;
}


.th-sidebar-logo::before{
	content:"";
	position:absolute;
	inset:18px;
	border-radius:999px;
	background:
		radial-gradient(circle at 38% 30%, var(--th-overlay-white-shine), var(--th-color-transparent) 42%),
		radial-gradient(circle at 62% 72%, var(--th-glow-cyan), var(--th-color-transparent) 58%);
	filter:blur(12px);
	opacity:.85;
	z-index:1;
}

.th-sidebar-logo-img{
	width:118px;
	height:118px;
	object-fit:contain;
	position:relative;
	z-index:2;
	filter:var(--th-brand-logo-filter);
	transition:.22s ease;
}

.th-sidebar-logo:hover .th-sidebar-logo-img{
	transform:scale(1.05) rotate(-2deg);
}

body.th-sidebar-collapsed .th-sidebar-header{
	display:flex;
	justify-content:center;
	align-items:center;
	padding:28px 0 22px;
}

body.th-sidebar-collapsed .th-sidebar-brand{
	width:100%;
	justify-content:center;
}

body.th-sidebar-collapsed .th-sidebar-logo{
	width:72px;
	height:72px;
	flex:0 0 72px;
	margin:0 auto;
}

body.th-sidebar-collapsed .th-sidebar-logo::before{
	inset:14px;
	filter:blur(10px);
	opacity:.72;
}

body.th-sidebar-collapsed .th-sidebar-logo-img{
	width:88px;
	height:88px;
}

.th-sidebar-brand-text{
	display:flex;
	flex-direction:column;
	min-width:0;
}

.th-sidebar-brand-text strong{
	color:var(--th-color-text-main);
	font-size:1.05rem;
	font-weight:950;
	line-height:1.1;
}

.th-sidebar-brand-text span{
	color:var(--th-color-text-muted);
	font-size:.78rem;
	font-weight:800;
}

.th-sidebar-toggle,
.th-sidebar-mobile-btn{
	border:none;
	width:42px;
	height:42px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:15px;
	background:var(--th-badge-bg);
	color:var(--th-badge-text);
	font-size:1.1rem;
	transition:.22s ease;
}

.th-sidebar-toggle:hover,
.th-sidebar-mobile-btn:hover{
	transform:translateY(-2px);
	background:var(--th-icon-soft-bg);
}

.th-sidebar-nav{
	flex:1;
	min-height:0;
	padding:18px;
	overflow-y:auto;
	overflow-x:visible;
}

.th-sidebar-label{
	display:block;
	margin:16px 12px 9px;
	color:var(--th-color-text-muted);
	font-size:.72rem;
	font-weight:950;
	text-transform:uppercase;
	letter-spacing:.08em;
}

.th-sidebar-link{
	position:relative;
	width:100%;
	min-height:50px;
	margin-bottom:8px;
	padding:12px 14px;
	display:flex;
	align-items:center;
	gap:13px;
	border:none;
	border-radius:17px;
	background:transparent;
	color:var(--th-color-text-muted);
	font-size:.93rem;
	font-weight:900;
	text-align:left;
	transition:.22s ease;
	overflow:hidden;
}

.th-sidebar-link::before{
	content:"";
	position:absolute;
	inset:0;
	background:var(--th-gradient-cta);
	opacity:0;
	transition:.22s ease;
	border-radius:inherit;
}

.th-sidebar-link i,
.th-sidebar-link span{
	position:relative;
	z-index:2;
}

.th-sidebar-link i{
	width:22px;
	font-size:1.12rem;
}

.th-sidebar-link:hover{
	color:var(--th-color-text-main);
	background:var(--th-badge-bg);
	transform:translateX(3px);
}

.th-sidebar-link.active{
	color:var(--th-color-white);
	box-shadow:0 16px 34px var(--th-glow-indigo);
}

.th-sidebar-link.active::before{
	opacity:1;
}

.th-sidebar-link.active::after{
	content:"";
	position:absolute;
	top:-80%;
	left:-70%;
	width:42%;
	height:260%;
	background:
		linear-gradient(
			115deg,
			transparent 0%,
			rgba(255,255,255,0) 18%,
			rgba(255,255,255,.35) 42%,
			rgba(255,255,255,.95) 50%,
			rgba(255,255,255,.35) 58%,
			rgba(255,255,255,0) 82%,
			transparent 100%
		);
	transform:rotate(18deg);
	animation:thSidebarActiveFlash 2.8s ease-in-out infinite;
	pointer-events:none;
	z-index:3;
}

.th-sidebar-link.active i,
.th-sidebar-link.active span{
	position:relative;
	z-index:4;
}

@keyframes thSidebarActiveFlash{

	0%{
		left:-80%;
		opacity:0;
	}

	12%{
		opacity:1;
	}

	45%{
		left:130%;
		opacity:1;
	}

	100%{
		left:130%;
		opacity:0;
	}
}

@keyframes thSidebarActiveShine{

	0%{
		opacity:.15;
		transform:scale(.96);
	}

	50%{
		opacity:.55;
		transform:scale(1.02);
	}

	100%{
		opacity:.15;
		transform:scale(.96);
	}
}

.th-sidebar-footer{
	padding:18px;
	border-top:1px solid var(--th-border-base);
}

.th-sidebar-user{
	display:flex;
	align-items:center;
	gap:10px;
	padding:9px 10px;
	border-radius:17px;
	background:var(--th-badge-bg);
	min-width:0;
}

.th-sidebar-avatar{
	width:34px;
	height:34px;
	display:flex;
	align-items:center;
	justify-content:center;
	flex:0 0 auto;
	border-radius:12px;
	background:var(--th-gradient-brand);
	color:var(--th-color-white);
	font-size:.74rem;
	font-weight:950;
	border:0;
	box-shadow:0 9px 20px var(--th-glow-cyan);
	transition:.22s ease;
	cursor:pointer;
	line-height:1;
	padding:0;
	text-transform:uppercase;
	letter-spacing:0;
}

.th-sidebar-avatar:hover{
	transform:translateY(-1px) scale(1.03);
	box-shadow:0 12px 26px var(--th-glow-indigo);
}

.th-sidebar-user-info{
	display:flex;
	flex-direction:column;
	min-width:0;
	flex:1 1 auto;
	gap:2px;
}

.th-sidebar-user-info strong{
	color:var(--th-color-text-main);
	font-size:.78rem;
	font-weight:950;
	line-height:1.15;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
	max-width:100%;
}

.th-sidebar-user-info span,
.th-sidebar-user-info small{
	color:var(--th-color-text-muted);
	font-size:.68rem;
	font-weight:800;
	line-height:1.15;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
	max-width:100%;
}

.th-sidebar-user-info small{
	color:var(--th-badge-text);
	font-size:.64rem;
	font-weight:900;
}

.th-sidebar-user-dropdown{
	position:relative;
}

.th-sidebar-user-menu-btn{
	width:30px;
	height:30px;
	min-width:30px;
	display:flex;
	align-items:center;
	justify-content:center;
	margin-left:auto;
	border:0;
	border-radius:11px;
	background:rgba(255, 255, 255, .32);
	color:var(--th-badge-text);
	transition:.22s ease;
}

.th-sidebar-user-menu-btn i{
	font-size:.9rem;
	transition:.22s ease;
}

.th-sidebar-user-menu-btn:hover{
	background:var(--th-card-bg-hover);
	transform:translateY(-2px);
}

.th-sidebar-user-dropdown.is-open .th-sidebar-user-menu-btn{
	background:var(--th-card-bg-hover);
	color:var(--th-color-text-main);
	box-shadow:0 10px 22px var(--th-shadow-card);
}

.th-sidebar-user-dropdown.is-open .th-sidebar-user-menu-btn i{
	transform:rotate(180deg);
}

.th-sidebar-user-menu{
	position:absolute;
	left:12px;
	right:12px;
	bottom:calc(100% + 10px);
	z-index:20;
	display:none;
	padding:8px;
	border:1px solid var(--th-border-base);
	border-radius:16px;
	background:var(--th-card-bg-hover);
	box-shadow:0 18px 44px var(--th-shadow-card);
	backdrop-filter:blur(18px);
	-webkit-backdrop-filter:blur(18px);
}

.th-sidebar-user-dropdown.is-open .th-sidebar-user-menu{
	display:flex;
	flex-direction:column;
	gap:8px;
}

.th-sidebar-user-menu-heading{
	padding:9px 10px 8px;
	border-radius:13px;
	background:rgba(255, 255, 255, .34);
	border:1px solid rgba(255, 255, 255, .38);
	min-width:0;
}

.th-sidebar-user-menu-heading strong,
.th-sidebar-user-menu-heading span,
.th-sidebar-user-menu-heading small{
	display:block;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}

.th-sidebar-user-menu-heading strong{
	color:var(--th-color-text-main);
	font-size:.82rem;
	font-weight:950;
	line-height:1.15;
}

.th-sidebar-user-menu-heading span,
.th-sidebar-user-menu-heading small{
	margin-top:2px;
	color:var(--th-color-text-muted);
	font-size:.72rem;
	font-weight:800;
	line-height:1.15;
}

.th-sidebar-user-menu-heading small{
	color:var(--th-badge-text);
	font-size:.68rem;
	font-weight:950;
}

.th-sidebar-user-menu-item{
	width:100%;
	min-height:40px;
	display:flex;
	align-items:center;
	gap:9px;
	padding:9px 11px;
	border:0;
	border-radius:13px;
	background:rgba(239, 68, 68, .08);
	color:#dc2626;
	font-size:.84rem;
	font-weight:900;
	text-align:left;
	transition:.22s ease;
}

.th-sidebar-user-menu-password{
	background:rgba(16, 185, 129, .10);
	color:#047857;
}

.th-sidebar-user-menu-role{
	background:rgba(59, 130, 246, .10);
	color:#1d4ed8;
}

.th-sidebar-user-menu-item:hover{
	background:rgba(239, 68, 68, .16);
	transform:translateX(2px);
}

.th-sidebar-user-menu-password:hover{
	background:rgba(16, 185, 129, .16);
	color:#065f46;
}

.th-sidebar-user-menu-role:hover{
	background:rgba(59, 130, 246, .16);
	color:#1e40af;
}

body.th-sidebar-collapsed .th-sidebar-user-menu-btn{
	display:none;
}

.th-sidebar-backdrop{
	position:fixed;
	top:92px;
	left:0;
	right:0;
	bottom:0;
	z-index:1035;
	display:none;
	background:var(--th-overlay-white-strong);
	backdrop-filter:blur(4px);
}

body.th-sidebar-collapsed .th-sidebar{
	width:88px;
}

body.th-sidebar-collapsed .th-sidebar-brand-text,
body.th-sidebar-collapsed .th-sidebar-link span,
body.th-sidebar-collapsed .th-sidebar-label,
body.th-sidebar-collapsed .th-sidebar-user-info{
	display:none;
}

body.th-sidebar-collapsed .th-sidebar-toggle{
	display:none;
}

.th-sidebar-logo{
	cursor:pointer;
}

body.th-sidebar-collapsed .th-sidebar-logo:hover .th-sidebar-logo-img{
	transform:scale(1.08) rotate(-2deg);
}

body.th-sidebar-collapsed .th-sidebar-link{
	justify-content:center;
	padding:13px;
}

body.th-sidebar-collapsed .th-sidebar-user{
	justify-content:center;
	padding:10px;
	position:relative;
}

body.th-sidebar-collapsed .th-sidebar-avatar{
	width:42px;
	height:42px;
	border-radius:16px;
	font-size:.9rem;
	box-shadow:0 12px 26px var(--th-glow-cyan);
}

body.th-sidebar-collapsed .th-sidebar-user-menu{
	left:calc(100% + 14px);
	right:auto;
	bottom:0;
	width:238px;
	padding:10px;
	border-radius:18px;
}

body.th-sidebar-collapsed .th-sidebar-user-dropdown.is-open .th-sidebar-user-menu{
	display:flex;
}

body.th-sidebar-collapsed .th-sidebar-user-dropdown.is-open .th-sidebar-avatar{
	box-shadow:0 16px 34px var(--th-glow-indigo);
	transform:scale(1.04);
}

body.th-sidebar-collapsed .th-sidebar-link{
	position:relative;
}

body.th-sidebar-collapsed .th-sidebar-link::before{
	z-index:1;
}

@media(max-width:991px){
	.th-sidebar{
		top:96px;
		left:16px;
		bottom:16px;
		width:calc(100% - 32px);
		max-width:360px;
		z-index:1048;
		border-radius:26px;
		transform:translateX(calc(-100% - 24px));
	}

	body.th-sidebar-open .th-sidebar{
		transform:translateX(0);
	}

	.th-sidebar-header{
		display:none;
	}

	.th-sidebar-nav{
		padding:18px;
	}

	.th-sidebar-footer{
		padding:16px 18px 18px;
	}

	body.th-sidebar-open .th-sidebar{
		transform:translateX(0);
	}

	body.th-sidebar-open .th-sidebar-backdrop{
		display:block;
	}

	body.th-sidebar-collapsed .th-sidebar{
		width:300px;
	}

	body.th-sidebar-collapsed .th-sidebar-brand-text,
	body.th-sidebar-collapsed .th-sidebar-link span,
	body.th-sidebar-collapsed .th-sidebar-label,
	body.th-sidebar-collapsed .th-sidebar-user-info{
		display:flex;
	}

	body.th-sidebar-collapsed .th-sidebar-label{
		display:block;
	}

	body.th-sidebar-collapsed .th-sidebar-link{
		justify-content:flex-start;
		padding:12px 14px;
	}

	body.th-sidebar-collapsed .th-sidebar-user{
		justify-content:flex-start;
		padding:12px;
	}

	body.th-sidebar-collapsed .th-sidebar-user-menu-btn{
		display:flex;
	}

	body.th-sidebar-collapsed .th-sidebar-user-menu{
		left:12px;
		right:12px;
		bottom:calc(100% + 10px);
		width:auto;
	}
}

html[data-theme="dark"] .th-sidebar{
	background:var(--th-card-bg-glass);
	border-color:var(--th-border-base);
	box-shadow:
		0 26px 70px var(--th-shadow-card),
		inset 0 1px 0 var(--th-final-box-inset);
}

html[data-theme="dark"] .th-sidebar-header{
	border-bottom-color:var(--th-border-base);
}

html[data-theme="dark"] .th-sidebar-footer{
	border-top-color:var(--th-border-base);
}

html[data-theme="dark"] .th-sidebar-link{
	color:var(--th-color-text-muted);
}

html[data-theme="dark"] .th-sidebar-link:hover{
	color:var(--th-color-text-main);
	background:var(--th-badge-bg);
}

html[data-theme="dark"] .th-sidebar-user{
	background:var(--th-badge-bg);
	border:1px solid var(--th-badge-border);
}

html[data-theme="dark"] .th-sidebar-user-menu{
	background:var(--th-card-bg-hover);
	border-color:var(--th-border-base);
}

html[data-theme="dark"] .th-sidebar-user-menu-heading{
	background:rgba(15, 23, 42, .38);
	border-color:var(--th-border-glass);
}

html[data-theme="dark"] .th-sidebar-user-menu-password{
	background:rgba(16, 185, 129, .14);
	color:#86efac;
}

html[data-theme="dark"] .th-sidebar-user-menu-role{
	background:rgba(59, 130, 246, .16);
	color:#93c5fd;
}

html[data-theme="dark"] .th-sidebar-brand-text strong,
html[data-theme="dark"] .th-sidebar-user-info strong,
html[data-theme="dark"] .th-sidebar-user-menu-heading strong{
	color:var(--th-color-text-main);
}

html[data-theme="dark"] .th-sidebar-brand-text span,
html[data-theme="dark"] .th-sidebar-user-info span,
html[data-theme="dark"] .th-sidebar-user-menu-heading span,
html[data-theme="dark"] .th-sidebar-label{
	color:var(--th-color-text-muted);
}

html[data-theme="dark"] .th-sidebar-user-info small,
html[data-theme="dark"] .th-sidebar-user-menu-heading small{
	color:#84ff38;
}

/* =========================================================
	ROLE SWITCHER
========================================================= */

.th-sidebar-role-picker{
	display:flex;
	flex-direction:column;
	gap:14px;
	text-align:left;
}

.th-sidebar-role-person{
	padding:12px 14px;
	border:1px solid var(--th-border-base);
	border-radius:16px;
	background:var(--th-card-bg-glass);
}

.th-sidebar-role-person strong,
.th-sidebar-role-person span,
.th-sidebar-role-person small{
	display:block;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}

.th-sidebar-role-person strong{
	color:var(--th-color-text-main);
	font-size:.96rem;
	font-weight:950;
	line-height:1.2;
}

.th-sidebar-role-person span{
	margin-top:3px;
	color:var(--th-color-text-soft);
	font-size:.8rem;
	font-weight:750;
}

.th-sidebar-role-person small{
	margin-top:4px;
	color:var(--th-badge-text);
	font-size:.76rem;
	font-weight:950;
}

.th-sidebar-role-list{
	display:flex;
	flex-direction:column;
	gap:10px;
}

.th-sidebar-role-list-wrap{
	max-height:min(42vh, 360px);
	overflow-y:auto;
	overflow-x:hidden;
	padding:2px 4px 2px 0;
	scrollbar-gutter:stable;
	-webkit-overflow-scrolling:touch;
}

.th-sidebar-role-list-wrap::-webkit-scrollbar{
	width:8px;
}

.th-sidebar-role-list-wrap::-webkit-scrollbar-track{
	background:rgba(148,163,184,.14);
	border-radius:999px;
}

.th-sidebar-role-list-wrap::-webkit-scrollbar-thumb{
	background:rgba(34,197,94,.55);
	border-radius:999px;
}

.th-sidebar-role-list-wrap::-webkit-scrollbar-thumb:hover{
	background:rgba(34,197,94,.76);
}

.th-sidebar-role-option{
	position:relative;
	display:flex;
	align-items:center;
	gap:12px;
	min-height:72px;
	padding:13px;
	border:1px solid var(--th-border-base);
	border-radius:17px;
	background:var(--th-card-bg-glass);
	cursor:pointer;
	transition:.22s ease;
}

.th-sidebar-role-option:hover{
	border-color:var(--th-border-soft);
	background:var(--th-card-bg-hover);
	transform:translateY(-2px);
}

.th-sidebar-role-option:has(input:checked){
	border-color:rgba(34,197,94,.78);
	background:
		linear-gradient(135deg, rgba(34,197,94,.12), rgba(0,212,255,.06)),
		var(--th-card-bg-hover);
	box-shadow:0 0 0 4px rgba(34,197,94,.12);
}

.th-sidebar-role-option input{
	position:absolute;
	opacity:0;
	pointer-events:none;
}

.th-sidebar-role-icon,
.th-sidebar-role-check{
	display:flex;
	align-items:center;
	justify-content:center;
	flex:0 0 auto;
}

.th-sidebar-role-icon{
	width:40px;
	height:40px;
	border-radius:14px;
	background:var(--th-badge-bg);
	color:var(--th-badge-text);
	font-size:1rem;
}

.th-sidebar-role-content{
	display:flex;
	flex:1 1 auto;
	flex-direction:column;
	gap:3px;
	min-width:0;
}

.th-sidebar-role-content strong{
	color:var(--th-color-text-main);
	font-size:.9rem;
	font-weight:950;
	line-height:1.2;
}

.th-sidebar-role-content span{
	color:var(--th-color-text-soft);
	font-size:.74rem;
	font-weight:750;
	line-height:1.3;
}

.th-sidebar-role-check{
	width:28px;
	height:28px;
	border-radius:999px;
	border:1px solid var(--th-border-base);
	color:transparent;
	transition:.22s ease;
}

.th-sidebar-role-option:has(input:checked) .th-sidebar-role-check{
	border-color:#22c55e;
	background:#22c55e;
	color:#ffffff;
}

@media(max-width:575px){
	.th-sidebar-role-list-wrap{
		max-height:min(48vh, 320px);
	}
}

/* =========================================================
	MOBILE NAVBAR
========================================================= */

.th-mobile-navbar{
	display:none;
}

.th-sidebar-mobile-btn{
	display:none;
}

@media(max-width:991px){
	.th-mobile-navbar{
		position:fixed;
		top:16px;
		left:16px;
		right:16px;
		z-index:1050;
		height:64px;
		padding:10px 12px 10px 14px;
		display:flex;
		align-items:center;
		justify-content:space-between;
		gap:14px;
		border-radius:22px;
		border:1px solid var(--th-border-base);
		background:var(--th-card-bg-glass);
		box-shadow:0 18px 50px var(--th-shadow-card);
		backdrop-filter:blur(20px);
		-webkit-backdrop-filter:blur(20px);
	}

	.th-mobile-brand{
		display:flex;
		align-items:center;
		gap:12px;
		min-width:0;
	}

	.th-mobile-logo{
		width:44px;
		height:44px;
		object-fit:contain;
		filter:drop-shadow(0 10px 20px var(--th-glow-cyan));
		flex:0 0 auto;
	}

	.th-mobile-brand-text{
		display:flex;
		flex-direction:column;
		line-height:1.05;
		min-width:0;
	}

	.th-mobile-brand-text strong{
		color:var(--th-color-text-main);
		font-size:1rem;
		font-weight:950;
		letter-spacing:-.03em;
		white-space:nowrap;
	}

	.th-mobile-brand-text span{
		color:var(--th-color-text-muted);
		font-size:.72rem;
		font-weight:800;
		white-space:nowrap;
	}

	.th-mobile-navbar .th-sidebar-mobile-btn{
		position:static;
		width:46px;
		height:46px;
		display:flex;
		align-items:center;
		justify-content:center;
		border:none;
		border-radius:16px;
		background:var(--th-gradient-cta);
		color:var(--th-color-white);
		font-size:1.45rem;
		box-shadow:0 14px 34px var(--th-glow-indigo);
	}

	html[data-theme="dark"] .th-mobile-navbar .th-sidebar-mobile-btn{
		background:var(--th-card-bg-hover);
		color:var(--th-color-text-main);
		border:1px solid var(--th-border-glass);
		box-shadow:0 14px 34px var(--th-shadow-card);
	}
}

/* =========================================================
	DARK MOBILE SIDEBAR CONTRAST
========================================================= */

@media(max-width:991px){
	html[data-theme="dark"] .th-sidebar{
		background:
			linear-gradient(180deg, rgba(6, 78, 59, .96), rgba(2, 44, 34, .98)),
			#022c22;
		border:1px solid rgba(134, 239, 172, .22);
		box-shadow:
			0 26px 70px rgba(0, 0, 0, .58),
			0 0 0 1px rgba(187, 247, 208, .08),
			inset 0 1px 0 rgba(255, 255, 255, .08);
	}

	html[data-theme="dark"] .th-sidebar-backdrop{
		background:rgba(0, 20, 12, .52);
		backdrop-filter:blur(8px);
		-webkit-backdrop-filter:blur(8px);
	}

	html[data-theme="dark"] .th-mobile-navbar{
		background:
			linear-gradient(135deg, rgba(6, 78, 59, .92), rgba(2, 44, 34, .96)),
			#022c22;
		border:1px solid rgba(134, 239, 172, .22);
		box-shadow:
			0 20px 55px rgba(0, 0, 0, .48),
			inset 0 1px 0 rgba(255, 255, 255, .08);
	}

	html[data-theme="dark"] .th-sidebar-link{
		color:rgba(220, 252, 231, .78);
	}

	html[data-theme="dark"] .th-sidebar-label{
		color:rgba(220, 252, 231, .72);
	}

	html[data-theme="dark"] .th-sidebar-user{
		background:rgba(20, 83, 45, .58);
		border:1px solid rgba(134, 239, 172, .24);
	}
}

/* =========================================================
	COLLAPSED SIDEBAR STEP STATUS
========================================================= */

body.th-sidebar-collapsed .th-sidebar-link{
	width:54px;
	height:54px;
	min-height:54px;
	margin:0 auto 12px;
	padding:0;
	justify-content:center;
	overflow:visible;
}

body.th-sidebar-collapsed .th-sidebar-link > i:not(.th-sidebar-step-state i){
	width:auto;
	font-size:1.25rem;
}

body.th-sidebar-collapsed .th-sidebar-step-state{
	position:absolute;
	right:-7px;
	bottom:-7px;
	z-index:4;
	width:24px;
	height:24px;
	margin-left:0;
	border-radius:999px;
	background:var(--th-card-bg-glass);
	border:2px solid var(--th-card-bg-glass);
	box-shadow:0 8px 18px var(--th-shadow-card);
	font-size:.75rem;
}

body.th-sidebar-collapsed .th-sidebar-link.active .th-sidebar-step-state{
	background:rgba(255, 255, 255, .18);
	border-color:rgba(255, 255, 255, .32);
	color:var(--th-color-white);
}

body.th-sidebar-collapsed .th-sidebar-link.th-step-status-completed .th-sidebar-step-state{
	background:#dcfce7;
	border-color:#ffffff;
	color:#16a34a;
}

body.th-sidebar-collapsed .th-sidebar-link.th-step-status-pending .th-sidebar-step-state{
	background:#ffffff;
	border-color:#e2e8f0;
	color:#64748b;
}

body.th-sidebar-collapsed .th-sidebar-link.th-step-status-active .th-sidebar-step-state{
	background:#052e16;
	border-color:#ffffff;
	color:#86efac;
}

html[data-theme="dark"] body.th-sidebar-collapsed .th-sidebar-step-state{
	background:#052e16;
	border-color:rgba(134, 239, 172, .22);
	box-shadow:0 8px 18px rgba(0, 0, 0, .38);
}

html[data-theme="dark"] body.th-sidebar-collapsed .th-sidebar-link.th-step-status-pending .th-sidebar-step-state{
	background:#022c22;
	border-color:rgba(134, 239, 172, .24);
	color:rgba(220, 252, 231, .72);
}

html[data-theme="dark"] body.th-sidebar-collapsed .th-sidebar-link.th-step-status-completed .th-sidebar-step-state{
	background:rgba(34, 197, 94, .18);
	border-color:rgba(134, 239, 172, .34);
	color:#86efac;
}

.th-sidebar-mobile-actions{
	display:none;
}

/* =========================================================
	GLOBAL PASSWORD MODAL
========================================================= */

.th-password-modal .th-modal-content{
	position:relative;
	border:1px solid var(--th-border-glass);
	border-radius:22px;
	background:
		radial-gradient(circle at top left, var(--th-radial-primary), transparent 34%),
		radial-gradient(circle at bottom right, var(--th-radial-secondary), transparent 40%),
		var(--th-card-bg);
	box-shadow:0 24px 70px var(--th-shadow-card);
	backdrop-filter:blur(18px);
	-webkit-backdrop-filter:blur(18px);
	color:var(--th-color-text-main);
	overflow:hidden;
}

.th-password-modal .modal-dialog{
	max-width:560px;
}

.th-password-modal .th-modal-header,
.th-password-modal .th-modal-body,
.th-password-modal .th-modal-footer{
	position:relative;
	z-index:2;
}

.th-password-modal .th-modal-header{
	padding:22px 72px 18px 24px;
	border-bottom:1px solid var(--th-border-base);
}

.th-password-modal .th-modal-badge{
	display:inline-flex;
	align-items:center;
	gap:7px;
	margin-bottom:10px;
	padding:7px 11px;
	border-radius:999px;
	background:var(--th-badge-bg);
	border:1px solid var(--th-badge-border);
	color:var(--th-badge-text);
	font-size:.76rem;
	font-weight:900;
}

.th-password-modal .th-modal-title{
	margin:0;
	color:var(--th-color-text-main);
	font-size:1.18rem;
	font-weight:950;
	letter-spacing:0;
}

.th-password-modal .th-modal-subtitle{
	margin:6px 0 0;
	color:var(--th-color-text-soft);
	font-size:.82rem;
	line-height:1.45;
}

.th-password-modal .th-modal-close{
	position:absolute;
	top:18px;
	right:18px;
	width:36px;
	height:36px;
	display:flex;
	align-items:center;
	justify-content:center;
	border:0;
	border-radius:13px;
	background:var(--th-icon-soft-bg);
	color:var(--th-color-text-main);
	transition:.22s ease;
}

.th-password-modal .th-modal-close:hover{
	transform:translateY(-2px);
	background:rgba(239, 68, 68, .12);
	color:#dc2626;
}

.th-password-modal .th-modal-body{
	padding:20px 24px 4px;
}

.th-password-modal .th-modal-footer{
	padding:16px 24px 22px;
	border-top:1px solid var(--th-border-base);
	gap:10px;
}

.th-password-rules{
	display:flex;
	align-items:flex-start;
	gap:8px;
	margin-bottom:16px;
	padding:10px 12px;
	border-radius:14px;
	background:var(--th-badge-bg);
	border:1px solid var(--th-badge-border);
	color:var(--th-color-text-soft);
	font-size:.76rem;
	font-weight:800;
	line-height:1.35;
}

.th-password-rules i{
	color:var(--th-badge-text);
	font-size:.92rem;
	margin-top:2px;
}

.th-password-field{
	margin-bottom:14px;
}

.th-password-field .th-label{
	margin-bottom:7px;
	font-size:.78rem;
}

.th-password-input-group{
	position:relative;
}

.th-password-input{
	min-height:48px;
	padding-right:48px;
	font-size:.88rem;
}

.th-password-toggle{
	position:absolute;
	top:50%;
	right:7px;
	z-index:4;
	width:34px;
	height:34px;
	display:flex;
	align-items:center;
	justify-content:center;
	border:0;
	border-radius:12px;
	background:var(--th-icon-soft-bg);
	color:var(--th-color-text-muted);
	transition:.22s ease;
}

.th-password-toggle:hover{
	background:var(--th-card-bg-hover);
	color:var(--th-color-text-main);
	transform:translateY(-50%) scale(1.03);
}

.th-password-toggle{
	transform:translateY(-50%);
}

.th-password-modal .th-btn{
	min-height:44px;
	padding:11px 18px;
	border-radius:16px;
	font-size:.86rem;
}

@media(max-width:575px){
	.th-password-modal .modal-dialog{
		max-width:calc(100% - 28px);
		margin-right:auto;
		margin-left:auto;
	}

	.th-password-modal .th-modal-header{
		padding:22px 64px 18px 20px;
	}

	.th-password-modal .th-modal-body{
		padding:20px 20px 4px;
	}

	.th-password-modal .th-modal-footer{
		padding:16px 20px 20px;
	}
}

@media(max-width:991px){
	.th-sidebar-mobile-actions{
		position:relative;
		display:flex;
		justify-content:center;
		align-items:center;
		width:100%;
		padding:20px 16px 18px;
		margin-bottom:8px;
		border-bottom:1px solid var(--th-border-base);
		overflow:visible !important;
		z-index:1065;
	}

	.th-sidebar-mobile-actions .th-main-actions,
	.th-sidebar-mobile-actions .th-header-actions-group{
		position:relative !important;
		width:100%;
		display:flex;
		justify-content:center;
		align-items:center;
		gap:14px;
		flex-wrap:wrap;
		overflow:visible !important;
	}

	.th-sidebar-mobile-actions .th-preferences-main{
		width:56px;
		height:56px;
		min-width:56px;
		border-radius:22px;
	}
}
