/* S1000D CPF Tracker — front-end styles
   Deliberately minimal/scoped (.cpf- prefix throughout) so this drops
   cleanly into any theme without fighting existing styles. */

.cpf-dashboard, .cpf-workgroup-view, .cpf-proposal-view, .cpf-admin-workgroups, .cpf-admin-membership {
	max-width: 900px;
	margin: 0 auto;
	font-size: 15px;
	line-height: 1.5;
}

.cpf-notice {
	padding: 10px 14px;
	border-radius: 4px;
	margin-bottom: 16px;
	border: 1px solid transparent;
}
.cpf-notice-error   { background: #fdecea; border-color: #f5c2c0; color: #842029; }
.cpf-notice-success { background: #e7f5ec; border-color: #b7e0c4; color: #1e5631; }
.cpf-notice-info    { background: #eaf3fb; border-color: #b8d8f0; color: #1a4a73; }

.cpf-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 24px;
}
.cpf-table th, .cpf-table td {
	text-align: left;
	padding: 8px 10px;
	border-bottom: 1px solid #e2e2e2;
}
.cpf-table th {
	background: #f7f7f7;
	font-weight: 600;
}

.cpf-meta-table { border-collapse: collapse; margin-bottom: 16px; }
.cpf-meta-table th, .cpf-meta-table td { padding: 5px 10px; border: 1px solid #e2e2e2; text-align: left; }
.cpf-meta-table th { background: #f7f7f7; width: 160px; }

.cpf-status {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 3px;
	font-size: 0.85em;
	font-weight: 600;
	background: #eee;
}
.cpf-status-new       { background: #dbeafe; color: #1e40af; }
.cpf-status-in_review { background: #fef3c7; color: #92400e; }
.cpf-status-promoted  { background: #ede9fe; color: #5b21b6; }
.cpf-status-approved  { background: #d1fae5; color: #065f46; }
.cpf-status-rejected  { background: #fee2e2; color: #991b1b; }
.cpf-status-withdrawn { background: #f3f4f6; color: #4b5563; }

.cpf-position { font-weight: 600; }
.cpf-position-support { color: #065f46; }
.cpf-position-oppose  { color: #991b1b; }
.cpf-position-abstain { color: #4b5563; }

.cpf-form label, .cpf-inline-form label {
	display: block;
	margin-bottom: 12px;
	font-weight: 600;
}
.cpf-form input[type="text"],
.cpf-form textarea,
.cpf-form select,
.cpf-inline-form select {
	display: block;
	width: 100%;
	max-width: 500px;
	margin-top: 4px;
	padding: 7px 9px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-weight: normal;
}
.cpf-inline-form { display: inline-flex; gap: 8px; align-items: center; margin: 8px 0; }

.cpf-button {
	display: inline-block;
	padding: 8px 16px;
	border-radius: 4px;
	border: 1px solid #999;
	background: #f5f5f5;
	cursor: pointer;
	text-decoration: none;
	color: #222;
	font-size: 14px;
}
.cpf-button-primary { background: #2563eb; border-color: #1d4ed8; color: #fff; }
.cpf-button-danger  { background: #dc2626; border-color: #b91c1c; color: #fff; }

.cpf-comments-list, .cpf-positions-list { list-style: none; padding: 0; }
.cpf-comments-list li, .cpf-positions-list li {
	border-top: 1px solid #eee;
	padding: 10px 0;
}
.cpf-comment-meta { color: #666; font-size: 0.9em; margin-bottom: 4px; }

.cpf-dashboard-columns { display: flex; gap: 32px; flex-wrap: wrap; }
.cpf-dashboard-columns .cpf-col { flex: 1; min-width: 280px; }

.cpf-wg-tree { list-style: none; padding-left: 0; }
.cpf-wg-tree li { margin: 4px 0; }

.cpf-event-log { margin-top: 24px; font-size: 0.9em; color: #555; }
.cpf-event-log ul { padding-left: 18px; }

.cpf-attachments { list-style: none; padding: 0; }
.cpf-attachment-meta { color: #888; font-size: 0.85em; }
