* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
	background-color: #f5f8fa;
	color: #181c32;
	overflow-x: hidden;
}

/* Top Header */
.top-header {
	background: #fff;
	height: 70px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 30px;
	box-shadow: 0 1px 5px rgba(0,0,0,0.08);
	position: fixed;
	top: 0;
	left: 280px;
	right: 0;
	z-index: 1000;
	transition: left 0.3s;
}


.logo {
	font-size: 24px;
	font-weight: 700;
	color: #009ef7;
}

.header-left {
	display: flex;
	align-items: center;
	gap: 20px;
}

.docs-button-container {
	padding: 20px;
}

.docs-button {
	width: 100%;
	padding: 12px;
	background: #2b2b40;
	color: #92929f;
	border: none;
	border-radius: 8px;
	cursor: pointer;
	font-weight: 500;
	transition: background 0.2s;
}

.docs-button:hover {
	background: #3b3b50;
}

.performance-metric {
	margin-top: 5px;
}

.performance-subtitle {
	font-size: 12px;
	color: #7e8299;
	margin-top: 5px;
}

.top-nav {
	display: flex;
	gap: 30px;
	align-items: center;
}

.top-nav a {
	text-decoration: none;
	color: #181c32;
	font-weight: 500;
	padding: 8px 12px;
	border-radius: 6px;
	transition: background 0.2s;
}

.top-nav a.active {
	color: #009ef7;
	background: #f1faff;
}

.top-nav a:hover {
	background: #f5f8fa;
}

.header-icons {
	display: flex;
	gap: 20px;
	align-items: center;
}

.icon-btn {
	width: 40px;
	height: 40px;
	border: none;
	background: transparent;
	cursor: pointer;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s;
}

.icon-btn:hover {
	background: #f5f8fa;
}

.icon-btn svg {
	width: 20px;
	height: 20px;
	fill: #5e6278;
}

.user-avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	color: white;
	font-weight: 600;
	cursor: pointer;
}

/* Sidebar Dropdown/Submenu */
.sidebar-item-dropdown {
	cursor: pointer;
}

.sidebar-item-dropdown.active .sidebar-item-arrow {
	transform: rotate(180deg);
}

.sidebar-submenu {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease;
	padding-left: 0;
}

.sidebar-item-dropdown.active + .sidebar-submenu {
	max-height: 500px;
	padding-left: 20px;
}

.sidebar-submenu-item {
	display: block;
	padding: 10px 20px;
	color: #92929f;
	text-decoration: none;
	font-size: 14px;
	transition: all 0.2s;
	border-left: 2px solid transparent;
}

.sidebar-submenu-item:hover {
	color: #009ef7;
	background: rgba(0, 158, 247, 0.1);
	border-left-color: #009ef7;
}

.sidebar-item-arrow {
	transition: transform 0.3s;
}

.left-sidebar.collapsed .sidebar-submenu {
	display: none !important;
}

/* Main Container */
.main-container {
	display: flex;
	margin-top: 70px;
}

/* Left Sidebar */
.left-sidebar {
	width: 280px;
	background: #1e1e2d;
	color: #92929f;
	height: 100vh;
	position: fixed;
	left: 0;
	top: 0;
	overflow-y: auto;
	transition: transform 0.3s, width 0.3s;
	z-index: 1001;
}

.left-sidebar.collapsed {
	width: 70px;
	overflow: hidden;
}

.left-sidebar.collapsed .sidebar-item-text,
.left-sidebar.collapsed .section-title,
.left-sidebar.collapsed .show-more,
.left-sidebar.collapsed .docs-button,
.left-sidebar.collapsed .sidebar-logo {
	display: none !important;
}

.left-sidebar.collapsed .sidebar-item-arrow {
	display: none !important;
}

.left-sidebar.collapsed .sidebar-item {
	justify-content: center !important;
	padding: 12px !important;
	margin: 0 !important;
	width: 70px;
	min-width: 70px;
	max-width: 70px;
}

.left-sidebar.collapsed .sidebar-item-icon {
	margin: 0 !important;
	width: 20px !important;
	height: 20px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0;
}

.left-sidebar.collapsed .sidebar-item-icon:empty {
	display: none !important;
}

.left-sidebar.collapsed .sidebar-header {
	justify-content: center !important;
	padding: 20px 10px !important;
}

.left-sidebar.collapsed .collapse-btn {
	position: static !important;
	transform: none !important;
	margin: 0 auto;
}

.left-sidebar.collapsed .sidebar-logo {
	display: none !important;
}

