/* ---- Front-end tracker layout ---- */
.ptm-tracker-header { margin-bottom: 24px; }
.ptm-last-updated { color: #666; font-size: 14px; }

.ptm-status-badge {
	display: inline-block;
	padding: 6px 16px;
	border-radius: 20px;
	font-size: 15px;
	background: #e8f5e9;
	color: #2e7d32;
}
.ptm-status-badge.ptm-status-planning { background: #fff8e1; color: #f9a825; }
.ptm-status-badge.ptm-status-stalled { background: #ffebee; color: #c62828; }
.ptm-status-badge.ptm-status-completed { background: #e3f2fd; color: #1565c0; }

.ptm-progress-wrap { margin: 12px 0 24px; }
.ptm-progress-bar {
	background: #eee;
	border-radius: 6px;
	height: 14px;
	width: 100%;
	max-width: 420px;
	overflow: hidden;
	margin-bottom: 6px;
}
.ptm-progress-fill { background: #2e7d32; height: 100%; transition: width 0.3s ease; }
.ptm-progress-text { font-family: monospace; letter-spacing: 1px; color: #444; }

.ptm-snapshot-table, .ptm-timeline-table {
	width: 100%;
	border-collapse: collapse;
	margin: 16px 0 28px;
}
.ptm-snapshot-table th, .ptm-snapshot-table td,
.ptm-timeline-table th, .ptm-timeline-table td {
	border: 1px solid #e0e0e0;
	padding: 8px 12px;
	text-align: left;
}
.ptm-snapshot-table th { width: 220px; background: #fafafa; }
.ptm-timeline-table th { background: #fafafa; }

.ptm-about { margin: 24px 0; }

.ptm-update { margin: 28px 0; }
.ptm-update h3 { margin-bottom: 4px; }
.ptm-update h4 { margin-top: 0; color: #1565c0; }
.ptm-update-progress { color: #2e7d32; }
.ptm-gallery { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.ptm-gallery img { border-radius: 6px; max-width: 220px; height: auto; }
.ptm-source { font-size: 14px; }

/* ---- Admin screens ---- */
.ptm-form-table th { width: 220px; }
.ptm-image-preview { margin-bottom: 10px; min-height: 10px; }
.ptm-image-preview img { border-radius: 4px; margin: 2px; }
