		:root {
			--eli-sidebar-width: 300px;
			--eli-topbar-height: 56px;
			--eli-bottombar-height: 52px;
			--eli-sidebar-bg: #1f2937;
			--eli-sidebar-hover: #111827;
			--eli-sidebar-text: #f8fafc;
			--eli-sidebar-muted: #cbd5e1;
		}

		html,
		body {
			height: 100%;
		}

		body {
			margin: 0;
			background: #f3f4f6;
		}

		.eli-page {
			min-height: 100vh;
			display: flex;
			flex-direction: column;
		}

		.eli-topbar {
			height: var(--eli-topbar-height);
			z-index: 1030;
		}

		.eli-toggle-icon {
			display: inline-flex;
			flex-direction: column;
			justify-content: center;
			gap: 3px;
			margin-right: 0.45rem;
			vertical-align: middle;
			width: 14px;
			height: 14px;
			position: relative;
		}

		.eli-toggle-icon span {
			display: block;
			width: 14px;
			height: 2px;
			background: currentColor;
			transition: transform 0.2s ease, opacity 0.2s ease;
			transform-origin: center;
		}

		#sidebarToggle.is-open .eli-toggle-icon span:nth-child(1) {
			transform: translateY(5px) rotate(45deg);
		}

		#sidebarToggle.is-open .eli-toggle-icon span:nth-child(2) {
			opacity: 0;
		}

		#sidebarToggle.is-open .eli-toggle-icon span:nth-child(3) {
			transform: translateY(-5px) rotate(-45deg);
		}

		.eli-content-wrapper {
			position: relative;
			flex: 1;
			display: flex;
			min-height: 0;
		}

		.eli-sidebar {
			position: fixed;
			top: var(--eli-topbar-height);
			left: 0;
			width: var(--eli-sidebar-width);
			height: calc(100vh - var(--eli-topbar-height));
			background: var(--eli-sidebar-bg);
			color: var(--eli-sidebar-text);
			transform: translateX(-100%);
			transition: transform 0.3s ease;
			z-index: 1070;
			overflow-y: auto;
			box-shadow: 0 12px 32px rgba(0, 0, 0, 0.22);
		}

		.eli-sidebar.show {
			transform: translateX(0);
		}

		.eli-sidebar .menu-title {
			font-size: 0.75rem;
			text-transform: uppercase;
			letter-spacing: 0.08em;
			color: var(--eli-sidebar-muted);
			padding: 1rem 1.25rem 0.5rem;
		}

		.eli-sidebar .nav-link {
			color: var(--eli-sidebar-text);
			border-radius: 0;
			padding: 0.65rem 1.25rem;
			font-weight: 500;
			transition: background-color 0.2s ease;
		}

		.eli-sidebar .nav-link:hover,
		.eli-sidebar .nav-link:focus {
			color: #fff;
			background: var(--eli-sidebar-hover);
		}

		.eli-sidebar .nav-link.active {
			color: #fff;
			background: #0f172a;
		}

		.eli-sidebar .submenu .nav-link {
			color: var(--eli-sidebar-muted);
			padding-left: 2rem;
			font-size: 0.95rem;
			font-weight: 400;
		}

		.eli-sidebar .submenu .nav-link.active {
			color: #fff;
			background: #111827;
		}

		.eli-sidebar .menu-toggle {
			display: flex;
			align-items: center;
			width: 100%;
		}

		.eli-sidebar .menu-toggle::after {
			content: "";
			width: 0.6rem;
			height: 0.6rem;
			border-right: 2px solid currentColor;
			border-bottom: 2px solid currentColor;
			transform: rotate(45deg);
			transition: transform 0.2s ease;
			margin-left: 0.75rem;
		}

		.eli-sidebar .menu-toggle[aria-expanded="true"]::after {
			transform: rotate(-135deg);
			margin-top: 0.25rem;
		}

		.eli-backdrop {
			position: fixed;
			inset: var(--eli-topbar-height) 0 0 0;
			background: rgba(17, 24, 39, 0.46);
			opacity: 0;
			visibility: hidden;
			transition: opacity 0.25s ease, visibility 0.25s ease;
			z-index: 1065;
		}

		.eli-backdrop.show {
			opacity: 1;
			visibility: visible;
		}

		.eli-main {
			width: 100%;
			min-height: calc(100vh - var(--eli-topbar-height) - var(--eli-bottombar-height));
			padding: 1.25rem;
		}

		.eli-bottombar {
			height: var(--eli-bottombar-height);
			background: #fff;
			border-top: 1px solid #e5e7eb;
			z-index: 1060;
		}

		@media (max-width: 575.98px) {
			:root {
				--eli-sidebar-width: 86vw;
			}

			.eli-main {
				padding: 1rem;
			}
		}