/* ── CSR My Account Styles ────────────────────────────── */
.csr-wrap { max-width: 900px; }

.csr-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5em;
}

/* Status badges */
.csr-status {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: .78em;
    font-weight: 600;
    background: #f3f4f6;
    color: #374151;
}
.csr-status-csr-draft           { background:#f3f4f6; color:#6b7280; }
.csr-status-csr-open            { background:#d1fae5; color:#065f46; }
.csr-status-csr-has-offers      { background:#dbeafe; color:#1e40af; }
.csr-status-csr-offer-selected  { background:#e0e7ff; color:#3730a3; }
.csr-status-csr-awaiting-pay    { background:#fef3c7; color:#92400e; }
.csr-status-csr-paid            { background:#d1fae5; color:#065f46; }
.csr-status-csr-in-progress     { background:#ede9fe; color:#4c1d95; }
.csr-status-csr-completed       { background:#bbf7d0; color:#14532d; }
.csr-status-csr-cancelled       { background:#fee2e2; color:#991b1b; }
.csr-status-csr-expired         { background:#fef9c3; color:#713f12; }
.csr-status-csr-offer-pending   { background:#f3f4f6; color:#374151; }
.csr-status-csr-offer-accepted  { background:#d1fae5; color:#065f46; }
.csr-status-csr-offer-rejected  { background:#fee2e2; color:#991b1b; }
.csr-status-csr-offer-cancelled { background:#fef9c3; color:#713f12; }

/* Meta table */
.csr-meta-table th {
    width: 160px;
    font-weight: 600;
    vertical-align: top;
}

/* Description */
.csr-description {
    margin: 1.5em 0;
}

/* Offer cards */
.csr-offers-list { margin-top: 1em; }

.csr-offer-card {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 1em 1.2em;
    margin-bottom: 1em;
    background: #fafafa;
}
.csr-offer-card.csr-offer-accepted {
    border-color: #10b981;
    background: #f0fdf4;
}

.csr-offer-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .75em;
    align-items: center;
    margin-bottom: .5em;
    font-weight: 600;
}

.csr-offer-details {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5em;
    font-size: .88em;
    color: #555;
    margin-bottom: .6em;
}

.csr-offer-message {
    font-size: .9em;
    color: #374151;
    margin-bottom: .8em;
}

/* Forms */
.csr-form .csr-budget-range {
    display: flex;
    align-items: center;
    gap: .5em;
}
.csr-form .csr-budget-range input {
    width: 120px;
}

/* Utilities */
.csr-back-link {
    display: inline-block;
    margin-bottom: 1em;
    color: #555;
    text-decoration: none;
}
.csr-back-link:hover { color: #111; }

.csr-submit-btn:disabled { opacity: .6; cursor: not-allowed; }

.csr-rating { color: #f59e0b; font-size: .85em; }

.csr-badge {
    display: inline-block;
    background: #dbeafe;
    color: #1d4ed8;
    padding: 2px 10px;
    border-radius: 20px;
    font-size: .78em;
    font-weight: 600;
}

.csr-badge-submitted {
    background: #d1fae5;
    color: #065f46;
}

/* Request cards (vendor) */
.csr-request-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.2em;
    margin-top: 1.2em;
}

.csr-card {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 1.2em;
    background: #fff;
}

.csr-card-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: .5em;
    margin-bottom: .4em;
}

.csr-card h4 { margin: 0; font-size: 1em; }

.csr-card-excerpt {
    font-size: .88em;
    color: #6b7280;
    margin-bottom: .6em;
}

.csr-card-meta {
    list-style: none;
    padding: 0;
    margin: 0 0 .8em;
    font-size: .85em;
    color: #555;
    line-height: 1.8;
}

/* Filters */
.csr-filters {
    display: flex;
    flex-wrap: wrap;
    gap: .5em;
    margin-bottom: 1.2em;
    align-items: center;
}
.csr-filters select,
.csr-filters input[type="text"],
.csr-filters input[type="number"] {
    padding: 6px 10px;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    font-size: .9em;
}

/* Responsive */
@media (max-width: 600px) {
    .csr-header { flex-direction: column; align-items: flex-start; gap: .6em; }
    .csr-offer-details { flex-direction: column; gap: .3em; }
    .csr-filters { flex-direction: column; }
    .csr-request-cards { grid-template-columns: 1fr; }
}
