			:where([class^="ri-"])::before {
				content: "\f3c2";
			}

			body {
				font-family: "Noto Sans SC", sans-serif;
				color: #333;
			}

			input,
			select,
			textarea {
				outline: none;
			}

			input[type="number"]::-webkit-inner-spin-button,
			input[type="number"]::-webkit-outer-spin-button {
				-webkit-appearance: none;
				margin: 0;
			}

			.custom-checkbox {
				position: relative;
				display: inline-block;
				width: 18px;
				height: 18px;
				border: 2px solid #d1d5db;
				border-radius: 4px;
				transition: all 0.2s;
			}

			.custom-checkbox.checked {
				background-color: #165DFF;
				border-color: #165DFF;
			}

			.custom-checkbox.checked::after {
				content: '';
				position: absolute;
				left: 5px;
				top: 2px;
				width: 6px;
				height: 10px;
				border: solid white;
				border-width: 0 2px 2px 0;
				transform: rotate(45deg);
			}

			.custom-radio {
				position: relative;
				display: inline-block;
				width: 18px;
				height: 18px;
				border: 2px solid #d1d5db;
				border-radius: 50%;
				transition: all 0.2s;
			}

			.custom-radio.checked {
				border-color: #165DFF;
			}

			.custom-radio.checked::after {
				content: '';
				position: absolute;
				left: 3px;
				top: 3px;
				width: 8px;
				height: 8px;
				background-color: #165DFF;
				border-radius: 50%;
			}

			.custom-switch {
				position: relative;
				display: inline-block;
				width: 40px;
				height: 20px;
				background-color: #e5e6eb;
				border-radius: 20px;
				transition: all 0.3s;
			}

			.custom-switch.checked {
				background-color: #165DFF;
			}

			.custom-switch::after {
				content: '';
				position: absolute;
				left: 2px;
				top: 2px;
				width: 16px;
				height: 16px;
				background-color: white;
				border-radius: 50%;
				transition: all 0.3s;
			}

			.custom-switch.checked::after {
				transform: translateX(20px);
			}

			.custom-input {
				border: 1px solid #e5e6eb;
				border-radius: 8px;
				padding: 8px 12px;
				transition: all 0.2s;
			}

			.custom-input:focus {
				border-color: #165DFF;
				box-shadow: 0 0 0 2px rgba(22, 93, 255, 0.1);
			}

			.custom-select {
				position: relative;
				display: inline-block;
				width: 100%;
			}

			.custom-select-dropdown {
				position: absolute;
				top: 100%;
				left: 0;
				width: 100%;
				background-color: white;
				border: 1px solid #e5e6eb;
				border-radius: 8px;
				box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
				z-index: 10;
				max-height: 200px;
				overflow-y: auto;
				display: none;
			}

			.custom-select-dropdown.show {
				display: block;
			}

			.custom-select-option {
				padding: 8px 12px;
				cursor: pointer;
			}

			.custom-select-option:hover {
				background-color: #f5f7fa;
			}

			.custom-file-upload {
				display: inline-block;
				padding: 8px 16px;
				background-color: #f5f7fa;
				border: 1px dashed #d1d5db;
				border-radius: 8px;
				cursor: pointer;
				transition: all 0.2s;
			}

			.custom-file-upload:hover {
				border-color: #165DFF;
				background-color: rgba(22, 93, 255, 0.05);
			}

			.nav-link {
				position: relative;
			}

			.nav-link::after {
				content: "";
				position: absolute;
				bottom: -5px;
				left: 0;
				width: 0;
				height: 2px;
				background-color: white;
				transition: width 0.3s;
			}

			.nav-link:hover::after {
				width: 100%;
			}

			.custom-shadow {
				box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
			}

			.news-card:hover {
				box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
				transform: translateY(-2px);
			}

			.category-item.active {
				border-left: 4px solid var(--category-color);
			}

			.search-input:focus {
				box-shadow: 0 0 0 2px rgba(43, 90, 237, 0.2);
			}

			.pagination-input::-webkit-inner-spin-button,
			.pagination-input::-webkit-outer-spin-button {
				-webkit-appearance: none;
				margin: 0;
			}

			.custom-checkbox {
				position: relative;
				display: inline-block;
				width: 16px;
				height: 16px;
				border: 1px solid #d9d9d9;
				border-radius: 2px;
				transition: all 0.3s;
			}

			.custom-checkbox.checked {
				background-color: #1890FF;
				border-color: #1890FF;
			}

			.custom-checkbox.checked::after {
				content: '';
				position: absolute;
				top: 3px;
				left: 5px;
				width: 5px;
				height: 8px;
				border: solid white;
				border-width: 0 2px 2px 0;
				transform: rotate(45deg);
			}

			.custom-radio {
				position: relative;
				display: inline-block;
				width: 16px;
				height: 16px;
				border: 1px solid #d9d9d9;
				border-radius: 50%;
				transition: all 0.3s;
			}

			.custom-radio.checked {
				border-color: #1890FF;
			}

			.custom-radio.checked::after {
				content: '';
				position: absolute;
				top: 3px;
				left: 3px;
				width: 8px;
				height: 8px;
				border-radius: 50%;
				background-color: #1890FF;
			}

			.custom-switch {
				position: relative;
				display: inline-block;
				width: 40px;
				height: 20px;
				background-color: #ccc;
				border-radius: 20px;
				transition: all 0.3s;
			}

			.custom-switch.checked {
				background-color: #1890FF;
			}

			.custom-switch::after {
				content: '';
				position: absolute;
				top: 2px;
				left: 2px;
				width: 16px;
				height: 16px;
				border-radius: 50%;
				background-color: white;
				transition: all 0.3s;
			}

			.custom-switch.checked::after {
				transform: translateX(20px);
			}

			.expert-card {
				transition: all 0.3s ease;
			}

			.expert-card:hover {
				transform: translateY(-5px);
				box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
			}

			.skeleton {
				background: linear-gradient(90deg, #f2f2f2 25%, #e6e6e6 50%, #f2f2f2 75%);
				background-size: 200% 100%;
				animation: shimmer 1.5s infinite;
			}

			.tab-content {
				display: none;
			}

			.tab-content.active {
				display: block;
			}

			.tab-button {
				position: relative;
			}

			.tab-button.active::after {
				content: '';
				position: absolute;
				bottom: -1px;
				left: 0;
				width: 100%;
				height: 2px;
				background-color: #1890FF;
			}

			.contact-modal {
				display: none;
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background-color: rgba(0, 0, 0, 0.5);
				z-index: 1000;
				justify-content: center;
				align-items: center;
			}

			.contact-modal.show {
				display: flex;
			}

			.expert-card {
				transition: all 0.3s ease;
			}

			.expert-card:hover {
				transform: translateY(-5px);
				box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
			}