.uo-wrapper { max-width: 960px; margin: 0 auto; font-family: inherit; }
.uo-notice { padding: 12px 16px; background: #f3f4f6; border-radius: 6px; }

.uo-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.uo-filters input { padding: 8px; border: 1px solid #d1d5db; border-radius: 4px; flex: 1 1 140px; }

.uo-request-grid, .uo-offer-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; margin: 16px 0; }

.uo-card { border: 1px solid #e5e7eb; border-radius: 8px; padding: 16px; background: #fff; }
.uo-card h3, .uo-card h4 { margin-top: 0; }

.uo-request-meta { list-style: none; margin: 8px 0; padding: 0; font-size: 14px; color: #4b5563; }
.uo-request-meta li { margin-bottom: 4px; }

.uo-date { font-size: 12px; color: #9ca3af; }

.uo-button {
	display: inline-block;
	background: #111827;
	color: #fff;
	padding: 8px 16px;
	border-radius: 6px;
	border: none;
	cursor: pointer;
	text-decoration: none;
	font-size: 14px;
}
.uo-button:hover { background: #1f2937; color: #fff; }
.uo-button-secondary { background: #e5e7eb; color: #111827; }
.uo-button-secondary:hover { background: #d1d5db; color: #111827; }

.uo-status { display: inline-block; font-size: 12px; padding: 2px 8px; border-radius: 12px; background: #f3f4f6; }
.uo-status-open, .uo-status-pending { background: #fef3c7; color: #92400e; }
.uo-status-chosen, .uo-status-closed { background: #d1fae5; color: #065f46; }
.uo-status-rejected, .uo-status-cancelled { background: #fee2e2; color: #991b1b; }

.uo-detail-table { width: 100%; border-collapse: collapse; margin: 16px 0; }
.uo-detail-table th, .uo-detail-table td { text-align: left; padding: 6px 10px; border-bottom: 1px solid #f3f4f6; }
.uo-detail-table th { width: 160px; color: #6b7280; font-weight: 600; }

.uo-offer-images { display: flex; gap: 6px; margin-bottom: 8px; }
.uo-offer-images img { width: 64px; height: 64px; object-fit: cover; border-radius: 4px; }

.uo-form-row { margin-bottom: 14px; }
.uo-form-hint { font-size: 12px; color: #6b7280; margin: -8px 0 14px; }
.uo-form-row label { display: block; font-weight: 600; margin-bottom: 4px; font-size: 14px; }
.uo-form-row input, .uo-form-row textarea { width: 100%; padding: 8px; border: 1px solid #d1d5db; border-radius: 4px; box-sizing: border-box; }
.uo-form-row-half { display: inline-block; width: 48%; margin-right: 4%; vertical-align: top; }
.uo-form-row-half:nth-of-type(2n) { margin-right: 0; }

.uo-form-message { font-size: 14px; margin-top: 8px; }
.uo-form-message.uo-success { color: #065f46; }
.uo-form-message.uo-error { color: #991b1b; }

.uo-image-preview { display: flex; gap: 6px; margin-top: 8px; flex-wrap: wrap; }
.uo-image-preview img { width: 56px; height: 56px; object-fit: cover; border-radius: 4px; }

.uo-message-box { margin-top: 12px; border-top: 1px solid #f3f4f6; padding-top: 10px; }
.uo-message { font-size: 14px; }
.uo-message-input { min-height: 60px; margin: 6px 0; }

.uo-pagination { margin-top: 20px; }
.uo-pagination .page-numbers { display: inline-block; padding: 6px 10px; margin-right: 4px; border: 1px solid #e5e7eb; border-radius: 4px; text-decoration: none; }
.uo-pagination .current { background: #111827; color: #fff; }