.left-sidebar.collapsed .docs-button-container {
	padding: 20px 10px !important;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
}

.left-sidebar.collapsed .sidebar-section {
	padding: 10px 0 !important;
}

.left-sidebar.collapsed .show-more {
	display: none !important;
}

.sidebar-header {
	padding: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	gap: 15px;
}

.collapse-btn {
	position: absolute;
	left: 20px;
	top: 50%;
	transform: translateY(-50%);
	background: transparent;
	border: none;
	color: #92929f;
	cursor: pointer;
	padding: 5px;
	transition: transform 0.3s, color 0.2s;
}

.sidebar-logo {
	font-size: 20px;
	font-weight: 700;
	color: #009ef7;
	white-space: nowrap;
	transition: opacity 0.3s, visibility 0.3s;
	text-align: center;
	flex: 1;
}

.collapse-btn:hover {
	color: #fff;
}

.left-sidebar.collapsed .collapse-btn svg {
	transform: rotate(180deg);
}

.sidebar-section {
	padding: 20px 0;
}

.section-title {
	padding: 0 20px 10px;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #4b4b5c;
}

.sidebar-item {
	display: flex;
	align-items: center;
	padding: 12px 20px;
	cursor: pointer;
	transition: all 0.2s;
	text-decoration: none;
	color: #92929f;
	position: relative;
}

.sidebar-item:hover {
	background: #2b2b40;
	color: #fff;
}

.sidebar-item.active {
	background: #2b2b40;
	color: #009ef7;
	border-left: 3px solid #009ef7;
}

.left-sidebar.collapsed .sidebar-item.active {
	border-left: none !important;
	border-top: 3px solid #009ef7;
	border-bottom: none;
}

.sidebar-item-icon {
	width: 20px;
	height: 20px;
	margin-right: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.sidebar-item-text {
	flex: 1;
}

.sidebar-item-arrow {
	width: 16px;
	height: 16px;
}

.show-more {
	padding: 12px 20px;
	color: #009ef7;
	text-decoration: none;
	display: block;
	font-size: 13px;
}

.show-more:hover {
	color: #0d8ce8;
}

/* Main Content */
.main-content {
	flex: 1;
	margin-left: 280px;
	padding: 30px;
	transition: margin-left 0.3s;
}


.breadcrumb {
	font-size: 14px;
	color: #7e8299;
	margin-bottom: 20px;
}

.breadcrumb a {
	color: #7e8299;
	text-decoration: none;
}

.breadcrumb a:hover {
	color: #009ef7;
}

.dashboard-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 25px;
	margin-bottom: 25px;
}

.card {
	background: #fff;
	border-radius: 12px;
	padding: 25px;
	box-shadow: 0 0 20px rgba(0,0,0,0.04);
	transition: transform 0.2s, box-shadow 0.2s;
}

.card:hover {
	transform: translateY(-2px);
	box-shadow: 0 0 25px rgba(0,0,0,0.08);
}

.card-title {
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 15px;
	color: #181c32;
}

.card-subtitle {
	font-size: 13px;
	color: #7e8299;
	margin-bottom: 20px;
}

/* Multipurpose Card */
.multipurpose-card {
	background: linear-gradient(135deg, #f1416c 0%, #d9214e 100%);
	color: white;
	position: relative;
	overflow: hidden;
}

.multipurpose-card::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 200px;
	height: 200px;
	background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M0,0 L100,0 L100,100 L0,100 Z" fill="none" stroke="rgba(255,255,255,0.1)" stroke-width="0.5"/><path d="M20,20 L80,20 L80,80 L20,80 Z" fill="none" stroke="rgba(255,255,255,0.1)" stroke-width="0.5"/><path d="M40,40 L60,40 L60,60 L40,60 Z" fill="none" stroke="rgba(255,255,255,0.1)" stroke-width="0.5"/></svg>') no-repeat;
	background-size: cover;
	opacity: 0.3;
}

.multipurpose-card .card-title {
	color: white;
	position: relative;
	z-index: 1;
}

.projects-count {
	font-size: 32px;
	font-weight: 700;
	margin: 15px 0;
	position: relative;
	z-index: 1;
}

.progress-info {
	display: flex;
	justify-content: space-between;
	margin: 15px 0;
	position: relative;
	z-index: 1;
}

