/* Phase 7 — Public contributions and private editorial registry */
.contribution-hero {
    display: grid;
    align-items: center;
    gap: var(--space-6);
    padding-block: var(--space-7);
}

.contribution-hero h1,
.contribution-section h2,
.contribution-card h3,
.contribution-panel h2 {
    margin-block-start: 0;
}

.contribution-hero__lead {
    max-inline-size: 58rem;
    margin-block-end: var(--space-5);
    color: var(--text-secondary);
    font-size: var(--text-lg);
}

.contribution-safety-card,
.contribution-card,
.contribution-panel,
.contribution-officiality,
.contribution-final-action,
.submission-metric-card,
.submission-detail-card,
.submission-dedup-card,
.submission-note-grid article,
.submission-action-card,
.submission-form-panel {
    border: 0.0625rem solid var(--border-default);
    border-radius: var(--radius-md);
    background: var(--surface-card);
    box-shadow: var(--shadow-card);
}

.contribution-safety-card {
    padding: var(--space-5);
    border-inline-start: 0.3rem solid var(--action-primary);
}

.contribution-safety-card p,
.contribution-card p,
.contribution-panel li,
.contribution-officiality p,
.contribution-final-action p,
.submission-detail-card p,
.submission-dedup-card p,
.submission-dedup-card small,
.submission-note-grid p,
.submission-action-card p {
    color: var(--text-secondary);
}

.contribution-section {
    padding-block: var(--space-5) var(--space-7);
}

.contribution-choice-grid,
.contribution-grid,
.submission-metrics,
.submission-detail-grid,
.submission-dedup-grid,
.submission-note-grid,
.submission-workflow-grid {
    display: grid;
    gap: var(--space-4);
}

.contribution-card,
.contribution-panel {
    padding: var(--space-5);
}

.contribution-card__number {
    display: grid;
    inline-size: 2.5rem;
    block-size: 2.5rem;
    margin-block-end: var(--space-4);
    place-items: center;
    border-radius: 50%;
    background: var(--surface-subtle);
    color: var(--action-primary);
    font-weight: 900;
}

.contribution-card strong {
    display: block;
    margin-block-start: var(--space-4);
    color: var(--action-primary);
}

.contribution-list {
    display: grid;
    margin: 0;
    padding-inline-start: 1.25rem;
    gap: var(--space-3);
}

.contribution-panel--warning {
    border-inline-start: 0.3rem solid var(--color-accent-600);
}

.contribution-officiality,
.contribution-final-action {
    display: grid;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-6);
}

.contribution-final-action {
    margin-block-start: var(--space-5);
    justify-items: start;
}

.submission-metrics {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 8.5rem), 1fr));
    padding-block-end: var(--space-5);
}

.submission-metric-card {
    display: grid;
    gap: var(--space-2);
    padding: var(--space-4);
}

