/* Volunteer Hours — deliberately minimal styling. */

.vh-wrap { max-width: 800px; }
.vh-form p { margin: 0 0 12px; }
.vh-form label { font-weight: 600; }
.vh-project { font-weight: normal; }
.vh-table { border-collapse: collapse; width: 100%; margin-top: 10px; }
.vh-table th, .vh-table td { border: 1px solid #bbb; padding: 6px 8px; text-align: left; vertical-align: top; }
.vh-table tfoot th { background: #f0f0f0; }
.vh-notice { padding: 8px 12px; background: #e7f5e7; border: 1px solid #9c9; }
.vh-notice.vh-error { background: #fdeaea; border-color: #d99; }
.vh-inline { display: inline; }
.vh-link { background: none; border: none; color: #0645ad; cursor: pointer; padding: 0; text-decoration: underline; font: inherit; }
.vh-button { display: inline-block; padding: 6px 14px; border: 1px solid #666; text-decoration: none; margin-right: 8px; }
.vh-month-filter { margin: 8px 0 4px; }

/* Admin */
.vh-admin .vh-logo { height: 28px; vertical-align: middle; margin-right: 6px; }
.vh-inline-form { margin: 12px 0; }
.vh-inline-form label { margin-right: 10px; }
.vh-admin-table { margin-top: 12px; }
.vh-danger { color: #b32d2e !important; }
.vh-report-cols { display: flex; gap: 32px; flex-wrap: wrap; margin-top: 16px; }
.vh-report-cols > div { flex: 1 1 360px; }

@media print {
	.vh-noprint, .vh-form, .vh-month-filter, h3:first-of-type { display: none; }
}

/* Review / payment status */
.vh-status-pending { color: #8a6d00; }
.vh-status-reviewed { color: #0e746c; font-weight: 600; }
.vh-status-paid { color: #1a7a1a; font-weight: 600; }
