.sourcing-page { max-width: 1200px; margin: 0 auto; display: grid; gap: 1.25rem; }
.sourcing-page, .sourcing-page > *, .sourcing-contacts { min-width: 0; }
.sourcing-page p, .sourcing-page code { overflow-wrap: anywhere; }
.sourcing-form input[type="file"] { width: 100%; min-width: 0; }
.sourcing-page .card, .sourcing-contacts .card { padding: 1rem; margin-block: .75rem; }
.sourcing-form { display: flex; flex-wrap: wrap; align-items: end; gap: .85rem; margin-block: 1rem; }
.sourcing-form label { display: grid; gap: .35rem; min-width: 12rem; flex: 1 1 14rem; }
.sourcing-form input, .sourcing-form select, .sourcing-form textarea { max-width: 100%; }
.sourcing-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.sourcing-table { overflow-x: auto; }
.sourcing-table table { width: 100%; border-collapse: collapse; }
.sourcing-table th, .sourcing-table td { text-align: left; vertical-align: top; padding: .75rem; border-bottom: 1px solid var(--border, #ddd); }
.sourcing-table details { max-width: 24rem; overflow-wrap: anywhere; }
.sourcing-contacts h3 { overflow-wrap: anywhere; }
.sourcing-inline { flex: 1 0 100%; min-width: 0; }
.cand-row:has(.sourcing-inline:not(:empty)) { flex-wrap: wrap; }
.sourcing-contacts fieldset { border: 0; padding: 0; min-width: 0; }
@media (max-width: 600px) { .sourcing-form { display: grid; } .sourcing-form label { min-width: 0; } }