.submission-metric-card span {
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.submission-metric-card strong {
    font-size: var(--text-xl);
    font-variant-numeric: tabular-nums;
}

.submission-filters {
    display: grid;
    align-items: end;
    gap: var(--space-4);
    padding: var(--space-5);
    border: 0.0625rem solid var(--border-default);
    border-radius: var(--radius-md);
    background: var(--surface-card);
}

.submission-filters label,
.submission-action-card label,
.submission-conversion-form label {
    display: grid;
    gap: var(--space-2);
    font-weight: 800;
}

.submission-filters input,
.submission-filters select,
.submission-action-card input,
.submission-action-card select,
.submission-action-card textarea,
.submission-conversion-form input,
.submission-conversion-form select {
    inline-size: 100%;
    min-block-size: 2.75rem;
    padding: var(--space-3);
    border: 0.0625rem solid var(--border-default);
    border-radius: var(--radius-sm);
    background: var(--surface-card);
    color: var(--text-primary);
    font: inherit;
}

.submission-filter-actions,
.submission-inline-form {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.submission-checkbox {
    display: flex !important;
    align-items: flex-start;
    gap: var(--space-3) !important;
    font-weight: 700 !important;
}

.submission-checkbox input {
    flex: 0 0 auto;
    inline-size: 1.15rem !important;
    min-block-size: 1.15rem !important;
    margin-block-start: 0.15rem;
}

.submission-table {
    min-inline-size: 64rem;
}

.submission-table td {
    vertical-align: top;
}

.submission-table td small {
    display: block;
    margin-block-start: var(--space-1);
    color: var(--text-secondary);
}

.status-chip--received { color: var(--text-secondary); }
.status-chip--under_review { color: var(--color-info-700); }
.status-chip--needs_information { color: var(--color-accent-600); }
.status-chip--accepted,
.status-chip--converted { color: var(--color-success-700, #237a4b); }
.status-chip--rejected { color: var(--color-danger-700); }
.status-chip--duplicate,
.status-chip--archived { color: var(--text-muted); }

.submission-detail-grid {
    padding-block-end: var(--space-5);
}

.submission-detail-card,
.submission-dedup-card,
.submission-note-grid article,
.submission-action-card,
.submission-form-panel {
    padding: var(--space-5);
}

.submission-definition-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
    gap: var(--space-4);
    margin: 0;
}

.submission-definition-list div {
    min-inline-size: 0;
}

.submission-definition-list dt {
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.submission-definition-list dd {
    margin: var(--space-1) 0 0;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.submission-definition-list__wide {
    grid-column: 1 / -1;
}

.submission-definition-list code,
.submission-table code {
    overflow-wrap: anywhere;
    word-break: break-all;
}

.submission-dedup-card {
    display: grid;
    align-content: start;
    gap: var(--space-3);
}

.submission-dedup-card h3,
.submission-dedup-card p {
    margin: 0;
}

.submission-dedup-card a {
    overflow-wrap: anywhere;
}

.submission-dedup-card--warning {
    border-inline-start: 0.3rem solid var(--color-accent-600);
}

.submission-note-grid article h3,
.submission-note-grid article p,
.submission-action-card h3,
.submission-action-card p {
    margin-block: 0;
}

.submission-form-panel {
    max-inline-size: 64rem;
}

.submission-workflow-grid {
    align-items: start;
}

.submission-action-card {
    display: grid;
    gap: var(--space-4);
}

.submission-action-card--success { border-inline-start: 0.3rem solid var(--color-success-700, #237a4b); }
.submission-action-card--danger { border-inline-start: 0.3rem solid var(--color-danger-700); }
.submission-action-card--warning { border-inline-start: 0.3rem solid var(--color-accent-600); }
.submission-action-card--wide { grid-column: 1 / -1; }

.submission-conversion-form {
    padding: 0;
    box-shadow: none;
}

.submission-timeline {
    display: grid;
    margin: 0;
    padding: 0;
    gap: var(--space-4);
    list-style: none;
}

.submission-timeline > li {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--space-3);
}

.submission-timeline__marker {
    inline-size: 0.85rem;
    block-size: 0.85rem;
    margin-block-start: var(--space-2);
    border-radius: 50%;
    background: var(--action-primary);
}

.submission-timeline article {
    padding: var(--space-4);
    border: 0.0625rem solid var(--border-default);
    border-radius: var(--radius-sm);
    background: var(--surface-card);
}

.submission-timeline article p {
    margin-block: var(--space-2) 0;
    color: var(--text-secondary);
}

.submission-timeline__heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-3);
}

.submission-timeline time {
    color: var(--text-muted);
    font-size: var(--text-sm);
    white-space: nowrap;
}

@media (min-width: 48rem) {
    .contribution-hero {
        grid-template-columns: minmax(0, 1.5fr) minmax(18rem, 0.75fr);
    }

    .contribution-choice-grid,
    .submission-detail-grid,
    .submission-dedup-grid,
    .submission-note-grid,
    .submission-workflow-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .contribution-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .contribution-officiality,
    .contribution-final-action {
        grid-template-columns: minmax(14rem, 0.6fr) minmax(0, 1.4fr);
    }

    .contribution-final-action .button {
        justify-self: end;
    }
}

@media (min-width: 64rem) {
    .submission-filters {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .submission-dedup-grid,
    .submission-workflow-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 30rem) {
    .submission-timeline__heading {
        align-items: stretch;
        flex-direction: column;
    }

    .submission-timeline time {
        white-space: normal;
    }
}

/* Lot 3 — local SHA-256 resource verification */
.resource-verification {
    scroll-margin-block-start: 5rem;
    padding: var(--space-6);
    border: 0.0625rem solid var(--border-default);
    border-radius: var(--radius-md);
    background: var(--surface-card);
    box-shadow: var(--shadow-card);
}

.resource-verification__heading {
    max-inline-size: 64rem;
}

.resource-verification__grid {
    display: grid;
    gap: var(--space-5);
    margin-block-start: var(--space-5);
}

.resource-verification__picker,
.resource-verification__result {
    display: grid;
    align-content: start;
    gap: var(--space-3);
    padding: var(--space-5);
    border: 0.0625rem solid var(--border-default);
    border-radius: var(--radius-sm);
    background: var(--surface-subtle);
}

.resource-verification__picker label {
    font-weight: 800;
}

.resource-verification__picker input[type="file"] {
    inline-size: 100%;
    min-block-size: 2.75rem;
    padding: var(--space-3);
    border: 0.0625rem solid var(--border-default);
    border-radius: var(--radius-sm);
    background: var(--surface-card);
    color: var(--text-primary);
    font: inherit;
}

.resource-verification__hint,
.resource-verification__selected,
.resource-verification__result > p {
    margin: 0;
    color: var(--text-secondary);
}

.resource-verification__selected {
    display: grid;
    gap: var(--space-1);
    overflow-wrap: anywhere;
}

.resource-verification__result[data-status="known_resource"] {
    border-inline-start: 0.3rem solid var(--color-success-700, #237a4b);
}

.resource-verification__result[data-status="known_submission"] {
    border-inline-start: 0.3rem solid var(--color-info-700);
}

.resource-verification__result[data-status="unknown"] {
    border-inline-start: 0.3rem solid var(--color-accent-600);
}

.resource-verification__result[data-status="error"] {
    border-inline-start: 0.3rem solid var(--color-danger-700);
}

.resource-verification__result h3 {
    margin: 0;
}

.resource-verification__details {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr));
    gap: var(--space-4);
    margin: var(--space-2) 0 0;
    padding-block-start: var(--space-4);
    border-block-start: 0.0625rem solid var(--border-default);
}

.resource-verification__details div {
    min-inline-size: 0;
}

.resource-verification__details dt {
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.resource-verification__details dd {
    margin: var(--space-1) 0 0;
    font-weight: 800;
    overflow-wrap: anywhere;
}

@media (min-width: 48rem) {
    .resource-verification__grid {
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    }
}
