.self-review-page { background: #f5f7f6; }
.self-review-shell { margin: 0 auto; max-width: 840px; padding: 28px 20px 56px; }
.self-review-header { align-items: center; display: flex; justify-content: space-between; }
.self-review-header .brand { color: var(--ink); padding: 0; }
.back-link { color: var(--teal); font-size: 13px; font-weight: 700; text-decoration: none; }
.self-review-status { color: var(--muted); font-size: 12px; }
.self-review-intro { border-bottom: 1px solid var(--line); margin: 36px 0 24px; padding-bottom: 20px; }
.self-review-intro h1 { font-size: 28px; margin: 0; }
.self-review-intro p:last-child { color: var(--muted); margin: 8px 0 0; }
.self-review-form { display: grid; gap: 16px; }
.self-review-section { background: #fff; border: 1px solid var(--line); border-radius: 7px; display: grid; gap: 13px; padding: 20px; }
.section-title { align-items: baseline; display: flex; justify-content: space-between; }
.section-title h2 { font-size: 16px; margin: 0; }
.section-title span, .field-hint { color: var(--muted); font-size: 12px; margin: 0; }
.self-review-tip { background: var(--teal-soft); border-left: 3px solid var(--teal); color: #24464a; font-size: 13px; line-height: 1.65; margin: 0; padding: 10px 12px; }
.self-review-section label { display: grid; font-size: 12px; font-weight: 700; gap: 6px; }
.partner-filters { display: grid; gap: 12px; grid-template-columns: minmax(140px, .7fr) minmax(220px, 1.3fr); }
.self-review-section input, .self-review-section select, .self-review-section textarea { border: 1px solid var(--line); border-radius: 5px; color: var(--ink); font: inherit; min-height: 38px; padding: 8px 10px; width: 100%; }
.self-review-section textarea { min-height: 104px; resize: vertical; }
.partner-summary { background: var(--teal-soft); display: grid; gap: 4px; margin: 0; padding: 12px; }
.partner-summary div { display: grid; grid-template-columns: 88px 1fr; }
.partner-summary dt { color: var(--muted); font-size: 12px; }
.partner-summary dd { font-size: 13px; font-weight: 650; margin: 0; }
.evidence-preview { align-items: center; background: #e8f5ec; display: flex; justify-content: space-between; padding: 11px 12px; }
.evidence-preview span { color: var(--green); font-size: 12px; font-weight: 700; }
.evidence-preview a { color: var(--teal); font-size: 13px; font-weight: 700; }
.resource-action { align-items: center; display: flex; gap: 12px; justify-content: space-between; }
.resource-library { background: #fff; border-top: 2px solid var(--teal); margin-top: 28px; padding: 22px 0 0; }
.resource-library .section-title { padding: 0 20px; }
.resource-library .section-title > div { display: grid; gap: 1px; }
.resource-library .section-title h2 { margin: 0; }
.resource-list { display: grid; }
.resource-card { align-items: center; border-top: 1px solid var(--line); display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr) auto; padding: 15px 20px; }
.resource-card h3 { font-size: 14px; margin: 0; }
.resource-card p { color: var(--muted); font-size: 12px; margin: 4px 0 0; }
.resource-meta { color: var(--muted); font-size: 12px; }
.resource-download { align-items: end; display: grid; gap: 4px; justify-items: end; }
.self-review-footer { align-items: center; display: flex; justify-content: space-between; margin-top: 4px; }
.self-review-footer p { color: var(--muted); font-size: 12px; margin: 0; }
@media (max-width: 600px) { .self-review-header { align-items: flex-start; flex-wrap: wrap; gap: 10px; }.self-review-header .brand { order: -1; width: 100%; }.partner-filters { grid-template-columns: 1fr; }.self-review-footer,.resource-action { align-items: stretch; flex-direction: column; gap: 12px; }.self-review-footer .button,.resource-action .button { width: 100%; }.resource-card { align-items: stretch; grid-template-columns: 1fr; }.resource-download { justify-items: start; } }