.progress-bar {
	height: 8px;
	background: rgba(255,255,255,0.2);
	border-radius: 4px;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.progress-fill {
	height: 100%;
	background: white;
	border-radius: 4px;
	width: 72%;
}

/* Earnings Card */
.earnings-card {
	grid-column: span 1;
}

.earnings-amount {
	font-size: 36px;
	font-weight: 700;
	color: #181c32;
	margin: 15px 0;
}

.earnings-growth {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #50cd89;
	font-weight: 600;
	margin-bottom: 20px;
}

.chart-container {
	height: 150px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 20px 0;
}

.donut-chart {
	width: 120px;
	height: 120px;
	border-radius: 50%;
	background: conic-gradient(
		#50cd89 0deg 120deg,
		#009ef7 120deg 240deg,
		#f1f1f2 240deg 360deg
	);
	position: relative;
}

.donut-chart::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 80px;
	height: 80px;
	background: white;
	border-radius: 50%;
}

.chart-legend {
	list-style: none;
	margin-top: 15px;
}

.chart-legend li {
	display: flex;
	align-items: center;
	margin-bottom: 8px;
	font-size: 13px;
}

.legend-color {
	width: 12px;
	height: 12px;
	border-radius: 3px;
	margin-right: 10px;
}

/* Pro Plan Card */
.pro-plan-card {
	background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
	position: relative;
	overflow: hidden;
}

.pro-plan-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 15px;
}

.pro-plan-title {
	font-size: 18px;
	font-weight: 600;
	color: #181c32;
	margin-bottom: 10px;
}

.pro-plan-buttons {
	display: flex;
	gap: 8px;
}

.btn-small {
	padding: 6px 12px;
	border: none;
	border-radius: 6px;
	font-size: 12px;
	cursor: pointer;
	font-weight: 500;
}

.btn-rollover {
	background: #f5f8fa;
	color: #181c32;
}

.btn-add-target {
	background: #009ef7;
	color: white;
}

.upgrade-btn {
	background: #181c32;
	color: white;
	padding: 12px 24px;
	border: none;
	border-radius: 8px;
	font-weight: 600;
	cursor: pointer;
	margin-top: 15px;
	transition: background 0.2s;
}

.upgrade-btn:hover {
	background: #2b2b40;
}

/* Professionals Card */
.professionals-count {
	font-size: 32px;
	font-weight: 700;
	margin: 15px 0;
}

.avatars-row {
	display: flex;
	align-items: center;
	gap: -10px;
	margin-top: 20px;
}

.avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	color: white;
	font-weight: 600;
	border: 2px solid white;
	margin-left: -10px;
}

.avatar:first-child {
	margin-left: 0;
}

.avatar-more {
	background: #f5f8fa;
	color: #7e8299;
	border-color: #f5f8fa;
}

/* External Links Card */
.external-links {
	list-style: none;
}

.external-links li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 0;
	border-bottom: 1px solid #f5f8fa;
	cursor: pointer;
}

.external-links li:last-child {
	border-bottom: none;
}

.external-links li:hover {
	color: #009ef7;
}

/* Performance Card */
.performance-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
}

.performance-amount {
	font-size: 28px;
	font-weight: 700;
}

.toggle-buttons {
	display: flex;
	gap: 8px;
	background: #f5f8fa;
	padding: 4px;
	border-radius: 8px;
}

.toggle-btn {
	padding: 6px 16px;
	border: none;
	background: transparent;
	border-radius: 6px;
	cursor: pointer;
	font-size: 13px;
	font-weight: 500;
	color: #7e8299;
}

