/**
 * Dashboard widget styles for WP Launch Checklist.
 *
 * @package WPLC
 */

/* Main widget container */
.wplc-dashboard-widget {
	padding: 0;
}

/* Progress section */
.wplc-widget-progress {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 24px;
	background: #f9fafb;
	border: 1px solid #f3f4f6;
	border-radius: 12px;
	margin-bottom: 20px;
}

/* Progress circle */
.wplc-progress-circle {
	position: relative;
	width: 100px;
	height: 100px;
	flex-shrink: 0;
}

.wplc-progress-inner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
}

.wplc-progress-number {
	display: block;
	font-size: 24px;
	font-weight: 700;
	color: #111827;
	line-height: 1;
}

.wplc-progress-label {
	display: block;
	font-size: 12px;
	color: #666;
	margin-top: 2px;
}

/* Progress stats */
.wplc-progress-stats {
	flex: 1;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

.wplc-stat {
	text-align: center;
}

.wplc-stat-number {
	display: block;
	font-size: 20px;
	font-weight: 600;
	color: #262626;
	line-height: 1;
}

.wplc-stat-label {
	display: block;
	font-size: 12px;
	color: #8c8c8c;
	margin-top: 4px;
}

/* Status message */
.wplc-widget-status {
	padding: 12px 16px;
	border-radius: 6px;
	margin-bottom: 16px;
	text-align: center;
}

.wplc-widget-status p {
	margin: 0;
	font-weight: 500;
}

.wplc-status-complete {
	background: #f6ffed;
	border: 1px solid #b7eb8f;
	color: #389e0d;
}

.wplc-status-almost {
	background: #fff7e6;
	border: 1px solid #ffd591;
	color: #d46b08;
}

.wplc-status-progress {
	background: #e6f7ff;
	border: 1px solid #91d5ff;
	color: #1890ff;
}

.wplc-status-started {
	background: #f9f0ff;
	border: 1px solid #d3adf7;
	color: #722ed1;
}

.wplc-status-not-started {
	background: #fafafa;
	border: 1px solid #d9d9d9;
	color: #595959;
}

/* Category overview */
.wplc-widget-categories {
	margin-bottom: 20px;
}

.wplc-widget-categories h4 {
	margin: 0 0 12px 0;
	font-size: 14px;
	color: #262626;
	font-weight: 600;
}

.wplc-category-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
}

.wplc-category-item {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 12px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	font-size: 13px;
	transition: all 0.2s ease;
}

.wplc-category-item:hover {
	background: #f9fafb;
	border-color: #d1d5db;
}

.wplc-category-item.complete {
	background: #ecfdf5;
	border-color: #a7f3d0;
	border-left: 4px solid #10b981;
}

.wplc-category-item.partial {
	background: #eff6ff;
	border-color: #bfdbfe;
	border-left: 4px solid #3b82f6;
}

.wplc-category-item.none {
	background: #ffffff;
	border-left: 4px solid #d1d5db;
}

.wplc-category-icon {
	font-size: 14px;
	flex-shrink: 0;
}

.wplc-category-label {
	flex: 1;
	color: #595959;
	font-weight: 500;
}

.wplc-category-progress {
	color: #8c8c8c;
	font-size: 12px;
	font-weight: 600;
}

/* Action buttons */
.wplc-widget-actions {
	display: flex;
	gap: 12px;
	justify-content: center;
	padding-top: 20px;
	border-top: 1px solid #f3f4f6;
}

.wplc-widget-actions .button {
	font-size: 13px;
	font-weight: 600;
	height: auto;
	padding: 8px 16px;
	border-radius: 6px;
	transition: all 0.2s ease;
}

.wplc-widget-actions .button-primary {
	background: #111827;
	border-color: #111827;
	color: #ffffff;
	text-shadow: none;
	box-shadow: 0 2px 4px rgba(17, 24, 39, 0.1);
}

.wplc-widget-actions .button-primary:hover,
.wplc-widget-actions .button-primary:focus {
	background: #374151;
	border-color: #374151;
	color: #ffffff;
	transform: translateY(-1px);
	box-shadow: 0 4px 6px rgba(17, 24, 39, 0.15);
}

.wplc-widget-actions .button:not(.button-primary) {
	background: #ffffff;
	border-color: #d1d5db;
	color: #374151;
}

.wplc-widget-actions .button:not(.button-primary):hover,
.wplc-widget-actions .button:not(.button-primary):focus {
	border-color: #9ca3af;
	color: #111827;
	background: #f9fafb;
}

/* Responsive design */
@media (max-width: 782px) {
	.wplc-widget-progress {
		flex-direction: column;
		text-align: center;
		gap: 16px;
	}
	
	.wplc-progress-stats {
		width: 100%;
	}
	
	.wplc-category-grid {
		grid-template-columns: 1fr;
	}
	
	.wplc-widget-actions {
		flex-direction: column;
	}
}

/* Animation for progress circle */
@keyframes progressFill {
	from {
		stroke-dashoffset: 283; /* Full circle circumference */
	}
}

.wplc-progress-circle svg circle:last-child {
	animation: progressFill 1.5s ease-out;
}

/* Widget title icon */
#wplc_dashboard_widget .hndle {
	font-weight: 600;
}

/* Ensure proper spacing in dashboard */
#wplc_dashboard_widget .inside {
	margin: 0;
	padding: 0;
}