.toggle-btn.active {
	background: white;
	color: #009ef7;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.chart-placeholder {
	height: 200px;
	background: linear-gradient(to top, #f5f8fa 0%, transparent 100%);
	border-radius: 8px;
	position: relative;
	margin-top: 20px;
}

.chart-line {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: linear-gradient(to right, #50cd89 0%, #ffc700 50%, #7239ea 100%);
}

.chart-dots {
	position: absolute;
	bottom: 0;
	display: flex;
	justify-content: space-around;
	width: 100%;
}

.chart-dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	border: 2px solid white;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.chart-dot.green { background: #50cd89; }
.chart-dot.yellow { background: #ffc700; }
.chart-dot.purple { background: #7239ea; }

/* Authors Card */
.authors-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
}

.filter-buttons {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

.filter-btn {
	padding: 6px 16px;
	border: 1px solid #e4e6ef;
	background: white;
	border-radius: 6px;
	cursor: pointer;
	font-size: 13px;
	transition: all 0.2s;
}

.filter-btn.active {
	background: #009ef7;
	color: white;
	border-color: #009ef7;
}

.authors-table {
	width: 100%;
}

.table-header {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr 1fr;
	padding: 12px 0;
	border-bottom: 1px solid #e4e6ef;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	color: #7e8299;
}

.table-row {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr 1fr;
	padding: 15px 0;
	border-bottom: 1px solid #f5f8fa;
	align-items: center;
}

.author-info {
	display: flex;
	align-items: center;
	gap: 12px;
}

.author-avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.author-details h4 {
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 2px;
}

.author-details p {
	font-size: 12px;
	color: #7e8299;
}

.conv-rate {
	font-weight: 600;
	color: #50cd89;
}

.mini-chart {
	width: 60px;
	height: 30px;
	background: linear-gradient(to right, #50cd89 0%, #50cd89 100%);
	border-radius: 4px;
}

.view-btn {
	width: 32px;
	height: 32px;
	border: 1px solid #e4e6ef;
	background: white;
	border-radius: 6px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Mobile Overlay */
.sidebar-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.5);
	z-index: 1000;
	opacity: 0;
	transition: opacity 0.3s;
}

.sidebar-overlay.active {
	display: block;
	opacity: 1;
}

/* Mobile Responsive */
@media (max-width: 1024px) {
	.left-sidebar {
		transform: translateX(-100%);
		width: 280px;
	}

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

	.left-sidebar.collapsed {
		width: 280px;
	}

	.top-header {
		left: 0 !important;
	}

	.main-content {
		margin-left: 0 !important;
		padding: 20px;
	}

	.dashboard-grid {
		grid-template-columns: 1fr;
	}

	.top-nav {
		display: none;
	}

	.mobile-menu-btn {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
	
}

.mobile-menu-btn {
	display: none;
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 10px;
	color: #181c32;
	z-index: 1002;
	position: relative;
	min-width: 44px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	border-radius: 6px;
	transition: background 0.2s;
}

.mobile-menu-btn:hover {
	background: #f5f8fa;
}

.mobile-menu-btn svg {
	display: block;
	width: 24px;
	height: 24px;
	stroke: #181c32;
}

@media (max-width: 768px) {
	.top-header {
		padding: 0 15px;
	}

	.main-content {
		padding: 15px;
	}

	.card {
		padding: 20px;
	}

	.performance-header,
	.authors-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 15px;
	}

	.table-header,
	.table-row {
		grid-template-columns: 1fr;
		gap: 10px;
	}
}

/* Modal Styles - Reusable */
.modal-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.5);
	z-index: 2000;
	opacity: 0;
	transition: opacity 0.3s;
}

.modal-overlay.active {
	display: block;
	opacity: 1;
}

.modal {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2001;
	width: 90%;
	max-width: 600px;
	max-height: 90vh;
	overflow-y: auto;
	opacity: 0;
	transition: opacity 0.3s, transform 0.3s;
}

.modal.active {
	display: block;
	opacity: 1;
	transform: translate(-50%, -50%);
}

.modal-content {
	background: white;
	border-radius: 12px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
	overflow: hidden;
}

.modal-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 25px 30px;
	border-bottom: 1px solid #e4e6ef;
}

.modal-title {
	font-size: 20px;
	font-weight: 600;
	color: #181c32;
	margin: 0;
}

.modal-close {
	width: 32px;
	height: 32px;
	border: none;
	background: transparent;
	cursor: pointer;
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s;
	color: #7e8299;
}

.modal-close:hover {
	background: #f5f8fa;
	color: #181c32;
}

.modal-body {
	padding: 30px;
}

.modal-footer {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 12px;
	padding: 20px 30px;
	border-top: 1px solid #e4e6ef;
	margin: 0;
}

.btn-primary,
.btn-secondary {
	padding: 12px 24px;
	border: none;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.2s;
}

.btn-primary {
	background: #009ef7;
	color: white;
}

.btn-primary:hover {
	background: #0d8ce8;
	transform: translateY(-1px);
	box-shadow: 0 4px 8px rgba(0, 158, 247, 0.3);
}

.btn-secondary {
	background: white;
	color: #7e8299;
	border: 1px solid #e4e6ef;
}

.btn-secondary:hover {
	background: #f5f8fa;
	color: #181c32;
	border-color: #d1d3e0;
}

@media (max-width: 768px) {
	.modal {
		width: 95%;
		max-width: none;
	}
	
	.modal-header,
	.modal-body {
		padding: 20px;
	}
	
	.modal-footer {
		flex-direction: column-reverse;
	}
	
	.btn-primary,
	.btn-secondary {
		width: 100%;
	}
}

